:root{--ink:#132a46;--muted:#607186;--canvas:#fff;--paper:#fff;--line:#dce4eb;--green:#132a46;--green-dark:#0b1d33;--mint:#e8eef3;--brick:#c9653d;--peach:#f5e6df;--navy:#132a46}
html{font-size:15px;position:relative;min-height:100%}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.app-header{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 14px rgba(19,42,70,.04)}.navbar{min-height:72px}.brand{display:flex;align-items:center;gap:.7rem;color:var(--navy)!important;font-weight:780;letter-spacing:-.025em}.brand-symbol{display:block;width:48px;height:38px;object-fit:contain}.navbar-light .navbar-nav .nav-link{color:#53677d;font-weight:650;padding:.55rem .8rem}.navbar-light .navbar-nav .nav-link:hover{color:var(--navy);background:var(--mint);border-radius:8px}.app-main{padding:3rem 0 4rem}.hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.25rem}.branded-hero{position:relative;min-height:310px;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}.hero-copy{position:relative;z-index:2;max-width:580px;padding:1.5rem 0}.hero-artwork{position:absolute;z-index:1;right:-6%;bottom:0;width:68%;height:100%;object-fit:cover;object-position:right bottom}.hero-row h1,.page-header h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.035em}.hero-row h1{font-size:clamp(2.3rem,5vw,4.3rem);line-height:.98;margin:.35rem 0 1rem}.hero-row p{color:var(--muted);font-size:1.08rem;margin:0}.eyebrow{color:var(--brick);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.quick-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.35rem}.btn{border-radius:9px;font-weight:700;padding:.65rem 1rem}.btn-primary{background:var(--green);border-color:var(--green)}.btn-primary:hover{background:var(--green-dark);border-color:var(--green-dark)}.btn-light{background:var(--paper);border-color:var(--line)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.metric-card,.panel,.form-card,.detail-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 18px rgba(19,42,70,.045)}.metric-card{min-height:155px;padding:1.35rem;display:flex;flex-direction:column}.metric-card span{color:var(--muted);font-weight:650}.metric-card strong{font-family:Georgia,serif;font-size:1.9rem;font-weight:500;margin:.55rem 0 auto}.metric-card a,.panel-heading a{color:var(--green);font-weight:700;text-decoration:none;font-size:.86rem}.metric-card small{color:var(--muted)}.metric-card.income{border-top:3px solid var(--green)}.metric-card.expense{border-top:3px solid var(--brick)}.metric-card.net{background:var(--navy);color:#fff;border-color:var(--navy)}.metric-card.net span,.metric-card.net small{color:#c9d5df}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.panel{padding:1.4rem}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.1rem}.panel-heading h2{font-family:Georgia,serif;font-size:1.6rem;margin:.15rem 0 0}.list-stack{display:flex;flex-direction:column}.finance-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem .15rem;border-top:1px solid #e8edf1;color:var(--ink);text-decoration:none}.finance-row:hover{background:#f7f9fb}.finance-row span{display:flex;flex-direction:column}.finance-row small{color:var(--muted);margin-top:.2rem}.amount-positive{color:var(--green)}.amount-negative{color:var(--brick)}.empty-state{min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:10px}.empty-state strong{color:var(--ink);margin-bottom:.25rem}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem}.page-header h1{font-size:2.5rem;margin:.25rem 0 0}.page-header p{color:var(--muted);margin:.35rem 0 0}.table-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}.table{margin:0}.table>:not(caption)>*>*{padding:1rem 1.1rem;border-bottom-color:#e8edf1}.table thead th{background:#f7f9fb;color:var(--muted);font-size:.73rem;letter-spacing:.08em;text-transform:uppercase}.table a{color:var(--ink);font-weight:700;text-decoration:none}.badge-soft{display:inline-block;padding:.3rem .55rem;border-radius:99px;background:#edf2f6;color:#53677d;font-size:.76rem;font-weight:700}.badge-green{background:var(--mint);color:var(--green)}.badge-brick{background:var(--peach);color:var(--brick)}.form-card{padding:1.5rem;max-width:850px}.form-section{padding:0 0 1.3rem;margin-bottom:1.3rem;border-bottom:1px solid var(--line)}.form-section:last-child{border:0;margin-bottom:0}.form-section h2{font-family:Georgia,serif;font-size:1.35rem}.form-label{font-weight:700;font-size:.86rem}.form-control,.form-select{border-color:#cbd6df;border-radius:8px;padding:.65rem .75rem}.form-control:focus,.form-select:focus{border-color:var(--navy);box-shadow:0 0 0 .2rem rgba(19,42,70,.12)}.form-hint{color:var(--muted);font-size:.82rem}.validation-summary-errors{color:#9c3824;background:#f7e7e1;padding:.8rem 1rem;border-radius:8px}.filter-bar{display:flex;gap:.7rem;flex-wrap:wrap;padding:1rem;background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-bottom:1rem}.filter-bar .form-select{max-width:240px}.document-list{display:flex;flex-direction:column;gap:.55rem}.document-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;background:#f7f9fb;border-radius:9px}.document-row a{font-weight:700;color:var(--ink);text-decoration:none}.document-row small{color:var(--muted)}.detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:1rem}.detail-card{padding:1.4rem}.stat-line{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #e8edf1}.stat-line:last-child{border:0}.muted{color:var(--muted)}.actions{display:flex;gap:.45rem;justify-content:flex-end}.alert{border-radius:10px}.danger-card{max-width:680px;background:#fff;border:1px solid #e5c4ba;border-left:4px solid var(--brick);padding:1.5rem;border-radius:12px}.text-danger{font-size:.82rem}
@media(max-width:991px){.metric-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.hero-artwork{right:-18%;width:74%;opacity:.82}}
@media(max-width:767px){.app-main{padding:2rem 0}.hero-row,.page-header{align-items:flex-start;flex-direction:column}.branded-hero{display:block;min-height:0}.hero-copy{padding:.5rem 0 0}.hero-artwork{position:relative;right:auto;width:100%;height:210px;margin-top:1.25rem;opacity:1;object-fit:cover;object-position:70% bottom}.dashboard-grid,.metric-grid{grid-template-columns:1fr}.table-card{overflow-x:auto}.actions{justify-content:flex-start}.navbar-collapse{padding:.75rem 0}}

.document-edit-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:1rem;align-items:start}.document-edit-layout .form-card{max-width:none}.document-preview-panel{position:sticky;top:1.25rem;min-width:0;max-height:calc(100vh - 2.5rem);padding:1.25rem;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 18px rgba(19,42,70,.045)}.document-preview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.document-preview-heading h2{max-width:28ch;margin:.15rem 0 0;overflow-wrap:anywhere;font-family:Georgia,serif;font-size:1.35rem}.document-preview-frame{width:100%;height:420px;min-height:360px;border:1px solid var(--line);border-radius:10px;background:var(--mint)}.document-preview-empty{display:flex;min-height:360px;align-items:center;justify-content:center;flex-direction:column;gap:.35rem;padding:2rem;text-align:center;color:var(--muted);background:#f7f9fb;border:1px dashed var(--line);border-radius:10px}.document-preview-empty strong{color:var(--ink)}.document-metadata-form{padding-top:1.25rem;margin-top:1.25rem;border-top:1px solid var(--line)}.document-metadata-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}.document-metadata-heading h3{margin:0;font-family:Georgia,serif;font-size:1.25rem}.document-row{align-items:center}.document-select{min-width:0;flex:1;padding:0;border:0;background:transparent;color:var(--ink);text-align:left}.document-select span{display:block;overflow:hidden;text-overflow:ellipsis;font-weight:700;white-space:nowrap}.document-select small{display:block;color:var(--muted);margin-top:.15rem}.document-select:hover span,.document-select:focus-visible span{color:var(--brick);text-decoration:underline}.document-select:focus-visible{outline:2px solid var(--brick);outline-offset:4px;border-radius:3px}.document-select.is-active span{color:var(--brick)}.document-actions{display:flex;gap:.35rem;flex-shrink:0}
.document-image-toolbar{display:flex;justify-content:flex-end;gap:.35rem;margin-bottom:.5rem}.document-image-toolbar .btn{min-width:2.4rem;padding:.35rem .65rem}.document-image-toolbar .image-fit-button{min-width:7rem}.document-image-viewport{width:100%;height:420px;min-height:360px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--mint)}.document-image-viewport img{display:block;width:calc(100% * var(--image-zoom,1));height:calc(100% * var(--image-zoom,1));max-width:none;object-fit:contain}
.property-details-grid{grid-template-columns:minmax(0,1fr) minmax(420px,.85fr)}.property-details-document-panel{position:static;max-height:none}.property-details-document-panel .document-preview-frame,.property-details-document-panel .document-image-viewport{height:480px}
@media(max-width:991px){.property-details-grid{grid-template-columns:1fr}}
@media(max-width:991px){.document-edit-layout{grid-template-columns:1fr}.document-preview-panel{position:static;max-height:none}.document-preview-frame,.document-image-viewport{height:520px;min-height:520px}.document-preview-empty{min-height:420px}}
@media(max-width:575px){.document-row{align-items:flex-start;flex-direction:column}.document-actions{width:100%}.document-actions .btn{flex:1}.document-preview-frame,.document-image-viewport{height:420px;min-height:420px}.document-preview-empty{min-height:320px}}
.contact-details{display:grid;grid-template-columns:minmax(70px,.35fr) 1fr;gap:.8rem 1rem;margin-bottom:0}.contact-details dt{color:var(--muted);font-size:.82rem}.contact-details dd{margin:0;overflow-wrap:anywhere}.contact-details a{color:var(--green);font-weight:700;text-decoration:none}
.nav-button{border:0;background:transparent}.auth-shell{display:grid;min-height:calc(100vh - 180px);place-items:center;padding:2rem 0}.auth-card{width:min(100%,460px);padding:2rem;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 40px rgba(19,42,70,.09)}.auth-card h1{margin:.35rem 0 .75rem;font-family:Georgia,serif;font-size:2rem}.auth-card a{color:var(--green);font-weight:700;text-decoration:none}
