:root{--nav:#1b2a4a;--nav2:#16233a;--navline:#2a3f60;--navink:#e8edf5;--shell:#d6d7da;--panel:#fff;--panel2:#eff0f2;--bline:#d9dadc;--bline2:#c4c5c8;--ink:#1a2333;--ink2:#4a5568;--ink3:#8a8d93;--vline:#e4e5e7;--amber:#e8a516;--thbg:#1b2a4a;--think:#fff;--aff:#1e7a44;--affb:#4ca36f;--dan:#b3261e;--danb:#d5715c;--neu:#5a6b85;--tsurf:#fff;--even:#f7f9fc;--hov:#edf2fa;--green-tint:#1e7a441a;--red-tint:#b3261e1a;--totbg:#5b5b5b;--shadow:0 3px 10px #141e372e}body.dark{--shell:#162438;--panel:#1c2b42;--panel2:#22344f;--bline:#2a3f60;--bline2:#33496b;--ink:#e8edf5;--ink2:#b7c2d4;--ink3:#7e8ca3;--vline:#33496b;--thbg:#1c2b42;--think:#b7c2d4;--aff:#7bd9a0;--affb:#2e6b45;--dan:#f1948a;--danb:#8a3a34;--neu:#8fa1bd;--tsurf:#273c5b;--even:#2c4267;--hov:#3a517a;--green-tint:#7bd9a01f;--red-tint:#f1948a1f;--totbg:#5b5b5b;--shadow:0 3px 10px #00000059}*{box-sizing:border-box}body{background:var(--shell);color:var(--ink);margin:0;font:14px/1.45 Segoe UI,system-ui,sans-serif}.app{grid-template:"side top"70px"side main"1fr/225px 1fr;min-height:100vh;display:grid}.top{border-bottom:1px solid var(--bline);background:#fff;grid-area:top;align-items:center;padding:0 1.2rem;display:flex}.side{background:var(--nav);color:var(--navink);flex-direction:column;grid-area:side;display:flex}.brand{background:var(--nav2);align-items:center;gap:.55rem;padding:.8rem 1rem;font-size:1.05rem;font-weight:700;display:flex}.brand .mark{background:var(--amber);color:#16233a;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-weight:800;display:flex}.grp{letter-spacing:.1em;color:#c7d1e2;text-transform:uppercase;border-top:1px solid var(--navline);align-items:center;width:100%;padding:.6rem 1rem;font-size:.74rem;font-weight:700;display:flex}.sub a{color:var(--navink);cursor:pointer;padding:.42rem 1rem .42rem 1.35rem;font-size:.92rem;text-decoration:none;display:block}.sub a.act,.sub a:hover{background:var(--navline)}.setrow{border-top:1px solid var(--navline);margin-top:auto;padding:.8rem 1rem}.gear{all:unset;cursor:pointer;color:#c7d1e2}.gear:hover{color:var(--amber)}.main{grid-area:main;padding:1.2rem 1.5rem}.phead{justify-content:center;align-items:center;gap:.7rem;display:flex}h1{margin:.1rem 0 .2rem;font-size:1.2rem;font-weight:700}.pdate{color:var(--ink);margin-left:.35rem;font-size:1.05rem;font-weight:700}.sub2{color:var(--ink3);font-size:.85rem;font-weight:400}.navarrow{all:unset;cursor:pointer;color:var(--ink2);border:1px solid var(--bline2);background:var(--panel);border-radius:6px;padding:.15rem .55rem;font-size:1rem}.navarrow:hover{color:var(--amber);border-color:var(--amber)}.statusline{text-align:center;margin:.25rem 0;font-size:.85rem}.statusline .lock{color:var(--ink3)}.cols{align-items:flex-start;gap:1rem;display:flex}.leftcol{flex-direction:column;flex:0 0 300px;gap:.6rem;display:flex}.leftcol #btnrow.stacked{flex-direction:column;gap:.5rem;margin-top:0;display:flex}.leftcol #btnrow.stacked button{width:100%}.rightcol{flex:1;min-width:0}@media (width<=1100px){.cols{flex-wrap:wrap}.leftcol{order:2}.rightcol{order:1}}table.grid th.code,table.grid td.code{text-overflow:ellipsis;max-width:330px;overflow:hidden}table.grid th:not(.code),table.grid td:not(.code){width:46px}.colL{min-width:0}.colR{align-self:start}.cards{flex-wrap:nowrap;gap:.9rem;margin:0 0 .9rem;display:flex}.card{background:var(--panel);box-shadow:var(--shadow);border-radius:6px;padding:.7rem 1rem}.cards .card{flex:1 1 0;min-width:0;overflow:hidden}.cards .card .k,.cards .card .v{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.card .k{letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);font-size:.7rem}.card .v{margin-top:.15rem;font-size:1.4rem;font-weight:700}.card.warn .v{color:var(--amber)}button.aff,button.neu,button.dan{background:var(--panel);cursor:pointer;box-shadow:var(--shadow);font-weight:600;font:inherit;border-radius:6px;padding:.5rem 1rem;font-weight:600}button.aff{color:var(--aff);border:1.5px solid var(--affb)}button.neu{color:var(--neu);border:1.5px solid var(--neu)}button.dan{color:var(--dan);border:1.5px solid var(--danb)}button[disabled]{opacity:.45;cursor:not-allowed}#btnrow,.dlgbtns{flex-wrap:wrap;gap:.6rem;margin-top:.8rem;display:flex}.tablewrap{background:var(--tsurf);box-shadow:var(--shadow);border-radius:6px;margin-top:.9rem;overflow:auto}table.grid{border-collapse:collapse;width:100%;min-width:980px}table.grid th,table.grid td,table.grid th *,table.grid td *{white-space:nowrap}table.grid.fit{width:auto;min-width:0}table.grid.fit th,table.grid.fit td{white-space:nowrap;padding-left:.7rem;padding-right:.7rem}.tablewrap.fit{max-width:100%;display:inline-block}table.grid th{letter-spacing:.1em;text-transform:uppercase;color:var(--think);background:var(--thbg);text-align:center;padding:.55rem;font-size:.68rem;position:sticky;top:0}table.grid th.code,table.grid td.code{text-align:left;white-space:nowrap;width:1%;padding-left:.8rem;padding-right:.8rem}table.grid th:not(:last-child),table.grid td:not(:last-child){border-right:1px solid var(--vline)}table.grid td{text-align:center;border-top:1px solid var(--vline);padding:.28rem .3rem}table.grid tbody tr:nth-child(2n) td{background:var(--even)}table.grid tbody tr:hover td{background:var(--hov)}table.grid td input{text-align:center;width:52px;color:var(--ink);font:inherit;background:0 0;border:1px solid #0000;border-radius:6px;padding:.25rem .1rem}table.grid td input:hover:not([disabled]){border-color:var(--bline2)}table.grid td input:focus{border-color:var(--amber);outline:none}table.grid td input[disabled]{color:var(--ink3)}.wkend{background:var(--panel2)!important}.holcol{outline:2px dashed var(--amber);outline-offset:-2px}.pendcell{outline:2px dashed var(--amber);outline-offset:-2px;background:#e8a5161f!important}.auto{color:var(--amber);font-size:.6rem;line-height:.6;display:block}.rowtot{font-weight:700}tr.sep td{border-top:3px solid var(--bline2);height:6px;padding:0;background:var(--shell)!important}.rowdel{all:unset;cursor:pointer;color:var(--dan);margin-right:.5rem;font-size:.8rem}.rowdel:hover{font-weight:800}table.grid tfoot td{color:#fff;border-top:2px solid var(--totbg);padding:.5rem .3rem;font-weight:700;background:var(--totbg)!important}table.grid tfoot td.code{letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}.legend{color:var(--ink3);margin-top:.55rem;font-size:.78rem}.calcard{cursor:pointer;flex-direction:column;min-width:0;padding:.7rem 1rem;display:flex;overflow:hidden}.calnav{all:unset;cursor:pointer;color:var(--ink2);padding:0 .25rem}.calnav:hover{color:var(--amber)}table.cal{border-collapse:collapse;flex:1;width:100%;margin-top:.2rem}table.cal th{color:var(--ink3);background:0 0;border:0;padding:.2rem;font-size:.66rem}table.cal td{text-align:center;background:0 0;border:0;padding:.1rem 0;font-size:.8rem}table.cal td .d{border-radius:50%;justify-content:center;align-items:center;width:27px;height:27px;display:inline-flex}table.cal td .cyc{background:var(--panel2)}table.cal td .spill{color:var(--ink3)}table.cal td .pd{background:var(--green-tint);border:1.5px solid var(--affb);font-weight:700}table.cal td .pdhd{background:var(--green-tint);border:2px dashed var(--amber);font-weight:700}table.cal td .today{background:var(--nav);color:#fff;font-weight:700}table.cal td .today.pd{background:var(--nav);border:1.5px solid var(--affb)}table.cal td .today.hd{background:var(--nav);border:1.5px dashed var(--amber)}table.cal td .today.pdhd{background:var(--nav);border:2px dashed var(--amber)}table.cal td .today.spill{color:#c7d1e2}.dott{vertical-align:middle;background:var(--nav);border-radius:50%;width:10px;height:10px;display:inline-block}table.cal td .hd{border:1.5px dashed var(--amber);background:#e8a51626;font-weight:700}.callegend{color:var(--ink3);margin-top:.4rem;font-size:.7rem}.dotp,.doth,.dotc{vertical-align:middle;border-radius:50%;width:10px;height:10px;display:inline-block}.dotp{background:var(--green-tint);border:1.5px solid var(--affb)}.doth{border:1.5px dashed var(--amber);background:#e8a51640}.dotc{background:var(--panel2);border:1px solid var(--bline2)}.modalback{z-index:50;background:#0a101c8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--panel);box-shadow:var(--shadow);color:var(--ink);border-radius:8px;flex-direction:column;max-width:560px;max-height:82vh;padding:1.1rem 1.3rem;display:flex}.modal>*{flex:none}.modal .tabs{gap:.5rem;margin-bottom:.6rem;display:flex}.modal .tabs button{flex:1}.modal .modalbody{flex:auto;min-height:0;margin:.2rem 0;overflow:auto}.trimline{background:var(--red-tint);border:1px solid var(--danb);border-radius:6px;margin:.6rem 0;padding:.5rem .7rem}.okline{background:var(--green-tint);border:1px solid var(--affb);border-radius:6px;margin:.6rem 0;padding:.5rem .7rem}.att{color:var(--ink2);align-items:flex-start;gap:.5rem;margin:.7rem 0;font-size:.85rem;display:flex}.pick{border:1px solid var(--bline);border-radius:6px;justify-content:space-between;align-items:center;margin:.35rem 0;padding:.45rem .7rem;display:flex}.pick small{color:var(--ink3)}.savetick{background:var(--panel);color:var(--aff);border:1px solid var(--affb);box-shadow:var(--shadow);border-radius:6px;padding:.3rem .7rem;transition:opacity .25s;position:fixed;bottom:18px;right:22px}input.reason,select.reason{border:1px solid var(--bline2);width:100%;font:inherit;background:var(--panel);color:var(--ink);box-sizing:border-box;border-radius:6px;padding:.4rem}select.reason{cursor:pointer;appearance:auto}select.setval{width:auto;min-width:0;max-width:360px;margin:.35rem .8rem}input.setval{width:320px;margin:.35rem .8rem}select.filtersel{font:inherit;border:1px solid var(--bline2);background:var(--panel);color:var(--ink);border-radius:6px;padding:.35rem .4rem}table.grid button.neu,table.grid button.aff,table.grid button.dan{padding:.22rem .55rem;font-size:.82rem}.err{background:var(--red-tint);border:1px solid var(--danb);color:var(--ink);border-radius:6px;margin:.6rem 0;padding:.5rem .7rem}.chip{background:var(--panel2);border:1px solid var(--bline2);border-radius:99px;align-items:center;gap:.3rem;margin:.12rem .3rem .12rem 0;padding:.1rem .55rem;font-size:.84rem;display:inline-flex}.chipx{cursor:pointer;color:var(--dan);font-weight:700}.chip.add{color:var(--neu);cursor:pointer;border-style:dashed}.chip.add:hover{color:var(--aff);border-color:var(--affb)}table.grid.resizable th{text-overflow:ellipsis;position:relative;overflow:hidden}table.grid.resizable td{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.grip{cursor:col-resize;-webkit-user-select:none;user-select:none;width:7px;height:100%;position:absolute;top:0;right:0}.grip:hover{background:var(--amber)}table.grid th.nm,table.grid td.nm{max-width:280px;color:var(--ink3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}table.grid th.code,table.grid td.code{white-space:nowrap}input.reason.showas{min-width:0;padding:.2rem .4rem}span.showas{cursor:text;text-align:left;text-overflow:ellipsis;border:1px solid #0000;border-radius:6px;padding:.25rem .4rem;display:inline-block;overflow:hidden}span.showas:hover{border-color:var(--bline2)}.fld{color:var(--ink2);margin:.5rem 0;font-size:.8rem;display:block}.fld .reason{width:100%;margin-top:.15rem;display:block}.warn{color:var(--amber);font-weight:700}.warnline{border:1px solid var(--amber);background:#fff6e0;border-radius:6px;margin:.4rem 0;padding:.45rem .7rem;font-size:.86rem}h2{margin:1.2rem 0 .2rem;font-size:1rem}table.grid td.estcell input{border:2px dotted #c0392b;border-radius:5px}.estbanner{background:var(--red-tint,#fdecea);color:var(--ink);border:1px solid #c0392b;border-radius:6px;margin:.6rem 0;padding:.5rem .7rem;font-weight:600}button.eston{color:#7d2419;cursor:pointer;background:#fdecea;border:1.5px solid #c0392b;border-radius:6px;padding:.55rem 1rem;font-family:inherit;font-size:1rem;font-weight:700}button.eston:hover{background:#fbdad6}button.actbtn{text-align:center;box-sizing:border-box;border-width:1.5px;width:88px;padding:.3rem 0;font-size:.85rem;font-weight:600;line-height:1.2}table.settingsgrid td.code,table.settingsgrid th.code{max-width:825px}.foldertabs{border-bottom:2px solid var(--ink,#1e2a44);align-items:flex-end;gap:.3rem;width:fit-content;max-width:100%;padding:0 .4rem;display:flex}.foldertabs .tab{appearance:none;cursor:pointer;font:inherit;color:var(--sub,#5a6b8c);background:#e7e3d6;border:1px solid #b9b29a;border-bottom:none;border-radius:10px 10px 0 0;padding:.45rem 1.2rem .4rem;font-size:.85rem;font-weight:600;position:relative;top:2px;box-shadow:inset 0 -4px 6px -5px #0006}.foldertabs .tab.on{background:var(--card,#fff);color:inherit;border-color:var(--ink,#1e2a44);box-shadow:none;z-index:2;padding-bottom:.55rem;top:2px}.folderpanel{border:2px solid var(--ink,#1e2a44);background:var(--card,#fff);border-top:none;border-radius:0 0 8px 8px;width:fit-content;max-width:100%;padding:.8rem .8rem .9rem}.folderpanel .tablewrap{display:block}.folderpanel button.neu{display:inline-block}.folderpanel .tablewrap{margin-top:0}.fgrow{flex-wrap:wrap;align-items:flex-start;gap:1.6rem;margin-top:1.2rem;display:flex}.fgleft{flex:0 auto;min-width:0}.fgdetail{border:2px solid var(--ink,#1e2a44);background:var(--card,#fff);border-radius:8px;flex:0 0 320px;margin-top:2.05rem;padding:.8rem 1rem 1rem}.fgdetail h2{margin-top:0;font-size:1rem}.login{min-height:100vh;display:flex}.login-left{color:#fff;background:linear-gradient(165deg,#243252 0%,#16203a 60%,#101a30);flex:1;justify-content:center;align-items:center;padding:2rem;display:flex;position:relative;overflow:hidden}.login-left:before{content:"";opacity:.5;background:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 800 800%22><g fill=%22none%22 stroke=%22%23ffffff%22 stroke-opacity=%220.05%22 stroke-width=%222%22><path d=%22M-50 620 L180 420 L330 540 L520 340 L700 500 L900 380%22/><path d=%22M-50 700 L200 520 L360 630 L560 440 L760 590 L900 480%22/><path d=%22M-50 540 L160 330 L310 450 L500 250 L690 410 L900 290%22/></g></svg>") 50%/cover;position:absolute;inset:0}.login-lockup{z-index:1;align-items:center;gap:1.1rem;display:flex;position:relative}.login-lockup h2{margin:0;font-size:1.7rem;font-weight:700}.login-subtle{color:#9fb0d0;letter-spacing:.16em;text-transform:uppercase;margin-top:.45rem;font-size:.92rem;font-weight:500}.nbadge{color:#1e2a44;background:radial-gradient(circle at 35% 30%,#ffd766,#f0b429);border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:flex;box-shadow:0 2px 6px #0004}.nbadge.big{flex:0 0 56px;width:56px;height:56px;font-size:1.9rem}.login-right{text-align:center;background:#fff;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.15rem;padding:2rem;display:flex}body.dark .login-right{background:var(--card)}.login-hello{margin-top:.3rem;font-size:1.1rem;font-weight:700}.login-sub2{color:var(--sub2,#5a6b8c);margin-top:-.85rem;font-size:.85rem}.msbtn{color:#fff;cursor:pointer;background:linear-gradient(#23a55e,#1c8a4e);border:none;border-radius:10px;justify-content:center;align-items:center;gap:.6rem;min-width:320px;padding:.85rem 1.5rem;font-size:.98rem;font-weight:600;display:inline-flex;box-shadow:0 8px 20px -8px #1c8a4e99}.msbtn:hover{filter:brightness(1.05)}.login-foot{color:var(--sub2,#5a6b8c);font-size:.74rem}.login-foot a{color:#1c8a4e;font-weight:600;text-decoration:none}@media (width<=800px){.login{flex-direction:column}.login-left{min-height:34vh}}.side .brand .mark{color:#1e2a44;background:radial-gradient(circle at 35% 30%,#ffd766,#f0b429);border-radius:50%}.side a .cnt{background:#ffffff26;border-radius:999px;margin-left:auto;padding:.08rem .5rem;font-size:.68rem;font-weight:700}.side a.act .cnt{background:#fff3}.side a{align-items:center;gap:.5rem;display:flex}.mailchip{letter-spacing:.03em;border-radius:999px;margin-right:.25rem;padding:.05rem .45rem;font-size:.66rem;font-weight:700;display:inline-block}.mailchip.ok{color:#1c8a4e;background:#1c8a4e22}.mailchip.warn{color:#a97b0a;background:#f0b42922}.mailchip.bad{color:#c0392b;background:#c0392b22}
