:root{--cream: #fbfaf8;--navy: #11202e;--slate: #4b545d;--gray: #717477;--light-gray: #a7a8a8;--gold: #a18f77;--gold-deep: #7d6434;--gold-bright: #c8b89e;--hairline: #dadde1;--green: #3d7a4f;--red: #a04338;--status-blue: #3b7dd8;--status-yellow: #c9a227;--status-gray: #8b8f93;--page: var(--cream);--surface: #ffffff;--ink: var(--navy);--ink-2: var(--slate);--muted: var(--gray);--grid: var(--hairline);--baseline: var(--light-gray);--border: var(--hairline);--good: var(--green);--good-text: var(--green);--critical: var(--red);--warning: var(--status-yellow);--input-bg: #ffffff;--input-border: var(--hairline);--accent: var(--navy);--focus: var(--gold-deep);--hover-wash: rgba(17, 32, 46, .05)}@media(prefers-color-scheme:dark){:root{--page: #10161d;--surface: #1a232c;--ink: #f4f2ee;--ink-2: #c3c2b7;--muted: #8f9499;--grid: #2b333c;--baseline: #3d454e;--border: rgba(255, 255, 255, .1);--good: #5fae78;--good-text: #5fae78;--critical: #e0796a;--input-bg: #212b35;--input-border: #384049;--accent: var(--gold-bright);--focus: var(--gold-bright);--hover-wash: rgba(255, 255, 255, .06)}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--page);color:var(--ink);font-family:Poppins,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.5}.app{display:flex;height:100%}.sidebar{width:232px;flex-shrink:0;background:var(--navy);color:var(--cream);padding:18px 12px 14px;display:flex;flex-direction:column;overflow-y:auto}.sidebar .brand{display:flex;align-items:center;gap:9px;padding:4px 8px 18px}.sidebar .brand .wordmark{font-weight:600;font-size:13px;letter-spacing:.16em;color:var(--cream);line-height:1.25}.sidebar .brand .wordmark small{display:block;font-weight:400;font-size:10px;letter-spacing:.12em;color:var(--gold-bright);margin-top:1px}.nav-section{font-size:10.5px;font-weight:600;letter-spacing:.14em;color:#fbfaf866;padding:14px 12px 6px}.nav-section:first-of-type{padding-top:4px}.sidebar button.nav-item{all:unset;box-sizing:border-box;cursor:pointer;width:100%;padding:7px 12px;border-radius:8px;color:#fbfaf8b8;display:flex;align-items:center;gap:10px;font-size:13.5px;margin-bottom:1px}.sidebar button.nav-item svg{flex-shrink:0;opacity:.85}.sidebar button.nav-item:hover{background:#fbfaf814;color:var(--cream)}.sidebar button.nav-item.active{background:#fbfaf81a;color:var(--cream);font-weight:600}.sidebar button.nav-item.active svg{opacity:1;color:var(--gold-bright)}.sidebar .user-footer{margin-top:auto;padding:12px 8px 2px;border-top:1px solid rgba(251,250,248,.12);font-size:12px;color:#fbfaf8a6}.sidebar .user-footer .name{color:var(--cream);font-weight:500;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sidebar .user-footer button{all:unset;cursor:pointer;color:var(--gold-bright);font-size:12px;margin-top:4px}.role-badge{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:1px 7px;border-radius:999px;background:#c8b89e2e;color:var(--gold-bright)}.badge{background:var(--red);color:#fff;border-radius:999px;font-size:11px;font-weight:700;padding:1px 7px;margin-left:auto}.badge.warn{background:var(--warning);color:#3d2f00}.main{flex:1;overflow-y:auto;padding:28px 32px 60px}.main h1{font-size:21px;font-weight:600;margin:0 0 4px;letter-spacing:-.01em}.main .subtitle{color:var(--ink-2);margin:0 0 22px;max-width:720px}h2{font-size:14px;font-weight:600;margin:28px 0 10px}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.tile{min-width:0}.tile .label{color:var(--ink-2);font-size:12px;font-weight:500}.tile .value{font-size:21px;font-weight:600;margin-top:3px;font-variant-numeric:tabular-nums;overflow-wrap:break-word}.tile .hint{color:var(--muted);font-size:12px;margin-top:3px}.tile .value.bad{color:var(--critical)}.tile .value.good{color:var(--good-text)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--grid);white-space:nowrap}th{color:var(--ink-2);font-weight:600;font-size:11.5px;letter-spacing:.03em;position:sticky;top:0;background:var(--surface)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr.clickable{cursor:pointer}tr.clickable:hover{background:var(--hover-wash)}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.toolbar .spacer{flex:1}button.primary,button.ghost,button.danger{font:inherit;font-size:13.5px;border-radius:999px;padding:8px 16px;cursor:pointer;border:1px solid transparent}button.primary{background:var(--navy);color:var(--cream);border-color:var(--navy)}button.primary:hover{background:#1a2e40}button.ghost{background:transparent;color:var(--ink);border-color:var(--input-border)}button.ghost:hover{background:var(--hover-wash)}button.danger{background:transparent;color:var(--critical);border-color:var(--critical)}button.danger:hover{background:var(--critical);color:#fff}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11202e80;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;z-index:50;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--border);border-radius:18px;width:100%;max-width:640px;padding:24px}.modal.wide{max-width:860px}.modal h3{margin:0 0 16px;font-size:16px;font-weight:600}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.form-grid .full{grid-column:1 / -1}.field label{display:block;font-size:12px;color:var(--ink-2);margin-bottom:4px;font-weight:500}.field input,.field select,.field textarea{width:100%;font:inherit;font-size:13.5px;color:var(--ink);background:var(--input-bg);border:1px solid var(--input-border);border-radius:9px;padding:8px 11px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--focus);outline-offset:-1px}.field .help{font-size:11px;color:var(--muted);margin-top:3px}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.form-error{color:var(--critical);margin-top:12px;font-size:13px}.tabs{display:flex;gap:4px;margin-bottom:14px;flex-wrap:wrap}.tabs button{all:unset;cursor:pointer;padding:6px 14px;border-radius:999px;color:var(--ink-2);font-size:13px}.tabs button:hover{background:var(--hover-wash)}.tabs button.active{background:var(--navy);color:var(--cream);font-weight:600}.pill{border-radius:999px;padding:2px 10px;font-size:11.5px;font-weight:600;display:inline-block}.pill.active,.pill.open,.pill.approved,.pill.design,.pill.construction{background:#3d7a4f21;color:var(--good-text)}.pill.pending,.pill.monitoring,.pill.under_review,.pill.acquisition,.pill.due_diligence{background:#3b7dd821;color:var(--status-blue)}.pill.complete,.pill.closed,.pill.done,.pill.dormant,.pill.turnover,.pill.relocations_improvements{background:var(--hover-wash);color:var(--ink-2)}.pill.rejected,.pill.expired,.pill.void,.pill.at_risk{background:#a043381f;color:var(--critical)}.pill.draft,.pill.not_applied{background:#c9a22729;color:#8a6d10}.tag-pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;background:var(--hover-wash);color:var(--ink-2);margin:0 4px 4px 0}@media(prefers-color-scheme:dark){.pill.draft,.pill.not_applied{color:var(--status-yellow)}}.banner{border-radius:12px;padding:11px 15px;margin-bottom:14px;border:1px solid var(--critical);color:var(--critical);background:#a043380f}.banner.info{border-color:var(--gold-deep);color:var(--gold-deep);background:#a18f771a}@media(prefers-color-scheme:dark){.banner.info{color:var(--gold-bright)}}.note{color:var(--muted);font-size:12px}code.mono{font-family:ui-monospace,Consolas,monospace;font-size:12px}.activity-list{display:flex;flex-direction:column;gap:12px}.activity-item{padding-bottom:12px;border-bottom:1px solid var(--border)}.activity-item:last-child{border-bottom:none;padding-bottom:0}.activity-item .activity-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px}.activity-item .activity-body{color:var(--ink);white-space:pre-wrap}.activity-item.status_change .activity-body{color:var(--ink-2);font-style:italic}.kanban-board{display:flex;gap:12px;overflow-x:auto;padding-bottom:14px;align-items:flex-start}.kanban-column{background:var(--hover-wash);border-radius:14px;padding:10px;width:230px;flex-shrink:0}.kanban-column.side{border:1px dashed var(--border);background:transparent}.kanban-column h3{font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--ink-2);margin:4px 6px 10px;display:flex;justify-content:space-between;align-items:baseline}.kanban-column h3 .count{color:var(--muted);font-weight:500;font-size:11.5px}.kanban-cards{display:flex;flex-direction:column;gap:8px;min-height:48px}.kanban-column.drop-target{outline:2px dashed var(--gold-deep);outline-offset:-2px}.kanban-empty{border:1px dashed var(--border);border-radius:10px;padding:14px 8px;text-align:center;color:var(--muted);font-size:12px}.kanban-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 11px;cursor:grab;font-size:13px}.kanban-card:active{cursor:grabbing}.kanban-card.archived{opacity:.6}.kanban-card .title{font-weight:600;margin-bottom:3px}.kanban-card .meta{color:var(--ink-2);font-size:11.5px;margin-top:2px}.kanban-card .fee{color:var(--gold-deep);font-size:11.5px;margin-top:4px;font-weight:600}@media(prefers-color-scheme:dark){.kanban-card .fee{color:var(--gold-bright)}}.empty-state{padding:28px 12px;text-align:center;color:var(--ink-2)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--navy)}.login-card{background:var(--cream);border-radius:22px;padding:40px 36px;width:min(380px,92vw);text-align:center}.login-card .brand{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:4px}.login-card .brand .wordmark{text-align:left;font-weight:600;font-size:15px;letter-spacing:.16em;color:var(--navy);line-height:1.25}.login-card .brand .wordmark small{display:block;font-weight:400;font-size:11px;letter-spacing:.12em;color:var(--gold-deep);margin-top:1px}.login-card p{color:var(--slate);font-size:14px;margin-bottom:20px}.login-card form{text-align:left}.login-card .field{margin-bottom:14px}.login-card button.primary{width:100%;margin-top:6px}@media(max-width:860px){.app{flex-direction:column;height:auto;min-height:100%}.sidebar{width:100%;flex-direction:row;flex-wrap:wrap;padding:12px}.sidebar .brand{padding:4px 8px}.sidebar .user-footer{margin-top:0;border-top:none}.nav-section{display:none}.sidebar button.nav-item{width:auto}.main{padding:20px}}
