:root{color:#1f2933;font-synthesis:none;text-rendering:optimizelegibility;background:#edf1f4;font-family:Malgun Gothic,Segoe UI,Arial,sans-serif;line-height:1.4}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,.file-button{color:#1f2933;cursor:pointer;background:#fff;border:1px solid #9aa8b3;border-radius:6px;min-height:34px;padding:6px 10px}button:hover,.file-button:hover{border-color:#315f86}button:disabled{color:#9aa8b3;cursor:not-allowed}.app-shell{grid-template-columns:minmax(0,4fr) minmax(0,6fr);min-height:100vh;display:grid}.editor-pane{background:#f8fafb;border-right:1px solid #cbd5dd;min-width:0;height:100vh;padding:18px;overflow:auto}.preview-pane{min-width:0;height:100vh;padding:18px 24px 48px;overflow:auto}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.segmented{gap:0;display:inline-flex}.segmented button{border-radius:0}.segmented button:first-child{border-radius:6px 0 0 6px}.segmented button:last-child{border-radius:0 6px 6px 0;margin-left:-1px}.segmented .active{color:#fff;background:#315f86;border-color:#315f86}.file-button{display:inline-flex;position:relative}.file-button input{display:none}.form-section{border-top:1px solid #cbd5dd;padding:16px 0}.form-section h2,.form-section h3{margin:0 0 10px;font-size:15px}.field-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field{gap:4px;display:grid}.field span{color:#52616d;font-size:12px}input,textarea{color:#1f2933;background:#fff;border:1px solid #c6d0d8;border-radius:5px;width:100%;min-height:32px;padding:6px 8px}textarea{resize:vertical;min-height:110px}.section-title-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.section-editor{gap:8px;margin-bottom:12px;display:grid}.mini-actions{gap:6px;display:flex}.table-scroll{overflow-x:auto}.edit-table,.report-table,.report-meta{border-collapse:collapse;width:100%}.edit-table th,.edit-table td{text-align:center;border:1px solid #c6d0d8;padding:5px}.edit-table th{background:#d9e8f5;font-size:12px}.edit-table input{text-align:center;border:0;padding:4px}.edit-table th:last-child,.edit-table td:last-child{width:46px}.edit-meta th{width:17%}.edit-meta td,.edit-meta th:last-child,.edit-meta td:last-child{width:33%}.photo-list{gap:10px;display:grid}.photo-editor{grid-template-columns:70px 1fr auto auto;align-items:center;gap:8px;display:grid}.photo-editor img,.missing-photo{object-fit:cover;background:#e7edf2;border:1px solid #c6d0d8;width:70px;height:52px}.missing-photo{color:#697782;text-align:center;justify-content:center;align-items:center;font-size:11px;display:flex}.filename-strip{color:#52616d;max-width:210mm;margin:0 auto 12px;font-size:13px}.report-page{color:#000;background:#fff;width:210mm;min-height:297mm;margin:0 auto;padding:18mm 16mm 24mm;position:relative;box-shadow:0 18px 42px #1f293326}.report-header{border-bottom:2px solid #000;grid-template-columns:38mm 1fr 38mm;align-items:start;min-height:18mm;margin:0 0 12mm;padding-bottom:3mm;display:grid}.report-logo{object-fit:contain;width:18mm;height:auto;display:block}.report-page h1{text-align:center;margin:3mm 0 0;padding-bottom:0;font-size:20px}.report-section{margin-top:8mm}.report-section h2{margin:0 0 3mm;font-size:14px}.report-section p{white-space:pre-wrap;min-height:14mm}.report-table th,.report-table td{text-align:center;vertical-align:middle;border:1px solid #000;height:8mm;padding:1.5mm 2mm;font-size:12px}.report-meta th,.report-meta td{vertical-align:middle;border:1px solid #000;height:6.5mm;padding:1mm 1.6mm;font-size:12px}.report-meta th,.report-table th{text-align:center;background:#d9e8f5;font-weight:700}.report-meta th{width:17%}.report-meta td{text-align:center;width:33%}.report-photos{grid-template-columns:1fr 1fr;gap:5mm;display:grid}.report-photos figure{border:1px solid #000;min-height:58mm;margin:0}.report-photos img,.photo-placeholder{object-fit:contain;width:100%;height:50mm;display:block}.photo-placeholder{color:#777;background:#fff;justify-content:center;align-items:center;display:flex}.report-photos figcaption{text-align:center;border-top:1px solid #000;padding:2mm;font-size:12px;font-weight:700}.report-footer{color:#000;text-align:center;font-size:12px;position:absolute;bottom:8mm;left:0;right:0}.error-text{color:#b42318;margin:0 0 10px}@media (width<=720px){.app-shell{grid-template-columns:1fr}.editor-pane,.preview-pane{height:auto}}@media print{:root,body{background:#fff}@page{size:A4;margin:0}.no-print,.editor-pane{display:none!important}.app-shell,.preview-pane{height:auto;padding:0;display:block;overflow:visible}.report-page{box-shadow:none;width:210mm;min-height:297mm;margin:0;padding:18mm 16mm 24mm}}
