@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--bg:#faf8f2;--ink:#203e35;--muted:#7d8278;--line:#e7e7dc;--gold:#b78e3c;--white:#fff;--serif:'Playfair Display',Georgia,serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',Arial,sans-serif}button,input,textarea,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{opacity:.45;cursor:default}a{color:inherit;text-decoration:none}.rail{position:fixed;inset:0 auto 0 0;width:236px;background:#f1f2e9;border-right:1px solid var(--line);padding:40px 26px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-family:var(--serif);font-size:44px;line-height:1}.flower{color:var(--gold);font-size:55px;font-family:Georgia}.brand small{font:8px 'DM Sans',sans-serif;letter-spacing:2px;display:block;margin-top:10px}.rail-caption{font-size:9px;letter-spacing:2px;color:var(--muted);margin:64px 12px 19px}nav{display:grid;gap:8px}nav button{text-align:left;background:transparent;color:#68766c;padding:15px 17px;border-radius:7px;display:flex;gap:15px;align-items:center}nav button.active{background:var(--ink);color:white}nav button span:first-child{font-size:19px}nav button small{margin-left:auto;background:#ffffff25;padding:3px 6px;border-radius:4px}.rail-bottom{margin-top:auto;padding:30px 12px 0}.rail-bottom .flower{font-size:32px}.rail-bottom p{font-family:var(--serif);font-size:22px;line-height:1.5}.rail-bottom small{font-size:10px;color:var(--muted)}.shell{margin-left:236px}header{height:80px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 46px;font-size:11px;color:#6b796f}.dot{display:inline-block;width:6px;height:6px;background:#78927b;border-radius:50%;margin-right:5px}.demo{border-left:1px solid var(--line);margin-left:17px;padding-left:17px;font-size:8px;letter-spacing:1.5px}.quiet{background:none;color:var(--ink);padding:10px}.quiet span{margin-left:18px}main{max-width:1440px;margin:auto;padding:35px 46px 45px}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--gold);font-weight:700;text-transform:uppercase}.page-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}h1{font:42px var(--serif);margin:10px 0 9px;letter-spacing:-1px}h2{font:27px var(--serif);margin:0}h3{font:20px var(--serif);margin:0}p{line-height:1.6}.subtitle{color:var(--muted);margin:0;font-size:12px}.table-chip{border:1px solid var(--line);border-radius:8px;padding:12px 18px;background:#fff;display:flex;align-items:center;gap:12px;font-size:12px}.table-chip span{font-size:24px;color:var(--gold)}.table-chip small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.hero{height:253px;border-radius:12px;overflow:hidden;position:relative;background:#203e35;margin-bottom:28px;display:flex;align-items:center}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;opacity:.65}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#10271ee8 0%,#18322777 45%,transparent)}.hero-content{position:relative;z-index:1;padding:32px;color:white}.hero .eyebrow{color:#e4c479}.hero h2{font:37px var(--serif);line-height:1.25;max-width:420px;margin:14px 0}.hero p{font-size:11px;color:#e8eee5}.hero-tag{position:absolute;right:22px;bottom:22px;z-index:1;color:white;font-size:9px;letter-spacing:1.3px;background:#ffffff20;backdrop-filter:blur(6px);border:1px solid #ffffff50;border-radius:25px;padding:10px 15px}.menu-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.section-title small{font-size:10px;color:var(--muted)}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:23px}.pill{background:transparent;border:1px solid var(--line);color:#6e786e;padding:9px 17px;border-radius:30px;font-size:11px}.pill.active{background:var(--ink);border-color:var(--ink);color:white}.search{width:100%;padding:12px;border:1px solid var(--line);border-radius:7px;background:white;margin-bottom:20px;color:var(--ink)}.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.product{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:transform .2s}.product:hover{transform:translateY(-3px)}.photo{height:161px;position:relative;background:#e6e2d4}.photo img{width:100%;height:100%;object-fit:cover}.label{position:absolute;top:12px;left:12px;font-size:8px;letter-spacing:1px;background:var(--bg);padding:7px 10px;border-radius:3px}.product-body{padding:17px}.product h3{font-size:18px}.product p{font-size:10px;color:var(--muted);margin:8px 0 15px;min-height:32px}.product-bottom{display:flex;justify-content:space-between;align-items:center}.price{font-size:13px;font-weight:600}.add{border:1px solid var(--line);color:var(--ink);background:#fff;width:32px;height:32px;border-radius:50%;font-size:20px}.add:hover{background:var(--ink);color:white}.basket{background:white;border:1px solid var(--line);border-radius:10px;padding:23px;height:fit-content;position:sticky;top:24px}.basket-title{display:flex;justify-content:space-between;align-items:center}.basket-title h3{font-size:23px}.count{border:1px solid var(--line);border-radius:50%;padding:4px 8px;font-size:10px}.basket-sub{font-size:10px;color:var(--muted);margin:9px 0 22px}.basket-empty{text-align:center;padding:35px 0;color:var(--muted);font-size:11px}.basket-empty div{font-size:32px;color:#b4baa8;margin-bottom:15px}.cart-row{border-bottom:1px solid var(--line);padding:14px 0;font-size:11px}.cart-row .row{margin-bottom:6px}.row{display:flex;justify-content:space-between;gap:12px;align-items:center}.cart-row small{color:var(--muted);display:block;font-size:9px}.stepper{display:flex;align-items:center;gap:10px;margin-top:10px}.stepper button{width:24px;height:24px;background:var(--bg);border-radius:4px}.total{font-size:14px;margin:20px 0}.primary{background:var(--ink);color:#fff;border-radius:6px;padding:14px 18px;font-size:11px;display:inline-flex;justify-content:center;align-items:center;gap:15px}.full{width:100%}.basket .hint{text-align:center;font-size:9px;color:var(--muted);line-height:1.6;margin-bottom:0}.service-note{display:flex;gap:13px;background:#f0f1e7;border-radius:7px;padding:17px;margin-top:17px;font-size:10px;line-height:1.6}.service-note strong{display:block}.service-note span{font-size:22px;color:var(--gold)}footer{margin:0 46px;padding:24px 0;border-top:1px solid var(--line);color:#8a8d81;font-size:8px;letter-spacing:1.5px;display:flex;justify-content:space-between}footer span{letter-spacing:0}.overlay{position:fixed;inset:0;background:#10271e70;z-index:10;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}[hidden]{display:none!important}.dialog{background:var(--bg);padding:30px;border-radius:14px;width:470px;max-height:90vh;overflow:auto;box-shadow:0 25px 100px #0003}.dialog h2{margin:0 0 15px}.dialog .close{float:right;background:transparent;font-size:23px;color:var(--ink)}label{display:block;font-size:11px;margin:17px 0 8px}textarea,input,select{width:100%;border:1px solid var(--line);border-radius:6px;padding:12px;background:white;color:var(--ink)}textarea{resize:vertical;min-height:85px}.dialog .primary{margin-top:22px}.role-list{display:grid;gap:10px}.role-list button{padding:17px;background:white;border:1px solid var(--line);border-radius:6px;color:var(--ink);text-align:left}.role-list small{display:block;color:var(--muted);margin-top:4px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:14px 22px;border-radius:8px;z-index:20;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90vw}#toast.show{opacity:1}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ticket{padding:23px;background:#fff;border:1px solid var(--line);border-radius:9px}.ticket p{font-size:12px}.badge{display:inline-block;background:#eff1e7;color:#5f755b;padding:6px 10px;border-radius:30px;font-size:9px}.badge.pending{background:#f8edcf;color:#987428}.ticket .primary{margin-top:15px}.order-line{border-top:1px solid var(--line);padding:14px 0}.order-line small{color:var(--muted);display:block;margin-top:6px}.progress{display:flex;gap:4px;margin:18px 0}.progress span{height:3px;flex:1;background:var(--line);border-radius:3px}.progress span.on{background:var(--gold)}.empty-panel{padding:65px 25px;text-align:center;background:white;border:1px dashed #d4d9c9;border-radius:10px}.empty-panel h2{margin:12px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:25px}.stat{padding:22px;background:white;border:1px solid var(--line);border-radius:8px}.stat small{color:var(--muted);font-size:11px}.stat strong{display:block;font:30px var(--serif);margin-top:10px}.bill{max-width:730px;background:#fff;border:1px solid var(--line);padding:28px;border-radius:10px}.bill .row{padding:14px 0;border-bottom:1px solid var(--line)}.stars{display:flex;gap:9px;margin:22px 0}.stars button{background:transparent;color:#c3c6b7;font-size:35px;padding:0}.stars button.selected{color:var(--gold)}.secondary{background:#edeedf;color:var(--ink);padding:12px 16px;border-radius:6px;font-size:11px}.helper{font-size:11px;color:var(--muted);line-height:1.7}.mobile-basket{display:none}.alert{background:#f8edcf;padding:15px;border-radius:7px;font-size:11px;margin-bottom:20px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.toolbar select{width:auto}.modal-photo{width:100%;height:180px;object-fit:cover;border-radius:8px;margin-bottom:20px}
@media(min-width:1500px){.photo{height:205px}.hero{height:290px}}
@media(max-width:1100px){.rail{width:185px;padding:30px 18px}.shell{margin-left:185px}main{padding:28px}header{padding:0 28px}.menu-layout{grid-template-columns:1fr 245px;gap:18px}.cards{grid-template-columns:repeat(2,1fr)}.photo{height:140px}}
@media(max-width:800px){.rail{position:static;width:auto;padding:16px 20px;border-right:0;border-bottom:1px solid var(--line);display:block}.brand{font-size:31px}.brand .flower{font-size:39px}.brand small{font-size:7px;margin-top:5px}.rail-caption,.rail-bottom{display:none}nav{display:flex;margin-top:18px;gap:4px;overflow:auto}nav button{padding:10px 12px;font-size:11px;white-space:nowrap;gap:7px}.shell{margin:0}header{height:58px;padding:0 20px}.demo{font-size:7px;margin-left:10px;padding-left:10px}main{padding:24px 20px 35px}h1{font-size:34px}.page-top{align-items:flex-start}.table-chip{padding:9px 11px;font-size:10px}.table-chip span{font-size:18px}.hero{height:220px}.hero-content{padding:23px}.hero h2{font-size:30px;max-width:290px}.hero-tag{display:none}.menu-layout{display:block}.basket{position:static;margin-top:25px}.products{gap:13px}.product-body{padding:13px}.product h3{font-size:16px}.photo{height:145px}.cards{grid-template-columns:1fr}.stats{gap:8px}.stat{padding:15px}.stat strong{font-size:25px}.stat small{font-size:9px}footer{margin:0 20px}footer span{display:none}.mobile-basket{display:block;position:fixed;bottom:15px;left:20px;right:20px;z-index:4}.shell:has(.mobile-basket) footer{padding-bottom:85px}.dialog{padding:23px}.bill{padding:20px}}
.brand{font-size:29px;letter-spacing:1px;gap:8px}.brand .flower{font-size:39px}.brand small{font-size:8px;letter-spacing:1px;white-space:nowrap}
@media(max-width:1100px) and (min-width:801px){.brand{font-size:23px;gap:5px}.brand .flower{font-size:29px}.brand small{font-size:7px;letter-spacing:.6px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
body:not([data-role="Mesero"]) h1,body:not([data-role="Mesero"]) h2,body:not([data-role="Mesero"]) h3{font-family:'DM Sans',Arial,sans-serif;letter-spacing:0}
body:not([data-role="Mesero"]) h1{font-size:30px}body:not([data-role="Mesero"]) .photo{height:130px}body:not([data-role="Mesero"]) .product:hover{transform:none}
.staff-profile{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid var(--line);padding:18px 22px;border-radius:10px;margin-bottom:30px}.avatar{width:49px;height:49px;border-radius:50%;background:#e8ecdf;display:grid;place-items:center;color:var(--ink);font-size:20px;flex-shrink:0}.staff-profile strong{font-size:16px}.staff-profile span{display:block;color:var(--muted);font-size:11px;margin-top:5px}.staff-profile button{margin-left:auto}.assigned-table{display:flex;align-items:center;gap:23px;background:white;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:10px;padding:25px;margin:0 0 30px}.table-number{width:76px;height:82px;background:#f0f1e7;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;font-size:32px}.table-number small{font-size:9px;letter-spacing:2px;margin-top:7px}.table-actions{margin-left:auto;display:flex;gap:10px}.staff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.staff-card{background:white;border:1px solid var(--line);padding:25px;border-radius:10px}.staff-card h3{margin-top:18px}.staff-card p{font-size:12px;color:var(--muted)}.staff-card button{margin-top:20px}.staff-card .badge{display:block;width:fit-content}.empty-panel .flower{display:none}
@media(max-width:1000px){.staff-grid{grid-template-columns:repeat(2,1fr)}.table-actions{flex-direction:column}}
@media(max-width:600px){.staff-profile{padding:15px;gap:10px}.staff-profile button{font-size:10px;padding:10px}.assigned-table{padding:17px;gap:15px;flex-wrap:wrap}.table-actions{margin:0;width:100%;flex-direction:row}.table-actions button{flex:1}.staff-grid{grid-template-columns:1fr 1fr;gap:12px}.staff-card{padding:17px}.staff-card h3{font-size:18px}.staff-card button{font-size:10px;padding:10px}}
.table-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:30px}.table-tile{display:flex;flex-direction:column;align-items:flex-start;gap:13px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:16px;text-align:left;color:var(--ink)}.table-tile.selected{border:2px solid var(--gold);padding:15px;background:#f8f5e9}.table-tile-head{display:flex;align-items:baseline;gap:7px;font-size:11px}.table-tile-head strong{font:25px var(--serif)}.table-meta{color:var(--muted);font-size:10px}.dialog .table-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:1100px){.table-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:800px){.table-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){.table-grid,.dialog .table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.table-tile{padding:14px}.table-tile.selected{padding:13px}}
.logo-symbol{position:relative;display:block;flex-shrink:0;width:43px;height:43px;overflow:hidden}.logo-symbol img{position:absolute;width:200px;max-width:none;height:auto;left:-26px;top:-4px}
@media(max-width:1100px) and (min-width:801px){.logo-symbol{width:31px;height:34px}.logo-symbol img{width:150px;left:-20px;top:-3px}}
.program-label{font-size:10px;letter-spacing:1.2px;margin-left:auto;padding-left:14px;font-weight:600;color:var(--ink)}body[data-program="caja"] #roleButton,body[data-program="clientes"] #roleButton{display:none}
.presentation-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #e2d6b9;background:#f5efdf;border-radius:6px;padding:8px 14px;margin-bottom:23px;font-size:10px}.presentation-bar>span{font-size:8px;letter-spacing:1px;font-weight:700;color:#8b6c30}.presentation-bar>div{display:flex;align-items:center;gap:15px}.presentation-bar a{text-decoration:underline;text-underline-offset:3px}.presentation-bar .quiet{font-size:10px}.sample-reviews{margin-top:30px;display:grid;gap:12px;max-width:730px}.sample-reviews h2{margin-bottom:10px}
@media(max-width:600px){.presentation-bar{align-items:flex-start;flex-direction:column;gap:4px}.presentation-bar>div{gap:12px;flex-wrap:wrap}.presentation-bar .quiet{padding:7px 0}}
