@import "https://fonts.googleapis.com/css2?family=Karla:wght@400;500;600;700&family=Playfair+Display+SC:wght@400;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap";body{margin:0}.public-board{--board-ink:#0f172a;--board-muted:#475569;--board-bg:#f4f9fc;--board-surface:#fff;--board-line:#e2e8f0;--board-brand:#1f7ca8;--board-brand-dark:#186588;--board-brand-soft:#e7f3f8;--board-brand-ring:#1f7ca82e;--board-ok:#166534;--board-ok-bg:#dcfce7;--board-ok-edge:#22c55e;--board-low:#92400e;--board-low-bg:#fef3c7;--board-low-edge:#f59e0b;--board-out:#991b1b;--board-out-bg:#fee2e2;--board-out-edge:#ef4444;background:radial-gradient(circle at top right, #1f7ca81f, transparent 40%), linear-gradient(180deg, #eef6fa 0%, var(--board-bg) 42%, #eef2f7 100%);min-height:100vh;color:var(--board-ink);padding:clamp(20px,3vw,40px);font-family:Karla,Poppins,Arial,sans-serif}.public-board-skip{z-index:50;background:var(--board-ink);color:#fff;padding:12px 16px;font-weight:700;position:absolute;top:0;left:-9999px}.public-board-skip:focus{top:16px;left:16px}.public-board-header,.public-board-section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.public-board-header{border-bottom:1px solid #0f172a14;margin-bottom:24px;padding-bottom:20px}.public-board-eyebrow{color:var(--board-brand-dark);letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:clamp(13px,1.3vw,16px);font-weight:700}.public-board h1,.public-board h2,.public-board h3{color:var(--board-ink);letter-spacing:.02em;margin:0;font-family:Playfair Display SC,Times New Roman,serif;font-weight:700}.public-board h1{font-size:clamp(34px,5.5vw,56px);line-height:1.05}.public-board h2{margin-top:4px;font-size:clamp(26px,3.6vw,38px);line-height:1.1}.public-board-subtitle,.public-board-section-head p,.public-board-clock span,.public-board-footer p{color:var(--board-muted);max-width:42rem;margin:10px 0 0;font-size:clamp(16px,1.8vw,20px);line-height:1.5}.public-board-clock{border:1px solid var(--board-line);border-top:3px solid var(--board-brand);background:var(--board-surface);text-align:right;border-radius:14px;min-width:min(100%,220px);padding:14px 18px;box-shadow:0 8px 24px #0f172a0d}.public-board-clock strong{color:var(--board-ink);font-size:clamp(30px,3.8vw,40px);font-weight:700;line-height:1;display:block}.public-board-main{flex-direction:column;gap:20px;display:flex}.public-board-tabs{flex-wrap:wrap;gap:10px;display:flex}.public-board-tab{border:1px solid var(--board-line);background:var(--board-surface);min-width:min(100%,220px);min-height:68px;color:var(--board-ink);cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 18px;transition:border-color .2s,background-color .2s,box-shadow .2s,color .2s;display:flex}.public-board-tab strong{font-size:clamp(17px,1.9vw,20px)}.public-board-tab span{color:var(--board-muted);font-size:clamp(14px,1.4vw,16px)}.public-board-tab:hover{border-color:#9ec9dd}.public-board-tab.is-active{border-color:var(--board-brand);background:var(--board-brand);color:#fff;box-shadow:0 8px 22px var(--board-brand-ring)}.public-board-tab.is-active span{color:#ffffffd1}.public-board-tab:focus-visible{outline:3px solid var(--board-brand-ring);outline-offset:2px}.public-board-section{border:1px solid var(--board-line);background:#ffffffeb;border-radius:18px;padding:clamp(18px,2.2vw,26px);box-shadow:0 10px 30px #0f172a0d}.public-board-legend{flex-wrap:wrap;gap:8px;margin:0;display:flex}.public-board-legend>div{border:1px solid var(--board-line);background:#f8fafc;border-radius:10px;flex-direction:column;gap:2px;min-width:88px;padding:10px 12px;display:flex}.public-board-legend dt{text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:12px;font-weight:800}.public-board-legend dd{color:var(--board-muted);margin:0;font-size:15px;font-weight:600}.level-ok{color:var(--board-ok)}.level-low{color:var(--board-low)}.level-out{color:var(--board-out)}.public-board-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px;margin:20px 0 0;padding:0;list-style:none;display:grid}.public-dish{border:1px solid var(--board-line);background:var(--board-surface);border-left-width:5px;border-radius:16px;flex-direction:column;gap:16px;min-width:0;min-height:200px;padding:18px;display:flex;position:relative;box-shadow:0 4px 14px #0f172a0a}.public-dish.level-ok{border-color:#bbf7d0;border-left-color:var(--board-ok-edge);background:linear-gradient(#fff 0%,#f8fffb 100%)}.public-dish.level-low{border-color:#fde68a;border-left-color:var(--board-low-edge);background:linear-gradient(#fff 0%,#fffdf5 100%)}.public-dish.level-out{border-color:#fecaca;border-left-color:var(--board-out-edge);background:linear-gradient(#fff 0%,#fff8f8 100%)}.public-dish header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 10px;min-width:0;display:flex}.public-dish h3{overflow-wrap:anywhere;flex:8rem;min-width:0;font-size:clamp(20px,2.4vw,26px);line-height:1.15}.public-dish-badge{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex:0 auto;max-width:100%;padding:6px 10px;font-size:11px;font-weight:800}.level-ok .public-dish-badge{color:var(--board-ok);background:var(--board-ok-bg)}.level-low .public-dish-badge{color:var(--board-low);background:var(--board-low-bg)}.level-out .public-dish-badge{color:var(--board-out);background:var(--board-out-bg)}.public-dish-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;margin-top:auto;display:grid}.public-dish-metrics>div{background:#f8fafcf2;border:1px solid #eef2f7;border-radius:12px;flex-direction:column;gap:6px;min-width:0;padding:12px 10px 10px;display:flex}.public-dish-metrics small{color:var(--board-muted);text-transform:uppercase;letter-spacing:.04em;overflow-wrap:anywhere;font-size:clamp(11px,1.1vw,13px);font-weight:700;line-height:1.25}.public-dish-stock,.public-dish-sold{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;word-break:break-word;font-family:Karla,Arial,sans-serif;font-weight:700;line-height:1}.public-dish-stock{font-size:clamp(36px,5vw,56px)}.public-dish-sold{color:#0f172a;font-size:clamp(28px,4vw,42px)}.level-out .public-dish-stock{color:var(--board-out)}.level-low .public-dish-stock{color:var(--board-low)}.level-ok .public-dish-stock{color:var(--board-ok)}.public-board-status,.public-board-empty{text-align:center;color:var(--board-muted);background:#ffffffd9;border:2px dashed #cbd5e1;border-radius:16px;margin:0;padding:28px;font-size:clamp(18px,2.2vw,24px);line-height:1.5}.public-board-status.is-error{color:var(--board-out);background:#fef2f2;border-color:#fca5a5}.public-board-empty h2{margin-bottom:10px}.public-board-footer{border-top:1px solid #0f172a14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding-top:16px;display:flex}.public-board-footer a{color:var(--board-brand-dark);text-underline-offset:3px;font-size:17px;font-weight:700;text-decoration:underline}.public-board-footer a:hover{color:var(--board-brand)}@media (width<=720px){.public-board-clock{text-align:left;width:100%}.public-dish-metrics{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.public-board-tab{transition:none}}:root{color:#1a2332;font-synthesis:none;--navy:#1a2744;--navy-light:#243352;--primary:#1f7ca8;--primary-dark:#186588;--primary-soft:#e7f3f8;--primary-ring:#1f7ca829;--primary-hover-border:#9ec9dd;--success:#1fa85e;--success-dark:#178a4d;--success-soft:#ecfdf5;--success-border:#b7f0d2;--brand:#d2be67;--brand-dark:#b8a44f;--brand-ink:#1a2744;--green:var(--primary);--green-dark:var(--primary-dark);--dashboard:var(--primary);--dashboard-dark:var(--primary-dark);--dashboard-soft:var(--primary-soft);--dashboard-ring:var(--primary-ring);--muted:#5c6b7e;--line:#e2e8f0;--surface:#fff;--shadow:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;background:#f7f8fa;font-family:Poppins,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button,input,select{transition:border-color .2s,background-color .2s,color .2s,box-shadow .2s}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--primary-ring);outline-offset:2px}h1,h2,h3{color:#1a2332;margin-top:0;font-family:Poppins,Arial,sans-serif;font-weight:600}p{color:var(--muted)}.app-layout{min-height:100vh;display:flex}.sidebar{z-index:40;color:#cbd5e1;background:var(--navy);flex-direction:column;width:252px;padding:24px 16px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#fff;align-items:center;gap:12px;padding:0 10px 30px;display:flex}.brand-mark{background:var(--brand);width:40px;height:40px;color:var(--brand-ink);border-radius:11px;place-items:center;display:grid}.brand strong,.brand small{display:block}.brand strong{font:600 18px Poppins,Arial}.brand small{color:#9aa5b5;margin-top:2px;font-size:11px}.sidebar nav{flex:1}.nav-label{letter-spacing:.04em;color:#7a8799;margin:0 12px 10px;font-size:11px;font-weight:600;display:block}.nav-item{color:#b8c2d0;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:13px;width:100%;min-height:44px;margin:3px 0;padding:10px 13px;font-weight:500;display:flex}.nav-item-label{flex:1;min-width:0}.nav-item-badge{color:#fff;min-width:22px;height:22px;box-shadow:0 0 0 2px var(--navy);background:#ef4444;border-radius:999px;justify-content:center;align-items:center;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.nav-item.active .nav-item-badge{box-shadow:0 0 0 2px var(--primary)}.nav-item:hover{color:#fff;background:#ffffff12}.nav-item.active{color:#fff;background:var(--primary);box-shadow:none;font-weight:600}.nav-item.active:hover{color:#fff;background:var(--primary-dark)}.sidebar-footer{border-top:1px solid #ffffff14;padding-top:16px}.api-state{align-items:center;gap:10px;padding:8px 13px 15px;display:flex}.api-state small,.api-state strong{display:block}.api-state small{color:#738097;font-size:10px}.api-state strong{color:#d8deea;font-size:12px}.connection-dot{background:#ef4444;border-radius:50%;width:8px;height:8px}.connection-dot.online{background:#34d399;box-shadow:0 0 0 4px #34d3991f}.main-area{flex:1;min-width:0;margin-left:252px}.topbar{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;justify-content:space-between;align-items:center;height:76px;padding:0 32px;display:flex;position:sticky;top:0}.topbar-context,.topbar strong,.topbar-user small{display:block}.topbar-context{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.topbar>div>strong{margin-top:2px;font:600 15px Poppins,Arial}.topbar-user{align-items:center;gap:10px;display:flex}.topbar-user strong{font-size:13px}.topbar-user small{color:var(--muted);text-align:right;font-size:11px}.avatar{color:#fff;background:#273654;border-radius:10px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.avatar.small{border-radius:9px;flex:none;width:34px;height:34px}.menu-button,.menu-backdrop{display:none}.content{width:100%;max-width:1500px;margin:0 auto;padding:30px 32px 48px}.page-stack{flex-direction:column;gap:22px;display:flex}.activity-jornadas{border-top:1px solid var(--line);flex-direction:column;gap:16px;padding-top:8px;display:flex}.activity-select{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:4px;padding:0;display:inline-flex}.activity-select:hover strong{color:var(--green-dark);text-decoration:underline}.activity-select.is-selected strong{color:var(--green-dark)}.form-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:12px;padding:14px;display:flex}.form-section .field-label{color:#1a2332;margin:0;font-size:13px;font-weight:600}.form-section small{color:var(--muted)}.page-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.page-heading h1{margin:4px 0 6px;font-size:clamp(24px,3vw,30px)}.page-heading p{margin:0;font-size:14px}.eyebrow{color:var(--green-dark);letter-spacing:.02em;font-size:12px;font-weight:600}.button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px 17px;font-weight:600;display:inline-flex}.button.primary,.form-stack .button.primary{color:#fff;background:var(--green);border-color:var(--green)}.button.primary:hover{background:var(--green-dark)}.button.secondary{color:#334155;background:#fff;border-color:#d9e0e9}.button.secondary:hover{background:#f8fafc;border-color:#b8c3d1}.button.ghost{min-height:auto;color:inherit;background:0 0;border:0;padding:0}.icon-button{color:#64748b;background:0 0;border:0;font-size:25px}.panel,.session-panel,.catalog>.form-stack,.catalog>.login-form{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:12px}.panel{padding:22px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.panel-heading h2{margin:0 0 5px;font-size:17px}.panel-heading p{margin:0;font-size:12px}.notice,.error{border-radius:8px;margin:0;padding:11px 14px;font-size:13px}.notice{color:var(--success-dark);background:var(--success-soft);border:1px solid var(--success-border)}.error{color:#a31919;background:#fff1f2;border:1px solid #fecdd3}.toast-stack{z-index:120;pointer-events:none;flex-direction:column;gap:10px;width:min(420px,100vw - 32px);display:flex;position:fixed;top:16px;right:16px}.toast{pointer-events:auto;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;animation:.22s toast-in;display:flex;box-shadow:0 10px 30px #0f172a24}.toast p{color:inherit;flex:1;margin:0;font-size:13px;line-height:1.45}.toast.is-error{color:#a31919;background:#fff1f2;border:1px solid #fecdd3}.toast.is-success{color:var(--success-dark);background:var(--success-soft);border:1px solid var(--success-border)}.toast-dismiss{color:inherit;opacity:.7;background:0 0;border:0;padding:0;font-size:18px;line-height:1}.toast-dismiss:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.loading-card{color:var(--muted);box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:30px}.skeleton{box-sizing:border-box;background:linear-gradient(90deg,#d5dde8 0%,#eef2f6 42%,#cfd8e4 84%) 0 0/220% 100%;border-radius:8px;animation:1.2s ease-in-out infinite skeleton-shine;display:block}.page-skeleton{width:100%;min-height:min(70vh,42rem)}.page-skeleton-header{gap:10px;margin-bottom:2px;display:grid}.page-skeleton-panel{width:100%}.page-skeleton-panel-header,.page-skeleton-table-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.page-skeleton-panel-header>div,.page-skeleton-table-heading>div{flex:1;gap:8px;min-width:0;display:grid}.page-skeleton-cards,.page-skeleton-activity-grid{gap:12px;display:grid}.page-skeleton-cards{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.page-skeleton-activity-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.page-skeleton-block-card{border:1px solid var(--line);background:#f8fafc;border-radius:12px;gap:12px;min-height:7.5rem;padding:16px;display:grid}.page-skeleton-pills{flex-wrap:wrap;gap:10px;display:flex}.page-skeleton-kpi{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.page-skeleton-kpi-card{border:1px solid var(--line);min-height:122px;box-shadow:var(--shadow);background:#fff;border-radius:12px;align-items:center;gap:15px;padding:20px;display:flex}.page-skeleton-kpi-icon{border-radius:10px;flex:none}.page-skeleton-kpi-copy{flex:1;gap:8px;min-width:0;display:grid}.skeleton-table-wrap{width:100%}.skeleton-table{background:var(--surface);gap:0;width:100%;padding:8px 16px 12px;display:grid}.skeleton-table-row{grid-template-columns:repeat(var(--skeleton-cols,5), minmax(0, 1fr));border-bottom:1px solid var(--line);align-items:center;gap:14px;min-height:52px;padding:12px 4px;display:grid}.skeleton-table-row:last-child{border-bottom:0}.skeleton-table-row.is-head{opacity:.7;min-height:40px}.page-skeleton--auth{background:#f7f8fa;place-items:center;min-height:100vh;padding:32px 16px;display:grid}.page-skeleton-auth-card{border:1px solid var(--line);width:min(400px,100%);box-shadow:var(--shadow);background:#fff;border-radius:14px;gap:14px;padding:32px 28px;display:grid}@keyframes skeleton-shine{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton{background:#d7dee8;animation:none}}@media (width<=1100px){.page-skeleton-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.page-skeleton-kpi{grid-template-columns:1fr}.page-skeleton-panel-header,.page-skeleton-table-heading{flex-direction:column}}.status{white-space:nowrap;border-radius:999px;align-items:center;width:fit-content;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.status.success{color:var(--success-dark);background:#dcfce7}.status.warning{color:#a15c00;background:#fff3cd}.status.muted{color:#475569;background:#eef2f7}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.kpi-card{border:1px solid var(--line);min-height:122px;box-shadow:var(--shadow);background:#fff;border-radius:12px;align-items:center;gap:15px;padding:20px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.kpi-card.interactive{cursor:pointer}.kpi-card.interactive:hover{border-color:var(--primary-hover-border);transform:translateY(-1px);box-shadow:0 10px 24px #0f172a14}.kpi-card.interactive:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.kpi-card.selected:not(.featured){border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.kpi-card.featured.selected{box-shadow:0 0 0 3px #ffffff47,0 12px 28px #101b352e}.reports-hint{color:#64748b;margin:-4px 0 0;font-size:12px;font-weight:600}.reports-kpi-grid{margin-top:2px}.reports-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reports .status.success{color:var(--primary-dark);background:var(--primary-soft)}.activity-overview-panel{padding-bottom:18px}.activity-overview-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.activity-overview-card{text-align:left;color:inherit;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:8px;padding:16px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.activity-overview-card:hover{border-color:var(--primary-hover-border);transform:translateY(-1px);box-shadow:0 10px 22px #0f172a12}.activity-overview-card.is-selected{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring);background:var(--primary-soft)}.activity-overview-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.activity-overview-card-top strong{font-size:14px;line-height:1.35}.activity-overview-amount{color:#0f172a;margin:0;font:600 20px Poppins,Arial}.activity-overview-meta{color:#64748b;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:11px;font-weight:600;display:flex}.activity-overview-track{background:#eef2f7;border-radius:99px;height:6px;overflow:hidden}.activity-overview-track span{border-radius:inherit;background:linear-gradient(90deg, var(--primary-dark), #4fa3c7);height:100%;transition:width .35s;display:block}.reports-meta-row{flex-wrap:wrap;gap:10px;display:flex}.reports-meta-pill{color:#475569;background:#fff;border:1px solid #dbe2ea;border-radius:999px;align-items:center;gap:8px;min-height:42px;padding:8px 14px;font-size:12px;transition:border-color .2s,background-color .2s,color .2s;display:inline-flex}.reports-meta-pill strong{color:#0f172a;font-size:14px}.reports-meta-pill:not(.muted){cursor:pointer}.reports-meta-pill:not(.muted):hover{border-color:var(--green);color:var(--green-dark)}.reports-meta-pill.active{color:#fff;border-color:var(--navy-light);background:var(--navy-light)}.reports-meta-pill.active strong{color:#fff}.reports-meta-pill.muted{cursor:default;background:#f8fafc}.distribution-panel{min-height:280px}.distribution-empty{color:#64748b;text-align:center;margin:24px 0;font-size:13px}.kpi-card.featured{color:#fff;border-color:var(--primary);background:var(--primary)}.kpi-icon{width:43px;height:43px;color:var(--primary);background:var(--primary-soft);border-radius:10px;flex:none;place-items:center;display:grid}.kpi-icon.blue{color:#2563eb;background:#eff6ff}.kpi-icon.violet{color:#7c3aed;background:#f5f3ff}.kpi-icon.amber{color:#d97706;background:#fff7ed}.featured .kpi-icon{color:#fff;background:#ffffff2e}.kpi-card small,.kpi-card strong,.kpi-card span{display:block}.kpi-card small{color:#78869a;font-size:11px;font-weight:700}.kpi-card strong{margin:4px 0 2px;font:600 21px Poppins,Arial}.kpi-card div>span{color:#9aa5b5;font-size:10px}.featured small,.featured div>span{color:#ffffffc7}.report-grid{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:16px;display:grid}.bar-chart{flex-direction:column;gap:17px;display:flex}.bar-row{text-align:left;width:100%;color:inherit;background:0 0;border:0;grid-template-columns:minmax(100px,1.1fr) 1fr 90px;align-items:center;gap:12px;padding:0;font-size:12px;display:grid}.bar-row.is-clickable{cursor:pointer}.bar-row.is-clickable:hover>span{color:var(--green-dark)}.bar-row.is-selected>span{color:var(--green-dark);font-weight:700}.bar-row:disabled{cursor:default}.bar-row>span{color:#475569;text-overflow:ellipsis;overflow:hidden}.bar-row strong{text-align:right}.bar-track{background:#eef2f7;border-radius:99px;height:8px;overflow:hidden}.bar-track span{border-radius:inherit;background:linear-gradient(90deg, var(--primary-dark), #4fa3c7);height:100%;transition:width .35s;display:block}.bar-fill.tone-sales{background:linear-gradient(90deg, var(--primary-dark), #4fa3c7)}.bar-fill.tone-cash{background:linear-gradient(90deg, var(--primary), #5eb0d4)}.bar-fill.tone-card{background:linear-gradient(90deg,#2563eb,#60a5fa)}.bar-fill.tone-qr{background:linear-gradient(90deg,#7c3aed,#a78bfa)}.bar-fill.tone-cashiers{background:linear-gradient(90deg,#0f172a,#475569)}.bar-fill.tone-activities{background:linear-gradient(90deg, var(--primary-dark), #5eb0d4)}.totals-panel dl{margin:0}.totals-panel dl>div{color:var(--muted);border-bottom:1px solid #eef2f7;justify-content:space-between;padding:12px 0;display:flex}.totals-panel dt,.totals-panel dd{margin:0}.totals-panel dd{color:#1e293b;font-weight:800}.totals-panel dd.negative{color:#dc5252}.totals-panel .total-line{border:0;margin-top:7px;font-size:16px}.totals-panel .total-line dd{color:var(--green-dark);font:600 18px Poppins,Arial}.table-panel{padding:0;overflow:hidden}.table-panel .panel-heading{padding:18px 20px 0}.table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:0 20px 14px;display:flex}.table-search{flex:1;min-width:min(100%,280px);margin:0}.table-search input{min-height:38px}.hide-label{gap:0}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.table-count{color:var(--muted);white-space:nowrap;font-size:13px;font-weight:500}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}.table-panel table{min-width:640px}th{color:#5c6b7e;text-align:left;background:#f9fafb;font-size:12px;font-weight:600}th,td{border-top:1px solid #edf0f4;padding:12px 18px}tbody tr:hover{background:#fafbfc}.th-sort{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.th-sort:hover{color:var(--green-dark)}.sort-icon{opacity:.45;font-size:11px}.th-sort:hover .sort-icon{opacity:1}.table-empty{text-align:center;color:var(--muted);white-space:normal;padding:32px 18px!important}.table-group-row td{color:#0f172a;letter-spacing:.04em;text-transform:uppercase;background:#f1f5f9;font-size:12px;font-weight:700}.table-footer-row td{background:#f9fafb;font-weight:600}.table-footer-row strong{color:var(--green-dark)}.table-actions{flex-wrap:wrap;gap:6px;display:flex}.table-actions .button{min-height:34px;padding:5px 10px;font-size:12px}.catalog-picker{gap:8px;max-height:min(50vh,360px);padding:4px 2px;display:grid;overflow:auto}.catalog-picker .field.check{margin:0}.quick-sale-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.quick-sale-row .field.check{flex:1}.quick-sale-qty{text-align:center;width:72px;min-height:34px;padding:6px 8px}.quick-sale-products{gap:10px;margin:0;padding:0;list-style:none;display:grid}.quick-sale-products li{border:1px solid var(--line);background:#f8fafc;border-radius:10px;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 16px;display:flex}.quick-sale-products strong,.quick-sale-products small{display:block}.quick-sale-products small{color:var(--muted);margin-top:4px;font-size:12px}.table-pagination{color:var(--muted);border-top:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;font-size:13px;display:flex}.text-muted{color:var(--muted);font-size:13px}.user-cell{align-items:center;gap:10px;display:flex}.user-cell strong,.user-cell small{display:block}.user-cell small{color:var(--muted);margin-top:2px}.user-cell .status{margin-top:6px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-stack{flex-direction:column;gap:14px;display:flex}.field,.form-grid label,.form-stack label,.login-form label{color:#475569;flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.form-grid .full,.field.full{grid-column:1/-1}input,select{color:#1e293b;background:#fff;border:1px solid #dbe2ea;border-radius:8px;width:100%;min-height:42px;padding:9px 11px}input:hover,select:hover{border-color:#aeb9c7}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring);outline:0}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a94;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{overscroll-behavior:contain;background:#fff;border-radius:12px;width:min(520px,100%);max-height:calc(100vh - 40px);padding:24px;overflow-y:auto;box-shadow:0 16px 48px #0f172a2e}.modal-wide{width:min(640px,100%)}.modal-hint{color:#475569;background:#f8fafc;border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:13px}.cancellation-reason-display{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;margin:0 0 16px;padding:14px 16px}.cancellation-reason-label{letter-spacing:.04em;text-transform:uppercase;color:#9a3412;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.cancellation-reason-text{color:#1e293b;margin:0;font-size:18px;font-weight:500;line-height:1.45}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.sale-receipt-overlay{animation:.22s ease-out sale-receipt-in}.sale-receipt{overscroll-behavior:contain;text-align:center;filter:drop-shadow(0 20px 48px #0f172a38);background:#fff;border-radius:20px 20px 0 0;width:min(360px,100%);max-height:calc(100vh - 40px);padding:28px 28px 36px;animation:.28s ease-out sale-receipt-pop;position:relative;overflow-y:auto}.sale-receipt-close{color:#94a3b8;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;font-size:22px;line-height:1;transition:color .2s,background .2s;display:grid;position:absolute;top:12px;right:12px}.sale-receipt-close:hover{color:#475569;background:#f1f5f9}.sale-receipt-icon{margin:8px auto 18px;display:block}.sale-receipt-title{color:#0f172a;letter-spacing:-.02em;margin:0 0 8px;font:700 26px/1.2 Poppins,Arial,sans-serif}.sale-receipt-copy{color:#64748b;max-width:260px;margin:0 auto 22px;font-size:14px;line-height:1.45}.sale-receipt-amount-label{color:#94a3b8;letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:600}.sale-receipt-amount{color:#0f172a;letter-spacing:-.03em;margin:0 0 10px;font:700 40px/1.1 Poppins,Arial,sans-serif}.sale-receipt-meta{color:#94a3b8;margin:0 0 24px;font-size:12px}.sale-receipt-ok{width:100%;min-height:46px;font-weight:600}.sale-receipt-scallop{pointer-events:none;background:radial-gradient(circle at 12px 0,#0000 11px,#fff 11.5px) -12px 0/24px 12px repeat-x;height:12px;position:absolute;bottom:-12px;left:0;right:0}@keyframes sale-receipt-in{0%{opacity:0}to{opacity:1}}@keyframes sale-receipt-pop{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.chips{flex-wrap:wrap;gap:8px;margin:0 0 18px;display:flex}.chip{color:#5b687b;background:#fff;border:1px solid #dfe5ec;border-radius:7px;min-height:35px;padding:7px 13px;font-size:13px;font-weight:500}.chip:hover{border-color:var(--green);color:var(--green-dark)}.chip.active{color:#fff;border-color:var(--navy-light);background:var(--navy-light)}.item-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px;display:grid}.item-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px;box-shadow:0 2px 8px #0f172a08}.item-card h3,.item-card p{margin:0 0 6px}.item-card h3{font-size:14px}.item-card p{font-size:12px}.item-card .price{color:var(--green-dark);margin-top:12px;font:600 16px Poppins,Arial}.pos{grid-template-columns:minmax(0,1.8fr) minmax(285px,.8fr);gap:18px;display:grid}.pos>div{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:20px}.pos-context{color:var(--muted);margin:0 0 14px;font-size:13px}.pos .item-card{text-align:left;width:100%;min-height:122px}.pos .item-card:not(:disabled):hover{border-color:var(--primary-hover-border);box-shadow:0 6px 16px var(--primary-ring)}.pos .item-card.is-out-of-stock,.pos .item-card:disabled.is-out-of-stock{opacity:.62;cursor:not-allowed;background:#f8fafc;border-color:#e2e8f0}.pos .item-card.is-out-of-stock .price{color:#94a3b8}.cart{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;align-self:start;padding:22px;position:sticky;top:98px}.cart h2{font-size:17px}.cart ul{color:#475569;padding-left:18px;font-size:13px}.empty-cart{text-align:center;border:1px dashed #d8e0e9;border-radius:8px;margin:16px 0;padding:18px 10px;font-size:12px}.cart-lines{margin:0 0 8px;list-style:none;padding:0!important}.cart-line{background:#f8fafc;border:1px solid #e8edf3;border-radius:10px;margin-bottom:10px;padding:12px;transition:border-color .2s,box-shadow .2s}.cart-line:hover{border-color:#d4dde8;box-shadow:0 2px 8px #0f172a0a}.cart-line-header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:4px;display:flex}.cart-line-header strong{color:#1e293b;font-size:14px;line-height:1.3}.cart-line-total{color:var(--green-dark);flex-shrink:0;font:600 15px Poppins,Arial}.cart-line-meta{color:var(--muted);margin:0 0 10px;font-size:12px}.cart-line-actions{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.cart-line-savings{color:#b45309;margin:8px 0 0;font-size:11px;font-weight:700}.discount-field{flex-direction:column;gap:4px;min-width:108px;display:flex}.discount-field>span:first-child{color:#64748b;font-size:11px;font-weight:700}.discount-note-field{flex-direction:column;gap:6px;margin-top:10px;display:flex}.discount-note-field>span:first-child{color:#9a3412;letter-spacing:.02em;font-size:11px;font-weight:700}.discount-note-field textarea{resize:vertical;color:#1e293b;width:100%;min-height:58px;font:inherit;background:#fffbeb;border:1px solid #fed7aa;border-radius:8px;padding:8px 10px;font-size:13px;line-height:1.35}.discount-note-field textarea:focus{border-color:#f59e0b;outline:0;box-shadow:0 0 0 3px #f59e0b2e}.discount-input-wrap{background:#fff;border:1px solid #dbe2ea;border-radius:8px;align-items:center;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.discount-input-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.discount-prefix{color:#64748b;background:#f1f5f9;border-right:1px solid #e2e8f0;padding:0 8px;font-size:12px;font-weight:700}.discount-input-wrap input{border:0;border-radius:0;min-height:34px;padding:6px 8px;font-size:13px;font-weight:600}.discount-input-wrap input:focus{box-shadow:none}.quantity-control{align-items:center;gap:8px;display:flex}.quantity-control .button{background:#fff;border:1px solid #dbe2ea;border-radius:6px;width:26px;min-width:26px;height:26px;min-height:26px;padding:0}.quantity-control .button:hover{color:var(--green-dark);border-color:var(--green)}.cart-summary{background:#fff;border:1px solid #e8edf3;border-radius:10px;margin:4px 0 14px;padding:12px}.summary-row{justify-content:space-between;align-items:center;margin:0 0 8px;font-size:13px;display:flex}.summary-row:last-child{margin-bottom:0}.summary-discount{color:#b45309;font-weight:700}.summary-row.total{border-top:1px solid var(--line);color:#1e293b;margin-top:10px;padding-top:10px}.summary-row.total strong{color:var(--green-dark);font:600 20px Poppins,Arial}.cart .button.primary{width:100%;min-height:44px;margin-top:12px}.last-sale{color:var(--muted);border-top:1px solid #edf1f5;margin-top:14px;padding-top:12px;font-size:12px}.catalog{grid-template-columns:1fr 330px;gap:18px;display:grid}.catalog-nav{grid-column:1/-1}.catalog-nav h2{margin-bottom:14px}.catalog>.item-grid{align-content:start}.catalog>.form-stack,.catalog>.login-form{align-self:start;padding:22px}.stock-actions{gap:6px;margin-top:10px;display:flex}.stock-actions button{background:#fff;border:1px solid #dfe5ec;border-radius:6px;padding:6px 8px;font-size:10px}.check{align-items:center;flex-direction:row!important}.check input{width:auto;min-height:auto}.session-page{flex-direction:column;gap:16px;display:flex}.session-hero{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;display:flex}.session-hero.is-closed{background:linear-gradient(135deg,#fffdf8,#fff);border-color:#f5d9a8}.session-hero.is-open{border-color:var(--primary-hover-border);background:linear-gradient(135deg, var(--primary-soft), #fff)}.session-hero-main{align-items:center;gap:14px;min-width:min(100%,260px);display:flex}.session-hero-icon{width:48px;height:48px;color:var(--primary-dark);background:var(--primary-soft);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.session-hero.is-closed .session-hero-icon{color:#b45309;background:#fff7ed}.session-hero-label{color:var(--muted);margin:0 0 2px;font-size:12px;font-weight:500}.session-hero-title{margin:0;font-size:clamp(20px,3vw,24px);line-height:1.2}.session-hero-hint{color:var(--muted);margin:4px 0 0;font-size:13px}.session-hero-actions{flex-wrap:wrap;gap:10px;display:flex}.session-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.session-stat{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.session-stat span{color:var(--muted);font-size:12px;font-weight:500}.session-stat strong{color:#1a2332;font-size:22px;font-weight:600;line-height:1}.session-closed-banner{border:1px solid var(--primary-hover-border);background:var(--primary-soft);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.session-closed-banner strong{color:var(--primary-dark);margin-bottom:4px;display:block}.session-closed-banner p{color:#475569;margin:0;font-size:13px;line-height:1.5}.session-table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.session-table-toolbar .chips{flex:1;min-width:min(100%,280px);margin:0}.register-name-cell{align-items:center;gap:10px;display:flex}.register-icon{width:30px;height:30px;color:var(--primary-dark);background:var(--primary-soft);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.action-panel .form-stack{gap:14px}.close-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.close-stat{background:#fff;border:1px solid #e8edf3;border-radius:10px;flex-direction:column;gap:4px;padding:12px;display:flex}.close-stat span{color:#64748b;font-size:11px;font-weight:700}.close-stat strong{color:#1e293b;font-family:Poppins,Arial;font-size:15px}.close-stat.highlight{border-color:var(--primary-hover-border);background:var(--primary-soft)}.close-stat.highlight strong{color:var(--primary-dark)}.difference-ok{color:#475569;margin:0;font-size:13px;font-weight:700}.difference-warning{color:#b45309;background:#fff7ed;border-radius:10px;margin:0;padding:12px;font-size:13px;font-weight:700}.assigned-cashier{color:#475569;background:#f8fafc;border-radius:10px;margin:0;padding:12px 14px;font-size:13px;font-weight:600}.empty-state{text-align:center;color:var(--muted);border:1px dashed #d8e0e9;border-radius:10px;margin:0;padding:18px 14px;font-size:13px;line-height:1.5}.session-actions{flex-wrap:wrap;gap:10px;display:flex}.session-actions .button{min-height:44px}.closing-summary{border:1px solid var(--primary-hover-border);background:var(--primary-soft);border-radius:12px;padding:18px}.closing-summary h2{margin:0 0 14px;font-size:17px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.summary-grid div{background:#fff;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.summary-grid dt{color:#64748b;margin:0;font-size:11px;font-weight:700}.summary-grid dd{color:#1e293b;margin:0;font-size:14px;font-weight:700}.summary-difference{color:#b45309!important}.void-sales-page,.product-reports-page{flex-direction:column;gap:18px;display:flex}.report-filters{padding:18px 22px}.report-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;display:grid}.report-filter-grid-wide{grid-template-columns:repeat(3,minmax(0,1fr))}.report-filter-grid .button{min-height:44px}.report-export-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.report-export-actions .button{min-width:150px;min-height:44px}.report-document{flex-direction:column;gap:16px;padding:20px 22px;display:flex}.report-document-top{grid-template-columns:minmax(0,1.4fr) minmax(220px,.9fr);align-items:start;gap:20px;display:grid}.report-document-eyebrow{color:#64748b;letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:700}.report-document-meta h2{color:#0f172a;margin:0 0 12px;font-size:22px}.report-document-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0;display:grid}.report-document-fields div{gap:2px;display:grid}.report-document-fields dt{color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:11px;font-weight:700}.report-document-fields dd{color:#0f172a;margin:0;font-size:14px;font-weight:600}.report-document-summary{border:1px solid var(--line);background:linear-gradient(#f8fafc 0%,#fff 100%);border-radius:12px;gap:8px;padding:14px 16px;display:grid}.report-document-summary>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.report-document-summary span{color:#64748b;font-size:12px;font-weight:600}.report-document-summary strong{color:#0f172a;font-size:14px}.report-document-summary .is-total{border-top:1px dashed #cbd5e1;margin-top:4px;padding-top:10px}.report-document-summary .is-discount strong{color:#b45309}.report-document-summary .is-total span,.report-document-summary .is-total strong{color:#0f172a;font-size:15px;font-weight:800}.report-discount{color:#b45309;font-weight:600}.report-full-discount-badge{color:#9a3412;letter-spacing:.02em;background:#fff7ed;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-block}.close-receipt-list{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.close-receipt{font-variant-numeric:tabular-nums;padding:0;overflow:hidden}.close-receipt-header{background:linear-gradient(#f8fafc 0%,#fff 100%);border-bottom:1px dashed #cbd5e1;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 12px;display:flex}.close-receipt-eyebrow{color:#64748b;letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:700}.close-receipt-header h3{color:#0f172a;margin:0 0 6px;font-size:18px}.close-receipt-meta{color:#64748b;margin:0;font-size:13px;line-height:1.4}.close-receipt-block{gap:8px;padding:14px 20px;display:grid}.close-receipt-section{color:#334155;letter-spacing:.04em;text-transform:uppercase;margin:0 0 2px;font-size:12px;font-weight:800}.close-receipt-row{color:#334155;justify-content:space-between;align-items:baseline;gap:16px;font-size:13px;display:flex}.close-receipt-row span:last-child,.close-receipt-row strong{text-align:right;color:#0f172a}.close-receipt-row.is-emphasis{font-weight:700}.close-receipt-row.is-emphasis span:first-child,.close-receipt-row.is-emphasis strong{color:#0f172a;font-size:14px}.close-receipt-divider{border:0;border-top:1px dashed #cbd5e1;margin:0 20px}.close-receipt-footer{color:#64748b;border-top:1px dashed #cbd5e1;justify-content:space-between;gap:12px;padding:12px 20px 16px;font-size:12px;display:flex}.table-panel tbody tr:last-child td{font-weight:inherit;background:inherit}.table-panel tbody tr:last-child strong{color:inherit}.void-sale-details{background:#f8fafc;border-radius:10px;gap:8px;margin-bottom:14px;padding:12px 14px;display:grid}.void-sale-details p{color:#475569;margin:0;font-size:13px;line-height:1.5}.table-ellipsis{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:220px;display:inline-block;overflow:hidden}.table-panel td .button{min-height:36px}.login-page{flex-direction:column;gap:24px;display:flex}.login-brand{text-align:center}.login-logo{color:#fff;background:var(--primary);border-radius:14px;place-items:center;width:56px;height:56px;margin:0 auto 16px;display:grid}.login-brand h1{margin:0 0 6px;font-size:22px}.login-brand p{margin:0;font-size:14px}.login-form{gap:16px}.password-field{position:relative}.password-toggle{position:absolute;bottom:4px;right:4px;min-height:34px!important;color:var(--muted)!important;padding:4px 10px!important;font-size:12px!important}.login-submit{width:100%;min-height:46px;margin-top:4px}.login-public-link{text-align:center;margin:4px 0 0;font-size:13px}.login-public-link a{color:var(--primary-dark);text-underline-offset:2px;font-weight:600;text-decoration:underline}.shell{border:1px solid var(--line);width:min(400px,100% - 32px);box-shadow:var(--shadow);background:#fff;border-radius:14px;margin:10vh auto;padding:32px 28px}.shell:before{display:none}@media (width<=1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.session-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.session-hero-actions{flex-direction:column}.session-hero-actions .button{width:100%}.session-table-toolbar{flex-direction:column;align-items:stretch}.session-table-toolbar>.button{width:100%}.catalog{grid-template-columns:1fr}}@media (width<=820px){.sidebar{transition:transform .25s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-area{margin-left:0}.menu-button{border:1px solid var(--line);background:#fff;border-radius:8px;place-items:center;width:38px;height:38px;margin-right:13px;display:grid}.menu-backdrop{z-index:35;background:#0f172a6b;border:0;display:block;position:fixed;inset:0}.topbar{justify-content:flex-start;padding:0 18px}.topbar-user{margin-left:auto}.content{padding:24px 18px 40px}.pos,.report-grid{grid-template-columns:1fr}.cart{position:static}}@media (width<=560px){.topbar-user span:not(.avatar){display:none}.page-heading{flex-direction:column}.page-heading .button{width:100%}.kpi-grid,.session-stats{grid-template-columns:1fr}.session-hero{flex-direction:column;align-items:stretch}.session-closed-banner{flex-direction:column}.report-filter-grid{grid-template-columns:1fr}.report-export-actions{flex-direction:column}.report-export-actions .button{width:100%}.report-document-top,.report-document-fields{grid-template-columns:1fr}.close-receipt-header{flex-direction:column}.close-receipt-header .button{width:100%}.close-stats,.summary-grid{grid-template-columns:1fr}.session-actions{flex-direction:column}.session-actions .button{width:100%}.kpi-card{min-height:100px}.form-grid{grid-template-columns:1fr}.form-grid label,.field.full{grid-column:1!important}.bar-row{grid-template-columns:75px 1fr}.bar-row strong{grid-column:2}.table-pagination{flex-direction:column}.table-pagination .button{width:100%}.table-actions{flex-direction:column}.table-actions .button{width:100%}.password-toggle{width:100%;margin-top:4px;position:static}.modal-actions{flex-direction:column-reverse}.modal-actions .button{width:100%}}.cashless-page{gap:18px}.cashless-page .field,.cashless-page input{color:#0f172a;font-size:16px}.cashless-page input{min-height:48px}.cashless-page .button{touch-action:manipulation;min-height:48px}.cashless-toolbar{flex-wrap:wrap;gap:12px;display:flex}.cashless-toolbar .button{flex:240px;min-height:52px;font-size:16px}.cashless-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);align-items:start;gap:16px;display:grid}.cashless-issue,.cashless-list{grid-column:1}.cashless-detail{flex-direction:column;grid-area:1/2/span 3;gap:14px;display:flex;position:sticky;top:92px}.cashless-issue-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.cashless-wallet-list{flex-direction:column;gap:10px;max-height:min(480px,55vh);margin:12px 0 0;padding:0;list-style:none;display:flex;overflow:auto}.cashless-wallet-row{align-items:stretch;gap:6px;display:flex}.cashless-wallet-row .cashless-wallet{flex:1;min-width:0}.cashless-wallet-actions{flex-direction:column;justify-content:center;gap:4px;display:flex}.cashless-wallet-actions .button{min-height:32px;padding:4px 10px;font-size:13px}.cashless-wallet{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 14px;transition:border-color .2s,background-color .2s,box-shadow .2s;display:flex}.cashless-wallet:hover{border-color:var(--primary-hover-border);background:var(--primary-soft)}.cashless-wallet[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px var(--primary-ring)}.cashless-wallet-who{flex-direction:column;gap:2px;min-width:0;display:flex}.cashless-wallet-who strong{color:#0f172a;font-size:16px}.cashless-wallet-who span{color:#475569;font-size:14px}.cashless-wallet-balance{color:var(--navy);flex:none;font-size:16px;font-weight:700}.cashless-balance{background:var(--primary-soft);text-align:center;border-radius:12px;margin:0;padding:16px}.cashless-balance span{color:#475569;font-size:14px;font-weight:600;display:block}.cashless-balance strong{color:#0f172a;margin-top:4px;font-size:clamp(28px,6vw,40px);line-height:1.1;display:block}.cashless-topup-row{grid-template-columns:minmax(0,1fr) minmax(108px,134px);align-items:end;gap:12px;display:grid}.cashless-help{color:#475569;margin:0;font-size:14px}.cashless-collect{text-align:center;background:#ecfdf5;border-radius:10px;margin:0;padding:12px 14px}.cashless-collect span{color:#047857;letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-weight:700;display:block}.cashless-collect strong{color:#064e3b;margin-top:2px;font-size:clamp(28px,7vw,40px);line-height:1.1;display:block}.cashless-fieldset{border:0;min-width:0;margin:0;padding:0}.cashless-fieldset legend{color:#475569;margin:0 0 8px;font-size:13px;font-weight:600}.cashless-fieldset .chips{margin:0}.cashless-empty{text-align:center;color:#475569;border:1px dashed #d8e0e9;border-radius:12px;margin:0;padding:28px 16px;font-size:16px;line-height:1.5}.cashless-detail-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.cashless-detail-actions .button{width:100%;min-height:44px;padding:8px 12px;font-size:14px}.button.whatsapp{color:#fff;background:#25d366;border-color:#1ebe57}.button.whatsapp:hover{background:#1ebe57}.cashless-ticket{border:1px solid var(--line);text-align:center;background:#fff;border-radius:16px 16px 0 0;width:min(100%,340px);margin:0 auto;padding:0 0 22px;position:relative;overflow:hidden}.cashless-ticket-head{background:var(--navy);color:#fff;padding:16px 18px 14px}.cashless-ticket-head p{color:var(--brand);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:700}.cashless-ticket-head h3{color:#fff;margin:0;font-size:18px;line-height:1.25}.cashless-ticket canvas{background:#fff;width:min(100%,240px);height:auto;margin:16px auto 8px;display:block}.cashless-share-qr{object-fit:contain;border:1px solid var(--line);background:#fff;width:100%;height:auto;max-height:min(70vh,520px);margin:0 0 8px;display:block}.cashless-ticket-meta{text-align:left;gap:10px;margin:0;padding:8px 20px 4px;display:grid}.cashless-ticket-meta div{min-width:0}.cashless-ticket-meta dt{color:#475569;letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.cashless-ticket-meta dd{color:#0f172a;margin:2px 0 0;font-size:16px;font-weight:600}.cashless-ticket-foot{color:#475569;margin:12px 20px 0;font-size:13px}.cashless-ticket-scallop{background:radial-gradient(circle at 12px 0,#0000 11px,#fff 11.5px) -12px 0/24px 12px repeat-x;height:12px;position:absolute;bottom:-12px;left:0;right:0}.cashless-ledger{margin:0;padding:0;list-style:none}.cashless-ledger li{border-bottom:1px solid var(--line);color:#0f172a;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:10px 0;font-size:15px;display:flex}.cashless-ledger-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.cashless-ledger-copy small{color:#475569;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}@media (width<=960px){.cashless-grid{grid-template-columns:1fr}.cashless-issue,.cashless-list,.cashless-detail{grid-area:auto/1}.cashless-detail{order:1;position:static}.cashless-issue{order:2}.cashless-list{order:3}.cashless-issue-fields{grid-template-columns:1fr}.cashless-detail-actions{grid-template-columns:1fr 1fr}.cashless-detail-actions .button{width:100%;min-height:44px}}.qr-scanner{flex-direction:column;gap:12px;display:flex}.qr-scanner-view{background:#0f172a;border-radius:12px;width:100%;height:min(360px,70vw);position:relative;overflow:hidden}.qr-scanner-video,.qr-scanner-host{object-fit:cover;background:#0f172a;width:100%;height:100%;display:block}.qr-scanner-host{position:relative}.qr-scanner-host video{object-fit:cover;width:100%!important;height:100%!important}.qr-scanner-reticle{z-index:2;pointer-events:none;position:absolute;inset:0}.qr-scanner-reticle-frame{aspect-ratio:1;border-radius:16px;width:min(72%,260px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 999px #0f172a85}.qr-scanner-reticle-frame:before{content:"";background:linear-gradient(#fff,#fff) 0 0/22px 3px no-repeat,linear-gradient(#fff,#fff) 0 0/3px 22px no-repeat,linear-gradient(#fff,#fff) 100% 0/22px 3px no-repeat,linear-gradient(#fff,#fff) 100% 0/3px 22px no-repeat,linear-gradient(#fff,#fff) 0 100%/22px 3px no-repeat,linear-gradient(#fff,#fff) 0 100%/3px 22px no-repeat,linear-gradient(#fff,#fff) 100% 100%/22px 3px no-repeat,linear-gradient(#fff,#fff) 100% 100%/3px 22px no-repeat;border-radius:16px;position:absolute;inset:0}.qr-scanner-reticle-label{color:#f8fafc;text-align:center;text-shadow:0 1px 2px #0f172aa6;margin:0;font-size:13px;font-weight:500;position:absolute;bottom:12px;left:0;right:0}.qr-scanner-hint{margin:0}@media print{@page{size:80mm 120mm;margin:6mm}body *{visibility:hidden}.cashless-ticket,.cashless-ticket *{visibility:visible}.cashless-ticket{width:68mm;box-shadow:none;border:0;position:absolute;top:0;left:0}.cashless-ticket canvas{width:48mm}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
