:root{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji"}body{margin:0;padding:24px;background:#f7f7f9;color:#111}.app{max-width:1400px;margin:0 auto}.pdfDual{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}@media (max-width: 960px){.pdfDual{grid-template-columns:1fr}}.pdfPanel{min-width:0}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.actions{display:flex;gap:8px;margin-bottom:12px;align-items:center;flex-wrap:wrap}button{border:1px solid #ddd;background:#fff;padding:8px 12px;border-radius:8px;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}input[type=file]{padding:8px 0}.status{margin:8px 0 16px;color:#444;font-size:14px}.canvasWrap{background:#fff;border:1px solid #e6e6e6;border-radius:12px;overflow:auto;padding:12px;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.canvasWrap.dragActive{border-color:#6ca0ff;box-shadow:0 0 0 3px #6ca0ff33;background:#f5f9ff}.resultsToolbar{display:flex;align-items:center;gap:8px;margin-top:12px;margin-bottom:8px}.card{background:#fff;border:1px solid #e6e6e6;border-radius:12px;padding:12px;margin-top:12px}.resultsSection .card{margin-top:0}.canvasLayer{position:relative}.canvasLayer canvas{cursor:crosshair;display:block}.marker{position:absolute;width:12px;height:12px;margin-left:-6px;margin-top:-6px;border:2px solid #d11;border-radius:50%;background:#ffffffd9;pointer-events:none}.stackTable{width:100%;border-collapse:collapse}.excelTable{border:1px solid #d0d7de}.stackTable th,.stackTable td{border:1px solid #e7ebef;padding:6px;text-align:left;vertical-align:middle}.stackTable input,.stackTable select,.formRow input,.formRow select{width:100%;box-sizing:border-box;padding:6px 8px;border:1px solid #d0d7de;border-radius:4px;background:#fff}.stackTable input[type=checkbox],.inlineField input[type=checkbox]{width:auto}.stackTable input:focus,.stackTable select:focus{outline:2px solid #6ca0ff;outline-offset:0;border-color:#6ca0ff}.selectedCell{background:#eaf2ff}.excelLetters th{background:#f3f5f8;text-align:center;font-weight:600}.rowHeader{background:#f3f5f8;text-align:center;width:48px;font-weight:600}.formulaBar{display:flex;align-items:center;gap:10px;border:1px solid #d0d7de;border-radius:6px;padding:8px 10px;margin-bottom:8px;background:#fbfcff}.formulaLabel{font-weight:700;color:#4f637a}.formulaValue{color:#223;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.inlineField{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#334}.inlineField select{border:1px solid #d0d7de;border-radius:6px;padding:6px 8px;background:#fff}.nameSnippetPreview{max-width:400px;width:100%;height:auto;border:1px solid #d7dee8;border-radius:6px;display:block}.nameSnippetThumb{width:140px;height:auto;border:1px solid #d7dee8;border-radius:4px;display:block;margin-bottom:4px}.vizSvg{width:100%;max-width:480px;height:auto;display:block}.vizLabel{fill:#43516b;font-size:12px}.vizLabelStrong{fill:#1e2d47;font-size:12px;font-weight:700}.vizGapBanner{padding:10px 12px;border-radius:8px;margin-bottom:12px;font-size:14px;line-height:1.35}.vizGapBanner--all{background:#e8f5e9;color:#1b5e20}.vizGapBanner--none{background:#ffebee;color:#b71c1c}.vizGapBanner--mixed{background:#fff8e1;color:#e65100}.vizSvgSecondary{margin-top:8px}.formRow{display:grid;grid-template-columns:1.2fr 80px 1fr 1fr 1fr 1fr auto auto auto;gap:8px}.resultGrid{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:8px}.resultGridThree{grid-template-columns:repeat(3,minmax(120px,1fr))}.okText{margin-top:10px;color:#046100}.errorText{margin-top:10px;color:#b00020}.error{margin-top:12px;color:#b00020;font-size:14px;white-space:pre-wrap}
