:root{--bg:#f4f6f8;--card:#fff;--text:#1c2430;--muted:#5b6675;--border:#d7dde4;--border-strong:#b9c2cc;--primary:#0b6e4f;--primary-hover:#095c42;--primary-soft:#e3f2ec;--warn:#8a5a00;--warn-bg:#fff6e0;--warn-border:#e8b84a;--error:#b42318;--error-bg:#fdecea;--radius:10px;--focus:0 0 0 3px #0b6e4f40;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,sans-serif;font-size:15px;line-height:1.45}*{box-sizing:border-box}body{margin:0}h1,h2,h3{margin:0;line-height:1.25}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.app{max-width:1440px;margin:0 auto;padding:24px 24px 48px}.app-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.app-header h1{font-size:1.5rem}.app-header p{margin:4px 0 0}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 2px #1018280a}.btn{min-height:38px;font:inherit;color:var(--text);background:var(--card);border:1px solid var(--border-strong);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:600;display:inline-flex}.btn:hover{background:#eef1f4}.btn:focus-visible{box-shadow:var(--focus);outline:none}.btn:disabled{opacity:.6;cursor:progress}.btn-primary{color:#fff;background:var(--primary);border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-ghost{color:var(--primary);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--primary-soft)}.upload{text-align:center;border:2px dashed var(--border-strong);flex-direction:column;align-items:center;gap:10px;max-width:560px;margin:40px auto;padding:44px 32px;display:flex}.upload.is-dragging{border-color:var(--primary);background:var(--primary-soft)}.upload h2{font-size:1.2rem}.upload p{margin:0 0 8px}.upload-badge{letter-spacing:.05em;width:56px;height:64px;color:var(--primary);background:var(--primary-soft);border-radius:8px;place-items:center;margin-bottom:4px;font-size:.8rem;font-weight:700;display:grid}.error{color:var(--error);margin:8px 0 0;font-weight:600}.workspace{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:start;gap:20px;display:grid}.visit-form{padding:20px 22px 22px}.notice{background:var(--primary-soft);border:1px solid #b7dccd;border-radius:8px;margin:0 0 16px;padding:10px 14px}.notice-warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-border)}.warning-list{padding-left:32px}.section{border:0;margin:0 0 18px;padding:0}.section legend{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;padding:0;font-size:.8rem;font-weight:700}.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 14px;display:grid}.span-1{grid-column:span 1}.span-2{grid-column:span 2}.span-4{grid-column:span 4}.field label{margin-bottom:4px;font-size:.87rem;font-weight:600;display:block}.required{color:var(--error)}.field input:not([type=file]),.field select{width:100%;min-height:38px;font:inherit;color:var(--text);border:1px solid var(--border-strong);background:#fff;border-radius:7px;padding:7px 10px}.field input:not([type=file]):focus,.field select:focus{border-color:var(--primary);box-shadow:var(--focus);outline:none}.field.needs-input input:not([type=file]),.field.needs-input select{background:var(--warn-bg);border-color:var(--warn-border)}.field.has-error input:not([type=file]),.field.has-error select{background:var(--error-bg);border-color:var(--error)}.hint{color:var(--muted);margin:4px 0 0;font-size:.8rem}.hint-warn{color:var(--warn);font-weight:600}.hint-error{color:var(--error);font-weight:600}.button-row{flex-wrap:wrap;gap:8px;display:flex}.form-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;padding-top:16px;display:flex}.form-actions .error{margin:0 auto 0 0}.preview{flex-direction:column;height:calc(100vh - 32px);min-height:480px;display:flex;position:sticky;top:16px;overflow:hidden}.preview-head{border-bottom:1px solid var(--border);align-items:baseline;gap:10px;padding:10px 14px;font-size:.87rem;display:flex}.file-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.preview-frame{border:0;flex:1;width:100%}.review{max-width:880px;margin:0 auto;padding:22px 24px 24px}.review-head{justify-content:space-between;gap:20px;margin-bottom:8px;display:flex}.review-head h2{font-size:1.25rem}.review-head p{margin:6px 0 0}.review-section{margin-top:16px}.review-section h3{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:.8rem}.review-section dl{margin:0}.review-row{border-bottom:1px solid #eceff2;grid-template-columns:220px minmax(0,1fr);gap:12px;padding:7px 0;display:grid}.review-row dt{color:var(--muted);font-weight:600}.review-row dd{overflow-wrap:anywhere;margin:0}.payload{margin:20px 0 4px}.payload summary{cursor:pointer;font-weight:600}.payload pre{background:#f1f3f5;border-radius:8px;padding:12px;font-size:.82rem;overflow-x:auto}@media (width<=1100px){.workspace{grid-template-columns:minmax(0,1fr)}.preview{height:70vh;position:static}}@media (width<=640px){.app{padding:16px 16px 32px}.app-header{flex-direction:column}.grid{grid-template-columns:minmax(0,1fr)}.span-1,.span-2,.span-4{grid-column:span 1}.review-row{grid-template-columns:minmax(0,1fr);gap:2px}}
