:root{--bg:#07151d;--panel:#fff;--ink:#10202a;--muted:#6c7d87;--cyan:#13b8c6;--cyan2:#087f8b;--yellow:#ffb428;--pink:#f45c9b;--green:#24a26a;--red:#df5570;--line:#dfe8eb;--shadow:0 20px 58px rgba(4,21,30,.14)}*{box-sizing:border-box}html{min-height:100%;background:#eef4f6}body{margin:0;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#f7fafb,#eaf1f4);overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer}.eyebrow{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:var(--cyan2)}.demo-logo{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}.demo-logo img{width:150px;height:auto}.demo-logo span{display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.22);padding-left:14px}.demo-logo small{color:#a9bac2}.access-body,.login-body{background:radial-gradient(circle at 80% 10%,rgba(19,184,198,.18),transparent 32%),linear-gradient(145deg,#06131b,#102832);color:#fff}.access-shell{max-width:1200px;margin:auto;padding:32px 20px 70px}.access-hero{text-align:center;max-width:800px;margin:70px auto 44px}.access-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,6vw,70px);line-height:1.02;margin:10px 0 18px;letter-spacing:-.04em}.access-hero p{color:#c7d4d9;font-size:17px;line-height:1.65}.reset-clock{display:inline-flex;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:10px 14px;border-radius:999px;color:#dbe8ec}.access-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.access-card{background:#fff;color:var(--ink);border-radius:24px;padding:24px;border-top:5px solid var(--cyan);box-shadow:0 24px 54px rgba(0,0,0,.2);display:flex;flex-direction:column}.access-card.mesero{border-color:var(--yellow)}.access-card.cocina{border-color:#4bc5d3}.access-card.admin{border-color:var(--pink)}.access-card>span{font-size:32px}.access-card h2{margin:14px 0 6px}.access-card p{color:var(--muted);line-height:1.5;min-height:70px}.access-card>div{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;background:#f2f7f8;border-radius:14px;padding:12px;margin:8px 0 16px}.access-card small{color:#72838c}.access-card b{font-size:13px;overflow-wrap:anywhere}.access-card>a,.reset-form button{margin-top:auto;text-decoration:none;text-align:center;background:#0d2631;color:#fff;border:0;border-radius:14px;padding:13px;font-weight:900}.reset-form{text-align:center;margin-top:24px}.reset-form button{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);padding:13px 20px}.back-link{display:block;text-align:center;color:#c7d4d9;margin-top:20px}.demo-footer{background:#06131b;color:#d8e5e9;display:flex;justify-content:space-between;gap:20px;padding:22px max(20px,calc((100vw - 1200px)/2));border-top:1px solid rgba(255,255,255,.1)}.demo-footer small{color:#8fa4ae}.login-body{display:flex;flex-direction:column;min-height:100vh}.login-card{width:min(520px,calc(100% - 28px));margin:auto;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:28px;padding:28px;box-shadow:0 28px 80px rgba(0,0,0,.32);backdrop-filter:blur(16px)}.role-badge{display:inline-block;margin-top:34px;padding:8px 12px;border-radius:999px;background:#e8fbfc;color:#087f8b;font-weight:900}.role-badge.mesero{background:#fff5db;color:#9a6500}.role-badge.admin{background:#ffeaf3;color:#b52f6b}.login-card h1{font-family:Georgia,"Times New Roman",serif;font-size:40px;margin:14px 0 8px}.login-card>p{color:#c7d4d9}.login-card form{display:grid;gap:14px;margin-top:22px}.login-card label{display:grid;gap:7px;font-weight:800}.login-card input{width:100%;min-height:50px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(255,255,255,.1);color:#fff;padding:12px 14px;font-size:16px}.login-card form button{min-height:52px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--cyan),#078793);color:#fff;font-weight:900}.login-help{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;background:rgba(255,255,255,.06);padding:13px;border-radius:14px;color:#d8e5e9;font-size:13px}.login-card nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.login-card nav a{color:#d2e0e5;text-decoration:none;border:1px solid rgba(255,255,255,.15);padding:8px 10px;border-radius:10px;font-size:13px}.login-card nav a.active{background:#fff;color:#10202a}.alert{background:#5d2030;border:1px solid #a84963;color:#fff;padding:12px;border-radius:13px;margin-top:16px}.demo-top{min-height:72px;display:flex;align-items:center;padding:10px max(18px,calc((100vw - 1320px)/2));background:#07151d;color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 8px 25px rgba(4,21,30,.22)}.demo-top>a img{width:112px;height:auto}.demo-top>div{display:flex;flex-direction:column;margin-left:16px;padding-left:16px;border-left:1px solid rgba(255,255,255,.2)}.demo-top small{color:#9fb1ba}.demo-top nav{margin-left:auto;display:flex;gap:14px}.demo-top nav a{color:#d8e5e9;text-decoration:none;font-weight:800;font-size:13px}.panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 10px 30px rgba(5,28,40,.06)}.client-layout,.waiter-layout,.admin-layout{max-width:1320px;margin:auto;padding:24px;display:grid;gap:18px}.client-layout{grid-template-columns:1.45fr .55fr}.welcome{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#06232e,#0f4c58);color:#fff;border:0}.welcome h1,.admin-head h1{font-family:Georgia,"Times New Roman",serif;font-size:42px;margin:5px 0}.welcome p,.admin-head p{color:#c5d3d8;margin:0}.demo-timer{background:rgba(19,184,198,.11);color:#0b7782;border-radius:999px;padding:9px 13px;font-weight:900;white-space:nowrap}.welcome .demo-timer{background:rgba(255,255,255,.1);color:#fff}.menu-panel{min-width:0}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-title h2{margin:0;font-size:24px}.panel-title p{margin:4px 0 0;color:var(--muted)}.panel-title input{min-height:44px;border:1px solid #d5e0e4;border-radius:12px;padding:10px 13px;min-width:220px;font-size:16px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.product-grid.compact{grid-template-columns:repeat(3,1fr)}.product-card{border:1px solid #dfe8eb;background:#fff;border-radius:17px;padding:15px;text-align:left;position:relative;min-height:150px;transition:transform .15s ease,border-color .15s ease}.product-card:hover{transform:translateY(-2px);border-color:#8fdbe2}.product-card .emoji{font-size:34px}.product-card h3{font-size:15px;margin:10px 0 5px}.product-card small{color:var(--muted)}.product-card b{display:block;margin-top:10px;color:#087986}.product-card button{position:absolute;right:10px;bottom:10px;width:34px;height:34px;border-radius:11px;border:0;background:#e7f9fa;color:#087986;font-size:21px}.cart-panel{position:sticky;top:92px;height:max-content}.cart-panel h2{margin-top:0}.cart-list{display:grid;gap:9px;max-height:370px;overflow:auto}.cart-list.empty{color:var(--muted);padding:26px 0}.cart-row{display:grid;grid-template-columns:1fr auto;gap:8px;background:#f2f7f8;border-radius:13px;padding:11px}.cart-row small{color:var(--muted)}.cart-row .qty{display:flex;align-items:center;gap:7px}.cart-row button{border:0;background:#fff;border-radius:8px;width:28px;height:28px}.cart-total{display:flex;justify-content:space-between;border-top:1px solid #e1e8eb;margin-top:14px;padding-top:14px;font-size:18px}.primary-action,.reservation button,.reset-button{width:100%;min-height:48px;border:0;border-radius:13px;background:linear-gradient(135deg,var(--cyan),#087d88);color:#fff;font-weight:900;margin-top:14px}.reservation{grid-column:1/-1;display:grid;grid-template-columns:.6fr 1.4fr;gap:22px;align-items:center}.reservation h2{font-size:30px;margin:5px 0}.reservation form{display:grid;grid-template-columns:1.3fr 1fr 1fr .7fr auto;gap:10px;align-items:end}.reservation label,.cart-panel label{display:grid;gap:6px;font-size:13px;font-weight:800}.reservation input,.cart-panel input{min-height:44px;border:1px solid #d5e0e4;border-radius:11px;padding:10px;font-size:16px}.reservation button{margin:0;padding:0 18px}.orders{grid-column:1/-1}.order-list{display:grid;gap:10px}.order-row{display:grid;grid-template-columns:110px 1fr auto auto;align-items:center;gap:12px;border:1px solid #e0e8eb;border-radius:15px;padding:13px}.order-row .folio{font-weight:900}.order-row .items{color:var(--muted);font-size:13px}.status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900;background:#fff3d6;color:#946000}.status.preparando{background:#e8f7fb;color:#08737e}.status.lista{background:#e6f8ef;color:#14744b}.status.entregada{background:#eef0f2;color:#58666d}.waiter-layout{grid-template-columns:.75fr 1.35fr .7fr}.tables-panel{grid-column:1/-1}.tables-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:10px}.table-btn{min-height:76px;border:2px solid #cfe6d9;border-radius:16px;background:#e8f8ef;color:#176c49;font-weight:900}.table-btn.reservada{background:#fff3d7;border-color:#f3d17d;color:#8b5d00}.table-btn.ocupada{background:#ffe8ee;border-color:#f2a9ba;color:#a23050}.table-btn.selected{outline:4px solid rgba(19,184,198,.24);border-color:var(--cyan)}.tables-grid .table-meta{display:block;font-size:11px;font-weight:600;margin-top:4px;opacity:.72}.waiter-layout .orders{grid-column:1/-1}.kitchen-body{background:#07151d;color:#fff}.kitchen-top{min-height:76px;display:flex;justify-content:space-between;align-items:center;padding:10px 22px;background:#040d12;border-bottom:1px solid rgba(255,255,255,.12);position:sticky;top:0;z-index:10}.kitchen-top>div{display:flex;align-items:center;gap:15px}.kitchen-top img{width:116px}.kitchen-top span{display:flex;flex-direction:column}.kitchen-top small{color:#90a6b0}.kitchen-top a{color:#d6e4e8;text-decoration:none;font-size:13px;font-weight:800}.kitchen-board{padding:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.kitchen-board>section{background:#102630;border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:15px;min-height:calc(100vh - 150px)}.kitchen-board section>header{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 12px}.kitchen-board h2{margin:0}.kitchen-board section>header b{display:grid;place-items:center;width:32px;height:32px;background:rgba(255,255,255,.1);border-radius:50%}.kitchen-column{display:grid;gap:12px;align-content:start}.kitchen-card{background:#fff;color:var(--ink);border-radius:17px;padding:15px;box-shadow:0 12px 25px rgba(0,0,0,.18)}.kitchen-card .k-head{display:flex;justify-content:space-between;gap:10px}.kitchen-card h3{margin:0}.kitchen-card ul{padding-left:18px;color:#52636b;line-height:1.55}.kitchen-card button{width:100%;border:0;border-radius:11px;min-height:42px;background:#0a7e89;color:#fff;font-weight:900}.admin-head{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#07151d,#134c59);color:#fff;border:0}.admin-head .reset-button{width:auto;padding:0 18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);margin:0}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric{background:#fff;border:1px solid var(--line);border-radius:19px;padding:20px}.metric small{color:var(--muted);font-weight:800}.metric b{display:block;font-size:30px;margin-top:7px;color:#0c7985}.chart-card{grid-column:span 2}.chart-bars{height:250px;display:flex;align-items:end;gap:12px;border-left:1px solid #dce5e8;border-bottom:1px solid #dce5e8;padding:14px 14px 0}.chart-bars i{height:var(--v);background:linear-gradient(180deg,var(--cyan),#087d88);border-radius:10px 10px 0 0;flex:1;position:relative;min-height:20px}.chart-bars span{position:absolute;bottom:-30px;left:50%;transform:translateX(-50%);font-style:normal;color:var(--muted);font-size:12px}.admin-layout{grid-template-columns:1.1fr .9fr}.admin-layout .admin-head,.admin-layout .metric-grid{grid-column:1/-1}.admin-layout .tables-panel{grid-column:auto}.admin-layout .orders{grid-column:1/-1}.reservations-panel{grid-column:2}.reservation-list{display:grid;gap:9px}.reservation-item{display:flex;justify-content:space-between;gap:10px;border:1px solid #e0e8eb;border-radius:13px;padding:12px}.reservation-item small{display:block;color:var(--muted)}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,30px);background:#07151d;color:#fff;border-radius:13px;padding:12px 18px;opacity:0;pointer-events:none;transition:.2s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:1080px){.access-grid{grid-template-columns:repeat(2,1fr)}.client-layout,.waiter-layout,.admin-layout{grid-template-columns:1fr}.cart-panel{position:static}.reservation{grid-template-columns:1fr}.reservation form{grid-template-columns:repeat(2,1fr)}.reservation button{min-height:46px}.orders,.tables-panel,.admin-layout .orders,.reservations-panel,.chart-card{grid-column:auto}.product-grid,.product-grid.compact{grid-template-columns:repeat(3,1fr)}.tables-grid{grid-template-columns:repeat(6,1fr)}.kitchen-board{grid-template-columns:1fr}.kitchen-board>section{min-height:0}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.access-shell{padding:20px 14px 50px}.demo-logo img{width:120px}.demo-logo span{display:none}.access-hero{margin-top:45px}.access-hero h1{font-size:43px}.access-grid{grid-template-columns:1fr}.access-card p{min-height:auto}.demo-footer{display:block;text-align:center}.demo-footer small{display:block;margin-top:5px}.demo-top{padding:9px 12px}.demo-top>a img{width:90px}.demo-top>div{margin-left:10px;padding-left:10px}.demo-top nav{gap:8px}.demo-top nav a:first-child{display:none}.client-layout,.waiter-layout,.admin-layout{padding:12px}.panel{padding:16px;border-radius:18px}.welcome,.admin-head{display:block}.welcome h1,.admin-head h1{font-size:34px}.welcome .demo-timer,.admin-head .reset-button{display:inline-flex;margin-top:14px}.panel-title{align-items:flex-start;flex-direction:column}.panel-title input{width:100%;min-width:0}.product-grid,.product-grid.compact{grid-template-columns:repeat(2,1fr)}.product-card{min-height:145px}.reservation form{grid-template-columns:1fr}.order-row{grid-template-columns:1fr auto}.order-row .items{grid-column:1/-1}.tables-grid{grid-template-columns:repeat(3,1fr)}.kitchen-top{align-items:flex-start;padding:10px 12px}.kitchen-top>div:last-child{flex-direction:column;align-items:flex-end;gap:7px}.kitchen-board{padding:12px}.metric-grid{grid-template-columns:repeat(2,1fr)}.chart-bars{height:190px}.login-card{padding:22px}.login-card h1{font-size:35px}.login-help{grid-template-columns:1fr}}@media(max-width:390px){.product-grid,.product-grid.compact{grid-template-columns:1fr 1fr}.product-card{padding:12px}.metric-grid{grid-template-columns:1fr}.tables-grid{grid-template-columns:repeat(3,1fr)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Restaurante Be v1.7 · identidad oscura y responsiva */
:root{--bg:#090908;--panel:#171613;--ink:#f5f1e9;--muted:#aaa296;--cyan:#27c8d5;--cyan2:#21a9b5;--yellow:#ffbd35;--pink:#ef5b9d;--green:#31b979;--red:#e65a72;--line:rgba(255,255,255,.13);--shadow:0 20px 58px rgba(0,0,0,.32)}body{color:var(--ink);background:radial-gradient(circle at 80% 0,rgba(255,189,53,.12),transparent 25%),linear-gradient(180deg,#090908,#17130f);background-attachment:fixed}.access-body,.login-body{background:linear-gradient(90deg,rgba(4,4,3,.9),rgba(4,4,3,.58)),url('hero-v17.webp') center/cover fixed;color:#fff}.access-shell{max-width:1260px}.access-hero{background:rgba(8,8,7,.64);border:1px solid rgba(255,255,255,.13);padding:30px;border-radius:26px;backdrop-filter:blur(14px)}.access-hero h1{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-weight:900}.access-card{background:#141310;color:#fff;border:1px solid rgba(255,255,255,.14);border-top:4px solid var(--yellow)}.access-card.mesero{border-top-color:var(--cyan)}.access-card.cocina{border-top-color:#ef8b2c}.access-card.admin{border-top-color:var(--pink)}.access-card p,.access-card small{color:#aaa296}.access-card>div{background:#211e19}.access-card>a{background:#f4efe5;color:#17130d}.login-card{background:rgba(10,10,9,.82);border-color:rgba(255,255,255,.16)}.login-card input{background:#181713;border-color:#37332c}.login-card form button{background:linear-gradient(135deg,var(--yellow),#e7a10e);color:#16110a}.demo-top,.kitchen-top{background:rgba(8,8,7,.94);border-bottom:1px solid rgba(255,255,255,.13);backdrop-filter:blur(12px)}.panel{background:#151411;border-color:#332f29;color:#f4f0e7}.panel-title p,.welcome p,.admin-head p,.product-card small,.cart-row small,.order-row .items,.reservation-item small{color:#aaa296}.welcome{background:linear-gradient(135deg,#11100e,#352918);border:1px solid #4a3a22}.product-card{background:#1a1916;border-color:#35312a;color:#fff}.product-card:hover{border-color:var(--yellow)}.product-card b{color:var(--yellow)}.product-card button{background:#302a20;color:var(--yellow)}.cart-row,.credential,.order-row,.reservation-item{background:#211f1b}.panel-title input,.cart-panel label input,.reservation input{background:#211f1b;border-color:#3c3831;color:#fff}.primary-action,.reservation button,.pay-btn{background:var(--yellow)!important;color:#17120c!important}.tables-grid .table-btn{background:#1d1b18;color:#eee;border-color:#39352e}.tables-grid .table-btn.libre{border-color:#246f51}.tables-grid .table-btn.ocupada{border-color:var(--pink)}.tables-grid .table-btn.reservada{border-color:var(--yellow)}.tables-grid .table-btn.selected{background:rgba(39,200,213,.18);border-color:var(--cyan)}.order-row{border-color:#39352e}.status.pendiente{background:#3a2c10;color:#ffd978}.status.preparando{background:#113a3e;color:#75e6ef}.status.lista{background:#3b1730;color:#ff9bc6}.status.entregada{background:#13382a;color:#76dfaf}.kitchen-body{background:#090908}.kitchen-board>section{background:#151411;border-color:#343029}.kitchen-board>section:nth-child(1)>header{border-top-color:var(--yellow)}.kitchen-board>section:nth-child(2)>header{border-top-color:var(--cyan)}.kitchen-board>section:nth-child(3)>header{border-top-color:var(--pink)}.kitchen-card{background:#201e1a;border-color:#39352e}.kitchen-card button{background:var(--yellow);color:#15110a}.metric{background:#151411;border-color:#343029;color:#fff}.metric b{color:var(--yellow)}.chart-bars{background:#1b1916}.chart-bars i{background:linear-gradient(var(--pink),#8f2c59)}.demo-footer{background:#070706;border-top-color:#2e2a25}.toast{background:#f4efe5;color:#15110a}@media(max-width:720px){.access-body,.login-body{background-attachment:scroll}.demo-top>div,.kitchen-top span small{display:none}.demo-top nav{gap:8px}.demo-top nav a{font-size:11px}.panel{border-radius:17px}.product-card{min-height:135px}}

/* v108 · acceso público del cliente */
.access-card .public-access{background:linear-gradient(135deg,rgba(39,200,213,.15),rgba(255,189,53,.12));border:1px solid rgba(39,200,213,.35)}.access-card .public-access b{color:#fff}.login-card nav>a:first-child{border-color:rgba(39,200,213,.45);color:#8cebf2}
