:root{--bg:#eef2f7;--ink:#172033;--line:#d7dee8;--blue:#123c78}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px system-ui,Segoe UI,sans-serif}header{background:linear-gradient(135deg,#0c172b,#174f8d);color:#fff;padding:32px max(24px,calc((100% - 1280px)/2))}header small{color:#b9d9fb;letter-spacing:.12em}h1{margin:7px 0}header p{margin:0;color:#dbeafe}main{max-width:1280px;margin:auto;padding:24px;display:grid;gap:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 8px 24px #17365d12}h2{margin:0 0 18px;color:var(--blue)}h3{margin-top:24px;border-bottom:1px solid var(--line);padding-bottom:8px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}label{display:grid;gap:6px;font-weight:650}input,select{padding:10px;border:1px solid #cbd5e1;border-radius:7px;font:inherit}button{margin-top:20px;background:#1d4ed8;color:white;border:0;border-radius:8px;padding:12px 18px;font-weight:700}.source{display:inline-grid;gap:6px;margin:5px;padding:12px;border:1px solid var(--line);border-radius:8px}.source span{color:#b45309;font-size:.8rem;font-weight:700}.low{margin-top:15px;padding:12px;background:#fff1f2;color:#9f1239;border-radius:8px}.bands{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.band{border:1px solid var(--line);border-radius:8px;padding:12px;display:grid;gap:5px}.band strong{font-size:1.4rem;color:#0b7a55}.matrix{overflow:auto}.row{display:grid;grid-template-columns:80px repeat(24,minmax(42px,1fr));gap:3px;min-width:1100px;margin-bottom:3px}.row span{padding:7px 2px;text-align:center;border-radius:3px}.c1{background:#fecaca}.c2{background:#fde68a}.c3{background:#bbf7d0}.placeholder{padding:35px;text-align:center;border:1px dashed #94a3b8;color:#64748b}.hidden{display:none}@media(max-width:800px){.grid{grid-template-columns:repeat(2,1fr)}.bands{grid-template-columns:repeat(3,1fr)}}
:root{--mobile-note:1}
@media(max-width:600px){body{font-size:14px;overflow-x:hidden}header{padding:22px 16px}header small{font-size:.68rem}h1{font-size:1.45rem}header p{font-size:.9rem}main{padding:12px 8px;gap:12px}.panel{padding:14px 12px;border-radius:10px}h2{font-size:1.12rem;margin-bottom:14px}h3{font-size:1rem;margin-top:18px}.grid{grid-template-columns:1fr;gap:10px}input,select{min-height:44px;padding:10px;font-size:16px}button{width:100%;min-height:46px;font-size:.82rem}.source{margin:3px 1px;padding:9px 8px;font-size:.78rem}.bands{grid-template-columns:repeat(2,1fr);gap:7px}.band{padding:9px;font-size:.82rem}.matrix{margin:0 -4px;padding-bottom:6px}.row{grid-template-columns:56px repeat(24,minmax(43px,1fr));min-width:1110px}.row span{padding:9px 1px;font-size:.76rem}.placeholder{padding:18px 8px;overflow-x:auto}.placeholder svg{width:900px;max-width:none}dialog{width:calc(100vw - 24px);min-width:0;padding:16px}dialog pre{font-size:13px;line-height:1.55;overflow-wrap:anywhere}dialog button{min-height:44px;width:auto}}
@media(max-width:600px){.placeholder svg{width:100%;max-width:100%;height:auto}.matrix{overflow:hidden}.matrix .row{min-width:0;grid-template-columns:34px repeat(24,minmax(0,1fr));gap:1px}.matrix .row span{padding:7px 0;font-size:clamp(7px,2.1vw,10px);overflow:hidden}.matrix .row b{font-size:10px}.matrix .hours span{font-size:clamp(6px,1.8vw,9px);white-space:nowrap}.bands .band{min-width:0}}
