@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Fraunces-600.woff2)format("woff2")}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Fraunces-700.woff2)format("woff2")}@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/PublicSans-400.woff2)format("woff2")}@font-face{font-family:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/PublicSans-500.woff2)format("woff2")}@font-face{font-family:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/PublicSans-600.woff2)format("woff2")}:root{--ink:#16302b;--ink-soft:#4b5f5a;--paper:#f5f6f1;--surface:#fff;--surface-sunk:#eef0e9;--border:#16302b21;--border-strong:#16302b38;--brand:#1f5c50;--brand-strong:#123f36;--brand-tint:#1f5c5017;--brand-solid:#1f5c50;--brand-solid-strong:#123f36;--accent:#d9673e;--accent-strong:#b8502c;--accent-tint:#d9673e1f;--success:#3f8f5f;--success-tint:#3f8f5f21;--warning:#c08a2e;--warning-tint:#c08a2e24;--critical:#bb4238;--critical-tint:#bb423821;--shadow-card:0 1px 2px #16302b0f, 0 8px 20px -12px #16302b2e;--shadow-pop:0 4px 10px #16302b14, 0 16px 32px -16px #16302b38;--display:"Fraunces", ui-serif, Georgia, serif;--body:"Public Sans", ui-sans-serif, system-ui, sans-serif;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--ink:#eceeea;--ink-soft:#a7b6b0;--paper:#0f1c19;--surface:#16241f;--surface-sunk:#101d1a;--border:#eceeea1f;--border-strong:#eceeea38;--brand:#59ab97;--brand-strong:#7bc1ae;--brand-tint:#59ab9724;--accent:#ef8b60;--accent-strong:#f5a67e;--accent-tint:#ef8b6029;--success:#5bab7c;--success-tint:#5bab7c29;--warning:#d6a545;--warning-tint:#d6a54529;--critical:#e0776b;--critical-tint:#e0776b29;--shadow-card:0 1px 2px #0000004d, 0 8px 20px -12px #0006;--shadow-pop:0 4px 10px #00000059, 0 16px 32px -16px #00000080}}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:15px;line-height:1.5}h1,h2,h3{font-family:var(--display);color:var(--ink);text-wrap:balance;margin:0 0 8px;font-weight:600}h1{letter-spacing:-.01em;font-size:28px}h2{font-size:19px}h3{font-size:16px}p{margin:0 0 8px}a{color:var(--brand)}button,input,select,textarea{color:var(--ink);font-family:inherit;font-size:14px}input,select,textarea{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);padding:8px 11px}label{color:var(--ink-soft);margin:10px 0 4px;font-size:12.5px;font-weight:600;display:block}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:8px 12px;font-size:13.5px}th{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-size:11.5px;font-weight:600}.th-sort-btn{appearance:none;font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:3px;padding:0;display:inline-flex}.th-sort-btn:hover{color:var(--ink)}.table-filter-row th{padding-top:0;padding-bottom:8px}.table-filter-row input,.table-filter-row select{text-transform:none;letter-spacing:normal;width:100%;padding:5px 8px;font-size:12.5px;font-weight:400}.tabular{font-variant-numeric:tabular-nums}.app-shell{width:100%;height:100vh;display:flex}.sidenav{background:var(--brand-solid-strong);color:#f2ede4;flex-direction:column;flex-shrink:0;gap:22px;width:232px;height:100%;padding:22px 14px;display:flex;overflow-y:auto}.brand-mark{align-items:center;gap:10px;padding:0 8px;text-decoration:none;display:flex}.brand-mark-text{font-family:var(--display);letter-spacing:.01em;color:#fbf8f2;font-size:20px;font-weight:600}.tenant-pill{border-radius:var(--radius-md);background:#ffffff14;border:1px solid #ffffff1f;margin:0 8px;padding:10px 12px}.tenant-pill-label{text-transform:uppercase;letter-spacing:.08em;color:#f2ede48c;font-size:10.5px}.tenant-pill-name{color:#fbf8f2;margin-top:2px;font-size:14px;font-weight:600}.nav-section-label{text-transform:uppercase;letter-spacing:.08em;color:#f2ede473;padding:4px 12px 2px;font-size:10.5px}.nav-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.nav-item{border-radius:var(--radius-sm);color:#f2ede4b8;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:11px;width:100%;padding:10px 12px;font-size:14.5px;font-weight:500;text-decoration:none;display:flex}.nav-item svg{opacity:.85;flex-shrink:0}.nav-item:hover{color:#fbf8f2;background:#ffffff0f}.nav-item.active{color:#fbf8f2;box-shadow:inset 3px 0 0 var(--accent);background:#fbf8f221}.nav-item.active svg{opacity:1}.nav-foot{color:#f2ede480;border-top:1px solid #ffffff1a;margin-top:auto;padding:12px 8px 0;font-size:12px}.nav-foot button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.main-col{flex-direction:column;flex:1;min-width:0;height:100%;display:flex;overflow-y:auto}.topbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:16px 32px;display:flex}.topbar-title{color:var(--ink-soft);font-size:12.5px}.topbar-title strong{color:var(--ink);font-weight:600}.topbar-left{align-items:center;gap:14px;display:flex}.topbar-right{align-items:center;gap:18px;display:flex}.nav-toggle{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--ink);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:none}.nav-toggle:hover{background:var(--surface-sunk)}.nav-backdrop{border:none;padding:0;display:none}.user-chip{align-items:center;gap:9px;display:flex}.avatar{background:var(--brand-tint);width:32px;height:32px;color:var(--brand-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12.5px;font-weight:600;display:flex}.user-chip-name{font-size:13.5px;font-weight:600}.user-chip-role{color:var(--ink-soft);font-size:11.5px}.view{text-align:left;width:100%;max-width:1080px;padding:30px 32px 60px}.view-head{margin-bottom:22px}.view-head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.view-head-row .view-head{margin-bottom:0}.view-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-strong);margin-bottom:6px;font-size:12px;font-weight:600}.view-head h1{font-size:28px}.view-sub{color:var(--ink-soft);max-width:65ch;margin-top:6px;font-size:14.5px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.card-pad{padding:22px 24px}.section{margin-bottom:26px}.section-title{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);margin-bottom:12px;font-size:12.5px;font-weight:600}.section-cta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.pill-active,.pill-approved{background:var(--success-tint);color:var(--success)}.pill-review{background:var(--warning-tint);color:var(--warning)}.pill-done{background:var(--brand-tint);color:var(--brand)}.pill-attention,.pill-rejected,.pill-cancelled{background:var(--critical-tint);color:var(--critical)}.pill-muted{background:var(--surface-sunk);color:var(--ink-soft)}.btn{cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:9px 16px;font-size:13.5px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:#fff8f2}.btn-primary:hover{background:var(--accent-strong)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--border-strong)}.btn-ghost:hover{background:var(--surface-sunk)}.btn-sm{padding:6px 12px;font-size:12.5px}.badge{background:var(--surface-sunk);border:1px solid var(--border);color:var(--ink-soft);border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:11.5px;font-weight:600;text-decoration:none;display:inline-flex}.badge-remove{cursor:pointer;color:inherit;font:inherit;background:0 0;border:none;padding:0;line-height:1}tr.row-clickable{cursor:pointer}tr.row-clickable:hover,tr.row-expand td{background:var(--surface-sunk)}.assign-panel{text-align:left;padding:14px 4px}.assign-panel-list{margin-bottom:0}.modal-overlay{z-index:100;background:#0f1c1973;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);width:100%;max-width:420px;max-height:80vh;padding:24px;overflow-y:auto}.modal-wide{max-width:720px}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.modal-head h2{margin:0;font-size:17px}.modal-close{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;flex-shrink:0;padding:2px 4px;font-size:20px;line-height:1}.modal-close:hover{color:var(--ink)}.modal-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.list-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:12px 0;display:flex}.list-row:last-child{border-bottom:none}.list-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.list-row-title{font-size:14px;font-weight:600}.list-row-sub{color:var(--ink-soft);font-size:12.5px}.list-row-actions{flex-shrink:0;gap:8px;display:flex}.row-menu{display:inline-block;position:relative}.row-menu-trigger{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;line-height:1;display:inline-flex}.row-menu-trigger:hover{background:var(--surface-sunk);color:var(--ink)}.row-menu-list{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:190px;box-shadow:var(--shadow-pop);flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.row-menu-item{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:13.5px;display:block}.row-menu-item:hover:not(:disabled){background:var(--surface-sunk)}.row-menu-item:disabled{color:var(--ink-soft);cursor:default;opacity:.6}a.list-row{color:inherit;border-radius:8px;margin:0 -8px;padding:12px 8px;text-decoration:none}a.list-row:hover{background:var(--surface-sunk)}.card-link-foot{text-align:center;color:var(--brand);border-top:1px solid var(--border);padding:10px;font-size:13px;font-weight:600;text-decoration:none;display:block}.empty-state{text-align:center;color:var(--ink-soft);padding:28px 20px;font-size:14px}.error-state{border-radius:var(--radius-sm);background:var(--critical-tint);color:var(--critical);padding:14px 16px;font-size:13.5px;font-weight:600}.overview-grid{grid-template-columns:1.4fr 1fr;gap:20px;display:grid}.plan-card{background:linear-gradient(160deg, var(--brand-solid-strong), var(--brand-solid));color:#fbf8f2;border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);padding:26px 28px;position:relative;overflow:hidden}.plan-card:after{content:"";background:#ffffff0f;border-radius:50%;width:220px;height:220px;position:absolute;top:-60px;right:-60px}.plan-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.plan-name{text-transform:uppercase;letter-spacing:.07em;color:#fbf8f2b3;font-size:13px}.plan-title{font-family:var(--display);margin-top:4px;font-size:20px;font-weight:600}.plan-total-row{align-items:baseline;gap:10px;margin-top:20px;display:flex}.plan-total{font-family:var(--display);letter-spacing:-.01em;font-size:38px;font-weight:600}.plan-total-unit{color:#fbf8f2b3;font-size:14px}.plan-meta-row{flex-wrap:wrap;gap:26px;margin-top:18px;display:flex}.plan-meta-label{color:#fbf8f299;text-transform:uppercase;letter-spacing:.06em;font-size:11.5px}.plan-meta-value{margin-top:2px;font-size:14.5px;font-weight:600}.plan-services{grid-template-columns:1fr auto auto;align-items:baseline;gap:10px 14px;margin-top:18px;font-size:13.5px;display:grid}.plan-services-empty{color:#fbf8f2b3;font-size:13px}.plan-service-row{display:contents}.plan-service-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.plan-service-count{color:#fbf8f2b3;white-space:nowrap;text-align:right;font-size:12.5px}.plan-service-cost{text-align:right;min-width:64px;font-weight:600}.plan-card-foot{text-align:center;color:#fbf8f2;border-top:1px solid #ffffff29;margin:22px -28px -26px;padding:14px;font-size:13px;font-weight:600;text-decoration:none;display:block}.plan-card-foot:hover{background:#ffffff0f}.side-stack{flex-direction:column;gap:16px;display:flex}.activity-item{border-bottom:1px solid var(--border);gap:12px;padding:11px 0;display:flex}.activity-item:last-child{border-bottom:none}.activity-dot-wrap{background:var(--brand-tint);width:28px;height:28px;color:var(--brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.activity-text{font-size:13.5px}.activity-time{color:var(--ink-soft);margin-top:1px;font-size:12px}.activity-day-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:22px 0 8px;font-size:12.5px;font-weight:700}.activity-day-label:first-child{margin-top:0}.terms-bar{flex-wrap:wrap;gap:28px;display:flex}.term-item{flex-direction:column;gap:3px;display:flex}.term-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-size:11.5px}.term-value{font-size:15px;font-weight:600}.total-banner{border-radius:var(--radius-md);background:var(--brand-tint);border:1px solid var(--brand);justify-content:space-between;align-items:center;margin-top:18px;padding:18px 24px;display:flex}.total-banner-label{color:var(--brand-strong);font-size:14px;font-weight:600}.total-banner-amount{font-family:var(--display);color:var(--brand-strong);font-size:28px;font-weight:600}.person-block{border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:12px;overflow:hidden}.person-head{background:var(--surface-sunk);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.person-id{align-items:center;gap:11px;min-width:0;display:flex}.person-name{font-size:14.5px;font-weight:600}.person-role{color:var(--ink-soft);font-size:12.5px}.person-subtotal{font-weight:600;font-family:var(--display);font-size:16px}.person-body{flex-direction:column;gap:10px;padding:14px 18px;display:flex}.device-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.device-id{align-items:center;gap:10px;font-size:13.5px;display:flex}.device-icon{background:var(--brand-tint);width:30px;height:30px;color:var(--brand);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.badge-row{flex-wrap:wrap;gap:6px;display:flex}.invoice-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.invoice-list-head{background:var(--surface-sunk);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:10px 20px;display:flex}.invoice-item{border-bottom:1px solid var(--border)}.invoice-item:last-child{border-bottom:none}.invoice-item summary{cursor:pointer;align-items:center;gap:16px;padding:16px 20px;list-style:none;display:flex}.invoice-item summary::-webkit-details-marker{display:none}.invoice-item-name{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.invoice-list-head .invoice-item-name{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-size:11px;font-weight:600}.invoice-item-title{font-size:14.5px;font-weight:600}.invoice-item-desc{color:var(--ink-soft);max-width:56ch;font-size:12.5px}.invoice-item-col{text-align:right;flex-shrink:0;width:92px;font-size:13.5px}.invoice-list-head .invoice-item-col{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-size:11px;font-weight:600}.invoice-item-total{font-weight:600;font-family:var(--display);font-size:14.5px}.invoice-item-chevron{color:var(--ink-soft);flex-shrink:0;width:16px;transition:transform .15s}.invoice-item[open] .invoice-item-chevron{transform:rotate(180deg)}.invoice-item-chevron-spacer{flex-shrink:0;width:16px}.invoice-item-body{padding:0 20px 14px}.invoice-item-body .list-row{padding:8px 0}.faq-item{border-bottom:1px solid var(--border);padding:4px 0}.faq-item:last-child{border-bottom:none}.faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:13px 4px;font-size:14px;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-family:var(--display);color:var(--ink-soft);flex-shrink:0;font-size:18px}.faq-item[open] summary:after{content:"−"}.faq-answer{color:var(--ink-soft);max-width:68ch;padding:0 4px 15px;font-size:13.5px;line-height:1.55}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow-x:auto}.table-wrap table{min-width:640px}.table-wrap th:first-child,.table-wrap td:first-child{padding-left:20px}.table-wrap th:last-child,.table-wrap td:last-child{padding-right:20px}.table-wrap tr:last-child td{border-bottom:none}.cell-name{font-weight:600}.cell-sub{color:var(--ink-soft);margin-top:1px;font-size:12px;font-weight:400}tr.attention td:first-child{box-shadow:inset 3px 0 0 var(--warning)}tr.ghost-row td{color:var(--ink-soft);font-style:italic}tr.ghost-row .pill{font-style:normal}.subtab-row{gap:8px;margin-bottom:20px;display:flex}.subtab-btn{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;color:var(--ink-soft);border-radius:999px;padding:8px 16px;font-size:13.5px;font-weight:600}.subtab-btn.active{background:var(--brand-solid);color:#fbf8f2;border-color:var(--brand-solid)}.search-row{gap:10px;margin-bottom:18px;display:flex}.search-input{flex:1}.entity-meta{color:var(--ink-soft);font-size:12px}.req-head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.req-card{margin-bottom:12px;padding:18px 20px}.req-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.req-title{font-size:15px;font-weight:600}.req-sub{color:var(--ink-soft);margin-top:2px;font-size:12.5px}.stepper{align-items:center;margin-top:16px;display:flex}.step{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex;position:relative}.step-dot{border:2px solid var(--border-strong);background:var(--surface);width:22px;height:22px;color:var(--ink-soft);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.step.done .step-dot{background:var(--success);border-color:var(--success);color:#fff}.step.current .step-dot{background:var(--accent);border-color:var(--accent);color:#fff}.step.rejected .step-dot{background:var(--critical);border-color:var(--critical);color:#fff}.step-label{color:var(--ink-soft);text-align:center;font-size:11px;font-weight:600}.step.done .step-label,.step.current .step-label,.step.rejected .step-label{color:var(--ink)}.step-line{background:var(--border-strong);z-index:0;width:100%;height:2px;position:absolute;top:11px;right:50%}.step.done .step-line{background:var(--success)}.req-note{background:var(--surface-sunk);color:var(--ink-soft);border-radius:9px;margin-top:14px;padding:10px 13px;font-size:13px}.req-note strong{color:var(--ink)}.reco-full-card{margin-bottom:14px;padding:20px 22px}.reco-full-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.reco-full-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.reco-full-title{font-family:var(--display);font-size:17px;font-weight:600}.priority-tag{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}.priority-high{background:var(--critical-tint);color:var(--critical)}.priority-medium{background:var(--warning-tint);color:var(--warning)}.priority-low{background:var(--surface-sunk);color:var(--ink-soft)}.reco-full-desc{color:var(--ink-soft);max-width:66ch;margin-top:10px;font-size:13.5px;line-height:1.55}.reco-full-meta{color:var(--ink-soft);margin-top:8px;font-size:12.5px}.reco-full-bottom{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:16px;display:flex}.reco-price-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-size:11.5px}.reco-price-value{font-family:var(--display);font-size:19px;font-weight:600}.reco-full-actions{gap:8px;display:flex}.trust-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.trust-card{flex-direction:column;gap:8px;padding:20px;display:flex}.trust-icon{background:var(--brand-tint);width:40px;height:40px;color:var(--brand);border-radius:11px;justify-content:center;align-items:center;display:flex}.trust-title{font-family:var(--display);margin:0;font-size:17px;font-weight:600}.trust-desc{color:var(--ink-soft);font-size:13.5px}.trust-meta{color:var(--ink-soft);font-size:12px}.trust-body{font-size:13.5px;line-height:1.6}.trust-body :first-child{margin-top:0}.auth-shell{background:var(--paper);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:380px;padding:32px;box-shadow:0 1px 3px #0000000d}.auth-brand{align-items:center;gap:10px;margin-bottom:22px;display:flex}.auth-brand-text{font-family:var(--display);color:var(--ink);font-size:20px;font-weight:600}.auth-card h1{margin-bottom:4px;font-size:22px}.auth-sub{color:var(--ink-soft);margin-bottom:18px;font-size:13.5px}.auth-foot{text-align:center;margin-top:18px;font-size:13.5px}.back-link{color:var(--brand);align-items:center;gap:6px;margin-bottom:16px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.form-card{max-width:480px}.field{margin-bottom:14px}.field label{margin:0 0 4px}.field input,.field select,.field textarea{width:100%}.field-fieldset{border:none;margin:0 0 14px;padding:0}.field-fieldset legend{color:var(--ink-soft);margin-bottom:6px;padding:0;font-size:12.5px;font-weight:600}.field-radio-row{gap:20px;display:flex}.field-radio-row label,.field-checkbox-list label{color:var(--ink);align-items:center;gap:6px;margin:0;font-size:14px;font-weight:500;display:flex}.field-checkbox-list label{padding:4px 0}.field-checkbox-list label.has-desc{align-items:flex-start;padding:6px 0}.field-checkbox-list label.has-desc input{margin-top:3px}.checkbox-option-text{flex-direction:column;gap:2px;display:flex}.checkbox-option-desc{color:var(--ink-soft);font-size:12px;font-weight:400}.form-actions{margin-top:18px}.detail-actions{gap:10px;margin:12px 0 20px;display:flex}@media (width<=960px){.overview-grid,.trust-grid{grid-template-columns:1fr}}@media (width<=780px){.nav-toggle{display:inline-flex}.sidenav{z-index:40;box-shadow:var(--shadow-pop);transition:transform .22s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidenav.open{transform:translate(0)}.nav-backdrop.open{z-index:30;background:#0f1c1973;display:block;position:fixed;inset:0}}.weight-selector{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.seg-group{border:1px solid var(--border-strong);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.seg-btn{border:none;border-left:1px solid var(--border-strong);background:var(--surface);color:var(--ink-soft);cursor:pointer;padding:5px 11px;font-size:12.5px;font-weight:600}.seg-btn:first-child{border-left:none}.seg-btn.active{background:var(--brand-solid);color:#fbf8f2}.seg-btn:disabled{cursor:default}.seg-btn:disabled:not(.active){opacity:.6}.weight-custom{color:var(--warning);font-size:12px;font-weight:600}.tpl-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tpl-actions{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.tpl-hint{padding:0;font-size:12.5px}.tpl-banner{text-align:left;border-radius:var(--radius-md);background:var(--surface-sunk);border:1px solid var(--border);margin-bottom:20px;padding:12px 16px}.tpl-category{margin-bottom:14px}.tpl-category-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.tpl-category-name{flex:1;min-width:0}.tpl-category-name .field{margin-bottom:0}.tpl-category-name input{font-size:15px;font-weight:600}.tpl-category-title{flex:1;margin:0;font-size:15px}.tpl-empty-items{text-align:left;padding:6px 0}.tpl-item-list{margin:0;padding:0;list-style:none}.tpl-item{border-top:1px solid var(--border);grid-template-columns:auto 1fr auto;gap:12px;padding:12px 0;display:grid}.tpl-item .field{margin-bottom:8px}.tpl-item-main{min-width:0}.tpl-item-prompt{font-weight:600}.tpl-item-side{flex-direction:column;align-items:flex-end;gap:8px;padding-top:20px;display:flex}.tpl-move{flex-direction:column;gap:4px;padding-top:20px;display:flex}.tpl-category-head .tpl-move{flex-direction:row;padding-top:0}.tpl-add-row{border-top:1px dashed var(--border-strong);flex-wrap:wrap;align-items:center;gap:10px;padding-top:12px;display:flex}.tpl-add-row input{flex:1;min-width:220px}.tpl-add-row .error-state{flex-basis:100%}@media (width<=720px){.tpl-item{grid-template-columns:1fr}.tpl-move{flex-direction:row;padding-top:0}.tpl-item-side{align-items:flex-start;padding-top:0}}.row-error{color:var(--critical);font-size:12.5px;font-weight:600}.tpl-item-description{color:var(--ink-soft);margin-top:2px;font-size:13.5px}.card-link-button{cursor:pointer;background:0 0;border-bottom:none;border-left:none;border-right:none;width:100%;font-family:inherit}.audit-visibility{align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:inline-flex}.audit-cancel-confirm{flex-direction:column;align-items:stretch;gap:8px;max-width:360px;display:flex}.audit-score{grid-template-columns:minmax(160px,auto) 1fr;gap:28px;margin-bottom:20px;display:grid}.audit-score-label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-size:11.5px;font-weight:600}.audit-score-value{font-size:30px;font-weight:700;line-height:1.15}.audit-progress{background:var(--surface-sunk);border:1px solid var(--border);border-radius:999px;height:8px;margin:8px 0 6px;overflow:hidden}.audit-progress-fill{background:var(--brand-solid);height:100%;transition:width .2s}.audit-item{grid-template-columns:1fr auto}.audit-item-fields{margin-top:10px}.field-internal textarea,.field-internal input{background:var(--surface-sunk);border-style:dashed}.seg-btn.seg-pass.active{background:var(--success)}.seg-btn.seg-fail.active{background:var(--critical)}.seg-btn.seg-notApplicable.active{background:var(--ink-soft)}@media (width<=720px){.audit-score{grid-template-columns:1fr;gap:16px}.audit-item{grid-template-columns:1fr}}.audit-card{color:inherit;text-decoration:none;transition:box-shadow .15s,border-color .15s}.audit-card:hover{box-shadow:var(--shadow-pop);border-color:var(--border-strong)}.audit-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.audit-score-badge{background:var(--brand-tint);color:var(--brand);border-radius:999px;padding:3px 10px;font-size:15px;font-weight:700}.audit-score-single{grid-template-columns:1fr}.audit-category-toggle{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:0 0 8px;display:flex}.audit-category-chevron{width:14px;color:var(--ink-soft)}.audit-result{border-top:1px solid var(--border);grid-template-columns:28px 1fr;gap:12px;padding:12px 0;display:grid}.audit-outcome-icon{border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;font-weight:700;display:flex}.outcome-pass{background:var(--success-tint);color:var(--success)}.outcome-fail{background:var(--critical-tint);color:var(--critical)}.outcome-notApplicable,.outcome-pending{background:var(--surface-sunk);color:var(--ink-soft)}.audit-finding{border-left:3px solid var(--border-strong);background:var(--surface-sunk);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-top:6px;padding:8px 12px;font-size:13.5px}.audit-result[data-outcome=fail] .audit-finding{border-left-color:var(--critical)}
