:root{--bg:#f4f5f7;--card:#fff;--text:#1f2933;--text2:#5b6770;--line:#d9dee3;--main:#9b1c2e;--main-dark:#7a1524;--ok:#1b7a4b;--ng:#b3261e;--radius:8px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Yu Gothic UI,Hiragino Sans,Meiryo,sans-serif;font-size:15px;line-height:1.6}h1,h2{margin:0}h2{font-size:17px;margin-bottom:10px}h2 small{font-weight:400;color:var(--text2);font-size:13px}p{margin:6px 0}small{color:var(--text2);font-size:12px}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff}input[type=checkbox]{width:18px;height:18px;padding:0;flex:none}input[type=file]{border:none;padding:0;width:auto}textarea{resize:vertical;line-height:1.5}label{display:block;font-size:13px;color:var(--text2);margin-bottom:10px}label>input,label>select,label>textarea{margin-top:3px;font-size:15px;color:var(--text)}button{padding:8px 16px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer;white-space:nowrap}button:hover{background:#f0f2f4}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--main);border-color:var(--main);color:#fff;font-weight:600}button.primary:hover{background:var(--main-dark)}button.big{padding:12px 32px;font-size:16px}button.link{border:none;background:none;padding:2px 4px;color:var(--main);text-decoration:underline}.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:16px;padding:8px 20px;background:#fff;border-bottom:1px solid var(--line)}.top nav{display:flex;gap:4px;flex:1;overflow-x:auto}.top nav button,.tabs button{border:none;background:none;border-radius:6px;padding:8px 12px;color:var(--text2)}.top nav button.on,.tabs button.on{background:var(--main);color:#fff;font-weight:600}.who{font-size:13px;color:var(--text2);white-space:nowrap}main{max-width:1100px;margin:0 auto;padding:20px}.stack{display:flex;flex-direction:column;gap:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0}.row.between{justify-content:space-between}.row select,.row .search{width:auto;min-width:200px;flex:0 1 320px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.grid .wide{grid-column:1/-1}label.inline{display:flex;align-items:center;gap:8px;margin:0}label.inline input{margin:0;width:auto}.hint{font-size:13px;color:var(--text2)}.hint.warn{color:var(--ng)}.loading{padding:24px;color:var(--text2)}.msg{padding:8px 12px;border-radius:6px;font-size:14px}.msg.ok{background:#e6f4ec;color:var(--ok)}.msg.error{background:#fbeaea;color:var(--ng)}.pre{white-space:pre-wrap}.raw{white-space:pre-wrap;background:var(--bg);padding:10px;border-radius:6px;font-size:13px;max-height:260px;overflow:auto}details summary{cursor:pointer;font-size:13px;color:var(--text2);margin-top:8px}.tabs{display:flex;gap:4px;overflow-x:auto}.badge{display:inline-block;padding:1px 9px;border-radius:10px;font-size:12px;background:#e8ebee;color:var(--text2);margin-left:6px;white-space:nowrap}.badge.open,.badge.accepted,.badge.sending{background:#fff3d6;color:#8a5a00}.badge.enrolled,.badge.sent,.badge.delivered{background:#e6f4ec;color:var(--ok)}.badge.failed{background:#fbeaea;color:var(--ng)}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login .card{width:100%;max-width:360px}.login h1{font-size:18px;text-align:center;margin-bottom:18px;color:var(--main)}.login button{width:100%;margin-top:6px}.paste{font-family:inherit;border:2px dashed var(--line);background:#fafbfc}.paste:focus{border-color:var(--main);outline:none;background:#fff}.checks{display:flex;flex-wrap:wrap;gap:6px 22px}.check{display:flex;align-items:center;gap:6px;font-size:15px;color:var(--text);margin:4px 0}.timeline{list-style:none;margin:14px 0 0;padding:0}.timeline li{border-top:1px solid var(--line);padding:10px 0}table{border-collapse:collapse;width:100%}.list th{text-align:left;font-size:12px;color:var(--text2);font-weight:400;padding:6px 10px;border-bottom:2px solid var(--line);white-space:nowrap}.list td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}.list td small{display:block}.list tbody tr{cursor:pointer}.list tbody tr:hover{background:#faf3f4}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.kpi span{display:block;font-size:12px;color:var(--text2)}.kpi strong{font-size:28px;color:var(--main)}.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bar{display:flex;align-items:center;gap:10px;margin:6px 0;font-size:13px}.bar-label{flex:0 0 38%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{flex:1;height:12px;background:var(--bg);border-radius:6px;overflow:hidden}.bar-fill{display:block;height:100%;background:var(--main)}.bar-value{flex:0 0 32px;text-align:right;font-weight:600}.scroll{overflow-x:auto;margin-bottom:8px}.edit{min-width:720px;margin-bottom:8px}.edit th{font-size:12px;color:var(--text2);font-weight:400;text-align:left;padding:2px 4px}.edit td{padding:2px 4px}.edit td.center{text-align:center}.edit input.num{width:120px;text-align:right}.edit input.short{width:100px}.course{border:1px solid var(--line);border-radius:6px;padding:10px 12px;margin:10px 0;background:#fafbfc}.pdf-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:12px 0;border-top:1px solid var(--line)}.pdf-row strong{flex:0 0 170px}.pdf-row .hint{flex:1 1 240px}@media (max-width:700px){.top{flex-wrap:wrap;gap:4px 10px;padding:8px 12px}.top nav{order:3;flex-basis:100%}.who{margin-left:auto}main{padding:12px}.card{padding:14px}.grid,.cols{grid-template-columns:1fr}.row select,.row .search{flex:1 1 100%}button.big{width:100%}.list thead{display:none}.list tr{display:block;border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px;margin-bottom:10px}.list td{display:flex;gap:10px;border:none;padding:3px 0}.list td:before{content:attr(data-label);flex:0 0 96px;font-size:12px;color:var(--text2)}.list td small{display:inline;margin-right:6px}}.print-root{display:none}@page{size:A4 portrait;margin:0}@page land{size:A4 landscape;margin:0}@media print{html,body{background:#fff;margin:0}#root{display:none!important}.print-root{display:block;color:#000;font-family:Yu Gothic,Hiragino Sans,Meiryo,sans-serif}.sheet{width:210mm;height:296mm;overflow:hidden;break-after:page;page-break-after:always;position:relative}.sheet.land{page:land;width:297mm;height:209mm}.sheet:last-child{break-after:auto;page-break-after:auto}.sheet.pdf img{width:100%;height:100%;object-fit:contain;display:block}.cover{padding:28mm 25mm 20mm;font-size:10.5pt;line-height:1.75}.cover .to{font-size:12pt;text-decoration:underline;margin:0 0 9mm}.cover h1{font-size:15pt;font-weight:400;text-align:center;margin:0 0 9mm}.cover .body{white-space:pre-wrap}.cover .contact{margin:9mm 0 0 48%}.cover .contact p{margin:0}.cover .contact .org{font-weight:700;padding-left:1em}.cover .contact p:nth-child(n+3){padding-left:2em}.fee{padding:13mm 16mm 10mm;font-size:9.5pt;line-height:1.5}.fee h1{font-size:19pt;line-height:1.35;margin:0}.fee .caption{text-align:right;margin:0 0 1mm;font-size:9pt}.fee table{border-collapse:collapse;width:100%}.fee th,.fee td{border:1px solid #333;padding:2.2mm 2.5mm;font-weight:400}.fee thead th{border-style:solid}.fee th.dark{background:#333;color:#fff;font-weight:700;width:19%;-webkit-print-color-adjust:exact;print-color-adjust:exact}.fee th.group{background:#ddd;font-weight:700;text-align:left;white-space:pre-wrap;width:21%;-webkit-print-color-adjust:exact;print-color-adjust:exact}.fee td.no{width:6%;font-size:8pt;background:#f1f1f1;-webkit-print-color-adjust:exact;print-color-adjust:exact}.fee td.name{background:#f1f1f1;-webkit-print-color-adjust:exact;print-color-adjust:exact}.fee td.name small{display:block;color:#000;font-size:8.5pt}.fee td.timing{width:8%;text-align:center;background:#f1f1f1;-webkit-print-color-adjust:exact;print-color-adjust:exact}.fee td.amount{text-align:center;font-size:11pt}.fee tr.total th,.fee tr.total td{font-weight:700;text-align:center}.fee .footnote{font-size:8.5pt;margin:1.5mm 0 4mm}.fee .extra{white-space:pre-wrap;font-size:8.5pt;line-height:1.45}}h3{font-size:14px;margin:18px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--line);color:var(--main)}.card>div:first-child>h3,.card>h3:first-child{margin-top:0}.lbl{display:block;font-size:13px;color:var(--text2);margin-bottom:3px}.rows-field{margin-bottom:10px}.edit.rows{min-width:480px}.edit.rows td.no{color:var(--text2);font-size:12px;width:20px}.card>.tabs{margin-top:10px;flex-wrap:wrap}.timeline li.row{margin:0;flex-wrap:nowrap;align-items:flex-start}.timeline li.row .pre{flex:1;min-width:0;overflow-wrap:anywhere}.badge.st-on{background:#e6f4ec;color:var(--ok)}.badge.st-new{background:#fff3d6;color:#8a5a00}.ai-box{border:1px solid #d9c9f0;background:#faf7ff;border-radius:6px;padding:10px 12px;margin:8px 0}.ai-box label{margin-bottom:4px}.ai-notes{margin:6px 0 0;padding-left:20px;font-size:13px;color:#8a5a00}.notes{margin:8px 0;padding:8px 12px 8px 30px}@media print{.label{padding:18mm 20mm}.label .guide{font-size:9pt;color:#555;margin:0 0 8mm}.label .cut{position:relative;border:.3mm dashed #555;padding:7mm 8mm 5mm;margin-bottom:12mm}.label .cut p{margin:0}.label .tag{position:absolute;top:-3mm;left:5mm;background:#fff;padding:0 2mm;font-size:8pt;color:#555}.label .to{width:120mm;min-height:58mm}.label .to .zip{font-size:15pt;letter-spacing:.08em}.label .to .addr{font-size:14pt;line-height:1.5;margin-top:2mm}.label .to .name{font-size:20pt;font-weight:700;margin-top:5mm}.label .to .tel{font-size:11pt;margin-top:3mm}.label .from{width:105mm;min-height:40mm}.label .from .zip{font-size:11pt}.label .from .addr{font-size:11pt;line-height:1.45;margin-top:1mm}.label .from .name{font-size:12pt;font-weight:700;margin-top:2mm}.label .from .tel{font-size:10pt;margin-top:1mm}.label .item{width:80mm}.label .item .name{font-size:12pt}}.badge.st-off{background:#eceff1;color:#78858f}
