:root{color-scheme:light;--ink:#273e48;--brand:#315463;--line:#bdd0d3;--paper:#fffefa;--soft:#edf3f3;--danger:#873e34}
*{box-sizing:border-box}
html{font-size:18px}
body{margin:0;background:#e9eff0;color:var(--ink);font-family:"BIZ UDゴシック","Hiragino Kaku Gothic ProN",system-ui,sans-serif;line-height:1.65}
body.huge{font-size:1.22em}
button,input,textarea,select{font:inherit}
button,.file-button{min-height:48px;padding:10px 16px;border:2px solid var(--brand);border-radius:11px;background:var(--brand);color:#fff;font-weight:700;cursor:pointer}
button.secondary,.file-button{background:#fff;color:var(--brand)}
button.danger{border-color:var(--danger);background:#fff;color:var(--danger)}
button:disabled,input:disabled{opacity:.55;cursor:not-allowed}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.file-button:focus-within{outline:3px solid #c57937;outline-offset:3px}
#app{max-width:1040px;margin:auto;padding:0 18px 36px}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:20;background:#fff;padding:8px}
header{padding:32px 8px 8px}.brand{display:flex;align-items:center;gap:18px}.brand h1{font-size:clamp(1.6rem,4vw,2.5rem);line-height:1.3;margin:3px 0}.eyebrow{font-weight:800;letter-spacing:.06em;color:#526f73;margin:0}.lead{font-size:1.13em;font-weight:650}
.notice{padding:13px 16px;background:var(--soft);border-left:5px solid var(--brand);border-radius:8px}.warning{padding:14px;background:#fff0e9;border:2px solid var(--danger);border-radius:10px}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:24px;margin:24px 0;box-shadow:0 4px 14px #18343b11;min-width:0}
.inner{border-top:1px solid var(--line);padding-top:18px;margin-top:24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.section-head h2{margin:0}.sub{font-size:.88em;color:#4c656b}
.actions,.tabs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0}.tabs button[aria-pressed="true"]{background:var(--brand);color:#fff}
label{display:block;font-weight:700;margin:13px 0 5px}input:not([type=file]),textarea,select{width:100%;max-width:100%;padding:11px;border:2px solid #a7bcc2;border-radius:9px;background:#fff;color:var(--ink)}textarea{resize:vertical;min-height:92px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:15px;margin:16px 0}.card,.record{border:1px solid var(--line);border-radius:12px;padding:17px;background:#fafdff;overflow-wrap:anywhere}.card h3{margin:0 0 5px}.card p{margin:6px 0}.memo{white-space:pre-wrap;overflow-wrap:anywhere}.state{display:inline-block;border-radius:7px;padding:2px 8px;background:#e2e9eb;font-weight:700}.state.ready{background:#dbeadd}.empty{padding:18px;border:1px dashed var(--line);border-radius:9px}
.question{padding:10px 0;border-bottom:1px solid var(--line)}.question label{margin:0}.question button{margin-top:8px}.detail-list{margin:0;padding-left:1.5em}.detail-list li{white-space:pre-wrap;overflow-wrap:anywhere;padding:5px 0}
.file-button{display:flex;width:100%;max-width:100%;min-width:0;flex-wrap:wrap;align-items:center;gap:8px;overflow-wrap:anywhere}.file-button input{width:100%;max-width:100%;min-width:0;font-size:.85em}
#confirm{max-width:min(680px,calc(100vw - 24px));border:2px solid var(--brand);border-radius:14px;padding:22px;background:#fff;color:var(--ink)}#confirm::backdrop{background:#102b3499}#confirm-text{white-space:pre-wrap;overflow-wrap:anywhere}
#print-sheet{background:#fff;color:#111}.print-page{padding:2mm 0}.print-page h1{font-size:19pt;line-height:1.3}.print-page h2{font-size:13pt;border-bottom:1px solid #777;margin:8mm 0 2mm}.print-field,.print-question{white-space:pre-wrap;overflow-wrap:anywhere}.print-question{margin:2mm 0;break-inside:avoid}.print-disclaimer{border-top:1px solid #888;padding-top:3mm;font-size:9pt}
.print-item{margin-top:5mm;border-top:1px solid #aaa;break-inside:avoid}.print-item h2{border:0;margin:2mm 0}.print-item p{margin:1mm 0}
footer{padding:24px 8px;color:#4c656b}
@media(max-width:640px){#app{padding:0 10px 30px}.panel{padding:16px;margin:15px 0}.brand{gap:10px}.brand img{width:50px;height:50px}.section-head button{width:100%}.tabs button{flex:1 1 120px}.actions button{flex:1 1 130px}.file-button{width:100%;min-width:0}.file-button input{min-width:0;max-width:100%}}
[hidden]{display:none!important}
@media print{@page{size:A4 portrait;margin:14mm}body{background:#fff;color:#111;font:10.5pt/1.4 "BIZ UDゴシック",sans-serif!important}#app,dialog{display:none!important}#print-sheet[hidden],#print-sheet{display:block!important}.print-page{padding:0}.print-page h1{margin:0 0 4mm}.print-page h2{break-after:avoid}.print-disclaimer{margin-top:8mm}.print-item{break-inside:auto}.print-item h2{break-after:avoid}}
