:root{--primary: #2563eb;--primary-hover: #1d4ed8;--primary-soft: rgba(37,99,235,.1);--primary-glow: rgba(37,99,235,.18);--bg: #f4f7fb;--surface: #ffffff;--surface-soft: #f8fbff;--surface-strong: #eef4fb;--surface-hover: #f0f6ff;--surface-input: #fbfdff;--border: #dbe4f0;--border-strong: #c8d6e8;--control-border: #74849b;--text: #0f172a;--text-muted: #5b6b83;--text-faint: #8aa0b9;--text-inverse: #ffffff;--success: #10b981;--success-bg: rgba(16,185,129,.12);--success-border: rgba(16,185,129,.28);--success-text: #065f46;--warning: #f59e0b;--warning-bg: rgba(245,158,11,.12);--warning-border: rgba(245,158,11,.28);--warning-text: #854d0e;--error: #ef4444;--error-bg: rgba(239,68,68,.12);--error-border: rgba(239,68,68,.28);--error-text: #991b1b;--info: #0ea5e9;--info-bg: rgba(14,165,233,.12);--info-border: rgba(14,165,233,.28);--info-text: #075985;--workflow-ready: var(--success);--workflow-progress: var(--primary);--workflow-wait: var(--warning);--workflow-problem: var(--error);--workflow-complete: #8b5cf6;--workflow-ready-bg: rgba(16,185,129,.1);--workflow-progress-bg: rgba(37,99,235,.1);--workflow-wait-bg: rgba(245,158,11,.1);--workflow-problem-bg: rgba(239,68,68,.1);--workflow-complete-bg: rgba(139,92,246,.1);--complete-border: rgba(139,92,246,.28);--complete-text: #5b21b6;--font-body: "VibeWerk Body", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "VibeWerk Mono", "SF Mono", Consolas, "Courier New", monospace;--font-h1: 28px;--font-h2: 22px;--font-h3: 18px;--font-body-size: 14px;--font-small: 12px;--font-tiny: 11px;--font-kpi: 28px;--weight-body: 400;--weight-emphasis: 600;--weight-button: 700;--weight-label: 800;--weight-kpi: 900;--line-height: 1.55;--line-height-tight: 1.25;--label-spacing: .08em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-sm: 8px;--radius: 12px;--radius-card: 16px;--radius-lg: 18px;--radius-modal: 20px;--radius-pill: 9999px;--shadow-sm: 0 12px 30px rgba(15,23,42,.05);--shadow-md: 0 18px 48px rgba(15,23,42,.08);--shadow-lg: 0 28px 80px rgba(15,23,42,.14);--control-height: 40px;--control-height-sm: 30px;--table-row-height: 44px;--card-padding: 24px;--content-gap: 16px;--table-cell-pad-y: 12px;--touch-target: 44px;--inspection-target: 56px;--icon-inline: 16px;--icon-button: 20px;--icon-header: 24px;--icon-stroke: 1.75px;--transition: .15s ease;--surface-card: rgba(255,255,255,.86);--surface-header: rgba(255,255,255,.84);--surface-button: rgba(255,255,255,.72);--surface-field: rgba(255,255,255,.92);--surface-modal: rgba(255,255,255,.95);--border-glass: rgba(219,228,240,.92);--overlay: rgba(15,23,42,.4);--scroll-track: rgba(219,228,240,.55);--scroll-thumb: #b7c7dc;--scroll-thumb-hover: #8ea5c4;--button-gradient: linear-gradient(135deg,var(--primary),var(--primary-hover));--danger-gradient: linear-gradient(135deg,#b91c1c,#991b1b);--table-gradient: linear-gradient(180deg,#f8fbff,#eff5fc);--kpi-gradient: linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,251,255,.94));--vision-background: #101820;--vision-overlay: #ffcf33;--vision-overlay-text: #0f172a;--page-background: radial-gradient(circle at top left,rgba(14,165,233,.08),transparent 24%), radial-gradient(circle at 85% 12%,rgba(37,99,235,.1),transparent 28%), radial-gradient(circle at 50% 100%,rgba(139,92,246,.08),transparent 32%), linear-gradient(180deg,#f8fbff 0%,#f3f7fc 58%,#ebf2fb 100%)}*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:var(--page-background) fixed;color:var(--text);font:var(--weight-body) var(--font-body-size)/var(--line-height) var(--font-body)}h1,h2,h3,h4{line-height:var(--line-height-tight);overflow-wrap:anywhere}h1{font-size:var(--font-h1);margin:var(--space-2) 0}h2{font-size:var(--font-h2)}h3{font-size:var(--font-h3)}p,small,dd{overflow-wrap:anywhere}button,input,select,textarea{font:inherit}button{min-height:var(--control-height);min-width:var(--control-height);padding:var(--space-2) var(--space-4);border:1px solid var(--control-border);border-radius:var(--radius);background:var(--surface-button);color:var(--text);font-size:var(--font-small);font-weight:var(--weight-button);cursor:pointer;transition:background var(--transition),transform var(--transition),box-shadow var(--transition);white-space:normal;overflow-wrap:anywhere}button:hover:not(:disabled){background:var(--surface-hover);transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed}.btn-primary,.login-form button,.panel-form button,.create-form button[type=submit],.scan-form button[type=submit],.modal-actions button[type=submit],.revision-box button{background:var(--button-gradient);color:var(--text-inverse);border-color:var(--primary-hover);box-shadow:0 12px 30px var(--primary-glow)}.btn-primary:hover:not(:disabled),.login-form button:hover:not(:disabled),.panel-form button:hover:not(:disabled),.create-form button[type=submit]:hover:not(:disabled),.scan-form button[type=submit]:hover:not(:disabled),.modal-actions button[type=submit]:hover:not(:disabled){background:var(--primary-hover)}.btn-ok{color:var(--success-text);background:var(--success-bg);border-color:var(--success-text)}.btn-err{color:var(--error-text);background:var(--error-bg);border-color:var(--error-text)}.btn-danger{background:var(--danger-gradient);color:var(--text-inverse);border-color:var(--error-text)}.btn-small{min-height:var(--control-height-sm);padding:var(--space-1) var(--space-3);font-size:var(--font-tiny)}.link-btn{background:transparent;border-color:transparent;color:var(--primary-hover);text-decoration:underline;text-underline-offset:.2em}input,select,textarea{min-height:var(--control-height);max-width:100%;border:1px solid var(--control-border);border-radius:var(--radius);padding:var(--space-2) var(--space-3);background:var(--surface-field);color:var(--text)}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}textarea{min-height:6rem;height:auto;resize:vertical;padding:var(--space-3)}label{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);font-size:var(--font-small);font-weight:var(--weight-emphasis);min-width:0}label>input,label>select,label>textarea{width:100%}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}main{max-width:1440px;padding:var(--space-6);margin:0 auto;min-width:0}main>header,.page,.login-card,article,.master-detail,.detail-panel,.tree-plant{background:var(--surface-card);border:1px solid var(--border-glass);border-radius:var(--radius-card);padding:var(--card-padding);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);min-width:0}main>header{margin-bottom:var(--content-gap)}header p,.page-intro,.meta,.loading,article p,.tree-plant p,.unknown-text{color:var(--text-muted)}.eyebrow,th,.metric-label{font-size:var(--font-tiny);font-weight:var(--weight-label);text-transform:uppercase;letter-spacing:var(--label-spacing);color:var(--text-muted)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--content-gap);margin-bottom:var(--space-4)}.page-header h2{margin:0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--content-gap)}article h2{margin-top:0}article.clickable{cursor:pointer}article.clickable:hover{box-shadow:var(--shadow-md)}.top-nav{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-3);background:var(--surface-header);border-bottom:1px solid var(--border)}.nav-brand{font-size:var(--font-h3);font-weight:var(--weight-label)}.top-nav button.active{color:var(--primary-hover);background:var(--primary-soft)}.nav-status{color:var(--text-muted);margin-left:auto}.create-form,.scan-form,.filter-bar,.inspection-toolbar,.count-evidence{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--content-gap);margin-bottom:var(--space-4)}.create-form>input,.create-form>label{flex:1 1 10rem}.login-form,.panel-form{display:grid;gap:var(--content-gap)}.panel-form{background:var(--surface-soft);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));align-items:end}.panel-form h3{grid-column:1/-1;margin:0}.panel-form.compact{margin-top:var(--space-4)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--content-gap)}.master-layout,.split-view{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:var(--content-gap)}.master-list,.record-list{list-style:none;padding:0;margin:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.master-list li,.record-list li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);cursor:pointer;overflow-wrap:anywhere}.master-list li:last-child,.record-list li:last-child{border-bottom:0}.master-list li.selected,.record-list li.selected{background:var(--primary-soft)}.master-list li:hover,.record-list li:hover{background:var(--surface-hover)}.master-list li>span:nth-child(2),.record-list li>span:nth-child(2){flex:1;min-width:0}.master-list li.empty,.record-list li.empty{cursor:default;color:var(--text-muted)}.master-detail h3,.detail-panel h3{margin-top:0}.revision-box{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3);margin-bottom:var(--space-3);background:var(--surface-strong);border-radius:var(--radius-sm)}.badge,.status{display:inline-flex;align-items:center;gap:var(--space-1);max-width:100%;padding:2px var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-pill);font-size:var(--font-tiny);font-weight:var(--weight-label);background:var(--surface-strong);color:var(--text-muted);overflow-wrap:anywhere}.badge:before{content:"";width:6px;height:6px;flex:none;border-radius:var(--radius-pill);background:currentColor}.badge-ok,.tone-ready{color:var(--success-text);background:var(--workflow-ready-bg);border-color:var(--success-border)}.badge-info,.tone-progress{color:var(--primary-hover);background:var(--workflow-progress-bg);border-color:var(--primary-glow)}.badge-warn,.tone-wait{color:var(--warning-text);background:var(--workflow-wait-bg);border-color:var(--warning-border)}.badge-err,.tone-problem{color:var(--error-text);background:var(--workflow-problem-bg);border-color:var(--error-border)}.tone-complete{color:var(--complete-text);background:var(--workflow-complete-bg);border-color:var(--complete-border)}.tone-neutral,.unknown-state{color:var(--text-muted);background:var(--surface-strong);border-color:var(--border-strong)}.badge,.status{border-color:currentColor}.truth-box,.verdict-banner{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin-block:var(--space-3)}.verdict-banner{text-align:center;font-size:var(--font-h3);font-weight:var(--weight-label)}.verdict-identified{background:var(--success-bg);color:var(--success-text)}.verdict-unidentified,.verdict-ambiguous{background:var(--surface-strong);color:var(--text-muted)}.error-state,.error{color:var(--error-text);background:var(--error-bg);border-color:var(--error-border)}.error{border:1px solid var(--error-border);border-radius:var(--radius);padding:var(--space-3);margin-bottom:var(--space-4);display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);overflow-wrap:anywhere}.error button{color:var(--error-text);background:transparent;flex:none}.table-region{overflow:auto;max-width:100%;border:1px solid var(--border);border-radius:var(--radius)}table{width:100%;border-collapse:separate;border-spacing:0}th,td{height:var(--table-row-height);padding:var(--table-cell-pad-y) var(--space-4);border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere;text-align:left}th{background:var(--table-gradient)}td{font-size:var(--font-small)}tbody tr:hover td{background:var(--surface-hover)}tbody tr:last-child td{border-bottom:0}td.empty{color:var(--text-muted);text-align:center}td>button{margin:var(--space-1)}.numeric,code,pre,.metric-value,input[type=number]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}code{background:var(--surface-strong);padding:2px var(--space-1);border-radius:var(--space-1);overflow-wrap:anywhere}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--font-small)}.payload-preview{display:block;max-width:20rem;font-size:var(--font-tiny)}.metric{background:var(--kpi-gradient);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center;display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.metric-value{font-size:var(--font-kpi);font-weight:var(--weight-kpi);line-height:1;overflow-wrap:anywhere}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--content-gap)}.modal{width:36rem;max-width:90vw;max-height:90vh;margin:auto;padding:var(--card-padding);overflow:auto;border:1px solid var(--border);border-radius:var(--radius-modal);color:var(--text);background:var(--surface-modal);box-shadow:var(--shadow-lg)}.modal::backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-header{display:flex;justify-content:space-between;align-items:start;gap:var(--content-gap);margin-bottom:var(--space-4)}.modal-header h3{margin:0;font-size:var(--font-h3);font-weight:var(--weight-label)}.modal label{margin-bottom:var(--space-3)}.modal-actions{display:flex;gap:var(--content-gap);flex-wrap:wrap;margin-top:var(--space-4)}.login-shell{min-height:100vh;display:grid;place-items:center}.login-card{width:100%;max-width:28rem}.structure-tree{display:grid;gap:var(--content-gap)}.tree-plant h3{margin:0}.tree-line{margin:var(--space-3) 0 0 var(--space-4);padding-left:var(--space-3);border-left:3px solid var(--primary-soft)}.tree-zone{margin:var(--space-2) 0 0 var(--space-4);overflow-wrap:anywhere}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--space-2) var(--space-3)}.detail-grid dt{font-weight:var(--weight-emphasis)}.detail-grid dd{margin:0}.decision-card{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);margin-block:var(--space-2)}.decision-card p{margin-block:var(--space-1)}.vision-stage{position:relative;min-height:320px;overflow:hidden;background:var(--vision-background);border-radius:var(--radius);display:grid;place-items:center}.vision-frame{position:relative;width:min(100%,calc(620px * var(--frame-ratio)),calc(60dvh * var(--frame-ratio)));aspect-ratio:var(--frame-ratio)}.vision-frame video,.vision-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.bounding-box{position:absolute;border:3px solid var(--vision-overlay);z-index:2;pointer-events:none}.bounding-box span{position:absolute;top:0;left:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;background:var(--vision-overlay);color:var(--vision-overlay-text);padding:var(--space-1);white-space:nowrap;font-size:var(--font-tiny);font-weight:var(--weight-label)}.count-evidence{align-items:center;margin-block:var(--space-4)}.page-header,.modal-header{flex-wrap:wrap}.page-header>*{min-width:0;max-width:100%}.master-list li,.record-list li{flex-wrap:wrap}.master-list li>*,.record-list li>*,.product-identity>*,.header-controls>*{min-width:0;overflow-wrap:anywhere}.inspection-toolbar>label{flex:1 1 16rem}.modal-actions>button{max-width:100%}.bounding-box span{font-family:var(--font-mono)}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}::-webkit-scrollbar{width:var(--space-2);height:var(--space-2)}::-webkit-scrollbar-track{background:var(--scroll-track)}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}.app-shell{display:grid;grid-template-columns:15rem minmax(0,1fr);grid-template-rows:auto 1fr;min-height:100vh}.product-header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--content-gap);padding:var(--space-3) var(--space-6);background:var(--surface-header);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}.product-identity,.header-controls,.runtime-indicators{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);min-width:0}.brand-mark{width:var(--control-height);height:var(--control-height);border-radius:var(--radius);display:grid;place-items:center;color:var(--text-inverse);background:var(--primary);font-size:var(--font-h3);font-weight:var(--weight-label)}.header-tenant{font:var(--font-small)/var(--line-height) var(--font-mono);overflow-wrap:anywhere}.header-user{overflow-wrap:anywhere}.sidebar{background:var(--surface-header);padding:var(--space-4);border-right:1px solid var(--border);min-width:0}.sidebar nav{display:flex;flex-direction:column;gap:var(--space-2)}.sidebar button{text-align:left;border-color:transparent;background:transparent}.sidebar button.active{background:var(--primary-soft);color:var(--primary-hover);border-color:var(--control-border)}.app-shell>main{width:100%}.runtime-health{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-small)}.runtime-health i{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-pill);background:currentColor}.health-ready{color:var(--success-text)}.health-degraded{color:var(--warning-text)}.health-not_ready{color:var(--error-text)}.health-unknown{color:var(--text-muted)}.environment-badge{padding:var(--space-1) var(--space-2);border:1px solid currentColor;border-radius:var(--radius-sm);font-size:var(--font-tiny);font-weight:var(--weight-label);letter-spacing:var(--label-spacing)}.environment-badge.environment-production{color:var(--success-text);background:var(--success-bg)}.environment-badge.environment-staging{color:var(--warning-text);background:var(--warning-bg)}.environment-badge.environment-dev{color:var(--primary-hover);background:var(--primary-soft)}.environment-badge.environment-unknown{color:var(--text-muted);background:var(--surface-strong)}.environment-staging>.product-header{border-top:4px solid var(--warning)}.environment-dev>.product-header{border-top:4px solid var(--primary)}.environment-unknown>.product-header{border-top:4px solid var(--text-muted)}.inspection-decision-buttons{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6)}.mobile-menu-toggle,.nav-short{display:none}.table-region .data-table{min-width:40rem}.table-region.inspection-table .data-table{min-width:50rem}@media(min-width:768px)and (max-width:1199px){.app-shell{grid-template-columns:5rem minmax(0,1fr)}.sidebar{padding:var(--space-3) var(--space-2)}.sidebar button{text-align:center;padding-inline:var(--space-1)}.nav-short{display:inline}.nav-label{display:none}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.master-layout,.split-view,.form-grid{grid-template-columns:minmax(0,1fr)}.modal{width:90vw}.data-table th:first-child,.data-table td:first-child{position:sticky;left:0;z-index:1;background:var(--surface);box-shadow:1px 0 var(--border-strong);width:10rem;max-width:10rem}.data-table th:first-child{background:var(--table-gradient);z-index:2}.data-table tr:hover td:first-child{background:var(--surface-hover)}}@media(max-width:767px){.app-shell{display:flex;flex-direction:column}.product-header{padding:var(--space-3) var(--space-4)}.mobile-menu-toggle{display:inline-flex;justify-content:center;align-items:center}.header-tenant,.header-user{display:none}.header-controls,.runtime-indicators{flex:1 1 100%}.sidebar{display:none;border-right:0;border-bottom:1px solid var(--border)}.sidebar[data-mobile-open=true]{display:block}main{width:100%;padding:var(--space-4)}.page,.login-card{padding:var(--space-4)}.master-layout,.split-view,.form-grid,.metrics-grid,.panel-form,.detail-grid{grid-template-columns:minmax(0,1fr)}.detail-grid dd{margin-bottom:var(--space-3)}.table-region .data-table,.table-region.inspection-table .data-table{display:block;min-width:0}.data-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.data-table tbody,.data-table tr{display:block}.data-table tr{padding:var(--space-3);border-bottom:1px solid var(--border-strong)}.data-table td{display:block;width:100%;height:auto;border:0;padding:var(--space-2) 0}.data-table td[data-label]:before{content:attr(data-label);display:block;margin-bottom:var(--space-1);font:var(--weight-label) var(--font-tiny)/var(--line-height) var(--font-body);text-transform:uppercase;letter-spacing:var(--label-spacing);color:var(--text-muted)}.data-table td:empty{display:none}.result-table tr{display:grid;grid-template-columns:minmax(0,1fr)}.result-table th,.result-table td{display:block;height:auto}.inspection-decision-buttons{grid-template-columns:minmax(0,1fr);gap:var(--space-6)}.modal{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border-radius:0;padding:var(--space-4)}.modal-actions>button{flex:1 1 auto}}.inspection-decision-actions{display:grid;gap:var(--space-4);min-width:0}.inspection-decision-buttons button,.inspection-toolbar button{min-height:var(--inspection-target);min-width:var(--inspection-target);padding:var(--space-3) var(--space-4);font-size:var(--font-body-size)}.record-select{color:var(--primary-hover);background:transparent;text-align:left;text-decoration:underline;border-color:transparent;padding:var(--space-1)}.skip-link{position:fixed;top:var(--space-2);left:var(--space-2);transform:translateY(-200%);background:var(--surface);color:var(--primary-hover);padding:var(--space-3);z-index:100;min-height:var(--touch-target)}.skip-link:focus{transform:translateY(0)}@media(max-width:1199px),(pointer:coarse){button,input,select,textarea,.record-select{min-width:var(--touch-target);min-height:var(--touch-target)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}button:hover:not(:disabled){transform:none}}
