:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7f8;--surface:#fff;--surface-2:#f0f2f4;--border:#d9dde2;--text:#1a1f24;--text-muted:#5b6670;--accent:#0d7d7d;--accent-hover:#0a6363;--accent-contrast:#fff;--ok:#1a7f47;--ok-bg:#e3f3ea;--warn:#9a6a00;--warn-bg:#f8efd6;--danger:#b3261e;--danger-bg:#fbe4e2;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius:6px;--shadow:0 1px 2px #1018200f, 0 2px 8px #1018200d;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "SFMono-Regular", Menlo, Consolas, monospace}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14181c;--surface:#1c2127;--surface-2:#232a31;--border:#333c45;--text:#e7ebee;--text-muted:#9aa5af;--accent:#3bb6b6;--accent-hover:#52c9c9;--accent-contrast:#0b1013;--ok:#56c98a;--ok-bg:#16321f;--warn:#e0b64a;--warn-bg:#322a12;--danger:#ef6b63;--danger-bg:#3a1c1a}:root[data-theme=high-contrast]{--bg:#fff;--surface:#fff;--surface-2:#e9ecef;--border:#495057;--text:#000;--text-muted:#2f3941;--accent:#005f5f;--accent-hover:#004343;--accent-contrast:#fff;--ok:#0d5c30;--ok-bg:#d6f0df;--warn:#6b4a00;--warn-bg:#ffedb8;--danger:#a01313;--danger-bg:#ffdcd9;--shadow:0 0 0 1px #00000040}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:650}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:var(--space-2) var(--space-4);border-radius:var(--radius)}button:hover{background:var(--surface-2)}button.primary{background:var(--accent);color:var(--accent-contrast);border-color:#0000}button.primary:hover{background:var(--accent-hover)}button:disabled{opacity:.55;cursor:not-allowed}input,select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2) var(--space-3);width:100%}input:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.num{font-variant-numeric:tabular-nums;text-align:right}.app{flex-direction:column;min-height:100%;display:flex}.topbar{padding:var(--space-3) var(--space-5);background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.brand{align-items:center;gap:var(--space-3);display:flex}.brand .mark{color:var(--accent);background:var(--surface-2);border-radius:var(--radius);place-items:center;width:34px;height:34px;font-size:22px;display:grid}.brand strong{display:block}.brand .env{color:var(--text-muted);font-size:12px}.persona{align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:13px;display:flex}.theme-switch{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;display:inline-flex;overflow:hidden}.theme-switch button{color:var(--text-muted);cursor:pointer;box-shadow:none;background:0 0;border:none;border-radius:0;padding:2px 9px;font-size:13px;line-height:1.5}.theme-switch button:hover{color:var(--text);background:var(--surface)}.theme-switch button.active{background:var(--accent);color:var(--accent-contrast)}.persona label{align-items:center;gap:var(--space-2);display:flex}.persona select{width:auto;max-width:180px}.persona .signed-in-as{align-items:center;gap:var(--space-2);display:flex}.signin-screen{justify-content:center;align-items:center;gap:var(--space-4);text-align:center;min-height:100vh}.signin-screen .brand{flex-direction:column}.nav{gap:var(--space-1);display:flex}.nav a{color:var(--text-muted);padding:var(--space-2) var(--space-3);border-radius:var(--radius)}.nav a:hover{background:var(--surface-2);text-decoration:none}.nav a.active{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent);border-radius:0;font-weight:600}.banner.info{background:var(--surface-2);color:var(--text)}.tiles{gap:var(--space-3);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.tile{gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);flex-direction:column;display:flex}.tile-value{text-align:center;font-size:28px;font-weight:650;line-height:1}.tile-label{color:var(--text-muted);text-align:center;font-size:13px}.tile-groups{gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:nowrap;align-items:stretch;display:flex}.tile-group{min-width:0;padding:var(--space-4);border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);flex:2 1 0}.tile-group.wide{flex:4 1 0}.tile-group.narrow{flex:1 1 0}@media (width<=900px){.tile-groups{flex-wrap:wrap}.tile-group,.tile-group.wide,.tile-group.narrow{flex:200px}}.tile-group h2{color:var(--text-muted);margin:0 0 var(--space-3);text-align:center;font-size:15px}.tile-group .tiles{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));margin-bottom:0}.tile-group .tile{border-left:1px solid var(--border);padding:var(--space-3)}.tile-fill-green{background:#c6efce}.tile-fill-green .tile-value{color:#006100}.tile-fill-yellow{background:#ffeb9c}.tile-fill-yellow .tile-value{color:#9c6500}.tile-fill-red{background:#ffc7ce}.tile-fill-red .tile-value{color:#9c0006}.tile-fill-green .tile-label,.tile-fill-yellow .tile-label,.tile-fill-red .tile-label{color:#0000008c}.tile-fill-grey{background:#808a9240}.tile-fill-grey .tile-value,.tile-fill-grey .tile-label{color:var(--text-muted)}.tile-fill-white{background:#ffffff80}:root[data-theme=dark] .tile-fill-white{background:#ffffff14}:root[data-theme=high-contrast] .tile{border:1px solid var(--border)}:root[data-theme=high-contrast] .tile-fill-green .tile-value,:root[data-theme=high-contrast] .tile-fill-green .tile-label{color:#003d14}:root[data-theme=high-contrast] .tile-fill-yellow .tile-value,:root[data-theme=high-contrast] .tile-fill-yellow .tile-label{color:#5c3d00}:root[data-theme=high-contrast] .tile-fill-red .tile-value,:root[data-theme=high-contrast] .tile-fill-red .tile-label{color:#7a0b04}:root[data-theme=high-contrast] .tile-fill-grey .tile-value,:root[data-theme=high-contrast] .tile-fill-grey .tile-label{color:#1a1f24}.section-head{margin:var(--space-5) 0 var(--space-3);color:var(--text-muted);font-size:15px}.unit-suffix{align-items:center;gap:var(--space-2);display:inline-flex}.inline-form .unit-suffix input,.unit-suffix input{flex:none;width:5em;min-width:0}.unit-suffix span{color:var(--text-muted);white-space:nowrap;font-size:13px}.modal-overlay{z-index:50;padding:var(--space-4);background:#00000073;place-items:center;display:grid;position:fixed;inset:0}.modal{width:100%;max-width:520px;max-height:85vh;overflow-y:auto}.modal .danger{background:var(--danger);color:#fff}.modal-steps,.modal-risks{margin:var(--space-2) 0 var(--space-3);padding-left:var(--space-5)}.modal-steps li,.modal-risks li{padding:2px 0}.modal-risks li{color:var(--danger)}.critical-banner{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-weight:650}.msg-workspace{gap:var(--space-4);grid-template-columns:240px minmax(0,1fr) 280px;align-items:start;display:grid}.msg-list{gap:var(--space-2);flex-direction:column;display:flex}.msg-list-item{text-align:left;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;flex-direction:column;gap:2px;width:100%;display:flex}.msg-list-item:hover{background:var(--surface-2)}.msg-list-item.active{border-color:var(--accent);box-shadow:inset 2px 0 0 var(--accent)}.msg-new{color:var(--accent);font-weight:600}.msg-item-subject{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.msg-item-preview{color:var(--text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.msg-item-meta{color:var(--text-muted);font-size:11px}.msg-empty{padding:var(--space-2)}.msg-body,.msg-recipients{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.msg-subject{margin-bottom:var(--space-3);display:block}.msg-toolbar{gap:var(--space-1);margin-bottom:var(--space-2);display:flex}.msg-toolbar button{padding:var(--space-1) var(--space-3);min-width:34px}.msg-editor{min-height:200px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);overflow-y:auto}.msg-editor:focus{outline:2px solid var(--accent);outline-offset:1px}.msg-editor:empty:before{content:attr(data-placeholder);color:var(--text-muted)}.msg-rendered{line-height:1.55}.msg-rendered ul,.msg-rendered ol{padding-left:var(--space-5);margin:var(--space-2) 0}.msg-ack-toggle{margin:var(--space-2) 0 var(--space-3)}.msg-contact-list,.msg-recipient-list{gap:var(--space-1);max-height:320px;margin-bottom:var(--space-3);flex-direction:column;display:flex;overflow-y:auto}.msg-contact{align-items:center;gap:var(--space-2);grid-template-columns:auto 1fr;padding:2px 0;display:grid}.msg-contact .msg-contact-email{grid-column:2}.msg-contact.no-email{opacity:.55}.msg-contact-name{font-size:13px}.msg-contact-email{color:var(--text-muted);font-size:11px}.msg-recipient{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border);display:flex}@media (width<=900px){.msg-workspace{grid-template-columns:1fr}}.subtabs{margin-top:var(--space-2)}.subtabs button{font-size:13px}.doc-tree{padding-left:var(--space-4);margin:var(--space-1) 0;list-style:none}.doc-tree>li{padding:2px 0}.doc-tree details>summary{cursor:pointer;color:var(--text);padding:2px 0}.doc-file a{text-decoration:none}.doc-file a:hover{text-decoration:underline}.scroll-box{border:1px solid var(--border);border-radius:var(--radius);max-height:520px;overflow-y:auto}.scroll-box .table{margin:0}.scroll-box thead th{background:var(--surface);z-index:1;position:sticky;top:0}.ack-wrap{min-height:100vh;padding:var(--space-5);place-items:center;display:grid}.ack-card{text-align:center;width:100%;max-width:440px}.ack-mark{color:var(--accent);margin-bottom:var(--space-3);font-size:32px}.ack-card h1{margin-bottom:var(--space-4);font-size:20px}.ack-subject{margin:var(--space-4) 0;font-size:17px}.ack-card .primary{width:100%;padding:var(--space-3)}.content{width:100%;max-width:960px;padding:var(--space-6) var(--space-5);flex:1;margin:0 auto}.content:has(>.dashboard){max-width:1152px}.page-head{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.page-head h1{font-size:22px}.page-head-actions{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}.count{background:var(--surface-2);color:var(--text-muted);padding:1px var(--space-3);font-variant-numeric:tabular-nums;border-radius:999px;font-size:13px}.muted{color:var(--text-muted)}.add{margin-bottom:var(--space-4)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-5);margin-bottom:var(--space-5)}.form .grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.form label{gap:var(--space-1);color:var(--text-muted);font-size:13px;display:grid}.form .actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);display:flex}.banner{padding:var(--space-2) var(--space-3);border-radius:var(--radius);margin:var(--space-3) 0;font-size:14px}.banner.danger{background:var(--danger-bg);color:var(--danger)}.banner.warn{background:var(--warn-bg);color:var(--warn)}.table.line-editor{table-layout:fixed;font-size:13px}.table.line-editor th,.table.line-editor td{padding:3px 4px;overflow:hidden}.line-editor input,.line-editor select{border-radius:4px;padding:3px 6px;font-size:13px}.table.line-editor th.kind{width:26%}.line-editor td.kind select{width:100%}.table.line-editor th.date{width:108px}.line-editor td.date input{font-variant-numeric:tabular-nums;width:100%}.table.line-editor th.narrow{width:80px}.line-editor td.narrow input{text-align:right;font-variant-numeric:tabular-nums;width:100%}.line-editor td button{padding:2px var(--space-2);font-size:12px}.table.line-editor tfoot td{border-top:2px solid var(--border);padding-top:var(--space-2)}.nmi-readout{padding:var(--space-1) 0;place-self:center start;font-size:14px}.table.tenant-bill th{text-align:right;width:200px;color:var(--text-muted);font-weight:600}.neg{color:var(--danger);font-weight:600}.bills-filter{width:260px;padding:4px var(--space-2);margin-left:auto;font-size:13px}.working{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.working h4{margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:13px}.working-table{border-collapse:collapse;font-size:14px}.working-table td{padding:2px var(--space-3) 2px 0}.working-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.working-rule td{border-top:1px solid var(--border);padding-top:4px}.working-solar{gap:var(--space-2);align-items:center;display:inline-flex}.working-solar input{text-align:right;width:110px;padding:2px 6px;font-size:14px}.working-solar button{padding:2px var(--space-2);font-size:12px}.table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;overflow:hidden}.table th,.table td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.table thead th{background:var(--surface-2);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;position:sticky;top:0}.table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.table thead th.sortable:hover{color:var(--text)}.sort-arrow{color:var(--accent)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--surface-2)}.badge{padding:1px var(--space-2);border-radius:999px;font-size:12px;font-weight:600;display:inline-block}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.tabs{gap:var(--space-1);border-bottom:1px solid var(--border);margin:var(--space-4) 0 var(--space-4);display:flex}.tabs button{color:var(--text-muted);padding:var(--space-2) var(--space-3);background:0 0;border:none;border-radius:0}.tabs button:hover{background:var(--surface-2)}.tabs button.active{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent);font-weight:600}.filters{align-items:end;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.filters label{gap:var(--space-1);color:var(--text-muted);font-size:13px;display:grid}.filters select{width:auto;min-width:140px}label.check{align-items:center;gap:var(--space-2);color:var(--text);flex-direction:row;display:flex}label.check input{width:auto}.meta{gap:var(--space-6);margin:var(--space-4) 0;flex-wrap:wrap;font-size:14px;display:flex}.meta>div>span.muted{text-transform:uppercase;letter-spacing:.04em;font-size:12px}.inline-form{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.inline-form input,.inline-form select{flex:1;width:auto;min-width:180px}.btn-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.card-head{margin-bottom:var(--space-2);font-size:15px}.ack-request{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.comment-box{margin-top:var(--space-4)}.timeline{margin:0;padding:0;list-style:none}.timeline li{padding:var(--space-3) 0 var(--space-3) var(--space-4);border-left:2px solid var(--border)}.timeline li:first-child{border-left-color:var(--accent)}.timeline-head{gap:var(--space-2);margin-bottom:var(--space-1);align-items:center;font-size:13px;display:flex}.tree{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.tree-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);display:flex}.tree-row:last-child{border-bottom:none}.tree-main{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.tree-actions{align-items:center;gap:var(--space-2);flex-shrink:0;font-size:13px;display:flex}.steps{padding-left:var(--space-5);margin:0}.steps li{padding:2px 0}.rowlink{cursor:pointer}.form label.wide{gap:var(--space-1);color:var(--text-muted);margin-top:var(--space-4);font-size:13px;display:grid}textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2) var(--space-3);resize:vertical;width:100%}textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.mono{font-family:var(--font-mono);font-size:13px}.secret{align-items:center;gap:var(--space-1);display:inline-flex}.secret .dots{font-family:var(--font-mono);letter-spacing:2px}.secret-input{align-items:center;gap:var(--space-1);display:inline-flex}.secret-input input{flex:1}.icon-btn{color:var(--text-muted);border-radius:var(--radius);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;line-height:0;display:inline-flex}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.overdue-flag,.preferred-flag{margin-left:var(--space-2)}.skills-picker{margin-top:var(--space-4);gap:var(--space-3);display:grid}.unit-picker{margin-top:var(--space-4);gap:var(--space-2);font-size:13px;display:grid}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--text)}.people-editor{margin-top:var(--space-4)}.people-editor input{min-width:0}.row-overdue,.row-overdue:hover{background:var(--danger-bg)}.lease-docs{margin-top:var(--space-4)}.lease-docs ul{margin:var(--space-2) 0 0;padding-left:var(--space-5)}.lease-docs li{padding:2px 0}.comment-box label.check{margin-top:var(--space-2)}.portal-invite{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}@media (width<=640px){.content{padding:var(--space-4)}.table thead{display:none}.table,.table tbody,.table tr,.table td{width:100%;display:block}.table tr{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-3)}.table td{border:none}}.explorer{gap:var(--space-3);align-items:stretch;min-height:260px;display:flex}.explorer-tree{padding:var(--space-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);flex:0 0 220px;overflow:auto}.explorer-node{border-radius:var(--radius);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:5px 10px;font-size:14px;overflow:hidden}.explorer-node:hover{background:var(--surface)}.explorer-node.active{background:var(--surface);box-shadow:inset 2px 0 0 var(--accent);font-weight:600}.explorer-node.drop{outline:2px dashed var(--accent);outline-offset:-2px}.explorer-list{min-width:0;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex:auto}.explorer-list.drop{outline:2px dashed var(--accent);outline-offset:-4px}.explorer-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.explorer-crumbs{color:var(--text-muted);font-size:14px}.explorer-files tr.drop td{background:color-mix(in srgb, var(--accent) 12%, transparent)}.explorer-files tr[draggable=true]{cursor:grab}.explorer-dialog-backdrop{z-index:50;background:#0f172073;place-items:center;display:grid;position:fixed;inset:0}.explorer-dialog{max-width:420px;margin:0}.kind-tag{margin-left:var(--space-2);font-size:12px}.table tbody tr.sub td{padding:0 var(--space-4) var(--space-3) calc(var(--space-4) + 12px)}.table tbody tr.sub:hover{background:0 0}.table tbody tr:has(+tr.sub) td{border-bottom:none}.people-list{width:auto;min-width:60%;color:var(--text-muted);background:0 0;border:none;border-radius:0;font-size:13px}.people-list td{padding:2px var(--space-4) 2px 0;border:none}.people-list td:first-child{color:var(--text)}.people-list .primary-mark{color:var(--accent);margin-right:4px}
