:root{--bg:#f5f6f8;--surface:#fff;--text:#1d2330;--muted:#667085;--border:#d0d5dd;--primary:#1f6feb;--primary-text:#fff;--danger:#c62828;--warn-bg:#fff7e0;--warn-border:#f0c14b;--check-bg:#fff4f4;--check-border:#e57373;--info-bg:#eaf3ff;--radius:10px;color:var(--text);font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic UI,Meiryo,sans-serif;line-height:1.6}*{box-sizing:border-box}body{background:var(--bg);margin:0;font-size:16px}main{max-width:1040px;margin:0 auto;padding:20px 16px 48px}main.narrow,.narrow-section{max-width:640px;margin-left:auto;margin-right:auto}h1{margin:0;font-size:1.4rem}h2{margin:0;font-size:1.1rem}a{color:var(--primary)}.stack>*+*{margin-top:16px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.between{justify-content:space-between}.center{text-align:center;padding:40px}.muted{color:var(--muted)}.small{font-size:.85rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.app-header{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:24px;padding:10px 20px;display:flex}.app-header .brand{flex-direction:column;line-height:1.3;display:flex}.app-header .pharmacy{color:var(--muted);font-size:.85rem}.app-header nav{flex:1;gap:4px;display:flex}.app-header nav a{color:var(--text);border-radius:8px;padding:8px 14px;text-decoration:none}.app-header nav a.active{background:var(--info-bg);color:var(--primary);font-weight:600}.app-header .user{align-items:center;gap:12px;font-size:.9rem;display:flex}input,select,button,.button{font:inherit}input:not([type=checkbox]):not([type=radio]),select{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;min-height:44px;margin-top:4px;padding:10px 12px;display:block}input:focus,select:focus{outline:2px solid var(--primary);outline-offset:0}input.search{font-size:1.1rem}button,.button{border:1px solid var(--border);min-height:44px;color:var(--text);cursor:pointer;background:#fff;border-radius:8px;padding:10px 18px;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:not-allowed}button.primary,.button.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text);font-weight:600}button.danger{color:var(--danger);border-color:var(--danger)}button.link{color:var(--primary);background:0 0;border:none;min-height:0;padding:4px}.form-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.form-grid label,.form-grid fieldset{color:var(--muted);font-size:.9rem}fieldset{border:none;margin:0;padding:0}legend{padding:0}.segmented{gap:0;margin-top:4px;display:flex}.segmented label{flex:1}.segmented input{opacity:0;position:absolute}.segmented span{text-align:center;border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;min-height:44px;padding:10px 0;display:block}.segmented label:first-child span{border-radius:8px 0 0 8px}.segmented label:last-child span{border-radius:0 8px 8px 0}.segmented label+label span{border-left:none}.segmented input:checked+span{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}.segmented input:focus-visible+span{outline:2px solid var(--primary)}.needs-check input:not([type=checkbox]):not([type=radio]),.needs-check select,.needs-check .segmented span{background:var(--check-bg);border-color:var(--check-border)}.invalid input,.invalid select{border-color:var(--danger)}.consent{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:12px;display:flex}.consent.needs-check{background:var(--check-bg);border-color:var(--check-border)}.consent input{flex-shrink:0;width:22px;height:22px;margin-top:2px}.error{color:var(--danger);margin:4px 0 0}small.error{display:block}.warning{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:8px;padding:10px 14px}.info{background:var(--info-bg);border-radius:8px;padding:10px 14px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.capture{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.capture .error{width:100%}.read-summary dl{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 16px;margin:0;display:grid}.read-summary dl>div{background:var(--bg);border-radius:8px;padding:6px 10px}.read-summary dl>div.unread{background:var(--check-bg);border:1px solid var(--check-border)}.read-summary dt{color:var(--muted);font-size:.8rem}.read-summary dd{margin:0;font-weight:600}.read-summary .unread dd{color:var(--danger);font-weight:400}.table-wrap{overflow-x:auto}table.list{border-collapse:collapse;background:var(--surface);width:100%}table.list th,table.list td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:10px 12px}table.list th{color:var(--muted);font-size:.85rem;font-weight:600}table.list tr.clickable{cursor:pointer}table.list tr.clickable:hover{background:var(--info-bg)}td.num,th.num{text-align:right}td.actions{align-items:center;gap:12px;display:flex}td.actions button{min-height:36px;padding:6px 12px}.badge{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:999px;margin-left:6px;padding:0 8px;font-size:.75rem;display:inline-block}.candidates{margin:0;padding:0;list-style:none}.candidates li+li{margin-top:8px}.patient-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.patient-head p{margin:4px 0 0}.back{text-decoration:none}.calc-preview{background:var(--info-bg);border-radius:8px;padding:12px 16px}.calc-preview .amount{font-size:1.1rem}.calc-preview .amount strong{margin-left:8px;font-size:1.5rem}.confirm{border-top:1px solid var(--border);padding-top:16px}.confirm p{margin:0}.paper{background:#fff;width:210mm;max-width:100%;min-height:297mm;margin:0 auto;padding:20mm;overflow-x:auto;box-shadow:0 2px 12px #0000001f}.certificate{color:#000;font-family:Hiragino Mincho ProN,Yu Mincho,Noto Serif JP,serif;font-size:11pt;line-height:1.7;display:flow-root;position:relative}.reissue-mark{letter-spacing:.3em;border:2px solid #000;padding:2px 14px;font-size:14pt;font-weight:700;position:absolute;top:0;right:0}.cert-title{text-align:center;letter-spacing:.1em;margin:14mm 0 10mm;font-size:18pt;font-weight:700}.cert-meta{justify-content:space-between;align-items:flex-start;display:flex}.cert-meta>div:last-child{text-align:right}.addressee{margin:10mm 0 8mm;font-size:13pt}.addressee .blank{border-bottom:1px solid #000;width:75mm;margin-right:6px;display:inline-block}.cert-body{margin:0 0 6mm}.cert-table{border-collapse:collapse;width:100%;margin-bottom:4mm}.cert-table th,.cert-table td{text-align:center;border:1px solid #000;padding:3mm 4mm}.cert-table th{background:#f2f2f2;font-weight:400}.cert-table td.num{text-align:right;font-size:13pt}.breakdown{margin:0 0 4mm;font-size:9pt}.note{margin:0 0 14mm;font-size:9pt}.issuer{justify-content:flex-end;display:flex}.issuer table{border-collapse:collapse;font-size:10.5pt}.issuer th{text-align:left;white-space:nowrap;vertical-align:middle;padding:1mm 6mm 1mm 0;font-weight:400}.issuer td{min-width:60mm;padding:1mm 0}.issuer td.manager{justify-content:space-between;align-items:center;gap:8mm;display:flex}.seal{color:#888;border:1px solid #000;border-radius:50%;justify-content:center;align-items:center;width:16mm;height:16mm;font-size:9pt;display:inline-flex}@page{size:A4;margin:20mm}@media print{body{background:#fff}.no-print,.app-header{display:none!important}main{max-width:none;margin:0;padding:0}.paper{box-shadow:none;width:auto;min-height:0;margin:0;padding:0}.no-print-paper{display:none!important}.certificate{font-size:11pt}}@media (width<=600px){.app-header{gap:8px;padding:8px 12px}.app-header nav{order:3;width:100%}.paper{min-height:0;padding:8mm}.patient-head{flex-direction:column}}
