:root{font-family:Inter,Segoe UI,sans-serif;color:#172c3c;background:#f1f5f8;font-size:16px}*{box-sizing:border-box}body{margin:0}header{height:76px;background:#102d41;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 5%}.brand{color:white;text-decoration:none;font-size:24px;font-weight:700;display:flex;gap:12px;align-items:center}.local{font-size:12px;letter-spacing:1.5px;color:#9ddfdc;border:1px solid #47717e;padding:7px 10px;border-radius:4px}main{max-width:1440px;margin:auto;padding:40px 5%}h1{font-size:36px;letter-spacing:-1.2px;margin:10px 0}h2{font-size:19px;margin:0}p{line-height:1.5;color:#536779}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px;color:#087b79}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.notice{font-size:14px;line-height:1.6;padding:16px 20px;background:#e5f1f3;border-left:3px solid #0b8581;margin:22px 0}.toolbar{display:flex;gap:16px;align-items:end;margin:26px 0}.toolbar label{max-width:240px;flex:1}label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600}input,select{font:inherit;color:inherit;width:100%;padding:11px 12px;border:1px solid #cbd6de;border-radius:6px;background:white;min-height:44px}input:focus,select:focus,button:focus-visible{outline:3px solid #74c5c1;outline-offset:2px}button{font:inherit;font-size:14px;font-weight:600;border:1px solid transparent;border-radius:6px;padding:12px 17px;background:#087e79;color:white;cursor:pointer}button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:wait}.secondary{background:white;color:#234456;border-color:#cbd6de}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px}.metrics article{background:white;padding:23px;border:1px solid #dce5eb;border-radius:9px;border-top:3px solid #173f58}.metrics span,.metrics small{display:block;font-size:14px;color:#617384}.metrics strong{display:block;font-size:30px;margin:15px 0 9px;font-variant-numeric:tabular-nums}.metrics small{font-size:12px}.workspace{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.panel{padding:25px;background:white;border:1px solid #dce5eb;border-radius:9px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.pill{font-size:11px;letter-spacing:1.1px;color:#6d8190;white-space:nowrap}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}.hint{font-size:14px;line-height:1.5;color:#647887}.optional{font-size:12px;font-weight:400;display:contents}.actions{display:flex;gap:10px;margin-top:18px}.department-list{margin-top:20px;max-height:210px;overflow:auto}.department{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid #e6edf1;gap:10px;font-size:14px}.department button,.row-action{padding:5px 9px;font-size:12px;background:#edf4f6;color:#254558}.ledger{margin-top:26px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}th{background:#f4f7f9;color:#6a7e8d;font-size:12px;font-weight:600;padding:13px 12px;white-space:nowrap}td{padding:16px 12px;border-bottom:1px solid #e8edf1;max-width:240px;overflow-wrap:anywhere}td strong,td small{display:block}td small{margin-top:5px;color:#6a7e8d}.over{color:#b34229!important}.under{color:#087e79!important}.empty{padding:44px 10px;text-align:center}.empty p{font-size:14px}footer{font-size:12px;text-align:center;color:#6b7f8c;padding:24px}#status{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#102d41;color:white;padding:14px 22px;border-radius:8px;box-shadow:0 6px 25px #0003;max-width:90%;display:none}#status.error{background:#983b28}[hidden]{display:none!important}@media(max-width:900px){.metrics{grid-template-columns:repeat(2,1fr)}.workspace{grid-template-columns:1fr}.heading{align-items:start}h1{font-size:29px}}@media(max-width:560px){header{padding:0 20px}.brand{font-size:20px}.local{font-size:9px}main{padding:24px 18px}.heading{display:block}.toolbar{flex-wrap:wrap}.toolbar label{min-width:40%}.metrics{gap:10px}.metrics article{padding:17px}.metrics strong{font-size:24px}.two{grid-template-columns:1fr}.panel{padding:20px}.pill{display:none}h1{font-size:28px}}

.identity{display:flex;align-items:center;gap:18px;font-size:14px}.identity button{background:#244b62;border-color:#5d798a}.auth{max-width:460px;margin:60px auto}.auth h1{font-size:30px}.auth form{display:grid;gap:18px}form>label{margin:18px 0}form>button{margin-top:12px}.view-switch{display:flex;gap:6px;border-bottom:1px solid #cfdae2;margin:25px 0;padding-bottom:10px;flex-wrap:wrap}.view-switch button{background:transparent;color:#526a7a}.view-switch button[aria-pressed=true]{background:#143e55;color:white}.plan-preview{padding:20px;margin:20px 0;background:#e8f3f3;border-left:3px solid #087e79;line-height:1.7;font-size:14px}.plan-preview strong{font-size:25px;display:block;color:#153e54}.cost-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.total-line{display:flex;justify-content:space-between;border-top:1px solid #d9e2e8;padding-top:18px}.total-line strong{font-size:24px}.salary-row{display:grid;grid-template-columns:1fr 120px auto;align-items:center;gap:12px;border-bottom:1px solid #e3eaf0;padding:12px 0}.salary-row label{margin:0}.salary-row button{margin:0}.budget{background:#102d41;color:white;border-radius:8px;padding:28px;margin-top:25px;font-size:16px;line-height:1.8}.budget strong{display:block;font-size:36px;color:#8ad9cc}.profit{color:#087e79!important}.loss{color:#b34229!important}.status-badge{display:inline-block;border-radius:4px;padding:5px 8px;background:#ecf3f6;font-size:12px}.muted{color:#7c8b96}.metrics strong{font-size:27px}.metrics article{min-width:0}.metrics small{line-height:1.5}#workspace h1{font-size:32px}#status{z-index:20}.table-wrap{padding-bottom:8px}td,th{font-variant-numeric:tabular-nums}#report-view .metrics{margin-top:20px}@media(max-width:650px){.identity{gap:8px;font-size:12px}.cost-inputs{grid-template-columns:1fr}.salary-row{grid-template-columns:1fr 100px auto}.salary-row button{padding:10px}#workspace h1{font-size:27px}.metrics strong{font-size:22px}header .brand{font-size:18px}.budget strong{font-size:29px}}

.product-choices{border:1px solid #cbd6de;border-radius:6px;padding:14px;margin:18px 0}.product-choices legend{font-size:14px;font-weight:600;padding:0 5px}#daily-products{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:240px;overflow:auto}#daily-products label{flex-direction:row;align-items:center;gap:8px;font-size:13px}#daily-products input[type=checkbox]{width:18px;min-height:18px;margin:0;flex-shrink:0}.danger,.row-action.danger{background:#fff1ee;color:#ac3725;border-color:#e9bfb5}.actions{flex-wrap:wrap}#multiple-outputs label{margin:18px 0}@media(max-width:550px){#daily-products{grid-template-columns:1fr}}
#daily-products{display:flex;flex-direction:column;gap:10px}.allotment-row{display:grid;grid-template-columns:1fr 100px;gap:10px;align-items:center}#daily-products .allotment-row input[type=number]{width:100%;min-height:40px;padding:8px}.allotment-row label{min-width:0}#range-fields{margin-top:0}#range-error{font-size:14px}.toolbar{flex-wrap:wrap}

.jw-space{margin:22px 0}.jw-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.jw-summary{display:flex;flex-wrap:wrap;gap:24px;margin:24px 0}.jw-summary span,.jw-summary strong{display:block}.jw-summary span{font-size:13px;color:#647887;margin-bottom:8px}.jw-summary strong{font-size:22px}#jw-add-vendor{border-top:1px solid #dce5eb;margin-top:24px;padding-top:24px}#jobwork-view td{vertical-align:top}@media(max-width:650px){.jw-grid{grid-template-columns:1fr}}


#jobwork-view .jw-expanded-cell{max-width:none;padding:18px;background:#f1f5f8}#jobwork-view .jw-card-row{cursor:pointer}#jobwork-view .jw-card-row:hover{background:#edf7f6}#jobwork-view .jw-card-row button{white-space:nowrap}

#operations{display:flex;flex-direction:column;gap:24px}#operations>section{width:100%}.daily-abstract{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:20px}.daily-abstract span,.daily-abstract b{display:block}.daily-abstract span{color:#536779;font-size:13px}.daily-abstract b{font-size:18px;margin-top:4px}@media(max-width:700px){.daily-abstract{grid-template-columns:repeat(2,minmax(0,1fr))}}


.qc-date{max-width:240px;margin:22px 0}#qc-view input[type=checkbox]{width:20px;min-height:20px}#qc-view td input[type=number]{min-width:100px}#qc-view form>label{max-width:300px}#qc-view .plan-preview{margin:14px 0}


.size-consumption-grid{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:12px}.size-consumption-fields{min-width:0;margin:16px 0;padding:12px;border:1px solid #d6dee7;border-radius:8px}.size-consumption-grid input{width:100%;min-width:0}@media(max-width:650px){.size-consumption-grid{grid-template-columns:repeat(5,130px);overflow-x:auto}}

.size-width-matrix{width:100%;min-width:640px;table-layout:fixed}.size-width-matrix th,.size-width-matrix td{padding:8px;border:1px solid #d6dee7}.size-width-matrix input{width:100%;min-width:0;margin:0}.size-width-matrix thead th{background:#edf3f8}.size-width-matrix tbody th{background:#f4f7fa}

.size-width-matrix{width:max-content;min-width:100%;max-width:none}.size-width-matrix input{min-width:180px;max-width:none}.size-width-matrix th,.size-width-matrix td{padding:6px}


#finished-inward-fields,#grey-receipt-summary{grid-column:1/-1}

.program-header{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px}.program-item{margin:20px 0}.program-matrix{width:100%;min-width:0;border-collapse:collapse}.program-matrix th,.program-matrix td{border:1px solid #b7c4cf;padding:10px;text-align:center;vertical-align:middle}.program-matrix th:first-child{text-align:left;min-width:145px}.program-matrix thead th{background:#edf2f5}.program-matrix .program-style th{background:#e4edf4;color:#18394e}.program-matrix input{width:84px;min-width:60px;margin:0 auto 5px}.program-matrix small{display:block;font-size:11px}.program-allocation{background:#f5faf6}.program-saved{padding:12px 0;border-top:2px solid #d4dde4}.program-saved>h4{font-size:18px}@media(max-width:640px){.program-header{grid-template-columns:1fr}}

.cost-department-group{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:1px solid #d4dde4;border-radius:8px;padding:12px}.cost-department-group legend{font-weight:600;padding:0 6px}

.trim-master{margin:16px 0;padding:14px;border:1px solid #d4dde4;border-radius:8px}.trim-master-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.trim-master-box{background:#f5f8fa;padding:12px;border:1px solid #dce4e9;border-radius:6px}@media(max-width:600px){.trim-master-grid{grid-template-columns:1fr}}

.trim-size-boxes{display:flex;gap:6px;flex-wrap:wrap}.trim-size-boxes input{width:180px;min-width:180px}.trim-details-table td,.trim-details-table th{vertical-align:middle}.trim-details-table [data-trim-qty]{width:100px}.trim-details-table [data-trim-unit]{width:75px}

/* Production card selectors and quantity entries need full-size form controls. */
#daily-products:has([data-production-picker]){max-height:none;overflow:visible;min-width:0}
#daily-products:has([data-production-picker])>.panel{min-width:0}
#daily-products:has([data-production-picker]) label{flex-direction:column;align-items:stretch;font-size:14px}
#daily-products [data-card-planning]>.jw-grid{grid-template-columns:minmax(0,1fr)}
#daily-products input[data-card-quantity]{width:480px;max-width:100%;min-height:64px;font-size:26px;padding:12px 16px}
#daily-products input[data-production-qty]{width:160px;min-width:160px;min-height:56px;font-size:22px;padding:10px 14px}

.tracking-inward-filter{max-width:360px;margin:18px 0}
.tracking-inward-group{border:1px solid #cbd6de;border-radius:8px;margin:12px 0;overflow:hidden}
.tracking-inward-group>summary{cursor:pointer;padding:16px;background:#edf4f6;line-height:1.6}
.tracking-inward-group>summary strong{font-size:17px;margin-right:18px}
.tracking-inward-group>summary span{font-size:14px;color:#536779}
.tracking-inward-group .table-wrap{padding:8px}

.tracking-jobcard{margin:12px;border:1px solid #dce5eb;border-radius:6px;overflow:hidden}
.tracking-jobcard>summary{cursor:pointer;padding:12px;background:#f6f9fa;line-height:1.6}
.tracking-jobcard>summary strong{margin-right:16px}
.tracking-jobcard>summary span{font-size:14px;color:#536779}
.tracking-jobcard tbody tr:first-child{font-weight:700;background:#e8f3f3}
#processing-view textarea{font:inherit;width:100%;padding:12px;border:1px solid #cbd6de;border-radius:6px;resize:vertical}
#processing-view td{white-space:pre-wrap}

.po-grey-group{margin:16px 0;max-width:600px}#po-view summary{cursor:pointer;font-weight:600}
/* Pending orders: size matrix matching the supplied order planner. */
#sales-tables .order-group{margin:22px 0;border:1px solid #cbd5e1;border-radius:8px;padding:16px;background:#fff}
#sales-tables .order-group h3{margin:0 0 12px;padding-bottom:10px;border-bottom:2px solid #253b53}
#sales-tables .order-matrix{margin-bottom:18px;max-width:1100px}
#sales-tables .order-matrix h4{margin:12px 0 6px;font-size:16px}
#sales-tables .order-matrix table{min-width:620px;width:100%;border-collapse:collapse;table-layout:fixed}
#sales-tables .order-matrix th,#sales-tables .order-matrix td{border:1px solid #cbd5e1;padding:10px;text-align:center}
#sales-tables .order-matrix th:first-child,#sales-tables .order-matrix td:first-child{text-align:left;width:145px;white-space:normal}
#sales-tables .order-matrix th{background:#e8eef5;color:#152e48}
#sales-tables .order-matrix tbody tr:last-child{font-weight:700;background:#f1f5f9}
#sales-tables .order-matrix small{font-weight:400}
@media(max-width:700px){#sales-tables .order-matrix table{min-width:440px}#sales-tables .order-matrix th,#sales-tables .order-matrix td{padding:8px 4px;font-size:12px}#sales-tables .order-matrix th:first-child,#sales-tables .order-matrix td:first-child{width:90px}#sales-tables .order-group{padding:10px}}
#sales-tables .order-source-details{margin:0 0 28px}#sales-tables .order-source-details h4{margin:8px 0}#sales-tables .order-source-details table{min-width:960px}#sales-tables .order-source-details th,#sales-tables .order-source-details td{padding:8px 10px}

#sales-view .toolbar{flex-wrap:wrap}#sales-view .toolbar label{min-width:160px}#sales-tables .order-scroll-top{overflow-x:scroll;overflow-y:hidden;height:20px;margin-top:8px}#sales-tables .order-scroll-top>div{height:1px}

#sales-tables .order-matrix table{min-width:1450px;table-layout:auto}#sales-tables .order-matrix th,#sales-tables .order-matrix td{min-width:65px}#sales-tables .order-matrix td:nth-last-child(3){min-width:300px;text-align:left}#sales-tables .order-source-details table{min-width:1200px}

:is(#tracking-status-view,#outward-view,#well-plan-view) .status-inward{margin:20px 0;border:1px solid #b9cbd6;border-radius:8px;overflow:hidden;padding:0 16px 16px}:is(#tracking-status-view,#outward-view,#well-plan-view) .status-inward h4{margin:0 -16px 16px;padding:14px 16px;background:#143e55;color:#fff;font-size:18px}:is(#tracking-status-view,#outward-view,#well-plan-view) .status-inward h5{font-size:14px;margin:18px 0 8px}:is(#tracking-status-view,#outward-view,#well-plan-view) .status-inward th,:is(#tracking-status-view,#outward-view,#well-plan-view) .status-inward td{border:1px solid #cbd5e1;padding:9px 12px}:is(#tracking-status-view,#outward-view,#well-plan-view) .status-inward table{min-width:640px}:is(#tracking-status-view,#outward-view,#well-plan-view) .status-inward th{background:#e8eef5;color:#152e48}

#purchase-requirement{min-width:0}#purchase-requirement table{min-width:1500px}#purchase-requirement .purchase-scroll-top{overflow-x:scroll;overflow-y:hidden;height:22px;margin:12px 0 4px;scrollbar-color:#087e79 #e5edf1}#purchase-requirement .purchase-scroll-top>div{height:1px}#purchase-requirement .purchase-scroll-top:focus-visible{outline:3px solid #74c5c1}

.suggested-inward{border:1px solid #cbd6de;border-radius:8px;margin:20px 0;overflow:hidden}.suggested-inward h4{margin:0;padding:16px;background:#143e55;color:white;font-size:19px}.suggested-inward h4 span{float:right;font-size:15px}.suggested-inward>p,.suggested-inward .table-wrap{padding:0 16px}.suggested-inward th{background:#e8f3f3}.suggested-inward td,.suggested-inward th{border:1px solid #dce5eb}

#pending-trims-dialog{width:min(1200px,94vw);max-height:90vh;overflow:auto;border:1px solid #cbd6de;border-radius:10px;padding:22px;color:#172c3c}#pending-trims-dialog::backdrop{background:#102d4180}#close-pending-trims{float:right}#pending-trims-dialog table{min-width:950px}
/* Keep size-priority selection readable within each manufacturing group. */
.production-group-list { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
.production-group-list > [data-group-slot] { min-width: 0; }
[data-group-size-priority] input[data-subgroup-qty] { width: 150px; min-width: 150px; min-height: 44px; font-size: 18px; }
[data-group-size-priority] input[type="checkbox"] { width: 20px; height: 20px; }

.qc-top-scroll {overflow-x: auto; overflow-y: hidden; height: 20px; margin: 8px 0; }
#qc-view [data-qc-plan] table {min-width: 1600px;}

.easytime-save-bar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;margin-top:20px;background:#fff;border:2px solid #2563eb;border-radius:10px;box-shadow:0 -3px 12px #00000014}.easytime-save-bar p{margin:0}.easytime-save-bar button{flex-shrink:0}
.hr-salary-table { min-width: 1400px; }
.hr-salary-table th,.hr-salary-table td { border:1px solid #aaa; }
.hr-planned-payment { min-width:110px; width:110px; }
.hr-print-payment { display:none; }
.hr-signature { min-width:100px; }
@media print {
 body.printing-salary-list { background:white; page:salaryList; }
 body.printing-salary-list * { visibility:hidden; }
 body.printing-salary-list #hr-list-output,body.printing-salary-list #hr-list-output * { visibility:visible; }
 body.printing-salary-list #hr-list-output { position:absolute;left:0;top:0;width:100%;font-size:9px; color:black; }
 body.printing-salary-list #hr-list-output .table-wrap { overflow:visible; }
 body.printing-salary-list .hr-salary-table { min-width:0;width:100%;border-collapse:collapse;table-layout:auto;font-size:9px; }
 body.printing-salary-list .hr-salary-table th,body.printing-salary-list .hr-salary-table td { padding:5px 3px;white-space:normal;border:1px solid #555; }
 body.printing-salary-list .hr-salary-table thead { display:table-header-group; }
 body.printing-salary-list .hr-salary-table tr { break-inside:avoid; }
 body.printing-salary-list .hr-planned-payment { display:none; }
 body.printing-salary-list .hr-print-payment { display:inline; }
 body.printing-salary-list .hr-signature { min-width:60px; }
 body.printing-salary-list h3 { break-after:avoid; }
 @page salaryList { size:A4 landscape; margin:10mm; }
}
@media print {
 body.printing-employer-list { background:white;page:salaryList; }
 body.printing-employer-list * { visibility:hidden; }
 body.printing-employer-list #hr-employer-output,body.printing-employer-list #hr-employer-output * { visibility:visible; }
 body.printing-employer-list #hr-employer-output { position:absolute;left:0;top:0;width:100%;font-size:11px;color:black; }
 body.printing-employer-list .table-wrap { overflow:visible; }
 body.printing-employer-list table { width:100%;border-collapse:collapse; }
 body.printing-employer-list th,body.printing-employer-list td { border:1px solid #555;padding:6px; }
 body.printing-employer-list thead { display:table-header-group; }
 body.printing-employer-list tr { break-inside:avoid; }
}
.hr-employee-combo{position:relative;margin-bottom:12px}
.hr-employee-combo-field{display:flex;gap:0}
.hr-employee-combo-field input{flex:1;min-width:0;border-radius:6px 0 0 6px}
.hr-employee-combo-field button{width:48px;flex:none;border-radius:0 6px 6px 0}
#hr-employee-options{position:absolute;z-index:20;left:0;right:0;max-height:280px;overflow:auto;background:white;border:1px solid #aaa;box-shadow:0 4px 12px #0002}
#hr-employee-options button{display:block;width:100%;text-align:left;background:white;color:#182d38;border:0;border-radius:0;padding:12px}
#hr-employee-options button:hover,#hr-employee-options button[aria-selected=true]{background:#d7efed}
#hr-employee-options p{padding:12px}
.hr-employee-top-scroll{overflow-x:auto;overflow-y:hidden;height:20px;margin:8px 0 4px}
.hr-employee-top-scroll>div{height:1px}
#hr-employee-list table{min-width:1250px}
#interview-print-sheet { display:none; }
@page interviewForm { size:A4 portrait; margin:12mm; }
@media print {
 body.printing-interview { page:interviewForm; background:white; }
 body.printing-interview > *:not(#interview-print-sheet) { display:none !important; }
 body.printing-interview #interview-print-sheet { display:block; color:black; font-size:11px; }
 #interview-print-sheet h1 { font-size:20px; }
 #interview-print-sheet h2,#interview-print-sheet h3 { margin:12px 0 6px; break-after:avoid; }
 #interview-print-sheet .table-wrap { overflow:visible; }
 #interview-print-sheet table { width:100%; min-width:0; border-collapse:collapse; table-layout:fixed; }
 #interview-print-sheet th,#interview-print-sheet td { border:1px solid #333; padding:6px; white-space:normal; overflow-wrap:anywhere; min-height:20px; }
 #interview-print-sheet td:empty::after { content:'\00a0'; display:block; height:18px; }
 #interview-print-sheet tr { break-inside:avoid; }
}
#employee-rules-print { display:none; }
@page employeeRules { size:A4 portrait; margin:12mm; }
@media print {
 body.printing-employee-rules { page:employeeRules; background:white; }
 body.printing-employee-rules > *:not(#employee-rules-print) { display:none !important; }
 body.printing-employee-rules #employee-rules-print { display:block; color:black; font-size:12px; }
 #employee-rules-print img { display:block; max-width:100%; max-height:235mm; object-fit:contain; margin:auto; }
 #employee-rules-print h2 { font-size:18px; }
}
.employee-rules { margin:20px 0; padding:16px; border:1px solid #bdcbd2; border-radius:8px; }
.employee-rules label { display:block; margin:12px 0; }
.employee-rules details { margin-top:16px; }
.rules-category { border:1px solid #bdcbd2; padding:14px; margin:14px 0; border-radius:8px; }
.rules-category h4 { font-size:17px; margin:0 0 10px; }
.rules-category.rules-active { border:2px solid #147d70; background:#f2fbf8; }
@media print {
 #employee-rules-print .rules-print-page { break-after:page; }
 #employee-rules-print .rules-print-page:last-child { break-after:auto; }
 #employee-rules-print .rules-employee-header { width:100%;border-collapse:collapse;min-width:0;table-layout:fixed;margin-bottom:8px;font-size:11px; }
 #employee-rules-print .rules-employee-header th,#employee-rules-print .rules-employee-header td { border:1px solid #555;padding:4px;white-space:normal;overflow-wrap:anywhere; }
 #employee-rules-print .rules-employee-header th { width:26%; }
 #employee-rules-print img { max-height:185mm;max-width:100%;object-fit:contain; }
 #employee-rules-print h2 { margin:0 0 6px; }
 #employee-rules-print p { margin:5px 0; }
}
#employee-rules-print.rules-preview { display:block;position:fixed;inset:15px;z-index:10000;overflow:auto;background:white;color:#111;padding:20px;box-shadow:0 0 0 20px #0008; }
.rules-preview-controls { position:sticky;top:0;background:#fff;padding:12px;border-bottom:2px solid #147d70;z-index:1; }
.rules-preview .rules-print-page { max-width:750px;margin:20px auto; }
.rules-preview .rules-print-page img { max-width:100%; }
.rules-preview .rules-employee-header { min-width:0;width:100%; }
@media print {
 #employee-rules-print.rules-preview {position:static;overflow:visible;padding:0;box-shadow:none;}
 #employee-rules-print .rules-preview-controls {display:none;}
}
.rules-letter-text { white-space:pre-wrap; font-family:'Nirmala UI','Arial',sans-serif;font-size:14px;line-height:1.65; }
.employee-rules textarea { width:100%;box-sizing:border-box;font-family:'Nirmala UI','Arial',sans-serif; }
@media print { .rules-letter-text {font-size:11px;line-height:1.55;} }

#salary-punch-dialog { width:min(1200px,95vw);max-height:85vh;overflow:auto;border:1px solid #cbd6de;border-radius:10px;padding:24px; }
#salary-punch-dialog::backdrop { background:#102d4180; }
#salary-punch-dialog [data-close] { float:right; }
#salary-punch-dialog .table-wrap { overflow:auto; }
#salary-punch-dialog table { min-width:950px; }
#salary-punch-dialog td:nth-child(5) { min-width:260px;white-space:normal; }
@media print { [data-view-punches],#salary-punch-dialog { display:none!important; } }

.hr-salary-table .hr-signature { display:none; }
@media print { body.printing-salary-list .hr-salary-table .hr-signature { display:table-cell; } }

.hr-reminder-dialog{width:min(560px,92vw);border:1px solid #b9cdd5;border-radius:12px;padding:26px;max-height:85vh;overflow:auto}.hr-reminder-dialog::backdrop{background:#102d4180}.hr-reminder-dialog section{border-left:4px solid #087e79;padding-left:14px;margin:20px 0}

.admin-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.admin-dashboard-grid>section{min-width:0}@media(max-width:1100px){.admin-dashboard-grid{grid-template-columns:1fr}}

.subdepartment-allotment{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:12px 0}.subdepartment-allotment label{max-width:300px}.subdepartment-allotment output{font-weight:700;font-size:1.1rem}

#item-process-table input[type="checkbox"] { width: 16px; height: 16px; min-width: 16px; min-height: 16px; padding: 0; margin: 0; }
#item-process-table [data-process-rate] {width: 130px;}

.store-excel-plan{margin:16px 0 28px}.store-excel-plan h3{text-align:center}.store-excel-plan p{margin:8px 0}.store-allotment-table{border-collapse:collapse;min-width:720px;width:100%}.store-allotment-table th,.store-allotment-table td{border:1px solid #9ca3af;padding:8px}.store-allotment-table thead th{text-align:center}.store-allotment-table input{width:100%;min-width:65px;max-width:110px}.store-allotment-table .trim-category-heading th{text-align:left;background:#e8eef5;padding:12px 8px}

.admin-menu-heading{flex-basis:100%;margin:0 0 6px}.admin-department-menus{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin:14px 0}.admin-department-menus[hidden]{display:none}.admin-menu-group{border:1px solid #ccd5dd;border-radius:8px;padding:12px;background:#fff}.admin-menu-group h3{margin:0 0 10px}.admin-menu-group .view-switch{margin:0;flex-wrap:wrap}

.admin-department-menus{display:block}.admin-department-menus>.view-switch{margin-bottom:10px}

body:has(#admin-nav:not([hidden])){background:#e7f0fc;min-height:100vh}
@media print{body:has(#admin-nav:not([hidden])){background:#fff}}

.ai-image-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ai-image-options>div{border:1px solid #cbd5e1;border-radius:8px;padding:10px}.ai-image-options button{display:block}@media(max-width:650px){.ai-image-options{grid-template-columns:1fr}}

.fabric-reminder-dialog{width:min(1100px,94vw);max-height:88vh;overflow:auto;border:1px solid #c4d6e2;border-radius:12px;padding:24px}.fabric-reminder-dialog::backdrop{background:#102d4180}

.phone-reminder-dot::after{content:"";display:inline-block;width:9px;height:9px;background:#d52525;border:1px solid white;border-radius:50%;margin-left:7px}

.fabric-inward-cards{display:none}@media(max-width:700px){.fabric-inward-cards{display:grid;grid-template-columns:1fr;gap:10px;margin:12px 0}.fabric-inward-cards article{padding:14px;background:white;border:1px solid #cbd6de;border-radius:8px}.fabric-inward-cards p{margin:6px 0;font-size:14px}header{height:auto;min-height:76px;flex-wrap:wrap;gap:12px;padding-top:14px;padding-bottom:14px}.identity{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}}

/* Keep cutting quantities alongside their item details on phones. */
@media(max-width:700px){
 #daily-products .cutting-plan-table{overflow:visible;min-width:0;width:100%}
 #daily-products .cutting-plan-table table,#daily-products .cutting-plan-table tbody{display:block;min-width:0;width:100%}
 #daily-products .cutting-plan-table thead{display:none}
 #daily-products .cutting-plan-table tr{display:block;border:1px solid #cbd5e1;border-radius:10px;margin:12px 0;padding:12px;background:#fff}
 #daily-products .cutting-plan-table td{display:grid;grid-template-columns:minmax(95px,38%) minmax(0,1fr);gap:8px;width:auto;min-width:0;white-space:normal;overflow-wrap:anywhere;padding:7px 0;border:0}
 #daily-products .cutting-plan-table td::before{content:attr(data-label);font-weight:600;color:#334155}
 #daily-products .cutting-plan-table td:last-child{display:block;background:#eef9f8;padding:12px;border-radius:8px;margin-top:8px}
 #daily-products .cutting-plan-table td:last-child::before{display:block;margin-bottom:8px}
 #daily-products .cutting-plan-table input[data-cut-qty]{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:48px;font-size:20px;font-weight:600;color:#102a43;background:#fff;border:2px solid #087f79;padding:10px}
}
/* Keep editable values readable; scroll wide grids instead of squeezing fields. */
@media screen {
 input[type="number"],input[inputmode="decimal"],input[inputmode="numeric"]{font-size:18px;min-height:52px;padding:10px 12px;font-variant-numeric:tabular-nums}
 table input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="color"]):not([type="file"]):not([type="range"]):not([type="button"]):not([type="submit"]){min-width:150px!important;max-width:none!important;min-height:52px;font-size:18px;padding:10px 12px}
 table input[type="number"],table input[inputmode="decimal"],table input[inputmode="numeric"]{width:160px!important;color:#172c3c;background:#fff}
 table:has(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"])){table-layout:auto}
 .table-wrap{max-width:100%;overflow-x:auto}
 .size-width-matrix th,.size-width-matrix td{min-width:178px}
}
/* Quantity fields must not collapse when the plan table has many columns. */
#daily-products .cutting-plan-table td:last-child,
#daily-products .cutting-plan-table th:last-child{min-width:170px}
#daily-products .cutting-plan-table input[data-cut-qty]{box-sizing:border-box;display:block;width:150px!important;min-width:150px!important;max-width:none;min-height:54px;padding:10px 12px;font-size:22px;line-height:1.3;font-weight:700;color:#102a43;background:#fff;border:2px solid #087f79;text-align:center}
@media(max-width:700px){
 #daily-products .cutting-plan-table td:last-child{min-width:0}
 #daily-products .cutting-plan-table input[data-cut-qty]{width:100%!important;min-width:140px!important;min-height:56px}
}

/* Readable number controls in tables, flex layouts and grids. */
@media screen {
 input[type=number]{min-width:180px!important;min-height:56px!important;font-size:22px!important;line-height:1.35!important;padding:12px!important;box-sizing:border-box;appearance:textfield;-moz-appearance:textfield;flex-shrink:0;color:#172c3c;background:#fff}
 input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
 .size-consumption-grid{grid-template-columns:repeat(5,minmax(200px,1fr));overflow-x:auto}
 #daily-products:has(.cutting-plan-table){max-height:none;overflow:visible;min-width:0}
 #daily-products .cutting-plan-table{max-height:none;min-width:0;width:100%;overflow-x:auto}
 #daily-products .cutting-plan-table input[data-cut-qty]{width:220px!important;min-width:220px!important;max-width:none!important;min-height:64px!important;font-size:26px!important;text-align:left}
 #daily-products .cutting-plan-table th:last-child,#daily-products .cutting-plan-table td:last-child{min-width:250px}
 @media(max-width:700px){
  #daily-products .cutting-plan-table td:last-child{min-width:0}
  #daily-products .cutting-plan-table input[data-cut-qty]{width:100%!important;min-width:180px!important}
 }
}

/* Grid children and fieldsets must be allowed to fit a phone viewport. */
@media screen {
 .workspace,.workspace>.panel,.product-choices,#morning-form,#cutting-builder{min-width:0;max-width:100%}
 .product-choices{min-inline-size:0}
 @media(max-width:700px){
  #operations{grid-template-columns:minmax(0,1fr)}
  #operations>.panel{padding:12px}
  #daily-products .cutting-plan-table tr{margin:10px 0;padding:10px}
  #daily-products .cutting-plan-table td:last-child{padding:8px}
  #daily-products .cutting-plan-table input[data-cut-qty]{min-width:0!important;width:100%!important}
 }
}
