:root{--bg:#f3f5f6;--paper:#fff;--ink:#192c36;--body:#4c626a;--muted:#7b8f95;--line:#e1e8e8;--accent:#087f76;--pale:#edf6f2;--nav:#142930;--low:#15816b;--gray:#aa761d;--high:#b65649;--radius:13px}
*{box-sizing:border-box}body{margin:0;color:var(--body);background:var(--bg);font:14px/1.6 Inter,"Segoe UI","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #44ab98;outline-offset:3px}a{color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3,strong{color:var(--ink)}[hidden]{display:none!important}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}.icon.small{width:15px;height:15px}.mono{font-family:"Cascadia Code",Consolas,monospace;font-variant-numeric:tabular-nums}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:10px}.skip-link:focus{top:10px}.sidebar{width:228px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;background:var(--nav);color:#9fb6bd;padding:30px 16px 22px;z-index:20}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;margin:0 11px 43px;color:white;font-size:24px;font-weight:700;letter-spacing:-1px;line-height:1.15}.brand-icon{display:grid;place-items:center;width:40px;height:42px;border-radius:10px;background:#087f76;border:1px solid #54b69d55}.brand-icon .icon{width:27px;height:27px}.brand-accent{color:#73d7b9}.brand small{display:block;font-weight:400;font-size:10px;letter-spacing:1.5px;color:#8ca7af;margin-top:8px}.nav-label{margin:0 14px 15px;font-size:10px;letter-spacing:1.5px;color:#72909b}.nav-label small{display:block;font-size:8px;letter-spacing:2px;opacity:.6;margin-top:2px}.nav-item{display:flex;align-items:center;gap:12px;border:1px solid transparent;border-radius:8px;padding:13px 14px;width:100%;background:none;text-align:left;color:#a1b7be;margin:0 0 6px;font-size:13px;transition:.16s}.nav-item .icon{width:18px;height:18px}.nav-item:hover{background:#ffffff06;color:white}.nav-item.active{background:#24443f;border-color:#50967c33;color:#b8f0dc}.nav-index{margin-left:auto;font:10px Consolas,monospace;color:#6d998d}.nav-item:not(.active) .nav-index{visibility:hidden}.sidebar-note{margin:auto 12px 29px;padding-top:50px}.sidebar-note .eyebrow{font-size:8px;letter-spacing:1.5px;color:#689b90}.sidebar-note p{color:#b8ccd0;font-size:15px;line-height:1.9;margin:12px 0 20px}.mini-flow{display:flex;gap:10px;font-size:10px;color:#74969b}.mini-flow b{font-weight:400;color:#4b6e74}.sidebar-footer{padding:20px 12px 0;border-top:1px solid #ffffff0d;font-size:11px}.sidebar-footer small{display:block;margin:5px 0 0 14px;font-size:10px;color:#698891}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#b09054;margin-right:7px;vertical-align:middle}.status-dot.online{background:#6bc9a3;box-shadow:0 0 0 3px #6bc9a315}.status-dot.offline{background:#d88068}.main-shell{margin-left:228px;min-width:0}.topbar{height:65px;background:#ffffffb0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 35px;font-size:11px;color:var(--muted)}.breadcrumb span{margin:0 14px;color:#becbcd}.breadcrumb strong{font-weight:500;color:var(--body)}.topbar-right{display:flex;gap:24px;align-items:center}.privacy-tag{border-right:1px solid var(--line);padding-right:24px}main{max-width:1650px;margin:auto;padding:31px 35px 18px;outline:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{font-size:9px;letter-spacing:2.2px;color:var(--accent);font-weight:700}.page-heading h1{font-size:29px;letter-spacing:-.8px;font-weight:650;line-height:1.5;margin:5px 0 6px}.heading-dot{color:var(--accent);padding-left:4px}.page-heading p{font-size:12px;color:var(--muted)}.outline-chip{display:flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid #d4e2dc;border-radius:6px;padding:8px 11px;color:#5f8978;font-size:10px}.outline-chip .icon{width:15px;height:15px}.workflow{display:grid;grid-template-columns:repeat(3,1fr);background:#eaf0ed;border:1px solid #dce7e1;border-radius:10px;padding:14px 0;margin-bottom:22px}.step{position:relative;min-height:36px;padding:0 15px 0 55px;border-right:1px solid #d8e2dc}.step:last-child{border:0}.step>span{position:absolute;left:18px;top:4px;width:25px;height:25px;display:grid;place-items:center;border:1px solid #cbdad1;border-radius:50%;font:10px Consolas,monospace;color:#8ca496}.step strong{display:block;font-size:11px;font-weight:500;color:#6e8879}.step small{display:block;font-size:10px;color:#8ea396}.step.current>span{background:var(--accent);border-color:var(--accent);color:white}.step.current strong{color:#2f6551}.step.done>span{background:#d5e8dc;border-color:#bdd6c5;color:var(--accent)}.inspection-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(330px,1fr);gap:22px;align-items:start}.inspection-main{display:grid;gap:22px;min-width:0}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 3px 16px #20384304}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.panel-heading h2,.section-heading h2{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:650}.section-number{display:grid;place-items:center;width:22px;height:22px;border-radius:4px;font:10px Consolas,monospace;background:#eef4ef;color:#8ca895}.caption{font-size:10px;color:var(--muted)}.input-controls{display:flex;align-items:end;gap:14px}.field{flex:1;min-width:0}.field label,.field-label{font-size:11px;color:var(--muted);display:block;margin-bottom:7px}select{width:100%;min-height:41px;padding:10px 30px 10px 12px;border:1px solid #dbe4df;border-radius:7px;font-size:12px;background:white;color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:41px;padding:10px 16px;border:1px solid transparent;border-radius:7px;font-size:12px;font-weight:600;white-space:nowrap;text-decoration:none;transition:.16s}.button .icon{width:16px;height:16px}.primary{background:var(--accent);color:white;box-shadow:0 3px 6px #087f7610}.primary:hover:not(:disabled){background:#06685f;box-shadow:0 3px 9px #087f7620}.secondary{background:white;border-color:#dce5df;color:#537461}.secondary:hover:not(:disabled){background:#f3f8f4;border-color:#a8c7b2}.threshold-info{font-size:10px;color:#8b9e92;min-height:16px;margin:9px 0 17px}.threshold-info b{font-family:Consolas,monospace;font-weight:400;color:#587d65}.drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;min-height:157px;padding:20px;border:1px dashed #c1d6c8;border-radius:9px;background:linear-gradient(120deg,#f6faf7,#fcfdfc);text-align:center;transition:.16s}.drop-zone:hover,.drop-zone.dragover{background:#eef8f1;border-color:var(--accent)}.upload-icon{display:grid;place-items:center;background:#e8f2eb;border:1px solid #dceade;border-radius:10px;width:38px;height:38px;color:var(--accent);margin-bottom:2px}.upload-icon .icon{width:18px;height:18px}.drop-zone strong{font-size:12px;font-weight:500;color:#55755f}.drop-zone small{font-size:10px;color:#90a597}.selected-file{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid #e0e9e2;background:#f8faf8;border-radius:8px;margin-top:12px}.file-thumb{width:37px;height:37px;object-fit:cover;border-radius:5px}.selected-file>div{min-width:0}.selected-file strong{font-size:11px;font-weight:500;display:block;overflow-wrap:anywhere}.selected-file small{font-size:10px;color:var(--muted);display:block}.selected-file .icon-button{margin-left:auto}.icon-button{display:grid;place-items:center;width:30px;height:30px;padding:4px;background:white;border:1px solid var(--line);border-radius:6px;flex-shrink:0}.icon-button .icon{width:15px;height:15px}.image-comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px}.image-tile{border:1px solid #e1e9e2;border-radius:8px;overflow:hidden;min-width:0}.image-tile figcaption{display:flex;justify-content:space-between;align-items:center;padding:9px 11px;background:#fcfdfc;border-bottom:1px solid #e1e9e2;font-size:10px}.image-tile figcaption>span:first-child{display:flex;align-items:center;gap:6px;color:#647d69}.image-dot{width:5px;height:5px;background:#91ae9b;border-radius:50%}.image-dot.heat{background:#c79161}.image-tile .mono{font-size:9px;color:#96aa9c}.image-stage{width:100%;height:242px;display:flex;align-items:center;justify-content:center;position:relative;border:0;padding:12px;background-color:#f4f7f4;background-image:linear-gradient(45deg,#e6eee744 25%,transparent 25%),linear-gradient(-45deg,#e6eee744 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e6eee744 75%),linear-gradient(-45deg,transparent 75%,#e6eee744 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.image-stage:disabled{opacity:1}.image-stage>img{width:100%;height:100%;object-fit:contain}.image-empty{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;color:#a8baac}.image-empty>.icon{width:31px;height:31px;stroke-width:1.2;margin-bottom:7px}.image-empty strong{font-size:11px;color:#8fa797;font-weight:400}.image-empty small{font-size:9px;color:#a8b8ab}.zoom-hint{display:none;position:absolute;right:9px;bottom:9px;width:26px;height:26px;place-items:center;border:1px solid #dbe5dd;border-radius:5px;background:#ffffffe6;color:#62816b}.zoom-hint>.icon{width:14px;height:14px}.image-stage:not(:disabled):hover .zoom-hint{display:grid}.image-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px;color:#94a79a;margin-top:13px}.heat-legend{display:flex;gap:5px;align-items:center;white-space:nowrap}.heat-legend i{height:4px;width:61px;border-radius:3px;background:linear-gradient(90deg,#6baca1,#cfcc75,#c47a58)}.badge{display:inline-flex;align-items:center;border-radius:5px;padding:3px 8px;font-size:9px;line-height:1.6;white-space:nowrap}.badge.neutral{background:#f0f4f3;color:#7e9787}.badge.low{background:#e8f4ec;color:var(--low)}.badge.gray{background:#faf2df;color:var(--gray)}.badge.high{background:#faece7;color:var(--high)}.badge.general{background:#edf0f9;color:#5b6eab}.score-summary{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.score-summary .field-label{margin-bottom:5px}.score-value{font-size:40px;line-height:1.3;letter-spacing:-1.4px;font-weight:500;color:var(--ink)}.score-value small{font-size:8px;letter-spacing:1px;color:#9bad9f;font-weight:400}.time-summary{display:flex;align-items:center;gap:5px;font-size:10px;color:#99ac9e}.risk-meter{margin:22px 0 23px}.risk-track{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;height:6px;position:relative}.risk-track>span{border-radius:3px;background:#d5e9db}.risk-track>span:nth-child(2){background:#f1e3c1}.risk-track>span:nth-child(3){background:#efd4c9}.risk-track>i{position:absolute;top:-5px;width:3px;height:16px;background:var(--ink);border-radius:2px;transform:translateX(-50%);box-shadow:0 0 0 2px white}.risk-ticks{display:flex;justify-content:space-between;font-size:9px;color:#8fa495;margin:7px 0}.risk-thresholds{display:flex;justify-content:space-between;font-size:9px;color:#829b89}.route-list{display:grid;gap:7px}.route-row{display:flex;gap:9px;align-items:center;border:1px solid #e7eee8;border-radius:8px;padding:10px 9px}.route-symbol{width:29px;height:29px;display:grid;place-items:center;border-radius:7px;flex-shrink:0}.route-symbol.low{background:#edf5ee;color:#6c9e7d}.route-symbol.gray{background:#faf4e5;color:#ae9253}.route-symbol.high{background:#faeeea;color:#b18b7a}.route-row strong{font-size:10px;font-weight:500;display:block;color:#7b9381}.route-row small{font-size:9px;color:#a3b4a6;display:block}.route-end{font-size:9px;color:#a1b3a4;margin-left:auto;background:#f5f8f5;padding:1px 5px;border-radius:4px}.route-row.selected[data-route=low_risk]{background:#f0f9f2;border-color:#9ecaae}.route-row.selected[data-route=vlm_review]{background:#fffbef;border-color:#dfc481}.route-row.selected[data-route=high_risk]{background:#fdf4ef;border-color:#ddb1a1}.route-row.selected strong{color:var(--ink);font-weight:600}.route-row.selected small{color:#7f9887}.route-row.selected .route-end{background:white}.analysis-empty{border-top:1px solid #edf1ed;margin-top:20px;padding:22px 14px 14px;font-size:11px;line-height:1.8;text-align:center;color:#96aa9c}.human-note{display:flex;align-items:start;gap:7px;margin-top:18px;padding-top:14px;border-top:1px solid #edf1ed;font-size:9px;color:#98ac9c}.human-note .icon{width:13px;height:13px;margin-top:1px}.analysis-heading{display:flex;justify-content:space-between;align-items:center;gap:7px;margin:20px 0 10px}.analysis-heading .field-label{margin:0}.analysis-heading .caption{font-size:9px}#result-verdict{font-size:19px;font-weight:600;margin:4px 0 10px}.analysis-text{font-size:12px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.suggestion{background:#f5f8f5;border-radius:7px;padding:11px 12px;margin-top:14px}.suggestion>span{font-size:9px;color:#839c88}.suggestion p{font-size:11px;color:#68836e;white-space:pre-wrap;margin-top:3px}.probability-row{display:grid;grid-template-columns:64px 1fr 38px;gap:8px;align-items:center;font-size:10px;margin:8px 0}.probability-row>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.probability-bar{height:5px;border-radius:4px;overflow:hidden;background:#edf2ed}.probability-bar i{display:block;height:100%;border-radius:4px;background:#7aae8d}.probability-row .mono{font-size:9px;text-align:right;color:#7f9887}.reference-item{border:1px solid #e3ebe3;border-radius:7px;padding:10px;margin:8px 0}.reference-item strong{font-size:10px;color:#4b7558;font-weight:500}.reference-item p{font-size:10px;color:#849d8b;margin-top:6px}.reference-item small{font-size:9px;color:#9bae9f}.result-actions{display:grid;gap:8px;margin-top:20px}.result-actions .button{width:100%;min-height:37px;font-size:11px}.feedback-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:9px;margin-top:16px;color:#97ad9d}.feedback-actions>span{margin-right:auto}.feedback-actions button{border:1px solid #e0e8e1;background:white;border-radius:5px;padding:4px 7px;font-size:9px;color:#78957f}.feedback-actions button:hover{background:#f0f7f1}.inline-error{background:#fdf0ec;border:1px solid #efd2c8;color:#aa5c4c;border-radius:7px;padding:11px 13px;margin-top:12px;font-size:11px}.progress-message{display:flex;align-items:center;gap:12px;border-radius:8px;background:#f0f7f1;padding:14px;margin-top:13px;font-size:11px}.progress-message strong{font-size:11px;font-weight:500}.progress-message small{display:block;font-size:10px;color:var(--muted);margin-top:2px}.progress-message>.mono{margin-left:auto;white-space:nowrap}.spinner{display:inline-block;width:17px;height:17px;border:2px solid #bed7c6;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.workspace-footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #e2e9e3;padding:19px 0 3px;margin-top:29px;font-size:9px;color:#99ae9f}.workspace-footer b{font-weight:400;padding:0 6px;color:#c0cdc3}.compact{min-height:115px;margin-top:20px}.compact>.icon{color:#7da88a}.batch-file-list{margin-top:12px;font-size:11px;color:#7c9885}.file-chip{display:inline-block;max-width:230px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border:1px solid #e0e9e1;background:#f8faf8;border-radius:5px;padding:4px 9px;margin:0 5px 5px 0;vertical-align:top}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:25px 0 15px}.count-label{font-size:10px;background:var(--pale);color:var(--accent);padding:2px 7px;border-radius:5px;margin-left:4px}.batch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}.batch-card{padding:0;overflow:hidden}.batch-image{height:165px;background:#eff4f0;display:flex;align-items:center;justify-content:center;padding:10px}.batch-image img{width:100%;height:100%;object-fit:contain}.batch-card-body{padding:16px}.batch-card-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.batch-card-title strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-card .score{display:block;font-size:26px;color:var(--ink);margin:10px 0 4px}.batch-card p{font-size:11px;color:#809889;line-height:1.8}.batch-card .button{width:100%;margin-top:12px;min-height:32px;padding:7px;font-size:10px}.empty-state{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:210px;padding:30px;color:#a5bba9}.empty-state>.icon{width:32px;height:32px;stroke-width:1.1;margin-bottom:16px}.empty-state h3{font-size:14px;font-weight:500;color:#7f9a87}.empty-state p{font-size:11px;color:#97ae9e;margin-top:5px}.history-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:20px}.search-field{flex:1;max-width:340px;position:relative}.search-field>.icon{position:absolute;left:11px;top:11px;width:17px;height:17px;color:#9ab19f}.search-field input{width:100%;padding:10px 10px 10px 36px;border:1px solid #dce5dd;border-radius:7px;background:white;font-size:11px}.history-toolbar select{width:145px;font-size:11px}.history-toolbar>.caption{margin-left:auto}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px;white-space:nowrap}th{padding:12px;background:#f7f9f7;border-bottom:1px solid var(--line);font-weight:500;font-size:10px;color:#869e8d}td{padding:15px 12px;border-bottom:1px solid #edf1ed;color:#607e69}td small{display:block;margin-top:3px;font-size:9px;color:#9ab19f}td strong{font-size:11px;font-weight:500}tbody tr:hover{background:#fafcfb}.text-button{border:0;background:none;color:var(--accent);font-size:10px;padding:4px}.history-detail{margin-top:20px;scroll-margin-top:20px}.detail-images{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.detail-images figure{padding:12px;border:1px solid var(--line);border-radius:8px}.detail-images figcaption{font-size:10px;color:var(--muted);margin-bottom:8px}.detail-images img{width:100%;height:260px;object-fit:contain;background:#f4f7f4;border-radius:6px}.detail-meta{display:flex;gap:25px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px}.detail-meta span{font-size:10px;color:var(--muted)}.detail-meta strong{display:block;font-size:13px;font-weight:500;margin-top:4px}.detail-analysis{font-size:12px;line-height:1.9;white-space:pre-wrap;margin-top:18px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}.stat-card{position:relative;padding:22px}.stat-card>span{font-size:11px;color:#7b9884}.stat-card>.icon{position:absolute;right:22px;top:24px;width:17px;height:17px;color:#aac5b2}.stat-card>strong{display:block;font:500 36px/1.3 Consolas,monospace;letter-spacing:-1px;margin:13px 0 10px}.stat-card>small{font-size:9px;color:#9cb2a2}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px}.route-distribution{min-height:180px;display:flex;flex-direction:column;justify-content:center;gap:20px}.distribution-row{display:grid;grid-template-columns:78px 1fr 55px;gap:12px;align-items:center;font-size:11px}.distribution-track{height:9px;border-radius:5px;background:#f1f5f1;overflow:hidden}.distribution-track i{height:100%;display:block;border-radius:5px}.distribution-row>strong{font:11px Consolas,monospace;color:#73917c;text-align:right}.panel-footnote{font-size:9px;color:#98af9e;border-top:1px solid #edf1ed;padding-top:13px;margin-top:18px}.other-count{font-size:10px;color:#97af9d}.score-chart{height:210px}.score-chart svg{width:100%;height:100%}.score-chart .empty-state{min-height:190px}.product-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.product-card{border:1px solid #e0e9e2;border-radius:8px;padding:17px}.product-card h3{font-size:12px;font-weight:500}.product-card>.mono{display:block;font-size:9px;color:#99af9f;margin:3px 0 15px}.product-thresholds{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#8ea795}.product-thresholds b{font-family:Consolas,monospace;font-weight:400;color:#577b61}.chat-panel{height:calc(100vh - 265px);min-height:460px;max-height:900px;display:flex;flex-direction:column;overflow:hidden;padding:0}.chat-panel-header{display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line);padding:17px 24px}.assistant-avatar{display:grid;place-items:center;background:#e8f5eb;color:var(--accent);border-radius:9px;width:35px;height:35px}.chat-panel-header strong{display:block;font-size:12px;font-weight:600}.chat-panel-header>div>span{display:block;font-size:9px;color:#95af9e;margin-top:2px}.chat-panel-header>.badge{margin-left:auto}.chat-messages{flex:1;overflow-y:auto;min-height:0;padding:26px;scroll-behavior:smooth}.assistant-welcome{max-width:500px;text-align:center;margin:18px auto 0;padding-bottom:20px}.welcome-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#edf6ef;color:#80ac91;margin:0 auto 18px}.welcome-icon .icon{width:27px;height:27px}.assistant-welcome h2{font-size:23px;font-weight:500;letter-spacing:-.7px}.assistant-welcome p{font-size:11px;color:#90a99a;margin-top:10px}.prompt-suggestions{max-width:370px;margin:25px auto 0;display:grid;gap:8px}.prompt-suggestions button{display:flex;align-items:center;justify-content:space-between;text-align:left;padding:11px 13px;border:1px solid #e3ece5;border-radius:7px;background:#fbfdfb;font-size:11px;color:#7d9985}.prompt-suggestions button:hover{background:#eef7f0;border-color:#c4dbcb}.chat-composer{border-top:1px solid var(--line);padding:15px 24px 13px}.chat-composer form{display:flex;align-items:end;gap:10px;border:1px solid #dfe8e1;background:#f7faf7;border-radius:9px;padding:8px}.chat-composer textarea{flex:1;resize:vertical;min-height:36px;max-height:130px;padding:8px;font-size:12px;border:0;background:transparent;color:var(--ink)}.chat-composer form>.button{width:36px;min-height:36px;height:36px;padding:8px}.chat-composer>small{display:block;text-align:center;font-size:9px;color:#9db3a4;margin-top:9px}.chat-message{display:flex;flex-direction:column;align-items:start;margin-bottom:20px}.chat-message.user{align-items:end}.message-label{font-size:9px;color:#96ac9d;margin-bottom:5px}.message-content{max-width:87%;font-size:12px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid #e5eee7;background:#f3f7f3;border-radius:0 10px 10px 10px;padding:12px 16px;color:#55755f}.chat-message.user .message-content{background:var(--accent);color:white;border:0;border-radius:10px 0 10px 10px}.chat-context{display:flex;align-items:center;gap:10px;background:#edf6ee;border-radius:6px;padding:8px 11px;font-size:10px;color:#547d60;margin-bottom:8px}.chat-context img{width:32px;height:32px;object-fit:contain;border-radius:4px}.chat-context button{margin-left:auto;border:0;background:none;color:#7b9881}.toast{position:fixed;bottom:25px;left:calc(50% + 114px);transform:translateX(-50%);z-index:80;max-width:min(90vw,500px);padding:13px 20px;background:#1d3e30;color:white;border-radius:9px;box-shadow:0 6px 25px #102c2825;font-size:12px}dialog{padding:0;border:1px solid #dbe5dd;border-radius:12px;max-width:90vw;max-height:90vh;background:#f6f9f6;box-shadow:0 20px 70px #102c2830}dialog::backdrop{background:#102b28aa;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #e0e8e1;font-size:12px}dialog>img{display:block;width:min(800px,85vw);height:min(700px,75vh);object-fit:contain;padding:16px}.page:not([hidden]){animation:appear .2s ease-out}@keyframes appear{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){main{padding:40px 45px 20px}.image-stage{height:300px}.drop-zone{min-height:175px}.page-heading h1{font-size:33px}}
@media(max-width:1200px){.sidebar{width:198px;padding-left:12px;padding-right:12px}.brand{font-size:21px;margin-left:8px}.nav-index{display:none}.main-shell{margin-left:198px}main{padding:26px 24px 15px}.topbar{padding:0 24px}.inspection-layout{grid-template-columns:minmax(0,1fr) 330px;gap:18px}.panel{padding:18px}.input-controls{flex-wrap:wrap;gap:10px}.input-controls .field{flex-basis:100%}.input-controls>.button{width:100%}.image-stage{height:205px}.image-comparison{gap:9px}.image-footer>span:first-child{max-width:75%}.page-heading h1{font-size:27px}.score-value{font-size:36px}.stats-grid{gap:12px}.stat-card{padding:18px}.stat-card>.icon{right:18px}.step{padding-left:48px;padding-right:10px}.step>span{left:13px}.step small{font-size:9px}.workspace-footer{font-size:8px}.toast{left:calc(50% + 99px)}}
@media(max-width:1000px){.sidebar{width:174px}.brand-icon{width:33px;height:35px}.brand{font-size:19px;gap:7px}.brand small{font-size:8px;letter-spacing:.5px}.nav-item{font-size:12px;padding:12px 11px;gap:9px}.sidebar-note{margin-left:8px;margin-right:8px}.main-shell{margin-left:174px}.inspection-layout{grid-template-columns:1fr}.input-controls{flex-wrap:nowrap}.input-controls .field{flex-basis:auto}.input-controls>.button{width:auto}.image-stage{height:260px}.route-list{grid-template-columns:repeat(3,minmax(0,1fr))}.route-row{align-items:start;gap:7px}.route-symbol{width:24px;height:24px}.route-row strong{font-size:9px}.route-row small{font-size:8px}.route-end{display:none}.score-summary{margin-top:5px}.risk-meter{margin-top:15px}.result-actions{grid-template-columns:1fr 1fr}.step{padding-left:42px}.step>span{width:22px;height:22px;left:11px}.step strong{font-size:10px}.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.product-cards{grid-template-columns:1fr}.product-thresholds{justify-content:start;gap:25px}.toast{left:calc(50% + 87px)}}
@media(max-width:700px){.sidebar{position:sticky;top:0;width:100%;padding:0;display:block}.brand{display:inline-flex;margin:0;padding:13px 18px;font-size:19px}.brand-icon{width:30px;height:30px}.brand small,.nav-label,.sidebar-note,.sidebar-footer{display:none}.sidebar nav{display:flex;overflow-x:auto;padding:0 8px;border-top:1px solid #ffffff09;gap:3px}.nav-item{width:auto;flex-shrink:0;border:0;border-bottom:2px solid transparent;border-radius:0;padding:12px 10px;margin:0;gap:6px;font-size:11px}.nav-item.active{background:#ffffff05;border-bottom-color:#73cfac}.nav-item .icon{width:14px;height:14px}.main-shell{margin:0}.topbar{height:44px;padding:0 18px}.topbar-right{gap:0}.privacy-tag{display:none}.topbar time,.breadcrumb{font-size:10px}main{padding:23px 16px 14px}.page-heading{align-items:start;gap:10px;margin-bottom:20px}.page-heading h1{font-size:25px}.page-heading p{font-size:11px;max-width:280px}.outline-chip{display:none}.page-heading>.button{font-size:10px;padding:8px;min-height:34px;margin-top:21px}.page-heading>.button .icon{width:13px;height:13px}.eyebrow{font-size:8px}.workflow{padding:12px 0;margin-bottom:16px}.step{padding:0 7px 0 10px;min-height:36px}.step>span{position:static;border:0!important;border-radius:3px;font-size:8px;width:20px;height:16px;margin-bottom:5px}.step strong{font-size:9px}.step small{display:none}.inspection-layout,.inspection-main{gap:16px}.panel{padding:16px;border-radius:11px}.input-controls{flex-wrap:wrap}.input-controls .field{flex-basis:100%}.input-controls>.button{width:100%}.panel-heading{margin-bottom:16px}.panel-heading h2{font-size:12px}.caption{font-size:9px}.drop-zone{min-height:145px}.drop-zone strong{font-size:11px}.drop-zone small{font-size:9px}.image-comparison{gap:9px}.image-stage{height:180px;padding:8px}.image-tile figcaption{padding:8px;font-size:9px}.image-tile figcaption .caption,.image-tile .mono{display:none}.image-empty strong{font-size:9px}.image-empty small{font-size:8px}.image-empty>.icon{width:25px;height:25px}.image-footer{font-size:8px}.image-footer>span:first-child{max-width:70%}.heat-legend i{width:35px}.route-list{grid-template-columns:1fr}.route-row{align-items:center;padding:10px}.route-symbol{width:29px;height:29px}.route-row strong{font-size:11px}.route-row small{font-size:9px}.route-end{display:block}.result-actions{grid-template-columns:1fr}.workspace-footer{display:block;margin-top:22px;padding-top:13px;font-size:8px}.workspace-footer>span:last-child{display:none}.stats-grid{gap:10px}.stat-card>strong{font-size:30px}.stat-card>small{font-size:8px}.history-toolbar{flex-wrap:wrap;gap:10px}.search-field{max-width:none;flex-basis:100%}.history-toolbar select{width:140px}.table-scroll{margin:0 -8px}td,th{padding:12px 9px;font-size:10px}.detail-images{gap:10px}.detail-images img{height:155px}.detail-meta{gap:15px}.batch-grid{grid-template-columns:1fr 1fr;gap:10px}.batch-image{height:135px}.batch-card-body{padding:12px}.batch-card-title{display:block}.batch-card-title .badge{margin-top:5px}.batch-card-title strong{display:block;font-size:10px}.batch-card .score{font-size:23px}.batch-card p{font-size:10px}.chat-panel{height:calc(100dvh - 290px);min-height:420px}.chat-panel-header{padding:14px}.chat-messages{padding:18px 14px}.assistant-welcome{margin-top:10px}.assistant-welcome h2{font-size:21px}.chat-composer{padding:12px}.chat-composer>small{font-size:8px}.message-content{max-width:94%;font-size:11px;padding:10px 12px}.toast{left:50%;bottom:16px;width:max-content;max-width:90vw}.inline-error{font-size:10px}.progress-message{padding:10px}.progress-message small{font-size:9px}.progress-message>.mono{font-size:9px}.time-summary{font-size:9px}}
/* Keep secondary information legible on projection screens. */
.drop-zone.has-file{min-height:65px;flex-direction:row;gap:12px;padding:12px}
.drop-zone.has-file small{display:none}.drop-zone.has-file .upload-icon{width:30px;height:30px;margin:0}
.caption,.threshold-info,.field label,.field-label{color:#6f8277}
.route-row strong{color:#5d7665}.route-row small,.route-end{color:#7a9181}
.analysis-empty,.human-note,.image-footer{color:#7d9182}
.drop-zone small,.image-empty strong{color:#7d9585}.image-empty small{color:#8b9e90}
.score-value{white-space:nowrap}.sidebar-footer small{color:#8aa6ae}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
