@charset "UTF-8";
:root{--ink:#183833;--muted:#73827b;--green:#143c37;--light:#edf3ee;--gold:#b1965f;--bg:#f5f6f2;--line:#e2e7df;--danger:#ac453e;--white:#fff;--shadow:0 14px 44px #173b3210;font-family:Tahoma,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:11px 17px;background:white;color:var(--ink);font-weight:600}button:hover{border-color:var(--gold);background:#fafbf8}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b1965f80;outline-offset:3px}a{color:var(--green);text-underline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:28px;line-height:1.6;letter-spacing:-.5px}h2{font-size:20px;line-height:1.7}h3{font-size:16px}.muted{color:var(--muted);line-height:1.9}.danger{color:var(--danger)}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#20534b;color:white}.subtle{background:transparent;border-color:transparent}.small{font-size:12px}.loading{padding:100px 30px;text-align:center}.sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:246px;background:var(--green);color:#d4dfd7;padding:32px 18px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;gap:12px;align-items:center;padding:0 9px 31px;color:white}.brand img{width:45px;height:45px;border:1px solid #a6b1a343;border-radius:12px}.brand strong{font-size:17px;display:block;line-height:1.8}.brand span{font-size:10px;color:#c8bea3;letter-spacing:1.1px}.nav-caption{font-size:10px;padding:14px 14px 8px;color:#9fb6aa;letter-spacing:1px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:13px 15px;border:0;background:transparent;color:#c4d4cc;text-align:start;font-weight:400;border-radius:8px;line-height:1.7;margin:2px 0}.nav-item svg{width:19px;height:19px;flex-shrink:0}.nav-item:hover{background:#ffffff0a;border-color:transparent}.nav-item.active{background:#33584d;color:#f9e9bd;border-inline-start:3px solid #d3b77d}.sidebar-footer{margin-top:auto;border-top:1px solid #ffffff1a;padding:19px 12px 0;font-size:11px;color:#a8c0b2;line-height:1.8}.sidebar-footer .live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#cebc86;margin-inline-end:8px}.main{margin-inline-start:246px;min-height:100vh}.topbar{height:84px;border-bottom:1px solid var(--line);background:#fdfefa;display:flex;align-items:center;justify-content:space-between;padding:0 42px;gap:18px}.topbar .crumb{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:12px}.topbar-actions{display:flex;align-items:center;gap:12px}.avatar{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#e9ede3;color:var(--green);font-size:12px}.content{padding:36px 42px 60px;max-width:1700px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.page-heading h1{margin:2px 0 5px}.eyebrow{font-size:10px;letter-spacing:1.5px;color:var(--gold);font-weight:700}.heading-actions{display:flex;gap:8px;flex-wrap:wrap}.intro{color:var(--muted);font-size:12px;line-height:1.9;margin:0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.metric{border:1px solid var(--line);border-radius:12px;background:white;padding:23px 22px;min-height:151px}.metric .metric-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px}.metric .metric-top svg{width:21px;height:21px;color:var(--gold)}.metric .value{font-family:Arial,Tahoma,sans-serif;font-weight:500;font-size:31px;margin:15px 0 11px;letter-spacing:-1px;direction:ltr;text-align:start}.metric .note{font-size:11px;color:var(--muted)}.metric.featured{background:var(--green);color:white;border-color:var(--green)}.metric.featured .metric-top,.metric.featured .note{color:#bcd0c1}.panel{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:22px;box-shadow:0 2px 3px #143c3702}.panel-title{padding:21px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:14px}.panel-title h2,.panel-title h3{margin:0}.panel-body{padding:24px}.dashboard-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:22px}.portfolio-card{padding:28px;min-height:215px;background:#edf1e7;border:1px solid #e2e7d8;border-radius:12px;position:relative;overflow:hidden}.portfolio-card .large-number{font:56px Arial;margin:18px 0 8px;color:#365a4a}.portfolio-card p{font-size:12px;color:var(--muted);line-height:2}.portfolio-card .line-building{position:absolute;inset-inline-end:10px;bottom:-15px;width:170px;height:170px;color:#d5decf;opacity:.7}.progress-track{height:6px;border-radius:5px;background:#dbe2d5;overflow:hidden;max-width:250px;margin-top:18px}.progress-track progress{width:100%;height:8px;accent-color:var(--green)}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding:0 0 14px;margin:0 0 21px;overflow:auto}.tab{white-space:nowrap;background:transparent;border-color:transparent;font-size:12px;color:var(--muted);padding:9px 14px}.tab.selected{background:#e8eee5;border-color:#dbe3d4;color:var(--ink)}.toolbar{display:flex;align-items:center;gap:10px;padding:17px 23px;border-bottom:1px solid var(--line);flex-wrap:wrap}.search{position:relative;flex:1;max-width:360px}.search input{padding:11px 13px;font-size:12px;width:100%;background:#fafbf8}.filter{width:auto;min-width:140px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:start;white-space:nowrap}th{text-align:start;background:#f9faf6;font-size:11px;font-weight:400;color:var(--muted);padding:15px 23px;border-bottom:1px solid var(--line)}td{padding:17px 23px;border-bottom:1px solid #edf0e9;font-size:12px;line-height:1.7}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcf8}td button{font-size:11px;padding:5px 10px}.badge{display:inline-block;padding:4px 10px;border-radius:5px;background:#edf3eb;color:#466c50;font-size:10px}.badge.pending,.badge.reserved,.badge.future{background:#f5f0e3;color:#97763e}.badge.void,.badge.returned,.badge.cancelled,.badge.late{background:#f9ebe8;color:#a25449}.badge.draft,.badge.ended{background:#eef0ed;color:#788277}.money{font-family:Arial,Tahoma,sans-serif;direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums;font-size:13px}.empty{padding:66px 20px;text-align:center;color:var(--muted)}.empty svg{width:42px;height:42px;color:#b6c6b5;margin-bottom:14px}.empty h3{color:var(--ink);font-size:15px;margin-bottom:9px}.empty p{font-size:12px;line-height:1.9;max-width:370px;margin:0 auto 18px}.pagination{display:flex;align-items:center;justify-content:space-between;padding:15px 23px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.pagination button{padding:7px 12px;font-size:11px}.login-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1.15fr}.login-art{background:var(--green);color:white;display:flex;flex-direction:column;justify-content:center;padding:12%;position:relative;overflow:hidden}.login-art img{width:65px;margin-bottom:40px}.login-art h1{font-size:38px;max-width:450px;line-height:1.8}.login-art p{color:#acc3b5;max-width:370px;font-size:14px;line-height:2.2}.login-art .eyebrow{color:#d0b980}.login-form-wrap{display:flex;align-items:center;justify-content:center;padding:30px}.login-form-wrap form{width:100%;max-width:360px}.login-form-wrap h2{font-size:25px;margin-bottom:9px}.login-form-wrap .primary{width:100%;margin-top:8px}.login-footer{font-size:11px;text-align:center;color:var(--muted);margin-top:27px}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:18px}.field label{font-size:12px;font-weight:500}.field input,.field select,.field textarea,input,select,textarea{border:1px solid #dce3d8;border-radius:8px;padding:11px 12px;background:white;color:var(--ink);min-width:0}.field textarea{min-height:95px;resize:vertical}.field .hint{color:var(--muted);font-size:10px;line-height:1.9}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-grid .wide{grid-column:1/-1}.error{background:#f9eeeb;border:1px solid #e4bcb5;border-radius:8px;padding:13px 16px;line-height:1.9;color:var(--danger);margin-bottom:18px;font-size:12px}.notice{background:#f6f1e5;border:1px solid #e8dec3;padding:13px 18px;color:#876e3f;border-radius:8px;font-size:11px;line-height:2;margin-bottom:22px}dialog{border:0;border-radius:15px;padding:0;max-width:760px;width:calc(100% - 32px);max-height:90vh;box-shadow:0 28px 100px #102c3450;color:var(--ink)}dialog::backdrop{background:#102c3470;backdrop-filter:blur(2px)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:22px 27px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:18px}.modal-head button{padding:5px 10px;font-size:18px}.modal-body{padding:25px 27px;max-height:calc(90vh - 148px);overflow:auto}.modal-footer{padding:17px 27px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px;background:#fafbf8}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:28px}.detail-item{padding:12px 0;border-bottom:1px solid var(--line)}.detail-item .label{font-size:11px;color:var(--muted);margin-bottom:8px}.detail-item .text{font-size:13px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.section-link{display:flex;gap:8px;flex-wrap:wrap;margin:19px 0}.record-link{border:0;background:none;color:var(--green);text-decoration:underline;padding:0;font-size:12px}.attachment{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:7px;margin-bottom:9px;font-size:12px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.line-item{display:grid;grid-template-columns:1.2fr 1fr auto;gap:10px;margin-bottom:10px;align-items:center}.line-item input,.line-item select{width:100%}#toast{position:fixed;bottom:28px;inset-inline-end:28px;background:var(--green);color:#fff;padding:15px 23px;border-radius:10px;box-shadow:var(--shadow);z-index:100;font-size:12px;display:none;max-width:90vw}.mobile-menu{display:none}.print-page{background:white;padding:35px;color:#152923}.print-page article{max-width:850px;margin:auto}.print-page article>header{border-bottom:2px solid var(--green);padding:18px 0;margin-bottom:30px}.print-page article h1{font-size:28px}.print-page table{white-space:normal}.print-page .terms{line-height:2.3;margin:30px 0;white-space:pre-wrap}.signatures{display:flex;justify-content:space-between;margin:75px 20px 50px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.8}
@media(min-width:1700px){.content{padding-top:44px}}@media(max-width:1150px){.sidebar{width:215px;padding-inline:12px}.main{margin-inline-start:215px}.content{padding:28px 25px}.topbar{padding-inline:25px}.metric{padding:19px 17px}.metric .value{font-size:27px}.dashboard-grid{grid-template-columns:1.4fr 1fr}}@media(max-width:850px){.metrics{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.sidebar{width:215px}.content{padding:25px 20px}.settings-grid{grid-template-columns:1fr}.login-screen{grid-template-columns:1fr}.login-art{display:none}.login-form-wrap{min-height:100vh}}@media(max-width:650px){h1{font-size:23px}.sidebar{transform:translateX(110%);transition:transform .2s;width:246px}[dir=ltr] .sidebar{transform:translateX(-110%)}.sidebar.open{transform:translateX(0)}.main{margin:0}.topbar{height:66px;padding:0 17px}.topbar .crumb{font-size:10px;gap:6px}.topbar-actions{gap:5px}.topbar-actions .username{display:none}.mobile-menu{display:block;font-size:16px;padding:6px 10px}.content{padding:24px 16px 38px}.page-heading{align-items:flex-start;gap:12px}.heading-actions button{font-size:10px;padding:9px 11px}.metrics{gap:10px}.metric{padding:18px 14px;min-height:136px}.metric .value{font-size:26px}.metric .metric-top{font-size:10px}.metric .note{font-size:9px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.details-grid{grid-template-columns:1fr}.panel-title{padding:17px}.toolbar{padding:13px 16px}.search{max-width:none}.dashboard-grid{gap:14px}th,td{padding:13px 16px}.modal-body{padding:20px}.modal-head{padding:18px 20px}.modal-footer{padding:15px 20px}.line-item{grid-template-columns:1fr 90px auto}.topbar-actions button{padding:8px 9px;font-size:10px}}
@media print{.no-print,.sidebar,.topbar,.heading-actions,.toolbar,.tabs,.pagination,#toast{display:none!important}.main{margin:0}.content{padding:0}.panel{border:0;box-shadow:none;overflow:visible}.table-wrap{overflow:visible}body,.print-page{background:white;padding:0}table{white-space:normal}tr{break-inside:avoid}.print-page article{max-width:none}.print-page button{display:none}.print-page h2{font-size:20px}a{text-decoration:none;color:inherit}@page{size:A4;margin:18mm}}
.repeat-field{border:1px solid var(--line);padding:17px;border-radius:10px;margin-top:14px}.repeat-field>h3{font-size:13px}.repeat-row{border:1px solid var(--line);border-radius:8px;margin:0 0 13px;padding:15px;min-width:0}.repeat-row legend{font-size:11px;color:var(--muted)}.repeat-row .field{margin-bottom:12px}.repeat-row [data-remove-row]{font-size:11px;color:var(--danger);padding:6px 10px}.repeat-field>[data-add-row]{align-self:flex-start;font-size:12px}.detail-item:has(.table-wrap){grid-column:1/-1}.detail-item table{font-size:11px}.modal-body .table-wrap{max-width:100%}#schedule-preview{margin-top:24px}
.portfolio-note{margin-top:20px}
/* Portfolio registration sequence and optional details. */
.portfolio-steps{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.portfolio-steps button{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #d9e2dd;color:#52645d;padding:10px 13px;border-radius:12px;font-size:13px}
.portfolio-steps button span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#eff3f0;font-size:12px}
.portfolio-steps button[aria-current]{border-color:#21594e;background:#edf5f0;color:#143c37;font-weight:700}
.portfolio-steps button[aria-current] span{background:#21594e;color:white}
.additional-fields{margin-top:20px;border:1px solid #d9e2dd;border-radius:12px;padding:14px}
.additional-fields summary{cursor:pointer;color:#21594e;font-weight:600;line-height:1.6}
.additional-fields[open]>.form-grid{margin-top:18px}
.modal-footer{flex-wrap:wrap}
.field[hidden]{display:none}
@media(max-width:600px){.portfolio-steps{gap:6px}.portfolio-steps button{font-size:12px;padding:8px;flex:1 1 42%}.modal-footer>button{flex:1 1 auto}}
/* Responsive containment and accessible controls; retain the original brand. */
.main,.content,.panel,.dashboard-grid>*,.form-grid>*,.page-heading>*,.toolbar>*,.topbar .crumb{min-width:0}
.panel,.table-wrap,.tabs{max-width:100%}.table-wrap{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.page-heading h1,.intro,.brand strong,.notice,.error{overflow-wrap:anywhere}
.sidebar{overflow-y:auto}.sidebar nav{flex-shrink:0}.sidebar-footer{padding-top:20px}
.field input,.field select,.field textarea{width:100%;max-width:100%}
.modal-head h2{overflow-wrap:anywhere}.modal-head button{flex-shrink:0;min-width:44px;min-height:44px}
.modal-footer button{min-height:44px}.modal-footer{padding-bottom:max(15px,env(safe-area-inset-bottom))}
[aria-invalid=true]{border-color:var(--danger)!important}.error:focus{outline:2px solid var(--danger);outline-offset:2px}
.table-wrap:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
@supports(height:100dvh){dialog{max-height:92dvh}.modal-body{max-height:calc(92dvh - 160px)}}
@media(max-width:850px){.page-heading{flex-wrap:wrap}.heading-actions{max-width:100%}.topbar .crumb>span:first-of-type{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:650px){
 .sidebar:not(.open){visibility:hidden}.sidebar.open{visibility:visible}
 .topbar{gap:6px}.topbar .crumb{flex:1}.topbar .crumb>span:first-of-type{display:none}.topbar-actions{flex-shrink:0}
 .topbar .crumb strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .page-heading{flex-direction:column;align-items:stretch}.heading-actions{gap:6px}.heading-actions button{min-height:44px}
 .field input,.field select,.field textarea,.search input{font-size:16px}
 .search{flex-basis:100%}.filter{max-width:100%}.attachment{flex-wrap:wrap;overflow-wrap:anywhere}
 .line-item{grid-template-columns:minmax(0,1fr) minmax(70px,90px) auto}
 .portfolio-steps button{min-width:0}.modal-body{padding:16px}.modal-head{padding:12px 16px}.modal-footer{padding-inline:16px}
 .login-form-wrap{padding:28px 20px}.login-form-wrap form{max-width:100%;min-width:0}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
