:root{--navy:#092d50;--blue:#0869ef;--ink:#112a46;--muted:#687e99;--bg:#f2f7fc;--border:#dce7f1;--red:#a0000b}*{box-sizing:border-box}body{margin:0;font:14px/1.45 'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer;border:1px solid var(--border);border-radius:6px;padding:9px 15px;background:white;color:var(--blue);font-weight:600}button:hover{background:#edf5ff}button.primary{color:white;background:var(--blue);border-color:var(--blue)}button.danger{background:var(--red);color:white}button:disabled{cursor:default;opacity:.45}button.small{padding:5px 10px;font-size:12px}a{color:var(--blue)}h1{font-size:29px;margin:0 0 4px;font-weight:750}h2{font-size:21px;margin:0 0 15px}h3{font-size:16px;margin:0 0 12px}p{margin:0 0 12px}.muted{color:var(--muted)}.blue{color:var(--blue)!important}.red{color:var(--red)!important}.small{font-size:12px}.uom{font-size:10px;color:var(--muted);margin-left:3px}.sidebar{position:fixed;width:225px;inset:0 auto 0 0;background:var(--navy);color:white;display:flex;flex-direction:column;z-index:10}.brand{padding:28px 24px;border-bottom:1px solid #234769}.brand .logo{font-size:47px;font-weight:850;line-height:1}.brand strong{display:block;margin-top:10px;font-size:17px}.brand span{font-size:12px;color:#c3d6e9}.nav{padding:18px 12px;overflow:auto;flex:1}.nav a,.nav summary{display:block;color:#dbe9f6;text-decoration:none;padding:11px 14px;margin:3px 0;border-radius:6px;cursor:pointer}.nav a.active{background:var(--blue);color:white}.nav .sub a{font-size:12px;padding-left:25px}.nav summary{font-weight:650}.identity{padding:18px;border-top:1px solid #234769}.identity small{display:block;color:#adc6df}.main{margin-left:225px}.topbar{height:62px;background:white;border-bottom:1px solid var(--border);padding:12px 26px;display:flex;align-items:center;justify-content:space-between;gap:10px}.test-label{color:#0c62b8;background:#e6f2ff;border-radius:6px;padding:5px 10px;font-size:12px}.content{padding:25px;max-width:1800px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.card{background:white;border:1px solid var(--border);border-radius:9px;padding:20px;margin-bottom:18px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.metric{background:white;border:1px solid var(--border);border-radius:8px;padding:18px}.metric .value{font-size:32px;font-weight:750;margin-top:6px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.form-grid .wide{grid-column:1/-1}label.field{display:block;font-size:12px;font-weight:650;color:var(--ink)}label.field input,label.field select,label.field textarea{margin-top:5px}input,select,textarea{border:1px solid #cddce9;border-radius:5px;background:white;padding:9px 10px;color:var(--ink);width:100%;min-width:0}textarea{resize:vertical;min-height:70px}input:disabled,select:disabled,textarea:disabled,input[readonly]{background:#f0f4f8;color:#60738a}input[type=checkbox]{width:auto;vertical-align:middle}input[type=file]{font-size:12px;padding:6px;background:#f4f9ff}input.extra{border-color:#ef888e;color:var(--red);font-weight:700;background:#fff6f6}.toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.toolbar .field{flex:1;min-width:130px}.toolbar button{flex-shrink:0}.tabs,.chips{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.chips button{border-radius:25px;padding:6px 14px}.chips button.active,.tabs button.active{background:var(--blue);color:white;border-color:var(--blue)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{background:#edf5fc;text-align:left;padding:11px 10px;font-size:11px;border-bottom:1px solid var(--border)}td{padding:12px 10px;border-bottom:1px solid var(--border);vertical-align:top}td input,td select,td textarea{font-size:12px;padding:7px;min-width:80px}td textarea{min-width:155px}tr.clickable{cursor:pointer}tr.clickable:hover{background:#f4f9ff}tr.alert-row{background:#fff0f1}.badge{display:inline-block;font-size:11px;padding:5px 9px;border-radius:5px;font-weight:650;background:#e5f2ff;color:var(--blue)}.badge.pending{background:var(--red);color:white}.badge.green{background:#dff6e7;color:#167442}.notice{padding:12px 15px;background:#edf5fe;border:1px solid #cce1f7;border-radius:6px;margin:12px 0}.notice.danger{background:#fff1f1;border-color:#f1b0b5;color:var(--red)}.blink{animation:pulse 1.5s ease-in-out infinite;font-weight:750}@keyframes pulse{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.blink{animation:none}}.qc{background:#fff0f0!important;border-color:#e9a1a5!important;color:var(--red)}.qc td,.qc th,td.qc,th.qc{background:#fff0f0}.actions{display:flex;justify-content:flex-end;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}.progress{display:flex;align-items:center;gap:7px;min-width:105px}.track{width:78px;height:8px;background:#e5edf5;border-radius:8px;overflow:hidden}.track i{display:block;height:100%;background:var(--blue)}.attendance{display:grid;grid-template-columns:40px 1fr 1.5fr 1fr 1fr;align-items:center;gap:8px;padding:12px 5px;border-bottom:1px solid var(--border)}.file-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.file-list a{display:block;font-size:11px;max-width:150px;overflow:hidden}.file-list img{display:block;width:95px;height:65px;object-fit:cover;border-radius:4px;border:1px solid var(--border)}.login{max-width:480px;margin:8vh auto;padding:35px}.login .logo{font-size:55px;color:var(--navy);font-weight:850}.login label{margin-bottom:15px}.footer-note{font-size:11px;color:var(--muted);margin:15px 0}.stack>*+*{margin-top:12px}dialog{width:min(1050px,96vw);max-height:92vh;border:1px solid var(--border);border-radius:10px;padding:24px;color:var(--ink)}dialog::backdrop{background:#051c37aa}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}#toast{position:fixed;bottom:25px;right:25px;max-width:500px;background:var(--navy);color:white;padding:12px 20px;border-radius:8px;display:none;z-index:99}#toast.error{background:var(--red)}.nowrap{white-space:nowrap}.link-button{background:none;border:0;padding:0;text-decoration:underline}.duty{background:#eaf5ff;padding:12px;border-radius:6px;display:flex;gap:25px;flex-wrap:wrap}.current{background:#eaf9ee}.print-context{font-weight:750;font-size:17px}.closed-bg{background:#edf7ff}.empty{padding:28px;text-align:center;color:var(--muted)}.side-by-side{display:grid;grid-template-columns:1fr 1fr;gap:20px}.audit-json{white-space:pre-wrap;word-break:break-word;font-size:11px;max-height:400px;overflow:auto}details>summary{cursor:pointer}.wide-table{min-width:1250px}.border-top{border-top:1px solid var(--border);padding-top:15px;margin-top:15px}@media(max-width:1100px){.sidebar{width:180px}.main{margin-left:180px}.brand{padding:20px 15px}.content{padding:18px}.cards{grid-template-columns:repeat(2,1fr)}.grid2,.side-by-side{grid-template-columns:1fr}}@media(max-width:700px){.sidebar{position:relative;width:100%}.brand{display:none}.nav{display:flex;flex-wrap:wrap;padding:5px}.nav a,.nav summary{font-size:12px;padding:7px}.identity{display:none}.main{margin:0}.topbar{padding:10px;font-size:12px}.content{padding:12px}h1{font-size:23px}.form-grid{grid-template-columns:1fr}.cards{gap:8px}.metric{padding:12px}.card{padding:14px}.page-head{align-items:flex-start;flex-wrap:wrap}.attendance{grid-template-columns:25px 45px 1.2fr 1fr 1fr;font-size:11px}.duty{gap:10px}.toolbar .field{min-width:140px}}
/* Compact employee attendance and job table */
.worker-ui .sidebar{display:none}.worker-ui .main{margin-left:0}.worker-ui .content{max-width:1500px;margin:auto}.worker-ui .topbar{background:#092d50;color:white}.employee-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.employee-name{text-align:right;font-size:14px}.employee-name strong{font-size:19px}.employee-choose{max-width:340px;margin-bottom:10px}.compact-duty{padding:9px 12px;margin-bottom:14px;font-size:12px}.employee-card{padding:16px}.employee-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.employee-toolbar h2{margin:0;font-size:19px}.employee-table{min-width:1040px;width:100%;font-size:12px}.employee-table th,.employee-table td{padding:10px 8px}.employee-table td small{display:block;color:var(--muted);margin-top:4px;max-width:205px}.employee-table select{max-width:200px;font-size:12px;padding:7px}.employee-table input[type=number]{width:85px;padding:7px}.employee-table th{white-space:normal}.row-actions{display:flex;gap:5px;margin-top:6px}.incomplete-row{background:#fff0f0}.defect-row>td{background:#f8fbff}.defect-strip{display:grid;grid-template-columns:repeat(5,minmax(95px,1fr)) 2fr;gap:10px}.defect-strip input{width:100%!important}.defect-strip .field{font-size:11px}.employee-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;margin-top:12px}.legacy-times{display:flex;gap:10px;margin-top:10px}.scan-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.scan-layout .field{margin:12px 0}#qr-video{width:100%;max-height:320px;background:#092d50}.qr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.station-qr{text-align:center;border:1px solid var(--border);padding:15px}.station-qr svg{display:block;max-width:100%;height:160px;margin:10px auto}.station-qr small{display:block}.employee-table [hidden]{display:none}@media(max-width:700px){.employee-toolbar{align-items:flex-start;flex-wrap:wrap}.scan-layout{grid-template-columns:1fr}.defect-strip{grid-template-columns:repeat(3,minmax(95px,1fr))}.qr-grid{grid-template-columns:repeat(2,1fr)}.employee-card{padding:10px}.employee-heading h1{font-size:23px}.worker-ui .test-label{display:none}}@media print{body:has(.qr-grid) #app,body:has(.qr-grid) #toast,body:has(.qr-grid) .modal-head button,body:has(.qr-grid) #printcodes{display:none}body:has(.qr-grid) dialog{position:static;max-height:none;width:100%;border:0}body:has(.qr-grid) .station-qr{break-inside:avoid}}

/* Integrated table setup and independent component lanes */
.setup-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:18px}.setup-categories button{display:block;width:100%;margin:5px 0;text-align:left;padding:8px}.setup-layout td input,.setup-layout td select{min-width:125px}.setup-layout td:first-child input{min-width:165px}.flow-lanes{padding:20px 0;overflow:auto}.flow-lane{display:flex;gap:8px;align-items:center;margin-bottom:15px;min-width:800px}.flow-lane>strong{min-width:90px}.node{min-width:145px;max-width:170px;color:#163b58;font-weight:400;text-align:left}.node small,.node b,.node span{display:block}.node small{font-size:9px;word-break:break-word}.node span{font-size:10px}.node-input{background:#dcf7dd}.node-process{background:#fff0b7}.node-add-in{background:#d8f2ff}.node-output{background:#ffdedf}.flow-arrow{color:#6c8299}.job-color-1{background:#edf7ff}.job-color-2{background:#f3f0ff}.job-color-3{background:#fff6e7}.incomplete-row{background:#ffe7e9!important}#routegrid table{min-width:1850px}#routegrid td input,#routegrid td select{min-width:100px}#routegrid td:first-child input,#routegrid td:last-child input{min-width:190px}@media(max-width:900px){.setup-layout{grid-template-columns:1fr}.setup-categories{display:flex;flex-wrap:wrap;gap:5px}.setup-categories button{width:auto}}

.flow-with-settings{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;margin:24px 0}.component-branch{display:flex;gap:12px;align-items:center;margin:16px 0}.component-branch>strong{width:85px}.component-branch .node{max-width:255px;min-width:140px}.component-branch small{font-size:10px}.assembly-line{margin:22px 0;padding:18px;background:#f0f6ff;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.assembly-line>span{font-size:12px;max-width:170px}.node-settings td{padding:6px}.node-settings td input,.node-settings td select{min-width:110px;width:145px}.node-settings{padding:12px;margin:0}@media(max-width:1000px){.flow-with-settings{grid-template-columns:1fr}}

/* Reviewed KPI-2 appearance. Parent modules never inherit a selected child's colour. */
:root{--navy:#09294a;--blue:#0865ed;--ink:#101a43;--muted:#7989aa;--bg:#f2f7fc;--red:#d81526}
body{background:linear-gradient(110deg,#edf5fa,#f6f9fc);font-size:15px}.sidebar{width:260px;background:linear-gradient(130deg,#09294a,#04213b)}.main{margin-left:260px}.brand{text-align:center;border:0;padding:26px 12px 19px}.brand .logo{letter-spacing:-5px;font-size:46px}.brand .logo span{font-size:46px;color:#74b6f7}.brand strong{font-size:18px}.brand>span{font-size:12px}.navtitle{font-size:12px;color:#aec6de;margin:17px 26px 0}.nav{padding:10px 12px}.nav .nav-main{display:flex;align-items:center;gap:15px;color:white;font-weight:400}.nav svg{width:25px;height:25px;flex-shrink:0}.nav summary::marker{content:''}.nav .sub a{position:relative;margin:4px 4px 4px 30px;padding:10px 9px 10px 25px;font-size:12px}.nav .sub a::before{content:'';position:absolute;left:8px;top:16px;width:8px;height:8px;border-radius:50%;background:#2689ff}.nav .sub a.active{background:#123c66;font-weight:700;color:white}.nav .sub a.active::before{box-shadow:0 0 0 2px #96c5ff}.identity{display:flex;gap:12px;align-items:center;margin:8px 18px;padding:20px 0;font-size:14px}.avatar{height:47px;width:47px;flex-shrink:0;border-radius:50%;background:#286ce2;display:grid;place-items:center;font-size:20px}.topbar{background:#ffffff90;color:#7990aa;padding:12px 27px}.top-actions{display:flex;align-items:center;gap:8px}.top-actions>input{width:240px;font-size:12px}.content{padding:24px 27px 16px}h1{font-size:35px;letter-spacing:-1px;font-weight:750}h2{font-size:23px;margin:0 0 10px}h3{font-size:17px}.page-head{margin-bottom:20px}.page-head p{font-size:16px}.card{border-radius:6px;padding:19px;margin-bottom:16px;border-color:#e2eaf2}.cards{gap:11px;margin:20px 0 15px}.metric{display:flex;gap:17px;padding:17px;border-radius:6px;min-height:121px;position:relative;overflow:hidden}.metric label{font-size:13px}.metric-icon{width:58px;height:58px;background:#e7f2ff;color:var(--blue);border-radius:50%;display:grid;place-items:center;flex-shrink:0}.metric-icon svg{width:31px;height:31px}.metric-icon.red{background:#fff0f1}.metric-icon.gold{background:#fff4d8;color:#cb8500}.metric .value{font-size:30px;line-height:1.2;margin:6px 0}.metric small,.metric .link-button{font-size:12px}.section-totals{font-size:10px;display:grid;grid-template-columns:repeat(3,auto);gap:4px 10px}.gold{color:#cb8500}.att-heading{display:flex;align-items:center;gap:12px;font-size:21px;margin-bottom:10px}.att-heading svg{width:32px;height:32px;color:var(--blue)}.att-heading .badge{font-weight:400}.att-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e4edf5;padding:12px 8px}.att-row button{text-align:left;text-decoration:none;font-size:15px}.attention .grid2>div+div{border-left:1px solid #e4edf5;padding-left:24px}.badge{border-radius:18px}.badge.pending{background:#ffedef;color:#d81526}.pending{background:#af0813!important;color:white!important}th{background:#eaf4fa}td,th{padding:11px 10px}td{vertical-align:middle}.uom{font-size:9px}.link-button{font-weight:400}.planlayout{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(0,1fr);gap:15px}.planlayout>aside{min-width:0}.steps{display:flex;gap:12px;align-items:center;font-size:11px;color:#8290a8}.step b{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e2e9f1;margin-right:5px}.step.active{color:var(--blue)}.step.active b{background:var(--blue);color:white}.extra{width:86px}.print-context{font-size:20px;font-weight:750;margin-bottom:17px}.receiving-fields{grid-template-columns:repeat(4,minmax(0,1fr))}.program-footer{font-size:11px;color:#8a9ab4;text-align:right;border-top:1px solid #d1dde8;margin:0 27px 18px;padding:12px 0}.master-grid-layout{min-width:0}.master-grid-layout .table-wrap{max-width:100%}.flow-with-settings{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.flow-summary,.flow-lanes{overflow:auto;max-width:100%}.job-color-1{background:#edf6ff}.job-color-2{background:#eefaf3}.job-color-3{background:#fff7e7}.worker-ui .main{margin-left:0}.worker-ui .sidebar{display:none}.worker-ui .top-actions>input{display:none}
@media(max-width:1150px){.cards{grid-template-columns:repeat(2,1fr)}.top-actions>input{display:none}.planlayout{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.page-head{flex-wrap:wrap}.steps{margin-bottom:10px}}
@media(max-width:850px){.sidebar{width:210px}.main{margin-left:210px}.planlayout,.receiving-fields{grid-template-columns:1fr}.content{padding:18px}.topbar{height:auto}.test-label{display:none}.attention .grid2>div+div{border-left:0;padding-left:0}}
@media(max-width:700px){.sidebar{position:relative;width:100%}.main{margin:0}.nav{display:block}.navtitle{display:none}.sidebar details{display:inline-block;vertical-align:top;max-width:49%}.identity{display:none}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:12px;gap:8px}.metric-icon{width:35px;height:35px}.metric-icon svg{width:22px}.metric .value{font-size:25px}h1{font-size:26px}.flow-with-settings{grid-template-columns:1fr}.planlayout{grid-template-columns:1fr}.receiving-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}

.quality-edit{border:0;background:none;padding:2px 5px}.component-branch{flex-wrap:wrap}.component-branch>small{flex-basis:100%;text-align:right}.receiving-fields input{font-weight:400}

/* Sidebar correction requested 12 October 2026. */
.sidebar{width:225px}.main{margin-left:225px}
.brand{padding:16px 10px 12px}.brand .logo,.brand .logo span{font-size:34px}
.brand strong{font-size:14px;margin-top:6px}.brand>span{font-size:10px}
.navtitle{margin:8px 16px 0;font-size:10px}.nav{padding:6px 9px;min-height:0}
.nav .nav-main{font-size:12px;font-weight:650;line-height:1.3;gap:9px;padding:8px 9px;margin:2px 0}
.nav svg{width:19px;height:19px}.nav .sub a{font-size:11px;line-height:1.3;margin:2px 0 2px 19px;padding:6px 7px 6px 20px}
.nav .sub a::before{left:6px;top:10px;width:6px;height:6px}
.identity{padding:10px 0;margin:5px 13px;font-size:12px;gap:8px}.identity small{font-size:10px}.avatar{width:32px;height:32px;font-size:14px}
.nav:has(a:hover,summary:hover) a.active{background:transparent;color:#dbe9f6}
.nav a:hover,.nav summary:hover{background:var(--blue)!important;color:white!important}
.nav:has(summary:focus) a.active{background:transparent;color:#dbe9f6}
.nav summary:focus{background:var(--blue);color:white}
#planninglist{background:#092d50;color:white;border:2px solid #0865ed;font-size:14px;font-weight:750;padding:11px 18px;box-shadow:0 2px 5px #092d5020}
@media(max-width:700px){.sidebar{width:100%;position:relative}.main{margin-left:0}}
/* Compact headings and controls throughout the workspace. */
.main .content{padding:10px 18px}
.main .page-head{margin-bottom:10px;gap:10px}
.main .page-head h1{font-size:25px;margin:0 0 3px}
.main .page-head p{font-size:12px;margin-bottom:0}
.main .card{padding:14px;margin-bottom:12px}
.main .card h2{font-size:19px;margin-bottom:8px}
.main button,#modal button{font-size:12px;padding:5px 9px}
.main .toolbar,.main .actions{gap:6px;margin:6px 0;flex-wrap:wrap}
.main .master-primary-actions{gap:6px;flex-wrap:wrap;margin:4px 0 8px;align-items:flex-end}
.main .master-primary-actions label.field{width:150px;flex:0 1 150px;font-size:10px}
.main .master-primary-actions label.small{width:210px;flex:0 1 210px;font-size:10px}
.main .master-primary-actions input{padding:4px 6px;font-size:11px;margin-top:2px}
.main #mastermode{font-size:10px;margin:5px 0!important}
.main .master-row-cancel{padding:3px 5px;font-size:10px}
.main > .topbar[hidden]{display:none}
.main .compact-title-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px;padding-bottom:6px}
.main .compact-title-row > div:first-child{flex:1 1 180px;min-width:0}
.main .compact-title-row .top-actions{display:flex;justify-content:flex-end;align-items:center;gap:4px;margin-left:auto;flex:0 1 auto}
.main .compact-title-row .top-actions #globalsearch{width:145px;padding:4px 6px;font-size:10px;min-width:70px}
.main .compact-title-row .top-actions .test-label{font-size:9px;padding:4px 6px;white-space:nowrap}
.main .compact-title-row .top-actions button{font-size:10px;padding:4px 6px;white-space:nowrap}
.main .compact-title-row > button{font-size:10px;padding:4px 6px}
@media(max-width:850px){.main .compact-title-row .top-actions{flex-wrap:wrap}.main .compact-title-row .top-actions #globalsearch{width:110px}}
.export-file-download{display:inline-block;padding:6px 12px;margin:5px 0 10px;background:#0869ef;color:white;border-radius:5px;text-decoration:none;font-size:12px;font-weight:650}
.export-preview-scroll{max-height:55vh;overflow:auto;margin:8px 0 16px;border:1px solid #dce7f1}
.export-preview-scroll table{font-size:12px;min-width:100%;border-collapse:separate;border-spacing:0}
.export-preview-scroll th{position:sticky;top:0;background:#eaf4fa;z-index:1}
.export-preview-scroll td,.export-preview-scroll th{padding:6px 9px;white-space:pre-wrap;border-bottom:1px solid #dce7f1;min-width:95px}
/* Access-style rows: compact, contiguous cells with a clear active editor. */
.main table.access-datasheet,#modal table.access-datasheet{border-collapse:collapse;table-layout:fixed;min-width:100%;width:max-content;font-size:12px}
.main table.access-datasheet th,#modal table.access-datasheet th{font-size:11px;padding:3px 5px;height:25px;border:1px solid #d5dfe8;white-space:nowrap}
.main table.access-datasheet th button,#modal table.access-datasheet th button{padding:1px 2px;height:20px;line-height:16px;font-size:11px}
.main table.access-datasheet td,#modal table.access-datasheet td{padding:0 3px;height:25px;border:1px solid #dde4eb;vertical-align:middle}
.main table.access-datasheet td .access-entry-cell,#modal table.access-datasheet td .access-entry-cell{width:100%;min-width:0;height:23px;min-height:23px;margin:0;padding:1px 3px;border:1px solid transparent;border-radius:0;background:transparent;font-size:12px;box-shadow:none}
.main table.access-datasheet td .access-entry-cell:disabled,.main table.access-datasheet td .access-entry-cell[readonly],#modal table.access-datasheet td .access-entry-cell:disabled{background:#f4f6f8;color:#60738a;opacity:1}
.main table.access-datasheet td .access-entry-cell:focus,#modal table.access-datasheet td .access-entry-cell:focus{background:white;border:1px solid #0869ef;outline:1px solid #0869ef;outline-offset:-1px}
.main table.access-datasheet td button,#modal table.access-datasheet td button{font-size:10px;padding:1px 4px;height:20px;line-height:16px;margin:0 1px;border-radius:2px}
.main .access-entry-cell,#modal .access-entry-cell{font-size:12px;padding:3px 5px;border-radius:2px;min-height:25px}
.main .form-grid,#modal .form-grid{gap:6px 10px}
.main label.field,#modal label.field{font-size:11px}
.main label.field .access-entry-cell,#modal label.field .access-entry-cell{margin-top:2px}
.main table.access-datasheet td textarea.access-entry-cell:focus,#modal table.access-datasheet td textarea.access-entry-cell:focus{height:55px}
@media(max-width:700px){.main .access-entry-cell,#modal .access-entry-cell{min-height:32px}.main table.access-datasheet td .access-entry-cell,#modal table.access-datasheet td .access-entry-cell{height:30px;min-height:30px}}
.main table.access-datasheet td.clipboard-selected,#modal table.access-datasheet td.clipboard-selected{background:#d7eaff;outline:1px solid #7aa9df;outline-offset:-1px}
#unsaved-navigation{max-width:520px;padding:20px;border:1px solid #ccdcec;border-radius:8px;color:#112a46}
#unsaved-navigation::backdrop{background:#092d5066}
#unsaved-navigation .actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0}
#unsaved-navigation button{font-size:12px;padding:7px 10px}
.main .setup-layout.setup-wide{display:block}
.sidebar .setup-sidebar-tables{background:transparent;border:0;padding:0;margin:0 0 6px 19px;max-height:48vh;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#507393 #092d50}
.sidebar .setup-sidebar-tables button{position:relative;display:flex;gap:4px;align-items:flex-start;width:100%;text-align:left;white-space:normal;margin:1px 0;padding:5px 5px 5px 17px;border:0;border-radius:4px;background:transparent;color:#dbe9f6;font-size:11px;line-height:1.25;font-weight:400}
.sidebar .setup-sidebar-tables button::before{content:'';position:absolute;left:5px;top:10px;width:6px;height:6px;border-radius:50%;background:#2993ff}
.sidebar .setup-sidebar-tables button.primary{background:#0869ef;color:white;font-weight:650}
.sidebar .setup-sidebar-tables button:hover{background:#15466f;color:white}
.sidebar .setup-sidebar-tables .setup-item-number{min-width:17px;width:17px;font-size:10px;text-align:left;flex-shrink:0}
.sidebar .nav a.setup-nav-heading{margin-bottom:2px;padding-bottom:4px;font-weight:650}
.sidebar .nav:has(a:hover,summary:hover) .setup-sidebar-tables button.primary{background:transparent;color:#dbe9f6}
.main table.user-width-table,#modal table.user-width-table{table-layout:fixed!important;min-width:0!important;max-width:none!important}
.user-width-table th{position:relative;padding-right:12px!important;overflow:hidden}
.user-width-table td,.user-width-table th{min-width:0!important;max-width:none;overflow:hidden;text-overflow:ellipsis}
.user-width-table td input,.user-width-table td select,.user-width-table td textarea{width:100%!important;min-width:0!important;max-width:100%;box-sizing:border-box}
.field-width-handle{position:absolute;right:0;top:0;bottom:0;width:9px;cursor:col-resize;touch-action:none;z-index:5;border-right:2px solid #9bb7d0;background:transparent}
.field-width-handle:hover,.field-width-handle:focus{background:#b9dcff;border-right-color:#0869ef;outline:none}
.field-width-dragging,.field-width-dragging *{cursor:col-resize!important;user-select:none!important}
.user-width-field{position:relative;min-width:48px!important;max-width:100%;padding-right:9px;justify-self:start}
.user-width-field input,.user-width-field select,.user-width-field textarea{min-width:0!important;width:100%;box-sizing:border-box}
@media print{.field-width-handle{display:none}.user-width-table{max-width:100%!important}}

.flow-chart-header{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:20px}.flow-chart-header #chartreturn{margin-left:auto}.flow-chart-prompt{margin:18px 0;font-size:14px}.flow-chart-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.flow-chart-tools .flow-component,.chart-node.flow-component{background:#a9d18e;color:#102312}.flow-chart-tools .flow-process,.chart-node.flow-process{background:#ffff00;color:#292900}.flow-chart-tools .flow-purchased,.chart-node.flow-purchased{background:#f4b183;color:#402012}.chart-node.flow-finished{background:#dbeafe}.flow-chart-scroll{width:100%;overflow:auto;border:1px solid #dae4ed;background:white}.finished-flow-card{padding:18px}.flow-chart-scroll #flowcanvas{position:relative;min-height:480px;background-image:radial-gradient(#dce4ee 1px,transparent 1px);background-size:20px 20px}#flowarrows{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.chart-edge{fill:none;stroke:#153954;stroke-width:2.5;pointer-events:stroke;cursor:pointer}.chart-node{position:absolute;width:210px;min-height:74px;padding:10px 20px 10px 10px;border:1px solid #7191ad;border-radius:3px;cursor:move;user-select:none;touch-action:none}.chart-node b,.chart-node span{display:block;overflow-wrap:anywhere}.chart-node span{font-size:11px;margin-top:4px}.chart-node button{position:absolute;right:1px;top:1px;padding:0 3px;border:0;background:transparent;font-size:15px;color:#222}.chart-node.chart-source{outline:3px solid #0869ef}.chart-node:focus{outline:2px solid #0869ef}

.flow-chart-header{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.flow-chart-header>#chartreturn{margin-left:0;flex:none;font-size:10px;padding:5px 7px}.flow-chart-header>.field{flex:0 1 130px;width:130px}.flow-chart-header>.flow-description-field{flex:1 1 200px;width:auto;min-width:160px!important;max-width:100%}.flow-description-field #chartdescription{white-space:pre-wrap;overflow-wrap:anywhere;resize:vertical;overflow:hidden;line-height:1.3;height:auto;min-height:28px}.flow-chart-header>.flow-compact-controls{flex:3 1 470px;min-width:250px}.flow-compact-controls .flow-chart-prompt{margin:0 0 4px;font-size:10px}.flow-compact-controls .flow-chart-tools{gap:4px;margin:0 0 3px}.flow-compact-controls .flow-chart-tools button{padding:4px 6px;font-size:10px;line-height:1.3}.flow-compact-controls #charthelp{font-size:9px;margin:0}.primary-key-symbol{display:inline-block;margin-right:4px;color:#ae7900;font-size:12px;vertical-align:middle;cursor:help}.primary-key-label{white-space:nowrap}

.chart-node .chart-port{position:absolute;width:10px;height:10px;border:1px solid #fff;background:#0869ef;border-radius:50%;padding:0;display:none;z-index:8;cursor:crosshair;touch-action:none}.chart-node:hover .chart-port,.chart-connecting .chart-port{display:block}.chart-node .chart-port-top{top:-5px;left:calc(50% - 5px);right:auto}.chart-node .chart-port-bottom{top:auto;bottom:-5px;left:calc(50% - 5px);right:auto}.chart-node .chart-port-left{left:-5px;right:auto;top:calc(50% - 5px)}.chart-node .chart-port-right{right:-5px;top:calc(50% - 5px)}.chart-preview{fill:none;stroke:#0869ef;stroke-width:2;pointer-events:none}.flow-chart-tools #chartarrowstyle{width:112px;font-size:10px;padding:3px;height:25px}

.chart-edge{stroke:#0869ef}

.chart-node.flow-rm{background:#e7e6e6;border-color:#9c9c9c;color:#252525}.chart-picker-scroll{max-height:50vh;overflow:auto;margin:10px 0}.chart-pick-all{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600}.chart-picker-scroll input[type=checkbox],.chart-pick-all input[type=checkbox]{width:16px!important;height:16px;min-width:16px!important;margin:0;cursor:pointer}.chart-picker-scroll td{padding:5px 7px!important}.chart-picker-scroll tr:has(input:checked){background:#e8f3ff}

/* Compact flow boxes: point sizes match the requested drawing text sizes. */
.chart-node{width:180px;min-height:52px;padding:7px 16px 7px 8px}.chart-node .chart-code{font-size:11pt;line-height:1.2}.chart-node .chart-description{font-size:8pt;line-height:1.25;margin-top:3px;white-space:normal;overflow-wrap:anywhere}

.flow-chart-scroll #flowcanvas{min-height:0;overflow:hidden}.flow-chart-scroll{border:2px solid #8ea6bc}.flow-chart-scroll::before{content:"A3 LANDSCAPE · ONE PAGE · 420 × 297 MM";display:block;font-size:10px;padding:4px 8px;background:#edf5fc;color:#456}

/* Thin Excel-style connectors with larger invisible selection targets. */
.chart-edge,.chart-preview{stroke-width:1;stroke-linejoin:round}.chart-edge-hit{fill:none;stroke:transparent;stroke-width:14;pointer-events:stroke;cursor:pointer}.chart-line-handle{fill:white;stroke:#0869ef;stroke-width:1;pointer-events:all;cursor:crosshair}.chart-bend-handle{fill:#ffdf50;cursor:move}.chart-node .chart-port{width:7px;height:7px;opacity:.65}.chart-node .chart-port:hover{opacity:1;outline:2px solid #96bffa}

.flow-chart-tools .flow-finished{background:#dbeafe;color:#112a46}

.master-duplicate-pick,#duplicateall{width:15px!important;min-width:15px!important;height:15px;margin:0 4px;vertical-align:middle;cursor:pointer}.master-duplicate-all{display:inline-flex;align-items:center;font-size:11px;gap:3px}

#mastergrid .master-order-cell{white-space:nowrap;vertical-align:middle}#mastergrid .master-row-controls{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}#mastergrid .master-row-controls .master-duplicate-pick{display:inline-block!important;width:14px!important;min-width:14px!important;max-width:14px!important;height:14px;padding:0;margin:0 2px;flex:none}#mastergrid .master-row-controls button{display:inline-block;padding:1px 4px;flex:none}#mastergrid .master-row-controls .master-row-number{display:inline-block;flex:none}.chart-node.chart-needs-replacement{outline:2px dashed #bd6d00}.chart-node .chart-replace-code{right:17px;top:1px;font-size:13px}

#mastergrid input.duplicate-primary-key{color:#c00000!important;background:#fff0f0!important;border:2px solid #d00000!important}.primary-key-warning{color:#c00000;font-size:12px;font-weight:600;margin:4px 0}.primary-key-warning[hidden]{display:none}

.master-duplicate-source{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:11px}.master-duplicate-source #duplicatefgsearch{width:145px;min-width:100px;padding:4px 6px;font-size:12px}

/* Keep headings fixed within the scrolling datasheet. */
#mastergrid>.table-wrap{max-height:65vh;overflow:auto;position:relative;overscroll-behavior:contain}#mastergrid table{border-collapse:separate;border-spacing:0}#mastergrid thead th{position:sticky!important;top:0!important;z-index:12;background:#eaf3fa;box-shadow:0 1px 0 #bacddd}#mastergrid .find-match{background:#fff3ac!important}#mastergrid .find-current{outline:2px solid #0869ef;outline-offset:-2px}.find-options{display:flex;gap:18px;margin:10px 0}.find-options input{width:auto;min-width:0}

.chart-node.chart-duplicate-code{outline:2px solid #d00000!important;border-color:#d00000!important}.chart-node.chart-duplicate-code .chart-code{color:#c00000!important}#modal input.duplicate-primary-key{color:#c00000!important;background:#fff0f0!important;border:2px solid #d00000!important}

.planning-sheet-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:26px}.planning-sheet-card h3{margin-bottom:4px}.planning-sheet-card .planning-sheet-fields{border-collapse:collapse;table-layout:fixed}.planning-sheet-fields th,.planning-sheet-fields td{border:1px solid #aab9c8;padding:3px 5px;background:transparent}.planning-sheet-fields th{width:48%;font-size:12px;font-weight:500}.planning-sheet-fields input,.planning-sheet-fields select,.planning-sheet-fields textarea{padding:4px 5px;margin:0;min-width:0;width:100%;font-size:12px}.planning-sheet-fields textarea{min-height:50px}.planning-sheet-history{margin-top:20px}.planning-sheet-section{margin-top:24px!important}.planning-sheet-card .table-wrap th,.planning-sheet-card .table-wrap td{border:1px solid #aab9c8;padding:4px 5px}.planning-sheet-card .table-wrap input{min-width:0;width:100%;padding:3px}.planning-sheet-card .table-wrap td{vertical-align:middle}.planning-sheet-actions{margin-top:0;margin-bottom:15px}.planning-sheet-card #sheetlinknotice{margin-top:16px}@media(max-width:1000px){.planning-sheet-layout{grid-template-columns:1fr}}
.planning-sheet-card .planning-sheet-product{margin-top:44px}.planning-sheet-card .planning-sheet-history{margin-top:28px}.planning-sheet-card .planning-sheet-layout{gap:36px;grid-template-columns:minmax(310px,.8fr) minmax(0,1.2fr)}.planning-sheet-card .planning-sheet-fields th,.planning-sheet-card .planning-sheet-fields td,.planning-sheet-card .table-wrap th,.planning-sheet-card .table-wrap td{border:1px solid #222;background:#fff;color:#111}.planning-sheet-card .planning-sheet-fields th{width:50%;text-align:left}.planning-sheet-card .planning-sheet-fields input,.planning-sheet-card .planning-sheet-fields select,.planning-sheet-card .planning-sheet-fields textarea{border-color:transparent;border-radius:0;background:#fff;color:#111}.planning-sheet-card .table-wrap table{border-collapse:collapse}.planning-sheet-card .table-wrap th{font-weight:500}.planning-sheet-card .planning-sheet-section{margin-top:32px!important}.planning-sheet-card #sheetpurchase{margin-top:0}.planning-sheet-card #sheetwip+.planning-sheet-section{margin-top:56px!important}@media(max-width:1000px){.planning-sheet-card .planning-sheet-layout{grid-template-columns:1fr}}
/* Compact planning workspace and persistent record identifiers. */
.planning-sheet-card{padding:12px 14px}.planning-sheet-card .planning-sheet-layout{gap:20px;grid-template-columns:minmax(285px,.75fr) minmax(0,1.25fr)}.planning-sheet-card .planning-sheet-layout>div{min-width:0}.planning-sheet-card h3{font-size:14px;margin:0 0 3px}.planning-sheet-card .planning-sheet-product{margin-top:12px}.planning-sheet-card .planning-sheet-history{margin-top:12px}.planning-sheet-card .planning-sheet-fields th,.planning-sheet-card .planning-sheet-fields td{padding:1px 4px;height:25px;font-size:12px}.planning-sheet-card .planning-sheet-fields input,.planning-sheet-card .planning-sheet-fields select{height:23px;min-height:0;padding:1px 3px}.planning-sheet-card .planning-sheet-fields textarea{height:33px;min-height:33px;padding:1px 3px}.planning-sheet-card #nppurposeremark{font-size:10px;line-height:1.1}.planning-sheet-card #nppurposeremark:empty{display:none}.planning-sheet-card .planning-sheet-section,.planning-sheet-card #sheetwip+.planning-sheet-section{margin-top:14px!important}.planning-sheet-card .planning-sheet-actions{margin-bottom:8px}.planning-sheet-card .actions button{padding:6px 10px;font-size:12px}.planning-sheet-card #sheetlinknotice{margin:8px 0;font-size:11px}.planning-sheet-card .table-wrap{max-height:175px;overflow:auto}.planning-sheet-card .table-wrap table{table-layout:fixed;min-width:0;font-size:11px;border-collapse:separate;border-spacing:0}.planning-sheet-card .table-wrap th,.planning-sheet-card .table-wrap td{padding:2px 3px;height:26px;overflow-wrap:anywhere}.planning-sheet-card .table-wrap input{padding:1px;min-width:0;min-height:0;height:22px;font-size:11px}.planning-sheet-card .table-wrap thead th{position:sticky;top:0;background:#dcebf8!important;color:#112a46;font-weight:600;z-index:3;white-space:normal}.planning-sheet-card #sheetwip th:first-child,.planning-sheet-card #sheetpurchase th:first-child{width:30px}.planning-sheet-card #sheetwip th:nth-child(2),.planning-sheet-card #sheetpurchase th:nth-child(2){width:21%}.planning-sheet-card #sheetwip th:nth-child(3),.planning-sheet-card #sheetpurchase th:nth-child(3){width:23%}.frozen-primary-code{position:sticky;left:0;z-index:4;background:#fff!important;box-shadow:2px 0 0 #aab9c8}#mastergrid thead .frozen-primary-code{z-index:15;background:#eaf3fa!important}.planning-sheet-card .table-wrap thead .frozen-primary-code{z-index:5;background:#dcebf8!important}.planning-sheet-card .table-wrap td.frozen-primary-code{background:#f3f8fd!important}@media(max-width:850px){.planning-sheet-card .planning-sheet-layout{grid-template-columns:1fr}}
/* Light blue identifies fields the planner can enter or select. */
.planning-sheet-card .planning-sheet-fields input:not([readonly]):not(:disabled),.planning-sheet-card .planning-sheet-fields select:not(:disabled),.planning-sheet-card .planning-sheet-fields textarea:not([readonly]):not(:disabled){background:#e3f1ff;border:1px solid #bad8f5}
.planning-sheet-card .planning-sheet-fields input:not([readonly]):not(:disabled):focus,.planning-sheet-card .planning-sheet-fields select:not(:disabled):focus,.planning-sheet-card .planning-sheet-fields textarea:not([readonly]):not(:disabled):focus{background:#d8ebff;border-color:#0869ef}
#authoritygrid .table-wrap{max-height:65vh;overflow:auto}#authoritygrid table{min-width:1350px;border-collapse:separate;border-spacing:0}#authoritygrid th{position:sticky;top:0;z-index:3;background:#ffff00;color:#111}#authoritygrid th,#authoritygrid td{padding:4px 6px;border:1px solid #d5dee8}#authoritygrid select{background:#e3f1ff;min-width:100px;padding:5px}#authoritygrid th:nth-child(6),#authoritygrid td:nth-child(6){position:sticky;left:0;z-index:4;background:#edf5ff}#authoritygrid th:nth-child(6){z-index:5;background:#ffff00}#authoritygrid td:nth-child(3) select{min-width:260px}
.phone-checkin-view .sidebar{display:none}.phone-checkin-view .main{margin-left:0}.phone-checkin-view .content{max-width:680px;margin:auto;padding:14px}.phone-checkin-card{width:100%;padding:16px}.phone-checkin-card p{overflow-wrap:anywhere}.phone-checkin-card .primary{width:100%;min-height:48px;margin-top:12px;font-size:16px}.phone-checkin-card .table-wrap{overflow:auto}.phone-checkin-view #globalsearch{display:none}.phone-checkin-view .page-head h1{font-size:25px}@media(max-width:600px){.phone-checkin-view .top-actions{flex-wrap:wrap}.phone-checkin-view .test-label{font-size:10px}}

/* Saved-table review: frozen headings and column filters. */
.master-scroll{max-height:62vh;min-height:180px;overflow:auto;position:relative}
.master-scroll table{border-collapse:separate;border-spacing:0}
.master-scroll thead{position:sticky;top:0;z-index:3;background:#eaf4fa}
.master-scroll th{background:#eaf4fa}
.master-filters th{padding:5px 8px 9px}
.master-filters input{font-size:11px;padding:5px;min-width:85px;background:white;font-weight:400}
.setup-categories{align-self:start;max-height:75vh;overflow:auto}
.master-primary-actions{display:flex;gap:10px;align-items:center;flex-wrap:nowrap;margin:8px 0 12px}
.master-secondary-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.master-order-header,.master-order-cell{width:36px;min-width:36px;padding:5px}
.master-row-handle{cursor:grab;padding:5px 8px;font-size:16px}
.master-row-handle:active{cursor:grabbing}.master-dragging{opacity:.5;background:#e5f2ff}
.master-heading-filter{display:flex;align-items:center;justify-content:space-between;gap:6px}
.column-filter-toggle{font-size:12px;padding:2px 6px;background:transparent;flex-shrink:0}
.column-filter-toggle.filtered{background:#0865ed;color:white;border-color:#0865ed}
.master-filter-popup{position:fixed;inset:auto;margin:0;width:230px;padding:12px;border:1px solid #cddce9;border-radius:6px;background:white;box-shadow:0 5px 20px #092d5026;color:#112a46;font:12px 'Segoe UI',Arial,sans-serif}
.master-filter-popup label{display:block;font-weight:650}.master-filter-popup input{margin:8px 0;width:100%}.master-filter-popup button{font-size:12px;padding:5px 9px}
.master-sort-heading{display:flex;align-items:center;justify-content:space-between;gap:7px;width:100%;border:0;padding:3px 0;background:transparent;color:#112a46;font-size:11px;text-align:left;font-weight:700}
.master-sort-heading:hover{background:transparent;color:#0865ed}.sort-arrow{color:#0865ed;font-size:11px}
.setup-categories button{display:flex;gap:7px;text-align:left;align-items:baseline}
.setup-item-number{font-weight:700;min-width:20px;flex-shrink:0}
.master-order-header,.master-order-cell{min-width:65px;width:65px;white-space:nowrap}
.master-row-number{display:inline-block;min-width:20px;font-weight:650;text-align:center;font-size:11px}
.master-order-header,.master-order-cell{min-width:135px;width:135px}
.master-row-cancel{padding:4px 6px;font-size:10px;color:#d81526;margin:0 3px}
.master-cancelled-row{background:#fff0f1;opacity:.75}

/* Edit selection: fixed header and three continuous record rows. */
#planningpicker .table-wrap{height:160px;max-height:160px;overflow:auto;margin-top:8px}
#planningpicker table{table-layout:fixed;min-width:750px;width:100%;border-collapse:separate;border-spacing:0}
#planningpicker tr{height:40px}
#planningpicker th,#planningpicker td{height:40px;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:6px 10px}
#planningpicker th:first-child{width:22%}#planningpicker th:nth-child(2){width:15%}#planningpicker th:nth-child(3){width:16%}#planningpicker th:nth-child(4){width:23%}#planningpicker th:nth-child(5){width:10%}#planningpicker th:nth-child(6){width:14%}
#planningpicker [data-select-planning]{cursor:pointer}#planningpicker [data-select-planning]:hover td,#planningpicker [data-select-planning]:focus td{background:#e3f1ff!important}#planningpicker [data-select-planning]:focus{outline:2px solid #0869ef;outline-offset:-2px}

#planningpicker th{position:sticky;top:0;padding-right:32px}#planningpicker th .aq-filter{position:absolute;right:4px;top:7px;margin:0;padding:1px 5px;min-height:25px}

/* Box 1 data is distinct from the field labels, including locked records. */
.planning-sheet-card .planning-sheet-fields input,.planning-sheet-card .planning-sheet-fields select,.planning-sheet-card .planning-sheet-fields textarea{color:#000!important;font-weight:700!important;-webkit-text-fill-color:#000!important;opacity:1!important}
.planning-sheet-card .planning-sheet-fields input::placeholder,.planning-sheet-card .planning-sheet-fields textarea::placeholder{color:#687e99!important;font-weight:400!important;-webkit-text-fill-color:#687e99!important}

/* Planning entry cells are yellow; formulas and stock references stay read-only. */
.planning-sheet-card .planning-sheet-fields input:not([readonly]):not(:disabled),.planning-sheet-card .planning-sheet-fields select:not(:disabled),.planning-sheet-card .planning-sheet-fields textarea:not([readonly]):not(:disabled),.planning-sheet-card .planning-entry-cell,.planning-sheet-card .planning-entry-cell input{background:#fff3bf!important;border-color:#d2a72d;color:#17233b}
.planning-sheet-card .table-wrap thead th.planning-entry-heading{background:#ffe89a!important}
.planning-sheet-card input[data-planning-extra]:focus,.planning-sheet-card .planning-sheet-fields input:not([readonly]):focus,.planning-sheet-card .planning-sheet-fields select:not(:disabled):focus{outline:2px solid #d79d00;outline-offset:-2px;background:#ffec99!important}

.planning-sheet-card #sheetraw th:first-child{width:30px}.planning-sheet-card #sheetraw th:nth-child(2){width:21%}.planning-sheet-card #sheetraw th:nth-child(3){width:23%}

.planning-condition-actions{align-items:flex-end;gap:16px;flex-wrap:wrap}.planning-condition-actions .field{min-width:280px;max-width:100%;margin:0}.planning-condition-actions select:not(:disabled){background:#fff3bf!important;border-color:#d2a72d;color:#17233b}

/* Selection and Excel file controls remain a single, easy-to-find row. */
.main .master-primary-actions>.master-excel-actions{display:flex;flex:1 0 100%;align-items:center;gap:8px;flex-wrap:nowrap;overflow-x:auto;padding:3px 0 5px;margin-top:3px}
.main .master-excel-actions>.master-duplicate-all{flex:none;white-space:nowrap}
.main .master-excel-actions>label.small{display:flex;align-items:center;gap:6px;width:auto;flex:0 0 auto;white-space:nowrap;font-size:11px;margin:0}
.main .master-excel-actions input[type=file]{width:205px;min-width:0;margin:0;font-size:11px;padding:4px}
.main .master-excel-actions>button{flex:none;white-space:nowrap}

.main .master-primary-actions>.master-excel-actions{min-width:0;max-width:100%;box-sizing:border-box}
.main .master-excel-actions>label.small{position:relative;cursor:pointer;border:1px solid #d5dfeb;border-radius:7px;color:#0063e6;background:white;padding:8px 12px;font-size:12px;line-height:1.4}
.main .master-excel-actions input[type=file]{position:absolute;width:1px;height:1px;min-width:0;opacity:0;padding:0;margin:0}
.main .master-excel-actions>label.small:focus-within{outline:2px solid #0063e6;outline-offset:2px}

/* Header stacking must be above the frozen ProcessID body column. */
#mastergrid .master-scroll thead{z-index:30;isolation:isolate}
#mastergrid tbody{position:relative;z-index:0}

.chart-node .chart-process-info{display:block;font-size:7pt;line-height:1.2;margin-top:3px;color:#263238;overflow-wrap:anywhere}
/* Freeze Employee Details through EmpName, with a name-only phone fallback. */
#mastergrid table.employee-master-freeze .frozen-primary-code{position:static;left:auto;box-shadow:none}
#mastergrid table.employee-master-freeze [data-employee-frozen]{position:sticky!important;left:var(--employee-pin-left,0px);z-index:4;background:#fff!important}
#mastergrid table.employee-master-freeze thead [data-employee-frozen]{z-index:16;background:#eaf3fa!important}
#mastergrid table.employee-master-freeze [data-employee-frozen="last"]{box-shadow:2px 0 0 #9fb8cf}
@media print{#mastergrid table.employee-master-freeze [data-employee-frozen]{position:static!important;box-shadow:none}}

/* Compact title-row tools for the Component and Production Process tables. */
.main .master-compact-heading{display:flex;align-items:flex-start;gap:10px;justify-content:space-between;margin-bottom:3px}
.main .master-compact-heading>h2{flex:0 1 34%;font-size:20px;line-height:1.2;margin:2px 0}
.main .master-compact-heading>.master-primary-actions{flex:1 1 66%;min-width:0;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:4px;margin:0}
.main .master-compact-heading .master-primary-actions button,.main .master-compact-heading .master-excel-actions>label{font-size:11px;line-height:1.2;padding:5px 7px;min-height:26px;margin:0}
.main .master-compact-heading .master-duplicate-source,.main .master-compact-heading .master-duplicate-all{font-size:11px;gap:3px;margin:0}
.main .master-compact-heading .master-duplicate-source #duplicatefgsearch{width:115px;min-width:80px;font-size:11px;padding:5px;margin:0}
.main .master-compact-heading .master-primary-actions>.master-excel-actions{flex:0 1 auto;gap:4px;padding:0;margin:0;overflow:visible;max-width:100%;flex-wrap:wrap;justify-content:flex-end}
.main .master-compact #mastermode{font-size:10px;line-height:1.2;margin:3px 0!important}
@media(max-width:700px){.main .master-compact-heading{flex-wrap:wrap}.main .master-compact-heading>h2{flex-basis:100%}.main .master-compact-heading>.master-primary-actions{flex-basis:100%}}

/* Reuse the old subtitle space for the raised setup table. */
.main .page-head.setup-raised-heading{position:relative;align-items:flex-start;margin-bottom:0;padding-bottom:18px;min-height:45px}
.main .page-head.setup-raised-heading>.setup-heading-description{position:absolute;right:0;bottom:2px;text-align:right;font-size:10px;line-height:1.2;margin:0;max-width:75%}
@media(max-width:700px){.main .page-head.setup-raised-heading{padding-bottom:27px}.main .page-head.setup-raised-heading>.setup-heading-description{max-width:100%;font-size:9px}}

/* Purchased Item Details: compact entry and draft links save with the parent row. */
#mastergrid.purchased-compact table,#mastergrid.purchased-compact th,#mastergrid.purchased-compact td,#mastergrid.purchased-compact input,#mastergrid.purchased-compact select,#mastergrid.purchased-compact textarea,#mastergrid.purchased-compact button,#mastergrid.purchased-compact summary{font-size:8pt!important;line-height:1.25!important}
#mastergrid.purchased-compact th,#mastergrid.purchased-compact td{padding:3px 5px!important;height:auto!important;white-space:nowrap}
#mastergrid.purchased-compact .master-order-header,#mastergrid.purchased-compact .master-order-cell{width:118px!important;min-width:0!important;max-width:118px!important}
#mastergrid.purchased-compact input:not([type=checkbox]),#mastergrid.purchased-compact select,#mastergrid.purchased-compact textarea{height:25px!important;padding:3px!important}
#mastergrid.purchased-compact button{padding:2px 4px!important;min-height:0!important}
#mastergrid.purchased-compact details summary{cursor:pointer;max-width:none;width:100%;overflow:visible;text-overflow:clip;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;font-size:7pt!important;line-height:1.15!important}
#mastergrid.purchased-compact td:has(details){overflow:visible!important}
.purchase-goods-options{position:absolute;z-index:35;background:white;border:1px solid #abc;padding:6px;max-height:240px;max-width:460px;overflow:auto;box-shadow:0 3px 8px #999}
.purchase-goods-options label{display:flex;align-items:center;gap:6px;font-size:8pt!important;white-space:nowrap}
.purchase-goods-options input[type=checkbox]{width:14px!important;min-width:14px!important;height:14px!important}
.main .page-head.purchased-top-layout{display:grid;grid-template-columns:minmax(180px,27%) minmax(0,1fr);gap:5px 12px;align-items:start;margin-bottom:6px}
.purchased-top-layout>div:first-child{grid-column:1;grid-row:1/3}
.purchased-top-layout>.top-actions{grid-column:2;grid-row:1;justify-content:flex-end}
#purchased-top-controls{grid-column:2;grid-row:2;min-width:0;text-align:right}
#purchased-top-controls h2{font-size:14px;line-height:1.2;margin:0 0 4px}
#purchased-top-controls .master-primary-actions{justify-content:flex-end;flex-wrap:wrap;gap:4px;margin:0}
#purchased-top-controls button,#purchased-top-controls label{font-size:8pt;line-height:1.2;padding:4px 6px;min-height:0}
#purchased-top-controls .master-excel-actions{flex:0 1 auto;justify-content:flex-end;gap:4px;margin:0;padding:0}
#purchased-top-controls #mastermode{font-size:8pt;margin:4px 0;line-height:1.2}
#purchased-top-controls .ui-table-visibility{justify-content:flex-end;margin:3px 0 0;font-size:8pt}
.main .purchased-table-card{padding:8px;margin-top:0}
#purchased-meta-row{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;overflow-x:auto;white-space:nowrap}
#purchased-meta-row #mastermode{margin:0!important;font-size:7pt;line-height:1.2;flex:none}
#purchased-meta-row button{font-size:8pt;padding:3px 5px;white-space:nowrap;flex:none}
#purchased-meta-row .ui-table-visibility{display:flex;align-items:center;flex-wrap:nowrap;flex:none;gap:4px;margin:0}
#purchased-meta-row .ui-table-visibility small{font-size:7pt;white-space:nowrap}
#mastergrid.purchased-compact .master-scroll{min-height:350px;max-height:max(350px,calc(100dvh - 220px))}
#mastergrid.purchased-compact tbody tr{height:29px}
#export-preview-content .export-preview-scroll{min-height:300px;max-height:max(300px,calc(100dvh - 260px));overflow:auto}
#export-preview-content th,#export-preview-content td{font-size:8pt!important;padding:4px 6px!important;height:25px;line-height:1.2;white-space:nowrap}
#export-preview-content th{position:sticky;top:0;z-index:1}
@media(max-width:700px){.main .page-head.purchased-top-layout{grid-template-columns:1fr}.purchased-top-layout>div:first-child{grid-row:1;grid-column:1}.purchased-top-layout>.top-actions{grid-row:2;grid-column:1}#purchased-top-controls{grid-row:3;grid-column:1}}

#mastergrid.purchased-compact textarea.purchase-description{font-size:7pt!important;line-height:1.15!important;white-space:pre-wrap!important;overflow-wrap:anywhere;resize:vertical;overflow:hidden;min-height:25px;max-height:none}
#mastergrid:is(.process-compact,.component-compact,.setup-small) table,#mastergrid:is(.process-compact,.component-compact,.setup-small) th,#mastergrid:is(.process-compact,.component-compact,.setup-small) td,#mastergrid:is(.process-compact,.component-compact,.setup-small) input,#mastergrid:is(.process-compact,.component-compact,.setup-small) select,#mastergrid:is(.process-compact,.component-compact,.setup-small) textarea,#mastergrid:is(.process-compact,.component-compact,.setup-small) button,#mastergrid:is(.process-compact,.component-compact,.setup-small) summary{font-size:8pt!important;line-height:1.2!important}
#mastergrid:is(.process-compact,.component-compact,.setup-small) th,#mastergrid:is(.process-compact,.component-compact,.setup-small) td{padding:3px 5px!important;height:auto!important}
#mastergrid:is(.process-compact,.component-compact,.setup-small) .master-order-header,#mastergrid:is(.process-compact,.component-compact,.setup-small) .master-order-cell{width:118px!important;max-width:118px!important;min-width:0!important}
#mastergrid:is(.process-compact,.component-compact,.setup-small) input:not([type=checkbox]):not([type=radio]),#mastergrid:is(.process-compact,.component-compact,.setup-small) select,#mastergrid:is(.process-compact,.component-compact,.setup-small) textarea{height:25px;padding:3px!important}
#mastergrid:is(.process-compact,.component-compact,.setup-small) textarea.purchase-description{font-size:8pt!important;white-space:pre-wrap;overflow-wrap:anywhere;overflow:hidden;resize:vertical;min-height:25px}
#mastergrid:is(.process-compact,.component-compact,.setup-small) .master-scroll{min-height:350px;max-height:max(350px,calc(100dvh - 220px))}
.process-versions-dropdown>summary{cursor:pointer;white-space:normal;overflow-wrap:anywhere}
.process-versions-dropdown .pv-inline-panel{position:absolute;z-index:15;right:8px;max-width:calc(100vw - 50px);padding:7px;background:white;border:1px solid #abc;box-shadow:0 3px 8px #999;max-height:280px;overflow:auto}
.pv-inline-panel .pv-inline-table{table-layout:auto!important;width:auto!important;min-width:0!important}
.pv-inline-panel .pv-inline-table th,.pv-inline-panel .pv-inline-table td{position:static!important;min-width:0!important;white-space:nowrap}
.pv-inline-panel select{width:115px!important}.pv-inline-panel input[type=number]{width:65px!important}.pv-inline-panel small{margin-left:8px}

.component-goods>summary{cursor:pointer;font-size:8pt!important;line-height:1.2;white-space:normal;overflow-wrap:anywhere}.component-goods-options{position:absolute;right:8px;z-index:15;background:white;border:1px solid #abc;box-shadow:0 3px 8px #999;padding:6px;max-height:250px;max-width:calc(100vw - 40px);overflow:auto}.component-goods-options label{display:flex;gap:6px;align-items:center;font-size:8pt!important;white-space:nowrap;margin:2px 0}

.setup-linked-dropdown summary{font-size:8pt!important;cursor:pointer;white-space:normal;overflow-wrap:anywhere}.setup-linked-panel{position:absolute;right:8px;z-index:20;background:white;border:1px solid #abc;padding:6px;box-shadow:0 3px 8px #999;max-height:270px;max-width:calc(100vw - 32px);overflow:auto;width:max-content}.setup-linked-panel table{table-layout:auto!important;width:auto!important;min-width:0!important}.setup-linked-panel th,.setup-linked-panel td{position:static!important;white-space:nowrap!important;min-width:0!important;font-size:8pt!important}.setup-linked-panel input[type=number]{width:80px!important}.setup-linked-panel small{display:block;font-size:8pt}
.setup-dropdown-tools{position:sticky;top:0;z-index:25;background:white;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:3px 2px 6px;font-size:8pt!important;border-bottom:1px solid #d4dfe8;margin-bottom:4px}.setup-dropdown-close{display:inline-block;white-space:nowrap;border:1px solid #b9cfe3;border-radius:4px;padding:4px 8px;font-size:8pt!important;font-weight:bold;text-decoration:none;background:#edf5ff;color:#005fcb}
.rm-paste-pad{min-height:100px;padding:24px;border:2px dashed #a9c8e6;background:#f4f9ff;text-align:center;color:#245477;cursor:text;font-size:12px}.rm-paste-pad:focus{outline:2px solid #0869ef}#rm-excel-text{width:100%;margin-top:12px;white-space:pre;font-size:12px}

.purchase-quantity-options{max-width:calc(100vw - 32px)!important;width:max-content;max-height:320px!important}
.purchase-quantity-options table{width:auto!important;min-width:0!important;table-layout:auto!important}
.purchase-quantity-options th,.purchase-quantity-options td{font-size:8pt!important;white-space:nowrap!important;padding:4px 6px!important;min-width:0!important;position:static!important}
.purchase-quantity-options input[type=number]{font-size:8pt!important;width:90px!important;min-width:90px!important;height:28px!important;padding:3px!important}
.purchase-quantity-options input[readonly]{background:#f1f3f5!important;color:#555!important}
.purchase-quantity-options small{display:block;font-size:8pt;margin-top:5px}

/* Smaller flow boxes; the saved layout coordinates and company records are unchanged. */
.chart-node{width:164px;min-height:46px;padding:6px 16px 6px 7px}.chart-node .chart-code{font-size:10pt}.chart-node .chart-description{font-size:7pt}.chart-node .chart-process-info{font-size:6pt}
