:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f4f6fb;--surface:#fff;--surface-2:#eef1f8;--surface-3:#e3e8f4;--text:#12162b;--muted:#566080;--border:#dde2ef;--border-strong:#c3cade;--primary:#3454f0;--primary-hover:#2842cc;--primary-soft:#e6ebff;--on-primary:#fff;--accent:#ffbf1f;--success:#12793a;--success-soft:#dff4e7;--warning:#915205;--warning-soft:#fff0d0;--danger:#c02828;--danger-soft:#fde4e4;--info:#1a6aae;--info-soft:#e0eefd;--viewer-bg:#e6e9f3;--canvas-white:#fff;--overlay:#0c102480;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #12162b0f, 0 6px 20px #12162b0d;--shadow-lg:0 10px 40px #12162b2e;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, "Cascadia Mono", Menlo, Consolas, monospace;--maxw:1180px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0d1020;--surface:#151a2f;--surface-2:#1c2240;--surface-3:#262d52;--text:#e8ebf8;--muted:#9aa3c8;--border:#283054;--border-strong:#3a4472;--primary:#7389ff;--primary-hover:#8d9eff;--primary-soft:#1e2653;--on-primary:#0a0e2a;--accent:#ffc83d;--success:#4cc27a;--success-soft:#12301f;--warning:#f0b04a;--warning-soft:#36280d;--danger:#ff7b7b;--danger-soft:#3a1717;--info:#6cb4f5;--info-soft:#112a42;--viewer-bg:#0a0c18;--overlay:#0000009e;--shadow:0 1px 2px #0006, 0 6px 20px #0000004d;--shadow-lg:0 10px 40px #0009}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}h1,h2,h3{margin:0;line-height:1.25}h1{letter-spacing:-.01em;font-size:1.65rem}h2{font-size:1.15rem}h3{font-size:1rem}p{margin:0}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}code,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}img{max-width:100%}:focus-visible{outline:2px solid var(--primary);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}.muted{color:var(--muted)}.small{font-size:.85rem}.strong{font-weight:600}.center-text{text-align:center}.ellipsis{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.ok-text{color:var(--success)}.warn-text{color:var(--warning)}.danger-text{color:var(--danger)}.stack{flex-direction:column;gap:14px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.plain-list{margin:6px 0 0;padding-left:1.1rem}.plain-list li+li{margin-top:2px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:20;background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.topbar-inner{max-width:var(--maxw);align-items:center;gap:18px;margin:0 auto;padding:10px 20px;display:flex}.brand-link{color:inherit;text-decoration:none!important}.brand{align-items:center;gap:10px;display:inline-flex}.brand-name{letter-spacing:-.02em;font-size:1.2rem;font-weight:800}.logo-mark{flex:none}.nav{flex:1;gap:4px;min-width:0;display:flex}.nav-link{color:var(--muted);white-space:nowrap;border-radius:999px;padding:7px 12px;font-weight:600}.nav-link:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav-link.active{background:var(--primary-soft);color:var(--primary)}.topbar-user{align-items:center;gap:6px;margin-left:auto;display:flex}.user-chip{color:var(--text);border-radius:999px;align-items:center;gap:8px;padding:4px 8px;display:inline-flex}.user-chip:hover{background:var(--surface-2);text-decoration:none}.user-name{text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-weight:600;overflow:hidden}.avatar{background:var(--primary);width:30px;height:30px;color:var(--on-primary);border-radius:50%;flex:none;place-items:center;font-size:.9rem;font-weight:700;display:inline-grid}.avatar-lg{width:56px;height:56px;font-size:1.4rem}.main{width:100%;max-width:var(--maxw);flex:1;margin:0 auto;padding:24px 20px 56px}.footer{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:center;gap:4px 16px;padding:16px 20px;font-size:.85rem;display:flex}.page{flex-direction:column;gap:20px;display:flex}.narrow-page{width:100%;max-width:760px;margin:0 auto}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-head p{max-width:62ch;margin-top:4px}.page-head-wrap{flex-wrap:wrap}.page-loading{place-items:center;padding:56px 16px;display:grid}.center-screen{justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.breadcrumb{margin-bottom:-8px;font-size:.9rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card.narrow{width:100%;max-width:420px}.section{flex-direction:column;gap:14px;display:flex}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.table-card{padding:0;overflow:hidden}.btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:38px;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-weight:600;text-decoration:none;transition:background .12s,border-color .12s,transform 50ms;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2);text-decoration:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(1.08);background:var(--danger)}.btn-danger-outline{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--border))}.btn-danger-outline:hover:not(:disabled){background:var(--danger-soft)}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000}.btn-sm{min-height:30px;padding:4px 10px;font-size:.85rem}.btn-lg{width:100%;min-height:48px;padding:12px 20px;font-size:1rem}.link-btn{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link-like{color:var(--primary);text-decoration:underline}.toolbar{flex-wrap:wrap;gap:8px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field-label{font-size:.9rem;font-weight:600}.field-hint{color:var(--muted);font-size:.82rem}.input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:42px;color:var(--text);font:inherit;padding:9px 12px}.input::placeholder{color:var(--muted);opacity:.8}.input:focus-visible{outline:2px solid var(--primary);outline-offset:0;border-color:var(--primary)}.input-sm{min-height:32px;padding:4px 8px;font-size:.9rem}.input-num{text-align:right;font-variant-numeric:tabular-nums;max-width:120px}.input-invalid{border-color:var(--danger);background:var(--danger-soft)}.code-input{font-family:var(--mono);letter-spacing:.35em;text-align:center;max-width:260px;font-size:1.5rem}.search{max-width:280px}.search-wide{flex:280px}.filters{flex-wrap:wrap;gap:10px;display:flex}.filters select.input{flex:0 320px;width:auto}.form-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;display:grid}details.optional{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);padding:10px 12px}details.optional summary{cursor:pointer;color:var(--primary);font-size:.9rem}details.optional[open] summary{margin-bottom:10px}.alert{border-radius:var(--radius-sm);border:1px solid #0000;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;font-size:.93rem;display:flex}.alert-error{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 35%, transparent);color:var(--danger)}.alert-warn{background:var(--warning-soft);border-color:color-mix(in srgb, var(--warning) 35%, transparent);color:var(--warning)}.alert-info{background:var(--info-soft);border-color:color-mix(in srgb, var(--info) 35%, transparent);color:var(--info)}.alert strong{display:block}.badge{white-space:nowrap;background:var(--surface-2);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:2px 10px 2px 8px;font-size:.8rem;font-weight:700;display:inline-flex}.badge-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.badge-processing{background:var(--primary-soft);color:var(--primary)}.badge-processing .badge-dot{animation:1.2s ease-in-out infinite pulse}.badge-completed{background:var(--success-soft);color:var(--success)}.badge-failed{background:var(--danger-soft);color:var(--danger)}.chip{background:var(--surface-2);color:var(--text);white-space:nowrap;border-radius:999px;padding:1px 9px;font-size:.8rem;font-weight:600;display:inline-block}.chip-tag{font-family:var(--mono);background:var(--primary-soft);color:var(--primary)}.chip-warn,.chip-fallback{background:var(--warning-soft);color:var(--warning)}.chip-ok,.chip-neca{background:var(--success-soft);color:var(--success)}.chip-category{background:var(--info-soft);color:var(--info)}.conf{text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;min-width:52px;padding:1px 8px;font-size:.82rem;font-weight:700;display:inline-block}.conf-good{background:var(--success-soft);color:var(--success)}.conf-mid{background:var(--info-soft);color:var(--info)}.conf-low{background:var(--warning-soft);color:var(--warning)}.live-pill{background:var(--primary-soft);color:var(--primary);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:.88rem;font-weight:600;display:inline-flex}.pulse-dot{background:currentColor;border-radius:50%;width:9px;height:9px;animation:1.2s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}.spinner-wrap{color:var(--muted);align-items:center;gap:10px;display:inline-flex}.spinner{border:2.5px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.progress{background:var(--surface-3);border-radius:999px;width:100%;height:8px;position:relative;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--primary);height:100%;transition:width .4s}.progress-success .progress-fill{background:var(--success)}.progress-danger .progress-fill{background:var(--danger)}.progress-indeterminate .progress-fill{width:40%;animation:1.4s ease-in-out infinite indeterminate;position:absolute}@keyframes indeterminate{0%{left:-40%}to{left:100%}}.progress-cell{flex-direction:column;gap:5px;min-width:120px;max-width:170px;display:flex}.progress-text{text-overflow:ellipsis;white-space:nowrap;max-width:170px;font-size:.8rem;overflow:hidden}.table-scroll{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.92rem}.table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px;font-size:.78rem;font-weight:700}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:color-mix(in srgb, var(--surface-2) 55%, transparent)}.table tfoot td{border-top:2px solid var(--border-strong);background:var(--surface-2);border-bottom:0}.table-dense td{padding:8px 12px}.table th.num,.table td.num{text-align:right;font-variant-numeric:tabular-nums}.table .actions-col{text-align:right;white-space:nowrap;width:1%;min-width:160px}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:160px;display:inline-flex}.table .col-item{min-width:220px}.row-changed{background:color-mix(in srgb, var(--primary-soft) 70%, transparent)}.cell-name{max-width:200px}.doc-link{text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface);text-align:center;cursor:pointer;padding:28px 16px;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.dragging{border-color:var(--primary);background:var(--primary-soft)}.dropzone-icon{color:var(--primary)}.dropzone-title{margin-top:6px;font-size:1.05rem;font-weight:700}.dropzone-text{color:var(--muted);font-size:.92rem}.upload-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.upload-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.upload-error{border-color:color-mix(in srgb, var(--danger) 45%, var(--border))}.upload-head{align-items:center;gap:10px;display:flex}.upload-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.upload-actions{gap:6px;display:inline-flex}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:40px 20px;display:flex}.empty-icon{color:var(--muted);opacity:.8}.empty-title{color:var(--text)}.empty-text{max-width:52ch}.empty-inline{color:var(--muted);padding:8px 0}.toasts{z-index:100;flex-direction:column;gap:8px;max-width:min(420px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);border-left-width:4px;align-items:flex-start;gap:10px;padding:12px 14px;animation:.2s ease-out toast-in;display:flex}.toast-error{border-left-color:var(--danger)}.toast-success{border-left-color:var(--success)}.toast-info{border-left-color:var(--info)}.toast-msg{word-break:break-word;flex:1}.toast-close{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:1.3rem;line-height:1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.dialog{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg);width:min(440px,100vw - 32px);padding:0}.dialog::backdrop{background:var(--overlay)}.dialog-body{flex-direction:column;gap:12px;padding:22px;display:flex}.dialog-text{color:var(--muted)}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.auth-wrap{flex-direction:column;gap:20px;width:100%;max-width:440px;display:flex}.auth-brand{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.auth-brand .brand-name{font-size:1.9rem}.tagline{margin-top:4px;font-size:1.05rem;font-weight:700}.tagline-sub{color:var(--muted);max-width:36ch;font-size:.92rem}.auth-card{flex-direction:column;gap:14px;padding:24px;display:flex}.auth-title{font-size:1.4rem}.auth-sub{margin-top:-8px}.auth-footer{text-align:center;color:var(--muted)}.tabs{background:var(--surface-2);border-radius:10px;gap:4px;padding:4px;display:flex}.tab{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;padding:8px 6px;font-size:.88rem;font-weight:600}.tab.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.tabpanel{padding-top:4px}.choice-list{flex-direction:column;gap:10px;display:flex}.choice{text-align:left;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;flex-direction:column;gap:2px;padding:14px 16px;display:flex}.choice:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft)}.choice:disabled{opacity:.55;cursor:not-allowed}.choice-title{font-weight:700}.choice-text{color:var(--muted);font-size:.88rem}.stepper{color:var(--muted);gap:8px;margin:0;padding:0;font-size:.82rem;font-weight:600;list-style:none;display:flex}.stepper li{border-top:3px solid var(--surface-3);flex:1;padding-top:6px}.stepper li.current{border-top-color:var(--primary);color:var(--text)}.stepper li.done{border-top-color:var(--success)}.steps{flex-direction:column;gap:14px;margin:0;padding-left:1.2rem;display:flex}.qr-box{background:var(--canvas-white);border-radius:var(--radius-sm);border:1px solid var(--border);margin:10px auto 4px;padding:10px;line-height:0;display:inline-block;position:relative}.qr-box img{image-rendering:pixelated;display:block}.steps .qr-box{width:fit-content;display:block}.qr-box-lg{min-width:244px;min-height:244px;margin:0 auto}.qr-dim{opacity:.18}.qr-overlay,.qr-placeholder{color:#12162b;place-items:center;font-weight:700;line-height:1.4;display:grid;position:absolute;inset:0}.qr-placeholder{color:#566080;font-weight:500}.qr-placeholder .spinner-wrap{color:#566080}.pairing{flex-direction:column;align-items:center;gap:2px;display:flex}.pairing-code{font-family:var(--mono);letter-spacing:.3em;padding-left:.3em;font-size:2rem;font-weight:800}.secret-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.secret{background:var(--surface-2);letter-spacing:.06em;word-break:break-all;border-radius:6px;padding:6px 10px;font-size:1rem}.secret-wrap{letter-spacing:0;text-align:left;flex:200px;font-size:.78rem}.only-touch{margin-top:8px;display:none}@media (pointer:coarse){.only-touch{display:inline-block}}.facts{background:var(--surface-2);border-radius:var(--radius-sm);flex-direction:column;gap:10px;margin:0;padding:14px;display:flex}.facts>div{justify-content:space-between;gap:16px;display:flex}.facts dt{color:var(--muted);flex:none}.facts dd{text-align:right;min-width:0;margin:0;font-weight:600}.facts .ua{word-break:break-all;font-weight:400}.ua-details summary{cursor:pointer;text-align:right;font-weight:400}.big-icon{border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto;font-size:2.2rem;font-weight:800;display:grid}.big-icon.ok{background:var(--success-soft);color:var(--success)}.big-icon.no{background:var(--danger-soft);color:var(--danger)}.doc-title{flex:320px;min-width:0}.doc-title h1{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meta-line{flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:6px;font-size:.9rem;display:flex}.live-card{border-color:color-mix(in srgb, var(--primary) 40%, var(--border));flex-direction:column;gap:12px;display:flex}.live-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.live-percent{color:var(--primary);font-size:2rem;font-weight:800;line-height:1}.live-card .progress{height:12px}.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.76rem;font-weight:700}.stat-value{letter-spacing:-.01em;overflow-wrap:anywhere;margin-top:2px;font-size:1.6rem;font-weight:800}.stat-sub{font-size:.82rem}.pager{align-items:center;gap:6px;display:inline-flex}.pager-select select{min-width:150px}.match{justify-content:flex-end;align-items:center;gap:8px;display:flex}.match .progress{width:70px}.totals-wrap{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.totals{flex:340px;max-width:460px;margin:0 0 0 auto}.totals>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding:7px 0;display:flex}.totals dt{color:var(--text)}.totals dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.totals-grand{border-top:2px solid var(--border-strong);font-size:1.2rem;font-weight:800;border-bottom:0!important;padding-top:12px!important}.totals-grand dd{color:var(--primary);font-weight:800}.assumptions{color:var(--muted);flex:280px;font-size:.9rem}.assumptions h3{color:var(--text)}.viewer{flex-direction:column;gap:8px;display:flex}.viewer-toolbar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.viewer-zoom{font-variant-numeric:tabular-nums;min-width:44px}.viewer-hint{margin-left:auto}.viewer-box{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--viewer-bg);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;height:min(76vh,920px);min-height:340px;position:relative;overflow:hidden}.viewer-box.grabbing{cursor:grabbing}.viewer-img{transform-origin:0 0;will-change:transform;-webkit-user-drag:none;background:#fff;max-width:none;position:absolute;top:0;left:0}.viewer-overlay{color:var(--muted);place-items:center;padding:16px;display:grid;position:absolute;inset:0}.pricing-page{padding-bottom:70px}.savebar{z-index:30;background:var(--surface);border-top:1px solid var(--border-strong);visibility:hidden;transition:transform .2s;position:fixed;bottom:0;left:0;right:0;transform:translateY(110%);box-shadow:0 -6px 24px #0000001f}.savebar.visible{visibility:visible;transform:none}.savebar-inner{max-width:var(--maxw);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:12px 20px;display:flex}.kb-header{flex-wrap:wrap;gap:16px 40px;padding:16px 20px;display:flex}.kb-fact{flex-direction:column;gap:2px;min-width:0;display:flex}.sym-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.sym-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);gap:12px;padding:12px;display:flex}.sym-img{background:var(--canvas-white);border:1px solid var(--border);border-radius:var(--radius-sm);flex:none;place-items:center;width:96px;height:96px;display:grid;overflow:hidden}.sym-img img{object-fit:contain;max-width:100%;max-height:100%}.sym-body{flex-direction:column;gap:4px;min-width:0;display:flex}.sym-id{color:var(--primary);font-weight:800}.sym-desc{font-size:.9rem;line-height:1.35}.sym-meta{flex-wrap:wrap;gap:4px;display:flex}.sym-group{margin-top:auto}.profile{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.profile-text{flex:1;min-width:0}.profile-name{font-size:1.3rem}.method-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.method-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);align-items:center;gap:12px;padding:10px 12px;display:flex}.method-icon{background:var(--primary-soft);width:40px;height:40px;color:var(--primary);border-radius:10px;flex:none;place-items:center;display:grid}.method-text{flex:1;min-width:0}@media (width<=860px){.topbar-inner{flex-wrap:wrap;row-gap:6px;padding:8px 14px}.nav{scrollbar-width:none;flex:1 0 100%;order:3;padding-bottom:2px;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.user-name{display:none}.main{padding:18px 14px 48px}.viewer-hint{display:none}.totals{max-width:none}.stackable,.stackable tbody,.stackable tfoot,.stackable tr,.stackable td{width:100%;display:block}.stackable thead{display:none}.stackable tbody tr{border-bottom:1px solid var(--border);padding:10px 14px}.stackable tbody tr:last-child{border-bottom:0}.stackable tfoot tr{background:var(--surface-2);border-top:2px solid var(--border-strong);padding:10px 14px}.stackable td{text-align:right;justify-content:space-between;align-items:center;gap:14px;max-width:none;display:flex;background:0 0!important;border:0!important;width:100%!important;padding:5px 0!important}.stackable td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;text-align:left;flex:none;font-size:.78rem;font-weight:700}.stackable td.cell-name,.stackable td.cell-title{text-align:left;display:block;padding-bottom:8px!important}.stackable td.cell-title:before,.stackable td.cell-name:before,.stackable td.actions-col:before,.stackable td:not([data-label]):before{display:none}.stackable td.actions-col{justify-content:flex-start}.stackable .hide-stacked{display:none}.table .col-item{min-width:0}.progress-cell{flex:1;min-width:0;max-width:62%}.progress-text{max-width:none}.input-num{max-width:110px}.table .actions-col{width:100%}.row-actions{justify-content:flex-start;max-width:none}.match .progress{width:56px}}@media (width<=720px){.page-head{flex-flow:column;align-items:stretch}.doc-title{flex:none}.toolbar .btn{flex:auto}.toasts{max-width:none;bottom:12px;left:12px;right:12px}.sym-grid{grid-template-columns:1fr}}@media (width<=480px){.card{padding:16px}.auth-card{padding:18px}.tab{font-size:.8rem}h1{font-size:1.4rem}}.review-cta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;display:flex}.review-cta.prominent{border-color:var(--primary);background:linear-gradient(135deg, var(--primary-soft), var(--surface) 70%)}.review-cta-text{flex:320px;min-width:0}.review-cta-text p{margin-top:2px}.review-cta-actions{flex-wrap:wrap;gap:8px;display:flex}.reviewed-mark{background:var(--success-soft);color:var(--success);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;margin-top:2px;padding:0 8px;font-size:.74rem;font-weight:700;display:inline-flex}.reviewed-mark.in-progress{background:var(--primary-soft);color:var(--primary)}.count-delta{font-variant-numeric:tabular-nums;margin-left:6px;font-size:.8rem;font-weight:700;display:inline-block}.count-delta.plus{color:var(--success)}.count-delta.minus{color:var(--danger)}.callout{border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--info) 35%, transparent);background:var(--info-soft);color:var(--text);flex-direction:column;gap:4px;padding:10px 14px;font-size:.92rem;display:flex}.chip-rule{background:var(--primary-soft);color:var(--primary)}.chip-real{background:var(--success-soft);color:var(--success);font-size:.72rem}.chip-src{background:var(--surface-3);color:var(--muted);font-size:.72rem}.chip-allowance{background:var(--surface-3);color:var(--muted)}.chip-mode-unit{background:var(--primary-soft);color:var(--primary);font-size:.74rem}.chip-mode-cost{background:var(--surface-3);color:var(--muted);font-size:.74rem}button.chip-btn{font:inherit;cursor:pointer;white-space:normal;text-align:left;border:0;border-radius:12px;max-width:100%;padding:2px 9px;font-size:.8rem;font-weight:600;line-height:1.35}.priced-by{max-width:190px}button.chip-btn:hover{filter:brightness(.96)}.chip-caret{margin-left:4px;font-size:.7rem}.priced-by .src-note{overflow-wrap:anywhere;max-width:220px;margin-top:4px}.cell-mode{flex-wrap:wrap;align-items:center;gap:2px 8px;display:flex}.cell-stack{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.src-line{margin-top:2px}.src-text{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.th-hint{letter-spacing:0;text-transform:none;white-space:normal;max-width:190px;margin-top:1px;margin-left:auto;font-size:.68rem;font-weight:500;display:block}.input-inactive{opacity:.55}.field-error{color:var(--danger);margin-top:3px;font-size:.78rem}.section-head .search{flex:0 260px;width:260px}.check{cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.totals>div.totals-sub{color:var(--muted);padding:3px 0 3px 16px;font-size:.88rem}.totals .totals-sub dt{color:var(--muted)}.totals .totals-sub dd{font-weight:500}.rules-table .col-prio{white-space:nowrap;width:1%}.rules-table .col-rname{min-width:150px}.rules-table .col-kw{min-width:190px}.rules-table .col-cat{min-width:115px}.rules-table .col-src{min-width:120px}.rules-table td,.rules-table th{padding-left:6px;padding-right:6px}.rules-table td,.fixed-table td{vertical-align:top}.rules-table td.num .input-num,.fixed-table td.num .input-num{max-width:110px}.rules-table .actions-col,.fixed-table .actions-col{min-width:0}.prio{align-items:center;gap:2px;display:inline-flex}.prio-n{text-align:center;min-width:1.6em;font-weight:700}.btn-icon{min-width:30px;padding:4px 6px}.kw-box{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);cursor:text;flex-wrap:wrap;align-items:center;gap:4px;min-height:32px;padding:3px 6px;display:flex}.kw-box:focus-within{outline:2px solid var(--primary);border-color:var(--primary)}.kw-chip{background:var(--primary-soft);color:var(--primary);font-family:var(--mono);border-radius:999px;align-items:center;gap:2px;padding:0 2px 0 8px;font-size:.78rem;font-weight:600;display:inline-flex}.kw-x{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:2px 5px;font-size:1rem;line-height:1}.kw-x:hover{background:color-mix(in srgb, var(--primary) 18%, transparent)}.kw-input{min-width:90px;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:90px;padding:2px;font-size:.88rem}.kw-input::placeholder{color:var(--muted);opacity:.8}.multi{position:relative}.multi-summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:6px;list-style:none;display:flex}.multi-summary::-webkit-details-marker{display:none}.multi-summary:after{content:"▾";color:var(--muted);font-size:.7rem}.multi[open] .multi-summary:after{content:"▴"}.multi-pop{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);gap:2px;margin:4px 0 0;padding:6px 8px;display:grid}.multi-opt{cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:.86rem;display:flex}@media (width<=860px){.rules-table td.col-kw,.rules-table td.col-rname,.rules-table td.col-cat,.rules-table td.col-src,.fixed-table td.col-fname{text-align:left;min-width:0;display:block}.rules-table td.col-kw:before,.rules-table td.col-rname:before,.rules-table td.col-cat:before,.rules-table td.col-src:before,.fixed-table td.col-fname:before{margin-bottom:3px;display:block}.stackable td>*{overflow-wrap:anywhere;min-width:0}.stackable td.col-item{text-align:left;display:block;padding-bottom:8px!important}.stackable td.col-item:before{display:none}.stackable td .cell-stack{align-items:flex-end}.stackable td .cell-mode{justify-content:flex-end}.th-hint{display:none}.priced-by .src-note{max-width:none}.rules-table .col-prio{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.disc{--d:var(--muted);border:1px solid color-mix(in srgb, var(--d) 22%, transparent);background:color-mix(in srgb, var(--d) 12%, var(--surface));color:color-mix(in srgb, var(--d) 78%, var(--text));white-space:nowrap;border-radius:999px;padding:1px 9px;font-size:.78rem;font-weight:600;display:inline-block}.disc-electrical{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:700}.disc-fire_alarm{--d:#c2410c}.disc-telecom{--d:#0e7490}.disc-plumbing{--d:#2563eb}.disc-mechanical{--d:#0f766e}.disc-fire_protection{--d:#b91c1c}.disc-mep_combined{--d:#6d28d9}.disc-architectural{--d:#64748b}.disc-interiors{--d:#a16207}.disc-structural{--d:#78716c}.disc-civil{--d:#4d7c0f}.disc-landscape{--d:#15803d}.disc-not_a_drawing{--d:var(--danger)}.bp-badge{white-space:nowrap;cursor:help;border-radius:999px;padding:1px 9px;font-size:.78rem;font-weight:700;display:inline-block}.bp-badge.bp-electrical{background:var(--primary-soft);color:var(--primary)}.bp-badge.bp-mixed{background:var(--info-soft);color:var(--info)}.bp-badge.bp-none{background:var(--warning-soft);color:var(--warning)}.bp-badge.bp-photo{background:var(--surface-2);color:var(--muted)}.doc-badges{flex-wrap:wrap;gap:6px;margin-top:5px;display:flex}.skipped-reason{text-overflow:ellipsis;white-space:nowrap;max-width:170px;margin-left:auto;overflow:hidden}.stat-wide{grid-column:span 2}@media (width<=560px){.stat-wide{grid-column:auto}}.bp-value.bp-electrical{color:var(--primary)}.bp-value.bp-mixed{color:var(--info)}.bp-value.bp-non_electrical{color:var(--warning)}.bp-value.bp-not_a_drawing,.bp-value.bp-unknown{color:var(--muted)}.stats-soft .stat{box-shadow:none;background:var(--surface-2)}.notice-big{padding:16px 18px;font-size:1rem}.notice-big>div>div+div{margin-top:4px}.section-soft{background:var(--surface-2);box-shadow:none}.skipped-note{align-items:center}.opt-skipped{color:var(--muted)}.seg{border:1px solid var(--border-strong);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.seg-btn{border:0;border-right:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;padding:5px 12px;font-size:.85rem;font-weight:600}.seg-btn:last-child{border-right:0}.seg-btn:hover:not(.on){background:var(--surface-2)}.seg-btn.on{background:var(--primary);color:var(--on-primary)}.seg-n{opacity:.8;font-variant-numeric:tabular-nums;margin-left:4px;font-size:.76rem}.sheets-intro{max-width:64ch;margin:2px 0 0}.sheets-custom{margin-left:auto}.sheets-toolbar{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.sheets-toolbar .search{width:210px}.sheets-select-links{gap:12px;display:flex}.sheets-select-links .link-btn:disabled{color:var(--muted);cursor:default;text-decoration:none}.sheets-analyse{align-items:center;gap:10px;margin-left:auto;display:flex}.sheets-scroll{border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto}.sheets-grid{scrollbar-gutter:stable;min-width:880px;position:relative;overflow-y:auto}.sheets-row{grid-template-columns:34px 48px 92px minmax(140px,1fr) 126px 104px minmax(200px,1.4fr) 56px;align-items:center;gap:0 10px;padding:0 12px;font-size:.9rem;display:grid}.sheets-head{z-index:2;background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.74rem;font-weight:700;position:sticky;top:0}.sheets-body{position:relative}.sheets-item{border-bottom:1px solid var(--border);cursor:pointer;position:absolute;left:0;right:0;overflow:hidden}.sheets-item:hover{background:color-mix(in srgb, var(--surface-2) 60%, transparent)}.sheets-item.analysed{box-shadow:inset 3px 0 0 var(--primary)}.sheets-item.skipped{color:var(--muted)}.sheets-item.selected{background:var(--primary-soft)}.sheets-item.selected.skipped{color:var(--text)}.clamp2{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.sheet-status.ok{color:var(--success);font-weight:700}.sheet-status.skip{color:var(--muted)}.sheets-view{text-align:right}.sheets-empty{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.dropzone-hint{color:var(--primary);margin-top:8px;font-size:.88rem;font-weight:600}section[id],h2[id]{scroll-margin-top:76px}@media (width<=860px){section[id],h2[id]{scroll-margin-top:116px}}.pf-intro{max-width:72ch;margin-top:2px}.pf-head-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pf-status{min-width:88px}.pf-badge{border:1px solid color-mix(in srgb, var(--warning) 40%, transparent);background:var(--warning-soft);color:var(--warning);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 11px;font-size:.82rem;font-weight:700;display:inline-flex}.pf-badge-sm{margin-left:8px;padding:1px 8px;font-size:.74rem}.pf-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;display:grid}.pf-q{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;gap:8px;padding:10px 12px 8px;scroll-margin-top:80px;display:flex}.pf-q.needs{border-color:color-mix(in srgb, var(--warning) 50%, var(--border));box-shadow:inset 3px 0 0 var(--warning)}.pf-q.flash{animation:2s ease-out pf-flash}@keyframes pf-flash{0%,35%{background:var(--primary-soft);box-shadow:0 0 0 3px var(--primary)}to{background:var(--surface);box-shadow:0 0 #0000}}.pf-q-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.pf-q-label{font-size:.9rem;font-weight:600;line-height:1.3}.pf-src{white-space:normal;text-align:right;flex:none;padding:1px 8px;font-size:.7rem}.pf-src-user{background:var(--success-soft);color:var(--success)}.pf-src-detected{background:var(--warning-soft);color:var(--warning)}.pf-src-account{background:var(--info-soft);color:var(--info)}.pf-src-default{background:var(--surface-3);color:var(--muted)}.pf-src-none{color:var(--muted);border:1px dashed var(--border-strong);background:0 0}.pf-seg{width:100%;display:flex}.pf-seg .seg-btn{white-space:normal;text-align:center;flex:auto;min-height:34px;line-height:1.2}.seg-btn.on.soft{background:var(--primary-soft);color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.pf-select.soft,.pf-num-input.soft{border-color:var(--primary);background:color-mix(in srgb, var(--primary-soft) 55%, var(--surface))}.pf-number-row{align-items:center;gap:8px;display:flex}.pf-num-input{text-align:right;max-width:150px;min-height:34px}.pf-unit{white-space:nowrap}.pf-q-foot{flex-wrap:wrap;align-items:center;gap:4px 12px;min-height:24px;display:flex}.pf-note{overflow-wrap:anywhere;margin-top:-2px}.pf-need{color:var(--warning);font-weight:600}.pf-why-btn{color:var(--muted);margin-left:auto}.pf-why{overflow-wrap:anywhere;max-width:62ch;margin:0}.pf-more{border-top:1px solid var(--border);padding-top:10px}.pf-more-toggle{color:var(--primary);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 0;font-weight:700;display:inline-flex}.pf-more-toggle:hover{text-decoration:underline}.pf-caret{width:1em;display:inline-block}.pf-more-body{flex-direction:column;gap:16px;margin-top:10px;display:flex}.pf-group-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:.78rem;font-weight:800}.pf-savebar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cp-stats{flex-wrap:wrap;gap:6px;display:flex}.cp-chip-danger{background:var(--danger-soft);color:var(--danger)}.cp-block{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:14px;display:flex}.cp-block-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.cp-block h4{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:4px 0 0;font-size:.78rem;font-weight:800}.cp-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.cp-cite{background:var(--primary-soft);color:var(--primary);font-family:var(--mono);white-space:nowrap;border-radius:999px;padding:1px 9px;font-size:.78rem;font-weight:700;display:inline-block}.cp-rule{border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:flex-start;gap:16px;padding:10px 12px;display:flex}.cp-rule.off{background:var(--surface-2);opacity:.7}.cp-rule.off .cp-cite{text-decoration:line-through}.cp-rule-main{flex-direction:column;gap:2px;min-width:0;display:flex}.cp-rule-cite{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.cp-toggle{white-space:normal;max-width:190px;color:var(--muted);flex:none;align-self:flex-start}.cp-groups{flex-direction:column;gap:6px;display:flex}.cp-group{border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 12px 10px}.cp-group>summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:10px 0;display:flex}.cp-group[open]>summary{margin-bottom:2px}.cp-group-title{font-weight:700}.cp-group-n{font-variant-numeric:tabular-nums}.cp-warn{border-radius:var(--radius-sm);border:1px solid #0000;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.cp-warn-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cp-tone-danger{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 35%, transparent)}.cp-tone-warn{background:var(--warning-soft);border-color:color-mix(in srgb, var(--warning) 35%, transparent)}.cp-tone-info{background:var(--info-soft);border-color:color-mix(in srgb, var(--info) 35%, transparent)}.cp-sev{letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:1px 8px;font-size:.68rem;font-weight:800}.cp-sev-danger{background:var(--danger);color:#fff}.cp-sev-warn{background:var(--warning);color:var(--surface)}.cp-sev-info{background:var(--info);color:var(--surface)}.cp-evidence summary{cursor:pointer;color:var(--muted)}.cp-evidence pre{white-space:pre-wrap;overflow-wrap:anywhere;background:color-mix(in srgb, var(--surface) 60%, transparent);font-family:var(--mono);border-radius:6px;margin:4px 0 0;padding:6px 8px}.cp-need{border:1px solid var(--border);border-left:3px solid var(--warning);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.cp-need-text{min-width:0}.cp-open{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 12px;display:flex}.cp-open-answer{margin-left:auto}.cp-open-group+.cp-open-group{margin-top:6px}.cp-assume>summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.cp-assume>summary h3{display:inline}.cp-assume[open]>summary{margin-bottom:8px}.cp-assumptions{color:var(--muted);font-size:.92rem}.chip-code_rule{background:color-mix(in srgb, var(--accent) 32%, var(--surface));color:var(--text)}.chip-nyc{background:color-mix(in srgb, var(--accent) 32%, var(--surface));color:var(--text);border:1px solid color-mix(in srgb, var(--accent) 60%, var(--border));letter-spacing:.03em;text-transform:uppercase;vertical-align:1px;cursor:help;white-space:nowrap;border-radius:999px;margin-left:6px;padding:0 8px;font-size:.68rem;font-weight:800;display:inline-block}tr.row-code td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.table-scroll{position:relative}.totals-col{flex:340px;min-width:0;max-width:460px;margin-left:auto}.totals-col>.totals{max-width:none;margin-left:0}.excluded{border:1px dashed color-mix(in srgb, var(--warning) 60%, var(--border));border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--text);margin-top:14px;padding:10px 12px}.excluded h3{color:var(--warning);font-size:.95rem}.excluded ul{flex-direction:column;gap:4px;margin:6px 0 0;padding:0;font-size:.9rem;list-style:none;display:flex}.excluded li{justify-content:space-between;gap:12px;display:flex}.excluded .excluded-needs{color:var(--muted);white-space:nowrap}.excluded-foot{margin-top:8px;font-size:.85rem}.code-summary{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-left-width:3px;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 12px;font-size:.9rem;display:flex}.code-summary .strong{margin-right:4px}.chip-needs-input{background:var(--warning-soft);color:var(--warning);font-size:.72rem}@media (width<=600px){.cp-rule{flex-direction:column;gap:8px}.cp-toggle{max-width:none}.cp-need{flex-direction:column;align-items:stretch}.pf-grid{grid-template-columns:1fr}.totals-col{max-width:none}}@media (prefers-reduced-motion:reduce){.pf-q.flash{box-shadow:0 0 0 2px var(--primary);animation:none}}
