:root{color-scheme:light;--bg: #f5f7fb;--panel: #ffffff;--line: #d8dee9;--ink: #1d2733;--muted: #667085;--accent: #145cff;--accent-weak: #eaf1ff;--danger: #b42318}*{box-sizing:border-box}body{margin:0;font-family:Microsoft YaHei,Arial,sans-serif;background:var(--bg);color:var(--ink)}button,input{font:inherit}button{min-height:36px;border:0;border-radius:6px;padding:0 14px;background:var(--accent);color:#fff;cursor:pointer}button.secondary{background:#344054}button.ghost{color:var(--ink);background:#fff;border:1px solid var(--line)}button:disabled{cursor:not-allowed;opacity:.5}input{width:100%;min-height:34px;border:1px solid var(--line);border-radius:6px;padding:6px 8px;background:#fff}.topbar{min-height:64px;display:flex;align-items:center;justify-content:space-between;padding:10px 24px;background:#fff;border-bottom:1px solid var(--line)}.topbar h1{margin:0;font-size:19px}.topbar p{margin:3px 0 0;color:var(--muted);font-size:13px}main{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 64px)}aside{background:#fff;border-right:1px solid var(--line);padding:16px}aside button{width:100%;margin-bottom:8px;color:var(--ink);background:#fff;border:1px solid var(--line);text-align:left}aside button.active{color:var(--accent);background:var(--accent-weak);border-color:var(--accent)}.content{padding:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:16px}.panel h2{margin:0 0 14px;font-size:17px}.panel-title-row{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-bottom:14px}.panel-title-row h2{margin:0}.form-grid{display:grid;gap:10px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}label span{display:block;margin-bottom:4px;color:var(--muted);font-size:12px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.province-picker{margin-top:12px}.province-picker>span{display:block;margin-bottom:4px;color:var(--muted);font-size:12px}.province-trigger{width:100%;justify-content:flex-start;text-align:left;color:var(--ink);background:#fff;border:1px solid var(--line)}.province-trigger:after{content:"▾";float:right;color:var(--muted)}.province-options{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.province-options button{min-height:34px;padding:0 8px;color:var(--ink);background:#f7f9fc;border:1px solid var(--line)}.province-options button.selected{color:var(--accent);background:var(--accent-weak);border-color:var(--accent)}.ocr-capture-row{display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(280px,.85fr);gap:12px;align-items:stretch;margin-top:12px}.paste-zone{min-height:150px;display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:16px;margin-top:0;padding:16px;border:1px dashed #8aa7ff;border-radius:8px;background:#f8fbff;outline:none;cursor:text}.paste-zone:focus{border-color:var(--accent);box-shadow:0 0 0 3px #145cff1f}.paste-zone strong{display:block;margin-bottom:6px}.paste-zone p{margin:0;color:var(--muted)}.paste-zone img{width:100%;max-height:128px;object-fit:contain;border:1px solid var(--line);border-radius:6px;background:#fff}.paste-context-menu{position:fixed;z-index:30;min-width:128px;padding:6px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 12px 28px #10182829}.paste-context-menu button{width:100%;min-height:34px;padding:0 10px;text-align:left;color:var(--ink);background:#fff}.paste-context-menu button:hover{background:var(--accent-weak)}.ocr-raw{min-height:150px;max-height:240px;overflow:auto;margin-top:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f9fafb;font-size:12px;line-height:1.5}.ocr-raw strong{display:block;margin-bottom:6px}.ocr-raw p{margin:2px 0;word-break:break-all}table{width:100%;border-collapse:collapse;background:#fff;font-size:13px}th,td{border-bottom:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}th{background:#f1f4f9;color:#344054;font-weight:600}.muted{color:var(--muted)}.spec-cell{min-width:88px;color:#344054;font-size:12px;white-space:nowrap}.danger{color:var(--danger)}.result-flow{display:grid;gap:14px}.result-section{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section-head h3{margin:0;font-size:16px}.section-head span{color:var(--muted);font-size:12px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.metric-grid div{border:1px solid var(--line);border-radius:8px;padding:10px;background:#f8fbff}.metric-grid span{display:block;margin-bottom:6px;color:var(--muted);font-size:12px}.metric-grid b{display:block;font-size:18px}.recommended-quote{display:grid;grid-template-columns:90px 1fr auto auto;align-items:center;gap:12px;margin-bottom:12px;border:1px solid #9db7ff;border-radius:8px;padding:12px;background:#f8fbff}.recommended-quote span,.recommended-quote em{color:var(--muted);font-style:normal}.recommended-quote strong{color:var(--accent);font-size:20px}.box-plan-table{margin-top:8px;font-size:12px}.box-plan-table th,.box-plan-table td{vertical-align:top;line-height:1.45}.box-plan-table th:nth-child(1),.box-plan-table td:nth-child(1){width:76px}.box-plan-table th:nth-child(5),.box-plan-table th:nth-child(6),.box-plan-table td:nth-child(5),.box-plan-table td:nth-child(6){width:84px;white-space:nowrap}.box-plan-table th:nth-child(3),.box-plan-table td:nth-child(3){width:72px;white-space:nowrap}.box-plan-table th:nth-child(4),.box-plan-table td:nth-child(4){word-break:break-all}.box-plan-total{border-top:1px solid var(--line);margin:10px 0 0;padding-top:8px;font-weight:700}@media (max-width: 920px){main{grid-template-columns:1fr}aside{border-right:0;border-bottom:1px solid var(--line)}.form-grid.two,.form-grid.four,.ocr-capture-row,.paste-zone{grid-template-columns:1fr}.province-options{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid,.recommended-quote{grid-template-columns:1fr}}
