*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.ml-2{margin-left:.5rem}.block{display:block}.table{display:table}.grid{display:grid}.min-h-screen{min-height:100vh}.min-w-0{min-width:0px}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.border{border-width:1px}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.text-\[11px\]{font-size:11px}.font-normal{font-weight:400}.text-\[var\(--muted\)\]{color:var(--muted)}.text-\[var\(--text\)\]{color:var(--text)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--bg: #dbe8f5;--panel: #ffffff;--panel-soft: #f7faff;--line: #d5e1ef;--text: #00183d;--muted: #65738a;--primary: #1f63ff;--topbar: #153a62;--topbar-deep: #0c2f55;--cyan: #19c8ff;--violet: #6f55e7;--pink: #ff4fa3;--green: #0aa67a;--amber: #d77a00;--red: #ff3b30;--shadow: 0 8px 22px rgba(18, 45, 76, .13);font-family:Segoe UI,Microsoft YaHei,Arial,sans-serif;font-size:13px;color:var(--text);background:var(--bg);letter-spacing:0}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg)}body.schedule-dragging{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:grabbing}button,input,select,textarea{font:inherit}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%2365738A' d='M1.2.8 5 4.6 8.8.8 10 2 5 6 0 2z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 20px center}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}.feature-page{height:100vh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;color:#fff;background:linear-gradient(90deg,var(--topbar-deep),#173d67 58%,#255b92);box-shadow:0 2px 8px #041c3847}.topbar-brand{min-width:0;display:flex;align-items:center;gap:10px}.app-mark{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:linear-gradient(135deg,#496dff,#8159ef);border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 0 0 1px #ffffff29;font-size:19px;font-weight:900}.topbar h1{margin:0;font-size:23px;line-height:28px;font-weight:900;color:#fff}.topbar p{margin:2px 0 0;color:#d9e7f8;font-size:12px;line-height:16px}.topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.workspace{min-height:0;flex:1;display:flex;flex-direction:column;gap:8px;padding:10px 8px 0;overflow:hidden}.metric-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:10px;align-items:stretch;padding-bottom:8px}.metric-card,.metric-fill{height:46px;border-radius:7px;background:#ffffffe6;border:1px solid rgba(218,228,240,.95);box-shadow:0 8px 20px #1f3a5b17}.metric-card{display:flex;align-items:center;justify-content:space-between;padding:0 14px 0 11px;border-left:4px solid var(--primary)}.metric-card span{color:var(--muted);font-size:12px}.metric-card strong{font-size:21px;line-height:1;font-weight:900;color:var(--primary)}.metric-violet{border-left-color:var(--violet)}.metric-violet strong{color:var(--violet)}.metric-green{border-left-color:var(--green)}.metric-green strong{color:var(--green)}.metric-amber{border-left-color:var(--amber)}.metric-amber strong{color:var(--amber)}.metric-fill{display:flex;align-items:center;justify-content:flex-end;padding:0 15px;color:#163b78;font-size:12px;font-weight:800}.panel{min-height:0;flex:1;display:flex;flex-direction:column;background:#fffffff5;border:1px solid rgba(210,221,236,.95);box-shadow:var(--shadow);overflow:hidden}.panel>header{min-height:38px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 10px;border-bottom:1px solid var(--line);background:#edf5ff}.primary{height:34px;border:0;border-radius:5px;background:#ff6b2b;color:#fff;padding:0 14px;font-weight:700;font-size:13px}.ghost{height:34px;border:1px solid #a7c7f5;border-radius:5px;background:#fff;color:#143c6a;padding:0 12px;font-weight:700;font-size:13px}.ghost-dark{border-color:#ffffff3d;background:#ffffff1a;color:#fff}.schedule-action{height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(255,255,255,.28);border-radius:6px;color:#fff;padding:0 11px;font-size:12px;font-weight:700;box-shadow:0 8px 18px #03122a2e}.schedule-action-icon{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.schedule-action:disabled{box-shadow:none;filter:grayscale(.5)}.schedule-action-blue{background:linear-gradient(135deg,#2878ff,#29b6ff)}.schedule-action-orange{background:linear-gradient(135deg,#ff7a1a,#ffb22e)}.schedule-action-violet{background:linear-gradient(135deg,#7657ff,#a855f7)}.schedule-action-cyan{background:linear-gradient(135deg,#0891b2,#22d3ee)}.schedule-action-green{background:linear-gradient(135deg,#119c68,#35d07f)}.schedule-action-rose{background:linear-gradient(135deg,#e63f75,#fb7185)}.schedule-action-indigo{background:linear-gradient(135deg,#4f46e5,#7c8cff)}.schedule-action-teal{background:linear-gradient(135deg,#0f8f8f,#2dd4bf)}.accent-action{height:30px;border:0;border-radius:5px;background:linear-gradient(135deg,#4a68ee,#7757e9);color:#fff;padding:0 13px;font-weight:800;box-shadow:0 7px 16px #3d53d840}.filterbar{display:grid;gap:8px;padding:9px 10px;border-bottom:1px solid var(--line);background:#123b63}.filter-fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.filterbar .range-field{display:grid;grid-template-columns:1fr 1fr;gap:6px}.inline-field{min-width:0;width:100%;height:34px;display:flex;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#fff}.inline-field>span:first-child{height:100%;min-width:62px;display:inline-flex;align-items:center;justify-content:center;padding:0 9px;border-right:1px solid #e3ebf5;background:#f4f8fd;color:#40536e;font-size:12px;font-weight:700;white-space:nowrap}.inline-field input,.inline-field select{width:100%;min-width:0;height:100%;border:0;background:transparent;color:var(--text);padding:0 10px;outline:0;font-size:13px}.inline-field select,.batch-field select,.standard-form-grid select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:30px;background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%2365738A' d='M1.2.8 5 4.6 8.8.8 10 2 5 6 0 2z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 20px center}.inline-field input[type=date],.batch-field input[type=date],.standard-form-grid input[type=date]{padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%2365738A' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M8 2v4m8-4v4M3.5 9.5h17M5 5.5h14a1.5 1.5 0 0 1 1.5 1.5v11A1.5 1.5 0 0 1 19 19.5H5A1.5 1.5 0 0 1 3.5 18V7A1.5 1.5 0 0 1 5 5.5m2.5 7h3m-3 4h8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.inline-field:has(input:disabled),.inline-field:has(select:disabled){background:#edf2f7}.inline-field input:disabled,.inline-field select:disabled{color:#97a3b5;cursor:not-allowed}.inline-toggle{min-width:0;width:100%;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#173a62;font-size:13px;font-weight:700;white-space:nowrap}.inline-toggle input{width:16px;height:16px;margin:0;accent-color:var(--primary)}.inline-field input[type=date],.batch-field input[type=date],.standard-form-grid input[type=date]{position:relative;cursor:pointer}.inline-field input[type=date]::-webkit-calendar-picker-indicator,.batch-field input[type=date]::-webkit-calendar-picker-indicator,.standard-form-grid input[type=date]::-webkit-calendar-picker-indicator{position:absolute;top:0;right:0;bottom:0;left:0;width:auto;height:auto;margin:0;opacity:0;cursor:pointer}.inline-range{align-items:stretch}.inline-range .range-field{flex:1;min-width:0;padding:3px}.inline-range input{height:26px;border:1px solid #e2eaf4;border-radius:4px;background:#fff;text-align:center}.filter-actions{min-width:0;width:100%;height:34px;display:flex;align-items:center;gap:8px}.filter-actions .primary,.filter-actions .ghost{flex:0 0 82px;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 10px;line-height:1}.filter-actions .action-icon{display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1}.filter-more{flex:0 0 auto;min-width:0;height:34px;border:0;background:transparent;color:#4a7dff;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 4px;font-size:13px;font-weight:400;line-height:1;white-space:nowrap;text-decoration:underline;text-underline-offset:2px}.filter-more .more-arrow{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #4a7dff;transform:translateY(1px)}.filter-more .more-arrow.expanded{border-top:0;border-bottom:5px solid #4a7dff;transform:translateY(-1px)}.search-field{height:30px;width:100%;min-width:0;border:1px solid var(--line);background:#fff;border-radius:5px;display:flex;align-items:center;gap:6px;padding:0 9px}.search-field input,.filterbar>select{width:100%;min-width:0;border:0;outline:0}.filterbar>select{height:30px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--text);padding:0 8px}.mode-tabs{--mode-tabs-padding: 4px;--mode-tabs-height: 36px;--mode-tabs-thumb-size: 20px;--mode-tabs-mid-gap: 4px;--mode-tabs-pill-left: var(--mode-tabs-padding);--mode-tabs-pill-width: calc(50% - var(--mode-tabs-padding) - var(--mode-tabs-mid-gap));--mode-tabs-pill-right-left: calc(50% + var(--mode-tabs-mid-gap));--mode-tabs-thumb-inset: 4px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0;height:var(--mode-tabs-height);padding:0;width:clamp(360px,42vw,200px);margin:0 auto;position:relative;z-index:1}.mode-tabs-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:linear-gradient(180deg,#fffffffc,#f4f8fff5);box-shadow:0 5px 14px #94a3b81a,0 1px 4px #ffffffc2 inset,0 -1px 5px #bfdbfe1a inset}.mode-tabs-active-pill{position:absolute;top:var(--mode-tabs-padding);bottom:var(--mode-tabs-padding);left:var(--mode-tabs-pill-left);width:var(--mode-tabs-pill-width);border-radius:999px;background:linear-gradient(135deg,#4d83ff,#7e5cff 52%,#b84dff);box-shadow:0 5px 10px #785cff29,0 1px 3px #ffffff1f inset;transition:left .26s cubic-bezier(.22,1,.36,1),width .26s cubic-bezier(.22,1,.36,1)}.mode-tabs-thumb{position:absolute;top:50%;left:calc(var(--mode-tabs-pill-left) + var(--mode-tabs-thumb-inset));width:var(--mode-tabs-thumb-size);height:var(--mode-tabs-thumb-size);border-radius:999px;background:radial-gradient(circle at 35% 35%,#ffffff80,#ffffff29 30%,#fff0 64%),linear-gradient(145deg,#e0e6f6,#cac6f7 48%,#bb9cf6);box-shadow:0 4px 9px #5d62db29,0 1px 2px #ffffff94 inset,0 -3px 6px #5645cb2e inset;transform:translateY(-50%);transition:left .26s cubic-bezier(.22,1,.36,1)}.mode-tabs[data-active-tab=scheduled] .mode-tabs-active-pill{left:var(--mode-tabs-pill-right-left)}.mode-tabs[data-active-tab=scheduled] .mode-tabs-thumb{left:calc(var(--mode-tabs-pill-right-left) + var(--mode-tabs-pill-width) - var(--mode-tabs-thumb-size) - var(--mode-tabs-thumb-inset))}.mode-tabs button{min-width:0;position:relative;z-index:2;height:100%;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#5b6577;border-radius:999px;padding:0 12px;text-align:center;transition:color .18s ease,transform .18s ease,text-shadow .18s ease}.mode-tabs button.active{color:#fff;text-shadow:0 1px 4px rgba(56,48,163,.22)}.mode-tabs button:hover{color:#404a5b}.mode-tabs button.active:hover{color:#fff}.mode-tabs button:focus-visible{outline:0;box-shadow:0 0 0 3px #60a5fa4d}.mode-tab-title{font-size:14px;font-weight:500;line-height:1;letter-spacing:0}@media (max-width: 680px){.mode-tabs{--mode-tabs-padding: 5px;--mode-tabs-height: 36px;--mode-tabs-thumb-size: 20px;--mode-tabs-mid-gap: 3px;width:min(100%,360px);margin-bottom:6px}.mode-tabs button{padding:0 10px}.mode-tab-title{font-size:12px;letter-spacing:0}}.table-wrap{position:relative;min-height:0;flex:1;min-height:360px;overflow:auto;overflow-y:auto;scrollbar-gutter:stable}.table-wrap.is-loading{cursor:progress}.table-loading-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:flex;align-items:center;justify-content:center;gap:10px;background:#ffffffad;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.table-loading-spinner{width:22px;height:22px;border:3px solid rgba(31,99,255,.2);border-top-color:#1f63ff;border-radius:999px;animation:table-spin .9s linear infinite}@keyframes table-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.schedule-message{margin:10px 12px 0;padding:9px 12px;border:1px solid #d8e4f3;border-radius:6px;background:#f7fbff;color:#42607d;font-size:12px}.schedule-message.error{border-color:#f2c6c6;background:#fff8f8;color:#b42318}.batch-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:18px;background:#05142a57}.batch-modal{width:min(420px,100%);border:1px solid #d8e4f3;border-radius:8px;background:#fff;box-shadow:0 18px 42px #05142a3d}.batch-modal-header{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid #e6eef8}.batch-modal-header h2{margin:0;color:#173a62;font-size:15px}.batch-modal-close{width:28px;height:28px;border:0;background:transparent;color:#65738a;font-size:20px;line-height:1}.batch-modal-body{display:grid;gap:12px;padding:14px}.batch-field{display:grid;gap:6px;color:#56647a;font-size:12px}.batch-field input,.batch-field select,.batch-field textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;background:#fff;color:#152033;outline:0}.batch-field input,.batch-field select{height:34px;padding:0 9px}.batch-field textarea{padding:8px 9px;resize:vertical}.batch-switch{height:38px;display:inline-flex;align-items:center;gap:9px;color:#173a62}.batch-switch input{width:16px;height:16px;accent-color:var(--primary)}.batch-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 14px 14px;border-top:1px solid #e6eef8}.batch-submit{height:34px;border:0;border-radius:5px;background:linear-gradient(135deg,#2878ff,#29b6ff);color:#fff;padding:0 14px;font-weight:700}table{width:100%;border-collapse:separate;border-spacing:0;min-width:1640px;table-layout:fixed;background:#fff}th,td{height:36px;padding:0 10px;border-bottom:1px solid #ddd;border-right:1px solid #ddd;text-align:left;white-space:nowrap;font-size:12px}th:last-child,td:last-child{border-right:0}th{position:sticky;top:0;z-index:2;height:36px;background:#eef5ff;color:#00183d;font-size:14px;font-weight:500;border-bottom-color:#c0d9fc;border-right-color:#c8ced6}.col-check{width:38px;min-width:38px;text-align:center;position:sticky;left:0;z-index:3;background:#fff}.col-index{width:50px;min-width:50px;text-align:center;position:sticky;left:38px;z-index:3;background:#fff}.col-production-no{width:130px;min-width:130px;text-align:center;position:sticky;left:88px;z-index:3;background:#fff;box-shadow:8px 0 12px -12px #11182773}.col-customer{width:80px;min-width:80px;text-align:center}.col-product{width:220px;min-width:220px;text-align:left}.col-plate{width:70px;min-width:70px;text-align:center;padding-top:4px;padding-bottom:4px}.col-level{width:55px;min-width:55px;text-align:center}.col-machine{width:68px;min-width:68px;text-align:center}.col-progress{width:450px;min-width:450px;text-align:left;padding-top:5px;padding-bottom:5px}.col-delivery-date{width:92px;min-width:92px;text-align:center}.col-plan-date{width:112px;min-width:112px;text-align:center}.col-meters,.col-amount{width:80px;min-width:80px;text-align:right}.col-bom{width:112px;min-width:112px;text-align:center}.col-action{width:76px;min-width:76px;text-align:center;position:sticky;right:0;z-index:3;background:#fff;box-shadow:-8px 0 12px -12px #11182773}th.col-check,th.col-index,th.col-production-no,th.col-action{z-index:5;background:#eef5ff}tbody tr:hover,tbody tr:hover td{background:#f3f8ff}.table-empty-row td{height:160px;color:#65738a;text-align:center;background:#fbfdff}.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700}.approved{color:#0a8f61;background:#e5f7ef}.status-disabled{color:#45606f;background:#eff4f8}.link-key{color:#0755ff;font-weight:900}.urgent-row td{background:#fff1f1}.backup-row td{background:#effaf1}tbody tr.urgent-row:hover td{background:#ffe7e7}tbody tr.backup-row:hover td{background:#e4f7e8}.urgent-icon{display:inline-flex;align-items:center;margin-right:5px;font-size:13px;line-height:1}.backup-icon{display:inline-flex;align-items:center;margin-right:5px;color:#0a8f61;font-size:13px;line-height:1}.delivery-date-text{display:block}.delivery-date-text.overdue{color:#c62828;font-weight:800}.reschedule-badge{display:inline-flex;align-items:center;height:18px;margin-top:3px;padding:0 5px;border:1px solid #f2a7a7;border-radius:3px;background:#fff1f1;color:#c62828;font-size:11px;line-height:1}.plate-tool{display:inline;line-height:1.25}.plate-tool.stacked{display:inline-grid;gap:3px;line-height:1.35}.quality-good{color:#00a86b}.quality-bad,.cell-danger{color:var(--red)}.mini-check{width:13px;height:13px;margin:0;accent-color:var(--primary)}.progress-flow{display:flex;align-items:center;flex-wrap:wrap;gap:4px 0}.flow-separator{display:inline-flex;align-items:center;justify-content:center;margin:0 5px;color:#7c8799;font-size:11px;line-height:1}.flow-chip{display:inline-flex;align-items:center;height:22px;border-radius:3px;padding:0 8px;border:1px solid transparent;font-size:12px;font-weight:400}.flow-waiting{color:#111827;background:#ffe3e3;border-color:#f5b8b8}.flow-doing{color:#111827;background:#dceeff;border-color:#9bc9f6}.flow-done{color:#111827;background:#ddf8e1;border-color:#abe0b3}.flow-none{color:#6b7280;background:#f3f4f6;border-color:#d1d5db}.progress-remark{display:block;max-width:100%;margin-top:5px;padding:2px 6px;border-radius:3px;background:#ff0;color:red;font-weight:800;line-height:1.4;white-space:normal}.bom-state{font-weight:400}.bom-ok{color:#1ebe53}.bom-bad{color:var(--red)}.bom-none{color:#8a94a5}.ml-2{color:#8a94a5;padding-right:5px}.drag-handle{width:auto;height:26px;display:inline-flex;align-items:center;gap:2px;border:0;background:transparent;color:#245cff;padding:0;font-size:12px;font-weight:400;line-height:1;cursor:grab}.drag-handle:active{cursor:grabbing}.drag-cross{display:inline-flex;align-items:center;color:#245cff;font-size:15px;line-height:1;transform:translateY(-1px)}.dragging-row{opacity:.55;background:#edf6ff}tbody tr.drop-before-row td{box-shadow:inset 0 2px #1f6bff}tbody tr.drop-after-row td{box-shadow:inset 0 -2px #1f6bff}.pending{color:#af6900;background:#fff1d8}.closed{color:#5c6677;background:#eef1f6}.standard-form-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:11px 12px;padding:12px}.standard-form-grid>label{min-width:0;display:grid;gap:5px;color:#56647a;font-size:11px;position:relative}.standard-form-grid input,.standard-form-grid select,.standard-form-grid textarea{width:100%;min-width:0;height:32px;padding:0 8px;border:1px solid var(--line);border-radius:5px;background:#fff;color:#152033;outline:0}.standard-form-grid textarea{height:68px;padding-top:7px;resize:vertical}.standard-form-grid input:focus,.standard-form-grid select:focus,.standard-form-grid textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px #4f7cff1a}.span-2{grid-column:span 2}.required:before{content:"*";position:absolute;left:-8px;color:var(--red)}.print-sheet{display:none}@media (max-width: 1180px){.metric-strip{grid-template-columns:repeat(2,minmax(126px,1fr))}.metric-fill{grid-column:1 / -1}.standard-form-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (max-width: 680px){.topbar{height:auto;min-height:70px;align-items:flex-start;flex-direction:column}.topbar>div:last-child{gap:12px;flex-wrap:wrap}.workspace{padding:8px}.metric-strip{grid-template-columns:1fr}.filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-actions{justify-content:flex-start}.filter-actions .primary,.filter-actions .ghost{flex:0 0 82px}.filter-actions .filter-more{flex:0 0 auto}.standard-form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}}@media (max-width: 460px){.filter-fields{grid-template-columns:1fr}}@media print{@page{size:A4 portrait;margin:8mm}body{background:#fff}.topbar,.metric-strip,.mode-tabs,.panel,.schedule-message,.batch-modal-backdrop{display:none!important}.feature-page,.workspace{height:auto!important;overflow:visible!important;background:#fff!important}.print-sheet{display:block!important;color:#111827;font-family:Microsoft YaHei,Arial,sans-serif}.print-header{position:relative;margin-bottom:5pt}.print-header h1{margin:0 0 3mm;text-align:center;font-size:18pt;line-height:1.2;font-weight:700;color:#033375}.print-time{position:absolute;top:.5mm;right:0;font-size:8pt;color:#374151}.print-meta,.print-filters{display:flex;flex-wrap:wrap;gap:2mm 5mm;font-size:9pt;line-height:1.4}.print-filters{margin-top:1mm;padding-top:1mm;border-top:1px solid #d1d5db}.print-table{min-width:0!important;width:100%!important;table-layout:fixed;border-collapse:collapse!important;border-spacing:0!important;font-size:7.2pt;line-height:1.25}.print-table th,.print-table td{position:static!important;height:auto!important;padding:2.2mm 1.2mm;border:1px solid #cbd5e1;text-align:left;vertical-align:middle!important;word-break:break-word;overflow-wrap:anywhere;white-space:normal;box-shadow:none!important;color:#111827}.print-table th{background:#033375!important;background-color:#033375!important;border-color:#033375!important;font-weight:700;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-col-order,.print-cell-order{width:4%;text-align:center!important}.print-col-production-no,.print-cell-production-no{width:14%;color:#0755ff!important;font-weight:400!important;text-align:center!important;white-space:nowrap!important;word-break:keep-all;overflow-wrap:normal}.print-col-customer,.print-cell-customer{width:10%}.print-col-product,.print-cell-product{width:25%}.print-col-plate-tool,.print-cell-plate-tool{width:10%;text-align:center!important}.print-col-level,.print-cell-level{width:4%;text-align:center!important}.print-col-delivery-date,.print-cell-delivery-date,.print-col-plan-date,.print-cell-plan-date{width:9.5%;text-align:center!important}.print-col-meters,.print-cell-meters{width:6%;text-align:center!important}.print-cell-remark-merged{text-align:left!important;vertical-align:middle!important;padding-top:1.4mm!important;padding-bottom:1.4mm!important}.print-table tr.urgent-row td{background:#fff1f1!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-table tr.backup-row td{background:#effaf1!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-table tr.backup-row-1 td{background:#16a34a38!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-table tr.backup-row-2 td{background:#22c55e29!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-table tr.backup-row-3 td{background:#86efac24!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-table .print-cell-production-no .urgent-icon,.print-table .print-cell-production-no .backup-marker{margin-right:0!important;vertical-align:middle}.print-production-no-text{display:inline;color:#0755ff!important;font-weight:400!important;line-height:1.2;white-space:nowrap!important;word-break:keep-all;overflow-wrap:normal}.print-line,.print-remark,.print-reschedule{display:block}.print-remark{margin-top:1mm;padding:.5mm 1mm;background:#ff0!important;color:red!important;font-weight:800}.print-reschedule{margin-top:1mm;color:red!important;font-weight:700}.print-overdue{color:red!important;font-weight:800}}
