:root{color:#0f172a;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--brand-navy:#0a1442;--brand-blue:#123a86;--brand-table:#123a86;--brand-total:#172e7a;--brand-gradient:linear-gradient(120deg, #0a1442 0%, #123a86 100%);font-family:var(--font-sans);font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f6fb}*{box-sizing:border-box}body{min-width:0;margin:0}button,select{font:inherit}.page{background:#f4f6fb;min-height:100vh;padding:10px 12px 16px}.nav{-webkit-backdrop-filter:blur(16px);z-index:40;background:#fffffff2;border:1px solid #e2e8f0b3;border-radius:16px;align-items:center;gap:10px;margin-bottom:8px;padding:6px 10px;display:flex;position:sticky;top:4px;box-shadow:0 6px 22px #0f172a14}.tabs{gap:4px;margin-right:4px;display:flex}.tab{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:6px;height:28px;padding:0 12px;font-size:12px;font-weight:900}.tab:disabled{opacity:.45;cursor:default}.tab.on{color:#fff;background:#071d49;box-shadow:0 1px 2px #071d4933}.snap{color:#0f172a;background:#fff;border:1px solid #dbe3ee;border-radius:6px;min-width:168px;height:28px;padding:0 8px;font-size:12px;font-weight:700}span.otp-asof{box-sizing:border-box;align-items:center;min-width:110px;display:inline-flex}.seg{background:#eef2f7;border-radius:8px;padding:2px;display:inline-flex}.seg-btn{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:6px;height:24px;padding:0 10px;font-size:12px;font-weight:800}.seg-btn:disabled{cursor:default;opacity:.7}.seg-btn.on{color:#fff;background:#071d49}.sc-row{gap:2px;margin-left:4px;display:flex}.sc{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:6px;height:28px;padding:0 8px;font-size:12px;font-weight:800}.sc.on{color:#fff;background:#071d49;box-shadow:0 1px 2px #071d492e}.nav-icons{align-items:center;gap:8px;margin-left:auto;display:flex}.lang-toggle{color:#475569;letter-spacing:.02em;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-width:36px;height:28px;padding:0 8px;font-size:10px;font-weight:900;box-shadow:0 1px 2px #0f172a0a}.lang-toggle:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.toolbar{background:var(--brand-gradient);color:#fff;border-radius:16px 16px 0 0;align-items:center;gap:14px;min-height:44px;padding:8px 14px;display:flex}.tool-main{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff24;border:0;border-radius:6px;height:28px;padding:0 10px;font-size:12px;font-weight:800}.tool-main:hover{background:#ffffff38}.tool-links{color:#ffffff8c;white-space:nowrap;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.tool-label{opacity:.7;margin-right:4px}.rank-btn{color:#ffffffbf;cursor:pointer;background:0 0;border:0;border-radius:6px;height:26px;padding:0 9px;font-size:11px;font-weight:800}.rank-btn:hover{color:#fff;background:#ffffff1a}.rank-btn.on{color:#172554;background:#fff;box-shadow:0 1px 2px #0000001f}.tool-kpis{gap:18px;margin-left:8px;display:flex}.tk{white-space:nowrap;align-items:baseline;gap:6px;display:flex}.tk span{color:#ffffffb3;font-size:11px;font-weight:600}.tk b{letter-spacing:.01em;font-size:15px;font-weight:900}.tk i{font-size:11px;font-style:normal;font-weight:800}.tool-right{align-items:center;gap:6px;margin-left:auto;display:flex}.chip{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff38;border-radius:999px;height:26px;padding:0 9px;font-size:11px;font-weight:700}.chip.on{background:#318fe8;border-color:#318fe8}.chip.muted{opacity:.75;cursor:default}.chip.ghost{cursor:default;opacity:.65}.baseline-bar.warn{color:#1e40af;background:#eff6ff;border-bottom-color:#bfdbfe}.cell-btn.clickable{cursor:pointer}.cell-btn.clickable:hover{filter:brightness(.985)}.cell-active{outline-offset:-2px;z-index:1;outline:2px solid #278ff0;position:relative}.row-active .col-label{box-shadow:inset 3px 0 #49a3f7}.detail-card{background:#fff;border:1px solid #e2e8f0f2;border-radius:16px;margin-top:12px;overflow:hidden;box-shadow:0 8px 28px #0f172a0d}.detail-head{background:#f5f8fb;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.detail-kicker{letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin:0;font-size:10px;font-weight:900}.detail-head h2{color:#102a4c;margin:4px 0 0;font-size:15px;font-weight:900}.detail-sub{color:#64748b;margin:4px 0 0;font-size:12px;font-weight:600}.detail-close{color:#94a3b8;cursor:pointer;background:0 0;border:0;border-radius:8px;width:32px;height:32px;font-size:22px;line-height:1}.detail-close:hover{color:#0f172a;background:#e2e8f0}.detail-error{color:#9a3412;background:#fff7ed;margin:0;padding:10px 16px;font-size:12px;font-weight:700}.detail-table-wrap{max-height:54vh;overflow:auto}.detail-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1290px;font-size:11px}.detail-table thead th{z-index:2;color:#fff;text-align:left;white-space:nowrap;background:#123a86;border-right:1px solid #ffffff26;padding:8px 6px;font-weight:900;position:sticky;top:0}.detail-table tbody td{color:#334155;vertical-align:top;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #f1f5f9;padding:8px 6px;overflow:hidden}.detail-table tbody tr:hover{background:#f8fafc}.track-btn{color:#334155;font:inherit;font-family:var(--font-mono);cursor:pointer;text-align:left;text-overflow:ellipsis;background:0 0;border:0;max-width:100%;padding:0;font-weight:700;overflow:hidden}.track-btn:hover{color:#1d4ed8}.detail-table .strong{font-weight:900}.detail-table .code{font-family:var(--font-mono);color:#1d4ed8;font-weight:900}.detail-table .num-cell{text-align:center;font-variant-numeric:tabular-nums;font-weight:900}.band-pill{border-radius:999px;max-width:100%;padding:2px 6px;font-size:10px;font-weight:900;display:inline-block}.band-pill.bad{color:#b91c1c;background:#fee2e2}.band-pill.warn{color:#c2410c;background:#ffedd5}.band-pill.ok{color:#b45309;background:#fffbeb}.empty-row{font-weight:700;text-align:center!important;color:#94a3b8!important;padding:40px 12px!important}.detail-pager{color:#64748b;border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:12px;padding:10px 14px;font-size:12px;font-weight:600;display:flex}.detail-pager button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #dbe3ee;border-radius:6px;height:30px;margin-left:6px;padding:0 10px;font-size:12px;font-weight:700}.detail-pager button:disabled{opacity:.4;cursor:default}.main{padding:0}.card{background:#fff;border:1px solid #e2e8f0e6;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px #0f172a0d}.table-scroll{max-width:100%;overflow:auto}.matrix{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1100px;font-size:13px}.matrix thead th{z-index:3;color:#64748b;text-align:center;background:#f3f6fa;border-bottom:1px solid #dfe7f1;border-right:1px solid #e8eef5;padding:9px 8px;font-size:12px;font-weight:800;position:sticky;top:0}.col-label{z-index:4;background:#f7f9fc;width:240px;min-width:240px;position:sticky;left:0;text-align:left!important;border-right:1px solid #dfe7f1!important;padding:0!important}.aging-menu-trigger{width:100%;color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:4px;padding:9px 12px;font-weight:800;display:flex}.aging-menu-trigger:hover,.aging-menu-trigger.open{background:#eaf0f7}.aging-chev{color:#94a3b8;margin-left:2px;font-size:10px}.aging-menu-backdrop{z-index:90;cursor:default;background:0 0;border:0;position:fixed;inset:0}.aging-menu{z-index:100;text-align:left;color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:224px;padding:8px;position:fixed;overflow:hidden;box-shadow:0 16px 40px #0f172a2e}.aging-menu-title{letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;margin:0;padding:2px 8px 6px;font-size:11px;font-weight:900}.aging-menu-grid{grid-template-columns:1fr 1fr;gap:4px;display:grid}.aging-band{color:#94a3b8;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;font-weight:700;display:flex}.aging-band:hover{background:#f8fafc}.aging-band.on{color:#0b2e63;background:#eff6ff}.aging-check{color:#fff;background:#fff;border:1px solid #cbd5e1;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;line-height:1;display:inline-flex}.aging-band.on .aging-check{background:#318fe8;border-color:#318fe8}.aging-menu-hint{color:#94a3b8;margin:8px 0 0;padding:0 8px 2px;font-size:10px;line-height:1.4}.col-spark{width:78px}.col-band{width:102px}.col-total{width:128px;color:#1f5fc4!important;background:#eef4fb!important;border-left:1px solid #d7e3f1!important}.matrix tbody th,.matrix tfoot th{z-index:2;background:#f7f9fc;border-bottom:1px solid #e8eef5;border-right:1px solid #dfe7f1;padding:0;position:sticky;left:0}.row-label{color:#0b2e63;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;width:100%;padding:8px 10px;font-size:13px;font-weight:900;display:flex}.row-label:hover:not(:disabled){background:#f1f5f9}.row-label:disabled{cursor:default;opacity:.95}.chev{color:#94a3b8;font-weight:700;transform:translateY(-1px)}.cell{text-align:right;vertical-align:middle;border-bottom:1px solid #e8eef5;border-right:1px solid #ffffff8c;padding:0}.cell-btn{color:#0f172a;cursor:default;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:flex-end;gap:2px;width:100%;min-height:38px;padding:6px 10px;font-size:13px;font-weight:900;display:flex}.cell-btn.zero{color:#cbd5e1;font-weight:600}.cell-btn small{font-size:10px;font-weight:800;line-height:1}.col-spark{text-align:center;background:#f7f9fc;border-bottom:1px solid #e8eef5;border-right:1px solid #dfe7f1;padding:4px 2px}.total-cell{background:#f2f6fb;border-left:1px solid #dce6f2}.total-btn{color:#1f5fc4;flex-flow:wrap;justify-content:flex-end;gap:6px}.share{color:#64748b;font-size:11px;font-weight:700}.total-num{font-weight:900}.foot-label{color:#64748b;text-align:left;font-size:12px;font-weight:900;padding:10px!important}.foot-cell{background:#f8fafc}.foot-stack{align-items:center;gap:4px}.foot-num{font:inherit;color:inherit;cursor:default;background:0 0;border:0;flex-direction:column;align-items:flex-end;gap:2px;padding:0;display:flex}.foot-num.clickable{cursor:pointer}.foot-num.clickable:hover{color:#1d4ed8}.foot-num small{font-size:10px;font-weight:700}.spark{vertical-align:middle;display:inline-block}.spark.empty{color:#cbd5e1;font-size:12px}.spark-btn{cursor:pointer;background:0 0;border:0;border-radius:6px;padding:2px 4px;line-height:0}.spark-btn:hover{background:#e8f2ff}.row-label.open{color:#0b2e63}.row-label.own-parent{color:#0b2e63;font-weight:800}.row-label.own-dept{color:#1e3a5f;padding-left:18px;font-weight:700}.row-label.own-cat{color:#475569;padding-left:32px;font-weight:600}.row-label.own-dest{color:#64748b;padding-left:46px;font-weight:500}.row-label .chev.spacer{visibility:hidden}.row-name{flex-direction:column;flex:1;align-items:flex-start;min-width:0;display:inline-flex;overflow:hidden}.row-name .event-desc{text-overflow:ellipsis;white-space:nowrap;color:#334155;max-width:100%;font-size:12px;font-weight:800;line-height:1.25;overflow:hidden}.row-name code{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-family:var(--font-mono);color:#94a3b8;font-size:10px;font-weight:700;overflow:hidden}.row-name small{text-overflow:ellipsis;white-space:nowrap;color:#94a3b8;max-width:100%;font-size:10px;font-weight:600;overflow:hidden}.row-dim{opacity:.3}.row-picked .col-label{background:#eaf3ff;box-shadow:inset 3px 0 #318fe8}.rank-row{position:relative;padding-left:22px!important}.select-hit{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:flex-end;align-items:center;width:22px;padding-right:4px;display:flex;position:absolute;inset:0 auto 0 0}.select-hit:focus-visible{outline-offset:-2px;outline:2px solid #93c5fd}.select-dot{background:#cbd5e1;border-radius:999px;width:6px;height:6px;transition:transform .12s,background .12s,box-shadow .12s}.select-hit:hover .select-dot{background:#60a5fa;transform:scale(1.25)}.select-dot.on{background:#318fe8;box-shadow:0 0 0 2px #318fe829}.selection-chip{color:#fff;background:#318fe8;border-radius:8px;align-items:center;gap:8px;margin-left:auto;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex;box-shadow:0 4px 14px #318fe847}.selection-chip b{font-variant-numeric:tabular-nums;font-weight:900}.selection-sep{background:#ffffff4d;width:1px;height:12px}.selection-chip button{color:#fff;cursor:pointer;background:#ffffff26;border:0;border-radius:6px;padding:2px 6px;font-size:11px;font-weight:900}.selection-chip button:hover{background:#ffffff40}.row-busy{color:#94a3b8;margin-left:4px;font-style:normal}.chev.soft{color:#94a3b8}.child-row .col-label{background:#f8fafc}.child-row .cell{background:#fcfdff}.child-label{color:#334155;font-size:12px;font-weight:700;padding:6px 10px 6px 28px!important}.child-empty{color:#94a3b8;font-size:12px;font-weight:600;text-align:left!important;padding:10px 14px 10px 28px!important}.driver-count{color:#94a3b8;flex-shrink:0;margin-left:auto;font-size:10px;font-weight:700}.driver-row .col-label{background:#fff}.driver-label{color:#475569;font-size:12px;padding:6px 10px 6px 44px!important;font-weight:600!important}.driver-label .dot{background:#cbd5e1;border-radius:999px;flex-shrink:0;width:6px;height:6px}.fleet-badges{z-index:3;gap:3px;display:inline-flex;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.fleet-badge{color:#475569;letter-spacing:.04em;cursor:pointer;background:#ffffffeb;border:1px solid #94a3b88c;border-radius:4px;height:18px;padding:0 6px;font-size:9px;font-weight:900;line-height:1}.fleet-badge.xlsx{color:#047857;border-color:#10b98173}.fleet-badge.png{color:#1d4ed8;border-color:#3b82f673}.fleet-panel{background:#f5f8fb;border:1px solid #dbe3ee;border-radius:16px;margin-top:12px;overflow:hidden;box-shadow:0 8px 28px #0f172a0d}.fleet-panel-bar{background:#fff;border-bottom:1px solid #e2e8f0;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.fleet-panel-bar b{color:#0f172a;font-weight:900}.fleet-panel-bar>span{color:#64748b;font-size:12px;font-weight:700}.fleet-panel-meta{margin-left:auto;color:#94a3b8!important}.fleet-panel-bar button{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;height:28px;padding:0 10px;font-size:11px;font-weight:900}.fleet-panel-bar button.xlsx{color:#047857;background:#ecfdf5;border-color:#6ee7b7}.fleet-panel-bar button:disabled{opacity:.45;cursor:default}.fleet-panel-empty{text-align:center;color:#94a3b8;margin:0;padding:28px 12px;font-weight:700}.fleet-panel-scroll{background:#fff;max-height:62vh;overflow:auto}.fleet-panel table{border-collapse:collapse;width:100%;min-width:1120px;font-size:12px}.fleet-panel thead th{color:#fff;text-align:left;background:#123a86;border-right:1px solid #ffffff26;padding:8px 12px;font-weight:900;position:sticky;top:0}.fleet-panel td{vertical-align:middle;color:#334155;border-top:1px solid #f1f5f9;border-right:1px solid #e2e8f0;padding:6px 12px}.fleet-panel tr.cut td{border-top:3px solid #64748b}.fleet-panel tr.fleet-cut td{border-top:2px solid #94a3b8}.fleet-panel tr.soft td{border-top:2px solid #cbd5e1}.fleet-panel .num{text-align:center;font-weight:800}.fleet-panel .sticky-cell{background:#f8fafc;font-weight:900}.fleet-panel em{color:#2563eb;font-style:normal;font-weight:900}.fleet-panel .tracks{padding:0}.fleet-panel .tracks>div{border-bottom:1px solid #e2e8f0;grid-template-columns:7fr 9fr;display:grid}.fleet-panel .tracks>div:last-child{border-bottom:0}.fleet-panel .tracks span{padding:6px 12px}.fleet-panel .tracks span:first-child{font-family:var(--font-mono);border-right:1px solid #e2e8f0;font-weight:700}.fleet-png-stage{pointer-events:none;width:1080px;position:fixed;top:0;left:-20000px}.fleet-png-page{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;overflow:hidden}.fleet-png-head{color:#102a4c;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:12px 16px;font-size:16px;display:flex}.fleet-png-head span{color:#94a3b8;font-size:12px;font-weight:700}.fleet-png-head strong{color:#2563eb;margin-right:4px;font-size:20px}.fleet-png-page table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:10px}.fleet-png-page thead th{color:#fff;text-align:left;background:#123a86;border-right:1px solid #ffffff26;padding:8px}.fleet-png-page td{vertical-align:middle;border-top:1px solid #f1f5f9;border-right:1px solid #e2e8f0;padding:4px 8px}.fleet-png-page tr.cut td{border-top:3px solid #94a3b8}.fleet-png-page tr.soft td{border-top:2px solid #cbd5e1}.fleet-png-page .num{text-align:center;font-weight:800}.fleet-png-page .mono{font-family:var(--font-mono);font-weight:700}.fleet-badge.accent{color:#071d49;background:#a5f3fc;border-color:#67e8f9}.cell-btn{position:relative}.detail-actions{align-items:center;gap:8px;display:flex}.export-btn{color:#071d49;cursor:pointer;background:#67e8f9;border:0;border-radius:8px;height:32px;padding:0 12px;font-size:12px;font-weight:900}.child-row.empty-expand td{color:#94a3b8;background:#f8fafc;padding:10px 14px 12px 36px;font-size:12px;font-weight:700}.modal-backdrop{z-index:80;background:#0f172a73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(560px,100%);max-height:min(90vh,720px);padding:16px;overflow:auto;box-shadow:0 20px 50px #0f172a47}.modal-head{justify-content:space-between;gap:12px;margin-bottom:10px;display:flex}.modal-head h2{color:#0f172a;margin:0;font-size:16px;font-weight:900}.modal-head p{color:#64748b;margin:4px 0 0;font-size:12px;font-weight:600}.trend-chart-wrap{background:linear-gradient(#f8fbff,#fff);border:1px solid #dce7f4;border-radius:16px;padding:10px}.trend-chart{width:100%;height:auto;display:block}.trend-empty{text-align:center;color:#94a3b8;margin:24px 0;font-weight:700}.trend-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;display:grid}.trend-stats>div{background:#f8fafc;border-radius:12px;padding:10px 12px}.trend-stats span{color:#94a3b8;font-size:10px;font-weight:800;display:block}.trend-stats b{color:#2767c9;margin-top:4px;font-size:16px;font-weight:900;display:block}.trend-days{border:1px solid #e2e8f0;border-radius:12px;margin-top:10px;overflow:hidden}.trend-day{border-bottom:1px solid #f1f5f9;justify-content:space-between;padding:8px 14px;font-size:13px;display:flex}.trend-day:last-child{border-bottom:0}.trend-day span{color:#475569;font-weight:700}.trend-day b{color:#2767c9;font-weight:900}.modal-foot{justify-content:flex-end;margin-top:12px;display:flex}.modal-foot .chip{color:#0f172a;background:#f1f5f9;border-color:#e2e8f0}.toast{z-index:90;color:#fff;background:#0f172a;border-radius:999px;padding:10px 16px;font-size:12px;font-weight:800;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0f172a59}.delta-up{color:#be123c!important}.delta-down{color:#047857!important}.delta-flat{color:#94a3b8!important}.footer-note{color:#94a3b8;margin:10px 2px 0;font-size:11px;font-weight:600}.empty-card{text-align:center;color:#475569;background:#fff;border:1px dashed #cbd5e1;border-radius:16px;max-width:480px;margin:48px auto;padding:36px 24px;font-weight:700}.empty-card code{background:#f1f5f9;border-radius:8px;margin-top:12px;padding:8px 12px;font-size:12px;font-weight:600;display:inline-block}@media (width<=900px){.nav{flex-wrap:wrap;gap:8px;padding:8px 10px}.tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.snap{flex:160px;min-width:0}.sc-row{-webkit-overflow-scrolling:touch;width:100%;margin-left:0;padding-bottom:2px;overflow-x:auto}.nav-icons{display:none}.toolbar{flex-wrap:wrap;gap:10px;padding:10px}.tool-links{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.tool-kpis{justify-content:space-between;gap:8px;width:100%;margin-left:0}.tk b{font-size:14px}.tool-right{-webkit-overflow-scrolling:touch;width:100%;margin-left:0;overflow-x:auto}.main{padding:8px}.card{border-radius:12px}.matrix{min-width:860px;font-size:12px}.col-label{width:168px;min-width:168px}.col-spark{width:64px}.col-band{width:84px}.col-total{width:108px}.row-label{padding:8px 6px;font-size:12px}.cell-btn{min-height:36px;padding:5px 6px;font-size:12px}.mobile-hint{color:#1e40af;background:#eff6ff;border-radius:8px;margin:0 0 8px;padding:8px 10px;font-size:11px;font-weight:700;display:block}.detail-table{min-width:980px}}@media (width>=901px){.mobile-hint{display:none}}@media (width<=520px){.tab{padding:0 10px;font-size:11px}.tool-kpis{flex-wrap:wrap}.tk{min-width:30%}}.sched-page{--sc-ink:#183b35;--sc-cell-ink:#233f39;--sc-line:#c7d5d0;--sc-card-line:#d6e2dd;--sc-emerald-50:#ecfdf5;--sc-emerald-200:#a7f3d0;--sc-emerald-700:#047857;--sc-emerald-800:#065f46;color:var(--sc-ink);zoom:.9;padding:0 0 16px}.sched-card-bar{background:var(--brand-gradient);color:#fff;flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;padding:8px 14px;display:flex}.sched-card-bar h2{color:#fff;margin:0 2px 0 0;font-size:13px;font-weight:900;line-height:20px}.sched-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff24;border:0;border-radius:6px;height:28px;padding:0 10px;font-size:12px;font-weight:800}.sched-btn:hover{background:#ffffff3d}.sched-week{background:#ffffff1a;border-radius:6px;align-items:center;gap:2px;height:28px;padding:0 2px;display:inline-flex}.sched-nav{color:#ffffffbf;cursor:pointer;background:0 0;border:0;border-radius:5px;width:24px;height:24px;font-size:15px;line-height:1}.sched-nav:hover{color:#fff;background:#ffffff2e}.sched-range{text-align:center;color:#fff;font-variant-numeric:tabular-nums;min-width:168px;font-size:12px;font-weight:800}.sched-mode{align-items:center;gap:4px;display:inline-flex}.sched-mode-btn{color:#ffffffbf;cursor:pointer;background:0 0;border:0;border-radius:6px;height:26px;padding:0 9px;font-size:11px;font-weight:800}.sched-mode-btn:hover{color:#fff;background:#ffffff1a}.sched-mode-btn.on{color:#172554;background:#fff;box-shadow:0 1px 2px #0000001f}.sched-bar-right{align-items:center;gap:6px;margin-left:auto;display:flex}.sched-badge{color:#fff;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff38;border-radius:999px;align-items:center;height:26px;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.sched-badge.muted{opacity:.7}.sched-edit{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff24;border:0;border-radius:6px;height:26px;padding:0 11px;font-size:11px;font-weight:800}.sched-edit:hover{background:#ffffff3d}.sched-edit.on{color:#fff;background:#318fe8}.sched-card{border:1px solid var(--sc-card-line);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.sched-scroll{overflow-x:auto}.sched-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:1000px;font-size:12px}.sched-table col.c-sc{width:64px}.sched-table col.c-role{width:96px}.sched-table thead th{border-bottom:1px solid var(--sc-line);border-right:1px solid var(--sc-line);color:#475569;text-align:center;vertical-align:middle;padding:8px;font-size:12px;font-weight:700;line-height:16px}.sched-table thead th.wknd{background:var(--sc-emerald-50)}.sched-table .dname{display:block}.sched-table .ddate{color:#94a3b8;font-variant-numeric:tabular-nums;font-size:10px;font-weight:700;display:block}.sched-table tbody th.sc-cell{border-right:1px solid var(--sc-line);width:64px;color:var(--sc-ink);letter-spacing:.05em;text-align:center;vertical-align:middle;background:#fbfcfb;padding:0;font-size:14px;font-weight:900}.sched-table tbody th.role-cell{border-right:1px solid var(--sc-line);border-top:1px solid var(--sc-line);color:#475569;text-align:center;vertical-align:middle;padding:6px 8px;font-size:12px;font-weight:700;line-height:16px}.sched-role-stack{flex-direction:column;align-items:center;line-height:1.15;display:flex}.sched-role-sub{color:#94a3b8;font-size:9px;font-weight:700}.sched-td{border-right:1px solid var(--sc-line);border-top:1px solid var(--sc-line);text-align:center;vertical-align:middle;background:#fff;height:44px;padding:4px}.sched-td.lead{border-right:0}.sched-td.wknd{background:#ecfdf580}.sched-td.empty{background:#ffe4e6}.sched-td.editable{cursor:text}.sched-td .filled{color:var(--sc-cell-ink);font-size:12px;font-weight:700;line-height:16px}.sched-td .dash{color:#f43f5e;font-size:12px;font-weight:700;line-height:16px}.sched-input-wrap{position:relative}.sched-input{border:1px solid var(--sc-emerald-200);width:100%;height:30px;color:var(--sc-cell-ink);font:inherit;text-align:center;background:#fff;border-radius:8px;padding:0 6px;font-size:12px;font-weight:700}.sched-input.empty{background:#fff5f6;border-color:#fecdd3}.sched-input:focus{border-color:var(--sc-emerald-700);outline:2px solid #04785738}.sched-spin{border:2px solid var(--sc-emerald-200);border-top-color:var(--sc-emerald-700);border-radius:50%;width:10px;height:10px;animation:.7s linear infinite sched-spin;display:inline-block;position:absolute;top:10px;right:5px}.sched-spin.lg{width:18px;height:18px;position:static}@keyframes sched-spin{to{transform:rotate(360deg)}}.sched-error{color:#be123c;margin:10px 2px 0;font-size:12px;font-weight:700}.sched-loading{justify-content:center;padding:14px;display:flex}@media (width<=720px){.sched-card-bar h2{font-size:12px}.sched-range{min-width:150px;font-size:11px}}.page-sched{background:#f5f7f4}.pod-page{color:#0f172a;padding:0 0 16px}.pod-card{background:#fff;border:1px solid #e2e8f0e6;border-radius:16px;overflow:visible;box-shadow:0 8px 28px #0f172a0d}.pod-toolbar{background:var(--brand-gradient);color:#fff;border-radius:16px 16px 0 0;flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;padding:8px 14px;display:flex;position:relative}.pod-title{font-size:13px;font-weight:900}.pod-select{color:#fff;background:#ffffff24;border:0;border-radius:6px;min-width:152px;height:28px;padding:0 8px;font-size:12px;font-weight:800}.pod-select option{color:#0f172a}.pod-sc-row{gap:3px;display:flex}.pod-sc{color:#ffffffb8;cursor:pointer;background:0 0;border:0;border-radius:6px;height:26px;padding:0 9px;font-size:11px;font-weight:800}.pod-sc:hover{color:#fff;background:#ffffff1f}.pod-sc.on{color:#172554;background:#fff}.pod-btn{color:#fff;cursor:pointer;background:#ffffff24;border:0;border-radius:6px;align-items:center;gap:6px;height:28px;padding:0 11px;font-size:12px;font-weight:800;display:inline-flex}.pod-btn:hover{background:#ffffff3d}.pod-btn.on{background:#318fe8}.pod-btn b{font-variant-numeric:tabular-nums}.pod-search{align-items:center;display:inline-flex;position:relative}.pod-search input{color:#fff;background:#ffffff1f;border:0;border-radius:6px;width:220px;height:28px;padding:0 24px 0 10px;font-size:12px;font-weight:600}.pod-search input::placeholder{color:#ffffff80}.pod-search input:focus{outline:2px solid #ffffff59}.pod-search button{color:#fff;cursor:pointer;background:#fff3;border:0;border-radius:50%;width:18px;height:18px;font-size:13px;line-height:1;position:absolute;right:4px}.pod-tool-right{align-items:center;gap:6px;margin-left:auto;display:flex}.pod-chip{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff38;border-radius:999px;height:26px;padding:0 10px;font-size:11px;font-weight:700}.pod-chip:hover:not(:disabled){background:#ffffff2e}.pod-chip.on{background:#318fe8;border-color:#318fe8}.pod-chip:disabled{opacity:.35;cursor:default}.pod-filter-panel{z-index:90;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:316px;padding:12px;position:absolute;top:46px;right:12px;box-shadow:0 18px 44px #0f172a38}.pod-filter-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.pod-filter-head button{color:#94a3b8;cursor:pointer;background:0 0;border:0;font-size:16px;line-height:1}.pod-filter-title{margin:0;font-size:12px;font-weight:900}.pod-filter-sub{color:#94a3b8;margin:2px 0 0;font-size:9px}.pod-filter-tabs{background:#f1f5f9;border-radius:8px;grid-template-columns:1fr 1fr;gap:2px;margin-top:10px;padding:2px;display:grid}.pod-filter-tabs button{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 0;font-size:11px;font-weight:900}.pod-filter-tabs button.on{color:#1d4ed8;background:#fff;box-shadow:0 1px 2px #0f172a1f}.pod-filter-rule{color:#1d4ed8;background:#eff6ff;border-radius:8px;margin:8px 0 0;padding:7px 8px;font-size:10px;font-weight:700;line-height:1.4}.pod-filter-inputs{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px;display:grid}.pod-filter-inputs label{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:6px;display:block}.pod-filter-inputs span{color:#94a3b8;font-size:8px;font-weight:700;display:block}.pod-filter-inputs input{text-align:center;color:#1e293b;background:0 0;border:0;outline:none;width:100%;margin-top:3px;font-size:13px;font-weight:900}.pod-filter-inputs input:disabled{color:#94a3b8}.pod-filter-preview{border:1px solid #eef2f7;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding:8px;display:flex}.pod-filter-preview p{color:#334155;margin:0;font-size:11px;font-weight:900}.pod-filter-preview small{color:#94a3b8;font-size:8px}.pod-filter-clear{color:#94a3b8;cursor:pointer;background:0 0;border:0;font-size:9px;font-weight:700}.pod-filter-clear:hover{color:#ef4444}.pod-filter-actions{gap:6px;margin-top:8px;display:flex}.pod-filter-actions button{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex:1;padding:8px 0;font-size:11px;font-weight:900}.pod-filter-actions button.primary{color:#fff;background:#2563eb;border-color:#2563eb}.pod-stats{color:#64748b;background:#f7f9fc;border-bottom:1px solid #e8eef5;flex-wrap:wrap;gap:18px;padding:8px 14px;font-size:11px;font-weight:700;display:flex}.pod-stats b{color:#0b2e63;font-variant-numeric:tabular-nums;margin-left:6px;font-size:13px;font-weight:900}.pod-stats .bad b{color:#be123c}.pod-compare-hint{color:#1f5fc4;margin-left:auto}.pod-scroll{max-height:calc(100vh - 210px);overflow:auto}.pod-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:12px}.pod-table thead th{z-index:3;color:#64748b;text-align:center;white-space:nowrap;background:#f3f6fa;border-bottom:1px solid #dfe7f1;border-right:1px solid #e8eef5;padding:8px 6px;font-size:11px;font-weight:800;position:sticky;top:0}.pod-table thead th.left{text-align:left}.pod-table thead th.right{text-align:right}.pod-table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.pod-table thead th.sortable:hover{color:#0b2e63;background:#eaf0f7}.pod-table thead th.sorted{color:#0b2e63}.pod-table thead th i{margin-left:3px;font-size:8px;font-style:normal}.pod-table tbody td{text-align:center;vertical-align:middle;border-bottom:1px solid #e8eef5;border-right:1px solid #eef2f7;padding:5px 6px}.pod-table tbody td.left{text-align:left}.pod-table tbody td.right{text-align:right}.pod-table tbody td.num{font-variant-numeric:tabular-nums;color:#334155;font-weight:700}.pod-table tbody tr:hover td{background:#f8fbff}.pod-table tbody tr.saving td{opacity:.6}.pod-progress{font-variant-numeric:tabular-nums;font-weight:900}.pod-text,.pod-route,.pod-canon{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.pod-text{color:#334155;font-weight:700}.pod-route{color:#0f172a;font-weight:700}.pod-canon{color:#1f5fc4;font-weight:900}.pod-missing{color:#b91c1c;background:#fee2e2;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:900;display:inline-block}.pod-sc-cell{padding:3px!important}.pod-override{color:#0b2e63;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;width:100%;padding:3px 0;font-size:11px;font-weight:900}.pod-override:hover{background:#eaf0f7}.pod-override.include{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.pod-override.exclude{color:#94a3b8;background:#f1f5f9;border-color:#e2e8f0;text-decoration:line-through}.pod-compare{align-items:center;gap:6px;display:inline-flex}.pod-delta{font-variant-numeric:tabular-nums;font-size:11px;font-style:normal;font-weight:900}.pod-delta.good{color:#047857}.pod-delta.bad{color:#be123c}.pod-delta.flat{color:#94a3b8}.pod-muted{color:#94a3b8;font-size:10px;font-weight:700}.pod-spark{display:inline-flex}.pod-spark svg{width:76px;height:28px}.pod-spark-empty{color:#cbd5e1;font-size:10px;font-weight:700}.pod-none{color:#94a3b8;font-weight:700;padding:26px 0!important}.pod-empty{text-align:center;color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:40px;font-weight:700}.pod-error{color:#be123c;margin:10px 2px 0;font-size:12px;font-weight:700}.pod-toast{z-index:200;color:#fff;background:#071d49;border-radius:10px;padding:9px 16px;font-size:12px;font-weight:700;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #071d494d}.pod-cycle-trigger{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:999px;max-width:100%;padding:2px 8px;font-size:10px;font-weight:900;overflow:hidden}.pod-cycle-trigger:hover{filter:brightness(.95)}.tone-slate{color:#475569;background:#f1f5f9}.tone-slate2{color:#334155;background:#e2e8f0}.tone-rose{color:#be123c;background:#ffe4e6}.tone-orange{color:#c2410c;background:#ffedd5}.tone-amber{color:#92400e;background:#fef3c7}.tone-violet{color:#6d28d9;background:#ede9fe}.tone-blue{color:#1d4ed8;background:#dbeafe}.tone-cyan{color:#0e7490;background:#cffafe}.tone-indigo{color:#4338ca;background:#e0e7ff}.tone-emerald{color:#047857;background:#d1fae5}.tone-red{color:#b91c1c;background:#fee2e2}.tone-custom{color:#c2410c;background:#fff7ed}.tone-empty{color:#cbd5e1;background:#f8fafc}.pod-note-trigger{text-align:left;cursor:text;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;width:100%;padding:3px 8px;font-size:11px;font-weight:700;display:block;overflow:hidden}.pod-note-trigger:hover{background:#f8fafc;border-color:#cbd5e1}.pod-note-trigger.filled{color:#0f172a}.pod-note-trigger.tone-empty{color:#cbd5e1}.pod-note-input{width:100%;height:26px;font:inherit;color:#0f172a;background:#fff;border:1px solid #93c5fd;border-radius:6px;padding:0 7px;font-size:11px;font-weight:700}.pod-note-input:focus{outline:2px solid #2563eb33}.pod-resize{cursor:col-resize;touch-action:none;z-index:4;width:7px;height:100%;position:absolute;top:0;right:-3px}.pod-resize:hover{background:#318fe859}@media (width<=720px){.pod-search input{width:150px}.pod-scroll{max-height:none}}.spark-head{align-items:center;gap:4px;display:inline-flex}.trend-rule-btn{color:#94a3b8;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:50%;width:14px;height:14px;padding:0;font-size:9px;font-weight:900;line-height:1}.trend-rule-btn:hover{color:#318fe8;background:#eff6ff;border-color:#318fe8}.trend-rule-pop{z-index:300;color:#0f172a;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:296px;padding:12px;position:fixed;box-shadow:0 18px 44px #0f172a38}.trend-rule-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.trend-rule-head b{font-size:12px;font-weight:900}.trend-rule-head button{color:#94a3b8;cursor:pointer;background:0 0;border:0;font-size:16px;line-height:1}.trend-rule-lead{color:#64748b;margin:6px 0 10px;font-size:11px;font-weight:600}.trend-rule-item{margin-bottom:10px}.trend-rule-tag{border-radius:999px;margin-bottom:4px;padding:2px 8px;font-size:10px;font-weight:900;display:inline-block}.trend-rule-tag.steady{color:#b91c1c;background:#fee2e2}.trend-rule-tag.surge{color:#c2410c;background:#ffedd5}.trend-rule-item ul{margin:0;padding-left:16px}.trend-rule-item li{color:#334155;font-size:11px;font-weight:600;line-height:1.6}.trend-rule-item li.muted{color:#94a3b8;font-weight:500}.trend-rule-foot{color:#94a3b8;border-top:1px solid #eef2f7;margin:0;padding-top:8px;font-size:10px;line-height:1.5}.otp-page{color:#0f172a;padding:0 0 16px}.otp-card{background:#fff;border:1px solid #e2e8f0e6;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px #0f172a0d}.otp-toolbar{background:var(--brand-gradient);color:#fff;flex-wrap:wrap;align-items:center;gap:12px;min-height:44px;padding:10px 14px;display:flex}.otp-title{font-size:13px;font-weight:900}.otp-sub{color:#ffffffb8;font-size:11px;font-weight:600}.otp-latest{color:#ffffffb8;align-items:baseline;gap:6px;margin-left:auto;font-size:11px;font-weight:700;display:inline-flex}.otp-latest b{color:#fff;font-variant-numeric:tabular-nums;font-size:16px;font-weight:900}.otp-latest i{font-size:11px;font-style:normal;font-weight:800}.otp-latest i.good{color:#6ee7b7}.otp-latest i.bad{color:#fca5a5}.otp-scroll{max-height:calc(100vh - 170px);overflow:auto}.otp-table{border-collapse:collapse;width:100%;font-size:12px}.otp-table thead th{z-index:3;color:#64748b;text-align:center;white-space:nowrap;background:#f3f6fa;border-bottom:1px solid #dfe7f1;border-right:1px solid #e8eef5;padding:8px 6px;font-size:11px;font-weight:800;position:sticky;top:0}.otp-table thead th.otp-day.latest{color:#0b2e63;border-bottom:3px solid #071d49}.otp-table tbody td,.otp-table tbody th{text-align:center;vertical-align:middle;border-bottom:1px solid #e8eef5;border-right:1px solid #eef2f7;padding:6px}.otp-table th.otp-sc{color:#0b2e63;background:#f7f9fc;width:66px;font-size:13px;font-weight:900}.otp-main{width:200px}.otp-main-inner{justify-content:center;align-items:center;gap:8px;display:flex}.otp-main-inner b{font-variant-numeric:tabular-nums;font-size:13px;font-weight:900}.otp-bar{background:#dde4ec;border-radius:999px;width:110px;height:18px;display:inline-block;position:relative;overflow:hidden}.otp-bar i{display:block;position:absolute;inset:0 auto 0 0}.otp-bar em{border-left:1px dashed #0f172a73;position:absolute;top:0;bottom:0}.otp-change{width:84px}.otp-delta{font-variant-numeric:tabular-nums;font-size:11px;font-weight:900}.otp-delta i{opacity:.7;margin-left:1px;font-size:9px;font-style:normal}.otp-delta.good{color:#047857}.otp-delta.bad{color:#be123c}.otp-delta.flat{color:#94a3b8}.otp-num{font-variant-numeric:tabular-nums;color:#334155;width:92px;font-weight:700}.otp-trend{width:120px}.otp-spark-btn{cursor:pointer;background:0 0;border:0;border-radius:6px;margin:0 auto;padding:2px 4px;display:block}.otp-spark-btn:hover{background:#eff6ff}.otp-spark{width:108px;height:32px;display:block}.otp-spark-empty{color:#cbd5e1;font-weight:700}.otp-trend-hover{z-index:200;pointer-events:none;background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:min(680px,100vw - 24px);padding:16px;position:fixed;box-shadow:0 20px 50px #0f172a2e}.otp-trend-hover p{color:#1e293b;margin:0 0 8px;font-weight:800}.otp-trend-detail{width:100%;display:block}.otp-trend-dialog-bg{z-index:100;background:#0f172a73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.otp-trend-dialog{background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:min(768px,100%);padding:20px;box-shadow:0 24px 60px #0f172a38}.otp-trend-dialog header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.otp-trend-dialog header h2{color:#102a4c;margin:0;font-size:20px}.otp-trend-dialog header p{color:#64748b;margin:4px 0 0;font-size:12px;font-weight:700}.otp-trend-dialog header button{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:8px;width:36px;height:36px;font-size:24px;line-height:1}.otp-trend-dialog header button:hover{background:#f1f5f9}.otp-trend-dialog footer{color:#64748b;border-top:1px solid #f1f5f9;flex-wrap:wrap;gap:20px;margin-top:12px;padding-top:12px;font-size:12px;font-weight:700;display:flex}.otp-trend-dialog footer i{border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.otp-trend-dialog footer i.ok{background:#16a34a}.otp-trend-dialog footer i.bad{background:#ef4444}.otp-day{font-variant-numeric:tabular-nums;width:62px;font-weight:800}.otp-day.none{color:#cbd5e1;font-weight:600}.otp-none{color:#cbd5e1;font-weight:700}.otp-table tbody tr.otp-total th,.otp-table tbody tr.otp-total td{background:#f8fafc;border-top:2px solid #cbd5e1;font-weight:900}.otp-empty{text-align:center;color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:40px;font-weight:700}.otp-trend-scroll{max-height:420px}.otp-sheet{margin-top:14px;overflow-x:auto}.otp-sheet-table+.otp-sheet-table{margin-top:16px}.otp-sheet-table{border-collapse:collapse;background:#fff;width:100%;min-width:720px}.otp-sheet-table th,.otp-sheet-table td{vertical-align:middle;font-variant-numeric:tabular-nums;border:1px solid #c5cdd6;padding:8px 10px;font-size:13px}.otp-sheet-table thead th{color:#334155;text-align:center;white-space:nowrap;background:#eef2f6;font-size:11px;font-weight:700}.otp-sheet-table tbody th{color:#102a4c;text-align:center;background:#f8fafc;width:64px;font-weight:800}.otp-sheet-table.status td,.otp-sheet-table.routes td:nth-child(n+4){text-align:right}.otp-hot-n{color:#e11d48;font-weight:800}.otp-hot-empty{text-align:center;color:#64748b;margin:16px 0 0;font-size:13px}.otp-modal-bg{z-index:40;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.otp-modal{background:#fff;border-radius:16px;flex-direction:column;width:min(94vw,1100px);max-height:82vh;display:flex;overflow:hidden}.otp-modal header{border-bottom:1px solid #e2e8f0;justify-content:space-between;gap:12px;padding:14px 16px;display:flex}.otp-modal header h3{margin:0;font-size:16px}.otp-modal header p{color:#64748b;margin:6px 0 0;font-size:13px}.otp-modal header button,.otp-modal-tools button,.otp-modal footer button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:6px 10px;font-weight:700}.otp-modal-tools{align-items:center;gap:10px;padding:8px 16px;font-size:12px;display:flex}.otp-modal-table{flex:1;overflow:auto}.otp-modal-table table{border-collapse:collapse;width:100%;min-width:920px;font-size:12px}.otp-modal-table th{text-align:left;background:#f8fafc;padding:8px 10px;position:sticky;top:0}.otp-modal-table td{vertical-align:top;border-top:1px solid #f1f5f9;padding:7px 10px}.otp-modal-status{color:#64748b;padding:24px}.otp-modal footer{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:10px 16px;font-size:13px;display:flex}.otp-modal footer div{gap:8px;display:flex}.daily-page{min-width:0}.daily-sheet{overflow-x:auto}.daily-table{border-collapse:collapse;background:#fff;width:100%;min-width:980px}.daily-table th,.daily-table td{vertical-align:middle;border:1px solid #c5cdd6;padding:0}.daily-table thead th{color:#334155;text-align:center;white-space:nowrap;background:#eef2f6;padding:8px 6px;font-size:11px;font-weight:700;line-height:1.25}.daily-table thead em{color:#e11d48;margin-left:2px;font-style:normal}.daily-table tbody th{text-align:center;background:#f8fafc;width:64px;padding:6px 4px}.daily-table tbody th strong{color:#102a4c;font-size:13px;font-weight:800;display:block}.daily-table tbody th .muted{color:#94a3b8;margin-top:2px;font-size:10px;font-weight:700;display:block}.daily-table td.need{background:#fff1f2}.daily-table td.zero{background:#fff}.daily-table td.daily-skip{background:#f8fafc}.daily-num{display:block;position:relative}.daily-table input{color:#174e91;width:100%;min-height:40px;font:inherit;font-variant-numeric:tabular-nums;text-align:center;background:0 0;border:0;outline:none;padding:8px 6px;font-size:14px;font-weight:800;display:block}.daily-num.pct input{padding-right:18px}.daily-num span{color:#94a3b8;pointer-events:none;font-size:11px;font-weight:800;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.daily-table td.need input{color:#fb7185}.daily-table td.zero input{color:#64748b}.daily-table input:focus{color:#174e91;background:#e8f1fc}.daily-table td.need input:focus{background:#ffe4e6}.daily-table input::placeholder{color:#cbd5e1;font-weight:600}.daily-num i{background:#3b82f6;border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:6px}.daily-text{min-width:140px}.daily-table textarea{resize:none;color:#334155;width:100%;min-height:40px;font:inherit;background:0 0;border:0;outline:none;padding:8px;font-size:12px;line-height:1.35;display:block}.daily-table textarea::placeholder{color:#94a3b8}.daily-table td.need textarea::placeholder{color:#fb7185cc}.daily-table textarea:focus{background:#e8f1fc}@media (width<=1100px){.daily-sheet{overflow-x:auto}}body{margin:0}
