@import url('https://fonts.googleapis.com/css2?family=Bai+Jamjuree:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;1,400;1,700&display=swap');
*{box-sizing:border-box}html,body{font-family:'Bai Jamjuree',sans-serif}body{margin:0;background:#eaf1ff;color:#111827}button,input,select,textarea{font-family:inherit}.main-nav{background:#1e3a5f;padding:12px 24px;display:flex;gap:16px;align-items:center}.nav-item{color:#fff;text-decoration:none;padding:8px 20px;border-radius:6px;font-weight:700;font-size:15px;transition:background 0.2s;cursor:pointer}.nav-item:hover,.nav-item.active{background:#2563eb}.menu-page{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:40px 20px}.menu-container{background:#fff;border-radius:16px;padding:50px 40px;box-shadow:0 8px 30px rgba(0,0,0,.1);text-align:center;max-width:500px;width:100%}.menu-title{font-size:28px;font-weight:700;color:#111827;margin:0 0 40px}.menu-buttons{display:flex;flex-direction:column;gap:16px}.menu-btn{border:none;border-radius:10px;color:#fff;font-size:18px;font-weight:700;padding:18px 30px;cursor:pointer;transition:transform 0.1s,box-shadow 0.2s}.menu-btn:hover{transform:scale(1.02);box-shadow:0 4px 12px rgba(0,0,0,.2)}.green-menu{background:#4caf50}.blue-menu{background:#2196f3}.orange-menu{background:#ff9800}.purple-menu{background:#7c3aed}.cyan-menu{background:#38bdf8}.dark-menu{background:#374151}.home-user-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.home-user{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#334155;text-align:left}.home-user-icon{flex-shrink:0}.home-logout{background:none;border:none;color:#94a3b8;font-size:13px;cursor:pointer;padding:0}.home-logout:hover{color:#64748b;text-decoration:underline}.home-title{margin:12px 0 32px;color:#0f172a}.admin-employee-list{list-style:none;margin:0 0 8px;padding:0;text-align:left;max-height:360px;overflow:auto}.admin-employee-list li{padding:10px 12px;border-bottom:1px solid #e2e8f0;font-size:14px;color:#334155}.back-btn{background:none;border:2px solid #fff;color:#fff;padding:8px 18px;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer;margin-bottom:12px;transition:background 0.2s}.back-btn:hover{background:rgba(255,255,255,0.2)}.hero{background:linear-gradient(120deg,#16a34a,#15803d);color:#fff;padding:22px 18px}.hero h1{margin:0;font-size:26px}.hero p{margin:5px 0 0}.container{max-width:980px;margin:0 auto;padding:24px 16px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.tab{border:1px solid #dbe3f0;background:#eef4ff;border-radius:8px;padding:12px 26px;cursor:pointer;box-shadow:0 1px 4px #ccd}.tab.active{background:#fff;box-shadow:0 4px 12px #ccd;font-weight:700}.card{background:#fff;border-radius:8px;padding:28px 30px;margin-bottom:24px;box-shadow:0 6px 18px rgba(31,41,55,.12)}.tab-content{display:none}.tab-content.active{display:block}h2{font-size:22px;margin:0 0 24px}.blue h2{color:#16a34a}.green h2{color:#16a34a}.purple h2{color:#9333ea}.orange h2{color:#f97316}.remark h2{color:#ef4444}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px}label{display:flex;flex-direction:column;font-size:14px;font-weight:700;gap:8px}input,select,textarea{width:100%;padding:11px;border:1px solid #cbd5e1;border-radius:7px;font-size:15px;background:#fff}textarea{min-height:125px;resize:vertical}.save,.primary,.secondary{border:0;border-radius:8px;color:#fff;font-weight:700;padding:12px 24px;margin-top:22px;cursor:pointer}.blue-btn,.primary{background:linear-gradient(90deg,#16a34a,#15803d)}.green-btn{background:#16a34a}.purple-btn{background:#9333ea}.orange-btn{background:#f97316}.secondary{background:#d1d5db;color:#374151}.actions{text-align:center;margin-bottom:28px}.actions button{margin:0 8px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #e5e7eb;padding:10px;text-align:left;font-size:14px}th{background:#f8fafc}#summary{max-width:none}#summary .card,#summary{width:100%}#summary .table-wrap{overflow-x:auto;max-width:100vw}#summary table{min-width:100%;font-size:12px;white-space:nowrap}#summary th,#summary td{padding:8px 12px}.thai-date-text{cursor:pointer}.edit-btn,.delete-btn{border:none;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:700}.edit-btn{background:#2196f3;color:#fff}.delete-btn{background:#ef4444;color:#fff}.edit-btn:hover{background:#1976d2}.delete-btn:hover{background:#dc2626}@media(max-width:760px){.grid{grid-template-columns:1fr}.hero h1{font-size:21px}.card{padding:20px}.tab{padding:10px 14px}}

/* หน้าการผสมแป้ง */
.flour-form{display:flex;flex-direction:column;gap:0}
.flour-work-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px rgba(15,23,42,.12);border:1px solid #e2e8f0}
.flour-work-header{background:#2563eb;color:#fff;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;min-height:58px}
.flour-work-header-left{display:flex;align-items:center;gap:12px}
.flour-work-header-title{font-size:18px;font-weight:800;line-height:1.2}
.flour-work-header-sub{font-size:13px;opacity:.9;margin-top:2px}
.flour-work-summary{display:flex;flex-wrap:wrap;gap:8px 16px;padding:12px 18px 0;color:#475569;font-size:13px}
.flour-work-summary strong{color:#0f172a}
.flour-work-body{display:flex;flex-direction:column;gap:10px;padding:14px 16px 8px}
.flour-acc{border-radius:12px}
.flour-work-item{display:flex;align-items:center;gap:12px;width:100%;border:1.5px solid;border-radius:12px;padding:14px 16px;background:#fff;cursor:pointer;font-weight:700;font-size:16px;text-align:left}
.flour-work-icon{font-size:20px;width:28px;text-align:center}
.flour-work-label{flex:1}
.flour-work-badge{min-width:26px;height:26px;padding:0 7px;border-radius:999px;color:#fff;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.flour-work-chevron{font-size:12px;opacity:.85;transition:transform 0.15s ease;display:inline-block}
.flour-acc-panel{display:none;padding:14px 16px 16px;border:1.5px dashed;border-top:0;border-radius:0 0 12px 12px}
.flour-acc.is-open .flour-work-item{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent}
.flour-acc.is-open .flour-acc-panel{display:block}
.flour-acc.is-open .flour-work-chevron{transform:rotate(90deg)}
.flour-acc--blue .flour-acc-panel{background:#f5f9ff;border-color:#93c5fd}
.flour-acc--green .flour-acc-panel{background:#f3fdf6;border-color:#86efac}
.flour-acc--orange .flour-acc-panel{background:#fffaf3;border-color:#fdba74}
.flour-acc--red .flour-acc-panel{background:#fff5f6;border-color:#fda4af}
.flour-acc--purple .flour-acc-panel{background:#f8f5ff;border-color:#c4b5fd}
.flour-acc--slate .flour-acc-panel{background:#f8fafc;border-color:#cbd5e1}
.flour-acc .flour-section{background:transparent;border:0;padding:0}
.flour-acc .flour-section-title{display:none}
.flour-work-item--blue{background:#eef6ff;border-color:#93c5fd;color:#1d4ed8}
.flour-work-item--blue .flour-work-badge{background:#2563eb}
.flour-work-item--blue .flour-work-chevron{color:#2563eb}
.flour-work-item--green{background:#ecfdf3;border-color:#86efac;color:#15803d}
.flour-work-item--green .flour-work-badge{background:#16a34a}
.flour-work-item--green .flour-work-chevron{color:#16a34a}
.flour-work-item--orange{background:#fff7ed;border-color:#fdba74;color:#c2410c}
.flour-work-item--orange .flour-work-badge{background:#ea580c}
.flour-work-item--orange .flour-work-chevron{color:#ea580c}
.flour-work-item--red{background:#fff1f2;border-color:#fda4af;color:#be123c}
.flour-work-item--red .flour-work-badge{background:#e11d48}
.flour-work-item--red .flour-work-chevron{color:#e11d48}
.flour-work-item--purple{background:#f5f3ff;border-color:#c4b5fd;color:#6d28d9}
.flour-work-item--purple .flour-work-badge{background:#7c3aed}
.flour-work-item--purple .flour-work-chevron{color:#7c3aed}
.flour-work-item--slate{background:#f8fafc;border-color:#cbd5e1;color:#334155}
.flour-work-item--slate .flour-work-badge{background:#64748b}
.flour-work-item--slate .flour-work-chevron{color:#64748b}
.flour-work-item:hover{filter:brightness(0.98)}
.flour-work-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 16px 16px;border-top:1px solid #e2e8f0;background:#fff}
.flour-work-btn{border:0;border-radius:8px;padding:10px 18px;font-weight:700;cursor:pointer;font-size:14px}
.flour-work-btn--cancel{background:#e2e8f0;color:#334155}
.flour-work-btn--save{background:#2563eb;color:#fff}
.flour-ok-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:10100;align-items:center;justify-content:center;padding:16px}
.flour-ok-overlay.is-open{display:flex}
.flour-ok-box{background:#fff;border-radius:16px;padding:28px 24px 22px;width:100%;max-width:360px;text-align:center;box-shadow:0 16px 40px rgba(15,23,42,.22)}
.flour-ok-icon{width:52px;height:52px;margin:0 auto 12px;border-radius:999px;background:#dcfce7;color:#16a34a;font-size:28px;font-weight:800;display:flex;align-items:center;justify-content:center}
.flour-ok-icon--error{background:#fee2e2;color:#dc2626}
.flour-ok-icon--confirm{background:#fef3c7;color:#d97706}
.flour-ok-box h3{margin:0 0 18px;font-size:18px;color:#0f172a;white-space:pre-wrap;line-height:1.45}
.flour-ok-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.flour-ok-btn{border:0;border-radius:999px;background:#7c3aed;color:#fff;font-weight:700;padding:10px 28px;cursor:pointer;font-size:15px}
.flour-ok-btn:hover{background:#6d28d9}
.flour-ok-btn--ghost{background:#e2e8f0;color:#334155}
.flour-ok-btn--ghost:hover{background:#cbd5e1}
.saving-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:10200;align-items:center;justify-content:center;padding:16px}
.saving-overlay.is-open{display:flex}
.saving-box{background:#fff;border-radius:16px;padding:28px 32px;text-align:center;min-width:260px;box-shadow:0 16px 40px rgba(15,23,42,.25)}
.saving-spinner{width:44px;height:44px;margin:0 auto 14px;border:4px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:saving-spin .8s linear infinite}
@keyframes saving-spin{to{transform:rotate(360deg)}}
.saving-box p{margin:0;font-weight:700;color:#0f172a;font-size:16px}
.flour-record-page{display:flex;flex-direction:column;gap:14px}
.flour-title-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#c2410c;color:#fff;padding:12px 16px;border-radius:10px}
.flour-title-bar h3{margin:0;font-size:18px}
#flour-add-btn,#materials-save-btn,#plan-add-btn{background:#fff;color:#c2410c;border:none;border-radius:8px;padding:8px 14px;font-weight:700;cursor:pointer}
.materials-page{display:flex;flex-direction:column;gap:12px}
.materials-page .flour-list-card{display:flex;flex-direction:column;gap:16px}
.materials-page .flour-toolbar{margin-bottom:0}
.materials-page .flour-section{background:#fff}
.materials-page .flour-section--summary{margin-top:0}
.materials-meta{padding:0 0 4px}
.flour-list-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px}
.flour-list-title{margin:0 0 12px;font-size:16px;color:#c2410c}
.flour-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:12px}
.flour-search{flex:1 1 220px;width:auto;min-width:220px;padding:9px 12px;border:1px solid #cbd5e1;border-radius:8px}
.flour-data-tabs{display:flex;border-bottom:2px solid #e2e8f0;margin:0 0 10px}
.flour-data-tab{flex:1;border:none;background:#fff;padding:12px;font-weight:600;font-size:14px;color:#94a3b8;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px}
.flour-data-tab.is-active[data-flour-tab="incomplete"]{color:#f59e0b;border-bottom-color:#f59e0b}
.flour-data-tab.is-active[data-flour-tab="complete"]{color:#16a34a;border-bottom-color:#16a34a}
.flour-data-panel{max-height:60vh;overflow:auto}
.flour-record-table .group-header td{background:#e8f5e9;padding:10px 12px;border:none}
.flour-machine-badge{display:inline-flex;align-items:center;gap:6px;background:#2e7d32;color:#fff;font-size:16px;font-weight:700;padding:6px 16px;border-radius:24px}
.flour-machine-meta{margin-left:10px;font-size:13px;color:#558b2f;font-weight:600}
.flour-record-table th.th-focus{color:#166534;font-weight:700}
.flour-record-table .cell-focus-noodle{font-size:15px;font-weight:700;color:#1b5e20;border-left:4px solid #4caf50;padding-left:10px;background:#f1f8f2}
.flour-record-table .cell-focus-noodle.is-missing{background:#fff3e0;color:#e65100;border-left-color:#ff9800}
.flour-record-table tr.data-row{cursor:pointer}
.flour-record-table tr.data-row:hover{background:#e8f5e9}
.flour-date-nav{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;flex:0 0 auto}
.flour-date-arrow,.flour-today-btn{width:auto;flex:0 0 auto;border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:8px 12px;font-weight:700;cursor:pointer}
.flour-today-btn{background:#ea580c;color:#fff;border-color:#ea580c}
.flour-date-nav .flour-date-input{width:auto;min-width:158px;flex:0 0 auto;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px}
.flour-table-wrap{overflow:auto}
.flour-record-table{width:100%;border-collapse:collapse;border:none;font-size:14px}
.flour-record-table th{background:#fff7ed;color:#9a3412;padding:10px 8px;border:none;text-align:left}
.flour-record-table td{padding:9px 8px;border:none}
.flour-record-table td.empty{text-align:center;color:#94a3b8;padding:28px}
.flour-work-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:9000;align-items:flex-start;justify-content:center;padding:16px;overflow:auto}
.flour-work-overlay.is-open{display:flex}
.flour-work-overlay .flour-work-card{width:100%;max-width:980px;margin:12px auto 32px}
.flour-work-close{border:none;background:rgba(255,255,255,.18);color:#fff;border-radius:8px;font-size:24px;cursor:pointer;line-height:1;padding:4px 12px}
.flour-work-close:hover{background:rgba(255,255,255,.3)}
body.flour-modal-open{overflow:hidden}
body.wip-flour-page #form-page .actions,
body.wip-materials-page #form-page .actions{display:none !important}
.flour-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px 22px}
.flour-section-title{margin:0 0 16px;font-size:15px;font-weight:700;color:#f97316;display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:2px solid #fed7aa}
.flour-section-title--purple{color:#6d28d9;border-bottom-color:#ddd6fe}
.flour-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 20px;align-items:start}
.flour-section .flour-grid + .flour-grid{margin-top:16px}
.flour-grid-3{grid-template-columns:repeat(3,1fr)}
.flour-grid-2{grid-template-columns:repeat(2,1fr)}
.flour-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.flour-date-wrap{position:relative}
.flour-date-picker{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;background:transparent;color:transparent;opacity:1;cursor:pointer;z-index:2}
.flour-date-picker::-webkit-calendar-picker-indicator{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;background:transparent;opacity:0;cursor:pointer}
.flour-date-wrap .thai-date-text{pointer-events:none}
.flour-date-wrap:focus-within .flour-input{border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,0.15)}
.flour-label{font-size:13px;font-weight:700;color:#334155;line-height:1.35}
.flour-input{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:15px;background:#fff;transition:border-color 0.15s,box-shadow 0.15s}
.flour-input:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,0.15)}
.flour-input--readonly{background:#f1f5f9;color:#475569;cursor:default}
.flour-input--action{background:#fff7ed;border-color:#fdba74;cursor:pointer;font-weight:600;color:#c2410c}
.flour-input--action:hover{background:#ffedd5;border-color:#f97316}
.flour-input--highlight{background:#fff7ed;border-color:#fdba74;font-weight:700;color:#c2410c;font-size:16px}
.flour-hint{margin-top:2px;font-size:12px;color:#0ea5e9;min-height:18px}
.flour-summary-box{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:16px 20px;padding:16px;background:#fff;border:1px dashed #fdba74;border-radius:10px}
.flour-waste-box{margin-top:18px;padding:14px 16px;background:#fff1f2;border:1px dashed #fda4af;border-radius:10px}
.flour-waste-box .flour-grid{grid-template-columns:repeat(4,1fr)}
.flour-waste-total{background:#ffe4e6;border-color:#fda4af;font-weight:800;color:#9f1239;cursor:default}
.flour-subsection-title{margin:0 0 12px;font-size:14px;font-weight:800;color:#be123c;display:flex;align-items:center;gap:8px}
.flour-weight-ref{background:#fff7ed;color:#c2410c;padding:10px 14px;border-radius:8px;margin-bottom:14px;font-size:14px;font-weight:700}
.flour-pct-label{color:#ea580c;font-weight:800;font-size:12px}
.flour-mix-overlay{position:fixed;inset:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:9999;align-items:center;justify-content:center;padding:12px}
.flour-mix-dialog{background:#fff;border-radius:12px;padding:24px;width:100%;max-width:1240px;max-height:80vh;overflow:auto}
.flour-mix-title{margin:0 0 8px;color:#f97316}
.flour-mix-grid-wrap{overflow:auto;-webkit-overflow-scrolling:touch}
.flour-mix-head,.flour-mix-row{display:grid;grid-template-columns:0.7fr 0.9fr 0.9fr 0.9fr 0.9fr 0.75fr 0.75fr 1.5fr 42px;gap:8px;align-items:center;min-width:920px}
.flour-mix-head{position:sticky;top:0;z-index:1;background:#fff;padding:0 0 8px;margin-bottom:4px;font-size:12px;font-weight:700;color:#334155;border-bottom:1px solid #e2e8f0}
.flour-mix-row{margin-bottom:8px}
.flour-mix-row input{width:100%;padding:8px;border:1px solid #cbd5e1;border-radius:6px}
.flour-mix-row input.mix-no{text-align:center;font-weight:700;background:#f8fafc;color:#0f172a}
.flour-mix-row input.mix-tank-no{text-align:center;font-weight:700;background:#fff;color:#0f172a}
.flour-mix-tank-hint{margin:0 0 12px;color:#c2410c;font-size:12px;line-height:1.5}
.flour-mix-del{padding:8px 0;background:#ef4444;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:700;width:42px}
.flour-mix-count{margin:0 0 12px;color:#64748b;font-size:13px}
.flour-mix-add-btn{margin-top:12px;padding:10px 20px;background:#16a34a;color:#fff;border:none;border-radius:6px;font-weight:700;cursor:pointer;font-size:14px}
.flour-mix-actions{margin-top:20px;display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}
.flour-mix-save-btn{padding:10px 24px;background:#0ea5e9;color:#fff;border:none;border-radius:6px;font-weight:700;cursor:pointer}
.flour-mix-cancel-btn{padding:10px 24px;background:#ef4444;color:#fff;border:none;border-radius:6px;font-weight:700;cursor:pointer}
#flour-mix-modal.hide-extra-flour .flour-mix-head,
#flour-mix-modal.hide-extra-flour .flour-mix-row{grid-template-columns:0.7fr 1fr 1fr 0.8fr 0.8fr 1.5fr 42px;min-width:680px}
#flour-mix-modal.hide-extra-flour .mix-col-extra,
#flour-mix-modal.hide-extra-flour .mix-1305,
#flour-mix-modal.hide-extra-flour .mix-707{display:none}

/* Modal บรรจุเส้น / จำนวนที่ผลิตได้ */
.pack-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:10050;align-items:center;justify-content:center;padding:16px}
.pack-card{background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:90vh;overflow:auto;box-shadow:0 20px 50px rgba(15,23,42,.22)}
.pack-header{background:#16a34a;color:#fff;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.pack-header-title{font-size:17px;font-weight:800}
.pack-close{border:none;background:rgba(255,255,255,.18);color:#fff;border-radius:8px;font-size:22px;cursor:pointer;line-height:1;padding:4px 10px}
.pack-close:hover{background:rgba(255,255,255,.3)}
.pack-body{padding:16px;display:flex;flex-direction:column;gap:14px}
.pack-box{border:1px solid #e2e8f0;border-radius:12px;padding:14px}
.pack-box-title{margin:0 0 12px;font-size:15px;font-weight:800;color:#334155;display:flex;align-items:center;gap:8px}
.pack-plus{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#7c3aed;color:#fff;font-size:16px;font-weight:800;line-height:1}
.pack-label{font-size:13px;font-weight:700;color:#334155;display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.pack-add-btn{width:100%;border:none;background:#16a34a;color:#fff;border-radius:8px;padding:11px 14px;font-weight:800;cursor:pointer;font-size:15px}
.pack-add-btn:hover{filter:brightness(1.05)}
.pack-list{min-height:72px;display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.pack-empty{text-align:center;color:#94a3b8;padding:22px 8px;font-size:14px}
.pack-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}
.pack-row-name{font-weight:700;color:#334155;font-size:14px}
.pack-row-qty{font-weight:800;color:#166534;white-space:nowrap}
.pack-row-del{border:none;background:#ef4444;color:#fff;border-radius:6px;width:28px;height:28px;cursor:pointer;font-weight:800}
.pack-sum{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:8px;font-weight:700;margin-top:6px}
.pack-sum--good{background:#dcfce7;color:#166534}
.pack-sum--remain{background:#ffedd5;color:#c2410c}
.pack-footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 16px 16px}
.pack-btn{border:none;border-radius:8px;padding:10px 16px;font-weight:800;cursor:pointer;font-size:14px}
.pack-btn--cancel{background:#e2e8f0;color:#334155}
.pack-btn--save{background:#16a34a;color:#fff}
@media(max-width:900px){.flour-grid,.flour-grid-3,.flour-summary-box,.flour-waste-box .flour-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.flour-grid,.flour-grid-3,.flour-grid-2,.flour-summary-box,.flour-waste-box .flour-grid{grid-template-columns:1fr}}

/* หน้ายอดผลิตแบบ WIP4 */
.yield-record-page{display:flex;flex-direction:column;gap:14px}
.yield-inner-tabs{display:flex;gap:8px;flex-wrap:wrap}
.yield-inner-tab{border:none;background:#e8f5e9;color:#166534;padding:10px 18px;border-radius:8px;font-weight:700;cursor:pointer}
.yield-inner-tab.active{background:#16a34a;color:#fff}
.yield-title-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#166534;color:#fff;padding:12px 16px;border-radius:10px}
.yield-title-bar h3{margin:0;font-size:18px}
.yield-title-bar button,#yield-add-btn{background:#fff;color:#166534;border:none;border-radius:8px;padding:8px 14px;font-weight:700;cursor:pointer}
.yield-stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.yield-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px}
.yield-stat-label{font-size:13px;color:#64748b;font-weight:600}
.yield-stat-value{font-size:28px;font-weight:800;color:#0f172a;line-height:1.2}
.yield-stat-value--date{font-size:22px}
.yield-list-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px}
.yield-list-title{margin:0 0 12px;font-size:16px;color:#166534}
.yield-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:12px}
.yield-date-nav{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;flex:0 0 auto}
.yield-date-nav .yield-date-input{width:auto;min-width:158px;flex:0 0 auto;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px}
.yield-date-arrow,.yield-today-btn{width:auto;flex:0 0 auto;border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:8px 12px;font-weight:700;cursor:pointer}
.yield-today-btn{background:#16a34a;color:#fff;border-color:#16a34a}
.yield-search{flex:1 1 220px;width:auto;min-width:220px;padding:9px 12px;border:1px solid #cbd5e1;border-radius:8px}
.yield-filter-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:2px solid #e2e8f0;margin-bottom:10px}
.yield-filter-tab{border:none;background:transparent;padding:10px 12px;font-weight:700;color:#64748b;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px}
.yield-filter-tab.active{color:#ea580c;border-bottom-color:#ea580c}
.yield-table-wrap{overflow:auto}
.yield-record-table{width:100%;border-collapse:collapse;font-size:14px}
.yield-record-table th{background:#f0fdf4;color:#166534;padding:10px 8px;border:1px solid #bbf7d0;text-align:left}
.yield-record-table td{padding:9px 8px;border:1px solid #e2e8f0}
.yield-record-table td.empty{text-align:center;color:#94a3b8;padding:28px}
.yield-record-table--mix{min-width:1400px;font-size:12px;white-space:nowrap}
.yield-record-table--mix-list{min-width:1480px;font-size:13px;white-space:nowrap}
.yield-record-table tr.data-row{cursor:pointer}
.yield-record-table tr.data-row:hover{background:#e8f5e9}
.yield-row-actions{display:flex;gap:6px;align-items:center}
.yield-record-table--mix th,.yield-record-table--mix td,
.yield-record-table--mix-list th,.yield-record-table--mix-list td{padding:8px 6px}
.yield-group-row td{background:#166534;color:#fff;font-weight:700}
.yield-modal-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,0.45);z-index:9999;align-items:center;justify-content:center;padding:16px}
.yield-modal-card{background:#fff;border-radius:16px;padding:22px;width:100%;max-width:960px;max-height:90vh;overflow:auto}
.yield-modal-card--mix{max-width:1100px}
.yield-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.yield-modal-header h3{margin:0;color:#166534}
.yield-modal-close{border:none;background:#f1f5f9;border-radius:8px;font-size:22px;cursor:pointer;line-height:1;padding:4px 10px}
.yield-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.yield-modal-grid--top{grid-template-columns:repeat(4,1fr);margin-bottom:14px}
.yield-modal-grid--metrics{grid-template-columns:repeat(3,1fr);margin-top:14px}
.yield-modal-grid--mix{grid-template-columns:repeat(4,1fr);gap:12px 14px}
.yield-modal-grid--mix .mix-field-remark{grid-column:span 1}
.yield-modal-grid--mix input,.yield-modal-grid--mix select{width:100%}
.yield-modal-grid--mix input::placeholder{color:#94a3b8;font-weight:500}
.mix-time24-wrap{position:relative;display:block}
.mix-time24-wrap .mix-time24-input{padding-right:40px;letter-spacing:.04em}
.mix-time24-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:32px;height:32px;margin:0;padding:0;border:0;background:transparent;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px}
.mix-time24-toggle:hover{color:#0f172a;background:#f1f5f9}
.mix-time24-pop{display:none;position:fixed;z-index:10070;background:#fff;border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 12px 32px rgba(15,23,42,.18);padding:8px}
.mix-time24-pop.is-open{display:block}
.mix-time24-panel{display:flex;gap:6px}
.mix-time24-col{width:72px}
.mix-time24-col-title{font-size:11px;font-weight:700;color:#64748b;text-align:center;padding:2px 0 6px}
.mix-time24-list{max-height:220px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px;padding:4px}
.mix-time24-item{display:block;width:100%;border:0;background:transparent;padding:7px 0;border-radius:6px;cursor:pointer;font-weight:700;color:#334155;font-size:14px}
.mix-time24-item:hover:not(.is-active){background:#f0fdf4}
.mix-time24-item.is-active{background:#16a34a;color:#fff}
#mix-add-lot{background:#f1f5f9;color:#475569;cursor:default}
.mix-ingredient-field.is-mismatch input{border-color:#ef4444;color:#dc2626;font-weight:700}
.mix-std-hint{display:block;margin-top:4px;font-size:12px;font-weight:600;color:#dc2626;line-height:1.35}
.mix-std-hint[hidden]{display:none}
.mix-reason-link{color:#dc2626;cursor:pointer;text-decoration:underline;font-weight:700}
.mix-reason-view-box{max-width:480px}
.mix-reason-view-block{margin:0 0 14px}
.mix-reason-view-label{font-size:13px;font-weight:700;color:#64748b;margin-bottom:6px}
.mix-reason-view-text{margin:0;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;color:#0f172a;white-space:pre-wrap;line-height:1.5;min-height:48px}
.mix-mismatch-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:10050;align-items:center;justify-content:center;padding:16px}
.mix-mismatch-box{background:#fff;border-radius:16px;padding:22px;width:100%;max-width:560px;max-height:90vh;overflow:auto;box-shadow:0 16px 40px rgba(15,23,42,.2)}
.mix-mismatch-box h3{margin:0;color:#dc2626;font-size:22px;display:flex;align-items:center;gap:8px}
.mix-mismatch-lead{color:#64748b;margin:8px 0 16px;font-size:14px}
.mix-mismatch-item{border:1px solid #fecaca;border-radius:12px;padding:14px;margin-bottom:12px;background:#fff}
.mix-mismatch-item-title{font-weight:800;color:#0f172a;margin-bottom:4px}
.mix-mismatch-item-meta{color:#dc2626;font-size:13px;font-weight:600;margin:0 0 10px}
.mix-mismatch-item textarea{min-height:72px;resize:vertical}
.mix-mismatch-field{display:flex;flex-direction:column;gap:4px;margin-top:8px;font-size:13px;font-weight:700;color:#334155}
.mix-mismatch-cancel-btn{background:#94a3b8;color:#fff;border:none;border-radius:8px;padding:10px 18px;font-weight:700;cursor:pointer}
.mix-mismatch-confirm-btn{background:#16a34a;color:#fff;border:none;border-radius:8px;padding:10px 18px;font-weight:700;cursor:pointer}
#mix-add-flour-water-level{cursor:pointer;background:#fff}
.mix-level-box{max-width:480px}
.mix-level-box h3{color:#166534}
.mix-level-option{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:10px;border:1px solid #cbd5e1;border-radius:12px;padding:12px 14px;margin-bottom:10px;cursor:pointer;background:#fff;white-space:nowrap}
.mix-level-option:has(input[type=radio]:checked){border-color:#16a34a;background:#f0fdf4}
.mix-level-option input[type=radio]{width:auto;flex:0 0 auto;margin:0;accent-color:#16a34a}
.mix-level-option-name{flex:0 0 auto;font-weight:800;color:#0f172a}
.mix-level-option .mix-level-cm{width:88px;flex:0 0 88px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;font-size:15px}
.mix-level-option-unit{flex:0 0 auto;font-weight:700;color:#475569}
.mix-level-preview{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:12px 14px;margin-top:4px;font-weight:700;color:#166534;font-size:14px}
.mix-plan-hint{display:block;margin-top:4px;font-size:12px;font-weight:500;color:#0f766e;line-height:1.35}
.mix-plan-hint.is-empty{color:#94a3b8}
.yield-product-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 16px;padding-top:12px;border-top:1px solid #e2e8f0}
.yield-product-columns label{font-size:13px;font-weight:700;color:#334155;display:flex;flex-direction:column;gap:6px}
.yield-product-loading{grid-column:1/-1;margin:0;color:#64748b;font-size:14px}
.yield-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.yield-modal-actions--mix{justify-content:space-between;align-items:center}
.yield-modal-actions-right{display:flex;gap:10px;margin-left:auto;align-items:center}
.mix-trial-toggle{display:inline-flex;align-items:center;gap:6px;margin:0;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#334155;font-weight:700;cursor:pointer;user-select:none}
.mix-trial-toggle input{width:16px;height:16px;margin:0;accent-color:#2563eb;cursor:pointer}
.mix-trial-toggle:has(input:checked){border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}
.yield-modal-actions-left{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mix-qc-open-btn{background:#fff;color:#be185d;border:1.5px solid #f9a8d4;border-radius:8px;padding:10px 16px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.mix-qc-open-btn:hover{background:#fff1f2}
.mix-qc-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#e11d48;color:#fff;font-size:12px}
.mix-qc-count[hidden]{display:none}
.mix-qc-header h3{color:#be185d}
.mix-qc-box{max-width:1080px}
#mix-qc-add-btn{background:#fff;color:#be185d;border:1.5px solid #f9a8d4;border-radius:8px;padding:6px 12px;font-weight:700;cursor:pointer}
#mix-qc-add-btn:hover{background:#fff1f2}
.mix-qc-grid-wrap{border-color:#f9a8d4;background:#fff1f2}
.mix-qc-head,.mix-qc-row{display:grid;grid-template-columns:130px 1fr 1fr 1.2fr 1.2fr 42px;gap:10px;align-items:center;padding:10px 12px}
.mix-qc-head{background:#fce7f3;color:#9d174d;font-weight:700;font-size:13px}
.mix-qc-row{border-top:1px solid #f9a8d4;background:#fff}
.mix-qc-rows .empty{text-align:center;color:#94a3b8;padding:22px 12px;font-size:14px}
.mix-qc-row input{width:100%;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px}
.mix-water-open-btn{background:#fff;color:#0f766e;border:1.5px solid #5eead4;border-radius:8px;padding:10px 16px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.mix-water-open-btn:hover{background:#f0fdfa}
.mix-water-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#0d9488;color:#fff;font-size:12px}
.mix-water-count[hidden]{display:none}
.mix-water-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:10040;align-items:center;justify-content:center;padding:16px}
.mix-water-box{background:#fff;border-radius:16px;padding:22px;width:100%;max-width:920px;max-height:90vh;overflow:auto;box-shadow:0 16px 40px rgba(15,23,42,.2)}
.mix-water-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.mix-water-header h3{margin:0;color:#0f766e;font-size:20px}
.mix-water-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}
#mix-water-add-btn{background:#fff;color:#0f766e;border:1.5px solid #5eead4;border-radius:8px;padding:6px 12px;font-weight:700;cursor:pointer}
#mix-water-add-btn:hover{background:#f0fdfa}
.mix-water-grid-wrap{border:1.5px solid #99f6e4;border-radius:12px;overflow:auto;background:#f0fdfa}
.mix-water-head,.mix-water-row{display:grid;grid-template-columns:150px 1fr 1fr 1.4fr 42px;gap:10px;align-items:center;padding:10px 12px}
.mix-water-head{background:#ccfbf1;color:#115e59;font-weight:700;font-size:13px}
.mix-water-row{border-top:1px solid #99f6e4;background:#fff}
.mix-water-rows .empty{text-align:center;color:#94a3b8;padding:22px 12px;font-size:14px}
.mix-water-row input{width:100%;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px}
.mix-water-del{width:32px;height:32px;border:0;border-radius:8px;background:#fb7185;color:#fff;font-weight:700;cursor:pointer;line-height:1}
.mix-water-del:hover{background:#f43f5e}
.yield-save-btn{background:#16a34a;color:#fff;border:none;border-radius:8px;padding:10px 18px;font-weight:700;cursor:pointer}
.yield-cancel-btn{background:#e2e8f0;border:none;border-radius:8px;padding:10px 18px;font-weight:700;cursor:pointer}
body.wip-yield-page #form-page .actions{display:none !important}
@media(max-width:900px){.yield-stat-cards,.yield-modal-grid,.yield-modal-grid--top,.yield-modal-grid--metrics,.yield-modal-grid--mix,.yield-product-columns{grid-template-columns:1fr 1fr}.yield-modal-grid--mix .mix-field-remark{grid-column:span 2}}
@media(max-width:640px){.yield-stat-cards,.yield-modal-grid,.yield-modal-grid--top,.yield-modal-grid--metrics,.yield-modal-grid--mix,.yield-product-columns{grid-template-columns:1fr}.yield-modal-grid--mix .mix-field-remark{grid-column:span 1}}

.flour-section-title--yield{color:#0ea5e9;border-bottom-color:#bae6fd}

/* หน้ารอรับเข้า */
.pending-page{display:flex;flex-direction:column;gap:20px}
.pending-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px 22px}
.pending-section-title{margin:0 0 16px;font-size:15px;font-weight:700;color:#f97316;display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:2px solid #fed7aa}
.pending-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 20px;align-items:end}
.pending-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.pending-label{font-size:13px;font-weight:700;color:#334155}
.pending-input{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:15px;background:#fff;transition:border-color 0.15s,box-shadow 0.15s}
.pending-input:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,0.15)}
.pending-badge{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 18px;border-radius:8px;font-weight:700;font-size:14px}
.pending-badge--from{background:#dcfce7;color:#166534;border:1px solid #86efac}
.pending-badge--to{background:#e0f2fe;color:#0369a1;border:1px solid #7dd3fc}
.pending-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.pending-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.pending-btn{padding:10px 18px;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer;transition:all 0.15s;border:1px solid transparent}
.pending-btn--ghost{background:#fff;border-color:#cbd5e1;color:#334155}
.pending-btn--ghost:hover{background:#f8fafc;border-color:#94a3b8}
.pending-btn--primary{background:linear-gradient(90deg,#f97316,#ea580c);color:#fff;border:none;box-shadow:0 2px 10px rgba(249,115,22,0.25)}
.pending-btn--primary:hover{filter:brightness(1.05)}
.pending-btn--success{background:#16a34a;color:#fff;border:none}
.pending-btn--success:hover{background:#15803d}
.pending-table td:last-child{text-align:right}
.pending-info{margin:0;color:#64748b;font-size:14px;line-height:1.6}
.pending-modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(15,23,42,0.45);z-index:9999;align-items:center;justify-content:center;padding:16px}
.pending-modal-card{background:#fff;border-radius:16px;padding:24px;width:100%;max-width:960px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px rgba(15,23,42,0.2)}
.pending-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}
.pending-modal-title{margin:0;color:#f97316;font-size:20px;font-weight:700}
.pending-modal-subtitle{font-size:14px;color:#64748b;font-weight:600}
.pending-modal-close{padding:8px 12px;border:none;background:#f1f5f9;border-radius:8px;font-size:18px;cursor:pointer;line-height:1;color:#64748b}
.pending-modal-close:hover{background:#e2e8f0}
.pending-table{width:100%;font-size:14px;border-collapse:collapse;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}
.pending-table thead tr{background:#fff7ed}
.pending-table th,.pending-table td{padding:10px 12px;border:1px solid #e2e8f0;text-align:left}
.pending-table th{font-weight:700;color:#9a3412}
.pending-table td.empty{text-align:center;color:#94a3b8;padding:28px}
.pending-product-name{font-size:13px;color:#334155}
.pending-table tr.pending-group-border td{border-top:2px solid #fed7aa}
@media(max-width:900px){.stk-control-actions{margin-left:0;width:100%}.stk-controls{align-items:stretch}}
@media(max-width:760px){.stk-control-item{min-width:0;flex:1 1 140px}.stk-tab{padding:12px 10px;font-size:13px}}

/* ตารางรอรับเข้าแบบสต็อก */
.pending-stock-page{display:flex;flex-direction:column;gap:14px}
.stk-summary-card{background:#fff;border:1px solid #e4e7eb;border-radius:8px;padding:16px 20px}
.stk-summary-label{font-size:14px;color:#666;font-weight:600;margin-bottom:4px}
.stk-summary-value{font-size:42px;font-weight:700;color:#222;line-height:1.1}
.stk-tabs{display:flex;gap:8px;border-bottom:1px solid #ddd;background:#fff;padding:0}
.stk-tab{border:none;background:transparent;padding:10px 14px 12px;font-size:15px;font-weight:600;color:#555;cursor:pointer;position:relative}
.stk-tab.active{color:#1e88e5;font-weight:700}
.stk-tab.active::after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:3px;background:#1e88e5;border-radius:2px 2px 0 0}
.stk-tab-badge{display:inline-block;min-width:18px;padding:1px 6px;margin-left:4px;background:#e53935;color:#fff;border-radius:10px;font-size:11px;font-weight:700}
.stk-panel{background:#fff;padding:4px 0 0;display:flex;flex-direction:column;gap:12px;flex:1;min-height:0}
.stk-panel[hidden]{display:none !important}
.stk-panel-title{margin:0;font-size:20px;font-weight:700;color:#222}
.stk-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px}
.stk-control-item{display:flex;flex-direction:column;gap:4px;min-width:140px;font-size:13px;font-weight:600}
.stk-input{width:100%;padding:7px 10px;border:1px solid #ccc;border-radius:4px;font-size:14px;background:#fff;color:#333}
.stk-input--readonly{background:#f8fafc;font-weight:700}
.stk-refresh-wrap{display:flex;flex-direction:column;align-items:center;gap:2px}
.stk-refresh-note{font-size:11px;color:#888}
.stk-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:none;border-radius:6px;font-size:13px;font-weight:700;color:#fff;cursor:pointer;white-space:nowrap}
.stk-btn--green{background:#43a047}
.stk-btn--orange{background:#f97316}
.stk-btn--red{background:#e53935}
.stk-btn-count{display:inline-flex;min-width:18px;height:18px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.28);align-items:center;justify-content:center;font-size:12px}
.stk-search-wrap{position:relative}
.stk-search{width:100%;padding:9px 12px;border:1px solid #ccc;border-radius:6px;font-size:14px;background:#fff;box-sizing:border-box}
.pending-stock-table-wrap{overflow-x:auto}
.pending-stock-table{width:100%;min-width:0;border-collapse:collapse;font-size:12px;background:#fff;table-layout:fixed}
.pending-stock-table thead tr{background:#2e7d32}
.pending-stock-table thead th{background:#2e7d32;color:#fff;padding:6px 2px;border:1px solid #1b5e20;font-weight:600;text-align:center;font-size:11px;line-height:1.2;white-space:normal}
.pending-stock-table th.col-narrow,.pending-stock-table td.col-narrow{width:6.2%}
.pending-stock-table th.col-product,.pending-stock-table td.col-product{width:9%;text-align:left;word-break:break-word}
.pending-stock-table th.col-lot,.pending-stock-table td.lot-cell{width:4.8%}
.pending-stock-table td{padding:4px 2px;border:1px solid #ddd;text-align:right;color:#333}
.pending-stock-table td.product-name{text-align:left;font-weight:500}
.pending-stock-table td.remain{font-weight:700;text-decoration:underline;cursor:pointer;color:#1565c0}
.pending-stock-table td.remain:hover{background:#e3f2fd;color:#0d47a1}
.pending-stock-table td.diff-qty.is-neg{color:#c62828;font-weight:700}
.pending-stock-table th.col-fg-request{background:#81c784;color:#1b5e20}
.pending-stock-table td.request-qty{background:#e8f5e9;color:#1b5e20;font-weight:700}
.pending-stock-table td.is-fg-loading{color:#90a4ae;font-weight:400}
.pending-stock-table td.lot-cell{background:#fff;text-align:center;padding:0}
.pending-stock-table td.lot-cell.has-value{background:#c8e6c9}
.pending-stock-table td.lot-cell.has-value .slot-input{color:#1b5e20;font-weight:700}
.pending-stock-table td.lot-cell.slot-locked{background:#e8f5e9;cursor:pointer}
.pending-stock-table td.lot-cell.slot-locked .slot-input{cursor:pointer;caret-color:transparent}
.pending-stock-table td.lot-cell.slot-locked .slot-input:focus{background:transparent}
.pending-stock-table td.lot-cell.fg-received{box-shadow:inset 0 0 0 2px #1565c0}
.pending-stock-table td.lot-cell.fg-received.has-value{background:#bbdefb}
.pending-stock-table td.lot-cell.fg-rejected{box-shadow:inset 0 0 0 2px #c62828}
.pending-stock-table td.lot-cell.fg-rejected.has-value{background:#ffcdd2}
.rice-usage-link{border:0;background:transparent;padding:0;color:#1565c0;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.rice-usage-link:hover{color:#0d47a1}
#mix-add-rice-grade.rice-usage-source,#mix-add-mill-tank.rice-usage-source{cursor:pointer;color:#1565c0;font-weight:700}
.rice-usage-card{max-width:760px}
.rice-usage-note{margin:0 0 12px;padding:10px 12px;border-radius:8px;background:#e3f2fd;color:#1565c0;font-size:13px}
.rice-usage-body{display:flex;flex-direction:column;gap:14px}
.rice-usage-record{border:1px solid #e2e8f0;border-radius:12px;padding:14px}
.rice-usage-record h4{margin:0 0 10px;color:#5b21b6;font-size:15px}
.rice-usage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 12px}
.rice-usage-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:#475569}
.rice-usage-grid input{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#0f172a;font:inherit}
.rice-usage-tank-btn{display:block;width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#1565c0;font:inherit;font-weight:700;text-align:left;cursor:pointer}
.rice-usage-tank-btn:hover{background:#dbeafe;color:#0d47a1}
.rice-ph-card{max-width:720px}
.rice-ph-header{display:flex;justify-content:space-between;align-items:center;margin:-22px -22px 16px;padding:16px 18px;border-radius:16px 16px 0 0;background:linear-gradient(90deg,#7c3aed,#2563eb);color:#fff}
.rice-ph-header h3{margin:0;color:#fff;font-size:18px}
.rice-ph-header .yield-modal-close{background:rgba(255,255,255,0.18);color:#fff}
.rice-ph-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:12px}
.rice-ph-table{width:100%;border-collapse:collapse;min-width:520px}
.rice-ph-table th{background:#1e3a8a;color:#fff;padding:10px 12px;text-align:left;font-size:13px}
.rice-ph-table td{padding:10px 12px;border-top:1px solid #e2e8f0;background:#fff}
.rice-ph-table td.empty{text-align:center;color:#94a3b8}
.rice-ph-table input{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#0f172a;font:inherit}
@media(max-width:700px){.rice-usage-grid{grid-template-columns:1fr}}
.pending-stock-table tr:nth-child(even){background:#fafafa}
.pending-stock-table td.empty{text-align:center;color:#94a3b8;padding:28px}
.slot-input{width:100%;min-height:34px;box-sizing:border-box;border:0;outline:none;text-align:center;padding:6px 4px;font-family:inherit;font-size:13px;background:transparent}
.slot-input:focus{background:#e8f5e9}
.slot-input::placeholder{color:#bdbdbd;font-weight:400}
.stk-empty{display:none;padding:18px;text-align:center;color:#64748b}
.stk-history-filters{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;padding:12px 14px;background:#f7faf8;border:1px solid #e2e8e4;border-radius:8px}
.stk-history-filters label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
.stk-history-filters select,.stk-history-filters input{min-width:140px;padding:7px 10px;border:1px solid #ccc;border-radius:4px;font-size:13px}
.stk-history-search{flex:1 1 220px}
.stk-history-meta{margin-left:auto;font-size:12px;font-weight:600;color:#666;padding-bottom:8px}
.pending-history-table{table-layout:auto;min-width:720px}
.pending-history-table td{white-space:nowrap;text-align:center}
.move-type{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700}
.move-type-in{background:#e8f5e9;color:#1b5e20}
.move-type-out{background:#ffebee;color:#b71c1c}
.move-qty-in{color:#1b5e20;font-weight:700}
.move-qty-out{color:#c62828;font-weight:700}
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:10000;align-items:center;justify-content:center;padding:16px}
.modal-overlay.show{display:flex}
.ship-modal{background:#fff;border-radius:14px;padding:22px 24px 20px;width:92%;max-width:420px;box-shadow:0 8px 32px rgba(0,0,0,.22)}
.ship-modal-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.ship-truck{font-size:22px}
.ship-modal-head h2{margin:0;font-size:18px;color:#2e7d32;font-weight:700}
.ship-product{color:#888;font-size:14px;margin-bottom:4px}
.ship-qty{display:block;background:none;color:#2e7d32;font-weight:700;font-size:22px;padding:0;margin-bottom:14px}
.ship-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;flex:1}
.ship-field label{font-size:13px;font-weight:600;color:#333}
.ship-field select,.ship-field input{padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:16px;background:#f7f7f7;color:#222}
.ship-lot-hint{color:#9e9e9e;font-size:13px;font-weight:500;margin:2px 0 8px;min-height:18px}
.ship-lot-list{display:flex;flex-direction:column;gap:8px}
.ship-modal .ship-lot-option{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;column-gap:10px;row-gap:0;flex-direction:row;border:1px solid #e8e8e8;border-radius:10px;padding:10px 14px;cursor:pointer;background:#fff;font-size:16px;font-weight:700;color:#222;width:100%;margin:0}
.ship-modal .ship-lot-option.is-selected{background:#e8f5e9;border-color:#c8e6c9}
.ship-modal .ship-lot-option input[type="radio"]{accent-color:#43a047;width:18px;height:18px;margin:0;padding:0;border:0;flex:none;align-self:center}
.ship-lot-name{font-weight:700;color:#222;white-space:nowrap;line-height:1.2}
.ship-lot-qty{color:#2e7d32;font-weight:700;font-size:15px;white-space:nowrap;text-align:right;line-height:1.2}
.ship-lot-empty{color:#9e9e9e;font-size:13px;padding:8px 0}
.ship-lot-select{display:none}
.ship-row{display:flex;gap:12px}
.ship-problem{display:flex;flex-direction:column;align-items:stretch;gap:8px;background:#fff8e1;border:1.5px solid #f6b26b;border-radius:10px;padding:12px 14px;margin:4px 0 16px}
.ship-problem-main{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:15px;font-weight:700;color:#b45309;cursor:pointer;margin:0}
.ship-problem-main input[type="checkbox"]{width:18px;height:18px;margin:0;padding:0;flex:none;accent-color:#1a73e8}
.ship-problem-options{display:none;flex-direction:column;gap:8px;padding:2px 0 0 28px}
.ship-problem.is-open .ship-problem-options{display:flex}
.ship-problem-options label{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#5d4037;cursor:pointer;margin:0}
.ship-problem-options input[type="checkbox"]{width:16px;height:16px;margin:0;padding:0;flex:none;accent-color:#1a73e8}
.ship-actions{display:flex;justify-content:space-between;gap:12px}
.ship-btn-cancel,.ship-btn-confirm{border:none;border-radius:8px;padding:10px 18px;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer}
.ship-btn-cancel{background:#e0e0e0;color:#333}
.ship-btn-confirm{background:#43a047;color:#fff}
.slot-detail-modal{background:#fff;border-radius:18px;padding:22px 22px 18px;width:92%;max-width:400px;box-shadow:0 8px 32px rgba(0,0,0,.22)}
.slot-detail-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.slot-detail-icon{font-size:20px;line-height:1}
.slot-detail-head h2{margin:0;font-size:18px;color:#2e7d32;font-weight:700}
.slot-detail-product{color:#7b7b7b;font-size:14px;margin:2px 0 4px}
.slot-detail-qty{color:#2e7d32;font-weight:800;font-size:22px;margin:0 0 14px}
.slot-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.slot-detail-card{background:#f4f5f7;border-radius:12px;padding:12px 14px}
.slot-detail-label{color:#9aa0a6;font-size:12px;font-weight:600;margin-bottom:4px}
.slot-detail-value{color:#222;font-size:22px;font-weight:800;line-height:1.2}
.slot-detail-value--time{font-size:16px;white-space:pre-line}
.slot-detail-note{background:#fff8e8;border:1.5px solid #f6b26b;border-radius:12px;padding:12px 14px;margin-bottom:14px}
.slot-detail-note .slot-detail-label{color:#f6a04d}
.slot-detail-note-text{color:#222;font-size:16px;font-weight:600}
.slot-detail-close{width:100%;border:none;background:#eceff1;color:#5f6368;border-radius:12px;padding:12px 18px;font-family:inherit;font-size:16px;font-weight:700;cursor:pointer}
.slot-detail-close:hover{background:#e0e3e6}
.remain-lots-overlay{z-index:10020}
.remain-lots-overlay--history{z-index:10030}
.remain-lots-modal{background:#fff;border-radius:14px;padding:22px 24px 18px;width:92%;max-width:460px;max-height:86vh;overflow:auto}
.remain-lots-modal--wide{max-width:640px}
.remain-lots-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.remain-lots-icon{font-size:20px;line-height:1}
.remain-lots-head h2{margin:0;font-size:18px;color:#1e88e5;font-weight:700}
.remain-lots-sub{color:#64748b;font-size:13px;font-weight:600;margin:0 0 14px;line-height:1.45}
.remain-lots-table{width:100%;border-collapse:collapse;font-size:14px}
.remain-lots-table th{text-align:left;color:#64748b;font-weight:700;font-size:12px;padding:8px 10px;border-bottom:1px solid #e2e8f0}
.remain-lots-table th:last-child,.remain-lots-table td:last-child{text-align:right}
.remain-lots-table td{padding:10px 10px;border-bottom:1px solid #f1f5f9;color:#222}
.remain-lots-table td.empty{text-align:center;color:#94a3b8;padding:22px}
.remain-lots-table tr.is-lot{cursor:pointer}
.remain-lots-table tr.is-lot:hover td{background:#f8fafc}
.remain-lots-table td.lot-name{font-weight:700}
.remain-lots-table td.lot-qty{color:#2e7d32;font-weight:700}
.remain-lots-table tr.is-total td{background:#e3f2fd;color:#1565c0;font-weight:700;border-bottom:0}
.remain-lots-history-table td{white-space:nowrap}
.remain-lots-history-table td.note{white-space:normal;text-align:left;color:#64748b;font-weight:500}
.remain-lots-actions{display:flex;justify-content:flex-end;margin-top:16px}
.remain-lots-close{border:none;background:#e2e8f0;color:#334155;border-radius:999px;padding:8px 18px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer}
.remain-lots-close:hover{background:#cbd5e1}

/* หน้ารอรับเข้า — ขนาดเท่า WIP4 */
body.wip-pending-fullpage{background:#eef2f6}
body.wip-pending-fullpage #form-page{position:relative;display:flex;flex-direction:column;min-height:100vh}
body.wip-pending-fullpage .hero{
  flex-shrink:0;
  display:flex;
  align-items:center;
  gap:14px;
  padding:10px 24px 10px 110px;
  background:#1e88e5 !important;
  color:#fff;
}
body.wip-pending-fullpage .hero h1{margin:0;font-size:22px;font-weight:700;line-height:1.2}
body.wip-pending-fullpage .hero p{display:none}
body.wip-pending-fullpage #form-back-wrap{
  position:absolute;
  top:10px;
  left:24px;
  padding:0;
  z-index:2;
}
body.wip-pending-fullpage #btn-back{
  background:#fff !important;
  color:#1e88e5 !important;
  padding:6px 16px;
  border:none;
  border-radius:6px;
  font-size:15px;
  font-weight:700;
  margin:0;
}
body.wip-pending-fullpage main.container{
  width:95%;
  max-width:1200px;
  margin:20px auto 24px;
  padding:0;
  flex:0 0 auto;
  display:block;
}
body.wip-pending-fullpage main.container form{display:block}
body.wip-pending-fullpage #production.card{
  display:block;
  padding:20px;
  margin:0;
  border-radius:10px;
  box-shadow:0 1px 8px rgba(0,0,0,.08);
  background:#fff;
}
body.wip-pending-fullpage #sub-pending.pending-stock-page{gap:16px}
body.wip-pending-fullpage .stk-panel{flex:none;min-height:0}
body.wip-pending-fullpage .stk-search{width:100%}
body.wip-pending-fullpage .pending-stock-table-wrap{overflow:auto}

body.wip-view-flour #menu-page,
body.wip-view-wip #menu-page,
body.wip-view-pending #menu-page{display:none !important}

body.wip-view-pending #production-subtabs,
body.wip-view-pending #sub-flour,
body.wip-view-pending #sub-yield,
body.wip-view-pending #sub-yield-summary,
body.wip-view-pending #sub-materials,
body.wip-view-pending #sub-plan,
body.wip-view-pending #form-page .actions,
body.wip-view-pending #wip2-shell{display:none !important}
body.wip-view-wip #production-subtabs,
body.wip-view-wip #sub-pending{display:none !important}

body.wip-view-wip{background:#f3f4f6}
body.wip-view-wip #form-page{display:flex !important;flex-direction:column;min-height:100vh;background:#f3f4f6}
body.wip-view-wip .hero,
body.wip-view-wip #form-back-wrap{display:none !important}
body.wip-view-wip #wip2-shell{
  display:block;
  width:95%;
  max-width:1200px;
  margin:20px auto 14px;
  padding:0;
  flex-shrink:0;
}
body.wip-view-plan .wip2-primary-tabs{display:none}
.wip2-shell{display:none}
.wip2-page-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.wip2-back-btn{background:#2563eb;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-weight:700;font-size:14px;cursor:pointer}
.wip2-back-btn:hover{background:#1d4ed8}
.wip2-page-title{margin:0;font-size:28px;font-weight:800;color:#111827}
.wip2-primary-tabs{display:flex;gap:8px;border-bottom:3px solid #16a34a;margin-bottom:14px}
.wip2-primary-tab{border:none;background:#fff;color:#334155;padding:10px 18px;border-radius:8px 8px 0 0;font-weight:700;cursor:pointer;margin-bottom:-3px;border-bottom:3px solid transparent}
.wip2-primary-tab.is-active{background:#16a34a;color:#fff}
.wip2-panel{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px rgba(15,23,42,.08)}
.yield-stat-value--accent{color:#16a34a}
body.wip-view-wip main.container{
  width:95%;
  max-width:1200px;
  margin:0 auto 24px;
  padding:0;
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow:visible;
}
body.wip-view-wip main.container form{flex:1;display:flex;flex-direction:column;min-height:0}
body.wip-view-wip #production.card{flex:1;display:flex;flex-direction:column;margin:0;padding:0;background:transparent;box-shadow:none;gap:0;position:relative;overflow:visible}
body.wip-view-wip #sub-flour,
body.wip-view-wip #sub-yield,
body.wip-view-wip #sub-yield-summary,
body.wip-view-wip #sub-materials,
body.wip-view-wip #sub-plan{position:relative;flex-direction:column;min-width:0;background:transparent;box-shadow:none;padding:0;overflow:visible;gap:12px}
body.wip-view-wip .flour-record-page,
body.wip-view-wip .yield-record-page,
body.wip-view-wip .materials-page{flex:none;padding:0;gap:12px}
body.wip-view-wip .flour-title-bar,
body.wip-view-wip .yield-title-bar{border-radius:0;background:#166534}
body.wip-view-wip #flour-add-btn,
body.wip-view-wip #materials-save-btn{color:#166534}
body.wip-view-wip .flour-list-title{color:#166534}
body.wip-view-wip .flour-record-table th{background:#f0fdf4;color:#166534;border:none}
body.wip-view-wip .flour-today-btn{background:#16a34a;border-color:#16a34a}
body.wip-view-wip .flour-list-card,
body.wip-view-wip .yield-list-card{border:0;border-radius:0;padding:16px 18px}
body.wip-view-wip .yield-stat-cards{grid-template-columns:repeat(4,1fr);padding:16px 18px 0;gap:12px}
body.wip-view-wip .yield-inner-tabs{padding:0}
body.wip-view-wip .yield-inner-tab{background:#f3f4f6;color:#334155}
body.wip-view-wip .yield-inner-tab.active{background:#16a34a;color:#fff}
body.wip-view-wip .yield-filter-tab.active{color:#16a34a;border-bottom-color:#16a34a}
body.wip-view-wip .yield-stat-value{font-size:28px}
body.wip-view-wip .yield-stat-value--date{font-size:22px}
body.wip-view-wip .flour-record-table,
body.wip-view-wip .yield-record-table{font-size:14px}
body.wip-view-wip .flour-work-overlay{position:fixed;inset:0;padding:16px;background:rgba(15,23,42,.45);align-items:flex-start;justify-content:center;overflow:auto;border-radius:0;z-index:9000}
body.wip-view-wip .flour-work-overlay .flour-work-card{width:100%;max-width:980px;margin:12px auto 32px;height:auto;display:flex;flex-direction:column}
body.wip-view-wip #flour-work-home{flex:none;min-height:0;overflow:visible}
body.wip-view-wip .flour-work-footer{flex-shrink:0}
@media(max-width:900px){
  body.wip-view-wip .wip2-page-title{font-size:22px}
  body.wip-view-wip .yield-stat-cards{grid-template-columns:1fr 1fr}
}

.admin-container{max-width:520px}
.admin-container.admin-container--wide{max-width:980px;text-align:left}
.admin-container .menu-title{margin-bottom:16px;text-align:center}
.admin-tabs{display:flex;gap:4px;border-bottom:2px solid #e2e8f0;margin-bottom:20px}
.admin-tab{flex:1;border:none;background:transparent;padding:12px 10px;font-size:15px;font-weight:700;color:#64748b;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px}
.admin-tab.active{color:#2563eb;border-bottom-color:#2563eb}
.admin-subtitle{color:#64748b;margin:0 0 16px;text-align:center}
.admin-recipe-type-label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:700;text-align:left;margin-bottom:12px}
.admin-recipe-meta,.admin-recipe-status,.admin-recipe-hint{font-size:13px;font-weight:500;margin:0 0 12px;color:#64748b}
.admin-recipe-status.ok{color:#15803d}
.admin-recipe-status.err{color:#dc2626}
.admin-recipe-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:12px;max-height:420px}
.admin-recipe-table{width:100%;min-width:720px;border-collapse:collapse;background:#fff}
.admin-recipe-table th{position:sticky;top:0;background:#f8fafc;font-size:12px;color:#475569;padding:8px}
.admin-recipe-table td{padding:6px;vertical-align:middle}
.admin-recipe-table input{padding:8px;font-size:13px;margin:0}
#admin-recipe-save{width:100%;margin-top:4px}

.teal-menu{background:#0d9488}
.teal-menu:hover{background:#0f766e}
body.wip-view-wip #sub-plan{position:relative;flex-direction:column;min-width:0;background:transparent;box-shadow:none;padding:0;overflow:visible;gap:12px}
.plan-page{gap:12px}
.plan-panel{overflow:visible}
.plan-title-bar{background:#115e59}
body.wip-view-wip .plan-title-bar{background:#115e59}
#plan-add-btn{color:#115e59}
body.wip-view-wip #plan-add-btn{color:#115e59}
.plan-stats{display:grid;grid-template-columns:repeat(2,minmax(160px,220px));gap:12px;padding:16px 18px 0}
.plan-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px 16px}
.plan-stat-label{font-size:13px;color:#64748b;font-weight:600}
.plan-stat-value{font-size:28px;font-weight:800;color:#0f172a;margin-top:4px}
.plan-toolbar{display:flex;flex-direction:column;gap:10px;padding:14px 18px}
.plan-month-nav{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;width:100%}
.plan-month-input{border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;font-weight:700;width:auto;min-width:0;flex:1 1 140px;max-width:200px}
.plan-toolbar-main{display:flex;align-items:center;gap:12px}
.plan-search{flex:1;min-width:0;border:1px solid #cbd5e1;border-radius:8px;padding:9px 12px}
.plan-view-toggle{display:flex;gap:6px;flex-shrink:0}
.plan-view-btn{border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:8px;padding:8px 14px;font-weight:700;cursor:pointer}
.plan-view-btn.is-active{background:#115e59;color:#fff;border-color:#115e59}
.plan-calendar-wrap,.plan-grid-wrap{padding:0 18px 18px}
.plan-calendar-title{font-weight:700;color:#334155;margin-bottom:10px}
.plan-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}
.plan-weekdays div{text-align:center;font-size:13px;font-weight:700;color:#64748b;padding:6px 0}
.plan-weekdays .is-weekend{color:#ea580c}
.plan-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.plan-day{min-height:118px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;text-align:left;padding:8px;cursor:pointer;display:flex;flex-direction:column;gap:4px;font-family:inherit}
.plan-day.is-empty{border:none;background:transparent;cursor:default}
.plan-day.is-weekend{background:#fff7ed}
.plan-day.is-today{box-shadow:inset 0 0 0 2px #0d9488}
.plan-day.has-plan{border-color:#fdba74}
.plan-day.is-filtered{opacity:.35}
.plan-day:hover:not(.is-empty){border-color:#0d9488}
.plan-day-num{font-weight:800;color:#0f172a}
.plan-day-lot{font-size:12px;font-weight:800;color:#c2410c}
.plan-day-types{font-size:11px;line-height:1.35;color:#9a3412}
.plan-grid-table{width:100%;border-collapse:collapse;background:#fff}
.plan-grid-table th{background:#ecfdf5;color:#115e59;text-align:left;padding:10px;font-size:13px}
.plan-grid-table td{border-top:1px solid #e2e8f0;padding:10px;font-size:14px}
.plan-grid-row{cursor:pointer}
.plan-grid-row:hover{background:#f0fdfa}
.plan-empty{text-align:center;color:#64748b}
.plan-modal{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:9500;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px;overflow:auto}
.plan-modal[hidden]{display:none !important}
.plan-modal-card{width:100%;max-width:640px;background:#fff;border-radius:16px;box-shadow:0 16px 40px rgba(15,23,42,.2)}
.plan-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0}
.plan-modal-head h3{margin:0;font-size:18px}
.plan-modal-x{border:none;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#64748b}
.plan-modal-body{padding:16px 20px 8px}
.plan-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.plan-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:#334155}
.plan-field--wide{grid-column:1/-1}
.plan-field input,.plan-field select{font-weight:500;border:1px solid #cbd5e1;border-radius:8px;padding:9px 10px}
.plan-field-hint{margin:0;font-size:11px;font-weight:500;color:#64748b}
.plan-products-title{margin:16px 0 10px;padding:8px 10px;background:#ecfeff;border-radius:8px;font-size:13px;font-weight:700;color:#0f766e}
.plan-product-rows{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow:auto;padding-bottom:8px}
.plan-product-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;background:#f0fdfa;border:1px solid #ccfbf1;border-radius:10px;padding:10px 12px;font-weight:700}
.plan-product-row span{flex:1;text-align:left}
.plan-product-row input{width:140px;flex:0 0 140px;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;font-weight:500}
.plan-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px 16px;border-top:1px solid #e2e8f0}
.plan-modal-actions{display:flex;gap:8px;margin-left:auto}
.plan-btn-cancel,.plan-btn-save,.plan-btn-delete{border:none;border-radius:8px;padding:10px 16px;font-weight:700;cursor:pointer}
.plan-btn-cancel{background:#f1f5f9;color:#334155}
.plan-btn-save{background:#0d9488;color:#fff}
.plan-btn-delete{background:#fee2e2;color:#b91c1c}
@media(max-width:900px){
  .plan-form-grid,.plan-stats{grid-template-columns:1fr}
  .plan-toolbar-main{flex-direction:column;align-items:stretch}
  .plan-calendar,.plan-weekdays{grid-template-columns:repeat(7,minmax(72px,1fr))}
  .plan-calendar-wrap{overflow:auto}
}

/* ========== Responsive: tablet + phone ========== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden}
.table-wrap,.yield-table-wrap,.flour-table-wrap,.pending-stock-table-wrap,.admin-recipe-table-wrap,.plan-calendar-wrap,.plan-grid-wrap,.flour-mix-grid-wrap{
  -webkit-overflow-scrolling:touch;
  max-width:100%;
}
.wip2-primary-tabs,.wip2-subtabs,.tabs{
  display:flex;
  overflow-x:auto;
  flex-wrap:nowrap;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.wip2-subtabs{gap:8px;margin-bottom:20px}
.wip2-primary-tab,.wip2-subtabs .sub-tab,.tab{
  flex:0 0 auto;
  white-space:nowrap;
}
#summary{max-width:100%;margin-left:0;margin-right:0}
#summary .table-wrap{max-width:100%}

@media(max-width:1100px){
  body.wip-view-wip #wip2-shell,
  body.wip-view-wip main.container{width:calc(100% - 16px)}
  body.wip-view-wip .wip2-page-title{font-size:22px}
  body.wip-view-wip .yield-stat-cards{grid-template-columns:repeat(2,1fr);padding:12px 14px 0}
  body.wip-view-wip .flour-list-card,
  body.wip-view-wip .yield-list-card{padding:12px 14px}
  .plan-stats{padding:12px 14px 0}
  .plan-toolbar,.plan-calendar-wrap,.plan-grid-wrap{padding-left:14px;padding-right:14px}
  .container{padding:16px 12px}
  .card{padding:20px 16px}
  .pending-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:900px){
  .menu-page{padding:20px 12px;min-height:100dvh;align-items:flex-start}
  .menu-container{padding:28px 18px;margin-top:24px}
  .menu-title{font-size:22px;margin-bottom:22px}
  .menu-btn{font-size:16px;padding:16px 18px}
  .hero{padding:16px 14px}
  .hero h1{font-size:20px}
  .wip2-page-top{flex-wrap:wrap;gap:8px;margin-bottom:10px}
  .wip2-page-title{font-size:20px;line-height:1.25}
  .wip2-primary-tabs{margin-bottom:10px;gap:6px}
  .wip2-primary-tab{padding:10px 12px;font-size:14px}
  .wip2-subtabs{gap:6px;margin-bottom:12px !important}
  .wip2-subtabs .sub-tab{padding:10px 12px !important;font-size:13px}
  .flour-title-bar,.yield-title-bar,.plan-title-bar{
    flex-wrap:wrap;
    padding:10px 12px;
  }
  .flour-title-bar h3,.yield-title-bar h3{font-size:16px}
  .flour-toolbar,.yield-toolbar{align-items:stretch}
  .flour-search,.yield-search,.plan-search{min-width:0;flex:1 1 100%;width:100%}
  .flour-date-nav,.yield-date-nav{width:auto;max-width:100%}
  .flour-date-nav .flour-date-input,
  .yield-date-nav .yield-date-input{flex:0 0 auto;min-width:148px;width:auto}
  .flour-stat-cards,.yield-stat-cards{grid-template-columns:1fr 1fr}
  .flour-grid,.flour-grid-3,.flour-summary-box,.flour-waste-box .flour-grid,
  .yield-modal-grid,.yield-modal-grid--top,.yield-modal-grid--metrics,.yield-modal-grid--mix,.yield-product-columns{
    grid-template-columns:1fr 1fr;
  }
  .yield-modal-grid--mix .mix-field-remark{grid-column:span 2}
  .flour-work-overlay,.pack-overlay,.yield-modal-overlay,.pending-modal-overlay,.plan-modal,.mix-mismatch-overlay,.mix-water-overlay,.flour-ok-overlay{
    padding:8px;
    align-items:stretch;
  }
  .flour-work-overlay .flour-work-card,
  body.wip-view-wip .flour-work-overlay .flour-work-card{
    max-width:none;
    margin:0;
    border-radius:12px;
  }
  .yield-modal-card,.pending-modal-card,.plan-modal-card,.flour-mix-dialog{
    max-width:none;
    max-height:none;
    height:auto;
    border-radius:12px;
  }
  .flour-mix-dialog{max-height:calc(100dvh - 16px);padding:16px}
  .yield-modal-card{padding:16px}
  .plan-modal{padding:8px}
  .plan-form-grid{grid-template-columns:1fr}
  .plan-day{min-height:88px;padding:6px}
  .plan-day-lot,.plan-day-types{font-size:10px}
  .plan-weekdays div{font-size:11px}
  .plan-modal-foot{flex-wrap:wrap}
  .plan-modal-actions{width:100%;justify-content:stretch}
  .plan-btn-cancel,.plan-btn-save,.plan-btn-delete{flex:1}
  .flour-work-footer,.pack-footer,.yield-modal-actions,.flour-mix-actions{
    flex-wrap:wrap;
    justify-content:stretch;
  }
  .yield-modal-actions--mix,.yield-modal-actions-right{width:100%}
  .mix-water-open-btn,.mix-qc-open-btn{flex:1 1 100%}
  .mix-water-head,.mix-water-row{min-width:720px}
  .mix-qc-head,.mix-qc-row{min-width:880px}
  .flour-work-btn,.pack-btn,.yield-save-btn,.yield-cancel-btn,
  .flour-mix-save-btn,.flour-mix-cancel-btn,.flour-mix-add-btn{
    flex:1 1 140px;
    min-height:44px;
  }
  .pending-grid,.stk-controls{grid-template-columns:1fr 1fr}
  .stk-control-actions{margin-left:0;width:100%}
  .stk-tabs{overflow-x:auto;flex-wrap:nowrap}
  body.wip-pending-fullpage main.container{width:calc(100% - 16px);margin:12px auto 16px}
  body.wip-pending-fullpage #production.card{padding:14px}
  body.wip-pending-fullpage .hero{padding:10px 16px 10px 96px}
  body.wip-pending-fullpage #form-back-wrap{left:16px}
  body.wip-pending-fullpage .pending-stock-table{
    min-width:860px;
    table-layout:auto;
  }
  .admin-tabs{overflow-x:auto;flex-wrap:nowrap}
  .actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
  .actions button{margin:0;flex:1 1 160px}
}

@media(max-width:640px){
  html,body{font-size:15px}
  input,select,textarea,.flour-input,.pending-input,.stk-input,.yield-search,.flour-search,.plan-search{
    font-size:16px;
  }
  .menu-title{font-size:20px}
  .wip2-back-btn,.back-btn{min-height:40px}
  .wip2-page-title{font-size:18px}
  body.wip-view-wip .wip2-page-title{font-size:18px}
  body.wip-view-wip #wip2-shell,
  body.wip-view-wip main.container{width:calc(100% - 16px);margin-left:auto;margin-right:auto}
  .yield-stat-cards,.flour-stat-cards,
  body.wip-view-wip .yield-stat-cards{grid-template-columns:1fr 1fr;gap:8px}
  .yield-stat-value,body.wip-view-wip .yield-stat-value{font-size:22px}
  .yield-stat-value--date,body.wip-view-wip .yield-stat-value--date{font-size:16px}
  .yield-stat-card{padding:10px 12px}
  .flour-grid,.flour-grid-3,.flour-grid-2,.flour-summary-box,.flour-waste-box .flour-grid,
  .yield-modal-grid,.yield-modal-grid--top,.yield-modal-grid--metrics,.yield-modal-grid--mix,.yield-product-columns,
  .pending-grid,.grid{
    grid-template-columns:1fr;
  }
  .yield-modal-grid--mix .mix-field-remark{grid-column:span 1}
  .flour-data-tabs{flex-direction:column;border-bottom:0}
  .flour-data-tab{text-align:left;border-bottom:2px solid #e2e8f0;margin:0}
  .flour-data-panel{max-height:none}
  .plan-stats{grid-template-columns:1fr 1fr;gap:8px;padding:10px 8px 0}
  .plan-stat-value{font-size:22px}
  .plan-toolbar,.plan-calendar-wrap,.plan-grid-wrap{padding:10px 8px}
  .plan-calendar,.plan-weekdays{gap:4px;grid-template-columns:repeat(7,minmax(44px,1fr))}
  .plan-day{min-height:64px;padding:4px;border-radius:8px;gap:2px}
  .plan-day-num{font-size:12px}
  .plan-day-lot,.plan-day-types{font-size:9px;line-height:1.25}
  .plan-product-row{flex-wrap:wrap}
  .plan-product-row input{width:100%;flex:1 1 100%}
  .plan-modal-head,.plan-modal-body,.plan-modal-foot{padding-left:12px;padding-right:12px}
  .plan-btn-delete{width:100%;order:-1}
  .flour-work-header{padding:12px}
  .flour-work-item{padding:12px;font-size:15px}
  .flour-acc-panel{padding:10px}
  .flour-section{padding:14px}
  .mix-level-option{flex-wrap:wrap;white-space:normal}
  .pack-header-title{font-size:15px}
  .pack-footer,.flour-work-footer{position:sticky;bottom:0}
  .yield-table-wrap,.flour-table-wrap{
    border:1px solid #e2e8f0;
    border-radius:8px;
  }
  .yield-record-table--mix-list th:first-child,
  .yield-record-table--mix-list td:first-child,
  .yield-record-table--mix th:first-child,
  .yield-record-table--mix td:first-child,
  .flour-record-table th:first-child,
  .flour-record-table td:first-child{
    position:sticky;
    left:0;
    z-index:1;
    background:#fff;
    box-shadow:1px 0 0 #e2e8f0;
  }
  .yield-record-table--mix-list th:first-child,
  .yield-record-table--mix th:first-child,
  .flour-record-table th:first-child{
    background:#f0fdf4;
    z-index:2;
  }
  body.wip-view-wip .flour-record-table th:first-child{background:#f0fdf4}
  .stk-control-item,.stk-control-item:first-child{min-width:0;flex:1 1 100%}
  .stk-btn{width:100%;justify-content:center}
  .stk-panel{padding:12px}
  .pending-modal-actions,.pending-actions{width:100%}
  .pending-btn{flex:1 1 120px;min-height:44px}
}

@media(max-width:420px){
  .wip2-primary-tab{padding:9px 10px;font-size:13px}
  .yield-stat-value--date,body.wip-view-wip .yield-stat-value--date{font-size:15px}
}

.admin-container.admin-container--wide{max-width:720px}
.admin-employee-status{min-height:20px;margin:0 0 12px;font-size:13px;font-weight:600;color:#64748b;text-align:center}
.admin-employee-status.ok{color:#15803d}
.admin-employee-status.err{color:#dc2626}
.admin-employee-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px;margin-bottom:16px;text-align:left}
.admin-employee-form-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:10px}
.admin-employee-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:#334155}
.admin-employee-form input,.admin-employee-form select{font-weight:500;border:1px solid #cbd5e1;border-radius:8px;padding:9px 10px}
.admin-employee-pages-label{margin:0 0 8px;font-size:13px;font-weight:700;color:#334155}
.admin-employee-pages{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.admin-page-chip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;color:#334155}
.admin-page-chip input{margin:0}
#admin-emp-add{width:100%;font-size:15px;padding:12px}
.admin-employee-cards{display:flex;flex-direction:column;gap:10px;max-height:420px;overflow:auto;text-align:left}
.admin-emp-card{border:1px solid #e2e8f0;border-radius:12px;padding:12px;background:#fff}
.admin-emp-card.is-disabled{opacity:.72;background:#f8fafc}
.admin-emp-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}
.admin-emp-name{font-size:15px;font-weight:800;color:#0f172a}
.admin-emp-meta{font-size:12px;font-weight:600;color:#64748b;margin-top:2px}
.admin-emp-status{flex-shrink:0;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}
.admin-emp-status.is-on{background:#dcfce7;color:#166534}
.admin-emp-status.is-off{background:#fee2e2;color:#b91c1c}
.admin-emp-card .admin-employee-pages{margin-bottom:10px}
.admin-emp-actions{display:flex;gap:8px}
.admin-emp-toggle{flex:1;border:none;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:800;color:#fff;cursor:pointer}
.admin-emp-toggle.is-on{background:#ef4444}
.admin-emp-toggle.is-off{background:#16a34a}
.admin-emp-pass{width:100%;margin-top:8px;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;font-size:13px}
