*{box-sizing:border-box}
body{margin:0;font-family:Arial,"Nirmala UI",sans-serif;font-size:14px;color:#1b2430;background:#f3f6f9}
main{max-width:1200px;margin:0 auto;padding:16px}
a{color:#1F4E79}
nav.top{display:flex;flex-wrap:wrap;gap:14px;align-items:center;background:#1F4E79;color:#fff;padding:10px 16px}
nav.top a{color:#fff;text-decoration:none}
nav.top .brand{font-weight:bold;letter-spacing:.5px}
nav.top .who{margin-left:auto;font-size:13px}
nav.top .who a{text-decoration:underline}
nav.top select{padding:4px;border-radius:4px}
.sch{margin:0}
.card{background:#fff;border:1px solid #dbe3ea;border-radius:8px;padding:16px;margin:14px 0}
.card.login{max-width:380px;margin:60px auto}
h1{font-size:20px;margin:0 0 10px;color:#1F4E79} h2{font-size:16px;color:#1F4E79;margin:0 0 10px}
label{display:block;margin:8px 0;font-weight:bold;font-size:13px}
label.check{font-weight:normal}
input,select,textarea{font:inherit;padding:7px;border:1px solid #b9c6d2;border-radius:5px;width:100%;margin-top:3px}
label.check input,.inline input{width:auto}
button,.btn{background:#1F4E79;color:#fff;border:0;border-radius:5px;padding:7px 14px;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.grid .w2{grid-column:span 2}
@media(max-width:700px){.grid{grid-template-columns:1fr}.grid .w2{grid-column:auto}}
.inline{margin-top:14px}
.small{font-size:12px}.muted{color:#66737f}.bad{color:#b42318;font-weight:bold}.ok{color:#127a3a;font-weight:bold}.warn{color:#a15c00;font-weight:bold}
.tag{background:#eef2f6;border-radius:10px;padding:2px 8px;font-size:12px;color:#55606b}
.chip{display:inline-block;background:#eef4fa;border:1px solid #cfdeec;border-radius:12px;padding:2px 8px;margin:2px;font-size:12.5px}
.rhead{text-align:center;border-bottom:3px solid #1F4E79;padding-bottom:8px;margin:6px 0 10px;background:#fff;padding-top:10px}
.rhead .sname{font-size:20px;font-weight:bold;color:#1F4E79;letter-spacing:1px}
.rhead .rtitle{font-size:16px;font-weight:bold;margin-top:4px}
.rhead .rid{background:#1F4E79;color:#fff;border-radius:4px;padding:1px 7px;font-size:13px}
.rhead .rsub{font-size:12px;color:#55606b;margin-top:3px}
.tools{text-align:right}.filter{margin:6px 0 10px}.filter select,.filter input{width:auto}
table.grid-t{width:100%;border-collapse:collapse;background:#fff}
.grid-t th{background:#1F4E79;color:#fff;font-size:12.5px;padding:6px;border:1px solid #1F4E79;text-align:left}
.grid-t td{border:1px solid #c9d3dc;padding:5px 6px;vertical-align:top}
.grid-t td.rid{font-weight:bold;color:#1F4E79;white-space:nowrap}
.grid-t tr.sub td{background:#e9f0f7;font-weight:bold}
.grid-t tr.tot td{background:#1F4E79;color:#fff;font-weight:bold}
.grid-t tr.off td{color:#999}
.grid-t td.cs{background:#f6f9fc;white-space:nowrap}
.grid-t td.pn{font-weight:bold}
.grid-t td.sig{min-width:90px}
.tt td{font-size:11.5px;text-align:center;min-width:62px}.tt td:nth-child(2){text-align:left;white-space:nowrap}
.tt td.free{color:#9aa6b2}.tt td.clash{background:#fde2e1;color:#b42318}.tt hr{border:0;border-top:1px dashed #b42318;margin:2px 0}
.warnbox{border-color:#e7b65c;background:#fff8ea}
.sign{display:flex;justify-content:space-between;margin:46px 10px 6px}.sign span{border-top:1px solid #333;padding-top:4px;min-width:150px;text-align:center;font-size:12px}
.foot{text-align:center;font-size:10.5px;color:#7a8794;margin-top:8px}
@media print{body{background:#fff;font-size:12px}main{max-width:none;padding:0}.noprint,nav.top{display:none!important}
 .grid-t th{background:#1F4E79!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 tr.sub td,tr.tot td,.tt td.clash,.rhead .rid{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 thead{display:table-header-group}tr{page-break-inside:avoid}.card{border:0;padding:0}}
