:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-page:#f7f5f0;--bg-raised:#fafaf7;--bg-sunken:#f3f1ea;--fg1:#1e2428;--fg1-strong:#111416;--fg2:#5f686e;--fg3:#7c817f;--teal:#0f5c5c;--teal-bright:#135e63;--teal-deep:#0b4a4a;--teal-tint:#e7eeec;--bronze:#b08a45;--bronze-deep:#a9823a;--bronze-tint:#f0e9da;--line:#d8d6cf;--line-strong:#c9c7be;--line-soft:#e6e3da;--err:#9b3b36;--font-serif:"Iowan Old Style", Georgia, "Times New Roman", serif;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--r-sm:8px;--r-md:8px;--r-lg:8px;--shadow-xs:0 1px 2px #1e24280a;--shadow-md:0 8px 24px #1e242812, 0 2px 6px #1e24280a;--ease:cubic-bezier(.22, .61, .36, 1);--dur-fast:.14s;--dur:.22s}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg-page);color:var(--fg1);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.55}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:4px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{color:var(--bronze-deep);font-family:var(--font-mono);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:600}.btn{border-radius:var(--r-sm);min-height:40px;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-size:14px;font-weight:650;display:inline-flex}.btn svg,.icon-btn svg,.navitem svg,.crumb svg{width:16px;height:16px}.btn--primary{background:var(--teal);color:#fff}.btn--primary:hover{background:var(--teal-bright)}.btn--ghost{background:var(--bg-raised);border-color:var(--line-strong);color:var(--fg1)}.btn--ghost:hover{background:var(--bg-sunken)}.btn--danger{background:var(--err);color:#fff}.btn--sm{min-height:34px;padding:6px 11px;font-size:13px}.icon-btn{color:var(--fg2);background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.icon-btn:hover{background:var(--bg-sunken);color:var(--fg1)}.icon-btn--danger:hover{color:var(--err)}.auth-page{background:linear-gradient(90deg, #0f5c5c12, transparent 38%), var(--bg-page);align-items:center;min-height:100vh;padding:32px;display:flex}.auth-panel{width:100%;max-width:420px;margin:0 auto}.auth-panel h1{color:var(--fg1-strong);font-family:var(--font-serif);letter-spacing:0;margin:0 0 18px;font-size:34px;font-weight:650;line-height:1.15}.auth-form{gap:14px;display:grid}.auth-form label,.field{color:var(--fg1);gap:7px;font-size:13px;font-weight:650;display:grid}.auth-form input,.field input,.field select,.field textarea{background:var(--bg-raised);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--fg1);width:100%;min-height:42px;padding:10px 12px}.field textarea{resize:vertical;min-height:88px}.auth-note,.auth-panel p,.alert{color:var(--fg2);font-size:14px}.auth-icon{color:var(--teal);width:24px;height:24px;margin-bottom:12px}.auth-icon--spin{animation:1s linear infinite spin}.link-button{color:var(--teal);background:0 0;border:0;margin-top:14px;padding:0;font-weight:650}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{grid-template-columns:264px minmax(0,1fr);min-height:100vh;display:grid}.side{background:var(--bg-raised);border-right:1px solid var(--line);flex-direction:column;min-height:100vh;display:flex}.side__brand{align-items:center;min-height:68px;padding:18px;display:flex}.side__brand img{width:auto;height:28px;display:block}.side__context{background:var(--bg-page);border:1px solid var(--line);border-radius:var(--r-md);margin:0 14px 12px;padding:12px}.side__context p{color:var(--fg3);font-family:var(--font-mono);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:11px}.side__context strong{color:var(--fg1);font-size:14px;display:block}.side__nav{gap:4px;padding:4px 14px;display:grid}.navitem{border-radius:var(--r-sm);color:var(--fg1);text-align:left;background:0 0;border:0;align-items:center;gap:11px;min-height:40px;padding:9px 11px;display:flex}.navitem[data-on=true]{background:var(--teal-tint);color:var(--teal);font-weight:650}.side__foot{border-top:1px solid var(--line);align-items:center;gap:11px;min-width:0;margin-top:auto;padding:14px 18px;display:flex}.avatar{background:var(--teal);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:inline-flex}.side__foot .nm,.side__foot .rl{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.side__foot .nm{color:var(--fg1);font-size:13px;font-weight:650}.side__foot .rl{color:var(--fg3);max-width:176px;font-size:12px}.main{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);z-index:10;background:#f7f5f0e0;justify-content:space-between;align-items:center;min-height:64px;padding:0 28px;display:flex;position:sticky;top:0}.crumb{color:var(--fg2);font-family:var(--font-mono);letter-spacing:0;text-transform:uppercase;align-items:center;gap:8px;font-size:12px;display:inline-flex}.content{min-width:0;padding:28px}.page-head{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px;display:flex}.page-head h2{color:var(--fg1-strong);font-family:var(--font-serif);letter-spacing:0;margin:0;font-size:28px;font-weight:650;line-height:1.18}.page-head p:not(.eyebrow){color:var(--fg2);max-width:60ch;margin:6px 0 0;font-size:14px}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.search{flex:1;min-width:220px;max-width:360px;position:relative}.search svg{color:var(--fg3);width:16px;height:16px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search input{background:var(--bg-raised);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--fg1);width:100%;min-height:40px;padding:9px 12px 9px 36px}.filters{background:var(--bg-sunken);border:1px solid var(--line);border-radius:var(--r-sm);gap:2px;padding:3px;display:inline-flex}.filters button{color:var(--fg2);background:0 0;border:0;border-radius:6px;min-height:32px;padding:6px 11px;font-size:13px;font-weight:650}.filters button[data-on=true]{background:var(--bg-raised);box-shadow:var(--shadow-xs);color:var(--teal)}.tablewrap{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.utable{border-collapse:collapse;width:100%}.utable th{background:var(--bg-page);border-bottom:1px solid var(--line);color:var(--fg3);font-family:var(--font-mono);letter-spacing:0;text-align:left;text-transform:uppercase;padding:13px 18px;font-size:11px;font-weight:600}.utable td{border-bottom:1px solid var(--line-soft);color:var(--fg1);vertical-align:middle;padding:13px 18px;font-size:14px}.utable tbody tr:last-child td{border-bottom:0}.ucell-name{align-items:center;gap:12px;min-width:220px;display:flex}.ucell-name .nm{font-weight:700}.ucell-name .em,.role-tag .scope{color:var(--fg3);font-size:12px;display:block}.stacked{gap:2px;display:grid}.stacked strong{font-size:13px}.stacked span{color:var(--fg3);font-size:12px}.role-tag{font-size:13px;font-weight:650}.row-actions{text-align:right;white-space:nowrap}.spill{white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.spill .d{border-radius:50%;width:6px;height:6px}.spill--active{background:var(--teal-tint);color:var(--teal)}.spill--active .d{background:var(--teal)}.spill--pending{background:var(--bronze-tint);color:var(--bronze-deep)}.spill--pending .d{background:var(--bronze)}.spill--expired{color:var(--err);background:#f3e5e4}.spill--expired .d{background:var(--err)}.spill--deactivated{background:var(--bg-sunken);border:1px solid var(--line);color:var(--fg3)}.spill--deactivated .d{background:var(--fg3)}.state{text-align:center;padding:56px 24px}.state__ico{background:var(--bg-sunken);border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:14px;display:inline-flex}.state h3{font-family:var(--font-serif);letter-spacing:0;margin:0;font-size:20px}.drawer-backdrop,.modal-backdrop{z-index:30;background:#11141657;display:flex;position:fixed;inset:0}.drawer-backdrop{justify-content:flex-end}.drawer{background:var(--bg-raised);box-shadow:var(--shadow-md);flex-direction:column;width:480px;max-width:min(480px,100vw);min-height:100vh;display:flex}.drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:64px;padding:0 20px;display:flex}.drawer-head h3,.modal h3{color:var(--fg1-strong);font-family:var(--font-serif);letter-spacing:0;margin:0;font-size:22px;font-weight:650}.drawer-form{gap:16px;padding:20px;display:grid;overflow:auto}.drawer-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.building-checklist{border:1px solid var(--line);border-radius:var(--r-sm);gap:8px;margin:0;padding:12px;display:grid}.building-checklist legend{color:var(--fg2);padding:0 4px;font-size:13px;font-weight:650}.building-checklist label{align-items:center;gap:8px;font-size:14px;display:flex}.modal-backdrop{justify-content:center;align-items:center;padding:20px}.modal{background:var(--bg-raised);border-radius:var(--r-lg);box-shadow:var(--shadow-md);width:100%;max-width:420px;padding:22px}.modal p{color:var(--fg2);margin:10px 0 18px;font-size:14px}.alert{border-radius:var(--r-sm);color:var(--err);background:#f3e5e4;border:1px solid #9b3b3647;padding:10px 12px}.notice{border-radius:var(--r-sm);padding:10px 12px}.notice--success{color:var(--teal);background:#0f5c5c1a;border:1px solid #0f5c5c3d}@media (width<=860px){.app-shell{grid-template-columns:1fr}.side{border-bottom:1px solid var(--line);border-right:0;min-height:auto}.side__brand,.side__nav,.side__context,.side__foot{display:none}.content,.topbar{padding-left:16px;padding-right:16px}.page-head{flex-direction:column;align-items:stretch}.filters{width:100%;overflow-x:auto}.tablewrap{overflow-x:auto}.drawer{width:100vw}}
