:root{color-scheme:light;--ink:#02094b;--muted:#596180;--brand:#173a7b;--accent:#006bad;--line:#dce1eb;--surface:#fff;--soft:#f2f6fa;--green:#236e40;--green-bg:#edf7ef;--red:#b63530;--red-bg:#fff0ed;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--surface);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{min-height:52px;border:1px solid var(--line);border-radius:10px;padding:11px 17px;background:white;color:var(--brand);font-weight:650;cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:not(:disabled):active{transform:scale(.985)}a{color:var(--brand)}input{min-height:56px;min-width:0;padding:12px 16px;color:var(--ink);border:1px solid #b9c2d6;border-radius:10px;background:white;font-size:18px}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link:focus{display:block;padding:16px}.primary-button{background:var(--brand);border-color:var(--brand);color:white}
.access-gate{min-height:100dvh;display:grid;place-items:center;padding:28px}.access-content{width:min(100%,430px)}.wordmark{font-weight:800;font-size:25px}.access-content h1{font-size:30px;margin:26px 0 12px}.access-content p{line-height:1.6;color:var(--muted)}#loginForm{display:grid;gap:12px;margin-top:24px}#loginForm label{font-weight:650}#loginSubmit{margin-top:10px}.gate-actions{display:flex;align-items:center;gap:12px;margin-top:20px;flex-wrap:wrap}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 30px 20px}.page-title{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.page-title h1{font-size:clamp(26px,2.5vw,34px);letter-spacing:-.8px}.page-title>span{font-size:17px;color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:10px}.connection{display:flex;gap:8px;align-items:center;margin-right:8px;color:var(--muted);font-size:14px;white-space:nowrap}.connection::before{content:"";width:9px;height:9px;border-radius:50%;background:#9ba4b8;flex-shrink:0}.connection.is-connected::before{background:var(--green)}.connection.is-offline::before{background:var(--red)}#helpButton{min-width:52px;font-size:21px}
.controls{padding:0 30px 18px}.control-row{display:flex;gap:24px;align-items:center;justify-content:space-between}.secondary-controls{margin-top:16px;gap:16px}.segmented{display:flex;gap:4px;flex-wrap:wrap}.segmented button{border-color:transparent;background:transparent;min-height:52px;font-size:17px;color:var(--muted)}.segmented button[aria-pressed=true]{background:#e8f2f8;color:var(--accent)}.view-switch{gap:8px}.view-switch button{font-size:19px;border-radius:0;border-bottom:3px solid transparent;padding:12px 16px}.view-switch button[aria-pressed=true]{border-bottom-color:var(--accent);background:transparent;color:var(--ink)}.status-switch button[data-status=soldout][aria-pressed=true]{color:var(--red);background:var(--red-bg)}.status-switch span{margin-left:5px;font-variant-numeric:tabular-nums}.search{position:relative;width:min(340px,32%)}.search input{width:100%;padding-left:46px;background:var(--soft);border-color:transparent}.search svg{position:absolute;top:19px;left:16px;width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:1.8}
.board-notice{margin:0 30px 18px;padding:14px 18px;color:#863127;background:#fff0ed;border-radius:9px;line-height:1.5;font-size:17px}.workspace{display:grid;grid-template-columns:235px minmax(0,1fr);gap:28px;padding:8px 30px 28px;min-height:58vh}.group-nav{align-self:start;position:sticky;top:16px;max-height:calc(100dvh - 32px);overflow:auto;display:flex;flex-direction:column;gap:7px;padding-right:3px}.group-nav button{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;min-height:62px;border-color:transparent;font-size:17px;font-weight:600;color:var(--muted);padding:12px 14px}.group-nav button[aria-pressed=true]{background:var(--soft);color:var(--brand)}.group-nav button small{font-weight:700;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}.board{min-width:0}.board-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding-bottom:18px}.board-header h2{font-size:24px;letter-spacing:-.4px}.board-header p{font-size:15px;color:var(--muted);margin-top:5px}.touch-hint{color:var(--muted);font-size:14px;text-align:right}.availability-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:16px;align-content:start}.availability-tile{display:flex;flex-direction:column;align-items:stretch;text-align:left;min-height:178px;padding:20px;border:1px solid #bad8c3;border-radius:13px;background:var(--green-bg);color:var(--ink);transition:background-color 180ms ease,border-color 180ms ease,transform 130ms ease}.availability-tile.is-soldout{background:var(--red-bg);border-color:#efbdb7}.tile-top{display:flex;justify-content:space-between;gap:12px;align-items:start}.tile-name{font-size:25px;font-weight:720;line-height:1.2;letter-spacing:-.3px;overflow-wrap:anywhere}.tile-symbol{flex-shrink:0;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--green);color:white;font-size:20px}.is-soldout .tile-symbol{background:var(--red)}.tile-group{font-size:14px;font-weight:500;color:var(--muted);line-height:1.4;margin-top:8px;margin-bottom:20px}.tile-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.tile-state{font-size:20px;font-weight:750;color:var(--green)}.is-soldout .tile-state{color:var(--red)}.tile-action{font-size:13px;font-weight:600;color:var(--green);text-align:right;max-width:110px}.is-soldout .tile-action{color:var(--red)}.availability-tile.is-unverified{background:var(--soft);border-color:var(--line);opacity:1}.is-unverified .tile-symbol{background:#758099}.is-unverified .tile-state,.is-unverified .tile-action{color:var(--muted)}.availability-tile.is-saving .tile-symbol{animation:save-pulse 700ms ease-in-out infinite alternate}.empty-state{text-align:center;padding:65px 20px;color:var(--muted)}.empty-state h3{color:var(--ink);font-size:24px;margin-bottom:10px}.empty-state p{line-height:1.6;max-width:480px;margin:0 auto 20px}
.page-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 30px;color:var(--muted);font-size:14px}.page-footer>div{display:flex;align-items:center;gap:18px}.page-footer button{min-height:48px}.feedback{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);width:max-content;border-radius:12px;padding:17px 24px;background:var(--ink);color:white;font-size:18px;font-weight:600;box-shadow:0 8px 28px #02094b25;z-index:5;pointer-events:none;animation:feedback-enter 160ms ease-out}dialog{width:min(600px,calc(100% - 32px));max-height:90dvh;border:1px solid var(--line);border-radius:16px;padding:28px;color:var(--ink);overflow:auto}dialog::backdrop{background:#02094b50;backdrop-filter:blur(3px)}dialog[open]{animation:dialog-enter 180ms ease-out}dialog header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}dialog h2{font-size:24px}dialog p{font-size:18px;line-height:1.6;margin-top:16px}dialog .help-note{color:var(--muted);font-size:16px}#closeHelp{font-size:25px;min-width:52px}body:has(dialog[open]){overflow:hidden}
.availability-tile.is-mixed{background:#fff8e9;border-color:#dfc999}.is-mixed .tile-symbol{background:#876016}.is-mixed .tile-state,.is-mixed .tile-action{color:#795410}.availability-tile.is-mixed.is-unverified{background:var(--soft);border-color:var(--line)}.is-mixed.is-unverified .tile-symbol{background:#758099}.is-mixed.is-unverified .tile-state,.is-mixed.is-unverified .tile-action{color:var(--muted)}
@keyframes feedback-enter{from{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%,0)}}@keyframes dialog-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes save-pulse{to{opacity:.35}}
@media(min-width:1600px){.availability-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.availability-tile{min-height:200px}.tile-name{font-size:29px}.tile-state{font-size:22px}.group-nav button{font-size:19px;min-height:68px}.workspace{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:1150px){.topbar{flex-wrap:wrap}.topbar-actions{margin-left:auto}.workspace{grid-template-columns:195px minmax(0,1fr);gap:18px}.availability-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.availability-tile{padding:17px}.tile-name{font-size:24px}.touch-hint{display:none}.view-switch button{font-size:17px;padding-inline:12px}.search{width:30%}}
@media(max-width:760px){.topbar{padding:20px 18px 16px;gap:15px}.page-title{gap:12px}.page-title>span{font-size:15px}.topbar-actions{width:100%;margin:0;gap:8px}.connection{margin-right:auto;font-size:13px}.topbar-actions button{padding:10px;min-width:50px}.topbar-actions button span{display:none}.controls{padding:0 18px 16px}.control-row{flex-wrap:wrap;gap:12px}.view-switch{width:100%;flex-wrap:nowrap}.view-switch button{min-height:58px;font-size:16px;flex:1;padding:10px 7px}.view-switch button:first-child{flex:2}.search{width:100%}.secondary-controls{gap:12px}.secondary-controls .segmented{width:100%;gap:3px}.secondary-controls button{flex:1;font-size:16px;padding:10px 7px}.workspace{display:block;padding:0 18px 18px}.group-nav{position:static;flex-direction:row;overflow-x:auto;max-height:none;gap:6px;margin:0 -18px 20px;padding:0 18px 6px}.group-nav button{flex-shrink:0;max-width:260px;min-height:55px;font-size:16px;gap:12px}.board-header{padding-bottom:16px}.board-header h2{font-size:23px}.availability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.availability-tile{min-height:174px;padding:14px}.tile-name{font-size:21px}.tile-symbol{width:25px;height:25px;font-size:17px}.tile-group{font-size:13px;margin-bottom:16px}.tile-state{font-size:18px}.tile-bottom{align-items:start;flex-direction:column;gap:5px}.tile-action{max-width:none;text-align:left;font-size:12px}.board-notice{margin:0 18px 18px;font-size:16px}.page-footer{padding:18px;align-items:start;flex-direction:column;line-height:1.5}.page-footer>div{width:100%;justify-content:space-between}.feedback{font-size:16px;padding:14px 18px}dialog{padding:20px}dialog p{font-size:17px}}
@media(max-width:760px){.controls .status-switch{width:100%;gap:3px}.controls .status-switch button{flex:1;font-size:16px;padding:10px 7px}}
@media(max-width:360px){.availability-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* El POS proporciona título, cierre y sesión; la pantalla conserva su tablero táctil. */
.is-pos-embedded .page-title,.is-pos-embedded .page-footer>div,.is-pos-embedded .gate-actions a{display:none}
.is-pos-embedded .topbar{padding:12px 22px;gap:12px}
.is-pos-embedded .topbar-actions{width:100%;margin:0}
.is-pos-embedded .connection{margin-right:auto}
.is-pos-embedded .controls{padding:0 22px 16px}
.is-pos-embedded .workspace{min-height:0;padding:0 22px 20px}
.is-pos-embedded .page-footer{padding:12px 22px}
.is-pos-embedded .board-notice{margin:0 22px 16px}
@media(max-width:760px){.is-pos-embedded .topbar{padding:12px 14px}.is-pos-embedded .controls{padding:0 14px 16px}.is-pos-embedded .workspace{padding:0 14px 18px}.is-pos-embedded .page-footer{padding:12px 14px}.is-pos-embedded .board-notice{margin:0 14px 16px}}
