@import url("https://fonts.googleapis.com/css2?family=Alexandria:wght@100..900&family=Archivo:wght@500;600;700;800;900&display=swap");*{box-sizing:border-box;margin:0;padding:0}body{background:var(--hasr-bg);color:var(--hasr-text);min-height:100vh}.hasr-shell{max-width:1080px;margin:0 auto;padding:24px 20px 64px}.hasr-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.hasr-brand{display:flex;align-items:baseline;gap:10px}.hasr-brand-name{font-size:1.35rem;font-weight:800;color:var(--hasr-ink-900);font-family:Archivo,Alexandria,sans-serif;letter-spacing:.01em}.hasr-brand-sub{color:var(--hasr-text-muted);font-size:.85rem;direction:ltr}.hasr-phase{font-size:.75rem;color:var(--hasr-primary-strong);background:color-mix(in srgb,var(--hasr-accent) 22%,#fff);border:1px solid color-mix(in srgb,var(--hasr-accent) 55%,#fff);padding:3px 10px;border-radius:999px}.hasr-card{background:var(--hasr-surface);border:1px solid var(--hasr-border);border-radius:var(--hasr-radius);padding:18px;margin-bottom:16px}.hasr-card-title{font-size:1rem;margin-bottom:12px;color:var(--hasr-gray-800)}.hasr-btn{border:0;padding:9px 18px;font-size:.92rem;font-weight:600;cursor:pointer;font-family:inherit;transition:filter .15s ease}.hasr-btn:disabled{opacity:.55;cursor:default}.hasr-btn:hover:not(:disabled){filter:brightness(.95)}.hasr-btn-primary{background:var(--hasr-primary)}.hasr-btn-ghost{background:transparent}.dropzone{border:2px dashed var(--hasr-gray-300);border-radius:var(--hasr-radius);padding:44px 20px;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.dropzone.is-over,.dropzone:hover{border-color:var(--hasr-primary);background:color-mix(in srgb,var(--hasr-accent) 8%,#fff)}.dropzone-icon{font-size:2rem;margin-bottom:8px}.dropzone-hint{color:var(--hasr-text-muted);font-size:.85rem;margin-top:6px;direction:ltr}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.chip{background:var(--hasr-gray-100);border:1px solid var(--hasr-border);border-radius:999px;padding:4px 12px;font-size:.8rem;color:var(--hasr-gray-700)}.chip b{color:var(--hasr-gray-900)}.hasr-badge{display:inline-block;border-radius:999px;padding:2px 10px;font-size:.72rem;font-weight:600;line-height:1.6}.hasr-badge-written{color:var(--hasr-prov-written);background:var(--hasr-prov-written-bg)}.hasr-badge-inferred{color:var(--hasr-prov-inferred);background:var(--hasr-prov-inferred-bg)}.hasr-badge-estimated{color:var(--hasr-prov-estimated);background:var(--hasr-prov-estimated-bg)}.hasr-badge-user{color:var(--hasr-prov-user);background:var(--hasr-prov-user-bg)}.hasr-badge-conflict{color:#fff;background:var(--hasr-danger)}.hasr-badge-neutral{color:var(--hasr-gray-600);background:var(--hasr-gray-100)}.hasr-conf{position:relative;display:inline-block;width:110px;height:18px;border-radius:2px;overflow:hidden;vertical-align:middle;background:var(--hasr-gray-200)}.hasr-conf-high .hasr-conf-fill{background:var(--hasr-conf-high)}.hasr-conf-mid .hasr-conf-fill{background:var(--hasr-conf-mid)}.hasr-conf-low .hasr-conf-fill{background:var(--hasr-conf-low)}.hasr-conf-fill{height:100%}.hasr-conf-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.tab{border:1px solid var(--hasr-border);background:var(--hasr-surface);border-radius:4px;padding:7px 16px;font-size:.85rem;cursor:pointer;font-family:inherit;color:var(--hasr-gray-700)}.tab.is-active{background:var(--hasr-primary);border-color:var(--hasr-primary);color:var(--hasr-on-primary);font-weight:700}.hasr-table{width:100%;border-collapse:collapse;font-size:.85rem}.hasr-table td,.hasr-table th{border-bottom:1px solid var(--hasr-border);padding:8px 10px;text-align:start}.hasr-table th{color:var(--hasr-text-muted);font-weight:600;font-size:.78rem}.hasr-table td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;direction:ltr}.muted{color:var(--hasr-text-muted);font-size:.78rem}.plan-canvas-wrap{border:1px solid var(--hasr-border);border-radius:3px;overflow:hidden;background:#fff;direction:ltr;height:560px}.legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:.78rem;color:var(--hasr-text-muted)}.legend-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;-webkit-margin-end:5px;margin-inline-end:5px;vertical-align:-1px}.conflict-item,.warn-item{border-radius:4px;padding:10px 14px;margin-bottom:8px;font-size:.85rem}.conflict-item{background:var(--hasr-conf-low-bg);border:1px solid #f3b6bd;color:var(--hasr-conf-low)}.warn-item{background:var(--hasr-conf-mid-bg);border:1px solid #fde68a;color:var(--hasr-conf-mid)}.error-box{background:var(--hasr-conf-low-bg);border:1px solid #f3b6bd;color:var(--hasr-conf-low);border-radius:4px}.error-box,.ok-box{padding:12px 16px;margin-top:12px;font-size:.88rem}.ok-box{background:var(--hasr-conf-high-bg);border:1px solid #bbe5c8;color:var(--hasr-conf-high);border-radius:4px}.hasr-field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.hasr-field label{font-size:.85rem;font-weight:600;color:var(--hasr-gray-700)}.hasr-input{border:1px solid var(--hasr-border);border-radius:4px;padding:9px 12px;font-size:.9rem;font-family:inherit;background:#fff;color:var(--hasr-text);max-width:460px}.hasr-input:focus{outline:2px solid color-mix(in srgb,var(--hasr-primary) 35%,#fff)}.hasr-code{display:block;margin-top:8px;padding:8px 10px;border-radius:3px;background:var(--hasr-gray-100);border:1px solid var(--hasr-border);font-size:.75rem;direction:ltr;text-align:left;overflow-x:auto;white-space:nowrap}a.hasr-btn{display:inline-block;text-decoration:none;line-height:1.4}.hasr-footer{text-align:center;color:var(--hasr-gray-400);font-size:.75rem;margin-top:28px}.lang-toggle{font-size:.8rem}.hasr-admin{max-width:1180px}.admin-banner{background:var(--hasr-conf-mid-bg);border:1px solid #fde68a;color:var(--hasr-conf-mid);border-radius:4px;padding:10px 14px;font-size:.82rem;margin-bottom:14px}.admin-layout{display:grid;grid-template-columns:215px minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.hasr-shell.hasr-admin{max-width:99%}.admin-nav{display:flex;flex-direction:column;gap:6px;position:-webkit-sticky;position:sticky;top:16px}.admin-nav-item{display:flex;align-items:center;gap:8px;text-align:start;border:1px solid transparent;background:transparent;border-radius:4px;padding:10px 12px;font-size:.86rem;font-family:inherit;color:var(--hasr-gray-600);cursor:pointer;transition:background .15s ease}.admin-nav-item:hover{background:var(--hasr-gray-100)}.admin-nav-item.is-active{background:var(--hasr-surface);border-color:var(--hasr-border);color:var(--hasr-gray-900);font-weight:600;box-shadow:var(--hasr-shadow)}.admin-nav-soon{-webkit-margin-start:auto;margin-inline-start:auto;font-size:.62rem;font-weight:600;color:var(--hasr-gray-500);background:var(--hasr-gray-100);border:1px solid var(--hasr-border);border-radius:999px;padding:1px 8px}.provider-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));grid-gap:12px;gap:12px;margin-bottom:12px}.provider-card{border:1px solid var(--hasr-border);border-radius:var(--hasr-radius);background:var(--hasr-gray-50);padding:14px;display:flex;flex-direction:column;gap:10px}.provider-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.provider-role{font-size:.66rem;font-weight:600;color:var(--hasr-gray-600);background:var(--hasr-gray-100);border:1px solid var(--hasr-border);border-radius:999px;padding:2px 9px;white-space:nowrap}.provider-status{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.provider-masked{-webkit-margin-start:auto;margin-inline-start:auto;font-size:.75rem;color:var(--hasr-gray-500)}.provider-card .hasr-field{margin-bottom:0}.provider-card .hasr-input{max-width:none}.provider-actions{display:flex;flex-wrap:wrap;gap:8px}.provider-actions .hasr-btn{padding:6px 12px;font-size:.78rem}.soon-box{border:1px dashed var(--hasr-gray-300);border-radius:4px;padding:28px 16px;text-align:center;color:var(--hasr-text-muted);font-size:.88rem}@media (max-width:820px){.admin-layout{grid-template-columns:1fr}.admin-nav{position:static;flex-direction:row;flex-wrap:wrap}}.login-box{max-width:420px;margin:40px auto 0}.adduser-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.adduser-row .hasr-field{flex:1 1 170px;margin-bottom:0}.adduser-row select.hasr-input{min-width:140px}.monitor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px;gap:12px;margin-bottom:12px}.monitor-two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:16px;gap:16px;margin-bottom:16px}.monitor-card{border:1px solid var(--hasr-border);border-radius:var(--hasr-radius);background:var(--hasr-gray-50);padding:14px;display:flex;flex-direction:column;gap:10px}.monitor-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.monitor-kv{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--hasr-gray-700)}.monitor-kv code{font-size:.74rem}.monitor-stats{margin-bottom:0}.monitor-stat{border:1px solid var(--hasr-border);border-radius:var(--hasr-radius);background:var(--hasr-surface);padding:12px 14px;display:flex;flex-direction:column;gap:3px}.monitor-stat b{font-size:1.25rem;line-height:1.2}.monitor-stat-label{font-size:.72rem;font-weight:600;color:var(--hasr-gray-600)}.monitor-stat-sub{font-size:.7rem}.prices-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}.prices-toolbar .hasr-input[type=search]{flex:1 1 220px;max-width:340px;margin-bottom:0}.price-section{border:1px solid var(--hasr-border);border-radius:var(--hasr-radius);background:var(--hasr-surface);margin-bottom:12px;box-shadow:var(--hasr-shadow)}.price-section summary{cursor:pointer;padding:12px 16px;font-size:.9rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.price-section[open] summary{border-bottom:1px solid var(--hasr-border)}.prices-table{margin:0}.prices-table td{vertical-align:middle}.prices-path{font-size:.68rem;color:var(--hasr-gray-500);margin-top:2px}.prices-amounts{display:flex;align-items:center;gap:6px;white-space:nowrap}.prices-input{width:92px;font-size:.8rem;text-align:center}.prices-input,.prices-note{max-width:none;padding:6px 8px;margin-bottom:0}.prices-note{width:150px;font-size:.78rem}.prices-total{font-size:.78rem;white-space:nowrap}.prices-table tr.is-dirty td{background:var(--hasr-gray-100)}.boq-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}.boq-toolbar .hasr-input{max-width:none;margin-bottom:0}.boq-toolbar input[type=search]{flex:1 1 220px;max-width:320px}.boq-toolbar select.hasr-input{padding:8px 10px;font-size:.84rem;max-width:240px}.boq-check{display:flex;align-items:center;gap:6px;font-size:.84rem;color:var(--hasr-gray-700)}.boq-check,.boq-reset{white-space:nowrap;cursor:pointer}.boq-reset{border:1px solid var(--hasr-border);border-radius:4px;background:none;padding:7px 12px;font-family:inherit;font-size:.8rem;color:var(--hasr-gray-600)}.boq-reset:hover{border-color:var(--hasr-primary);color:var(--hasr-primary)}.boq-stats{margin-top:10px}.boq-table-wrap{border:1px solid var(--hasr-border);border-radius:var(--hasr-radius);background:var(--hasr-surface);overflow:auto;max-height:68vh;margin-top:10px}.boq-table{min-width:1180px;margin:0}.boq-table th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--hasr-gray-100,#f3f4f6);box-shadow:0 1px 0 var(--hasr-border);padding:0;white-space:nowrap;font-size:.95rem;font-weight:800;color:var(--hasr-text)}.boq-table th:not(:has(.boq-sort)){padding:12px}.boq-sort{display:flex;align-items:center;gap:5px;width:100%;border:0;background:none;padding:12px;font-family:inherit;font-size:.95rem;font-weight:800;color:var(--hasr-text);cursor:pointer;white-space:nowrap}.boq-sort.is-active,.boq-sort:hover{color:var(--hasr-primary)}.boq-arrow{font-size:.62rem;opacity:.7}.boq-table td{vertical-align:top}.boq-desc{white-space:pre-wrap;overflow-wrap:anywhere}.boq-file{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boq-pager{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.boq-page-btn{border:1px solid var(--hasr-border);border-radius:4px;background:none;padding:6px 12px;font-family:inherit;font-size:.8rem;color:var(--hasr-gray-600);cursor:pointer;white-space:nowrap}.boq-page-btn:hover:not(:disabled){border-color:var(--hasr-primary);color:var(--hasr-primary)}.boq-page-btn:disabled{opacity:.45;cursor:default}.boq-pagesize{width:74px;padding:5px 8px;font-size:.8rem;-webkit-margin-start:6px;margin-inline-start:6px}.boq-loading{opacity:.55;pointer-events:none}body{font-family:Alexandria,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.app-frame{display:flex;align-items:stretch;min-height:100vh}.app-rail{flex:0 0 var(--hasr-rail-w);width:var(--hasr-rail-w);position:-webkit-sticky;position:sticky;top:0;height:100vh;z-index:40;display:flex;flex-direction:column;gap:13px;padding:16px 13px 13px;background:var(--hasr-shell-bg);color:var(--hasr-shell-text)}.app-rail:after{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:1px;background:linear-gradient(180deg,rgba(255,210,10,.55),hsla(0,0%,100%,.06) 38%,transparent)}.rail-brand{display:flex;align-items:center;gap:10px;padding:2px 4px 0}.rail-logo{width:38px;height:38px;border-radius:3px;display:grid;place-items:center;background:var(--hasr-gradient);color:var(--hasr-on-primary);box-shadow:var(--hasr-shadow-gold);flex:0 0 38px}.rail-brand-text{display:flex;flex-direction:column;line-height:1.2;min-width:0}.rail-brand-text b{color:#fff;font-family:Archivo,Alexandria,sans-serif;font-size:1rem;font-weight:900;letter-spacing:.01em}.rail-brand-text i{color:hsla(0,0%,100%,.4);font-size:.66rem;font-style:normal}.rail-logo-img{width:56px;height:56px;border-radius:13px;flex:0 0 56px;box-shadow:var(--hasr-shadow-gold)}.rail-wordmark{display:block;width:118px;height:auto;max-width:100%}.rail-brand-line{margin-top:4px;color:#fff;font-size:.78rem;font-weight:800;line-height:1.3}.rail-brand-line,.rail-brand-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-brand-sub{margin-top:3px;color:hsla(0,0%,100%,.45);font-size:.62rem;font-weight:500}.rail-x{display:none;-webkit-margin-start:auto;margin-inline-start:auto;background:transparent;border:0;color:hsla(0,0%,100%,.6);cursor:pointer;padding:4px}.rail-project{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;background:var(--hasr-shell-surface);border:1px solid var(--hasr-shell-border);border-radius:4px;padding:10px 11px;transition:background .15s ease,border-color .15s ease}.rail-project:hover{background:var(--hasr-shell-surface-hover);border-color:rgba(255,210,10,.45)}.rail-project-dot{flex:0 0 8px;width:8px;height:8px;border-radius:999px;background:hsla(0,0%,100%,.26)}.rail-project-dot[data-on="1"]{background:var(--hasr-primary);box-shadow:0 0 0 3px rgba(255,210,10,.22)}.rail-project-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1}.rail-project-text b{color:#fff;font-size:.78rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-project-text i{color:hsla(0,0%,100%,.44);font-size:.67rem;font-style:normal}.rail-project-cta{flex:0 0 26px;width:26px;height:26px;border-radius:4px;display:grid;place-items:center;background:rgba(255,210,10,.12);color:var(--hasr-gold-400)}.rail-nav{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;gap:17px;padding:4px 0 8px}.rail-nav::-webkit-scrollbar{width:6px}.rail-nav::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.11);border-radius:99px}.rail-group{display:flex;flex-direction:column;gap:3px}.rail-group-label{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:hsla(0,0%,100%,.32);padding:0 11px 5px}.rail-item{position:relative;display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:3px;text-decoration:none;color:var(--hasr-shell-text);font-size:.85rem;font-weight:500;transition:background .14s ease,color .14s ease}.rail-item:hover{background:var(--hasr-shell-surface-hover);color:#fff}.rail-item.is-active{background:var(--hasr-shell-active);color:var(--hasr-shell-active-text);font-weight:700}.rail-item.is-active .rail-item-icon{color:var(--hasr-gold-400)}.rail-item-icon{display:grid;place-items:center;flex:0 0 17px;opacity:.92}.rail-item-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-item-badge{flex:0 0 auto;font-size:.66rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--hasr-on-primary);background:var(--hasr-gradient);border-radius:999px;padding:1px 7px;line-height:1.5}.rail-item-lock{display:grid;place-items:center;color:hsla(0,0%,100%,.3)}.rail-foot{display:flex;flex-direction:column;gap:9px;padding-top:11px;border-top:1px solid var(--hasr-shell-border)}.rail-lang{display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:1px solid var(--hasr-shell-border);color:var(--hasr-shell-text);border-radius:4px;padding:8px 11px;font:inherit;font-size:.78rem;cursor:pointer;transition:color .14s ease,border-color .14s ease}.rail-lang:hover{color:#fff;border-color:rgba(255,210,10,.5)}.rail-user{display:flex;align-items:center;gap:9px;padding:3px 5px}.rail-user-avatar{flex:0 0 30px;width:30px;height:30px;border-radius:4px;display:grid;place-items:center;background:rgba(255,210,10,.14);color:var(--hasr-gold-400);font-size:.8rem;font-weight:700}.rail-user-text{display:flex;flex-direction:column;line-height:1.25;min-width:0}.rail-user-text b{color:#fff;font-size:.76rem;font-weight:600}.rail-user-text i{color:hsla(0,0%,100%,.4);font-size:.65rem;font-style:normal}.app-main{flex:1 1;min-width:0;display:flex;flex-direction:column}.app-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;min-height:var(--hasr-topbar-h);display:flex;align-items:center;gap:14px;padding:9px 26px;background:hsla(0,0%,100%,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--hasr-border)}.topbar-burger{display:none;width:38px;height:38px;border-radius:3px;place-items:center;background:#fff;border:1px solid var(--hasr-border);color:var(--hasr-gray-700);cursor:pointer}.topbar-title{display:flex;flex-direction:column;gap:1px;min-width:0}.topbar-crumb{display:flex;align-items:center;gap:4px;font-size:.67rem;color:var(--hasr-text-muted)}.topbar-crumb svg{opacity:.65}.topbar-title h1{font-family:Archivo,Alexandria,sans-serif;font-size:1.06rem;font-weight:800;color:var(--hasr-ink-900);letter-spacing:-.012em}.ws-title{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:4px 9px;min-width:0}.ws-title .topbar-sep{font-style:normal;font-weight:400;color:var(--hasr-border-strong)}.ws-title b,.ws-title-pct{font-weight:900}.ws-title-pct{color:var(--hasr-gold-600);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.topbar-tools{-webkit-margin-start:auto;margin-inline-start:auto;gap:9px}.jump,.topbar-tools{display:flex;align-items:center}.jump{position:relative;gap:8px;width:252px;height:38px;background:#fff;border:1px solid var(--hasr-border);border-radius:4px;padding:0 12px;transition:border-color .15s ease,box-shadow .15s ease}.jump:focus-within{border-color:var(--hasr-gold-500);box-shadow:0 0 0 3px rgba(255,210,10,.3)}.jump-icon{color:var(--hasr-text-muted);flex:0 0 auto}.jump input{flex:1 1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:.82rem;color:var(--hasr-text)}.jump input::placeholder{color:var(--hasr-gray-400)}.jump kbd{flex:0 0 auto;font-family:inherit;font-size:.62rem;color:var(--hasr-text-muted);background:var(--hasr-gray-100);border:1px solid var(--hasr-border-soft);border-radius:3px;padding:1px 5px}.jump-panel{position:absolute;top:calc(100% + 8px);inset-inline-end:0;width:336px;max-height:330px;overflow:auto;background:#fff;border:1px solid var(--hasr-border);border-radius:4px;box-shadow:var(--hasr-shadow-lg);padding:6px;z-index:60}.jump-row{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border-radius:4px;text-decoration:none;color:var(--hasr-text)}.jump-row:hover{background:var(--hasr-gray-100)}.jump-row svg{color:var(--hasr-gold-600);margin-top:2px;flex:0 0 auto}.jump-row b{display:block;font-size:.84rem;font-weight:600}.jump-row i{display:block;font-size:.7rem;font-style:normal;line-height:1.5}.jump-empty,.jump-row i{color:var(--hasr-text-muted)}.jump-empty{padding:14px 12px;font-size:.8rem;text-align:center}.readiness{display:flex;align-items:center;gap:7px;height:38px;padding:0 12px 0 4px;background:#fff;border:1px solid var(--hasr-border);border-radius:4px}.readiness svg{flex:0 0 34px}.readiness-num{display:flex;flex-direction:column;line-height:1.15}.readiness-num b{font-size:.82rem;color:var(--hasr-ink-900);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.readiness-num i{font-size:.62rem;font-style:normal;color:var(--hasr-text-muted)}.topbar-icon{position:relative;width:38px;height:38px;border-radius:3px;display:grid;place-items:center;background:#fff;border:1px solid var(--hasr-border);color:var(--hasr-gray-600);cursor:pointer;transition:color .15s ease,border-color .15s ease}.topbar-icon:hover{color:var(--hasr-ink-900);border-color:var(--hasr-gold-500)}.topbar-icon .dot{position:absolute;top:8px;inset-inline-end:8px;width:7px;height:7px;border-radius:999px;background:var(--hasr-danger);border:1.5px solid #fff}.app-content{flex:1 1;width:100%;max-width:1460px;padding:22px 26px 60px}.rail-scrim{display:none}.page{display:flex;flex-direction:column;gap:16px}.page-lead{font-size:.84rem;color:var(--hasr-text-muted);line-height:1.75;max-width:86ch}.hasr-card{border-radius:var(--hasr-radius-lg);padding:20px;box-shadow:var(--hasr-shadow)}.hasr-card-title{font-family:Archivo,Alexandria,sans-serif;font-size:.98rem;font-weight:800;color:var(--hasr-ink-900);letter-spacing:-.01em}.panel-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.panel-head .hasr-card-title{flex:1 1}.panel-hint{font-size:.74rem;color:var(--hasr-text-muted)}.hasr-btn{border-radius:4px;padding:10px 18px;font-weight:700;letter-spacing:.01em}.hasr-btn-primary{background:var(--hasr-gradient);color:var(--hasr-on-primary);box-shadow:var(--hasr-shadow-gold)}.hasr-btn-primary:hover:not(:disabled){filter:brightness(.94)}.hasr-btn-ghost{border:1px solid var(--hasr-border);color:var(--hasr-gray-700);background:#fff}.hasr-btn-ghost:hover:not(:disabled){border-color:var(--hasr-gold-500);color:var(--hasr-ink-900)}.hasr-badge-gold{color:var(--hasr-on-primary);background:var(--hasr-gradient)}.hasr-badge-dark{color:#fff;background:var(--hasr-ink-900)}.hero{position:relative;overflow:hidden;color:#fff;background:#171717;border-top:4px solid var(--hasr-primary);border-radius:var(--hasr-radius-lg);padding:26px 28px;box-shadow:var(--hasr-shadow-lg)}.hero:after{content:"";position:absolute;inset-inline-end:-70px;top:-90px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(255,210,10,.12),transparent 68%);pointer-events:none}.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,auto);grid-gap:36px;gap:36px;align-items:center}.hero-main{min-width:0}.hero-side{min-width:300px;-webkit-border-start:1px solid hsla(0,0%,100%,.15);border-inline-start:1px solid hsla(0,0%,100%,.15);-webkit-padding-start:32px;padding-inline-start:32px}.hero-side-title{font-size:.67rem;letter-spacing:.09em;text-transform:uppercase;margin-bottom:15px}.hero-eyebrow,.hero-side-title{font-weight:700;color:var(--hasr-gold-400)}.hero-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:.69rem;background:rgba(255,210,10,.12);border:1px solid rgba(255,210,10,.4);border-radius:999px;padding:4px 11px}.hero h2{font-family:Archivo,Alexandria,sans-serif;font-size:1.46rem;font-weight:800;margin:12px 0 8px;letter-spacing:-.018em;line-height:1.35}.hero p{color:hsla(0,0%,100%,.68);font-size:.86rem;line-height:1.8;max-width:62ch}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.hero-btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;border-radius:4px;padding:10px 20px;font-size:.86rem;font-weight:700;background:var(--hasr-gradient);color:var(--hasr-on-primary);box-shadow:var(--hasr-shadow-gold)}.hero-btn:hover{filter:brightness(1.05)}.hero-btn-ghost{display:inline-flex;align-items:center;gap:8px;text-decoration:none;border-radius:4px;padding:10px 20px;font-size:.86rem;font-weight:700;border:1px solid hsla(0,0%,100%,.22);color:#fff;background:hsla(0,0%,100%,.06)}.hero-btn-ghost:hover{border-color:rgba(255,210,10,.55)}.hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:17px 28px;gap:17px 28px}.hero-stat b{display:block;font-size:1.45rem;font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--hasr-gold-400);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hero-stat span{display:block;margin-top:4px;font-size:.72rem;line-height:1.5;color:hsla(0,0%,100%,.58)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(216px,1fr));grid-gap:14px;gap:14px}.kpi{position:relative;overflow:hidden;background:#fff;border:1px solid var(--hasr-border);border-radius:var(--hasr-radius-lg);padding:15px 17px 16px;box-shadow:var(--hasr-shadow)}.kpi.is-empty .kpi-value{color:var(--hasr-gray-300)}.kpi-top{display:flex;align-items:center;gap:9px;margin-bottom:9px}.kpi-icon{width:30px;height:30px;border-radius:4px;display:grid;place-items:center;background:var(--hasr-gray-100);color:var(--hasr-gold-600);flex:0 0 30px}.kpi-label{font-size:.75rem;color:var(--hasr-text-muted);font-weight:600}.kpi-value{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;font-size:1.62rem;font-weight:800;color:var(--hasr-ink-900);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.15}.kpi-unit{font-size:.8rem;font-weight:600}.kpi-foot,.kpi-unit{color:var(--hasr-text-muted)}.kpi-foot{margin-top:5px;font-size:.72rem}.kpi.is-alert{border-color:rgba(214,0,28,.4)}.kpi.is-alert .kpi-icon{background:var(--hasr-conf-low-bg);color:var(--hasr-conf-low)}.split{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-gap:14px}.split,.split-even{display:grid;gap:14px;align-items:start}.split-even{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px}.flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.flow-step{position:relative;text-align:start;background:var(--hasr-surface-sunken);border:1px solid var(--hasr-border-soft);border-radius:4px;padding:13px 14px}.flow-step.is-done{border-color:rgba(21,128,61,.28)}.flow-step.is-active{border-color:var(--hasr-gold-500);background:color-mix(in srgb,var(--hasr-gold-400) 12%,#fff)}.flow-num{width:22px;height:22px;border-radius:3px;display:grid;place-items:center;font-size:.68rem;font-weight:800;background:var(--hasr-gray-200);color:var(--hasr-gray-700);margin-bottom:8px}.flow-step.is-done .flow-num{background:var(--hasr-conf-high-bg);color:var(--hasr-conf-high)}.flow-step.is-active .flow-num{background:var(--hasr-gradient);color:var(--hasr-on-primary)}.flow-step b{display:block;font-size:.84rem;font-weight:700;color:var(--hasr-ink-900)}.flow-step i{display:block;font-size:.72rem;font-style:normal;color:var(--hasr-text-muted);margin-top:3px;line-height:1.55}.rows{flex-direction:column;gap:8px}.row,.rows{display:flex}.row{align-items:center;gap:11px;padding:11px 13px;border-radius:3px;background:var(--hasr-surface-sunken);border:1px solid var(--hasr-border-soft)}.row-icon{width:28px;height:28px;border-radius:4px;display:grid;place-items:center;flex:0 0 28px;background:var(--hasr-gray-100);color:var(--hasr-gold-600)}.row-main{flex:1 1;min-width:0}.row-main b{display:block;font-size:.83rem;font-weight:600;color:var(--hasr-ink-900)}.row-main i{display:block;font-size:.72rem;font-style:normal;color:var(--hasr-text-muted);line-height:1.5}.row-action{flex:0 0 auto}.legend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));grid-gap:10px;gap:10px}.prov-card{border:1px solid var(--hasr-border-soft);border-radius:3px;padding:11px 13px;background:var(--hasr-surface-sunken)}.prov-card b{display:block;font-size:.78rem;margin-top:7px}.prov-card i{display:block;font-size:.7rem;font-style:normal;color:var(--hasr-text-muted);margin-top:2px}.empty{text-align:center;padding:34px 20px}.empty-icon{width:54px;height:54px;border-radius:4px;display:grid;place-items:center;margin:0 auto 14px;background:color-mix(in srgb,var(--hasr-gold-400) 16%,#fff);color:var(--hasr-gold-600)}.empty b{display:block;font-size:.95rem;font-weight:700;color:var(--hasr-ink-900)}.empty p{font-size:.82rem;color:var(--hasr-text-muted);margin-top:6px;line-height:1.7;max-width:52ch;margin-inline:auto}.empty .hasr-btn,.empty .hero-btn{margin-top:16px}.bar{display:block}.hasr-table th{background:var(--hasr-surface-sunken);font-size:.75rem}.hasr-table tr:hover td{background:color-mix(in srgb,var(--hasr-gold-400) 7%,#fff)}.hasr-table{border:1px solid var(--hasr-border-soft);border-radius:3px;overflow:hidden}@media (max-width:1180px){.hero-inner,.split,.split-even{grid-template-columns:minmax(0,1fr)}.hero-side{min-width:0;-webkit-border-start:0;border-inline-start:0;border-top:1px solid hsla(0,0%,100%,.15);-webkit-padding-start:0;padding-inline-start:0;padding-top:22px}}@media (max-width:1080px){.app-rail{position:fixed;top:0;bottom:0;inset-inline-start:0;transform:translateX(100%);transition:transform .22s ease;height:100vh}[dir=ltr] .app-rail{transform:translateX(-100%)}.app-rail.is-open{transform:none;box-shadow:0 24px 60px rgba(0,0,0,.4)}.rail-scrim,.rail-x{display:block}.rail-scrim{position:fixed;inset:0;z-index:39;border:0;background:rgba(0,0,0,.55)}.topbar-burger{display:grid}.app-content{padding:18px 16px 52px}.app-topbar{padding:9px 16px}}@media (max-width:780px){.jump{width:44px;padding:0 12px;justify-content:center}.jump input,.jump kbd{display:none}.jump:focus-within{width:220px}.jump:focus-within input,.jump:focus-within kbd{display:block}.readiness{display:none}.hero{padding:22px 20px}.hero h2{font-size:1.24rem}}.bar{display:inline-block;width:140px;height:6px;background:var(--hasr-gray-200);overflow:hidden;vertical-align:middle}.bar,.bar>span{border-radius:2px}.bar>span{display:block;height:100%;background:var(--hasr-gradient)}.bar-lg{display:block;width:100%;height:12px}.ws-grid{display:grid;grid-template-columns:minmax(0,1fr) 268px;grid-gap:14px;gap:14px;align-items:start}.ws-top{position:-webkit-sticky;position:sticky;top:0;z-index:6;background:#fff;border:1px solid var(--hasr-border);border-radius:var(--hasr-radius-lg);padding:13px 16px 11px;box-shadow:var(--hasr-shadow);margin-bottom:14px}.ws-top-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.ws-top-title{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}.ws-top-title b{font-size:.95rem;font-weight:800;color:var(--hasr-ink-900)}.ws-top-side{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--hasr-text-muted);white-space:nowrap}.ws-rail{position:-webkit-sticky;position:sticky;top:128px;background:#fff;border:1px solid var(--hasr-border);border-radius:var(--hasr-radius-lg);padding:14px;box-shadow:var(--hasr-shadow);max-height:calc(100vh - 148px);overflow:auto}.sec-list{list-style:none;display:flex;flex-direction:column;gap:4px;margin:0;padding:0}.sec{width:100%;display:block;text-align:start;background:transparent;border:1px solid transparent;-webkit-border-start:3px solid transparent;border-inline-start:3px solid transparent;border-radius:4px;padding:8px 10px;font:inherit;cursor:pointer}.sec:hover{background:var(--hasr-gray-50)}.sec.is-active{background:var(--hasr-surface-sunken);border-color:var(--hasr-border);border-inline-start-color:var(--hasr-gold-500)}.sec.is-complete{border-inline-start-color:var(--hasr-conf-high)}.sec.is-in_progress{border-inline-start-color:var(--hasr-conf-mid)}.sec-head{display:flex;align-items:baseline;gap:6px;justify-content:space-between}.sec-name{font-size:.82rem;font-weight:700;color:var(--hasr-ink-900);line-height:1.35}.sec-count{font-size:.64rem;color:var(--hasr-text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.sec-pct{display:block;font-size:.76rem;font-weight:800;color:var(--hasr-gold-600);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin:2px 0 5px}.sec-bar{display:block;width:100%;height:5px}.sec-note{margin:10px 2px 0;font-size:.66rem;line-height:1.5;color:var(--hasr-text-muted)}.ws-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.rail-group-sub{margin-top:12px}.cell-bool{width:18px;height:18px;accent-color:var(--hasr-gold-600);cursor:pointer}.grid-group td{background:var(--hasr-surface-sunken);border-top:2px solid var(--hasr-border-strong);border-bottom:1px solid var(--hasr-border);font-size:.76rem;font-weight:800;color:var(--hasr-ink-900);padding:6px 10px}.grid-table tr.is-pending td{background:var(--hasr-conf-mid-bg)}.icon-btn.is-pending{color:var(--hasr-conf-mid);font-size:1rem}.icon-btn.is-ok{color:var(--hasr-conf-high)}.copy-panel{border:1px dashed var(--hasr-border-strong);border-radius:var(--hasr-radius-lg);padding:12px 14px;margin:10px 0 12px;background:var(--hasr-surface-sunken)}.copy-note{font-size:.76rem;line-height:1.7;color:var(--hasr-text-muted);margin:0 0 8px}.copy-fields{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.copy-fields label{display:flex;flex-direction:column;gap:4px;font-size:.74rem;font-weight:700;color:var(--hasr-gray-700)}.copy-fields .switch{flex-direction:row;align-items:center;gap:6px;font-weight:600}.sec.is-dim{display:block;cursor:default;border-inline-start-color:var(--hasr-gray-300)}.ws-main{display:flex;flex-direction:column;gap:14px;min-width:0}.ws-main .hasr-card{margin-bottom:0}.steps{list-style:none;display:flex;flex-direction:column;gap:6px;margin:0;padding:0}.step{width:100%;display:flex;gap:10px;align-items:flex-start;text-align:start;background:transparent;border:1px solid transparent;border-radius:3px;padding:9px 10px;font:inherit;cursor:pointer;color:var(--hasr-gray-700)}.step:hover:not(:disabled){background:var(--hasr-gray-50)}.step:disabled{opacity:.55;cursor:default}.step.is-active{background:var(--hasr-surface-sunken);border-color:var(--hasr-border);box-shadow:var(--hasr-shadow)}.step-num{flex:0 0 24px;width:24px;height:24px;border-radius:4px;display:grid;place-items:center;font-size:.72rem;font-weight:700;background:var(--hasr-gray-100);color:var(--hasr-gray-600);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.step.is-complete .step-num{background:var(--hasr-conf-high-bg);color:var(--hasr-conf-high)}.step.is-in_progress .step-num{background:var(--hasr-conf-mid-bg);color:var(--hasr-conf-mid)}.step.is-active .step-num{background:var(--hasr-gradient);color:var(--hasr-on-primary)}.step-body{display:flex;flex-direction:column;gap:2px;min-width:0}.step-body b{font-size:.83rem;font-weight:700;color:var(--hasr-ink-900)}.step-body i{font-size:.68rem;font-style:normal;color:var(--hasr-text-muted)}.meter-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.meter-eyebrow{font-size:.7rem;font-weight:700;color:var(--hasr-gold-600);letter-spacing:.04em}.meter-label{font-size:1.12rem;font-weight:800;color:var(--hasr-ink-900);margin-top:4px}.meter-num{display:flex;align-items:baseline;gap:3px}.meter-num b{font-size:2.1rem;font-weight:800;color:var(--hasr-ink-900);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1}.meter-num i{font-size:.82rem;font-style:normal}.meter-foot,.meter-num i{color:var(--hasr-text-muted)}.meter-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:11px;font-size:.75rem}.meter-foot .sep{opacity:.5}.save-dot{width:8px;height:8px;border-radius:999px;background:var(--hasr-conf-high)}.save-dot.is-dirty{background:var(--hasr-conf-mid)}.save-dot.is-saving{background:var(--hasr-gold-500);animation:hasr-pulse 1s infinite}@keyframes hasr-pulse{50%{opacity:.35}}.fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}.fieldset legend{font-size:.72rem;font-weight:700;color:var(--hasr-text-muted);margin-bottom:8px}.frow{display:grid;grid-template-columns:minmax(0,1fr) 168px 100px;grid-gap:10px;gap:10px;align-items:center;padding:7px 9px;border:1px solid var(--hasr-border-soft);border-radius:3px;background:var(--hasr-surface-sunken)}.frow.is-ok{border-color:rgba(21,128,61,.22)}.frow.is-off{opacity:.5}.frow-label{display:flex;align-items:center;gap:6px;min-width:0}.frow-name{font-size:.84rem;color:var(--hasr-gray-800)}.req{color:var(--hasr-danger);-webkit-margin-start:3px;margin-inline-start:3px}.frow-unit{font-size:.68rem;font-style:normal;color:var(--hasr-text-muted);background:var(--hasr-gray-100);border-radius:3px;padding:1px 6px}.frow-input .hasr-input{max-width:none;width:100%;padding:7px 10px;font-size:.85rem}.frow-side{display:flex;align-items:center;gap:6px;justify-content:flex-end}.chip-btn,.chip-ok{cursor:pointer;font:inherit;font-size:.7rem;padding:3px 9px}.chip-ok{background:var(--hasr-conf-high-bg);border-color:#bbe5c8;color:var(--hasr-conf-high)}.why{position:relative}.why summary{list-style:none;cursor:pointer;color:var(--hasr-text-muted);display:grid;place-items:center;padding:4px;border-radius:4px}.why summary::-webkit-details-marker{display:none}.why[open] summary{color:var(--hasr-gold-600);background:var(--hasr-gray-100)}.why-body{position:absolute;inset-inline-end:0;top:calc(100% + 6px);z-index:20;width:280px;background:#fff;border:1px solid var(--hasr-border);border-radius:3px;box-shadow:var(--hasr-shadow-lg);padding:10px 12px;font-size:.74rem;line-height:1.7;color:var(--hasr-gray-700)}.why-body p{margin:0 0 4px}.switch{display:flex;align-items:center;gap:7px;font-size:.82rem;color:var(--hasr-gray-700)}.node-code{font-size:.72rem;color:var(--hasr-text-muted);background:var(--hasr-gray-100);border-radius:3px;padding:1px 7px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.missing{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:7px;gap:7px}.missing li{border:1px solid var(--hasr-border-soft);border-radius:4px;padding:7px 9px;display:flex;flex-direction:column;gap:2px;background:var(--hasr-surface-sunken)}.missing li b{font-size:.79rem}.missing li i{font-size:.66rem;font-style:normal;color:var(--hasr-text-muted)}.floors-scroll{overflow-x:auto}.grid-table .hasr-input.cell{max-width:none;width:100%;padding:5px 7px;font-size:.8rem;border-radius:3px}.grid-table .row-no{width:34px;color:var(--hasr-text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.grid-table .row-actions{width:76px;white-space:nowrap}.dash-row{margin-bottom:16px}.dash-row:last-child{margin-bottom:0}.dash-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.dash-row-head h3{margin:0;font-size:.85rem;font-weight:700;color:var(--hasr-gray-800)}.dash-row-count{font-size:.68rem;color:var(--hasr-text-muted);background:var(--hasr-gray-100);border-radius:3px;padding:1px 8px;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-table th{vertical-align:bottom;white-space:nowrap;padding-bottom:6px}.dash-table th.is-ok .dash-th{color:var(--hasr-conf-high)}.dash-th{display:flex;align-items:center;gap:5px}.dash-td{vertical-align:top;min-width:132px;padding-top:6px}.dash-td .hasr-input,.dash-td select{max-width:none;width:100%;padding:6px 8px;font-size:.82rem}.dash-td .chip{margin-top:5px;font-size:.66rem}.dash-td.is-off{opacity:.5}.icon-btn{border:1px solid var(--hasr-border);background:#fff;border-radius:3px;width:26px;height:26px;cursor:pointer;font-size:.75rem;color:var(--hasr-gray-600)}.icon-btn:hover{border-color:var(--hasr-gold-500);color:var(--hasr-ink-900)}.floors-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}.tree{padding:0}.tree,.tree ul{list-style:none;margin:0}.tree ul{-webkit-padding-start:14px;padding-inline-start:14px;-webkit-border-start:1px dashed var(--hasr-border);border-inline-start:1px dashed var(--hasr-border)}.tree-node>details>summary{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:4px;cursor:pointer;font-size:.82rem}.tree-node>details>summary:hover{background:var(--hasr-gray-50)}.tree-node>details>summary::-webkit-details-marker{display:none}.tree-code{font-size:.68rem;color:var(--hasr-text-muted);background:var(--hasr-gray-100);border-radius:3px;padding:1px 6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tree-name{color:var(--hasr-gray-800)}.tree-unit{font-size:.66rem}.tree-meta,.tree-unit{color:var(--hasr-text-muted)}.tree-meta{font-size:.68rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tree-flag{font-size:.64rem;color:var(--hasr-conf-mid);background:var(--hasr-conf-mid-bg);border-radius:999px;padding:1px 7px}.tree-qty{font-size:.72rem;font-weight:600;color:var(--hasr-conf-high);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--hasr-conf-high-bg);border-radius:6px;padding:0 6px;white-space:nowrap}.tree-qty.is-missing{color:var(--hasr-text-muted);background:rgba(0,0,0,.05);font-weight:500}.qty-missing{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-gap:4px;gap:4px;max-height:260px;overflow:auto}.qty-missing li{display:flex;align-items:center;gap:8px;font-size:.76rem;padding:4px 6px;border-radius:6px;background:rgba(0,0,0,.03)}.qty-missing .qty-code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:.7rem;color:var(--hasr-text-muted);min-width:56px}.tree-node.is-off>details>summary{opacity:.6}.tree-node.is-ok>details>summary .tree-name{color:var(--hasr-conf-high)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-gap:14px;gap:14px}.tpl-card .hasr-card-title{display:flex;align-items:center;gap:8px}.new-project .np-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px}.np-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px}@media (max-width:1080px){.ws-grid{grid-template-columns:1fr}.ws-rail{position:static}}@media (max-width:720px){.frow{grid-template-columns:1fr}.frow-side{justify-content:flex-start}.cards{grid-template-columns:1fr}}:root{color-scheme:light;accent-color:var(--hasr-accent-color)}::selection{background:var(--hasr-primary);color:var(--hasr-on-primary)}*{scrollbar-width:thin;scrollbar-color:var(--hasr-gray-300) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--hasr-gray-300);border-radius:999px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--hasr-primary);background-clip:content-box}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:none;box-shadow:var(--hasr-ring)}.flow-step,.hasr-btn,.hasr-card,.hasr-input,.hero-btn,.hero-btn-ghost,.icon-btn,.jump,.kpi,.provider-card,.rail-item,.rail-lang,.rail-project,.readiness,.row,.sec,.step,.tab,.topbar-burger,.topbar-icon{transition:transform .18s var(--hasr-ease),box-shadow .18s var(--hasr-ease),border-color .18s var(--hasr-ease),background .18s var(--hasr-ease),color .18s var(--hasr-ease),filter .18s var(--hasr-ease)}.app-topbar{background:color-mix(in srgb,#fff 72%,transparent);-webkit-backdrop-filter:blur(var(--hasr-blur)) saturate(160%);backdrop-filter:blur(var(--hasr-blur)) saturate(160%);border-bottom:1px solid rgba(0,0,0,.06)}.jump:focus-within{border-color:var(--hasr-primary);box-shadow:var(--hasr-ring)}.jump-panel,.why-body{background:var(--hasr-glass-panel);-webkit-backdrop-filter:blur(var(--hasr-blur));backdrop-filter:blur(var(--hasr-blur));box-shadow:0 16px 40px rgba(0,0,0,.16)}.app-rail:before{content:"";position:absolute;top:-90px;inset-inline-start:-50px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,210,10,.14),transparent 70%);pointer-events:none}.rail-item:hover{transform:translateX(0)}[dir=rtl] .rail-item:hover{transform:translateX(-3px)}[dir=ltr] .rail-item:hover{transform:translateX(3px)}[dir=rtl] .rail-item.is-active{box-shadow:inset -3px 0 0 var(--hasr-primary),0 4px 18px rgba(0,0,0,.35)}[dir=ltr] .rail-item.is-active{box-shadow:inset 3px 0 0 var(--hasr-primary),0 4px 18px rgba(0,0,0,.35)}.rail-item-badge{box-shadow:var(--hasr-glow-soft)}.rail-project{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hasr-btn-primary:hover:not(:disabled),.hero-btn:hover{transform:var(--hasr-lift);box-shadow:var(--hasr-glow);filter:brightness(.97)}.hasr-btn-primary:active:not(:disabled),.hero-btn:active{transform:translateY(0);box-shadow:0 2px 8px rgba(255,210,10,.28)}.hasr-btn-ghost:hover:not(:disabled),.hero-btn-ghost:hover{border-color:var(--hasr-primary);box-shadow:var(--hasr-glow-soft);transform:var(--hasr-lift)}.tab.is-active{box-shadow:var(--hasr-glow-soft)}.kpi:hover,.provider-card:hover,.tpl-card:hover{transform:var(--hasr-lift);box-shadow:0 12px 28px rgba(0,0,0,.1);border-color:var(--hasr-gray-300)}.kpi:hover .kpi-icon{background:rgba(255,210,10,.14);color:var(--hasr-primary-strong);box-shadow:var(--hasr-glow-soft)}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(hsla(0,0%,100%,.05) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.05) 1px,transparent 0);background-size:34px 34px;-webkit-mask-image:radial-gradient(ellipse 85% 95% at 72% 8%,#000 25%,transparent 78%);mask-image:radial-gradient(ellipse 85% 95% at 72% 8%,#000 25%,transparent 78%);pointer-events:none}.hero:after{background:radial-gradient(circle at 12% 115%,rgba(255,210,10,.1),transparent 55%),radial-gradient(circle,rgba(255,210,10,.14),transparent 68%)}.hero h2{text-wrap:balance}.hero p,.page-lead{text-wrap:pretty}.hero-eyebrow{box-shadow:inset 0 0 12px rgba(255,210,10,.08)}.bar>span{transition:width .5s var(--hasr-ease);position:relative;overflow:hidden}.bar>span:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,hsla(0,0%,100%,.4) 50%,transparent 70%);transform:translateX(-100%);animation:hasr-shimmer 2.6s var(--hasr-ease) infinite}@keyframes hasr-shimmer{to{transform:translateX(100%)}}.hasr-input:focus{outline:none;border-color:var(--hasr-primary);box-shadow:var(--hasr-ring)}.hasr-input{transition:border-color .18s var(--hasr-ease),box-shadow .18s var(--hasr-ease)}.hasr-table tr{transition:background .15s var(--hasr-ease)}.rail-scrim{background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.skeleton{position:relative;overflow:hidden;background:var(--hasr-gray-100);border-radius:4px;color:transparent}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,hsla(0,0%,100%,.65) 50%,transparent 70%);transform:translateX(-100%);animation:hasr-shimmer 1.8s var(--hasr-ease) infinite}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.app-frame:has(.page.ws)>.app-rail{display:none}.app-frame:has(.page.ws)>.app-main{-webkit-margin-start:var(--hasr-rail-w);margin-inline-start:var(--hasr-rail-w)}.app-frame:has(.page.ws) .app-content{max-width:min(90vw,100%)}.rail-ws{position:fixed;top:0;bottom:0;inset-inline-start:0;width:var(--hasr-rail-w);z-index:40;display:flex;flex-direction:column;gap:13px;padding:16px 13px 13px;background:var(--hasr-shell-bg);color:var(--hasr-shell-text)}.rail-ws:before{content:"";position:absolute;top:-90px;inset-inline-start:-50px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,210,10,.14),transparent 70%);pointer-events:none}.rail-ws:after{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:1px;background:linear-gradient(180deg,rgba(255,210,10,.55),hsla(0,0%,100%,.06) 38%,transparent)}.rail-projects{display:flex;flex-direction:column;gap:6px;max-height:30vh;overflow-y:auto;padding:2px}.rail-projects::-webkit-scrollbar{width:6px}.rail-projects::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.11);border-radius:99px}.rail-projects .rail-group-label{padding:0 4px 2px}.rail-projects .rail-project.is-active{border-color:rgba(255,210,10,.5);background:var(--hasr-shell-active)}.rail-select-wrap{position:relative;display:block}.rail-select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--hasr-shell-surface);color:#fff;border:1px solid hsla(0,0%,100%,.14);border-radius:8px;padding:9px 30px 9px 12px;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}[dir=ltr] .rail-select{padding:9px 12px 9px 30px}.rail-select:focus-visible{outline:2px solid var(--hasr-gold-400);outline-offset:1px}.rail-select option{background:#17181b;color:#fff}.rail-select-wrap .rail-icon,.rail-select-wrap svg{position:absolute;inset-inline-end:10px;top:50%;transform:translateY(-50%) rotate(-90deg);pointer-events:none;color:var(--hasr-gold-400)}[dir=ltr] .rail-select-wrap svg{transform:translateY(-50%) rotate(90deg)}.rail-select-hint{margin:2px 4px 0;font-size:.66rem;color:hsla(0,0%,100%,.42)}.sec-groups{display:flex;flex-direction:column;gap:2px}.sec-group{border:1px solid transparent;border-radius:8px}.sec-group.is-open{border-color:hsla(0,0%,100%,.09);background:hsla(0,0%,100%,.025)}.sec-group-row{display:flex;align-items:stretch;gap:2px}.sec-group-toggle{flex:0 0 22px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;color:hsla(0,0%,100%,.55);cursor:pointer;border-radius:6px}.sec-group-toggle:hover{color:var(--hasr-gold-400);background:hsla(0,0%,100%,.05)}.sec-group-toggle svg{transition:transform .15s ease;transform:rotate(-90deg)}[dir=ltr] .sec-group-toggle svg{transform:rotate(90deg)}.sec-group.is-open>.sec-group-row .sec-group-toggle svg{transform:rotate(0)}.sec-group-row .sec{flex:1 1;min-width:0}.sec-group.is-planned .sec-name{color:hsla(0,0%,100%,.5)}.sec-group.is-planned .sec-group-toggle{color:hsla(0,0%,100%,.3)}.sec-kids{list-style:none;margin:2px 0 4px;padding:0 6px 0 0;display:flex;flex-direction:column;gap:2px}[dir=ltr] .sec-kids{padding:0 0 0 6px}.sec-kids .sec-sub{padding:6px 8px;-webkit-border-start:2px solid transparent;border-inline-start:2px solid transparent}.sec-kids .sec-sub .sec-name{font-size:.76rem;font-weight:600}.sec-kids .sec-sub .sec-pct{font-size:.68rem}.sec.is-dim{opacity:.55}.rail-ws .rail-home{flex:0 0 auto}.rail-sections{flex:1 1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:3px;padding:4px 2px 8px}.rail-sections::-webkit-scrollbar{width:6px}.rail-sections::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.11);border-radius:99px}.rail-sections .rail-group-label{padding:0 2px 5px}.rail-sections .sec-list{display:flex;flex-direction:column;gap:3px;list-style:none;margin:0;padding:0}.rail-sections .sec{border-radius:6px}.rail-sections .sec:hover{background:var(--hasr-shell-surface)}.rail-sections .sec.is-active{background:var(--hasr-shell-active);border-color:transparent;border-inline-start-color:var(--hasr-primary)}.rail-sections .sec-name{color:#fff}.rail-sections .sec-count{color:hsla(0,0%,100%,.42)}.rail-sections .sec-pct{color:var(--hasr-gold-400)}.rail-sections .sec-bar{background:hsla(0,0%,100%,.14)}.rail-sections .sec-note{color:hsla(0,0%,100%,.4)}@media (max-width:1080px){.app-frame:has(.page.ws)>.app-main{-webkit-margin-start:0;margin-inline-start:0}.rail-ws{position:static;width:auto;height:auto}}.rail-sections .sec-head{justify-content:flex-start}.rail-sections .sec-count{-webkit-margin-start:auto;margin-inline-start:auto}.rail-sections .sec-pct{margin:0;font-size:.72rem;opacity:.95}.grid-table tr.is-confirmed td{background:color-mix(in srgb,var(--hasr-conf-high-bg) 38%,#fff)}.tbl-summary{display:inline-flex;flex-wrap:wrap;gap:6px}.tbl-sum-chip{display:inline-flex;align-items:baseline;gap:4px;font-size:.72rem;font-weight:700;color:var(--hasr-gray-600);background:var(--hasr-gray-100);border:1px solid var(--hasr-border);border-radius:4px;padding:2px 8px;white-space:nowrap}.tbl-sum-chip b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.78rem;color:var(--hasr-gray-900)}.tbl-sum-chip.is-key{color:var(--hasr-gray-900);background:var(--hasr-gold-300);border-color:var(--hasr-gold-400);box-shadow:var(--hasr-glow-soft)}.ref-card{-webkit-border-start:4px solid var(--hasr-gold-400);border-inline-start:4px solid var(--hasr-gold-400)}.ref-strip{display:flex;flex-wrap:wrap;gap:10px}.ref-cell{display:flex;flex-direction:column;gap:2px;min-width:118px;padding:8px 14px;border:1px solid var(--hasr-border);border-radius:6px;background:var(--hasr-gray-100)}.ref-cell b{font-size:1.35rem;font-weight:800;line-height:1.15;color:var(--hasr-gray-900);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ref-cell span{font-size:.78rem;font-weight:700;color:var(--hasr-gray-600)}.ref-cell i{font-size:.68rem;font-style:normal;color:var(--hasr-gray-600);opacity:.8}.ref-cell.is-key{background:var(--hasr-gold-300);border-color:var(--hasr-gold-400);box-shadow:var(--hasr-glow-soft)}.ref-cell.is-value{background:color-mix(in srgb,var(--hasr-gold-300) 55%,#fff);border-color:var(--hasr-gold-400)}.ref-cell.is-dim{opacity:.65;border-style:dashed}.ref-source{font-size:.72rem}.ref-check,.ref-source{margin:10px 0 0;color:var(--hasr-gray-600)}.ref-check{font-size:.76rem;font-weight:600}.ref-check b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--hasr-gray-900)}.ref-check.is-ok{color:var(--hasr-ok,#2f7d4f)}.ref-check.is-warn{color:var(--hasr-warn,#a05a00)}.dash-note{margin:6px 0 0;font-size:.74rem;color:var(--hasr-gray-600)}.dash-note b{color:var(--hasr-gray-900)}.auth-box{max-width:520px;margin:44px auto 0;padding:0 18px}.auth-card{padding:30px 28px 26px}.auth-title{margin:0 0 6px;font-size:1.26rem;color:var(--hasr-gray-900)}.auth-sub{margin:0 0 20px;color:var(--hasr-gray-600);font-size:.86rem}.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:13px 16px;border:1px solid var(--hasr-gray-300);border-radius:var(--hasr-radius-sm);background:#fff;color:var(--hasr-gray-900);font-size:.95rem;font-weight:600;text-decoration:none;cursor:pointer;transition:box-shadow .16s var(--hasr-ease),border-color .16s var(--hasr-ease),transform .16s var(--hasr-ease)}.google-btn:hover{border-color:var(--hasr-gray-400);box-shadow:var(--hasr-shadow-lg);transform:var(--hasr-lift)}.google-btn.is-off{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.auth-points{margin:22px 0 0;padding:0;list-style:none;display:grid;grid-gap:9px;gap:9px}.auth-points li{position:relative;-webkit-padding-start:22px;padding-inline-start:22px;color:var(--hasr-gray-600);font-size:.8rem;line-height:1.65}.auth-points li:before{content:"✓";position:absolute;inset-inline-start:0;color:var(--hasr-gold-600);font-weight:700}.auth-warn{display:grid;grid-gap:4px;gap:4px;margin:0 0 16px;padding:11px 13px;border:1px solid var(--hasr-conf-mid-bg);-webkit-border-start:3px solid var(--hasr-conf-mid);border-inline-start:3px solid var(--hasr-conf-mid);border-radius:var(--hasr-radius-sm);background:var(--hasr-conf-mid-bg);color:var(--hasr-gray-800);font-size:.78rem;line-height:1.65}.auth-back{text-align:center;margin-top:16px}img.rail-user-avatar{object-fit:cover;border-radius:4px}.rail-exit{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:8px 10px;border:1px solid var(--hasr-shell-border);border-radius:var(--hasr-radius-sm);background:transparent;color:var(--hasr-shell-text);font:inherit;font-size:.74rem;cursor:pointer;transition:color .14s ease,border-color .14s ease}.rail-exit:hover{color:#fff;border-color:rgba(255,210,10,.5)}.rail-exit:disabled{opacity:.5;cursor:progress}:root{--hasr-gold-300:#ffe985;--hasr-gold-400:#ffe054;--hasr-gold-500:#ffd20a;--hasr-gold-600:#cca700;--hasr-copper-500:#b29200;--hasr-copper-700:#6d5c12;--hasr-primary:var(--hasr-gold-500);--hasr-primary-strong:var(--hasr-gold-600);--hasr-accent:var(--hasr-gold-400);--hasr-accent-bright:#ffe054;--hasr-danger:#d6001c;--hasr-danger-deep:#8f0013;--hasr-on-primary:#171717;--hasr-gradient:#ffd20a;--hasr-gradient-deep:#cca700;--hasr-gray-50:#f7f7f7;--hasr-gray-100:#f1f1f1;--hasr-gray-200:#e5e5e5;--hasr-gray-300:#d4d4d4;--hasr-gray-400:#a3a3a3;--hasr-gray-500:#737373;--hasr-gray-600:#525252;--hasr-gray-700:#404040;--hasr-gray-800:#262626;--hasr-gray-900:#171717;--hasr-ink-900:#171717;--hasr-ink-950:#000;--hasr-bg:#f7f7f7;--hasr-surface:#fff;--hasr-surface-sunken:#f7f7f7;--hasr-border:#e5e5e5;--hasr-border-soft:#ebebeb;--hasr-text:#171717;--hasr-text-muted:#737373;--hasr-shell-bg:#000;--hasr-shell-surface:hsla(0,0%,100%,.07);--hasr-shell-surface-hover:hsla(0,0%,100%,.12);--hasr-shell-border:hsla(0,0%,100%,.16);--hasr-shell-text:#a3a3a3;--hasr-shell-text-strong:#fff;--hasr-shell-active:rgba(255,210,10,.12);--hasr-shell-active-text:var(--hasr-gold-500);--hasr-conf-high:#15803d;--hasr-conf-mid:#b45309;--hasr-conf-low:#d6001c;--hasr-conf-high-bg:#dcfce7;--hasr-conf-mid-bg:#fef3c7;--hasr-conf-low-bg:#ffe4e4;--hasr-prov-written:#1d4ed8;--hasr-prov-written-bg:#dbeafe;--hasr-prov-inferred:#7c3aed;--hasr-prov-inferred-bg:#ede9fe;--hasr-prov-estimated:#b45309;--hasr-prov-estimated-bg:#fef3c7;--hasr-prov-user:#0f766e;--hasr-prov-user-bg:#ccfbf1;--hasr-radius-sm:3px;--hasr-radius:6px;--hasr-radius-lg:8px;--hasr-radius-pill:999px;--hasr-shadow:0 1px 2px rgba(0,0,0,.06);--hasr-shadow-lg:0 8px 24px rgba(0,0,0,.14);--hasr-shadow-gold:none;--hasr-rail-w:272px;--hasr-topbar-h:68px;--hasr-blur:16px;--hasr-glass-light:hsla(0,0%,100%,.78);--hasr-glass-panel:hsla(0,0%,100%,.9);--hasr-glass-dark:hsla(0,0%,9%,.82);--hasr-glow:0 6px 22px rgba(255,210,10,.35);--hasr-glow-soft:0 2px 12px rgba(255,210,10,.18);--hasr-ring:0 0 0 3px rgba(255,210,10,.3);--hasr-ease:cubic-bezier(0.22,0.61,0.36,1);--hasr-lift:translateY(-2px);--hasr-accent-color:#ffd20a}