:root{font-family:system-ui,sans-serif;color:#16313d;background:#eff4f6;font-size:16px}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}header{padding:18px max(16px,calc((100vw - 1120px)/2));background:#113342;color:white;display:flex;align-items:center;justify-content:space-between;gap:12px}header strong{display:block;font-size:24px}header span{font-size:13px;color:#bed4dd}main{max-width:1120px;margin:auto;padding:20px}h1{font-size:25px}h2{font-size:21px}h3{font-size:17px}button,input,select,textarea{font:inherit}button,.button{border:1px solid #bdcdd5;border-radius:10px;background:white;color:#16313d;padding:12px 16px;cursor:pointer;min-height:46px;text-decoration:none;display:inline-block}button:hover{filter:brightness(.96)}button:focus-visible,a:focus-visible{outline:3px solid #da9e18}button.primary,.active{background:#087a70!important;color:white;border-color:#087a70}button:disabled{opacity:.55;cursor:wait}.panel,.card{background:white;padding:22px;border:1px solid #d6e2e7;border-radius:15px;margin-bottom:16px;min-width:0}.card{border-top:4px solid #087a70}.muted,small{color:#617883}.muted{font-size:14px;line-height:1.5}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:14px;font-weight:600;margin:12px 0}input,select,textarea{display:block;width:100%;padding:12px;border:1px solid #b9cbd3;border-radius:9px;background:white;color:#16313d;margin-top:6px}textarea{min-height:100px}input[type=checkbox]{width:auto;display:inline}nav{display:flex;gap:8px;overflow:auto;margin-bottom:18px}nav button{white-space:nowrap}.big{font-size:25px;line-height:1.4;margin:8px 0 18px}.quick{display:grid;gap:12px;margin-top:22px}.quick button{min-height:62px;font-size:18px;font-weight:600}.notice{padding:12px 16px;border-left:4px solid #c89028;background:#fff7e3;line-height:1.5;font-size:14px;margin-bottom:16px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.stat{padding:16px;border-radius:12px;background:white;border:1px solid #d6e2e7}.stat b{display:block;font-size:28px}.stat small{display:block}.calhead,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calhead{font-size:12px;text-align:center;margin:16px 0 8px}.day{min-width:0;min-height:88px;padding:8px 3px;display:flex;flex-direction:column;align-items:center;gap:5px}.day.red{background:#ffedea;border-color:#d79f94}.day.green{background:#eef8f2;border-color:#b3d9c2}.day.selected{outline:2px solid #087a70}.day span{font-size:12px}.bar{height:20px;background:#e8eef1;border-radius:6px;position:relative;overflow:hidden}.gap{position:absolute;background:#d15a49;height:100%}.scale{display:flex;justify-content:space-between;font-size:11px;color:#617883}.detail{border:1px solid #dce6ea;padding:14px;border-radius:10px;margin:10px 0;break-inside:avoid}.detail.red{border-left:4px solid #d15a49}.detail strong{display:block;margin-bottom:6px}.detail p{margin:6px 0;line-height:1.5;overflow-wrap:anywhere}.pill{display:inline-block;padding:3px 7px;background:#e9f0f3;border-radius:5px;font-size:12px}.link{overflow-wrap:anywhere;background:#f0f5f7;padding:12px;border-radius:8px;font-size:13px}dialog{border:0;border-radius:16px;padding:24px;width:min(560px,calc(100% - 24px));max-height:92vh;overflow:auto}dialog::backdrop{background:#1238}#message{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:#143949;color:white;padding:14px 20px;border-radius:10px;z-index:10;max-width:94%;width:max-content}#print{display:none}details{margin:14px 0}summary{cursor:pointer;font-weight:600}.error{color:#a52f26}header button{font-size:13px;padding:8px 10px}
@media(max-width:650px){main{padding:12px}header{padding:14px}.panel,.card{padding:15px}.split{grid-template-columns:1fr}.stats{gap:6px}.stat{padding:10px 8px}.stat b{font-size:24px}.stat small{font-size:11px}.calendar{gap:4px}.day{min-height:72px;font-size:14px;border-radius:8px}.day span{font-size:10px}.calhead{gap:4px}.row{gap:7px}h1{font-size:22px}h2{font-size:19px}.big{font-size:23px}.scale{font-size:10px}}
@media print{body>*{display:none!important}#print{display:block!important;color:black;background:white;padding:0}#print .panel{border:0;padding:6px}#print .detail{break-inside:avoid}.bar{print-color-adjust:exact;-webkit-print-color-adjust:exact}.gap{print-color-adjust:exact;-webkit-print-color-adjust:exact}@page{size:A4;margin:15mm}}
