[hidden]{display:none!important}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:'Microsoft JhengHei','微軟正黑體','PingFang TC','Noto Sans TC',sans-serif;font-size:13px;color:#222;background:#fff;min-width:1280px}
a{color:#0645ad;text-decoration:underline;cursor:pointer}
.wm{position:fixed;inset:0;pointer-events:none;opacity:.05;z-index:50}
.hd{height:46px;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid #c9c9c9;gap:8px}
.hd .sys{font-size:19px;font-weight:bold;color:#0b5a3c;letter-spacing:1px}
.hd .r{margin-left:auto;text-align:right;font-size:12px;line-height:1.45;color:#444}
.out{background:#c0392b;color:#fff;border:0;padding:2px 9px;margin-left:8px;font:inherit;cursor:pointer}
.loginbar{background:#f2f2f2;border-bottom:1px solid #d6d6d6;font-size:12px;color:#555;padding:3px 12px}
.menu{background:#0b5a3c;display:flex}
.menu span{color:#fff;padding:6px 14px;border-right:1px solid #2d7a5b;cursor:pointer;position:relative}
.menu span:hover{background:#13724d}
.menu span.on{background:#e6b422;color:#222;font-weight:bold}
.menu .sub{display:none;position:absolute;left:0;top:100%;background:#fff;border:1px solid #9aa;z-index:40;min-width:190px;box-shadow:2px 2px 4px rgba(0,0,0,.2)}
.menu span:hover .sub{display:block}
.menu .sub div{color:#222;padding:6px 10px;border-bottom:1px solid #e3e3e3;font-weight:normal}
.menu .sub div:hover{background:#fff3c4}
.ptabs{display:flex;gap:2px;padding:6px 10px 0;background:#e9ecea;border-bottom:1px solid #b9c2bd;min-height:30px}
.ptabs span{background:#d6dcd8;border:1px solid #b9c2bd;border-bottom:0;padding:3px 10px;font-size:12.5px;cursor:pointer}
.ptabs span.on{background:#fff;font-weight:bold;position:relative;top:1px}
.ptabs span i{font-style:normal;margin-left:6px;color:#666}
.pos{font-size:12px;color:#666;padding:6px 14px}
main{padding:0 14px 40px}
.q{border:1px solid #b9c2bd;background:#f7f9f8;margin-bottom:8px}
.q .t,.box .t{background:#dfe7e2;padding:4px 9px;font-weight:bold;font-size:12.5px;border-bottom:1px solid #b9c2bd;display:flex;align-items:center}
.box .t span{margin-left:auto;font-weight:normal;color:#555}
.grid{display:grid;grid-template-columns:repeat(4,96px 1fr);gap:6px;padding:9px 10px;align-items:center}
.grid label{text-align:right}
select,input[type=text],input[type=password],input[type=number]{border:1px solid #a9a9a9;background:#fff;height:23px;padding:1px 4px;font:inherit;font-size:12.5px;width:100%}
.btns{display:flex;gap:8px;justify-content:center;padding:5px 0 9px}
.btns.l{justify-content:flex-start}
button{font:inherit;font-size:13px;border:1px solid #8a8a8a;background:linear-gradient(#fdfdfd,#e2e2e2);padding:3px 14px;border-radius:2px;cursor:pointer}
button.p{background:linear-gradient(#2f8a63,#0b5a3c);color:#fff;border-color:#0b5a3c}
button:disabled{opacity:.5;cursor:default}
.sum{margin:6px 0;display:flex;gap:16px;font-size:12.5px;align-items:center}
.sum b{color:#c0392b}
table{border-collapse:collapse;width:100%;font-size:12.5px}
th{background:#0b5a3c;color:#fff;font-weight:normal;padding:4px 6px;border:1px solid #2d7a5b;white-space:nowrap;text-align:center}
td{border:1px solid #d0d6d2;padding:3px 6px;height:25px}
tr:nth-child(even) td{background:#f4f7f5}
tr.hit td{background:#fff3c4!important}
tr.click{cursor:pointer}
td.n{text-align:right;font-variant-numeric:tabular-nums}
td.c{text-align:center}
td.s{max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nw td{white-space:nowrap}
.red{color:#c0392b;font-weight:bold}
.amb{color:#9a6b00;font-weight:bold}
.ok{color:#1e7d4f;font-weight:bold}
.pager{display:flex;justify-content:space-between;font-size:12px;color:#444;padding:5px 2px}
.pager a{margin:0 3px}
.two{display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:10px;align-items:start}
.two>div:first-child{overflow:hidden}
.box{border:1px solid #b9c2bd;margin-bottom:8px;background:#fff}
fieldset{border:1px solid #c9d1cc;margin:7px 8px;padding:4px 8px 6px}
legend{font-size:12px;color:#0b5a3c;font-weight:bold;padding:0 4px}
.kv{display:grid;grid-template-columns:72px 1fr 72px 1fr;gap:3px 6px}
.kv span:nth-child(odd){color:#666;text-align:right}
.rec{font-family:'MingLiU','細明體',Consolas,monospace;font-size:12.5px;line-height:1.6;white-space:pre;background:#fff;border:1px solid #a9a9a9;padding:4px 6px;overflow-x:auto}
.rec .g{color:#999}.rec b{font-weight:normal}.rec b.bad{background:#c0392b;color:#fff}.rec b.cmp{background:#ffe066}
.note{line-height:1.7}
.small{font-size:12px;color:#555}
.foot{position:fixed;left:0;right:0;bottom:0;height:24px;background:#e9ecea;border-top:1px solid #b9c2bd;font-size:12px;color:#444;display:flex;align-items:center;padding:0 12px;gap:20px;z-index:30}
.foot .sp{flex:1}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;z-index:60}
.mbox{background:#fff;border:1px solid #6b7d73;min-width:520px;max-width:900px;box-shadow:3px 3px 8px rgba(0,0,0,.3)}
.mt{background:#0b5a3c;color:#fff;padding:5px 10px;display:flex;font-weight:bold}
.mx{margin-left:auto;background:none;border:0;color:#fff;padding:0 4px}
.mb{padding:10px 12px;max-height:70vh;overflow:auto}
.log{font-family:Consolas,'MingLiU',monospace;font-size:12.5px;background:#fbfbfb;border:1px solid #c9d1cc;padding:6px 8px;min-height:180px;white-space:pre-wrap;line-height:1.6}
.bar{height:14px;background:#e3e8e5;border:1px solid #b9c2bd;position:relative}
.bar i{position:absolute;left:0;top:0;bottom:0;background:#2f8a63}
.chart{border:1px solid #c9d1cc;background:#fff}
.tag{display:inline-block;border:1px solid #b9c2bd;background:#f2f5f3;padding:0 5px;font-size:11.5px}
.radio label{display:block;padding:3px 0;cursor:pointer}
.login-page{position:fixed;inset:0;background:#e9ecea;display:flex;align-items:center;justify-content:center}
.lbox{width:420px;background:#fff;border:1px solid #9aa79f;box-shadow:2px 2px 6px rgba(0,0,0,.15)}
.lbox .lt{background:#0b5a3c;color:#fff;padding:10px 14px;font-size:16px;font-weight:bold;display:flex;gap:8px;align-items:center}
.lbox .lg{display:grid;grid-template-columns:80px 1fr;gap:9px;padding:18px 22px 8px;align-items:center}
.lbox .lg label{text-align:right}
.lbox .lf{font-size:11.5px;color:#666;padding:4px 22px 14px;line-height:1.6}
.ripple{position:fixed;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;border:3px solid rgba(230,180,34,.95);pointer-events:none;z-index:99;animation:rp .55s ease-out forwards}
@keyframes rp{to{transform:scale(3.2);opacity:0}}
