:root{--navy-950:#081c34;--navy-900:#0d2848;--navy-800:#12385f;--ink:#12233f;--muted:#66748a;--subtle:#8c98aa;--canvas:#f5f7fa;--surface:#fff;--line:#dbe1e9;--line-strong:#c7d0dd;--cyan:#008dc2;--cyan-soft:#e8f7fc;--green:#1b8f55;--green-soft:#eaf7ef;--amber:#cc7a00;--amber-soft:#fff5df;--red:#d83c3c;--red-soft:#fff0f0;--radius:13px;--radius-lg:18px;--shadow:0 8px 24px #14233912;--sidebar:238px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Noto Sans Thai,Leelawadee UI,Tahoma,Arial,sans-serif}*{box-sizing:border-box}html,body{background:var(--canvas);min-width:320px;color:var(--ink);margin:0}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:3px solid #008dc240}svg{width:22px;height:22px;display:block}.app-loading{place-items:center;min-height:100vh;font-weight:750;display:grid}.app-shell{min-height:100vh}.sidebar{z-index:40;width:var(--sidebar);color:#dce8f4;background:linear-gradient(180deg,var(--navy-950),var(--navy-900));flex-direction:column;padding:20px 14px;transition:width .2s,transform .2s;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#fff;align-items:center;gap:11px;height:54px;padding:0 9px 14px;display:flex}.brand-mark{border:2px solid #20b8df;border-radius:9px 3px;flex:none;width:28px;height:28px;position:relative}.brand-mark:after{content:"";background:#20b8df;height:2px;position:absolute;bottom:5px;left:5px;right:5px;transform:skewY(-24deg);box-shadow:0 -6px #20b8df}.brand-text{letter-spacing:.07em;white-space:nowrap;font-size:21px}.brand-text span,.topbar-mobile span,.login-brand span{color:#20b8df}.side-nav{gap:5px;margin-top:18px;display:grid}.nav-button{color:#d5e1ed;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;min-height:48px;padding:10px 12px;font-size:14px;font-weight:650;display:flex}.nav-button:hover{color:#fff;background:#ffffff12}.nav-button.active{color:#fff;background:#078fca;box-shadow:0 7px 18px #008dc242}.nav-button svg{flex:0 0 22px}.nav-button.collapse{background:#ffffff0f;margin-top:auto}.shell-main{min-height:100vh;padding-left:var(--sidebar);transition:padding-left .2s}.topbar{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#fffffff0;justify-content:flex-end;align-items:center;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.topbar-mobile{display:none}.top-utilities{align-items:center;height:100%;display:flex}.top-utilities>*{border-left:1px solid var(--line);align-items:center;gap:8px;min-height:42px;padding:0 14px;font-size:13px;display:flex}.mode-tag{color:var(--cyan);font-weight:750}.mode-tag svg{width:18px}.updated{color:var(--muted)}.updated strong{color:var(--ink)}.user-menu{border:0;border-left:1px solid var(--line);cursor:pointer;background:0 0;font-weight:750}.workspace{max-width:1510px;margin:0 auto;padding:26px 28px 40px}.page-toolbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.page-toolbar h1{letter-spacing:-.025em;margin:0;font-size:clamp(28px,2.2vw,38px);line-height:1.12}.page-toolbar p{color:var(--muted);margin:6px 0 0;font-size:14px}.button{cursor:pointer;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 17px;font-weight:750;display:inline-flex}.button:disabled,.workflow-actions button:disabled{cursor:not-allowed;box-shadow:none;color:#8a94a4!important;background:#e8ebef!important;border-color:#d8dde4!important}.button.primary{color:#fff;background:var(--cyan);border-color:var(--cyan)}.button.primary:hover{background:#067eae}.button.secondary{color:#087eaf;background:#fff;border-color:#51a9ce}.button.secondary:hover{background:var(--cyan-soft)}.button.wide{width:100%}.refresh svg{width:20px}.icon-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:11px;place-items:center;width:48px;height:48px;display:grid}.drawer-scrim,.bottom-nav{display:none}.is-collapsed .sidebar{width:78px}.is-collapsed .shell-main{padding-left:78px}.is-collapsed .brand,.is-collapsed .nav-button{justify-content:center;padding-inline:0}.is-collapsed .collapse svg{transform:rotate(180deg)}.status{white-space:nowrap;color:#536074;background:#eef2f6;border-radius:7px;align-items:center;min-height:28px;padding:3px 9px;font-size:11px;font-weight:750;display:inline-flex}.status.success{color:var(--green);background:var(--green-soft)}.status.info{color:var(--cyan);background:var(--cyan-soft)}.status.warning{color:var(--amber);background:var(--amber-soft)}.status.danger{color:var(--red);background:var(--red-soft)}.muted{color:var(--muted)}.alert{border-radius:9px;padding:11px 13px;font-size:13px}.alert.error{color:#a62626;background:var(--red-soft);border:1px solid #f4b9b9}.alert.info{color:#076e96;background:var(--cyan-soft);border:1px solid #bce4f1}.policy-note{color:var(--muted);font-size:12px}.empty-state,.empty-inline{text-align:center;color:var(--muted);padding:32px}.active-lines{border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;overflow:hidden}.active-head,.production-row{grid-template-columns:minmax(210px,.8fr) 145px 85px 125px minmax(460px,2fr);align-items:center;display:grid}.active-head{min-height:48px;color:var(--muted);border-bottom:1px solid var(--line);background:#fbfcfd;padding:0 18px;font-size:12px;font-weight:700}.active-head span:last-child{text-align:center}.production-row{border-bottom:1px solid var(--line);min-height:168px;padding:18px}.product-cell{align-items:center;gap:13px;min-width:0;display:flex}.product-cell strong,.product-cell small,.job-code strong,.job-code small,.batch-count strong,.batch-count small,.overall small{display:block}.product-cell strong{font-size:15px}.product-cell small,.job-code small,.batch-count small{color:var(--muted);margin-top:4px;font-size:10px}.product-bottle{background:linear-gradient(#fff,#1999c157);border:2px solid #1999c1;border-radius:7px 7px 10px 10px;flex:none;width:33px;height:65px;position:relative}.product-bottle:before{content:"";background:#1999c1;border-radius:3px 3px 0 0;width:18px;height:8px;position:absolute;top:-9px;left:6px}.product-bottle:after{content:"MILK";text-align:center;color:#1999c1;background:#fff;padding:2px 0;font:700 7px/1 Arial;position:absolute;top:27px;left:3px;right:3px}.product-bottle.choco{background:linear-gradient(#fff,#7d564573);border-color:#7d5645}.product-bottle.choco:before{background:#7d5645}.job-code strong,.batch-count strong{font-size:12px}.overall{justify-items:start;gap:7px;display:grid}.overall small{color:var(--amber);font-size:10px;font-weight:700}.process-flow{grid-template-columns:repeat(4,1fr);min-width:0;display:grid}.flow-piece{align-items:center;min-width:0;display:flex}.process-stage{text-align:center;background:#fbfefc;border:1px solid #b8d8c5;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:122px;padding:8px 5px;font-size:10px;display:flex}.process-stage strong{background:var(--green-soft);white-space:nowrap;border-bottom:1px solid #cbe4d5;width:calc(100% + 10px);margin:-8px -5px 4px;padding:8px 4px;font-size:10px}.process-stage.running{background:#f8fcfe;border-color:#83c9e2}.process-stage.running strong{color:#087fac;background:var(--cyan-soft);border-color:#bfe5f1}.process-stage.breakdown{background:snow;border-color:#f29b9b}.process-stage.breakdown strong{color:var(--red);background:var(--red-soft);border-color:#ffcaca}.process-stage.waiting{border-color:var(--line);color:#8290a2;background:#fafbfc}.process-stage.waiting strong{border-color:var(--line);background:#f0f3f6}.stage-symbol{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:22px;height:22px;font-weight:900;display:grid}.running .stage-symbol{background:var(--cyan)}.breakdown .stage-symbol{background:var(--red)}.waiting .stage-symbol{background:#a6b0bd}.process-stage b{font-size:12px}.process-stage small{color:#46536a}.flow-arrow{color:#718095;place-items:center;width:18px;display:grid}.active-lines>footer{color:var(--muted);background:#fbfcfd;padding:10px 18px;font-size:10px}.status-panels{grid-template-columns:1fr 1.05fr 1fr;gap:16px;margin-top:18px;display:grid}.status-panel{border:1px solid var(--line);border-top:4px solid var(--cyan);border-radius:var(--radius);background:#fff;overflow:hidden;box-shadow:0 5px 18px #1423390b}.status-panel.warning{border-top-color:#e69a14}.status-panel.danger{border-top-color:var(--red)}.status-panel.success{border-top-color:var(--green)}.status-panel header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:54px;padding:8px 15px;display:flex}.status-panel header>span{background:#eef2f6;border-radius:50%;place-items:center;min-width:26px;height:26px;font-size:11px;display:grid}.compact-row{border-bottom:1px solid #e8ecf1;grid-template-columns:1.35fr 1fr .8fr;align-items:center;gap:7px;min-height:46px;padding:8px 13px;font-size:11px;display:grid}.compact-row span:first-child{font-weight:700}.status-panel>footer{min-height:44px;color:var(--cyan);justify-content:space-between;align-items:center;padding:0 14px;font-size:11px;font-weight:700;display:flex}.action-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.action-bar .muted{margin-left:auto;font-size:12px}.warning-strip{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.import-result{border:1px solid var(--line);background:#fff;border-radius:10px;margin-top:12px;padding:12px;font-size:12px}.plan-board{grid-template-columns:minmax(250px,.75fr) 1fr 1fr;align-items:start;gap:16px;display:grid}.lane-group{gap:10px;display:grid}.lane-group h2{margin:0;font-size:15px}.plan-lane{border:1px solid var(--line);background:#fff;border-radius:12px;min-height:160px;overflow:hidden}.plan-lane>header{border-bottom:1px solid var(--line);background:#f9fbfc;justify-content:space-between;align-items:center;min-height:46px;padding:0 13px;display:flex}.plan-lane>header span{color:var(--muted);font-size:11px}.lane-items{gap:7px;padding:8px;display:grid}.plan-card{border:1px solid var(--line);border-left:4px solid var(--cyan);cursor:grab;background:#fff;border-radius:9px;padding:11px}.plan-card:active{cursor:grabbing}.plan-card strong,.plan-card span,.plan-card small{display:block}.plan-card strong{font-size:12px}.plan-card span,.plan-card small{color:var(--muted);margin-top:3px;font-size:10px}.import-notice{padding:16px}.import-notice-summary{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.import-notice-summary>span:last-child{color:var(--muted);font-size:12px}.import-rejected{background:var(--red-soft);border:1px solid #f2b4b4;border-radius:10px;margin:12px 0;padding:14px}.import-rejected h3{color:var(--red);margin:0 0 10px;font-size:14px}.import-rejected article{border-top:1px solid #f3cece;grid-template-columns:minmax(120px,.4fr) 1fr;gap:12px;padding:8px 0;display:grid}.import-rejected article:first-of-type{border-top:0}.import-rejected article span{color:var(--muted);font-size:12px}.import-notice>.form-actions{justify-content:flex-end;margin-top:18px}.import-placement-form{gap:17px;padding:20px;display:grid}.import-placement-intro strong,.import-placement-intro span{display:block}.import-placement-intro strong{font-size:15px}.import-placement-intro span{color:var(--muted);margin-top:4px;font-size:11px}.import-placement-options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.import-placement-options>label{border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:13px;flex-direction:column;align-items:flex-start;min-height:174px;padding:16px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex;position:relative}.import-placement-options>label:hover{border-color:#8fc9de}.import-placement-options>label.selected{border-color:var(--cyan);background:#f7fcfe;box-shadow:0 0 0 3px #008dc21a}.import-placement-options input{width:19px;height:19px;accent-color:var(--cyan);position:absolute;top:14px;right:14px}.import-option-icon{border-radius:11px;place-items:center;width:43px;height:43px;margin-bottom:13px;display:grid}.import-option-icon svg{width:21px;height:21px}.import-option-icon.parked{color:var(--amber);background:var(--amber-soft)}.import-option-icon.automatic{color:var(--green);background:var(--green-soft)}.import-placement-options strong{font-size:13px}.import-placement-options small{color:var(--muted);margin-top:7px;font-size:10px;line-height:1.55}.import-placement-form>.form-actions{padding-top:2px}.import-placement-form>.form-actions .button{width:100%}.import-result-mode{border:1px solid var(--line);background:#fafbfd;border-radius:10px;align-items:center;gap:11px;margin-bottom:14px;padding:12px 14px;display:flex}.import-result-mode svg{width:28px;height:28px}.import-result-mode small,.import-result-mode strong{display:block}.import-result-mode small{color:var(--muted);font-size:9px}.import-result-mode strong{font-size:12px}.import-result-mode.parked{color:var(--amber);background:var(--amber-soft);border-color:#f0d59d}.import-result-mode.automatic{color:var(--green);background:var(--green-soft);border-color:#b9dfcc}@media (max-width:760px){.import-placement-options{grid-template-columns:1fr}.import-placement-options>label{min-height:148px}}.cip-warning-list{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:10px;margin:-2px 0 16px;display:grid}.cip-warning-list article{border:1px solid #f0d59d;border-left:4px solid var(--amber);background:#fffdf7;border-radius:10px;justify-content:space-between;gap:18px;padding:13px 14px;display:flex}.cip-warning-list article.overdue{border-color:#f3b6b6;border-left-color:var(--red);background:snow}.cip-warning-list article>div{gap:4px;display:grid}.cip-warning-list article>div:last-child{text-align:right}.cip-warning-list strong{font-size:12px}.cip-warning-list span,.cip-warning-list small{color:var(--muted);font-size:10px}.cip-cycle-summary{border:1px solid var(--line);background:#f8fafc;border-radius:9px;gap:5px;margin:0 14px 12px;padding:11px 12px;display:grid}.cip-cycle-summary strong{font-size:11px}.cip-cycle-summary span,.cip-cycle-summary small{color:var(--muted);font-size:10px}.cip-cycle-summary.warning{background:#fffdf7;border-color:#f0d59d}.cip-cycle-summary.overdue{background:snow;border-color:#f3b6b6}.segmented{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:14px;display:inline-flex;overflow:hidden}.segmented button{cursor:pointer;background:#fff;border:0;min-width:110px;min-height:46px}.segmented button.active{color:#fff;background:var(--cyan)}.product-worklist{gap:10px;display:grid}.work-product{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.work-product-head{text-align:left;cursor:pointer;background:#fff;border:0;justify-content:space-between;align-items:center;width:100%;min-height:66px;padding:10px 15px;display:flex}.work-product-head strong,.work-product-head span{display:block}.work-product-head span{color:var(--muted);margin-top:3px;font-size:11px}.batch-drawer{border-top:1px solid var(--line);display:none}.batch-drawer.open{display:block}.batch-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 180px 180px;align-items:center;gap:10px;min-height:70px;padding:10px 15px;display:grid}.batch-row:last-child{border-bottom:0}.batch-row strong,.batch-row span{display:block}.batch-row span{color:var(--muted);font-size:10px}.machine-grid{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px;display:grid}.machine-card{border:1px solid var(--line);border-top:4px solid var(--cyan);box-shadow:var(--shadow);background:#fff;border-radius:13px;overflow:hidden}.machine-card.state-breakdown{border-top-color:var(--red)}.machine-card.state-available{border-top-color:var(--green)}.machine-card>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:66px;padding:10px 15px;display:flex}.machine-card>header strong,.machine-card>header span{display:block}.machine-card>header span{color:var(--muted);font-size:11px}.machine-job{background:#fafbfd;min-height:84px;padding:14px 15px}.machine-job strong,.machine-job span,.machine-job small{display:block}.machine-job span,.machine-job small{color:var(--muted);margin-top:4px;font-size:11px}.workflow-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;display:grid}.workflow-actions button{color:#087ea9;cursor:pointer;background:#f5fbfd;border:1px solid #82c5de;border-radius:9px;min-height:48px;font-weight:700}.quantity{color:var(--muted);grid-column:1/-1;font-size:11px}.quantity input{border:1px solid var(--line-strong);border-radius:8px;width:100%;height:46px;margin-top:4px;padding:0 10px}.disabled-reason{color:var(--muted);margin:0 12px 12px;font-size:11px}.machine-card>.alert{margin:0 12px 12px}.machine-card.bookmarked{box-shadow:0 0 0 2px #0e97c626,var(--shadow)}.machine-card-tools{align-items:center;gap:9px;display:flex}.machine-bookmark{border:1px solid var(--line);color:#8a9bae;cursor:pointer;background:#fff;border-radius:10px;width:38px;height:38px;font-size:22px;line-height:1}.machine-bookmark:hover{color:#c98d00;background:#fffaf0;border-color:#e0a000}.machine-bookmark.active{color:#c98d00;background:#fff4c7;border-color:#e0a000}.machine-bookmark:disabled{cursor:wait;opacity:.6}.filter-bar{grid-template-columns:1fr 220px;gap:10px;margin-bottom:14px;display:grid}.filter-bar input,.filter-bar select,.form-grid input,.form-grid select{border:1px solid var(--line-strong);background:#fff;border-radius:9px;width:100%;min-height:48px;padding:0 12px}.timeline-list{border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px 16px;position:relative}.timeline-list article{border-bottom:1px solid var(--line);grid-template-columns:145px 24px 1fr;gap:10px;min-height:94px;padding:14px 0;display:grid}.timeline-list article:last-child{border-bottom:0}.timeline-list time{color:var(--muted);font-size:11px}.timeline-dot{background:var(--cyan);width:11px;height:11px;box-shadow:0 0 0 5px var(--cyan-soft);border-radius:50%;margin-top:4px}.timeline-list strong,.timeline-list p{margin-top:7px;display:block}.timeline-list p{color:var(--muted);margin-bottom:0;font-size:11px}.data-table{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.data-head,.data-row{grid-template-columns:140px 1.5fr 120px 130px 120px 110px;align-items:center;gap:10px;padding:0 15px;display:grid}.data-head{min-height:46px;color:var(--muted);border-bottom:1px solid var(--line);background:#fafbfd;font-size:11px;font-weight:700}.data-row{border-bottom:1px solid var(--line);min-height:62px;font-size:12px}.data-row:last-child{border-bottom:0}.data-row .button{min-height:42px;padding-inline:12px}.planned-batches small{display:none}.modal-backdrop{z-index:70;background:#0412228c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(680px,100%);max-height:min(90vh,820px);overflow:auto;box-shadow:0 24px 60px #04122247}.modal>header{z-index:1;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;min-height:68px;padding:10px 18px;display:flex;position:sticky;top:0}.modal h2{margin:0;font-size:20px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;padding:18px;display:grid}.form-grid label{font-size:12px;font-weight:650}.form-grid label input,.form-grid label select{margin-top:5px;font-weight:400}.span-2{grid-column:1/-1}.form-actions{justify-content:flex-end;display:flex}.form-grid fieldset{border:1px solid var(--line);border-radius:9px;padding:10px}.form-grid legend{font-size:12px;font-weight:750}.form-grid label.check{align-items:center;gap:6px;margin-right:10px;display:inline-flex}.form-grid label.check input{width:18px;height:18px;min-height:0;margin:0}.route-capacity-row{grid-template-columns:minmax(100px,1fr) 110px;align-items:center;gap:8px;margin:7px 0;display:grid}.route-capacity-row>label:last-child{white-space:nowrap;align-items:center;gap:5px;display:flex}.route-capacity-row>label:last-child input{width:70px;min-height:36px;margin:0;padding:0 7px}.department-queue-note{color:#075d78;background:#eefaff;border:1px solid #a9dbea;border-radius:10px;align-items:center;gap:10px;margin-bottom:14px;padding:11px 14px;display:flex}.department-queue-note span{color:var(--muted);font-size:12px}.work-product-head small{color:var(--cyan);margin-bottom:3px;font-size:10px;font-weight:800;display:block}.department-machine-queues{grid-template-columns:repeat(auto-fit,minmax(390px,1fr));align-items:start;gap:16px;display:grid}.department-machine-queue{border:1px solid var(--line-strong);box-shadow:var(--shadow);background:#f8fafc;border-radius:13px;overflow:hidden}.department-machine-queue>header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:14px;min-height:62px;padding:11px 14px;display:flex}.department-machine-queue>header small,.department-machine-queue>header strong{display:block}.department-machine-queue>header small{color:var(--muted);font-size:9px}.department-machine-queue>header strong{margin-top:2px;font-size:17px}.department-machine-queue>header>span{color:var(--cyan);background:var(--cyan-soft);border-radius:7px;padding:5px 8px;font-size:10px;font-weight:750}.department-machine-queue .product-worklist{padding:10px}.department-machine-queue .work-product{box-shadow:none}@media (max-width:760px){.department-queue-note{flex-direction:column;align-items:flex-start}.department-machine-queues{grid-template-columns:1fr}.department-machine-queue>header{flex-direction:column;align-items:flex-start}.batch-row{grid-template-columns:1fr}.batch-row .button{width:100%}}.machine-master-intro{background:#eefaff;border:1px solid #a9dbea;border-radius:12px;align-items:center;gap:10px;margin-bottom:16px;padding:13px 16px;display:flex}.machine-master-intro span{color:var(--muted);font-size:12px}.machine-department-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.machine-department-card{border:1px solid var(--line);text-align:left;min-height:190px;color:var(--ink);background:#fff;border-radius:16px;grid-template-columns:72px 1fr 24px;align-items:center;gap:18px;padding:24px;display:grid;box-shadow:0 8px 22px #0b2a480f}.machine-department-card:hover{border-color:var(--cyan);transform:translateY(-1px)}.machine-department-icon{background:var(--cyan-soft);width:64px;height:64px;color:var(--cyan);border-radius:16px;place-items:center;display:grid}.machine-department-card.filling .machine-department-icon{color:var(--green);background:#ecf8f1}.machine-department-icon svg{width:34px;height:34px}.machine-department-card div{gap:6px;display:grid}.machine-department-card small,.machine-department-card span{color:var(--muted)}.machine-department-card strong{font-size:26px}.machine-department-card>svg{width:24px}.machine-list-toolbar{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-bottom:16px;display:grid}.machine-list-toolbar>div{gap:3px;display:grid}.machine-list-toolbar>div strong{font-size:20px}.machine-list-toolbar>div span{color:var(--muted);font-size:12px}.machine-list-toolbar .button svg{width:18px}.machine-master-table{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.machine-master-head,.machine-master-row{grid-template-columns:minmax(160px,1.5fr) 130px 120px 100px 90px 24px;align-items:center;gap:12px;padding:12px 16px;display:grid}.machine-master-head{color:var(--muted);background:#f3f7fb;font-size:11px;font-weight:750}.machine-master-row{border:0;border-top:1px solid var(--line);text-align:left;width:100%;color:var(--ink);background:#fff}.machine-master-row:hover{background:#f7fcfe}.machine-master-row.inactive{color:#8b5252;background:#fff7f7}.machine-master-row>svg{width:18px}.machine-detail-summary{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.machine-detail-summary>div{border:1px solid var(--line);background:#f8fafc;border-radius:9px;gap:4px;padding:12px;display:grid}.machine-detail-summary small,.machine-aliases>small{color:var(--muted)}.machine-aliases div{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.machine-aliases span{background:#eef4f8;border-radius:999px;padding:5px 9px;font-size:11px}.machine-active-toggle{border:1px solid var(--line);border-radius:9px;align-items:center;gap:10px;padding:12px;display:flex!important}.machine-active-toggle input{height:20px;width:20px!important;min-height:0!important;margin:0!important}.machine-active-toggle span{gap:3px;display:grid}.machine-active-toggle small{color:var(--muted);font-weight:400}.product-actions{margin-bottom:14px}.form-actions{gap:10px}.modal:has(.import-preview){width:min(1180px,100%)}.import-preview{padding:16px}.import-guidance{color:var(--muted);align-items:center;gap:10px;margin-bottom:12px;font-size:12px;display:flex}.import-preview-scroll{border:1px solid var(--line);border-radius:10px;overflow:auto}.import-preview table{border-collapse:collapse;width:100%;min-width:980px;font-size:12px}.import-preview th,.import-preview td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px}.import-preview th{color:var(--muted);background:#f7f9fb;font-size:11px;position:sticky;top:0}.import-preview tr:last-child td{border-bottom:0}.import-preview tr.has-error{background:var(--red-soft)}.import-preview td small{color:var(--muted);margin-bottom:5px;display:block}.import-preview select{border:1px solid var(--line-strong);background:#fff;border-radius:8px;min-width:135px;min-height:38px;padding:0 8px}.import-errors{min-width:180px;color:var(--red);font-weight:650;display:block}.import-summary{color:var(--muted);padding:12px 0;font-size:12px}.import-actions{padding-top:2px}.product-master-form input[type=number]{font-variant-numeric:tabular-nums}.login-screen{background:radial-gradient(circle at 70% 15%,#e6f6fb,transparent 28%),var(--canvas);place-items:center;min-height:100vh;padding:20px;display:grid}.login-panel{border:1px solid var(--line);background:#fff;border-radius:18px;width:min(430px,100%);padding:32px;box-shadow:0 18px 50px #0f26431f}.login-brand{color:var(--ink);letter-spacing:.06em;align-items:center;gap:10px;font-size:20px;display:flex}.login-panel h1{margin:28px 0 4px}.login-panel>p{color:var(--muted);margin:0 0 22px}.login-panel form{gap:14px;display:grid}.login-panel label{font-size:12px;font-weight:700}.login-panel input{border:1px solid var(--line-strong);border-radius:9px;width:100%;min-height:50px;margin-top:5px;padding:0 12px}.login-panel small{color:var(--muted);text-align:center;margin-top:18px;display:block}@media (max-width:1220px){.active-head,.production-row{grid-template-columns:minmax(180px,.8fr) 125px 75px 105px minmax(390px,2fr)}.workspace{padding-inline:20px}.status-panels{grid-template-columns:1fr 1fr}.status-panel:last-child{grid-column:1/-1}.plan-board{grid-template-columns:1fr 1fr}.plan-board>.plan-lane{grid-column:1/-1}.process-stage strong{font-size:9px}}@media (max-width:1100px){.sidebar{width:var(--sidebar);transform:translate(-100%)}.shell-main,.is-collapsed .shell-main{padding-left:0}.drawer-open .sidebar{transform:translate(0)}.drawer-open .drawer-scrim{z-index:35;background:#0412228c;border:0;display:block;position:fixed;inset:0}.topbar{justify-content:space-between}.topbar-mobile{align-items:center;gap:10px;display:flex}.topbar-mobile strong{letter-spacing:.06em}.is-collapsed .brand-text,.is-collapsed .nav-button span{display:inline}.active-head{display:none}.production-row{grid-template-columns:1fr 1fr;gap:10px}.product-cell,.process-flow{grid-column:1/-1}.overall{grid-column:2}.process-flow{margin-top:4px}}@media (max-width:760px){body{padding-bottom:72px}.topbar{color:#fff;background:linear-gradient(110deg,var(--navy-950),var(--navy-900));border:0;height:72px;padding:0 14px}.icon-button.dark{color:#fff;background:0 0;border-color:#fff3}.updated,.user-menu{display:none}.mode-tag{color:#53d1f1;border-radius:10px;border:1px solid #13afd8!important;padding-inline:10px!important}.workspace{padding:22px 14px}.page-toolbar{align-items:center}.page-toolbar h1{font-size:28px}.page-toolbar p{font-size:12px;line-height:1.5}.refresh{width:48px;padding:0}.refresh span{display:none}.bottom-nav{z-index:32;background:var(--navy-950);color:#b7c9db;grid-template-columns:repeat(5,1fr);height:72px;display:grid;position:fixed;inset:auto 0 0}.bottom-nav button{color:inherit;background:0 0;border:0;align-content:center;place-items:center;gap:2px;font-size:10px;display:grid;position:relative}.bottom-nav button.active{color:#26c3e8}.bottom-nav button.active:before{content:"";background:#26c3e8;width:34px;height:3px;position:absolute;top:0}.bottom-nav svg{width:22px;height:22px}.production-row{grid-template-columns:1fr 1fr;min-height:0;padding:16px;display:grid}.product-cell{border-bottom:1px solid var(--line);padding-bottom:12px}.job-code,.batch-count{padding:5px 0}.overall{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.process-flow{grid-template-columns:1fr;margin-top:5px;padding-left:37px;position:relative}.process-flow:before{content:"";background:linear-gradient(var(--green) 0 48%,var(--cyan) 48% 72%,var(--red) 72%);width:2px;position:absolute;top:28px;bottom:28px;left:15px}.flow-piece{display:block;position:relative}.flow-arrow{display:none}.process-stage{text-align:left;border-radius:0;min-height:78px;padding:11px 4px;display:block;border:0!important;border-bottom:1px solid var(--line)!important;background:#fff!important}.process-stage strong{width:auto;margin:0 0 4px;padding:0;font-size:13px;display:block;color:var(--ink)!important;background:0 0!important;border:0!important}.stage-symbol{border:3px solid #fff;width:28px;height:28px;font-size:10px;position:absolute;top:18px;left:-33px;box-shadow:0 0 0 2px}.process-stage>span:not(.stage-symbol),.process-stage b,.process-stage small{margin-right:8px;font-size:10px;display:inline-block}.active-lines>footer{font-size:9px}.status-panels{grid-template-columns:1fr;gap:9px;margin-top:12px}.status-panel:last-child{grid-column:auto}.status-panel>footer,.compact-table{display:none}.status-panel header{min-height:58px}.action-bar .muted{width:100%;margin:0}.plan-board{display:block}.lane-group{margin-top:14px}.plan-lane{margin-bottom:9px}.batch-row{grid-template-columns:1fr;gap:8px}.machine-grid,.filter-bar,.timeline-list article{grid-template-columns:1fr}.timeline-dot{display:none}.data-table{background:0 0;border:0;overflow:visible}.data-head{display:none}.data-row{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:1fr 1fr;margin-bottom:9px;padding:12px}.data-row>span:nth-child(2){grid-column:1/-1}.planned-batches small{color:var(--muted);font-size:10px;display:block}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.modal{max-height:95vh}.workflow-actions{grid-template-columns:1fr}.quantity{grid-column:auto}}.plan-card>strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.plan-card.pending-product-card{border-color:#f3b6b6;border-left-color:var(--red);cursor:not-allowed;background:snow}.plan-card.pending-product-card.configurable{cursor:pointer}.plan-card.pending-product-card strong,.plan-card.pending-product-card .pending-copy{color:var(--red)}.product-table .data-row.pending-product{background:snow}.product-table .data-row.pending-product>strong,.product-table .data-row.pending-product>span:nth-child(2){color:var(--red)}.job-detail{gap:16px;padding:18px;display:grid}.job-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.job-detail-grid>div{border:1px solid var(--line);background:#fafbfd;border-radius:9px;min-height:68px;padding:11px 12px}.job-detail-grid small,.job-detail-grid strong{display:block}.job-detail-grid small{color:var(--muted);margin-bottom:5px;font-size:10px}.job-detail-grid strong{font-size:12px}.job-detail .alert{justify-content:space-between;align-items:center;gap:12px;display:flex}.job-detail .alert .button{flex:none;min-height:40px}.job-note-label{gap:6px;font-size:12px;font-weight:700;display:grid}.job-note-label textarea{resize:vertical;border:1px solid var(--line-strong);width:100%;min-height:118px;font:inherit;border-radius:9px;padding:11px 12px;font-weight:400}.job-note-label textarea[readonly]{color:var(--muted);background:#f4f6f8}.job-note-label small{color:var(--muted);font-size:10px;font-weight:400}.plan-card>span,.plan-card>small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (max-width:760px){.job-detail-grid{grid-template-columns:1fr}.job-detail .alert{flex-direction:column;align-items:flex-start}}.job-detail-actions{justify-content:space-between}.cut-plan-form{gap:16px;padding:18px;display:grid}.cut-plan-form>.alert{gap:4px;display:grid}.cut-plan-form>.alert span{font-size:11px}.cut-plan-summary{grid-template-columns:2fr 1fr 1.3fr;gap:10px;display:grid}.cut-plan-summary>div{border:1px solid var(--line);background:#fafbfd;border-radius:9px;padding:11px 12px}.cut-plan-summary small,.cut-plan-summary strong{display:block}.cut-plan-summary small{color:var(--muted);margin-bottom:5px;font-size:10px}.cut-plan-summary strong{font-size:12px}.cut-plan-form>label{gap:6px;font-size:12px;font-weight:700;display:grid}.cut-plan-form select{border:1px solid var(--line-strong);background:#fff;border-radius:9px;min-height:48px;padding:0 12px}.cut-plan-form label small{color:var(--red);font-size:10px}@media (max-width:760px){.cut-plan-summary{grid-template-columns:1fr}}.plan-lane>.parked-lane-header{grid-template-columns:auto minmax(120px,1fr) auto auto;gap:9px;display:grid}.parked-lane-header input{border:1px solid var(--line-strong);background:#fff;border-radius:7px;width:100%;min-width:0;height:34px;padding:0 9px;font-size:11px}.lane-expand-button{width:34px;height:34px;color:var(--cyan);cursor:pointer;background:#fff;border:1px solid #9acfe1;border-radius:8px;place-items:center;padding:0;display:grid}.lane-expand-button:hover{color:#fff;background:var(--cyan)}.lane-expand-button svg{width:17px;height:17px}.button.plan-button{color:#fff;background:var(--green);border-color:var(--green)}.button.plan-button:hover{background:#147a47}.job-detail-actions>div{flex-wrap:wrap;gap:8px;display:flex}.plan-assignment-form{gap:18px;padding:18px;display:grid}.assignment-product{background:linear-gradient(135deg,#f7fdfa,var(--green-soft));border:1px solid #b9dfcc;border-radius:12px;padding:16px}.assignment-product span,.assignment-product strong,.assignment-product small{display:block}.assignment-product span{color:var(--green);letter-spacing:.08em;margin-bottom:5px;font-size:10px;font-weight:800}.assignment-product strong{font-size:17px}.assignment-product small{color:var(--muted);margin-top:4px;font-size:11px}.assignment-route-grid{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);align-items:center;display:grid}.assignment-route-grid label{gap:6px;font-size:12px;font-weight:750;display:grid}.assignment-route-grid select{border:1px solid var(--line-strong);background:#fff;border-radius:10px;width:100%;min-height:50px;padding:0 12px}.assignment-route-grid small{color:var(--muted);font-size:10px;font-weight:400}.assignment-arrow{color:#fff;background:var(--cyan);border-radius:50%;place-items:center;width:30px;height:30px;margin:auto;font-weight:900;display:grid}.simultaneous-machine-set{background:#fff9e8;border:1px solid #e0b23b;border-radius:10px;gap:3px;min-height:50px;padding:10px 12px;display:grid}.simultaneous-machine-set strong{color:#805b00}.simultaneous-machine-set small{margin:0!important}.parked-drawer-backdrop{z-index:75;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#04122294;justify-content:flex-end;display:flex;position:fixed;inset:0}.parked-drawer{background:#f3f6f9;width:min(1240px,100vw - 64px);height:100%;animation:.24s ease-out parked-drawer-in;overflow:auto;box-shadow:-22px 0 55px #04122247}.parked-drawer>header{z-index:3;color:#fff;background:linear-gradient(125deg,var(--navy-950),var(--navy-800));border-bottom:4px solid #20b8df;justify-content:space-between;align-items:center;gap:24px;min-height:112px;padding:20px 24px;display:flex;position:sticky;top:0}.parked-drawer>header span{color:#52cce9;letter-spacing:.16em;font-size:10px;font-weight:800}.parked-drawer>header h2{margin:3px 0 0;font-size:27px}.parked-drawer>header p{color:#b9ccdd;margin:3px 0 0;font-size:11px}.parked-drawer-tools{align-items:end;gap:10px;display:flex}.parked-drawer-tools label{color:#cce0ef;gap:5px;font-size:10px;font-weight:700;display:grid}.parked-drawer-tools input{width:min(360px,35vw);height:44px;color:var(--ink);background:#fff;border:1px solid #ffffff40;border-radius:10px;padding:0 12px}.parked-drawer-tools .icon-button{color:#fff;background:#ffffff14;border-color:#ffffff40}.parked-drawer-summary{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:11px;align-items:center;gap:8px;margin:18px 22px 0;padding:12px 16px;font-size:11px;display:flex}.parked-drawer-summary strong{color:var(--cyan);font-size:22px}.parked-drawer-summary span{color:var(--muted)}.parked-drawer-summary i{background:var(--line);width:1px;height:28px;margin:0 10px}.parked-route-groups{gap:14px;padding:14px 22px 28px;display:grid}.parked-route-group{border:1px solid var(--line-strong);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 5px 18px #1423390d}.parked-route-group>header{color:#fff;background:linear-gradient(100deg,var(--navy-800),#166b8f);justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:8px 14px;display:flex}.parked-route-group>header strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.parked-route-group>header span{background:#ffffff24;border-radius:999px;flex:none;padding:4px 8px;font-size:10px}.parked-table-head,.parked-table article{grid-template-columns:105px minmax(210px,1.25fr) 75px 86px 130px minmax(170px,1fr);align-items:center;gap:10px;padding:0 14px;display:grid}.parked-table-head{min-height:37px;color:var(--muted);border-bottom:1px solid var(--line);background:#f6f8fa;font-size:10px;font-weight:750}.parked-table article{cursor:pointer;border-bottom:1px solid #e8ecf1;min-height:54px;font-size:11px}.parked-table article:last-child{border-bottom:0}.parked-table article:hover,.parked-table article:focus-visible{background:var(--cyan-soft)}.parked-table article time,.parked-table article span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);overflow:hidden}.parked-table article strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;overflow:hidden}@keyframes parked-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media (max-width:760px){.plan-lane>.parked-lane-header{grid-template-columns:1fr auto}.parked-lane-header input{grid-area:2/1/auto/-1}.parked-drawer{width:100vw}.parked-drawer>header{flex-direction:column;align-items:flex-start;min-height:0;padding:16px;position:relative}.parked-drawer>header h2{font-size:23px}.parked-drawer-tools{align-items:end;width:100%}.parked-drawer-tools label{flex:1}.parked-drawer-tools input{width:100%}.parked-drawer-summary{margin:12px}.parked-route-groups{padding:0 12px 18px}.parked-table{overflow-x:auto}.parked-table-head,.parked-table article{min-width:850px}.assignment-route-grid{grid-template-columns:1fr;gap:10px}.assignment-arrow{transform:rotate(90deg)}.job-detail-actions{flex-direction:column;align-items:stretch}.job-detail-actions>div,.job-detail-actions .button{width:100%}.job-detail-actions>div .button{flex:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.workflow-actions{border:0;margin:0}.breakdown-actions{grid-template-columns:1fr auto;gap:8px;padding:0 12px 12px;display:grid}.breakdown-actions input{border:1px solid var(--line-strong);border-radius:9px;min-width:0;min-height:48px;padding:0 10px}.button.danger{color:#fff;background:var(--red);border-color:var(--red)}@media (max-width:760px){.breakdown-actions{grid-template-columns:1fr}}.settings-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:22px;display:grid}.settings-card.danger-zone{border-color:#efb2b2}.settings-card h2{margin:0 0 5px;font-size:18px}.settings-card p{color:var(--muted);margin:0;font-size:13px}.settings-icon{width:50px;height:50px;color:var(--red);background:var(--red-soft);border-radius:12px;place-items:center;display:grid}.reset-counts{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.reset-counts span{color:var(--muted);background:#f1f4f7;border-radius:7px;padding:5px 9px;font-size:11px}.reset-counts strong{color:var(--ink)}.reset-form .alert strong{display:inline}@media (max-width:760px){.settings-card{grid-template-columns:auto 1fr}.settings-card>.button{grid-column:1/-1;width:100%}}.login-panel.register-panel{width:min(690px,100%)}.auth-tabs{background:#eef2f6;border-radius:11px;grid-template-columns:1fr 1fr;gap:4px;margin-top:24px;padding:4px;display:grid}.auth-tabs button{min-height:42px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;font-weight:750}.auth-tabs button.active{color:var(--cyan);background:#fff;box-shadow:0 2px 8px #14233914}.auth-form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.login-panel select{border:1px solid var(--line-strong);background:#fff;border-radius:9px;width:100%;min-height:50px;margin-top:5px;padding:0 12px}.password-hint{margin:-4px 0 0!important;font-size:11px!important}.registration-success{background:var(--green-soft);color:var(--green);border:1px solid #b7dfc7;border-radius:12px;gap:12px;margin-top:18px;padding:20px;display:grid}.registration-success span{font-size:13px;line-height:1.6}.registration-success .button{margin-top:4px}.user-management{gap:16px;display:grid}.user-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.user-summary>div{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.user-summary span{color:var(--muted);font-size:12px}.user-summary strong{font-size:25px}.user-summary .attention{background:var(--amber-soft);border-color:#efc36f}.user-summary .attention strong{color:var(--amber)}.user-filter{justify-content:space-between;align-items:end;gap:12px;display:flex}.user-filter label{min-width:220px;font-size:12px;font-weight:700}.user-filter select{border:1px solid var(--line-strong);background:#fff;border-radius:9px;width:100%;min-height:46px;margin-top:5px;padding:0 12px;display:block}.user-list{gap:8px;display:grid}.user-list article{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:44px minmax(180px,1.4fr) minmax(100px,.7fr) minmax(130px,.8fr) 100px 130px;align-items:center;gap:12px;padding:13px 15px;display:grid}.user-list article.pending{background:#fffdf8;border-color:#edc778}.user-avatar{background:var(--cyan-soft);width:42px;height:42px;color:var(--cyan);border-radius:12px;place-items:center;font-size:18px;font-weight:850;display:grid}.user-identity{min-width:0}.user-identity strong,.user-identity span,.user-list article div>small,.user-list article div>strong{display:block}.user-identity span,.user-list article div>small{color:var(--muted);margin-top:3px;font-size:10px}.user-list article div>strong{font-size:12px}.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.permission-grid .check{border:1px solid var(--line);border-radius:8px;padding:9px;margin:0!important}.access-form .form-actions{gap:10px}@media (max-width:900px){.user-list article{grid-template-columns:44px 1fr auto}.user-list article>div:nth-child(3),.user-list article>div:nth-child(4){display:none}.user-list article>.status{justify-self:end}.user-list article>.button{grid-column:2/-1}.user-summary{grid-template-columns:1fr}}@media (max-width:760px){.auth-form-grid{grid-template-columns:1fr}.auth-form-grid .span-2{grid-column:auto}.login-panel.register-panel{padding:24px}.user-filter{flex-direction:column;align-items:stretch}.user-filter label{min-width:0}.permission-grid{grid-template-columns:1fr}.user-list article{grid-template-columns:40px 1fr}.user-list article>.status{grid-column:2;justify-self:start}.user-list article>.button{grid-column:1/-1;width:100%}}.password-reset-panel{background:#fffaf0;border:1px solid #e8c36d;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.password-reset-panel>div:first-child strong,.password-reset-panel>div:first-child span,.password-reset-panel.disabled strong,.password-reset-panel.disabled span{display:block}.password-reset-panel span,.password-reset-panel p{color:var(--muted);margin:3px 0 0;font-size:11px}.password-reset-panel.disabled{border-color:var(--line);background:#f6f8fa;display:block}.password-reset-panel.success{background:var(--green-soft);border-color:#9fd1b2;display:block}.password-reset-confirm{flex:1;grid-template-columns:minmax(190px,1fr) auto;align-items:end;gap:10px;display:grid}.password-reset-confirm label{font-size:11px}.password-reset-confirm input{min-height:44px!important}.password-reset-confirm>div{gap:8px;display:flex}.password-reset-panel>.alert{width:100%}.temporary-password{align-items:center;gap:10px;margin-top:10px;display:flex}.temporary-password code{overflow-wrap:anywhere;color:var(--ink);letter-spacing:.04em;background:#fff;border:1px dashed #70b58b;border-radius:8px;flex:1;padding:12px;font-size:16px;font-weight:800}@media (max-width:760px){.password-reset-panel,.password-reset-confirm,.temporary-password{grid-template-columns:1fr;display:grid}.password-reset-panel>.button,.password-reset-confirm .button,.temporary-password .button{width:100%}.password-reset-confirm>div{grid-template-columns:1fr 1fr;display:grid}}@media (min-width:1101px) and (max-width:1400px){.workspace{padding-inline:20px}.active-head,.production-row{grid-template-columns:minmax(165px,.8fr) 130px 64px 112px minmax(390px,2fr)}.production-row{padding-inline:14px}.flow-arrow{width:12px}.process-stage{padding-inline:3px}}.machine-workflow-page{gap:14px;display:grid}.next-batch-alarm-banner{color:#6d4900;background:#fff1a8;border:2px solid #e3aa14;border-radius:13px;grid-template-columns:auto 1fr;align-items:start;gap:16px;padding:15px 18px;display:grid;box-shadow:0 7px 20px #b8800024}.next-batch-alarm-banner>strong{white-space:nowrap}.next-batch-alarm-banner>div{gap:4px;display:grid}.next-batch-alarm-banner span{font-size:12px;font-weight:700}.machine-card.next-batch-alarm{box-shadow:0 0 0 3px #e2ac2033,var(--shadow);background:#fff5bd;border-color:#d69500 #e2ac20 #e2ac20}.machine-card.next-batch-alarm>header,.machine-card.next-batch-alarm .machine-job{background:0 0}.next-batch-card-alarm{color:#5d4100;background:#f2c744;justify-content:space-between;gap:10px;padding:9px 15px;font-size:11px;display:flex}.workflow-actions button.next-batch-requested:disabled{opacity:1;color:#fff!important;background:var(--green)!important;border-color:var(--green)!important}.workflow-actions button.next-batch-acknowledged:disabled{opacity:1;color:#684900!important;background:#f2c744!important;border-color:#d9a600!important}.next-batch-ack-note{color:#6d4900;background:#fff1a8;border-radius:8px;margin:0 12px 12px;padding:9px 11px;font-size:11px;font-weight:700}.timeline-pagination{color:var(--muted);justify-content:space-between;align-items:center;gap:14px;padding:14px 2px;font-size:12px;display:flex}.timeline-pagination strong{color:var(--green)}@media (max-width:760px){.next-batch-alarm-banner{grid-template-columns:1fr}.timeline-pagination{flex-direction:column;align-items:stretch}.timeline-pagination .button{width:100%}}.control-tower{gap:18px;padding-bottom:40px;display:grid}.realtime-control-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.realtime-control-header h1{letter-spacing:-.035em;margin:0;font-size:38px;line-height:1.05}.realtime-control-header p{color:var(--muted);margin:6px 0 3px;font-size:13px}.realtime-control-header>div>span{color:var(--subtle);font-size:11px}.realtime-header-actions{align-items:center;gap:12px;display:flex}.realtime-header-actions>.button{min-height:44px}.realtime-header-actions svg{width:18px}.realtime-legend{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:13px;min-height:44px;padding:0 13px;display:flex}.realtime-legend span{white-space:nowrap;color:var(--muted);align-items:center;gap:6px;font-size:10px;display:flex}.realtime-legend i{border-radius:3px;width:10px;height:10px}.realtime-legend .active{background:#28a462}.realtime-legend .calling{background:#eca900}.realtime-legend .breakdown{background:#df4545}.realtime-legend .cleaning{background:#29a9ca}.realtime-legend .waiting{background:#aab4c1}.live-production,.idle-machine-section,.weekly-schedule{border:1px solid var(--line-strong);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 6px 18px #1423390b}.live-production>header,.idle-machine-section>header,.weekly-schedule>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:13px 16px;display:flex}.live-production h2,.idle-machine-section h2,.weekly-schedule h2{margin:0;font-size:17px}.live-production header p,.idle-machine-section header p,.weekly-schedule header p{color:var(--muted);margin:3px 0 0;font-size:10px}.live-production>header>strong,.idle-machine-section>header>strong{color:var(--cyan);background:var(--cyan-soft);border-radius:7px;padding:5px 9px;font-size:11px}.process-column-head,.product-lane{grid-template-columns:210px repeat(4,minmax(180px,1fr));gap:10px;padding-inline:14px;display:grid}.process-column-head{min-height:42px;color:var(--muted);border-bottom:1px solid var(--line);background:#f7f9fb;align-items:center;font-size:10px;font-weight:750}.process-column-head span:not(:first-child){align-items:center;gap:7px;display:flex}.process-column-head i{border:1px solid var(--line-strong);width:20px;height:20px;color:var(--ink);background:#fff;border-radius:50%;place-items:center;font-style:normal;display:grid}.product-lane{border-bottom:1px solid var(--line);align-items:stretch;padding-block:12px}.product-lane:last-child{border-bottom:0}.lane-product{align-items:center;gap:12px;padding:7px 3px;display:flex}.sauce-mark{border:2px solid var(--navy-800);color:#fff;background:var(--navy-800);letter-spacing:.04em;border-radius:9px 9px 13px 13px;flex:none;place-items:center;width:44px;height:58px;font-size:10px;font-weight:900;display:grid;box-shadow:inset 0 8px #ffffff1f}.lane-product strong,.lane-product span,.lane-product small{display:block}.lane-product strong{font-size:15px}.lane-product div>span{color:var(--muted);margin-top:2px;font-size:11px}.lane-product small{color:var(--subtle);margin-top:5px;font-size:9px}.realtime-process-box{border:1px solid;border-radius:9px;grid-template-rows:auto 1fr;grid-template-columns:1fr auto;gap:7px 10px;min-height:94px;padding:12px 13px;display:grid;position:relative}.process-box-state{align-items:center;gap:7px;display:flex}.state-symbol{color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:10px;font-weight:900;display:grid}.process-box-detail{align-self:end}.process-box-detail span,.process-box-detail small{display:block}.process-box-detail small{color:var(--muted);margin-top:3px;font-size:9px}.cip-clock{text-align:center;border-left:1px solid #12233f21;grid-area:1/2/3;align-content:center;min-width:82px;padding-left:10px;display:grid}.cip-clock small{color:var(--muted);font-size:8px}.cip-clock strong{margin-top:4px;font-size:11px}.tone-active{background:#effaf3;border-color:#8bcba5}.tone-active .state-symbol{background:#20985a}.tone-calling{background:#fff8e5;border-color:#efbd50}.tone-calling .state-symbol{background:#e9a600}.tone-breakdown{background:#fff1f1;border-color:#ee8f8f}.tone-breakdown .state-symbol{background:#dc3d3d}.tone-cleaning{background:#effaff;border-color:#78c8dc}.tone-cleaning .state-symbol{background:#159cbe}.tone-waiting{background:#f7f8fa;border-color:#c9d0d9}.tone-waiting .state-symbol{background:#8b96a5}.tone-done{background:#f5fbf7;border-color:#a8d3bb}.tone-done .state-symbol{background:#31a267}.realtime-empty{text-align:center;color:var(--muted);padding:38px;font-size:12px}.idle-machine-list{grid-template-columns:1fr 1fr;max-height:340px;display:grid;overflow:auto}.idle-machine-list article{border-bottom:1px solid var(--line);grid-template-columns:10px 118px 1fr 82px;align-items:center;gap:10px;min-height:70px;padding:11px 15px;display:grid}.machine-dept-dot{background:var(--cyan);border-radius:50%;width:8px;height:8px}.machine-dept-dot.filling{background:var(--green)}.idle-machine-list strong,.idle-machine-list small{display:block}.idle-machine-list strong{font-size:11px}.idle-machine-list small{color:var(--muted);margin-top:2px;font-size:8px}.idle-machine-list p{color:#44546a;margin:0;font-size:10px;line-height:1.55}.idle-machine-list time{color:var(--subtle);text-align:right;font-size:8px}.weekly-schedule>header{padding-block:12px}.week-controls{align-items:center;gap:7px;display:flex}.week-controls button{border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:8px;min-height:34px;padding:0 10px}.week-controls strong{text-align:center;min-width:130px;font-size:10px}.schedule-scroll{overflow-x:auto}.schedule-grid{grid-template-columns:190px minmax(560px,1fr) 140px 105px;min-width:1040px;display:grid}.schedule-head{min-height:45px;color:var(--muted);border-bottom:1px solid var(--line);background:#f7f9fb;font-size:9px;font-weight:750}.schedule-head>span{align-items:center;padding:0 14px;display:flex}.schedule-days{grid-template-columns:repeat(7,1fr);display:grid}.schedule-days span{border-left:1px solid var(--line);justify-content:center;align-items:center;gap:5px;display:flex}.schedule-days span.today{color:var(--cyan);background:#edf9fd}.schedule-row{border-bottom:1px solid var(--line);min-height:66px}.schedule-row:last-child{border-bottom:0}.schedule-product,.schedule-finish,.schedule-cip{align-content:center;padding:9px 14px;display:grid}.schedule-product strong,.schedule-product span,.schedule-product small,.schedule-finish strong,.schedule-finish span,.schedule-cip strong,.schedule-cip span{display:block}.schedule-product strong{font-size:11px}.schedule-product span,.schedule-product small,.schedule-finish span,.schedule-cip span{color:var(--muted);margin-top:2px;font-size:8px}.schedule-track{grid-template-columns:repeat(7,1fr);display:grid;position:relative;overflow:hidden}.schedule-track>i{border-left:1px solid var(--line)}.schedule-track>i.today{background:#f0fafd}.schedule-bar{z-index:2;color:#fff;background:var(--cyan);border-radius:6px;align-items:center;height:25px;padding:0 8px;display:flex;position:absolute;top:20px;overflow:hidden;box-shadow:0 4px 10px #008dc22e}.schedule-bar.state-running{background:var(--green)}.schedule-bar.state-paused{background:var(--amber)}.schedule-bar span{text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:750;overflow:hidden}.schedule-finish,.schedule-cip{border-left:1px solid var(--line)}.flowline-assistant{z-index:65;justify-items:end;gap:10px;display:grid;position:fixed;bottom:24px;right:22px}.assistant-fab{color:#fff;background:var(--navy-900);cursor:pointer;border:0;border-radius:27px;align-items:center;gap:8px;min-width:58px;height:54px;padding:0 16px;font-weight:750;display:flex;box-shadow:0 12px 30px #081c3440}.assistant-fab span{background:var(--cyan);border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;display:grid}.assistant-panel{background:#fff;border:1px solid #9dc8d9;border-radius:14px;grid-template-rows:auto 1fr auto auto;width:min(380px,100vw - 28px);height:min(520px,100vh - 130px);display:grid;overflow:hidden;box-shadow:0 20px 55px #081c343d}.assistant-panel>header{color:#fff;background:var(--navy-900);justify-content:space-between;align-items:center;min-height:62px;padding:10px 13px;display:flex}.assistant-panel>header>div{align-items:center;gap:9px;display:flex}.assistant-panel>header strong,.assistant-panel>header small{display:block}.assistant-panel>header small{color:#b9cedf;margin-top:2px;font-size:8px}.assistant-panel>header button{color:#fff;cursor:pointer;background:0 0;border:0;font-size:24px}.assistant-mark{background:var(--cyan);border-radius:10px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.assistant-messages{background:#f7f9fb;flex-direction:column;align-content:flex-start;align-items:flex-start;gap:8px;padding:13px;display:flex;overflow:auto}.assistant-messages p{white-space:pre-line;border-radius:10px;max-width:88%;margin:0;padding:9px 11px;font-size:10px;line-height:1.55}.assistant-messages .assistant{border:1px solid var(--line);background:#fff}.assistant-messages .user{color:#fff;background:var(--cyan);align-self:flex-end}.assistant-thinking{color:var(--muted)}.assistant-suggestions{gap:6px;width:100%;display:grid}.assistant-suggestions button{color:#087ea9;text-align:left;cursor:pointer;background:#fff;border:1px solid #89c6dc;border-radius:8px;padding:8px 10px;font-size:9px}.assistant-panel form{border-top:1px solid var(--line);grid-template-columns:1fr 40px;gap:7px;padding:10px;display:grid}.assistant-panel input{border:1px solid var(--line-strong);border-radius:8px;min-width:0;height:40px;padding:0 10px;font-size:10px}.assistant-panel form button{color:#fff;background:var(--cyan);border:0;border-radius:8px;font-size:18px}.assistant-panel form button:disabled{background:#cbd3dc}.assistant-panel>footer{color:var(--subtle);padding:0 11px 9px;font-size:8px}.control-tower button:focus-visible,.control-tower input:focus-visible{outline-offset:2px;outline:3px solid #008dc240}@media (max-width:1200px){.realtime-control-header{flex-direction:column;align-items:stretch}.realtime-header-actions{justify-content:space-between}.process-column-head,.product-lane{grid-template-columns:170px repeat(4,minmax(170px,1fr))}.live-production{overflow-x:auto}.process-column-head,.product-lanes{min-width:940px}.idle-machine-list{grid-template-columns:1fr}.idle-machine-list article:nth-child(odd){border-right:0}}@media (max-width:760px){.control-tower{gap:12px}.realtime-control-header h1{font-size:30px}.realtime-header-actions{flex-direction:column;align-items:stretch}.realtime-legend{justify-content:flex-start;overflow-x:auto}.realtime-header-actions>.button{width:100%}.live-production>header,.idle-machine-section>header,.weekly-schedule>header{flex-direction:column;align-items:flex-start}.process-column-head,.product-lane{grid-template-columns:150px repeat(4,170px)}.idle-machine-list{max-height:420px}.idle-machine-list article{grid-template-columns:10px 92px 1fr}.idle-machine-list time{display:none}.week-controls{flex-wrap:wrap;width:100%}.week-controls strong{flex:1}.flowline-assistant{bottom:82px;right:12px}.assistant-panel{height:min(520px,100vh - 170px)}.assistant-fab{height:50px}}.control-tower{font-size:21px}.realtime-control-header h1{font-size:43px}.realtime-control-header p{font-size:18px}.realtime-control-header>div>span{font-size:16px}.realtime-header-actions>.button{font-size:19px}.realtime-legend span{font-size:15px}.realtime-legend i{width:14px;height:14px}.live-production,.idle-machine-section,.weekly-schedule{overflow-x:auto}.live-production>header,.idle-machine-section>header,.weekly-schedule>header{min-height:76px}.live-production h2,.idle-machine-section h2,.weekly-schedule h2{font-size:22px}.live-production header p,.idle-machine-section header p,.weekly-schedule header p{font-size:15px}.live-production>header>strong,.idle-machine-section>header>strong{font-size:16px}.process-column-head,.product-lane{grid-template-columns:220px repeat(4,minmax(290px,1fr));min-width:1420px}.process-column-head{min-height:52px;font-size:15px}.process-column-head i{width:25px;height:25px}.product-lane{padding-block:14px}.lane-product{padding:9px 6px}.lane-product strong{font-size:22px;font-weight:900;line-height:1.15}.lane-product div>span{color:var(--ink);font-size:18px;font-weight:900}.lane-product small{font-size:14px}.realtime-process-box{min-height:116px;padding:14px}.process-box-state strong{font-size:16px}.state-symbol{width:25px;height:25px;font-size:15px}.process-box-detail span{font-size:18px;font-weight:900}.process-box-detail small{color:var(--ink);font-size:16px;font-weight:900}.cip-clock{min-width:108px}.cip-clock small{font-size:13px}.cip-clock strong{font-size:16px}.realtime-empty{font-size:17px}.idle-machine-list{grid-template-columns:1fr;max-height:440px}.idle-machine-list article{grid-template-columns:14px 145px 1fr 110px;min-height:88px}.idle-machine-list article:nth-child(odd){border-right:0}.machine-dept-dot{width:10px;height:10px}.idle-machine-list strong{font-size:18px;font-weight:900}.idle-machine-list small{font-size:13px}.idle-machine-list p{font-size:15px}.idle-machine-list time{font-size:13px}.week-controls button{font-size:15px}.week-controls strong{min-width:175px;font-size:15px}.schedule-grid{grid-template-columns:235px minmax(650px,1fr) 190px 145px;min-width:1250px}.schedule-head{min-height:54px;font-size:14px}.schedule-days small{font-size:14px}.schedule-row{min-height:84px}.schedule-product strong{font-size:18px;font-weight:900}.schedule-product span{color:var(--ink);font-size:15px;font-weight:900}.schedule-product small,.schedule-finish span,.schedule-cip span{font-size:13px}.schedule-bar{height:34px;top:25px}.schedule-bar span{font-size:13px}.schedule-finish strong,.schedule-cip strong{font-size:15px}.assistant-fab{border-radius:30px;min-width:68px;height:59px;font-size:19px}.assistant-fab span{width:33px;height:33px;font-size:17px}.assistant-panel{width:min(450px,100vw - 28px);height:min(590px,100vh - 130px)}.assistant-panel>header{min-height:72px;font-size:21px}.assistant-panel>header small{font-size:13px}.assistant-mark{width:39px;height:39px;font-size:17px}.assistant-messages p{font-size:15px}.assistant-suggestions button{font-size:14px}.assistant-panel form{grid-template-columns:1fr 47px}.assistant-panel input{height:47px;font-size:15px}.assistant-panel form button{font-size:23px}.assistant-panel>footer{font-size:13px}@media (max-width:760px){.realtime-control-header h1{font-size:35px}.process-column-head,.product-lane{grid-template-columns:190px repeat(4,295px);min-width:1410px}.assistant-panel{height:min(590px,100vh - 170px)}}.schedule-color-bar{cursor:help;border:2px solid #fffc;min-width:18px;padding:0;box-shadow:0 4px 12px #14233938}.schedule-color-bar:hover,.schedule-color-bar:focus-visible{filter:brightness(1.12);transform:translateY(-2px);box-shadow:0 7px 16px #14233947}.schedule-hover-card{z-index:90;width:320px;color:var(--ink);pointer-events:none;background:#fff;border:1px solid #9cc8d8;border-radius:12px;padding:14px 15px;position:fixed;box-shadow:0 16px 38px #081c343d}.schedule-hover-card header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:10px;display:flex}.schedule-hover-card header strong{font-size:20px;font-weight:900}.schedule-hover-card header span{color:var(--cyan);font-size:16px;font-weight:900}.schedule-hover-card dl{gap:7px;margin:10px 0 0;display:grid}.schedule-hover-card dl div{grid-template-columns:118px 1fr;gap:10px;display:grid}.schedule-hover-card dt{color:var(--muted);font-size:13px}.schedule-hover-card dd{overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:750}.sidebar{width:var(--sidebar);visibility:hidden;transition:transform .24s,visibility 0s linear .24s;overflow-y:auto;transform:translate(-100%)}.shell-main,.is-collapsed .shell-main{padding-left:0}.topbar{justify-content:space-between}.topbar-mobile{align-items:center;gap:12px;display:flex}.topbar-mobile strong{letter-spacing:.06em}.drawer-open .sidebar{width:var(--sidebar);visibility:visible;transition-delay:0s;transform:translate(0)}.drawer-open .drawer-scrim{z-index:35;cursor:pointer;background:#0412228c;border:0;display:block;position:fixed;inset:0}.is-collapsed .brand-text,.is-collapsed .nav-button span{display:inline}.is-collapsed .brand,.is-collapsed .nav-button{justify-content:flex-start;padding:10px 12px}.collapse svg{transform:rotate(180deg)}.user-filter-actions{align-items:center;gap:10px;display:flex}.permission-grid .check.disabled{opacity:.5;background:#f2f4f7}.manual-user-success{padding:4px}.manual-user-success .registration-success{margin:0}.manual-user-success .registration-success>strong{font-size:17px}.manual-user-success .temporary-password{margin-top:2px}@media (max-width:760px){.user-filter-actions{grid-template-columns:1fr 1fr;display:grid}.user-filter-actions .button{width:100%}.manual-user-success .temporary-password{grid-template-columns:1fr}}.delete-user-panel{background:var(--red-soft);border:1px solid #efaaaa;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.delete-user-panel>div:first-child strong,.delete-user-panel>div:first-child span{display:block}.delete-user-panel>div:first-child span{color:var(--muted);margin-top:3px;font-size:11px}.delete-user-confirm{flex:1;grid-template-columns:minmax(180px,.65fr) minmax(220px,1fr) auto;align-items:end;gap:10px;display:grid}.delete-user-confirm p{align-self:center;margin:0;font-size:12px}.delete-user-confirm label{font-size:11px}.delete-user-confirm input{min-height:44px!important}.delete-user-confirm>div{gap:8px;display:flex}.delete-user-panel>.alert{width:100%}@media (max-width:900px){.delete-user-panel,.delete-user-confirm{grid-template-columns:1fr;display:grid}.delete-user-panel>.button,.delete-user-confirm .button{width:100%}.delete-user-confirm>div{grid-template-columns:1fr 1fr;display:grid}}.delete-user-panel.confirming{grid-template-columns:1fr;display:grid}.ghost-danger{color:var(--red);background:#fff;border:1px solid #e6a3a3}.ghost-danger:hover:not(:disabled){background:var(--red-soft)}.delete-confirmation{background:var(--red-soft);border:1px solid #efb2b2;border-radius:11px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;margin:12px 18px;padding:14px;display:grid}.delete-confirmation strong,.delete-confirmation span{display:block}.delete-confirmation strong{color:var(--red);font-size:13px}.delete-confirmation span{color:var(--muted);margin-top:3px;font-size:11px}.master-delete-zone{background:snow;border:1px solid #efb2b2;border-radius:11px;align-items:center;gap:12px;margin:0 18px 18px;padding:14px;display:flex}.master-delete-zone>div:first-child{flex:1}.master-delete-zone strong,.master-delete-zone span{display:block}.master-delete-zone strong{color:var(--red);font-size:13px}.master-delete-zone span{color:var(--muted);margin-top:3px;font-size:11px}.master-delete-confirm{gap:8px;display:flex}.machine-form-actions{justify-content:space-between}@media (max-width:680px){.delete-confirmation{grid-template-columns:1fr;margin:10px}.delete-confirmation .button{width:100%}.master-delete-zone{flex-direction:column;align-items:stretch}.master-delete-confirm{grid-template-columns:1fr 1fr;display:grid}.machine-form-actions{flex-direction:column-reverse}.machine-form-actions .button{width:100%}}
:root{--ink:#142c43;--muted:#50647a;--subtle:#607187;--canvas:#f2f5f8;--line:#d5dfe7;--line-strong:#b8c8d5;--cyan:#087fa5;--cyan-soft:#eaf7fb;--green:#147444;--green-soft:#eaf7ee;--amber:#915600;--amber-soft:#fff5d9;--red:#be3038;--red-soft:#fff0f1;--sidebar:290px;--shadow:0 3px 12px #142c430d}body{font-size:16px;line-height:1.55}button,input,select,textarea{font:inherit}button{touch-action:manipulation}input,select,textarea{color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--subtle);opacity:1}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}button,input,select,textarea,.status{font-variant-numeric:tabular-nums}.workspace{max-width:1800px;padding:28px 32px 48px}.topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;height:72px;padding:0 32px}.topbar-mobile strong{font-size:23px}.top-utilities>*{font-size:14px}.page-toolbar{align-items:center;margin-bottom:24px}.page-toolbar h1{letter-spacing:0;font-size:clamp(28px,2.4vw,36px);line-height:1.4}.sidebar{background:var(--navy-950);max-width:calc(100vw - 44px);padding:20px 16px}.side-nav{gap:4px;margin:16px 0}.nav-button{border-radius:8px;min-height:50px;font-size:16px}.nav-button.active{background:var(--cyan);box-shadow:none}.button,.icon-button{border-radius:9px;min-height:48px;font-size:16px}.button{padding:10px 18px;line-height:1.4}.button.primary:hover:not(:disabled){background:#066b8c}.status{white-space:normal;border-radius:6px;min-height:30px;padding:4px 10px;font-size:14px;line-height:1.4}.alert{overflow-wrap:anywhere;padding:14px 16px;font-size:15px;line-height:1.6}.empty-state,.empty-inline{padding:32px 20px;font-size:16px}.policy-note,.action-bar .muted{font-size:14px}.action-bar{gap:12px;margin-bottom:18px}.filter-bar input,.filter-bar select,.form-grid input,.form-grid select{min-height:50px;font-size:16px}.segmented button{padding:10px 18px;font-size:16px}.machine-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr));align-items:start;gap:20px}.machine-card{border-top-width:4px;border-radius:12px}.machine-card>header{gap:12px;min-height:76px;padding:16px 20px}.machine-card>header>div:first-child{min-width:0}.machine-card>header strong{overflow-wrap:anywhere;font-size:26px;line-height:1.3}.machine-card>header span{font-size:14px}.machine-card>header .status{color:var(--cyan);display:inline-flex}.machine-card>header .status.success{color:var(--green)}.machine-card>header .status.danger{color:var(--red)}.machine-card-tools{flex-shrink:0;gap:8px}.machine-bookmark{width:44px;height:44px}.machine-job{background:#fff;min-height:140px;padding:20px}.machine-job strong{overflow-wrap:anywhere;font-size:25px;line-height:1.4}.machine-job span{color:var(--ink);font-size:19px;font-weight:750}.machine-job small{font-size:15px}.machine-job.muted{background:#f8fafc;align-items:center;min-height:112px;font-size:17px;display:flex}.machine-operator-context{background:#f8fbfe;border:1px solid #cbdbea;border-radius:14px;margin:16px 0 14px;padding:14px}.machine-operator-context-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.machine-operator-context-heading strong{color:#102a43;font-size:16px}.machine-operator-context-heading small{color:#6b7f94}.machine-operator-context-fields{grid-template-columns:1fr 1.35fr .8fr auto;align-items:end;gap:10px;display:grid}.machine-operator-context-fields label{color:#49627b;gap:5px;font-size:13px;font-weight:700;display:grid}.machine-operator-context-fields input{color:#102a43;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #b9c9da;border-radius:9px;padding:9px 11px}.machine-operator-context-fields input:focus{border-color:#0e97cf;outline:3px solid #0e97cf33}.machine-operator-context-fields .button{white-space:nowrap;min-height:42px}.workflow-actions{border:0;border-top:1px solid var(--line);gap:10px;margin:0;padding:16px 20px}.workflow-actions button{min-height:54px;padding:10px 8px;font-size:16px;line-height:1.45}.workflow-actions button:not(:disabled){background:var(--cyan);color:#fff;border-color:var(--cyan)}.workflow-actions button.next-batch-requested{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important}.workflow-actions button.next-batch-acknowledged{color:#624000!important;background:#ffe28a!important;border-color:#d6a326!important}.button:disabled,.workflow-actions button:disabled{color:#687587!important;background:#edf1f4!important;border-color:#d6dfe6!important}.machine-card.state-running>header{background:var(--green-soft)}.machine-card.state-breakdown>header{background:var(--red-soft)}.machine-card.state-cleaning>header,.machine-card.state-cip>header{background:var(--cyan-soft)}.machine-card.next-batch-alarm,.machine-card.next-batch-alarm>header,.machine-card.next-batch-alarm .machine-job{background:#fff3bf}.next-batch-alarm-banner{border-radius:10px;padding:18px 20px;font-size:16px}.next-batch-alarm-banner strong{font-size:21px}.next-batch-alarm-banner span,.next-batch-card-alarm span{font-size:16px}.next-batch-card-alarm{padding:14px 20px}.next-batch-card-alarm strong{font-size:17px}.next-batch-ack-note,.disabled-reason{margin:0 20px 16px;font-size:14px}.breakdown-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px;margin:0;padding:16px 20px 20px;display:flex}.breakdown-actions input{flex:100%;width:100%;min-width:0;min-height:48px;font-size:16px}.breakdown-actions .button{width:100%}.breakdown-actions .button.danger{color:var(--red);background:#fff;border-color:#dc9297}.breakdown-actions .button.danger:hover:not(:disabled){background:var(--red-soft)}.quantity{font-size:15px}.quantity input{height:52px;font-size:20px}.cip-cycle-summary{margin:16px 20px 0;padding:14px}.cip-cycle-summary strong{font-size:17px}.cip-cycle-summary span,.cip-cycle-summary small{font-size:15px}.cip-warning-list strong{font-size:17px}.cip-warning-list span,.cip-warning-list small{font-size:14px}.data-table,.machine-master-table{overflow-x:auto}.data-head,.data-row{grid-template-columns:145px minmax(200px,1.5fr) 130px 140px 130px 115px;min-width:900px}.data-head{min-height:54px;color:var(--ink);background:#edf2f6;font-size:14px}.data-row{min-height:76px;padding-block:14px;font-size:16px}.data-row>*,.machine-master-row>*{overflow-wrap:anywhere;min-width:0}.data-row:hover,.machine-master-row:hover{background:#f0f8fc}.data-row>strong{font-size:18px}.data-row .button{min-height:44px}.machine-master-head,.machine-master-row{min-width:800px;padding:16px 20px}.machine-master-head{color:var(--ink);background:#edf2f6;font-size:14px}.machine-master-row{min-height:76px;font-size:16px}.machine-master-row strong{font-size:20px}.machine-department-card{min-height:175px;box-shadow:var(--shadow);padding:24px}.machine-department-card strong{font-size:28px}.machine-department-card span,.machine-department-card small,.machine-list-toolbar>div span,.machine-master-intro span{font-size:15px}.timeline-list{padding:4px 20px}.timeline-list article{grid-template-columns:175px 24px minmax(0,1fr);padding:20px 0}.timeline-list time,.timeline-list p{font-size:15px}.timeline-list strong{font-size:19px}.timeline-pagination{font-size:14px}.settings-card h2{font-size:23px}.settings-card p,.reset-counts,.user-management-page{font-size:16px}.import-preview table{font-size:15px}.import-preview th{font-size:14px}.import-preview td{padding:14px 12px}.import-preview select{min-height:46px;font-size:16px}.import-summary,.import-guidance,.import-rejected article span{font-size:15px}.import-placement-options>label{min-height:150px;padding:20px}.import-placement-options strong{font-size:19px}.import-placement-options small{font-size:15px}.import-placement-intro span,.import-result-mode small{font-size:14px}.import-result-mode strong{font-size:17px}.modal-backdrop{padding:20px}.modal{overscroll-behavior:contain;border-radius:14px;width:min(820px,100%);max-height:calc(100dvh - 40px)}.modal>header{z-index:4;gap:16px;min-height:76px;padding:14px 24px}.modal h2{overflow-wrap:anywhere;font-size:24px;line-height:1.4}.modal>header .icon-button{flex-shrink:0}.form-grid{gap:20px;padding:24px}.form-grid label,.form-grid legend,.job-note-label{font-size:15px}.form-grid fieldset{min-width:0;padding:14px}.form-grid small,.form-grid p,.machine-detail-summary small,.machine-aliases span{font-size:14px}.form-actions{flex-wrap:wrap;gap:10px}.job-detail-grid{gap:14px;padding:24px}.job-detail-grid>div{background:#f6f8fa;padding:16px}.job-detail-grid small{font-size:14px}.job-detail-grid strong{overflow-wrap:anywhere;font-size:19px}.job-note-label{margin:0 24px 20px}.job-note-label textarea{min-height:110px;font-size:16px}.job-note-label small{font-size:14px}.job-detail-actions{border-top:1px solid var(--line);background:#fff;padding:16px 24px}.job-detail-actions>div{flex-wrap:wrap}.delete-confirmation strong,.master-delete-zone strong{font-size:16px}.delete-confirmation span,.master-delete-zone span,.delete-user-panel>div:first-child span{font-size:14px}.permission-grid .check{min-height:48px;font-size:15px}.user-summary span,.user-filter label{font-size:15px}.user-identity span,.user-list article div>small{font-size:14px}.user-list article div>strong{font-size:17px}.user-list article{min-height:90px;padding:18px}.login-screen{background:var(--canvas);padding:28px 20px}.login-panel{border-top:4px solid var(--cyan);width:min(460px,100%);box-shadow:var(--shadow);border-radius:14px;padding:32px}.login-panel h1{font-size:30px}.login-panel label{font-size:16px}.login-panel input{min-height:52px;font-size:17px}.login-panel small{font-size:14px}.auth-tabs button{min-height:48px;font-size:16px}.control-tower{gap:24px;font-size:18px}.realtime-control-header h1{letter-spacing:0;font-size:36px;line-height:1.4}.realtime-control-header>div>span{font-size:14px}.realtime-header-actions{flex-wrap:wrap}.realtime-legend{flex-wrap:wrap;gap:10px 16px;height:auto;padding:10px 14px}.realtime-legend span{font-size:14px}.live-production h2,.idle-machine-section h2,.weekly-schedule h2{font-size:22px}.live-production>header,.idle-machine-section>header,.weekly-schedule>header{min-height:70px;padding:16px 20px}.process-column-head,.product-lane{grid-template-columns:220px repeat(4,minmax(240px,1fr));min-width:1240px}.product-lanes{min-width:1240px}.lane-product strong{font-size:25px;line-height:1.45}.lane-product div>span{font-size:19px}.lane-product small{font-size:15px}.realtime-process-box{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr);gap:10px;min-height:140px}.process-box-state strong{font-size:16px}.process-box-detail span{font-size:22px}.process-box-detail small{overflow-wrap:anywhere;font-size:17px}.cip-clock{text-align:left;border-top:1px solid #142c431f;border-left:0;grid-area:auto;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:8px 0 0;display:flex}.cip-clock strong{margin:0;font-size:16px}.idle-machine-list article{padding:16px 20px}.idle-machine-list p{font-size:16px}.idle-machine-list time{font-size:14px}.week-controls button{min-width:44px;min-height:44px}.schedule-product strong{font-size:19px;line-height:1.4}.schedule-product small{font-size:14px}.assistant-panel{box-shadow:0 12px 42px #142c432e}.assistant-panel input{font-size:16px}.assistant-panel>header button{width:44px;height:44px}.machine-work-note{color:var(--muted);gap:6px;padding:0 18px 16px;font-size:14px;font-weight:700;display:grid}.machine-work-note input{border:1px solid var(--line-strong);min-height:46px;color:var(--ink);background:#fff;border-radius:9px;padding:0 12px;font-size:16px}.button.operator-context-saved,.button.operator-context-saved:hover{color:#fff;background:var(--green);border-color:var(--green);box-shadow:0 5px 14px #1b8f5538}.continuation-dialog{gap:20px;padding:24px;display:grid}.continuation-dialog p{background:var(--cyan-soft);color:var(--ink);border-radius:10px;margin:0;padding:16px;font-size:18px;font-weight:800}.continuation-dialog>div{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.production-run-table{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:auto}.production-run-head,.production-run-row{grid-template-columns:145px 105px 100px 115px minmax(180px,1fr) 90px repeat(6,135px) 100px minmax(180px,1fr);align-items:center;gap:10px;min-width:1500px;padding:12px 16px;display:grid}.production-run-head{z-index:2;color:var(--muted);background:#edf2f6;font-size:13px;font-weight:800;position:sticky;top:0}.production-run-row{border-top:1px solid var(--line);min-height:74px;font-size:14px}.production-run-row strong{font-size:16px}.production-run-row span{overflow-wrap:anywhere}.production-history-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.production-history-header h2{margin:0;font-size:22px}.production-history-header>div{gap:10px;display:flex}.manual-live-production{border:1px solid var(--line-strong);box-shadow:var(--shadow);background:#fff;border-radius:12px;overflow:hidden}.manual-live-production>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:70px;padding:16px 20px;display:flex}.manual-live-production h2{margin:0;font-size:22px}.manual-live-production>header>strong{background:var(--cyan-soft);color:var(--cyan);border-radius:8px;padding:6px 10px;font-size:15px}.manual-live-grid{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px;padding:16px;display:grid}.manual-live-grid>.realtime-empty{grid-column:1/-1}.manual-live-card{border:1px solid;border-radius:10px;padding:18px}.manual-live-card>div>strong,.manual-live-card>div>span{display:block}.manual-live-card>div>strong{font-size:23px}.manual-live-card>div>span{margin-top:4px;font-size:18px;font-weight:800}.manual-live-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 0;display:grid}.manual-live-card dl div{border-top:1px solid #142c431f;padding-top:9px}.manual-live-card dt{color:var(--muted);font-size:13px}.manual-live-card dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:17px;font-weight:900}.realtime-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.realtime-summary>div{border:1px solid var(--line);border-left:5px solid var(--line-strong);background:#fff;border-radius:11px;justify-content:space-between;align-items:center;min-height:92px;padding:15px 18px;display:flex}.realtime-summary span{font-size:15px;font-weight:700}.realtime-summary strong{font-size:30px}.realtime-summary .summary-active{border-left-color:var(--green)}.realtime-summary .summary-calling{border-left-color:#e9a600}.realtime-summary .summary-breakdown{border-left-color:var(--red)}.realtime-summary .summary-cleaning{border-left-color:var(--cyan)}.realtime-product-groups{gap:14px;padding:16px;display:grid}.realtime-product-group{border:1px solid var(--line);background:#f8fafc;border-radius:11px;overflow:hidden}.realtime-product-group>header{border-bottom:1px solid var(--line);background:#fff;padding:14px 16px}.realtime-product-group>header strong,.realtime-product-group>header span{display:block}.realtime-product-group>header strong{font-size:23px}.realtime-product-group>header span{margin-top:3px;font-size:18px;font-weight:850}.realtime-product-group>div{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;padding:12px;display:grid}.realtime-run-box{border:1px solid;border-radius:9px;min-height:126px;padding:15px}.realtime-run-box>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.realtime-run-box>header strong{font-size:18px}.realtime-run-box>header span{font-size:16px;font-weight:900}.realtime-run-box>div{margin-top:20px}.realtime-run-box>div strong,.realtime-run-box>div span{display:block}.realtime-run-box>div strong{font-size:20px}.realtime-run-box>div span{margin-top:4px;font-size:14px}@media (max-width:1100px){.workspace{padding:24px 20px 40px}.plan-board{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-board>.plan-lane{grid-column:1/-1}.realtime-control-header{align-items:stretch}.machine-department-grid{gap:14px}}@media (max-width:760px){body{padding-bottom:76px}.topbar{height:68px;color:var(--ink);background:#fff;padding:0 14px}.icon-button.dark{color:var(--ink);border-color:var(--line);background:#fff}.topbar-mobile{gap:10px}.topbar-mobile strong{font-size:20px}.top-utilities .mode-tag{min-height:36px;color:var(--cyan);font-size:12px;border-color:var(--line)!important;padding:4px 8px!important}.mode-tag svg{display:none}.workspace{padding:20px 14px 36px}.page-toolbar{gap:12px;margin-bottom:20px}.page-toolbar h1,.realtime-control-header h1{font-size:28px}.refresh{flex-shrink:0}.machine-grid,.department-machine-queues,.machine-department-grid{grid-template-columns:1fr}.machine-card>header{padding:16px}.machine-job{padding:18px 16px}.machine-operator-context-fields{grid-template-columns:1fr 1fr}.machine-operator-context-fields label:nth-child(2){grid-column:span 2}.machine-operator-context-fields .button{width:100%}.workflow-actions{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}.workflow-actions button{font-size:15px}.quantity{grid-column:1/-1}.plan-board{display:block}.lane-group{margin-top:20px}.data-table{border:1px solid var(--line);background:#fff;overflow-x:auto}.data-head{display:grid}.data-row{border:0;border-bottom:1px solid var(--line);border-radius:0;grid-template-columns:145px minmax(200px,1.5fr) 130px 140px 130px 115px;margin:0;padding:14px 15px}.data-row>span:nth-child(2){grid-column:auto}.filter-bar{grid-template-columns:1fr}.timeline-list article{grid-template-columns:1fr;gap:2px}.timeline-dot{display:none}.modal-backdrop{padding:8px}.modal{max-height:calc(100dvh - 16px)}.modal>header{padding:14px 16px}.modal h2{font-size:21px}.form-grid{grid-template-columns:1fr;gap:18px;padding:18px 16px}.span-2{grid-column:1/-1}.job-detail-grid{gap:10px;padding:16px}.job-detail-grid strong{font-size:17px}.job-note-label{margin:0 16px 16px}.job-detail-actions{padding:16px}.form-actions>.button{flex:130px}.job-detail-actions>div{gap:8px;width:100%;display:flex}.job-detail-actions>div .button{flex:1;padding:10px}.machine-list-toolbar{grid-template-columns:auto 1fr;gap:12px}.machine-list-toolbar>.button:last-child{grid-column:1/-1}.machine-master-intro{flex-wrap:wrap}.idle-machine-list article{grid-template-columns:10px 100px minmax(0,1fr);padding:14px}.idle-machine-list time{text-align:left;grid-column:3;display:block}.bottom-nav{height:76px;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{font-size:12px}.assistant-panel{height:min(580px,100dvh - 180px)}.continuation-dialog>div .button{flex:160px}.realtime-summary{grid-template-columns:1fr 1fr}.realtime-summary>div:last-child{grid-column:1/-1}.login-panel{padding:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
