.rdp-root{--rdp-accent-color:blue;--rdp-accent-background-color:#f0f0ff;--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-border-radius:100%;--rdp-day_button-border:2px solid transparent;--rdp-day_button-height:42px;--rdp-day_button-width:42px;--rdp-selected-border:2px solid var(--rdp-accent-color);--rdp-disabled-opacity:.5;--rdp-outside-opacity:.75;--rdp-today-color:var(--rdp-accent-color);--rdp-dropdown-gap:.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:.5;--rdp-nav_button-height:2.25rem;--rdp-nav_button-width:2.25rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--rdp-accent-background-color);--rdp-range_middle-color:inherit;--rdp-range_start-color:white;--rdp-range_start-background:linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%);--rdp-range_start-date-background-color:var(--rdp-accent-color);--rdp-range_end-background:linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%);--rdp-range_end-color:white;--rdp-range_end-date-background-color:var(--rdp-accent-color);--rdp-week_number-border-radius:100%;--rdp-week_number-border:2px solid transparent;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-opacity:.75;--rdp-weekday-padding:.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg;--rdp-animation_duration:.3s;--rdp-animation_timing:cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction:-90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity:unset}.rdp-root{box-sizing:border-box;position:relative}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{cursor:pointer;font:inherit;color:inherit;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius);background:0 0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;white-space:nowrap;border:0;align-items:center;display:inline-flex;position:relative}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{cursor:pointer;font:inherit;color:inherit;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{fill:var(--rdp-accent-color);display:inline-block}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform-origin:50%;transform:rotate(180deg)}.rdp-dropdowns{align-items:center;gap:var(--rdp-dropdown-gap);display:inline-flex;position:relative}.rdp-dropdown{z-index:2;opacity:0;appearance:none;width:100%;cursor:inherit;line-height:inherit;border:none;margin:0;padding:0;position:absolute;inset-block:0;inset-inline-start:0}.rdp-dropdown_root{align-items:center;display:inline-flex;position:relative}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{height:var(--rdp-nav-height);align-content:center;font-size:large;font-weight:700;display:flex}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{inset-inline-start:0;height:var(--rdp-nav-height);display:inline-flex;position:absolute;top:0}.rdp-root[data-nav-layout=around] .rdp-button_next{inset-inline-end:0;height:var(--rdp-nav-height);justify-content:center;display:inline-flex;position:absolute;top:0}.rdp-months{gap:var(--rdp-months-gap);flex-wrap:wrap;max-width:fit-content;display:flex;position:relative}.rdp-month_grid{border-collapse:collapse}.rdp-nav{height:var(--rdp-nav-height);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-end:0}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform);font-size:smaller;font-weight:500}.rdp-week_number{opacity:var(--rdp-week_number-opacity);height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align);font-size:small;font-weight:400}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-size:large;font-weight:700}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:oklch(96% .015 95);--surface:oklch(99.5% .005 95);--text:oklch(28% .035 150);--muted:oklch(52% .025 145);--accent:oklch(42% .08 150);--accent-ink:oklch(98% .01 95);--warn:oklch(78% .12 75);--danger:oklch(55% .16 25);--ok:oklch(45% .1 150);--border:oklch(88% .02 145);--radius:14px;--radius-lg:20px;--shadow-soft:0 12px 28px oklch(35% .04 150/.08);--shadow-panel:0 1px 0 oklch(100% 0 0/.55) inset, 0 12px 28px oklch(35% .04 150/.08);--focus-ring:0 0 0 3px oklch(55% .08 150/.18);color:var(--text);background:var(--bg);font-family:IBM Plex Sans Thai,IBM Plex Sans,system-ui,sans-serif;font-weight:450;line-height:1.4}*{box-sizing:border-box}html{scrollbar-gutter:stable both-edges;scrollbar-width:thin;overflow-x:clip}html::-webkit-scrollbar{width:6px}html::-webkit-scrollbar-thumb{background:oklch(75% .02 145/.55);border-radius:999px}body{background-color:#0000;background-image:radial-gradient(900px 480px at 8% -10%,oklch(55% .08 150/.16),#0000 55%),radial-gradient(700px 420px at 100% 100%,oklch(78% .05 95/.35),#0000 50%),linear-gradient(165deg,oklch(95.5% .018 100) 0%,oklch(97% .012 95) 50%,oklch(94% .02 145) 100%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:100dvh;margin:0;overflow-x:clip}#root{width:100%;min-height:100dvh;overflow-x:clip}button,input,select{font:inherit}a{color:var(--accent)}.page{width:100%;max-width:1100px;padding-block:1.15rem 5rem;padding-inline:max(1rem, env(safe-area-inset-left,0px)) max(1rem, env(safe-area-inset-right,0px));margin-inline:auto;animation:.4s cubic-bezier(.22,1,.36,1) both page-in}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=720px){.page{padding-inline:max(1.25rem, env(safe-area-inset-left,0px)) max(1.25rem, env(safe-area-inset-right,0px))}}.page.narrow{max-width:420px}.pos-grid,.panel{width:100%;min-width:0;max-width:100%}h1,h2{letter-spacing:-.03em;color:oklch(28% .04 150);margin:0 0 .4rem}h1{font-size:clamp(1.55rem,4vw,1.9rem);font-weight:700}h2{font-size:1.1rem;font-weight:650}.muted{color:var(--muted)}.tiny{font-size:.85rem}.danger{color:var(--danger)}.ok{color:var(--ok)}.hint{color:var(--muted);font-size:.92rem}.page-hero{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;display:flex}.page-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin:0 0 .2rem;font-size:.8rem;font-weight:650}.stack{flex-direction:column;gap:.75rem;display:flex}.row{align-items:center;display:flex}.row.between{justify-content:space-between;gap:.75rem}.row.gap{gap:.5rem}.wrap{flex-wrap:wrap}label{flex-direction:column;gap:.35rem;font-size:.92rem;font-weight:550;display:flex}input,select,button{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);border-radius:12px;padding:.55rem .8rem;transition:border-color .15s,box-shadow .15s,filter .15s,transform .12s}input,select{background:oklch(99% .006 95)}input:focus,select:focus{box-shadow:var(--focus-ring);border-color:oklch(50% .09 150);outline:none}button{background:var(--accent);color:var(--accent-ink);cursor:pointer;border-color:#0000;font-weight:600}button:not(:disabled):hover{filter:brightness(1.05)}button:not(:disabled):active{transform:scale(.985)}button:disabled{opacity:.5;cursor:not-allowed}button.ghost,.btn-link.ghost{color:var(--text);border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:oklch(99.5% .005 95/.65);justify-content:center;align-items:center;padding:.45rem .75rem;text-decoration:none;display:inline-flex}button.ghost:not(:disabled):hover,.btn-link.ghost:hover{filter:none;background:oklch(98% .01 95);border-color:oklch(55% .06 150/.45)}.card-btn{text-align:left;background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-soft);font-size:1.05rem}.panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:oklch(99.5% .005 95/.9);border:1px solid oklch(88% .02 145/.75);margin-top:1rem;padding:1.1rem 1.15rem}.flash{border-radius:12px;margin:.75rem 0 0;padding:.7rem .85rem;font-size:.92rem;font-weight:550}.flash.ok,.ok.flash,p.ok{background:oklch(45% .1 150/.1);border-radius:12px;padding:.65rem .8rem}p.danger,.danger-flash{background:oklch(55% .16 25/.1);border-radius:12px;padding:.65rem .8rem}.danger-flash{color:var(--danger)}.pos-grid{gap:1rem;display:grid}@media (width>=900px){.pos-grid{grid-template-columns:1.1fr .9fr;align-items:start}}.branch-page{max-width:480px}.branch-list{flex-direction:column;gap:.65rem;display:flex}.branch-card{text-align:left;min-height:56px;color:var(--text);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:oklch(99.5% .005 95/.92);border:1px solid oklch(88% .02 145/.75);justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1.1rem;font-size:1.08rem;font-weight:600;display:flex}.branch-card:hover{filter:none;border-color:oklch(55% .08 150/.45)}.branch-card-name{flex:1;min-width:0}.branch-card-go{color:var(--accent);font-size:1.25rem;line-height:1;transition:transform .15s}.branch-card:hover .branch-card-go{transform:translate(3px)}.branch-admin-link{width:100%;margin-top:1.25rem}.search-row{grid-template-columns:1fr auto auto;align-items:center;gap:.5rem;margin-bottom:.5rem;display:grid}@media (width<=420px){.search-row{grid-template-columns:1fr 1fr}.search-row input{grid-column:1/-1}}.scanner{margin-top:.5rem}.scanner-video{object-fit:cover;background:#111;border-radius:12px;width:100%;max-height:280px}.scanner-video.hidden{display:none}.cart-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.cart-list li{border-bottom:1px solid var(--border);justify-content:space-between;gap:.75rem;padding-bottom:.75rem;display:flex}.cart-actions{align-items:center;gap:.35rem;display:flex}.cart-actions button{min-width:40px;padding:.35rem}.price,.total{font-variant-numeric:tabular-nums;font-weight:700}.total{font-size:1.6rem}.checkout-bar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:oklch(96% .02 145/.75);border:1px solid oklch(86% .03 145/.8);border-radius:16px;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:.9rem 1rem;display:flex;position:sticky;bottom:.5rem;box-shadow:0 8px 24px oklch(35% .04 150/.08)}.checkout-bar button{min-height:48px;padding-inline:1.1rem}.pill.warn{background:var(--warn);color:#3a2a00;border-radius:999px;padding:.1rem .45rem;font-size:.8rem}.log-list{flex-direction:column;gap:.5rem;max-height:360px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.log-item{background:oklch(99% .006 95/.85);border:1px solid oklch(88% .02 145/.7);border-radius:14px;padding:.75rem .85rem}.log-headline{margin-bottom:.15rem;font-weight:600}.log-empty{text-align:center;padding:.75rem;list-style:none}.admin-page .page-hero{margin-bottom:.5rem}.admin-grid{gap:1rem;margin-top:.5rem;display:grid}@media (width>=900px){.admin-grid{grid-template-columns:1fr 1fr;align-items:start}.admin-span-2{grid-column:1/-1}}.panel-head{flex-direction:column;gap:.15rem;margin-bottom:.15rem;display:flex}.panel-head.row.between{flex-direction:row;align-items:flex-start;gap:.75rem}.panel-head h2,.panel-head .muted.tiny{margin:0}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:.65rem;display:flex}.inline-form .grow{flex:200px;min-width:0}.inline-form button{flex:none}.chip-list{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.chip{color:var(--accent);background:oklch(42% .08 150/.1);border:1px solid oklch(42% .08 150/.18);border-radius:999px;padding:.4rem .75rem;font-size:.9rem;font-weight:600}.admin-form-grid{gap:.75rem;display:grid}@media (width>=720px){.admin-form-grid{grid-template-columns:1fr 1fr}.admin-form-submit{grid-column:1/-1;justify-self:start;min-width:160px}}.audit-filters{gap:.75rem;display:grid}@media (width>=720px){.audit-filters{grid-template-columns:1fr 1.2fr auto;align-items:end}}.sync-progress{flex-direction:column;gap:.4rem;display:flex}.progress-track{border:1px solid var(--border);background:oklch(92% .015 95);border-radius:999px;height:10px;overflow:hidden}.progress-fill{background:var(--accent);height:100%;transition:width .12s ease-out}.check-list{flex-direction:column;gap:.5rem;display:flex}.check-row{cursor:pointer;background:oklch(99% .006 95/.7);border:1px solid oklch(88% .02 145/.7);border-radius:14px;align-items:center;gap:.75rem;min-height:44px;padding:.55rem .8rem;font-weight:550;flex-direction:row!important;display:flex!important}.check-row input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--accent);flex-shrink:0;margin:0}.user-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.user-row{background:oklch(99% .006 95/.85);border:1px solid oklch(88% .02 145/.75);border-radius:14px;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex;box-shadow:0 4px 12px oklch(35% .03 150/.04)}.user-row.inactive{opacity:.72;background:oklch(95% .01 95)}.user-badges{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.user-actions{flex-wrap:wrap;gap:.35rem;margin-left:auto;display:flex}.user-actions .ghost{min-height:40px;padding:.35rem .65rem;font-size:.88rem}.role-badge.active{color:var(--ok);background:oklch(45% .1 150/.12);border-color:#0000}.role-badge.suspended{color:var(--danger);background:oklch(55% .16 25/.12);border-color:#0000}.user-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.user-icon.admin{color:var(--accent);background:oklch(42% .08 150/.15)}.user-icon.employee{color:var(--muted);background:oklch(90% .015 95)}.user-meta{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.role-badge{border:1px solid var(--border);border-radius:999px;padding:.25rem .55rem;font-size:.78rem;font-weight:600}.role-badge.admin{color:var(--accent);background:oklch(42% .08 150/.12);border-color:#0000}.role-badge.employee{color:var(--muted);background:oklch(94% .01 95)}.pwa-banners{z-index:50;width:100%;padding-left:max(0px, env(safe-area-inset-left,0px));padding-right:max(0px, env(safe-area-inset-right,0px));position:sticky;top:0}.pwa-update-banner{z-index:2;background:var(--accent);color:var(--accent-ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex;position:relative}.pwa-update-banner .ghost{color:var(--accent-ink);background:0 0;border-color:oklch(98% .01 95/.4)}.pwa-update-banner .primary{background:var(--accent-ink);color:var(--accent)}.build-stamp{text-align:center;margin-top:2rem}@keyframes scan-pulse{0%{box-shadow:0 0 oklch(45% .1 150/.45)}70%{box-shadow:0 0 0 12px oklch(45% .1 150/0)}to{box-shadow:0 0 oklch(45% .1 150/0)}}@keyframes checkout-burst{0%{transform:scale(1);box-shadow:0 0 oklch(42% .12 150/.55)}35%{transform:scale(1.02);box-shadow:0 0 0 18px oklch(42% .12 150/0)}to{box-shadow:none;transform:scale(1)}}@keyframes ok-flash{0%,to{opacity:1}40%{opacity:.55}}@keyframes cart-pop{0%{background:oklch(45% .1 150/.18);transform:scale(1.01)}to{background:0 0;transform:scale(1)}}.panel.fx-scan{animation:.45s ease-out scan-pulse}.panel.fx-checkout{outline:2px solid oklch(42% .1 150/.35);animation:.85s ease-out checkout-burst}.ok.ok-flash{animation:.45s ease-out ok-flash}.cart-list li.just-added{border-radius:10px;animation:.45s ease-out cart-pop}.checkout-callout{color:oklch(35% .05 70);background:oklch(92% .06 85);border:1px solid oklch(82% .08 75);border-radius:12px;flex-direction:column;gap:.15rem;margin-bottom:.5rem;padding:.7rem .85rem;font-size:.9rem;display:flex}.checkout-callout strong{font-size:.95rem}.pos-tabs{background:oklch(97% .012 95/.8);border:1px solid oklch(90% .015 145/.7);border-radius:16px;gap:.4rem;margin:.35rem 0 1rem;padding:.3rem;display:flex}.pos-tabs button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:12px;flex:1;font-weight:600}.pos-tabs button:hover:not(.active){filter:none;background:oklch(99.5% .005 95/.7)}.pos-tabs button.active{background:var(--accent);color:var(--accent-ink);border-color:#0000;box-shadow:0 4px 12px oklch(42% .08 150/.25)}.cart-tabs{-webkit-overflow-scrolling:touch;gap:.35rem;margin-bottom:.75rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.cart-tab{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex:none;align-items:stretch;display:flex;overflow:hidden}.cart-tab.active{border-color:var(--accent);background:oklch(42% .08 150/.1)}.cart-tab-main{min-height:44px;color:var(--text);background:0 0;border:none;align-items:center;gap:.35rem;padding:.35rem .65rem;font-weight:550;display:inline-flex}.cart-tab.active .cart-tab-main{color:var(--accent)}.cart-tab-badge{background:var(--accent);min-width:1.35rem;color:var(--accent-ink);text-align:center;border-radius:999px;padding:.1rem .35rem;font-size:.75rem;font-weight:650}.cart-tab-close{border:none;border-left:1px solid var(--border);min-width:44px;min-height:44px;color:var(--muted);background:0 0;padding:0;font-size:1.25rem;line-height:1}.cart-tab-add{background:var(--surface);border:1px dashed var(--border);min-width:44px;min-height:44px;color:var(--accent);flex:none;padding:0;font-size:1.35rem;font-weight:650}.cart-tab-add:disabled{opacity:.4}.sale-row-btn{text-align:left;width:100%;min-height:0;color:inherit;background:0 0;border:none;padding:0;display:block}.sale-items{background:oklch(96% .01 95);border-radius:10px;margin:.4rem 0 0;padding:.5rem .75rem;list-style:none}.sale-items li+li{margin-top:.35rem}.daterange-field{flex-direction:column;gap:.35rem;display:flex;position:relative}.daterange-trigger{justify-content:flex-start;font-weight:550;color:var(--text)!important;border:1px solid var(--border)!important;box-shadow:none!important;background:oklch(99% .006 95)!important}.daterange-popover{z-index:30;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);background:oklch(99.5% .005 95);padding:.5rem;position:absolute;top:calc(100% + .35rem);left:0;box-shadow:0 8px 24px oklch(30% .02 145/.12)}.daterange-popover .rdp-root{color:var(--text)}.daterange-popover button{color:var(--text);min-height:36px;padding:.25rem}.daterange-hint{margin:.35rem 0 0;padding:0 .25rem}.admin-header{align-items:flex-start;margin-bottom:.35rem;position:relative}.admin-header h1{flex:1;min-width:0;padding-right:.5rem}.admin-nav{flex-shrink:0;position:relative}.admin-nav-desktop{display:none}.admin-nav-toggle{min-width:44px}.admin-nav-drawer{z-index:40;border-radius:var(--radius-lg);min-width:180px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:oklch(99.5% .005 95/.96);border:1px solid oklch(88% .02 145/.75);flex-direction:column;display:flex;position:absolute;top:calc(100% + .35rem);right:0;overflow:hidden}.admin-nav-item{min-height:44px;color:var(--text);border:none;border-bottom:1px solid var(--border);text-align:left;background:0 0;border-radius:0;padding:.75rem 1rem;font-weight:550;text-decoration:none;display:block}.admin-nav-item:last-child{border-bottom:none}.admin-nav-item.danger-text{color:var(--danger)}@media (width>=720px){.admin-nav-desktop{display:flex}.admin-nav-toggle,.admin-nav-drawer{display:none!important}}.pwa-dismiss{min-width:44px;min-height:44px;padding:0;font-size:1.35rem;line-height:1}.report-cards{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin:1rem 0;display:grid}.report-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:oklch(99.5% .005 95/.9);border:1px solid oklch(88% .02 145/.75);padding:1rem 1.1rem}.report-card strong{letter-spacing:-.02em;color:oklch(28% .04 150);font-size:1.2rem}.chart-box{border-radius:var(--radius-lg);width:100%;min-height:260px;box-shadow:var(--shadow-panel);background:oklch(99.5% .005 95/.9);border:1px solid oklch(88% .02 145/.75);margin-top:.5rem;padding:1rem}.modal-backdrop{z-index:80;background:oklch(20% .02 145/.45);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-panel{width:min(420px,100%);color:var(--text);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:oklch(99.5% .005 95);border:1px solid oklch(88% .02 145/.75);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.modal-panel ol{margin:0;padding-left:1.25rem;line-height:1.5}.pwa-install-banner{z-index:1;color:oklch(97% .01 95);background:oklch(32% .04 145);border-bottom:1px solid oklch(45% .05 145);flex-direction:column;gap:.55rem;padding:.85rem 1rem;display:flex;position:relative}.pwa-install-banner strong{font-size:1rem}.pwa-install-banner ol{margin:0;padding-left:1.25rem;font-size:.92rem;line-height:1.45}.pwa-install-banner .hint-line{opacity:.9;margin:0;font-size:.9rem}.pwa-install-banner .primary{color:oklch(32% .04 145);background:oklch(97% .01 95);border:none;align-self:flex-start}.login-page{isolation:isolate;min-height:100dvh;padding:max(1.25rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) max(1.25rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));place-items:center;display:grid;position:relative;overflow:hidden}.login-atmosphere{z-index:-1;background:radial-gradient(900px 520px at 12% -8%,oklch(55% .09 150/.28),#0000 55%),radial-gradient(700px 480px at 92% 108%,oklch(72% .06 95/.45),#0000 50%),linear-gradient(165deg,oklch(94% .02 100) 0%,oklch(97% .012 95) 45%,oklch(92% .025 145) 100%);position:absolute;inset:0}.login-atmosphere:after{content:"";opacity:.35;background-image:radial-gradient(oklch(42% .06 150/.08) 1px,#0000 1px);background-size:22px 22px;animation:18s linear infinite login-drift;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70% at 50% 40%,#000,#0000);mask-image:radial-gradient(80% 70% at 50% 40%,#000,#0000)}@keyframes login-drift{0%{transform:translateY(0)}to{transform:translateY(22px)}}.login-shell{flex-direction:column;gap:1.75rem;width:min(100%,400px);animation:.55s cubic-bezier(.22,1,.36,1) both login-rise;display:flex}@keyframes login-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.login-brand{text-align:center}.login-mark{justify-content:center;align-items:flex-end;gap:5px;height:36px;margin-bottom:.85rem;display:inline-flex}.login-mark span{background:var(--accent);transform-origin:bottom;border-radius:3px;width:7px;animation:1.8s ease-in-out infinite login-bar;display:block}.login-mark span:first-child{opacity:.55;height:14px;animation-delay:0s}.login-mark span:nth-child(2){height:26px;animation-delay:.15s}.login-mark span:nth-child(3){opacity:.75;height:18px;animation-delay:.3s}@keyframes login-bar{0%,to{transform:scaleY(1)}50%{transform:scaleY(.55)}}.login-brand h1{letter-spacing:-.04em;color:oklch(28% .04 150);margin:0;font-size:clamp(2rem,6vw,2.55rem);font-weight:700;line-height:1.1}.login-brand p{color:var(--muted);margin:.45rem 0 0;font-size:1rem}.login-form{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:oklch(99.5% .005 95/.88);border:1px solid oklch(88% .02 145/.7);border-radius:20px;flex-direction:column;gap:1rem;padding:1.35rem 1.25rem 1.4rem;display:flex;box-shadow:inset 0 1px oklch(100% 0 0/.65),0 18px 40px oklch(35% .04 150/.1)}.login-form label{color:oklch(35% .03 150);font-weight:550}.login-form input{background:oklch(98.5% .008 95);border-color:oklch(86% .02 145);margin-top:.15rem;transition:border-color .15s,box-shadow .15s}.login-form input:focus{border-color:oklch(50% .09 150);outline:none;box-shadow:0 0 0 3px oklch(55% .08 150/.18)}.login-form input::placeholder{color:oklch(70% .02 145)}.login-error{color:var(--danger);background:oklch(55% .16 25/.1);border-radius:12px;margin:0;padding:.65rem .75rem;font-size:.92rem;font-weight:500}.login-submit{letter-spacing:.01em;min-height:48px;margin-top:.25rem;font-size:1.05rem;transition:transform .15s,filter .15s}.login-submit:not(:disabled):hover{filter:brightness(1.06)}.login-submit:not(:disabled):active{transform:scale(.98)}.page-loading{min-height:60dvh;color:var(--muted);place-items:center;font-weight:550;display:grid}@media (prefers-reduced-motion:reduce){.page,.login-shell,.login-mark span,.login-atmosphere:after{animation:none!important}}
