@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-thai-thai-wght-normal.woff2)format("woff2-variations");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-thai-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/noto-sans-thai-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--pine-900:#0d3b26;--pine-800:#125033;--pine-700:#176b43;--pine-600:#1f875a;--pine-100:#dcefe4;--pine-50:#f0f8f3;--paper:#f4f6f3;--surface:#fff;--line:#dde5df;--line-soft:#eaf0ec;--ink-900:#14211c;--ink-700:#33463e;--ink-500:#61756c;--ink-300:#93a49b;--amber:#b5741f;--amber-bg:#fbf3e6;--clay:#a4452f;--clay-bg:#fbeeea;--blue:#2563a8;--blue-bg:#e9f1fa;--gold:#b07407;--radius:10px;--radius-lg:14px;--shadow:0 1px 2px #14211c0f, 0 8px 24px #14211c0d;--font-thai:"Noto Sans Thai", "Segoe UI", Tahoma, sans-serif;--font-num:"IBM Plex Mono", ui-monospace, monospace}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{background:var(--paper);color:var(--ink-900);font-family:var(--font-thai);-webkit-text-size-adjust:100%;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,p{margin:0}table{border-collapse:collapse;width:100%}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--pine-600);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.masthead{background:linear-gradient(160deg, var(--pine-900), var(--pine-700));color:#fff}.masthead-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1320px;margin:0 auto;padding:18px 20px;display:flex}.brand{align-items:center;gap:14px;min-width:0;display:flex}.brand-mark{object-fit:contain;flex:0 0 84px;width:84px;height:84px}.brand-name{letter-spacing:.16em;color:#ffffffb8;font-size:13px;font-weight:700}.brand-title{letter-spacing:-.01em;font-size:24px;font-weight:800;line-height:1.15}.conn-badge{border:1px solid #ffffff40;border-radius:999px;flex:none;padding:5px 11px;font-size:12px;font-weight:600}.conn-badge.is-online{background:#ffffff24}.conn-badge.is-offline{color:#fffc;background:#ffffff0f}.page{flex-direction:column;gap:18px;max-width:1320px;margin:0 auto;padding:22px 20px 72px;display:flex}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px}.panel-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.panel-head h2{color:var(--pine-800);font-size:18px;font-weight:700}.panel-note{color:var(--ink-500);margin-top:3px;font-size:13px}.sub-head{color:var(--ink-700);margin-bottom:10px;font-size:14px;font-weight:700}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>span,.field-label{color:var(--ink-700);font-size:13px;font-weight:600}.field input,.field select,.field textarea,.control{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;padding:9px 11px;transition:border-color .15s,box-shadow .15s}.field input,.field select{height:42px}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.control:focus{border-color:var(--pine-600);outline:none;box-shadow:0 0 0 3px #1f875a21}.hint{color:var(--ink-500);margin-top:-4px;font-size:12.5px}.switch{color:var(--ink-700);cursor:pointer;align-items:center;gap:9px;margin-top:14px;font-size:13.5px;display:flex}.switch input{width:18px;height:18px;accent-color:var(--pine-700);flex:0 0 18px}.data-warning{border-radius:var(--radius);background:var(--amber-bg);color:#7c4f14;border:1px solid #eddcbf;margin-top:12px;padding:10px 12px;font-size:13px}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;height:40px;padding:0 15px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.btn-solid{background:var(--pine-700);color:#fff}.btn-solid:hover{background:var(--pine-800)}.btn-accent{background:var(--gold);color:#fff}.btn-accent:hover{background:#96620a}.btn-ghost{background:var(--surface);border-color:var(--line);color:var(--ink-700)}.btn-ghost:hover{background:var(--pine-50);border-color:var(--pine-100)}.btn-danger{background:var(--surface);color:#a4452f;border-color:#f0cfc9}.btn-danger:hover{background:var(--clay-bg)}.btn-mini{background:var(--pine-50);border-color:var(--pine-100);height:34px;color:var(--pine-800);padding:0 11px;font-size:13px}.btn-mini:hover{background:var(--pine-100)}.btn-mini-blue{background:var(--blue-bg);color:var(--blue);border-color:#cfe0f2}.btn-mini-red{background:var(--clay-bg);color:var(--clay);border-color:#f0cfc9}.icon-btn{cursor:pointer;border:none;border-radius:8px;flex:0 0 30px;width:30px;height:30px;font-size:17px;line-height:1}.icon-add{background:var(--pine-100);color:var(--pine-800)}.icon-remove{background:var(--clay-bg);color:var(--clay)}.farm-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;display:grid}.program-bar{grid-template-columns:minmax(200px,1fr) minmax(200px,1fr) auto;align-items:end;gap:14px;display:grid}.program-actions{flex-wrap:wrap;gap:8px;display:flex}.age-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.age-tools-merge{border-top:1px solid var(--line-soft);margin:16px 0 0;padding-top:15px}.tool-text{color:var(--ink-500);font-size:13px}.tool-sep{background:var(--line);width:1px;height:22px}.mini-input{border:1px solid var(--line);width:68px;height:34px;font-family:var(--font-num);border-radius:8px;padding:0 9px;font-size:13px}.age-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.age-phase{border-left:3px solid var(--line);padding-left:11px}.age-phase:first-child{border-left-color:var(--amber)}.age-phase:nth-child(2){border-left-color:var(--pine-600)}.age-phase:nth-child(3){border-left-color:var(--blue)}.age-phase:nth-child(4){border-left-color:var(--clay)}.age-phase-label{letter-spacing:.08em;color:var(--ink-500);margin-bottom:7px;font-size:11.5px;font-weight:700;display:block}.age-phase-days{flex-wrap:wrap;gap:5px;display:flex}.age-chip{border:1px solid var(--line);background:var(--surface);width:36px;height:34px;color:var(--ink-300);font-family:var(--font-num);cursor:pointer;border-radius:8px;font-size:13px;font-weight:500;transition:transform .1s,background .15s}.age-chip:active{transform:scale(.94)}.age-chip.is-on{color:#fff;border-color:#0000;font-weight:600}.age-chip.phase-brood.is-on{background:var(--amber)}.age-chip.phase-starter.is-on{background:var(--pine-600)}.age-chip.phase-grower.is-on{background:var(--blue)}.age-chip.phase-finisher.is-on{background:var(--clay)}.schedule-scroll{border:1px solid var(--line);border-radius:var(--radius);-webkit-overflow-scrolling:touch;overflow-x:auto}.schedule{table-layout:fixed;min-width:1160px}.schedule thead th{z-index:2;background:var(--pine-800);color:#fff;text-align:center;border-right:1px solid #ffffff24;padding:11px 8px;font-size:12.5px;font-weight:600;line-height:1.25;position:sticky;top:0}.schedule thead th:last-child{border-right:none}.schedule thead small{opacity:.78;font-weight:400}.schedule .col-age{width:76px}.schedule .col-rate{width:132px}.schedule .col-amount{width:152px}.schedule .col-water{width:100px}.schedule .col-hours{width:84px}.schedule .col-weight{width:124px}.schedule .col-tools{width:78px}.schedule td{border-bottom:1px solid var(--line-soft);border-right:1px solid var(--line-soft);vertical-align:middle;background:var(--surface);padding:8px}.schedule td:last-child{border-right:none}.schedule tbody tr:last-child td{border-bottom:none}.schedule tr.phase-brood .cell-age{background:var(--amber-bg);color:#7c4f14}.schedule tr.phase-starter .cell-age{background:var(--pine-50);color:var(--pine-800)}.schedule tr.phase-grower .cell-age{background:var(--blue-bg);color:#1d4f86}.schedule tr.phase-finisher .cell-age{background:var(--clay-bg);color:#83341f}.cell-age{text-align:center;padding:8px 4px}.cell-age-num{font-family:var(--font-num);font-size:19px;font-weight:600;line-height:1;display:block}.cell-age-phase{opacity:.72;margin-top:3px;font-size:10.5px;display:block}.cell-figure{text-align:center;font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:500}.cell-amount{color:var(--pine-800);font-weight:600}.cell-weight{text-align:center;background:var(--pine-50);font-family:var(--font-num);color:var(--pine-900);border-left:2px solid var(--pine-100);font-weight:600}.cell-purpose{vertical-align:top;padding:8px}.cell-purpose textarea{min-height:56px;font-size:13.5px}.cell-purpose.is-merged{background:var(--blue-bg)}.cell-purpose.is-merged textarea{border-color:#c3d9f0;height:calc(100% - 24px)}.merge-tag{color:var(--blue);margin-bottom:5px;font-size:11px;font-weight:700;display:block}.cell-tools{text-align:center;white-space:nowrap}.cell-tools .icon-btn{justify-content:center;align-items:center;display:inline-flex}.rate-box{align-items:center;gap:6px;display:flex}.rate-box>span{font-family:var(--font-num);color:var(--ink-500);flex:none;font-size:13px}.rate-box input{font-family:var(--font-num);text-align:center;padding:9px 4px}.empty-row{text-align:center;color:var(--ink-300);padding:28px;font-size:14px}.day-cards{flex-direction:column;gap:12px;display:none}.day-card{border:1px solid var(--line);border-left:4px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:10px;padding:13px;display:flex}.day-card.phase-brood{border-left-color:var(--amber)}.day-card.phase-starter{border-left-color:var(--pine-600)}.day-card.phase-grower{border-left-color:var(--blue)}.day-card.phase-finisher{border-left-color:var(--clay)}.day-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.day-card-age{color:var(--pine-900);font-size:16px;font-weight:700}.day-card-phase{color:var(--ink-500);margin-left:7px;font-size:11.5px}.day-card-stats{font-family:var(--font-num);color:var(--ink-500);flex-direction:column;align-items:flex-end;gap:2px;font-size:12px;display:flex}.day-card-item{border:1px solid var(--line-soft);background:#fbfcfb;border-radius:9px;flex-direction:column;gap:8px;padding:10px;display:flex}.day-card-item-row{align-items:center;gap:9px;display:flex}.day-card-item-row .rate-box{flex:auto;min-width:0}.day-card-amount{font-family:var(--font-num);color:var(--pine-800);white-space:nowrap;font-size:14px}.day-card-empty{color:var(--ink-300);font-size:13px}.day-card-purpose textarea{min-height:54px;font-size:14px}.summary{min-width:640px}.summary thead th{background:var(--pine-700);color:#fff;text-align:center;padding:10px;font-size:13px;font-weight:600}.summary thead th:first-child{text-align:left}.summary td{border-bottom:1px solid var(--line-soft);padding:10px}.summary tbody tr:last-child td{border-bottom:none}.totals{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:14px;display:grid}.total-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--pine-50);flex-direction:column;gap:3px;padding:12px 14px;display:flex}.total-card span{color:var(--ink-500);font-size:12.5px}.total-card strong{font-family:var(--font-num);color:var(--pine-900);font-size:19px;font-weight:600}.total-card-accent{background:#fdf6e7;border-color:#eddcbf}.total-card-accent strong{color:var(--gold)}.modal{z-index:900;background:#0d221a80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal[hidden]{display:none}.modal-card{background:var(--surface);border-radius:var(--radius-lg);width:min(1040px,100%);max-height:92vh;padding:22px;overflow-y:auto}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:15px;display:flex}.modal-head h2{color:var(--pine-800);font-size:18px}.modal-close{background:var(--paper);cursor:pointer;border:none;border-radius:9px;width:36px;height:36px;font-size:22px;line-height:1}.product-layout{grid-template-columns:1fr 1.15fr;gap:26px;display:grid}.product-list{flex-direction:column;gap:9px;max-height:62vh;display:flex;overflow-y:auto}.product-row{border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:11px;padding:10px;display:flex}.product-row.is-off{opacity:.55}.product-thumb{background:var(--pine-50);width:44px;height:44px;color:var(--pine-700);border-radius:8px;flex:0 0 44px;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex;overflow:hidden}.product-thumb img{object-fit:contain;width:100%;height:100%}.product-info{flex:auto;min-width:0}.product-info strong{color:var(--pine-800);font-size:14.5px;display:block}.product-info span{color:var(--ink-500);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.product-row-actions{flex:none;gap:6px;display:flex}.product-form{border-left:1px solid var(--line);flex-direction:column;gap:13px;padding-left:26px;display:flex}.form-row{grid-template-columns:repeat(3,1fr);gap:11px;display:grid}.form-actions{justify-content:flex-end;gap:9px;padding-top:6px;display:flex}.image-row{align-items:center;gap:12px;display:flex}.image-preview{border:1px dashed var(--line);border-radius:var(--radius);width:92px;height:92px;color:var(--ink-300);background:var(--paper);flex:0 0 92px;justify-content:center;align-items:center;font-size:12px;display:flex;overflow:hidden}.image-preview img{object-fit:contain;width:100%;height:100%}.image-buttons{flex-direction:column;gap:7px;display:flex}.toast{z-index:1200;box-shadow:var(--shadow);text-align:center;border-radius:999px;max-width:calc(100vw - 40px);padding:11px 18px;font-size:14px;font-weight:500;animation:.2s toast-in;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast-ok{background:var(--pine-800);color:#fff}.toast-warn{background:var(--amber-bg);color:#7c4f14;border:1px solid #eddcbf}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.customer-overlay{z-index:1000;background:var(--paper);padding:84px 18px 40px;position:fixed;inset:0;overflow-y:auto}.customer-overlay[hidden]{display:none}.customer-toolbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:10;justify-content:center;align-items:center;gap:10px;height:64px;display:flex;position:fixed;top:0;left:0;right:0}.customer-sheet{border-radius:var(--radius-lg);width:min(1100px,100%);box-shadow:var(--shadow);background:#fff;margin:0 auto;padding:32px}.c-head{border-bottom:2px solid var(--pine-700);align-items:center;gap:16px;margin-bottom:18px;padding-bottom:18px;display:flex}.c-logo{object-fit:contain;flex:0 0 112px;width:112px;height:112px}.c-company{letter-spacing:.1em;color:var(--pine-700);font-size:20px;font-weight:800}.c-head h1{color:var(--pine-900);font-size:25px;font-weight:800}.c-farm{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px;font-size:13px;display:grid}.c-farm span{color:var(--ink-500);font-size:11.5px;display:block}.c-farm strong{color:var(--ink-900)}.c-table{table-layout:fixed;font-size:12.5px}.c-table thead th{background:var(--pine-700);color:#fff;text-align:center;border:1px solid #ffffff29;padding:9px 6px;font-weight:600;line-height:1.25}.c-table td{border:1px solid var(--line);vertical-align:middle;padding:7px 6px}.c-num{text-align:center;font-family:var(--font-num);font-variant-numeric:tabular-nums}.c-age{text-align:center;font-family:var(--font-num);font-weight:600}.c-purpose{text-align:left;vertical-align:top}.c-weight{text-align:center;background:var(--pine-50);font-family:var(--font-num);color:var(--pine-900);font-weight:600}.c-th-age{width:6%}.c-th-product{width:20%}.c-th-amount{width:13%}.c-th-purpose{width:28%}.c-th-water{width:11%}.c-th-hours{width:10%}.c-th-weight{background:#2c5b4c;width:12%}.customer-sheet h2{color:var(--pine-700);margin:26px 0 10px;font-size:17px;font-weight:700}.c-total{border-radius:var(--radius);background:var(--pine-50);margin-top:12px;padding:12px 16px;font-size:14px}.c-total strong{font-family:var(--font-num);color:var(--gold);font-size:19px}.c-products{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.c-product{border:1px solid var(--line);border-radius:var(--radius);gap:11px;padding:12px;font-size:12.5px;display:flex}.c-product img{object-fit:contain;flex:0 0 58px;width:58px;height:58px}.c-product h3{color:var(--pine-700);font-size:14px}.c-product-cat{color:var(--ink-500);margin-bottom:5px;font-size:11.5px}.c-note{border-top:1px solid var(--line-soft);color:var(--ink-500);margin-top:24px;padding-top:12px;font-size:11px;line-height:1.6}@media (max-width:1000px){.program-bar,.product-layout{grid-template-columns:1fr}.product-form{border-left:none;border-top:1px solid var(--line);padding-top:22px;padding-left:0}}@media (max-width:900px){.schedule-scroll-table{display:none}.day-cards{display:flex}}@media (max-width:720px){.masthead-inner{padding:14px 16px}.brand-mark{flex-basis:60px;width:60px;height:60px}.brand-title{font-size:19px}.conn-badge{display:none}.page{gap:14px;padding:16px 14px 60px}.panel{border-radius:var(--radius);padding:15px}.panel-head{flex-direction:column;gap:10px}.farm-grid{grid-template-columns:1fr 1fr}.form-row,.age-grid{grid-template-columns:1fr}.program-actions .btn{flex:calc(50% - 4px)}.customer-overlay{padding:76px 12px 30px}.customer-sheet{padding:18px}.c-table{font-size:11px}}@media print{@page{size:A4 landscape;margin:9mm}body{background:#fff}.masthead,.page,.modal,.no-print{display:none!important}.customer-overlay:not([hidden]){background:#fff;padding:0;position:static;overflow:visible;display:block!important}.customer-sheet{width:100%;box-shadow:none;border-radius:0;padding:0}.c-table{font-size:9.5px}.c-table thead{display:table-header-group}.c-table tr{break-inside:avoid}.c-table thead th{padding:5px 3px}.c-table td{padding:4px 3px}.c-logo{flex-basis:82px;width:82px;height:82px}.c-head h1{font-size:20px}.c-company{font-size:16px}.customer-sheet h2{margin:16px 0 7px;font-size:14px}.c-product{break-inside:avoid}}.head-actions{flex-wrap:wrap;gap:8px;display:flex}.program-status{border-radius:var(--radius);background:var(--pine-50);border:1px solid var(--pine-100);color:var(--ink-700);margin-top:12px;padding:9px 12px;font-size:12.5px;line-height:1.55}.program-actions.is-busy{opacity:.6}.program-actions button:disabled{opacity:.5;cursor:not-allowed}.dose-box{border:1px solid var(--line);border-left:3px solid var(--pine-600);border-radius:var(--radius);background:var(--pine-50);gap:8px;padding:12px;display:grid}.dose-box[hidden]{display:none}.dose-box .hint{margin:0}.dose-formula{color:var(--pine-800);border:1px dashed var(--pine-100);border-radius:var(--radius);font-size:12.5px;font-family:var(--font-num);background:#fff;padding:9px 11px;line-height:1.5}.product-note{color:var(--amber);margin-top:3px;font-size:11.5px;font-weight:600;display:block}.rate-box-weight>span{color:var(--ink-500);white-space:nowrap;font-size:11.5px}.rate-empty{color:var(--ink-300)}.mode-tag{background:var(--blue-bg);color:var(--blue);border-radius:999px;margin-top:4px;padding:1px 7px;font-size:10.5px;font-weight:600;display:inline-block}.amount-cell{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.amount-value{font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--pine-800);font-weight:600}.amount-value.is-manual{color:var(--gold)}.amount-tools{gap:4px;display:flex}.icon-edit{background:var(--pine-100);color:var(--pine-800);font-size:13px}.icon-revert{color:var(--gold);background:#fdf6e7;font-size:14px}.manual-flag{color:var(--gold);text-align:right;font-size:10.5px;font-weight:600;line-height:1.35}.day-card-amount-row{border-top:1px dashed var(--line-soft);justify-content:flex-end;padding-top:6px;display:flex}.modal-card-sm{gap:12px;max-width:420px;display:grid}.confirm-title{color:var(--pine-900);font-size:17px;font-weight:700;line-height:1.35}.confirm-text{color:var(--ink-500);font-size:13.5px;line-height:1.6}.confirm-text[hidden]{display:none}.manual-target{color:var(--pine-800);font-size:14px;font-weight:600}.manual-row{grid-template-columns:1fr 110px;gap:8px;display:grid}.manual-row input{font-family:var(--font-num);text-align:right;font-size:17px;font-weight:600}.manual-unit:disabled{background:var(--pine-50);color:var(--ink-500)}.c-legend{flex-wrap:wrap;gap:7px;margin-bottom:12px;display:flex}.c-legend-item{-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact;border:1px solid;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600}.c-legend-item.phase-brood{background:var(--amber-bg);color:#7c4f14;border-color:#e6d0ac}.c-legend-item.phase-starter{background:var(--pine-50);color:var(--pine-800);border-color:#bfe0cd}.c-legend-item.phase-grower{background:var(--blue-bg);color:#1d4f86;border-color:#c3d9f0}.c-legend-item.phase-finisher{background:var(--clay-bg);color:#83341f;border-color:#f0cfc9}.c-table,.c-table tr,.c-table td,.c-table th{-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact}.c-table tbody tr:nth-child(2n) td{background:0 0}.c-table tbody tr.phase-brood td{background:var(--amber-bg)}.c-table tbody tr.phase-starter td{background:var(--pine-50)}.c-table tbody tr.phase-grower td{background:var(--blue-bg)}.c-table tbody tr.phase-finisher td{background:var(--clay-bg)}.c-table tbody tr.phase-brood .c-age{color:#7c4f14;background:#f3e3c6}.c-table tbody tr.phase-starter .c-age{color:var(--pine-800);background:#d3ecdd}.c-table tbody tr.phase-grower .c-age{color:#1d4f86;background:#d6e6f7}.c-table tbody tr.phase-finisher .c-age{color:#83341f;background:#f5ddd6}.c-table tbody tr.phase-brood .c-weight{color:#7c4f14;background:#f3e3c6}.c-table tbody tr.phase-starter .c-weight{color:var(--pine-800);background:#d3ecdd}.c-table tbody tr.phase-grower .c-weight{color:#1d4f86;background:#d6e6f7}.c-table tbody tr.phase-finisher .c-weight{color:#83341f;background:#f5ddd6}.c-age-num{font-size:13px;font-weight:700;line-height:1.1;display:block}.c-age-phase{opacity:.85;font-size:9px;font-weight:600;line-height:1.25;display:block}.c-purpose-merged{background:#ffffff8c!important}.c-product-note{color:var(--amber);margin-top:5px;font-weight:600}.c-total strong{white-space:nowrap}@media (max-width:720px){.head-actions{width:100%}.head-actions .btn{flex:calc(50% - 4px)}.manual-row{grid-template-columns:1fr 96px}.c-legend-item{font-size:10px}}@media print{.c-legend{break-inside:avoid}.c-table tbody tr.phase-brood td{background:#fbf3e6!important}.c-table tbody tr.phase-starter td{background:#f0f8f3!important}.c-table tbody tr.phase-grower td{background:#e9f1fa!important}.c-table tbody tr.phase-finisher td{background:#fbeeea!important}.c-table tbody tr.phase-brood .c-age,.c-table tbody tr.phase-brood .c-weight{background:#f3e3c6!important}.c-table tbody tr.phase-starter .c-age,.c-table tbody tr.phase-starter .c-weight{background:#d3ecdd!important}.c-table tbody tr.phase-grower .c-age,.c-table tbody tr.phase-grower .c-weight{background:#d6e6f7!important}.c-table tbody tr.phase-finisher .c-age,.c-table tbody tr.phase-finisher .c-weight{background:#f5ddd6!important}}[hidden]{display:none!important}:root{--font-num:"DM Sans","Noto Sans Thai",sans-serif;--shadow:0 4px 24px #0d3b2607;--radius:10px;--radius-lg:16px}body{background:#f3f6f4;font-size:16px;line-height:1.6}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}.masthead{background:#0d3b26;border-bottom:3px solid #b9cf86}.masthead-inner,.topnav,.page{max-width:1440px}.masthead-inner{padding:17px 32px}.brand-mark{flex-basis:64px;width:64px;height:64px}.brand-name{font-family:var(--font-num);letter-spacing:.19em;color:#d6ca9e;font-size:12px}.brand-title{font-size:25px;line-height:1.6}.topnav{align-items:center;gap:24px;margin:auto;padding:0 32px;display:flex}.nav-tab{color:#c5dacb;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:13px 3px;font-weight:600}.nav-tab:hover,.nav-tab.active{color:#fff;border-bottom-color:#cfe691}.nav-company{color:#a7c4b1;margin-left:auto;font-size:13px}.page{gap:22px;padding:28px 32px 48px}.workspace-title{justify-content:space-between;align-items:center;gap:16px;display:flex}.workspace-title h2{color:#143f2d;font-size:26px;line-height:1.6}.eyebrow{letter-spacing:.17em;color:#668572;font-size:12px;font-weight:700}.quick-stats{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:repeat(4,1fr);padding:18px 0;display:grid}.quick-stats>div{border-right:1px solid var(--line);padding:0 25px}.quick-stats>div:last-child{border:0}.quick-stats span{color:var(--ink-500);font-size:14px;display:block}.quick-stats strong{font:600 30px/1.6 var(--font-num);color:var(--pine-800);display:block}.quick-stats small{font:400 14px var(--font-thai);color:var(--ink-500)}.panel{padding:24px}.panel-head h2{font-size:19px;line-height:1.7}.section-number{color:#4a785b;width:29px;height:29px;font:600 13px var(--font-num);vertical-align:middle;background:#eaf3ec;border-radius:8px;justify-content:center;align-items:center;margin-right:5px;display:inline-flex}.field>span,.field-label,.panel-note,.hint{font-size:14px}.field input,.field select,.field textarea,.control{min-height:44px;font-size:16px;line-height:1.6}.farm-grid{grid-template-columns:1.2fr 1.4fr 1fr 1fr;gap:18px}.field-help{color:#60776a;margin:16px 0 0;font-size:13px;line-height:1.8}.btn{min-height:42px;font-size:14px;line-height:1.6}.btn-mini{min-height:36px}.btn-secondary{color:#176b43;background:#e6f1e9;border:1px solid #c3dbcc}.program-bar{gap:16px}.program-status{font-size:13px}.age-phase{background:#fcf6ed;border-left:3px solid #b5741f;border-radius:6px;padding:12px}.age-phase:nth-child(2){background:#edf7f0;border-color:#1f875a}.age-phase:nth-child(3){background:#eef4fc;border-color:#2563a8}.age-phase:nth-child(4){background:#fbf0ed;border-color:#a4452f}.age-phase-label{font-size:14px;font-weight:600}.age-chip{min-width:36px;height:36px;font-size:14px}.bulk-bar{background:#f4f8f5;border-radius:12px;align-items:end;gap:14px;margin:0 0 18px;padding:16px;display:flex}.bulk-bar .field{min-width:260px}.bulk-bar .panel-note{align-self:center;margin-top:22px;font-size:13px}.age-date{white-space:nowrap;color:#5d7466;font-size:12px;font-weight:400;display:block}.schedule-scroll-table{max-height:650px;overflow:auto}.schedule th{z-index:2;color:#fff;background:#174e35;line-height:1.6;position:sticky;top:0}.schedule .col-product{width:22%}.schedule .col-purpose{width:17%}.schedule .cell-age{min-width:74px}.day-card-phase,.cell-age-phase{font-size:12px;line-height:1.6}.cell-age-num{line-height:1.5}.schedule td{padding:12px 10px}.amount-value{font-family:var(--font-num);font-size:15px;font-weight:700}.icon-btn{min-width:32px;min-height:32px}.account-area{align-items:center;gap:10px;display:flex}.account-button{color:#e3ece6;background:#ffffff0c;border:1px solid #ffffff40;border-radius:8px;padding:8px 14px;font-size:14px}.demo-badge{color:#e2dfc7;background:#ffffff0b;border:1px solid #cddcc244;border-radius:25px;padding:6px 14px;font-size:13px}.standard-filters{gap:20px;display:flex}.standard-filters .field{width:240px}#standard-table{max-height:70vh;margin-top:24px}.reference-table th{color:#fff;text-align:left;background:#174e35;padding:14px;position:sticky;top:0}.reference-table td{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;padding:12px 14px}.reference-table .phase-brood{background:#fbf3e6}.reference-table .phase-starter{background:#f0f8f3}.reference-table .phase-grower{background:#e9f1fa}.reference-table .phase-finisher{background:#fbeeea}.site-footer{border-top:1px solid var(--line);color:#688273;max-width:1376px;font:500 12px var(--font-num);letter-spacing:.07em;justify-content:space-between;gap:20px;margin:0 auto 28px;padding-top:18px;display:flex}.site-footer span{font:400 13px var(--font-thai);letter-spacing:0}.auth-screen{background:#f6f8f6;grid-template-columns:1fr 1fr;align-items:center;min-height:100vh;display:grid}.auth-brand{color:#fff;background:#0d3b26;grid-template-columns:minmax(0,1fr) 34%;align-content:center;align-items:start;min-height:100vh;padding:9vh 7%;display:grid}.auth-brand img{object-fit:contain;width:224px;height:224px;margin-bottom:24px}.auth-brand>*{grid-column:1}.auth-brand .auth-chicken{object-fit:contain;filter:drop-shadow(0 16px 18px #031e2240);grid-area:2/2/6;align-self:end;width:100%;height:auto;margin:0}.auth-brand .eyebrow{color:#dbca97;letter-spacing:1.8px;font-size:10px}.auth-brand h1{white-space:nowrap;margin:22px 0 18px;font-size:clamp(22px,2.15vw,36px);font-weight:700;line-height:1.6}.auth-brand>p:not(.eyebrow){color:#bdd2c4;line-height:1.9}.auth-phases{flex-wrap:wrap;gap:8px;margin-top:32px;display:flex}.auth-phases span{border-left:3px solid #d4b26c;padding:3px 9px;font-size:11px}.auth-phases span:nth-child(2){border-color:#72bd94}.auth-phases span:nth-child(3){border-color:#87b4e0}.auth-phases span:nth-child(4){border-color:#d9927d}.auth-card{width:min(430px,85%);margin:auto;padding:48px 0}.auth-card h2{color:#153e2c;margin:12px 0;font-size:28px;line-height:1.5}.auth-desc{color:#668071;margin-bottom:28px;line-height:1.9}.auth-card form{gap:20px;display:grid}.auth-card .btn{width:100%;min-height:48px}.auth-foot{color:#688273;margin-top:24px;font-size:13px;line-height:1.8}.company-drive-link{color:#153e2c;border-top:1px solid #d8e4dc;align-items:center;gap:20px;margin-top:38px;padding:28px 0 8px;font-size:clamp(19px,1.5vw,23px);font-weight:800;line-height:1.65;text-decoration:none;display:flex}.company-drive-link img{object-fit:contain;flex-shrink:0;width:80px;height:74px}.company-drive-link:hover span{text-underline-offset:5px;text-decoration:underline}.company-drive-link:focus-visible{outline-offset:8px;border-radius:8px;outline:3px solid #4285f4}@media (min-width:721px) and (max-width:1100px){.auth-screen{grid-template-columns:1fr}.auth-brand{min-height:auto;padding:52px 7%}.auth-brand h1{font-size:32px}.auth-brand .auth-chicken{max-height:300px}.auth-card{width:min(520px,85%)}}#auth-error{color:#ac3838;margin:16px 0;font-size:14px}.auth-success{color:#257046!important}.auth-link{color:#17623d;cursor:pointer;font:600 14px var(--font-thai);text-underline-offset:3px;background:0 0;border:0;padding:10px 0;text-decoration:underline}.profile-dialog{border:1px solid var(--line);border-radius:18px;width:min(480px,90vw);padding:28px}.profile-dialog::backdrop{background:#0d2818aa}.profile-dialog form{gap:16px;display:grid}.profile-dialog [role=alert]{color:#a63b35;font-size:14px}.approval-dialog{border:1px solid var(--line);border-radius:18px;width:min(620px,92vw);padding:28px}.approval-dialog::backdrop{background:#0d2818aa}.approval-dialog form{gap:16px;display:grid}.dialog-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:16px;padding-bottom:14px;display:flex}.dialog-head h2{color:#153e2c;margin:4px 0 0}.approval-list{gap:10px;max-height:55vh;display:grid;overflow:auto}.approval-row{border:1px solid var(--line);background:#fbfdfb;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.approval-row div{gap:4px;display:grid}.approval-row small{color:#688273;font-size:12px}.approval-row .btn{white-space:nowrap;width:auto;min-height:40px}.approval-empty{color:#688273;text-align:center;padding:24px}.approval-error{color:#a63b35}.modal-close{min-width:44px;min-height:44px}.modal-card{padding:28px}.product-layout{gap:28px}@media (max-width:1000px){.nav-company{display:none}.farm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.masthead-inner{padding:16px 24px}.page,.topnav{padding-left:24px;padding-right:24px}}@media (max-width:720px){.masthead-inner{flex-wrap:wrap;align-items:start;gap:12px;padding:16px}.brand-title{font-size:20px}.brand-mark{flex-basis:50px;width:50px;height:50px}.brand-name{font-size:11px}.account-area{margin-left:64px}.demo-badge{padding:3px 10px;font-size:12px}.topnav{gap:20px;padding:0 16px;overflow-x:auto}.nav-tab{font-size:14px}.page{gap:16px;padding:20px 14px 36px}.workspace-title h2{font-size:22px}.workspace-title>.btn{white-space:nowrap;padding:8px 10px;font-size:12px}.eyebrow{font-size:11px}.quick-stats{grid-template-columns:1fr 1fr;row-gap:14px;padding:10px 0}.quick-stats>div{padding:4px 18px}.quick-stats>div:nth-child(2){border:0}.quick-stats strong{font-size:25px}.quick-stats span{font-size:13px}.panel{padding:18px 14px}.farm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.farm-grid>.field:nth-child(2){grid-area:1/1/auto/-1}.panel-head h2{font-size:18px}.bulk-bar{flex-wrap:wrap;gap:10px;padding:12px}.bulk-bar .field{width:100%;min-width:0}.bulk-bar .panel-note{margin:0;font-size:12px}.bulk-bar .btn{width:100%}.day-card{border-radius:12px;margin-bottom:12px;padding:16px}.day-card-stats{font-size:13px}.day-card-age{font-size:18px}.day-card-empty{font-size:14px}.site-footer{flex-direction:column;gap:6px;margin:0 18px 22px}.auth-screen{grid-template-columns:1fr}.auth-brand{grid-template-columns:minmax(0,1fr) 120px;min-height:auto;padding:32px 24px}.auth-brand img{width:112px;height:112px;margin-bottom:12px}.auth-brand .auth-chicken{grid-area:1/2/3;justify-self:end;width:110px;height:164px}.auth-brand .eyebrow{letter-spacing:1px;align-self:center;font-size:8px}.auth-brand h1{white-space:normal;grid-column:1/-1;margin:18px 0 0;font-size:clamp(22px,6.3vw,28px)}.auth-brand>p:not(.eyebrow),.auth-phases{display:none}.auth-card{padding:32px 0}.auth-card h2{font-size:25px}.company-drive-link{gap:14px;margin-top:30px;padding-top:24px;font-size:19px}.company-drive-link img{width:64px;height:60px}.standard-filters{gap:12px}.standard-filters .field{width:50%}.reference-table{font-size:14px}.reference-table th,.reference-table td{padding:9px}.customer-sheet{padding:18px}.c-table{table-layout:fixed;font-size:11px}.c-table th,.c-table td{overflow-wrap:anywhere}.c-head h1{font-size:19px}.c-th-product{width:23%}.c-th-purpose{width:22%}.c-th-weight{width:12%}}@media print{.site-footer,.auth-screen{display:none!important}.customer-sheet{max-width:none;padding:0}.c-table{table-layout:fixed}.c-table th,.c-table td{overflow-wrap:anywhere}.age-date{font-size:8px}}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px;display:grid}.catalog-card{border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px #153e2c08}.catalog-open{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;display:block}.catalog-open:focus-visible{outline-offset:-3px;outline:3px solid #248755}.catalog-image{color:#718576;background:linear-gradient(140deg,#f0f7f1,#faf8ef);justify-content:center;align-items:center;height:220px;padding:20px;display:flex}.catalog-image img{object-fit:contain;width:100%;height:100%}.catalog-copy{gap:10px;padding:20px;display:grid}.catalog-copy h3{color:#153e2c;font-size:21px}.catalog-copy p{font-size:14px;line-height:1.8}.catalog-copy small{color:#187649;font-weight:700}.catalog-details{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.catalog-badge{color:#187649;background:#e8f3eb;border-radius:20px;justify-self:start;padding:3px 12px;font-size:12px}.catalog-actions{padding:0 20px 20px}.saved-list{gap:16px;display:grid}.saved-card{justify-content:space-between;align-items:center;gap:24px;display:flex}.saved-card h3{overflow-wrap:anywhere;font-size:22px}.saved-card p{margin:8px 0}.saved-card small{color:#6c8076}.saved-actions{flex-wrap:wrap;flex-shrink:0;gap:10px;display:flex}.catalog-dialog{color:#173f2d;border:1px solid #d5e4d9;border-radius:20px;width:min(620px,94vw);max-height:90vh;padding:28px;overflow:auto}.catalog-dialog::backdrop{background:#0d261a99}.catalog-dialog h3{margin:22px 0 8px}.catalog-dialog .field{margin:18px 0}.detail-image{object-fit:contain;width:100%;height:240px;margin:20px auto;display:block}.detail-copy{white-space:pre-wrap;line-height:1.9}.detail-error{color:#b33b31}[data-role=product-modal] .product-layout{display:block}[data-role=product-modal] .product-layout>div:first-child{display:none}[data-role=product-modal] .product-form{border:0;padding:0}[data-role=product-modal] .modal-card{max-width:720px}.program-purpose-field{margin-bottom:18px}.page,.panel,.field{min-width:0}.field input[type=date]{width:100%;min-width:0;max-width:100%}.customer-table-scroll{-webkit-overflow-scrolling:touch;max-width:100%;margin-bottom:22px;overflow-x:auto}@media screen{.customer-table-scroll .c-table{table-layout:fixed;min-width:900px}.customer-table-scroll .c-summary{min-width:650px}.customer-table-scroll .c-age{white-space:nowrap}.customer-table-scroll .c-table th{word-break:normal}}@media (max-width:900px){.schedule-scroll-table{max-width:100%;display:block}.day-cards{display:none}.schedule{min-width:1160px}.schedule-scroll-table:before{content:"ปัดซ้าย–ขวาเพื่อดูตารางครบทุกคอลัมน์ ↔";color:#26744c;background:#eff7f1;padding:12px;font-size:12px;display:block;position:sticky;left:0}.customer-table-scroll:before{content:"ปัดซ้าย–ขวาเพื่อดูตาราง ↔";color:#26744c;padding:8px;font-size:12px;display:block;position:sticky;left:0}.saved-card{flex-direction:column;align-items:stretch}.saved-actions{flex-shrink:1}.topnav{flex-wrap:nowrap;overflow-x:auto}.nav-tab{white-space:nowrap;flex-shrink:0}.nav-company{display:none}}@media (max-width:420px){.catalog-grid{grid-template-columns:1fr}.catalog-dialog{padding:20px}.form-row{flex-wrap:wrap}.product-form .form-row{grid-template-columns:1fr;display:grid}}@media print{#catalog-view,#saved-view,.catalog-dialog{display:none!important}.customer-table-scroll{margin:0;overflow:visible}.customer-table-scroll:before{display:none}.customer-table-scroll .c-table{width:100%;min-width:0}}.catalog-filters{grid-template-columns:2fr 1fr;gap:18px;display:grid}.catalog-badge{white-space:normal;overflow-wrap:anywhere}@media (max-width:720px){.catalog-filters{grid-template-columns:1fr;gap:12px}}
