:root{
 --ui-forest:#175f4b;--ui-ink:#203e34;--ui-paper:#fffef7;--ui-cream:#eeece1;--ui-line:#cdd4c5;--ui-muted:#5e6e60;--ui-gold:#bd8a32;--ui-danger:#a43d32;--ui-focus:#28735b;
 --ui-radius:12px;--ui-panel:22px;--ui-gap:16px;--ui-body:16px;--ui-heading:28px;--ui-leading:1.6;
 --scroll-thumb:#84947d;--scroll-track:#e5e8dc;--scroll-hover:#536f59;--scroll-active:#175f4b;
 --z-nav:100;--z-overlay:600;--z-toast:900;
}
html{scrollbar-gutter:stable;scroll-padding-bottom:100px;scroll-behavior:auto}
*{scrollbar-color:var(--scroll-thumb) var(--scroll-track);scrollbar-width:auto;box-sizing:border-box}
*::-webkit-scrollbar{width:12px;height:12px}*::-webkit-scrollbar-track{background:var(--scroll-track)}*::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:3px solid var(--scroll-track);border-radius:12px}*::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}*::-webkit-scrollbar-thumb:active{background:var(--scroll-active)}
body{color:var(--ui-ink);font-size:var(--ui-body);line-height:var(--ui-leading)}
.btn,button,summary{cursor:pointer;touch-action:manipulation}.btn{min-height:44px;border-radius:var(--ui-radius)}.btn:disabled,button:disabled{cursor:default;transform:none}.btn[aria-busy=true]{opacity:.7;cursor:wait}.btn-danger{color:var(--ui-danger);border-color:var(--ui-danger)}
button:focus-visible,summary:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}
.muted{color:var(--ui-muted)}.brand .eyebrow{letter-spacing:.13em}.brand h1{line-height:1.4}.brand .hen-logo{flex:none}.account strong{overflow-wrap:anywhere}.grow{min-width:0}.num,.stat-v{font-variant-numeric:tabular-nums}
.flock-details{margin-top:22px}.flock-details>summary{display:flex;justify-content:space-between;gap:12px;padding:15px 18px;background:var(--ui-paper);border:1px solid var(--ui-line);border-radius:var(--ui-radius);font-weight:700;list-style:none}.flock-details>summary::after{content:'+';font-size:22px}.flock-details[open]>summary::after{content:'−'}.flock-details>summary small{margin-left:auto;font-size:13px;font-weight:400;color:var(--ui-muted)}.flock-details>summary::-webkit-details-marker{display:none}
.calendar-scroll{overflow-x:auto;padding:3px 3px 18px;scrollbar-gutter:stable}.calendar-scroll .cal-grid{min-width:1050px}.calendar-scroll .item .nm{font-size:14px;line-height:1.5}.calendar-scroll .item .ds{font-size:12px}.calendar-scroll .item img{width:92px;height:100px}.calendar-scroll .day .sess{padding:8px;margin:5px 6px}.calendar-scroll .vaccine-toggle{font-size:12px;min-height:36px;margin:6px 8px 9px}.calendar-scroll .day{min-height:185px}.calendar-scroll .daynote{font-size:12px}.calendar-scroll .dhead{padding:8px 10px}.calendar-scroll .daynum{font-size:18px}.calendar-scroll .day-edit{min-width:0}
.tabs{flex-wrap:nowrap;overflow:auto;padding:8px;scrollbar-gutter:stable}.tabs .tabbtn{min-height:44px;flex:none}.tabbtn[aria-selected=true]{font-weight:700}.search-field{position:relative}.search-field input{width:100%;padding-right:48px;min-height:44px}.search-field button{position:absolute;right:2px;top:2px;min-width:40px;box-shadow:none}.search-field input::-webkit-search-cancel-button{-webkit-appearance:none}
.overlay{z-index:var(--z-overlay);padding:20px;align-items:center}.modal,.a4modal{max-height:calc(var(--visual-height,100dvh) - 40px);overflow:auto;overscroll-behavior:contain;scroll-padding:20px}.modal .row-top{position:sticky;top:-16px;background:var(--ui-paper);z-index:1;padding-block:10px}.modal-open{overflow:hidden}.modal textarea,textarea{resize:none;min-height:90px}.modal .slot{gap:10px}.field-error{font-size:13px;color:var(--ui-danger);margin-top:6px}.inp[aria-invalid=true]{border-color:var(--ui-danger)}
.decision-dialog{width:min(480px,calc(100% - 32px));max-height:calc(var(--visual-height,100dvh) - 48px);overflow:auto;border:1px solid var(--ui-line);border-radius:var(--ui-panel);background:var(--ui-paper);padding:26px;color:var(--ui-ink);box-shadow:0 20px 80px #193f3540}.decision-dialog::backdrop{background:#16362988}.decision-dialog h2{font-size:23px}.decision-actions{justify-content:flex-end}.decision-dialog .btn-danger{background:var(--ui-danger);color:white;box-shadow:none}
#toastRegion{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));right:24px;z-index:var(--z-toast);display:grid;gap:8px;max-width:min(480px,calc(100vw - 32px));pointer-events:none}.app-toast{display:flex;gap:18px;align-items:center;padding:14px 18px;border-radius:var(--ui-radius);background:var(--ui-ink);color:white;box-shadow:0 8px 24px #203e3430;pointer-events:auto}.app-toast button{border:0;background:transparent;color:white;font:inherit;min-width:32px;min-height:32px}.standards-table{font-variant-numeric:tabular-nums}.standards-table .standard-unavailable{color:var(--ui-muted)}
@media(max-width:760px){
 .wrap{padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right))}header.wrap{padding-top:max(16px,env(safe-area-inset-top))}.brand-row{gap:14px;margin-bottom:18px}.brand{gap:14px}.brand .hen-logo{width:66px;height:66px;padding:5px;border-radius:20px;box-shadow:0 4px 0 #cecbb6,0 8px 14px #34453214}.brand h1{font-size:25px}.brand .eyebrow{font-size:9px;margin-bottom:3px}.company{font-size:12px}.account{padding:8px 12px;border-radius:14px;font-size:13px}.account small{font-size:10px}.account .btn{font-size:12px;min-height:40px}
 .program-bar{padding:16px;border-left-width:4px;gap:12px;border-radius:18px}.program-bar .grow{width:100%}.program-bar .farm-input{font-size:22px;max-width:100%;width:100%}.program-actions{display:grid!important;grid-template-columns:1fr 1fr;width:100%;gap:8px!important}.program-actions .btn{font-size:13px;min-height:44px;padding:9px 6px}.flock-details{margin-top:18px}.flock-details>summary{font-size:13px;gap:8px;align-items:center;padding:13px}.flock-details>summary small{font-size:11px;max-width:120px}.flock-grid input,.flock-grid select,.inp,input,select,textarea{font-size:16px}.flock-grid{gap:12px;padding:14px}.house-tabs{flex-wrap:wrap}.house-tabs .tabbtn{font-size:13px}.tabs{margin-top:18px}.tabs .tabbtn{font-size:13px;padding:10px 12px}.standard-strip{font-size:12px;gap:10px}.model-note{font-size:12px}
 .calendar-scroll .item .txt{width:100%}.calendar-scroll .item{gap:4px}.calendar-scroll .sess-items{gap:10px}.calendar-scroll .sess-tag{display:none}
 main.wrap{padding-bottom:40px!important}#toastRegion{bottom:calc(24px + env(safe-area-inset-bottom));right:16px}.overlay{padding:max(12px,env(safe-area-inset-top)) 8px max(12px,env(safe-area-inset-bottom));align-items:center}.modal,.a4modal{width:100%;max-height:calc(var(--visual-height,100dvh) - 32px);padding:16px;border-radius:20px}.modal .slot{display:grid;grid-template-columns:44px minmax(0,1fr)}.slot select{min-width:0!important;width:100%}.slot .dosewrap{grid-column:2;justify-content:flex-end}.modal .row.spread{gap:10px}.product-grid{grid-template-columns:1fr}.product-photo{height:260px}
}
@media(forced-colors:active){*{scrollbar-color:auto}.btn,.card,.day,.inp{border:1px solid CanvasText}.tabbtn[aria-selected=true]{outline:2px solid Highlight}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important;transform:none!important}}
@media print{.calendar-scroll{overflow:visible}.calendar-scroll .cal-grid{min-width:0}}

@media(hover:none){.day:hover,.product:hover,.btn:hover{transform:none}}

/* Weekly schedules: every week is visible, with two compact independent sessions. */
.week-stack{display:grid;gap:22px}.week-section{padding:0;min-width:0;overflow:hidden}.week-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--ui-line)}.week-section-head h3{font-size:20px;scroll-margin-top:20px}.week-section-head .row{gap:8px}.week-section-head .btn{font-size:12px;box-shadow:none}.week-scroll{overflow-x:auto;padding:12px 12px 16px;scrollbar-gutter:stable}.weekly-grid{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));gap:9px;min-width:1320px;align-items:stretch}.weekly-day{display:grid;grid-template-rows:auto 1fr 1fr auto auto;min-height:0;border-radius:13px;box-shadow:0 2px 0 #d8dacc}.weekly-day:hover{transform:none}.weekly-head{border-top:4px solid var(--weekday);padding:9px 11px;background:var(--ui-paper)}.weekly-head h4{font-size:16px;line-height:1.6}.weekly-session{display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:84px;margin:3px 6px;padding:8px;border:1px solid transparent;border-radius:8px;text-align:left;font:inherit;color:var(--ui-ink)}.weekly-session-am{background:#fff2d8}.weekly-session-pm{background:#edf0fb}.weekly-session:hover{border-color:var(--ui-forest)}.weekly-session:active{filter:brightness(.97)}.weekly-session-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700}.weekly-session-label>span{font-size:17px}.weekly-empty{display:block;font-size:12px;color:var(--ui-muted);padding:8px 0}.weekly-day .weekly-session .sess{display:block;margin:0;padding:0;background:transparent}.weekly-session .sess-tag{display:none}.weekly-session .sess-items{display:flex;flex-direction:column;gap:8px}.weekly-session .item{display:flex;flex-direction:row-reverse;align-items:center;justify-content:flex-end;gap:5px;margin-top:5px}.weekly-session .item img{width:48px;height:57px;flex:none;object-fit:contain}.weekly-session .item .txt{min-width:0;flex:1}.weekly-session .item .nm{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.weekly-session .item .ds{font-size:12px}.weekly-day-foot{display:flex;align-items:center;gap:4px;padding:4px 6px}.weekly-day .vaccine-toggle{font-size:11px;min-height:44px;flex:1;margin:0;padding:6px 3px;border-radius:8px}.week-note-button{width:44px;min-height:44px;flex:none;border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-paper);font:700 24px Sarabun;color:var(--ui-muted)}.week-note-button:hover{color:var(--ui-forest);border-color:var(--ui-forest)}.weekly-day .daynote{padding:0 9px 8px;font-size:12px;line-height:1.5;max-height:44px;overflow:hidden}.week-subtotal{padding:12px 18px 16px;border-top:1px solid var(--ui-line)}.week-subtotal h4{font-size:14px}.week-subtotal .pill{font-size:12px}.week-add-bottom{display:block;width:100%;margin-top:18px;min-height:48px;background:var(--ui-paper);border:1px dashed var(--ui-forest);color:var(--ui-forest);box-shadow:none}
@media(max-width:760px){.week-section-head{align-items:flex-start;flex-direction:column;padding:12px}.week-section-head .row{width:100%;gap:6px}.week-section-head .btn{padding:6px 8px;font-size:11px}.week-section-head .btn-danger{margin-left:auto}.week-scroll{padding:8px 8px 14px}.week-stack{gap:18px}.week-subtotal{padding:10px 12px 14px}.weekly-program>div>.no-print{width:100%}}

/* Exact category colors from the shared Siamapp catalog. */
[data-theme=supplement]{--cat:#267743;--cat-soft:#eaf6eb;--cat-line:#cce6cf}[data-theme=medicine]{--cat:#2868a1;--cat-soft:#eaf3fc;--cat-line:#caddf2}[data-theme=vaccine]{--cat:#7655aa;--cat-soft:#f3edfc;--cat-line:#e0d3f2}[data-theme=insect]{--cat:#a86813;--cat-soft:#fff3df;--cat-line:#efd9af}[data-theme=odor]{--cat:#167e82;--cat-soft:#e7f7f6;--cat-line:#bfe5e2}[data-theme=pest]{--cat:#b8505d;--cat-soft:#fff0f1;--cat-line:#f1ccd1}[data-theme=other]{--cat:#52677a;--cat-soft:#edf2f6;--cat-line:#d3dfe7}
.category-chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.category-chip{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:8px 12px;border:1px solid var(--cat-line);border-radius:999px;background:var(--ui-paper);color:var(--cat);font:600 12px Sarabun}.category-chip:hover,.category-chip[aria-pressed=true]{background:var(--cat-soft);border-color:var(--cat)}.category-chip[aria-pressed=true]{box-shadow:0 0 0 1px var(--cat)}.category-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--cat);flex:none}.category-count{font-variant-numeric:tabular-nums;font-weight:400}.product[data-theme]{border:1px solid var(--cat-line);border-top:4px solid var(--cat);background:var(--ui-paper)}.product[data-theme]:hover{border-color:var(--cat);box-shadow:0 3px 0 var(--cat-line),0 12px 25px #29412b14}.product[data-theme] .product-photo{background:linear-gradient(var(--ui-paper),var(--cat-soft))}.product[data-theme] .product-body{background:var(--ui-paper)}.category-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border:1px solid var(--cat-line);border-radius:999px;background:var(--cat-soft);color:var(--cat);font-size:11px;line-height:1.5}.product .category-badge{margin-bottom:10px}.product[data-theme] .product-body>.row .btn{color:var(--cat);border-color:var(--cat-line)}
/* Mobile catalog: picture + full name; details use the shared product dialog. */
.catalog-compact .product{min-width:0}.catalog-compact .product-body h3{overflow-wrap:anywhere}
.export-toolbar{position:sticky;top:-16px;background:var(--ui-paper);z-index:2;padding-block:12px}.export-pager{justify-content:center;margin-bottom:12px}.export-page-count{min-width:110px;text-align:center}.export-help{margin-block:8px;color:var(--ui-muted);font-size:14px}.a4modal[aria-busy=true]{cursor:progress}.sess-box .remove-slot{flex:none}
@media(max-width:760px){
 .product-grid.catalog-compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .catalog-compact .product{border-radius:12px}.catalog-compact .product-photo{height:120px;padding:8px;display:block}
 .catalog-compact .product-body{padding:8px;gap:5px}.catalog-compact .product-body h3{font-size:13px;line-height:1.45}
 .catalog-compact .product-body>p,.catalog-compact .product-body>.row{display:none}
 .catalog-compact .category-badge{font-size:10px;padding:3px 4px;white-space:normal;overflow-wrap:anywhere}.catalog-compact .category-dot{width:5px;height:5px;flex:none}
 .product-grid.catalog-large{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-large .product-body{padding:10px}.catalog-large .product-body h3{font-size:16px;overflow-wrap:anywhere}.catalog-large .product-photo{height:175px;padding:12px}
 .modal .slot{grid-template-columns:42px minmax(0,1fr) 44px}.slot .remove-slot{grid-column:3;grid-row:1;padding-inline:3px}.slot .dosewrap{grid-column:2 / 4;max-width:100%}
 .export-toolbar .row{gap:8px}.export-toolbar .btn{font-size:14px;padding-inline:10px}.export-pages{padding:6px}
}

/* Monthly vaccine dates use one manager; marked dates retain a static label. */
.vaccine-label{display:block;margin:6px 8px;padding:6px 9px;border-radius:8px;background:#fff0ce;color:#704207;font-size:12px;font-weight:700;overflow-wrap:anywhere}
.vaccine-modal{width:min(660px,100%)}.vaccine-form{display:grid;gap:14px;padding:18px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-paper)}.vaccine-form .inp{width:100%;min-width:0}.vaccine-form label{gap:6px}.vaccine-list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid var(--ui-line)}.vaccine-list-item>div:first-child{min-width:0;flex:1;overflow-wrap:anywhere}.vaccine-list-item .row{flex:none;gap:6px}.vaccine-list-item p{margin-top:5px;color:var(--ui-muted)}
@media(max-width:480px){.vaccine-list-item{align-items:flex-start;flex-direction:column}.vaccine-form{padding:14px}.vaccine-form>.row .btn{flex:1}}

/* One shared program toolbar and customer export controls. */
.drive-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;text-decoration:none}.drive-link img{display:block}.cost-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ui-gap);margin-block:16px}.cost-card{padding:16px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-paper)}.cost-card strong{display:block;margin-top:8px;font-variant-numeric:tabular-nums;font-size:22px;color:var(--ui-forest)}.export-cost-toggle{display:flex;align-items:center;gap:10px;min-height:44px;margin-top:8px;font-weight:700}.export-cost-toggle input{width:22px;height:22px;accent-color:var(--ui-forest)}
@media(max-width:760px){.cost-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cost-card{padding:12px}.cost-card strong{font-size:19px}.program-actions #newProgram{grid-column:1/-1}.account{flex-wrap:wrap}.account .drive-link{min-height:44px}}
.dosewrap{flex-wrap:wrap}.dose-status{flex-basis:100%;text-align:right;font-size:12px;color:var(--ui-muted)}.dose-unavailable{color:var(--ui-danger);max-width:240px}.modal .dosein{min-width:0}

/* R2: keep both account destinations together and the export cost switch visible. */
.account{flex-wrap:wrap;max-width:650px}.account-user{min-width:0;flex:1}.account-links{display:flex;align-items:center;flex-wrap:nowrap;gap:8px}.account-links .btn{margin:0;flex:none;white-space:nowrap}.drive-link{gap:8px}.drive-link img{flex:none;width:28px;height:28px}.drive-link span{font-size:13px}.release-label{flex-basis:100%;text-align:right;color:var(--ui-muted);font-variant-numeric:tabular-nums}
.export-cost-toggle{padding:10px 12px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-paper);flex-wrap:wrap}.export-cost-toggle input{appearance:none;flex:none;width:42px;height:24px;border-radius:20px;background:var(--ui-line);position:relative;cursor:pointer}.export-cost-toggle input::before{content:'';position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:white}.export-cost-toggle input:checked{background:var(--ui-forest)}.export-cost-toggle input:checked::before{left:21px}.export-cost-toggle input:focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}.export-cost-toggle input:disabled{cursor:wait}.export-cost-state{font-size:13px;font-weight:400;color:var(--ui-muted);margin-left:auto}
@media(max-width:760px){.account{width:100%;max-width:none}.account-links{width:100%;justify-content:flex-end}.account .account-links .btn{margin:0;min-height:44px;font-size:13px}.release-label{font-size:11px}.export-cost-state{flex-basis:100%;margin-left:52px}}
@media(forced-colors:active){.export-cost-toggle input{appearance:auto}.export-cost-toggle input::before{display:none}}
