:root{--ink:#262320;--panel:#2f2b27;--panel-2:#38332c;--line:#403a31;--canvas:#f4f3f0;--card:#ffffff;--hair:#e7e3db;--hair-2:#efece5;--text:#2a2723;--muted:#6b6459;--muted-2:#a8a293;--gold-dark:#6f5f29;--gold:#ac9554;--gold-light:#d9bc66;--gold-soft:#d9bc66;--gold-bg:#f6edd6;--cream:#f4ecd2;--green:#5a7d52;--green-bg:#e9efe2;--amber:#a8842b;--amber-bg:#f5ead0;--red:#a8503f;--red-bg:#f3e2dd;--blue:#5d6b7a;--blue-bg:#e7ebef;--plan:#d8d8d8;--shadow:0 1px 2px rgba(38,35,32,0.06),0 4px 16px rgba(38,35,32,0.05);--space-1:4px;--space-2:6px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:24px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--motion-fast:0.12s;--ease:ease;--font-d:var(--font-montserrat),system-ui,sans-serif;--font-b:var(--font-opensans),system-ui,sans-serif;--font-a:var(--font-playfair),Georgia,serif}.form-inline{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:end}.field-col{display:flex;flex-direction:column;font-size:.8rem}.action-inline{display:inline-flex;gap:var(--space-1);align-items:center;flex-wrap:wrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-b);background:var(--canvas);color:var(--text);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}.app{display:grid;grid-template-columns:288px 1fr;min-height:100vh}.sidebar{background:var(--ink);color:#cdc7bb;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;border-right:1px solid #000}.brand{padding:22px 22px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.brand img{filter:brightness(1.55)}.brand-name{font-size:20px;font-weight:800;color:var(--gold-light);letter-spacing:1.5px;line-height:1}.brand-name,.brand-sub{font-family:var(--font-d)}.brand-sub{font-size:8.5px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-top:4px;font-weight:600}.client-switch{margin:16px 14px;padding:11px 13px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.client-switch .lbl{font-family:var(--font-d);font-size:9px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted-2);font-weight:600;margin-bottom:6px}.client-switch label{display:flex!important}.client-switch label>span{display:none}.client-switch select{width:100%;background:var(--panel-2);color:#fff;border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-family:var(--font-d);font-weight:600;font-size:13px}.sidebar nav{flex:1 1;overflow-y:auto;padding:6px 10px 20px}.nav-group{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#665e52;padding:16px 12px 7px;font-weight:700}.nav-group,.nav-item{font-family:var(--font-d)}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 13px;border-radius:7px;color:#b3ab9d;font-weight:600;font-size:13.5px;text-decoration:none;transition:background .12s,color .12s}.nav-item:hover{background:var(--panel);color:#ece7dd}.nav-item.active{background:var(--panel-2);color:#fff;box-shadow:inset 2.5px 0 0 var(--gold-light)}.nav-item .badge{margin-left:auto;font-size:10.5px;background:var(--gold);color:#262320;font-weight:700;border-radius:20px;padding:1px 7px}.sb-foot{border-top:1px solid var(--line);padding:14px 18px;display:flex;align-items:center;gap:10px}.avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--gold-light),var(--gold-dark));display:grid;place-items:center;color:#262320;font-weight:700;font-size:12px;font-family:var(--font-d);flex-shrink:0}.sb-foot .nm{font-size:12px;color:#ece7dd;font-weight:600;overflow-wrap:anywhere}.sb-foot .rl{font-size:10.5px;color:var(--muted-2)}.sb-foot form{margin-left:auto}.sb-foot button{background:none;border:1px solid var(--line);color:#b3ab9d;border-radius:6px;padding:4px 9px;font-size:11px;font-family:var(--font-d);font-weight:600;cursor:pointer}.sb-foot button:hover{color:#ece7dd;border-color:var(--muted-2)}.main-col{display:flex;flex-direction:column;min-width:0}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(244,243,240,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--hair);padding:12px 30px;display:flex;align-items:center;gap:18px}.crumb{font-size:11px;color:var(--muted);letter-spacing:.3px}.crumb b{color:var(--text)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:12px}.topbar select{background:var(--card);border:1px solid var(--hair);border-radius:8px;padding:6px 9px;font-size:12.5px;font-weight:600;color:var(--text)}.env-tag,.topbar select{font-family:var(--font-d)}.env-tag{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--gold-dark);border:1px solid var(--gold-soft);background:var(--gold-bg);padding:4px 9px;border-radius:6px;font-weight:700}.content{padding:26px 30px 60px;max-width:1180px;width:100%}.page-intro{margin-bottom:20px}.page-intro .eyebrow{font-family:var(--font-d);font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-dark);font-weight:700}h1{font-size:26px;margin:4px 0 0;letter-spacing:-.2px}h1,h2{font-family:var(--font-d);font-weight:700;color:var(--text)}h2{font-size:15px}.page-intro p,.page-sub{color:var(--muted);margin-top:6px;max-width:680px;font-size:13.5px}.card{background:var(--card);border:1px solid var(--hair);border-radius:12px;box-shadow:var(--shadow)}.card-h{padding:15px 18px;border-bottom:1px solid var(--hair-2);display:flex;align-items:center;justify-content:space-between}.card-h h3{font-family:var(--font-d);font-size:14px;font-weight:700;margin:0}.card-b{padding:16px 18px}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:14px;gap:14px;margin-bottom:22px}.kpi{background:var(--card);border:1px solid var(--hair);border-radius:11px;padding:15px 16px;box-shadow:var(--shadow)}.kpi .k-lbl{font-size:11px;color:var(--muted);font-weight:600}.kpi .k-val{font-family:var(--font-a);font-size:30px;font-weight:600;margin-top:8px;line-height:1;color:var(--text)}.kpi .k-val small{font-size:15px;color:var(--muted-2)}.kpi .k-sub{font-size:11px;margin-top:7px;color:var(--muted)}.kpi .k-sub a{text-decoration:none;font-weight:600}.kpi .k-sub a:hover{text-decoration:underline}.grid-2{display:grid;grid-template-columns:1.45fr 1fr;grid-gap:18px;gap:18px}.dlv{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--hair-2)}.dlv:last-child{border-bottom:none;padding-bottom:0}.dlv-due{font-family:var(--font-d);font-size:11px;font-weight:600;text-align:center;width:44px;flex-shrink:0}.dlv-due .d{font-size:18px;font-weight:700;display:block;line-height:1;color:var(--text)}.dlv-due .m{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.dlv-body{flex:1 1;min-width:0}.dlv-body .t{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dlv-body .s{font-size:11px;color:var(--muted)}.tbl-wrap{background:var(--card);border:1px solid var(--hair);border-radius:12px;box-shadow:var(--shadow);overflow-x:auto;overflow-y:hidden;margin:14px 0}.tbl-tools{flex-wrap:wrap;gap:10px;padding:13px 16px;border-bottom:1px solid var(--hair-2)}.search,.tbl-tools{display:flex;align-items:center}.search{flex:1 1;max-width:280px;gap:8px;background:var(--canvas);border:1px solid var(--hair);border-radius:8px;padding:7px 11px}.search input{border:none;background:none;outline:none;font-size:13px;width:100%;color:var(--text);font-family:inherit}.search .mag{color:var(--muted-2)}.filter-chip{font-family:var(--font-d);font-size:12px;font-weight:600;color:var(--muted);padding:6px 11px;border:1px solid var(--hair);border-radius:8px;background:var(--card);cursor:pointer}.filter-chip.on{border-color:var(--gold);background:var(--gold-bg);color:var(--gold-dark)}.tbl-count{margin-left:auto;font-size:12px;color:var(--muted-2);white-space:nowrap}td a.xlink{color:var(--gold-dark);font-weight:600;text-decoration:none;border-bottom:1px dotted var(--gold)}td a.xlink:hover{border-bottom-style:solid}.fw-row{margin-bottom:15px}.fw-row:last-child{margin-bottom:0}.fw-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.fw-name{font-weight:700;font-size:13px;font-family:var(--font-d)}.fw-cite{font-size:11px;color:var(--muted-2)}.fw-pct{font-family:var(--font-d);font-size:13px;font-weight:700;color:var(--gold-dark)}.fw-bar{height:9px;border-radius:6px;overflow:hidden;display:flex;background:var(--hair-2)}.fw-bar i{display:block;height:100%}.seg-imp{background:var(--green)}.seg-prog{background:var(--gold)}.seg-plan{background:var(--plan)}.seg-acc{background:var(--blue)}.fw-legend{display:flex;gap:16px;margin-top:14px;padding-top:13px;border-top:1px solid var(--hair-2);font-size:11px;color:var(--muted)}.lg-sw{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}table{width:100%;border-collapse:collapse}thead th{text-align:left;font-family:var(--font-d);font-size:10.5px;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);font-weight:600;padding:11px 16px;background:#fbfaf7}tbody td,thead th{border-bottom:1px solid var(--hair-2)}tbody td{padding:12px 16px;font-size:13px;vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#faf7f0}tbody td input,tbody td select{font-family:inherit;font-size:12px;color:var(--text);background:var(--canvas);border:1px solid var(--hair);border-radius:6px;padding:4px 8px;max-width:200px}tbody td button{font-family:var(--font-d);font-size:11.5px;font-weight:700;color:var(--gold-dark);background:var(--card);border:1px solid var(--hair);border-radius:6px;padding:4px 10px;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s}tbody td button:hover{background:var(--gold-bg);border-color:var(--gold)}tbody td button:disabled{opacity:.5;cursor:default}.row-stack{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.chip-tag{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--hair);background:var(--canvas);border-radius:6px;padding:1px 7px;font-size:11.5px;white-space:nowrap}.draft-view summary{cursor:pointer;font-size:12px;color:var(--gold-dark);font-weight:600}.draft-view pre{max-width:480px;max-height:320px;overflow:auto;white-space:pre-wrap;background:var(--canvas);border:1px solid var(--hair-2);border-radius:8px;padding:10px 12px;font-size:11.5px;line-height:1.5;margin:8px 0 0}.cell-sub{font-size:11px;color:var(--muted);margin-top:1px}.pill{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-d);font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px;white-space:nowrap}.pill .pd{width:6px;height:6px;border-radius:50%}.p-green{background:var(--green-bg);color:#3f5b38}.p-green .pd{background:var(--green)}.p-amber{background:var(--amber-bg);color:#7a5f1e}.p-amber .pd{background:var(--amber)}.p-red{background:var(--red-bg);color:#7e392c}.p-red .pd{background:var(--red)}.p-blue{background:var(--blue-bg);color:#46525e}.p-blue .pd{background:var(--blue)}.p-gray{background:#ece9e2;color:#565c68}.p-gray .pd{background:var(--muted-2)}.tag{font-size:10.5px;letter-spacing:.2px;background:#f0ece2;color:#6c6457;padding:2px 7px;border-radius:5px;margin-right:4px;white-space:nowrap;display:inline-block}.tag,button{font-weight:600}button{font-family:var(--font-d);font-size:12.5px;background:var(--card);color:var(--text);border:1px solid var(--hair);padding:6px 12px;border-radius:8px;cursor:pointer}button:hover{border-color:var(--muted-2)}button:disabled{opacity:.55;cursor:default}button[type=submit]{background:var(--gold);color:#262320;border:none;font-weight:700;padding:7px 14px}button[type=submit]:hover{background:var(--gold-dark);color:var(--cream)}input,select,textarea{font-family:var(--font-b);font-size:13px;color:var(--text);background:var(--card);border:1px solid var(--hair);border-radius:8px;padding:7px 10px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-color:var(--gold)}label{font-size:12px;color:var(--muted);font-weight:600}.form-card{background:var(--card);border:1px solid var(--hair);border-radius:12px;box-shadow:var(--shadow);padding:16px 18px;margin:14px 0}.form-card input,.form-card select,.form-card textarea{font-family:inherit;font-size:12.5px;color:var(--text);background:var(--canvas);border:1px solid var(--hair);border-radius:6px;padding:5px 9px}.form-card button{font-family:var(--font-d);font-size:12.5px;font-weight:700;color:#262320;background:var(--gold);border:1px solid var(--gold);border-radius:7px;padding:7px 14px;cursor:pointer}.form-card button:hover{background:var(--gold-light)}.form-card button:disabled{opacity:.55;cursor:default}.form-card label{font-size:11.5px;font-weight:600;color:var(--muted)}.form-error{color:var(--red)}.form-error,.form-ok{font-size:12px;font-weight:600}.form-ok{color:var(--green)}.scrim{position:fixed;inset:0;background:rgba(38,35,32,.34);z-index:40}.drawer{position:fixed;top:0;right:0;height:100vh;width:480px;max-width:92vw;background:var(--canvas);box-shadow:-12px 0 40px rgba(38,35,32,.2);z-index:50;display:flex;flex-direction:column}.dr-head{position:relative;padding:20px 24px;border-bottom:1px solid var(--hair);background:var(--card)}.dr-eyebrow{font-family:var(--font-d);font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold-dark);font-weight:700}.dr-title{font-family:var(--font-a);font-size:22px;font-weight:600;margin-top:6px;line-height:1.25;color:var(--text)}.dr-close{position:absolute;top:18px;right:20px;width:30px;height:30px;border:1px solid var(--hair);background:var(--card);border-radius:7px;cursor:pointer;font-size:15px;color:var(--muted);padding:0}.dr-body{padding:22px 24px;overflow-y:auto;flex:1 1}.dr-field{margin-bottom:16px}.dr-field .fl{font-family:var(--font-d);font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:5px}.dr-field .fv{font-size:13.5px;overflow-wrap:anywhere}.note{font-size:11.5px;color:var(--muted);background:var(--gold-bg);border:1px solid var(--gold-soft);border-radius:8px;padding:10px 13px;margin-top:16px}.note b,a{color:var(--gold-dark)}small{color:var(--muted)}pre{background:#fbfaf7;border:1px solid var(--hair);border-radius:8px;padding:10px 12px;font-size:12px;overflow:auto}@media (max-width:1040px){.grid-2{grid-template-columns:1fr}}@media (max-width:760px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto}}