@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');
:root{--sea:#075e73;--turq:#13b8b0;--aqua:#cff7f2;--sun:#ffd45a;--sand:#fff0c9;--coral:#ff7e67;--green:#2ec48d;--ink:#17434e;--cream:#fffaf0;--white:#fff;--muted:#67818a;--shadow:0 14px 40px rgba(7,94,115,.12);--r:28px;--safe:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--cream);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif}body{min-width:320px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}h1,h2,p{margin-top:0}h1,h2{font-family:'Fraunces',Georgia,serif;line-height:1.03}.eyebrow{font:700 .73rem/1 'DM Sans';letter-spacing:.16em;color:var(--turq);text-transform:uppercase}.boot{min-height:100dvh;display:grid;place-content:center;text-align:center;gap:8px;background:linear-gradient(160deg,var(--aqua),var(--cream) 60%)}.boot .sun{font-size:3rem}.boot strong{font-family:'Fraunces';font-size:1.4rem}.boot span{color:var(--muted)}
.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--sea);color:white;font:bold 1.35rem Fraunces;box-shadow:inset 0 0 0 3px rgba(255,255,255,.25)}.brand div{display:grid}.brand b{font-family:Fraunces;font-size:.94rem;line-height:1}.brand small{color:var(--muted);font-size:.66rem;margin-top:4px;letter-spacing:.06em;text-transform:uppercase}.primary,.sun-button,.action{border:0;border-radius:999px;padding:16px 22px;font-weight:700;background:var(--sea);color:#fff;min-height:52px}.sun-button{background:var(--sun);color:var(--ink);display:flex;justify-content:space-between;align-items:center}.sun-button b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--white)}.quiet{display:block;color:var(--sea);text-align:center;margin-top:18px}.error{min-height:100dvh;display:grid;place-content:center;text-align:center}.error h1{font-size:4rem;margin-bottom:8px}
.landing{min-height:100dvh;background:var(--cream)}.landing-image{height:52dvh;background:linear-gradient(180deg,transparent 60%,var(--cream)),url('/assets/smeraldo-hero.png') center/cover}.landing section{padding:0 24px 36px;margin-top:-22px;position:relative}.landing .brand{margin-bottom:40px}.landing h1{font-size:clamp(2.5rem,10vw,4.4rem);max-width:700px;margin-bottom:15px}.landing section>p:not(.eyebrow){color:var(--muted);font-size:1.06rem;line-height:1.5;max-width:500px}.landing .primary{width:100%;margin-top:14px}.access{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,var(--aqua),transparent 55%),var(--cream)}.access-card{background:#fff;padding:28px;border-radius:36px;box-shadow:var(--shadow);max-width:440px;width:100%;text-align:center}.access-card .brand{justify-content:center;margin-bottom:42px}.role-icon{font-size:4rem;margin:10px}.access-card h1{font-size:2.6rem;margin-bottom:10px}.access-card p:not(.eyebrow){color:var(--muted);line-height:1.5}.access-card .primary{width:100%;margin-top:14px}
.client-shell{min-height:100dvh;padding-bottom:calc(82px + var(--safe))}.client-head{height:74px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,250,240,.88);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(7,94,115,.08)}.umbrella-pill{border:0;background:var(--aqua);border-radius:999px;padding:10px 13px;font-size:.75rem;font-weight:700}.bottom-nav{position:fixed;bottom:0;z-index:50;width:100%;height:calc(70px + var(--safe));padding:6px 22px var(--safe);display:flex;align-items:center;justify-content:space-around;background:rgba(255,255,255,.93);backdrop-filter:blur(20px);border-top:1px solid rgba(7,94,115,.08)}.bottom-nav button{border:0;background:none;display:grid;gap:2px;place-items:center;font-size:.67rem;color:var(--muted);min-width:64px}.bottom-nav button span{font-size:1.55rem;font-weight:700;height:30px}.bottom-nav button.active{color:var(--sea)}.bottom-nav button.active span{background:var(--aqua);border-radius:999px;min-width:48px;padding:0 12px}.cart-icon{position:relative}.cart-icon i{position:absolute;right:-9px;top:-5px;background:var(--coral);color:#fff;width:18px;height:18px;border-radius:50%;font:700 .62rem/18px sans-serif}
.home{padding-bottom:20px}.hero{min-height:61dvh;margin:0;background:linear-gradient(90deg,rgba(5,58,68,.84),rgba(5,58,68,.08)),url('/assets/smeraldo-hero.png') center/cover;display:flex;align-items:flex-end;padding:28px 22px;color:#fff}.hero-copy{max-width:500px}.hero .eyebrow{color:var(--sun)}.hero h1{font-size:clamp(2.8rem,14vw,5.5rem);margin-bottom:14px}.hero p:not(.eyebrow){line-height:1.5;color:rgba(255,255,255,.9)}.hero .sun-button{width:100%;max-width:320px;margin-top:24px}.quick{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px}.quick>div{border-radius:24px;background:#fff;padding:18px;box-shadow:0 8px 25px rgba(7,94,115,.07);display:grid;gap:5px}.quick span{font-size:1.6rem}.quick b{font-size:.9rem}.quick small{font-size:.7rem;color:var(--muted);line-height:1.4}.current-order{margin:0 18px;width:calc(100% - 36px);border:0;border-radius:22px;background:var(--sea);color:#fff;padding:16px;display:flex;justify-content:space-between;align-items:center;text-align:left}.current-order span{display:grid;gap:5px}.current-order small{font-size:.62rem;color:var(--aqua)}
.page-title{padding:26px 18px 12px}.page-title h1{font-size:2.5rem;margin-bottom:0}.categories{display:flex;gap:9px;overflow:auto;padding:6px 18px 17px;scrollbar-width:none}.categories::-webkit-scrollbar{display:none}.categories button{flex:0 0 auto;border:1px solid rgba(7,94,115,.12);border-radius:999px;background:#fff;padding:9px 13px;display:flex;align-items:center;gap:7px;font-size:.75rem;font-weight:700}.categories button span{font-size:1rem}.categories button.active{background:var(--sea);color:#fff;border-color:var(--sea)}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 14px 24px}.product-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 8px 28px rgba(7,94,115,.08);min-width:0}.food-photo{height:135px;display:grid;place-items:center;position:relative}.food-photo span{font-size:4.5rem;filter:drop-shadow(0 10px 9px rgba(7,94,115,.15))}.food-recommended,.food-second,.food-fried{background:linear-gradient(145deg,#d2f9f4,#8fded8)}.food-first,.food-pizza{background:linear-gradient(145deg,#fff0c9,#ffd89a)}.food-sandwich,.food-dessert{background:linear-gradient(145deg,#ffe3d9,#ffc2b7)}.food-salad{background:linear-gradient(145deg,#e7f9d7,#bce4a5)}.food-drinks,.food-cocktail,.food-coffee{background:linear-gradient(145deg,#dbeeff,#c7d7ff)}.product-card>div:last-child{padding:13px}.product-card h2{font-family:'DM Sans';font-size:.92rem;line-height:1.2;margin-bottom:6px}.product-card p{font-size:.68rem;line-height:1.35;color:var(--muted);height:2.7em;overflow:hidden}.product-card footer{display:flex;align-items:center;justify-content:space-between}.product-card footer strong{font-size:.9rem}.product-card footer button{border:0;width:32px;height:32px;border-radius:50%;background:var(--sea);color:#fff;font-size:1.2rem}.product-card.sold{opacity:.55}.product-card.sold .food-photo b{position:absolute;background:var(--coral);color:#fff;padding:6px 10px;border-radius:999px;font-size:.7rem}
.product-view{padding:0;background:#fff}.detail-head{height:68px;padding:10px 16px;display:flex;align-items:center;gap:12px}.detail-head>button,.tracking header>button{border:0;width:44px;height:44px;border-radius:50%;background:var(--aqua);font-size:2rem}.product-visual{height:40dvh;min-height:280px;display:grid;place-items:center;border-radius:0 0 44px 44px}.product-visual span{font-size:8rem;filter:drop-shadow(0 18px 14px rgba(7,94,115,.15))}.product-detail{padding:26px 22px 120px}.product-detail h1{font-size:2.5rem;margin-bottom:12px}.product-detail>p:not(.eyebrow){color:var(--muted);line-height:1.5}.price{font-size:1.55rem;font-weight:700;margin:17px 0}.allergens{font-size:.75rem!important;background:var(--sand);padding:11px;border-radius:14px}fieldset{border:0;padding:0;margin:24px 0}legend{font-weight:700;margin-bottom:10px}fieldset label{display:inline-flex;margin:0 6px 7px 0;background:var(--aqua);border-radius:999px;padding:10px 12px;font-size:.8rem}.note{display:grid;gap:8px;font-size:.8rem;font-weight:700}.note input,.edit-form input,.edit-form select,.edit-form textarea,.settings-form input{border:1px solid rgba(7,94,115,.16);border-radius:16px;padding:14px;background:#fff}.add-row{position:fixed;z-index:40;bottom:0;left:0;right:0;padding:12px 16px calc(12px + var(--safe));background:rgba(255,255,255,.93);backdrop-filter:blur(18px);display:flex;gap:10px}.add-row .primary{flex:1}.stepper{display:flex;align-items:center;background:var(--aqua);border-radius:999px;padding:5px}.stepper button{border:0;background:#fff;width:38px;height:38px;border-radius:50%;font-size:1.2rem}.stepper b{padding:0 10px}
.cart-page{padding-bottom:35px}.cart-lines,.choice,.summary{margin:0 14px 18px}.cart-lines article{display:flex;align-items:center;gap:12px;background:#fff;padding:12px;border-radius:20px;margin-bottom:9px}.mini{width:58px;height:58px;flex:0 0 58px;border-radius:18px;display:grid;place-items:center;font-size:1.8rem}.cart-lines article>div:nth-child(2){display:grid;gap:3px;flex:1}.cart-lines small{font-size:.67rem;color:var(--muted)}.cart-lines strong{font-size:.8rem}.mini-step{display:flex;align-items:center;gap:7px}.mini-step button{border:0;width:28px;height:28px;border-radius:50%;background:var(--aqua)}.choice h2{font:700 1rem 'DM Sans';margin:25px 4px 10px}.choice>button{width:100%;border:1.5px solid transparent;border-radius:20px;background:#fff;padding:13px;display:flex;gap:12px;align-items:center;text-align:left;margin-bottom:8px}.choice>button.active{border-color:var(--turq);background:#f5fffd}.choice>button>span{font-size:1.4rem}.choice>button>div{display:grid;flex:1}.choice small{font-size:.68rem;color:var(--muted)}.summary{background:var(--sea);color:#fff;border-radius:26px;padding:20px}.summary>div{display:flex;justify-content:space-between;margin-bottom:9px;font-size:.82rem}.summary .total{font-size:1.15rem;border-top:1px solid rgba(255,255,255,.2);padding-top:13px;margin-top:12px}.summary .sun-button{width:100%;margin-top:18px}.empty{text-align:center;padding:50px 24px}.empty>span{font-size:4rem}.empty h2{font-size:1.6rem;margin:14px 0 8px}.empty p,.muted{color:var(--muted)}
.tracking{min-height:100dvh;background:linear-gradient(180deg,var(--aqua),var(--cream) 36%)}.tracking>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px}.tracking>header>span{width:44px}.tracking main{padding:22px;max-width:560px;margin:auto;text-align:center}.tracking-sun{width:94px;height:94px;border-radius:50%;background:var(--sun);display:grid;place-items:center;font-size:3rem;margin:10px auto 22px;box-shadow:0 15px 30px rgba(255,212,90,.4)}.tracking h1{font-size:2.8rem;margin-bottom:10px}.tracking main>p:not(.eyebrow){color:var(--muted);line-height:1.5}.tracking ol{list-style:none;padding:15px 0;text-align:left}.tracking li{display:flex;gap:14px;min-height:62px;position:relative;color:#9aabad}.tracking li:after{content:'';position:absolute;left:16px;top:34px;width:2px;height:27px;background:#d6e3e5}.tracking li:last-child:after{display:none}.tracking li i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e9eff0;font-style:normal;font-weight:700}.tracking li.done,.tracking li.current{color:var(--ink)}.tracking li.done i{background:var(--green);color:#fff}.tracking li.current i{background:var(--sun)}.tracking li span{display:grid;align-content:start;padding-top:5px}.tracking li small{color:var(--turq);margin-top:3px}.order-recap{text-align:left;background:#fff;border-radius:24px;padding:18px;margin-top:8px}.order-recap h2{font:700 1rem 'DM Sans'}.order-recap>div{display:flex;justify-content:space-between;margin:8px 0;font-size:.82rem}.order-recap .total{border-top:1px solid #e7eded;padding-top:12px;font-size:1rem}
.staff-shell{min-height:100dvh;background:#f2f8f7;padding-bottom:calc(82px + var(--safe))}.staff-head{min-height:94px;padding:15px 20px;display:grid;grid-template-columns:1fr auto 44px;align-items:center;background:var(--sea);color:#fff}.staff-head .brand b,.staff-head .brand small{color:#fff}.staff-head .brand-mark{background:var(--sun);color:var(--sea)}.staff-head>div:nth-child(2){display:none}.staff-head>button{border:0;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:1.4rem}.staff-nav{position:fixed;z-index:60;bottom:0;width:100%;height:calc(72px + var(--safe));padding:7px 5px var(--safe);display:flex;background:#fff;border-top:1px solid #dce8e8;justify-content:space-around}.staff-nav button{border:0;background:none;color:var(--muted);display:grid;place-items:center;gap:2px;font-size:.59rem;min-width:50px}.staff-nav button span{font-size:1.2rem}.staff-nav button.active{color:var(--sea);font-weight:700}.staff-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px}.staff-summary>div{background:#fff;border-radius:18px;padding:14px;display:grid}.staff-summary b{font:700 1.6rem Fraunces}.staff-summary span{font-size:.65rem;color:var(--muted)}.order-board{display:grid;gap:12px;padding:0 14px 24px}.order-card{background:#fff;border-radius:22px;padding:16px;border-left:5px solid var(--turq);box-shadow:0 8px 24px rgba(7,94,115,.06)}.order-card.status-READY{border-color:var(--green)}.order-card.status-OUT_FOR_DELIVERY{border-color:var(--coral)}.order-card>header{display:flex;justify-content:space-between}.order-card header small{color:var(--turq);font-weight:700}.order-card header h2{font:700 1.14rem 'DM Sans';margin:5px 0 14px}.order-card header>span{font-size:.67rem;color:var(--muted)}.order-items>div{font-size:.83rem;margin:7px 0}.order-items small{display:block;color:var(--coral);margin-left:17px}.order-card>footer{border-top:1px solid #e7eeee;margin-top:12px;padding-top:12px;display:flex;justify-content:space-between}.status{font-size:.7rem;background:var(--aqua);padding:5px 9px;border-radius:999px;font-weight:700}.order-card .action,.runner-list>.action{width:100%;margin-top:14px}.action.secondary{background:var(--aqua);color:var(--sea)}
.kitchen-grid{display:grid;gap:12px;padding:14px}.kitchen-ticket{background:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.kitchen-ticket>header{background:var(--sea);color:#fff;padding:15px;position:relative}.kitchen-ticket header small{color:var(--aqua)}.kitchen-ticket header h2{font:700 1.25rem 'DM Sans';margin:6px 0 0}.kitchen-ticket header span{position:absolute;right:12px;top:12px;background:var(--sun);color:var(--sea);border-radius:999px;padding:5px 8px;font-size:.6rem;font-weight:700}.kitchen-ticket>div{padding:10px 15px}.kitchen-ticket label{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px dashed #dce8e8}.kitchen-ticket label input{display:none}.kitchen-ticket label i{width:27px;height:27px;border-radius:50%;border:2px solid #c7d8da;display:grid;place-items:center;color:transparent;font-style:normal}.kitchen-ticket label input:checked+i{background:var(--green);border-color:var(--green);color:#fff}.kitchen-ticket label span{display:grid}.kitchen-ticket label small{color:var(--coral);font-size:.68rem}.kitchen-ticket>.action{border-radius:0;width:100%}.kitchen-ticket>.action.ready{background:var(--green)}
.runner-hero{margin:14px;border-radius:24px;background:var(--sun);padding:18px;display:flex;align-items:center;gap:15px}.runner-hero>span{font-size:2.8rem}.runner-hero h2{margin:0}.runner-shell main>section{padding:0 14px 20px}.runner-shell main>section>h2{font:700 1rem 'DM Sans'}.runner-list .order-card{margin-bottom:0}.runner-list>.action{margin:0 0 14px;border-radius:0 0 18px 18px}.action.coral{background:var(--coral)}.admin-title{padding:18px;display:flex;align-items:end;justify-content:space-between}.admin-title h2{margin:5px 0 0}.admin-title .sun-button{padding:10px 14px;min-height:42px}.admin-products{padding:0 14px 25px}.admin-products article{display:flex;align-items:center;gap:10px;background:#fff;border-radius:20px;padding:10px;margin-bottom:8px}.admin-products article>div{flex:1;display:grid;min-width:0}.admin-products small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:.65rem}.admin-products strong{font-size:.75rem;margin-top:4px}.admin-products article>button{border:0;border-radius:50%;width:34px;height:34px;background:var(--aqua)}.switch{display:grid;justify-items:center;gap:3px}.switch input{display:none}.switch i{width:34px;height:20px;border-radius:99px;background:#cbd7d8;position:relative}.switch i:after{content:'';position:absolute;width:16px;height:16px;top:2px;left:2px;border-radius:50%;background:#fff;transition:.2s}.switch input:checked+i{background:var(--green)}.switch input:checked+i:after{left:16px}.switch span{font-size:.5rem}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px}.stat-grid div{background:#fff;border-radius:20px;padding:18px;display:grid}.stat-grid span{font-size:.7rem;color:var(--muted)}.stat-grid b{font:700 1.65rem Fraunces;margin-top:7px}.panel{background:#fff;border-radius:24px;margin:0 14px 14px;padding:18px}.panel h2{font-size:1.4rem}.ranking,.history{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #e7eeee}.ranking i{width:28px;height:28px;border-radius:50%;background:var(--sand);display:grid;place-items:center;font-style:normal;font-weight:700}.ranking span,.history span{flex:1}.settings-form{padding:14px}.settings-form .panel{margin:0 0 14px}.settings-form label,.edit-form label{display:grid;gap:6px;margin:14px 0;font-size:.75rem;font-weight:700}.row-switch{display:flex!important;align-items:center;justify-content:space-between}.row-switch input{width:24px;height:24px}.umbrellas>div{display:flex;flex-wrap:wrap;gap:7px}.umbrellas span{background:var(--aqua);padding:7px 9px;border-radius:999px;font-size:.68rem}.settings-form>.primary{width:100%}
dialog{border:0;border-radius:28px;padding:0;box-shadow:0 25px 80px rgba(4,47,57,.3);width:min(92%,480px)}dialog::backdrop{background:rgba(4,47,57,.55);backdrop-filter:blur(6px)}.edit-form{padding:24px}.edit-form h2{font-size:1.8rem}.edit-form textarea{min-height:80px;resize:vertical}.edit-form .close{float:right;border:0;background:var(--aqua);border-radius:50%;width:38px;height:38px;font-size:1.4rem}.edit-form .primary{width:100%}
.edit-form .danger{width:100%;border:0;background:transparent;color:#b54237;padding:15px;margin-top:6px}
.qr-page{min-height:100dvh;padding:35px 18px;background:linear-gradient(160deg,var(--aqua),var(--cream) 45%);text-align:center}.qr-page>.brand{justify-content:center;margin-bottom:44px}.qr-page>h1{font-size:clamp(2.5rem,8vw,4rem);margin-bottom:10px}.qr-page>p:not(.eyebrow){color:var(--muted)}.qr-grid{display:grid;gap:18px;max-width:1040px;margin:34px auto}.qr-grid article{background:#fff;border-radius:28px;padding:22px;box-shadow:var(--shadow)}.qr-grid h2{font-size:1.25rem;min-height:2.5em}.qr-grid img{width:min(100%,230px);aspect-ratio:1;object-fit:contain;display:block;margin:12px auto}.qr-grid a{color:var(--sea);font-size:.72rem;overflow-wrap:anywhere}
#toast{position:fixed;z-index:200;left:50%;bottom:95px;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;font-size:.8rem;font-weight:700;opacity:0;pointer-events:none;transition:.25s;white-space:nowrap;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:700px){.product-grid{grid-template-columns:repeat(3,1fr);max-width:920px;margin:auto}.food-photo{height:180px}.quick,.home>.current-order{max-width:800px;margin-left:auto;margin-right:auto}.landing{display:grid;grid-template-columns:1.2fr 1fr;align-items:center}.landing-image{height:100dvh}.landing section{margin:0;padding:50px}.landing .primary{max-width:280px}.qr-grid{grid-template-columns:repeat(3,1fr)}.staff-head{grid-template-columns:1fr auto 1fr}.staff-head>div:nth-child(2){display:block;text-align:center}.staff-head>div:nth-child(2) small{color:var(--aqua)}.staff-head>div:nth-child(2) h1{margin:3px 0 0}.staff-head>button{justify-self:end}.order-board{grid-template-columns:repeat(2,1fr)}.kitchen-grid{grid-template-columns:repeat(2,1fr)}.admin-products{display:grid;grid-template-columns:1fr 1fr;gap:9px}.admin-products article{margin:0}.stat-grid{grid-template-columns:repeat(4,1fr)}.panel,.stat-grid,.settings-form{max-width:1000px;margin-left:auto;margin-right:auto}}
@media(min-width:1050px){.staff-shell{padding-left:96px;padding-bottom:0}.staff-nav{left:0;top:0;width:96px;height:100dvh;flex-direction:column;padding:130px 8px 30px;border:0;border-right:1px solid #dce8e8}.staff-nav button{min-height:68px}.staff-head{position:sticky;top:0;z-index:50}.order-board{grid-template-columns:repeat(3,1fr);padding:20px}.kitchen-grid{grid-template-columns:repeat(3,1fr);padding:20px}.admin-products{grid-template-columns:repeat(2,1fr);max-width:1100px;margin:auto}.runner-shell main{max-width:1000px;margin:auto}}
@media(max-width:370px){.brand b{font-size:.78rem}.brand small{font-size:.57rem}.umbrella-pill{font-size:.63rem;padding:9px}.product-grid{gap:8px;padding:0 9px}.product-card>div:last-child{padding:10px}.quick{padding:12px}.hero{padding:22px 17px}.bottom-nav{padding-left:5px;padding-right:5px}}
@media(orientation:landscape) and (max-height:500px){.hero{min-height:calc(100dvh - 74px)}.product-visual{height:55dvh}.access{padding:10px}.access-card{padding:18px}.access-card .brand{margin-bottom:12px}.role-icon{font-size:2rem}.access-card h1{font-size:2rem}}
.chat-launch{width:100%;border:0;border-radius:22px;background:#fff;box-shadow:0 8px 25px rgba(7,94,115,.08);padding:14px 16px;display:flex;align-items:center;gap:12px;text-align:left;margin:22px 0 8px;font-size:1.3rem}.chat-launch span{display:grid;flex:1}.chat-launch b{font-size:.85rem}.chat-launch small{font-size:.65rem;color:var(--muted)}.chat-launch>i,.chat-order i{font-style:normal;background:var(--coral);color:#fff;border-radius:999px;min-width:22px;height:22px;display:inline-grid;place-items:center;font-size:.7rem}.chat-launch>strong{font-size:1.4rem}.chat-order{width:100%;border:0;border-radius:999px;background:var(--aqua);color:var(--sea);padding:10px;margin-top:12px;font-weight:700}.chat-order i{margin-left:6px}
.client-message-alert{width:calc(100% - 28px);max-width:720px;margin:12px auto 2px;padding:14px 15px;border:0;border-radius:22px;background:linear-gradient(135deg,#fff1ec,#fff9e3);box-shadow:0 10px 28px rgba(255,126,103,.2);display:flex;align-items:center;gap:12px;text-align:left;color:var(--ink);animation:message-arrival .45s ease-out}.client-message-alert .message-alert-icon{position:relative;width:46px;height:46px;flex:0 0 46px;border-radius:16px;background:var(--coral);display:grid;place-items:center;font-size:1.25rem}.client-message-alert .message-alert-icon i{position:absolute;right:-5px;top:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--sea);color:#fff;display:grid;place-items:center;font:700 .62rem system-ui}.client-message-alert>span:nth-child(2){display:grid;gap:2px;min-width:0;flex:1}.client-message-alert small{color:#b84d3d;font-size:.58rem;font-weight:800;letter-spacing:.08em}.client-message-alert b{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-message-alert em{font-style:normal;color:var(--muted);font-size:.62rem}.client-message-alert>strong{color:var(--sea);font-size:.7rem;white-space:nowrap}@keyframes message-arrival{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.tracking .client-message-alert{width:100%;margin:10px 0 18px}
.chat-dialog{width:min(100%,540px);height:min(92dvh,760px);max-height:none;border-radius:30px;overflow:hidden;background:#eef8f6}.chat-box{height:100%;display:grid;grid-template-rows:auto 1fr auto;position:relative}.chat-box>header{height:70px;padding:10px 14px;background:var(--sea);color:#fff;display:flex;align-items:center;gap:12px}.chat-box>header button{border:0;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:2rem}.chat-box>header>div{display:grid;flex:1}.chat-box>header small{color:var(--aqua);font-size:.58rem}.chat-box>header b{font-size:.9rem}.live-dot{font-size:.58rem;color:#8df0ca}.chat-box>main{overflow:auto;padding:18px 14px;scroll-behavior:smooth}.chat-box>footer{padding:10px 11px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;display:flex;align-items:flex-end;gap:7px}.chat-box>footer button{border:0;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:var(--aqua);font-size:1.1rem}.chat-box>footer .chat-send{background:var(--sea);color:#fff;font-size:1.4rem}.chat-box textarea{resize:none;min-height:42px;max-height:100px;flex:1;border:1px solid #d8e5e5;border-radius:20px;padding:11px 13px;line-height:1.3}.message{display:flex;margin:7px 0}.message.mine{justify-content:flex-end}.message>div{max-width:82%;padding:10px 12px;border-radius:18px 18px 18px 5px;background:#fff;box-shadow:0 4px 14px rgba(7,94,115,.06)}.message.mine>div{background:var(--sea);color:#fff;border-radius:18px 18px 5px 18px}.message p{margin:0;white-space:pre-wrap;line-height:1.4;font-size:.83rem}.message small{display:block;text-align:right;margin-top:5px;font-size:.55rem;opacity:.65}.message img{display:block;max-width:100%;max-height:310px;border-radius:12px}.message audio{display:block;width:min(260px,65vw);height:38px}.chat-welcome,.chat-loading{text-align:center;color:var(--muted);padding:50px 20px}.chat-welcome span{font-size:2.5rem}.chat-welcome h2{color:var(--ink);margin:12px 0 5px}.recording-bar{position:absolute;left:10px;right:10px;bottom:74px;background:var(--ink);color:#fff;border-radius:20px;padding:11px;display:flex;align-items:center;gap:9px;box-shadow:var(--shadow)}.recording-bar[hidden]{display:none}.recording-bar>span{color:var(--coral);animation:pulse 1s infinite}.recording-bar b{font-size:.72rem;flex:1}.recording-bar i{font-style:normal}.recording-bar button{border:0;border-radius:999px;padding:8px 10px;background:rgba(255,255,255,.12);color:#fff;font-size:.67rem}.recording-bar #stopRecording{background:var(--green)}@keyframes pulse{50%{opacity:.3}}
@media(max-width:560px){.chat-dialog{width:100%;height:100dvh;max-width:none;border-radius:0}.chat-dialog::backdrop{background:transparent}}
.today-page,.beach-page,.stock-page,.social-page,.manage-page{padding:14px;max-width:1180px;margin:auto}.today-hero{background:linear-gradient(135deg,var(--sea),#0f8792);color:#fff;border-radius:28px;padding:24px;margin-bottom:12px;overflow:hidden;position:relative}.today-hero:after{content:'☀';position:absolute;right:18px;top:2px;font-size:7rem;color:rgba(255,212,90,.15)}.today-hero .eyebrow{color:var(--sun)}.today-hero h2{font-size:2rem;margin:8px 0}.today-hero p:last-child{margin:0;color:var(--aqua)}.today-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.today-grid button{border:0;background:#fff;border-radius:22px;padding:18px;text-align:left;display:grid;box-shadow:0 7px 22px rgba(7,94,115,.05)}.today-grid button>span{font-size:1.7rem}.today-grid small{color:var(--turq);font-weight:800;margin-top:8px}.today-grid b{font:700 1.35rem Fraunces;margin:4px 0}.today-grid i{font-style:normal;font-size:.66rem;color:var(--muted)}
.beach-toolbar{display:flex;align-items:end;gap:9px;margin-bottom:12px}.beach-toolbar>div{flex:1}.beach-toolbar h2{margin:4px 0}.beach-toolbar input{width:auto;min-height:44px}.beach-toolbar .sun-button{min-height:44px;padding:10px 14px}.beach-legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.62rem;color:var(--muted);padding:8px 2px 15px}.beach-legend i{width:10px;height:10px;border-radius:50%;margin-left:6px}.beach-legend .free{background:var(--green)}.beach-legend .reserved{background:var(--sun)}.beach-legend .occupied{background:var(--turq)}.beach-legend .due{background:var(--coral)}.beach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.umbrella-card{border:0;border-radius:20px;background:#fff;padding:12px 5px;display:grid;place-items:center;gap:2px;min-height:112px;box-shadow:0 5px 18px rgba(7,94,115,.05);border-bottom:5px solid var(--green)}.umbrella-card>span{font-size:1.5rem}.umbrella-card>b{font-size:1.2rem}.umbrella-card>small{font-size:.5rem;font-weight:800}.umbrella-card>i{font-size:.52rem;color:var(--muted);font-style:normal;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.umbrella-card.reserved{border-color:var(--sun);background:#fffaf0}.umbrella-card.occupied,.umbrella-card.paid{border-color:var(--turq);background:#effcfb}.umbrella-card.due{border-color:var(--coral);background:#fff5f2}.umbrella-card.off{border-color:#bcc8ca;opacity:.55}.booking-list{margin:16px 0}.booking-list>button{width:100%;border:0;border-bottom:1px solid #e7eeee;background:none;padding:12px 0;display:flex;align-items:center;text-align:left}.booking-list>button span{display:grid;flex:1}.booking-list>button small{color:var(--muted)}.booking-list>button i{font-style:normal;font-size:.58rem;font-weight:800;background:var(--sand);padding:6px;border-radius:99px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.payment-recap{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:var(--aqua);border-radius:18px;padding:12px;margin:12px 0}.payment-recap span{display:grid;font-size:.62rem}.payment-recap b{font-size:.9rem}.secondary-wide{width:100%;border:0;border-radius:999px;padding:13px;background:var(--aqua);color:var(--sea);font-weight:800}
.availability-fab{position:fixed;z-index:59;right:14px;bottom:calc(82px + var(--safe));border:0;border-radius:999px;background:var(--sun);color:var(--sea);padding:13px 18px;font-weight:900;box-shadow:0 10px 30px rgba(7,94,115,.22)}.availability-dialog{width:min(94%,780px);height:min(92dvh,900px);max-height:none;background:#f2f8f7}.availability-shell{height:100%;display:grid;grid-template-rows:auto 1fr}.availability-shell>header{padding:20px 20px 14px;background:#fff;border-bottom:1px solid #dce8e8}.availability-shell>header .close{float:right;border:0;width:40px;height:40px;border-radius:50%;background:var(--aqua);color:var(--sea);font-size:1.5rem}.availability-shell>header h2{font-size:1.7rem;margin:5px 0}.availability-shell>header>p:last-of-type{color:var(--muted);margin:0}.availability-date{display:flex;gap:8px;margin-top:15px}.availability-date input{flex:1;min-height:48px}.availability-date button{border:0;border-radius:999px;padding:0 18px;background:var(--sea);color:#fff;font-weight:800}.availability-shell>main{overflow:auto;padding:14px}.availability-summary{background:linear-gradient(135deg,var(--sea),#0f8792);color:#fff;border-radius:22px;padding:16px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.availability-summary b{font:700 2.5rem Fraunces;color:var(--sun)}.availability-summary span{font-weight:800}.availability-summary small{grid-column:1/-1;color:var(--aqua);text-transform:capitalize}.availability-loading{display:grid;place-items:center;min-height:200px;color:var(--muted)}.availability-grid{padding-bottom:20px}
.stock-summary{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:12px}.stock-summary>div,.stock-summary>button{border:0;background:#fff;border-radius:20px;padding:14px;display:grid;text-align:left}.stock-summary b{font:700 1.7rem Fraunces}.stock-summary span{font-size:.6rem;color:var(--muted)}.stock-summary button{background:var(--sun);place-items:center;font-weight:800}.shopping-panel{background:var(--sea);color:#fff;border-radius:25px;padding:18px;margin-bottom:12px}.shopping-panel .eyebrow{color:var(--sun)}.shopping-panel h2{margin:4px 0 10px}.shopping-panel label{display:flex;gap:9px;align-items:center;padding:9px 0;border-top:1px solid rgba(255,255,255,.12)}.shopping-panel label span{display:grid;flex:1}.shopping-panel label small{color:var(--aqua)}.shopping-panel label i{font-size:.62rem;font-style:normal}.stock-list{display:grid;gap:9px}.stock-card{background:#fff;border-radius:22px;padding:15px;display:grid;grid-template-columns:1fr auto;position:relative;border-left:5px solid var(--green)}.stock-card.low{border-color:var(--coral)}.stock-card.out{border-color:#c64b3f}.stock-card h2{font-size:1.05rem;margin:3px 0}.stock-card>div>small{color:var(--muted)}.stock-card>div>span{font-size:.53rem;color:var(--green);font-weight:900}.stock-card.low>div>span,.stock-card.out>div>span{color:var(--coral)}.stock-numbers{text-align:right}.stock-numbers b{display:block;font-size:1.3rem}.stock-numbers b small{font-size:.6rem}.stock-numbers i{font-size:.55rem;color:var(--muted);font-style:normal}.stock-card>p{grid-column:1/-1;color:var(--coral);font-size:.65rem}.stock-card footer{grid-column:1/-1;display:flex;gap:6px;margin-top:10px}.stock-card footer button{border:0;border-radius:999px;background:var(--aqua);color:var(--sea);padding:8px 10px;font-size:.65rem;font-weight:800}
.social-hero{background:linear-gradient(145deg,var(--sea),#0e7c86);color:#fff;border-radius:28px;padding:22px;display:grid;grid-template-columns:auto 1fr;gap:14px;margin-bottom:12px}.social-hero>span{font-size:2.6rem;color:var(--sun)}.social-hero .eyebrow{color:var(--sun)}.social-hero h2{margin:5px 0;font-size:1.8rem}.social-hero p{color:var(--aqua)}.social-hero button{grid-column:1/-1}.social-page>.panel{margin:0 0 12px}.social-calendar{background:#fff;border-radius:25px;padding:18px}.social-calendar h2{margin:3px 0 12px}.social-calendar article{display:flex;gap:12px;border-top:1px solid #e7eeee;padding:12px 0}.social-calendar article>span{width:36px;height:36px;border-radius:50%;background:var(--sand);display:grid;place-items:center}.social-calendar article>div{flex:1}.social-calendar article p{font-size:.72rem;margin:3px 0}.social-calendar article small,.privacy-note{color:var(--muted);font-size:.6rem}.manage-page>h2{font-size:2rem}.manage-grid{display:grid;gap:10px}.manage-grid button{border:0;border-radius:24px;background:#fff;padding:20px;text-align:left;display:grid}.manage-grid span{font-size:2rem}.manage-grid b{font-size:1.05rem;margin:9px 0 3px}.manage-grid small{color:var(--muted)}.recipe-row{grid-template-columns:auto 1fr 90px 30px!important;align-items:center}.recipe-row>input[type=checkbox]{width:22px;height:22px}.recipe-row>input[type=number]{min-width:0}.recipe-row i{font-style:normal;color:var(--muted)}
@media(min-width:700px){.today-grid{grid-template-columns:repeat(4,1fr)}.beach-grid{grid-template-columns:repeat(10,1fr)}.stock-list{grid-template-columns:1fr 1fr}.social-hero{grid-template-columns:auto 1fr auto;align-items:center}.social-hero button{grid-column:auto}.manage-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:699px){.staff-nav{display:grid;grid-template-columns:repeat(7,1fr);gap:0}.staff-nav button{min-width:0;font-size:.46rem;padding:0 1px}.staff-nav button span{font-size:1rem}.staff-shell{padding-bottom:calc(84px + var(--safe))}.beach-toolbar{flex-wrap:wrap}.beach-toolbar>div{flex-basis:100%}.social-hero h2{font-size:1.45rem}.stock-summary{grid-template-columns:1fr 1fr}.stock-summary button{grid-column:1/-1}.admin-products article{gap:6px}.admin-products article>button{width:30px;height:30px}.availability-dialog{width:100%;height:100dvh;max-width:none;border-radius:0}.availability-fab{bottom:calc(82px + var(--safe));right:10px}}

/* The staff workspace is intentionally edge-to-edge. Only the interactive
   content clears the iPhone status area; the obsolete branded bar is gone. */
.staff-shell>main{padding-top:calc(env(safe-area-inset-top,0px) + 12px)}

/* Gestore navigation: five readable destinations, with secondary tools in Altro. */
.staff-nav-primary{height:calc(94px + var(--safe));padding:7px 6px var(--safe);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;box-shadow:0 -10px 30px rgba(7,94,115,.06)}
.staff-nav-primary button{min-width:0;min-height:76px;padding:7px 2px;border-radius:24px;color:#375f69;font-size:.67rem;font-weight:600;transition:background .18s ease,color .18s ease,transform .18s ease}
.staff-nav-primary button span{font-size:1.55rem;line-height:1}.staff-nav-primary button.active{background:var(--aqua);color:var(--sea);font-weight:700}.staff-nav-primary button:active{transform:scale(.96)}
.staff-more[hidden]{display:none}.staff-more{position:fixed;z-index:80;inset:0;display:flex;align-items:flex-end;justify-content:center}.staff-more-backdrop{position:absolute;inset:0;border:0;background:rgba(4,47,57,.28);backdrop-filter:blur(3px);opacity:0;transition:opacity .18s ease}.staff-more.open .staff-more-backdrop{opacity:1}.staff-more>div{position:relative;width:min(100% - 20px,520px);margin:0 10px calc(101px + var(--safe));padding:12px;background:#fff;border-radius:28px;box-shadow:0 24px 70px rgba(4,47,57,.25);transform:translateY(22px);opacity:0;transition:transform .18s ease,opacity .18s ease}.staff-more.open>div{transform:none;opacity:1}.staff-more header{display:flex;align-items:center;justify-content:space-between;padding:6px 7px 12px}.staff-more header span{display:grid;gap:3px}.staff-more header small{font-size:.58rem;letter-spacing:.15em;color:var(--turq);font-weight:700}.staff-more header b{font-family:'Fraunces';font-size:1.05rem}.staff-more header>button{width:36px;height:36px;border:0;border-radius:50%;background:#edf5f4;font-size:1.4rem}.staff-more>div>button:not(.staff-more-backdrop){width:100%;border:0;background:#f4f9f8;border-radius:19px;margin:6px 0;padding:13px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;text-align:left}.staff-more>div>button>span{width:42px;height:42px;border-radius:15px;background:var(--aqua);display:grid;place-items:center;font-size:1.35rem}.staff-more>div>button>i{display:grid;gap:2px;font-style:normal}.staff-more>div>button>i b{font-size:.84rem}.staff-more>div>button>i small{font-size:.63rem;color:var(--muted)}.staff-more>div>button>strong{font-size:1.4rem}.staff-more>div>button.active{background:#e5f8f4}

/* Conversation: friendly, compact and built around push-to-talk. */
.chat-box{background:radial-gradient(circle at 12% 18%,rgba(19,184,176,.12),transparent 24%),linear-gradient(180deg,#edf9f7 0%,#f8fbf7 100%)}
.chat-box>header{height:auto;min-height:76px;padding:calc(10px + env(safe-area-inset-top,0px)) 14px 12px;background:linear-gradient(135deg,var(--sea),#0c7483)}
.chat-box>main{padding:18px 14px 12px}
.chat-footer{display:block!important;padding:8px 12px calc(10px + env(safe-area-inset-bottom,0px))!important;background:rgba(255,255,255,.96)!important;border-top:1px solid rgba(7,94,115,.08)}
.chat-compose{display:flex;align-items:flex-end;gap:8px}
.chat-compose>button{border:0;width:44px;height:44px;flex:0 0 44px;border-radius:50%;display:grid;place-items:center;background:var(--aqua);font-size:1.12rem}
.chat-compose textarea{min-width:0}
.chat-compose .chat-send{background:var(--sea);color:#fff;font-size:1.4rem}
.voice-hint{margin:0 0 7px;text-align:center;color:var(--muted);font-size:.64rem;line-height:1.25;transition:.2s ease}
.voice-hint span{margin-right:4px}.voice-hint b{color:var(--sea)}
.voice-hint.recording{color:var(--coral);font-weight:700}.voice-hint.recording b{color:var(--coral)}
.voice-hold{background:var(--sun)!important;color:var(--sea);touch-action:none;user-select:none;-webkit-user-select:none;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
.voice-hold.arming,.voice-hold.recording{transform:scale(1.12);background:var(--coral)!important;color:#fff;box-shadow:0 0 0 7px rgba(255,126,103,.18)}
.recording-bar{bottom:calc(101px + env(safe-area-inset-bottom,0px));padding:12px 15px;border-radius:24px;background:var(--sea);pointer-events:none}
.recording-bar>b{display:grid;gap:2px}.recording-bar b strong{font-size:.78rem}.recording-bar b small{font-weight:500;color:var(--aqua);font-size:.62rem}.recording-bar b i{color:#fff}
.chat-welcome{max-width:390px;margin:22px auto;padding:26px 22px;text-align:center;background:rgba(255,255,255,.9);border:1px solid rgba(7,94,115,.07);border-radius:30px;box-shadow:0 16px 45px rgba(7,94,115,.09)}
.chat-welcome .welcome-icon{width:70px;height:70px;margin:0 auto 16px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,var(--sun),#ffe79a);font-size:2rem;box-shadow:0 10px 25px rgba(255,212,90,.3)}
.chat-welcome .eyebrow{margin-bottom:9px}.chat-welcome h2{font-size:1.8rem;margin-bottom:9px}.chat-welcome>p:not(.eyebrow){font-size:.82rem;line-height:1.5;margin-bottom:16px}
.chat-options{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-bottom:16px}.chat-options span{padding:7px 10px;border-radius:999px;background:var(--aqua);color:var(--sea);font-size:.66rem;font-weight:700}
.chat-welcome>small{display:block;color:var(--muted);font-size:.65rem;line-height:1.45}
.audio-message{display:flex;align-items:center;gap:9px;min-width:min(285px,72vw)}.audio-message>span{width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:var(--sun);display:grid;place-items:center}.audio-message>div{min-width:0;display:grid;gap:4px}.audio-message b{font-size:.66rem}.audio-message audio{height:34px;max-width:220px}
@media(max-width:560px){.chat-welcome{margin:12px auto}.chat-box>main{padding-top:12px}.chat-box>header{min-height:84px}}

@media(max-width:699px){.staff-nav-primary{grid-template-columns:repeat(5,minmax(0,1fr))}.staff-nav-primary button{font-size:.67rem;padding:7px 1px}.staff-nav-primary button span{font-size:1.5rem}.staff-shell{padding-bottom:calc(106px + var(--safe))}.availability-fab{bottom:calc(101px + var(--safe))}.runner-nav{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1050px){.staff-nav-primary{height:100dvh;width:108px;padding:100px 8px 24px;display:flex;gap:4px}.staff-nav-primary button{min-height:76px;width:100%}.staff-more{justify-content:flex-start;align-items:flex-end;left:108px}.staff-more>div{width:370px;margin:0 0 24px 14px}.staff-more-backdrop{left:-108px}.staff-shell{padding-left:108px}.runner-nav{width:96px}}

/* Client beach companion: food, live weather, local life, information and games. */
.client-actions{display:flex;align-items:center;gap:7px}.client-actions .umbrella-pill{display:inline-flex}.header-cart{position:relative;border:0;width:42px;height:42px;border-radius:50%;background:var(--sea);color:#fff;font-size:1.05rem}.header-cart i{position:absolute;right:-3px;top:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:var(--coral);color:#fff;font:700 .6rem/18px sans-serif}
.beach-nav{height:calc(78px + var(--safe));padding:5px 4px var(--safe);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}.beach-nav button{min-width:0;min-height:66px;padding:4px 1px;font-size:.61rem;border-radius:20px;color:#56747c}.beach-nav button span{font-size:1.32rem;height:28px}.beach-nav button.active{background:var(--aqua);color:var(--sea);font-weight:700}.beach-nav button.active span{background:none;padding:0;min-width:0}.client-shell{padding-bottom:calc(88px + var(--safe))}
.beach-home .hero{min-height:48dvh}.beach-home .hero h1{font-size:clamp(2.6rem,12vw,5rem)}
.weather-card{margin:14px 14px 0;border-radius:25px;padding:16px;background:linear-gradient(135deg,#fff1be,#d5f8f3);display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;box-shadow:0 9px 28px rgba(7,94,115,.08)}.weather-card>span{font-size:2.2rem}.weather-card>div{display:grid;gap:3px}.weather-card small{font-size:.57rem;letter-spacing:.1em;color:var(--sea);font-weight:700}.weather-card b{font-size:.9rem}.weather-card i{font-style:normal;font-size:.62rem;color:var(--muted)}.weather-card>strong{font-size:1.25rem}.loading-card{opacity:.75}
.beach-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px}.beach-shortcuts button{border:0;background:#fff;border-radius:23px;padding:16px;text-align:left;display:grid;gap:4px;box-shadow:0 8px 24px rgba(7,94,115,.07)}.beach-shortcuts span{font-size:1.7rem}.beach-shortcuts b{font-size:.86rem}.beach-shortcuts small{color:var(--muted);font-size:.65rem;line-height:1.35}
.client-lifestyle{background:#f3f9f7}.client-lifestyle main{padding-bottom:24px}.lifestyle-hero{margin:0;padding:30px 20px 25px;min-height:250px;background:linear-gradient(140deg,#093f52,#087a82);color:#fff;position:relative;overflow:hidden}.lifestyle-hero>span{position:absolute;right:20px;top:25px;font-size:4.5rem;opacity:.85}.lifestyle-hero .eyebrow{color:var(--sun);margin-top:70px}.lifestyle-hero h1{font-size:2.35rem;max-width:300px;margin-bottom:10px}.lifestyle-hero>p:last-child{max-width:315px;color:rgba(255,255,255,.82);line-height:1.45;font-size:.83rem}.lifestyle-hero.info{background:linear-gradient(140deg,#096576,#11a6a2)}.lifestyle-hero.games{background:linear-gradient(140deg,#f29d61,#ffcc62);color:var(--ink)}.lifestyle-hero.games .eyebrow{color:var(--sea)}.lifestyle-hero.games>p:last-child{color:rgba(23,67,78,.8)}
.event-list,.news-list,.game-picker{padding:14px;display:grid;gap:10px}.event-list>a,.news-list>a{color:inherit;text-decoration:none;background:#fff;border-radius:22px;padding:13px;display:flex;align-items:center;gap:12px;box-shadow:0 7px 22px rgba(7,94,115,.06)}.event-list time{width:54px;height:58px;flex:0 0 54px;border-radius:18px;background:var(--sun);display:grid;place-content:center;text-align:center}.event-list time b{font:700 1rem Fraunces}.event-list time small{font-size:.55rem;font-weight:700}.event-list>a>span,.news-list>a>div{display:grid;gap:3px;flex:1}.event-list>a>span small,.news-list small{font-size:.56rem;color:var(--turq);font-weight:700;text-transform:uppercase}.event-list>a>span b,.news-list b{font-size:.8rem}.event-list>a>span i{font-style:normal;color:var(--muted);font-size:.63rem}.event-list>a>strong,.news-list>a>strong{font-size:1.35rem}.news-list>a>span{font-size:1.75rem}.news-list p{font-size:.64rem;line-height:1.35;color:var(--muted);margin:2px 0 0}
.official-links,.useful-numbers{margin:0 14px 14px;padding:18px;background:#fff;border-radius:25px}.official-links h2,.useful-numbers h2{font-size:1.45rem;margin:5px 0 14px}.official-links>a,.useful-numbers>a{color:inherit;text-decoration:none;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #e5eeee}.official-links>a>span,.useful-numbers>a>span{width:38px;height:38px;border-radius:13px;background:var(--aqua);display:grid;place-items:center}.official-links>a b,.useful-numbers>a b{font-size:.76rem}.official-links>a strong{font-size:.66rem;color:var(--sea)}.official-links>small{display:block;margin-top:12px;color:var(--muted);font-size:.58rem;line-height:1.4}.useful-numbers>a small{font-size:.6rem;color:var(--muted)}.lifestyle-loading{min-height:130px;border-radius:24px;background:#fff;display:grid;place-content:center;text-align:center;gap:8px;color:var(--muted)}.lifestyle-loading span{font-size:2rem}
.game-picker button{border:0;background:#fff;border-radius:24px;padding:17px;display:grid;grid-template-columns:50px 1fr;grid-template-rows:auto auto;text-align:left;column-gap:12px;box-shadow:0 8px 24px rgba(7,94,115,.07)}.game-picker span{grid-row:1/3;width:50px;height:50px;border-radius:17px;background:var(--sand);display:grid;place-items:center;font-size:1.75rem}.game-picker b{align-self:end}.game-picker small{color:var(--muted);font-size:.64rem}.game-board{margin:14px;padding:20px;background:#fff;border-radius:28px;text-align:center;box-shadow:var(--shadow)}.game-back{border:0;background:var(--aqua);border-radius:999px;padding:9px 12px;float:left}.game-board h2{clear:both;padding-top:18px;font-size:1.7rem;margin-bottom:7px}.game-board>p{color:var(--muted);font-size:.75rem}.memory-grid,.tris-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;max-width:330px;margin:20px auto}.memory-grid{grid-template-columns:repeat(4,1fr)}.memory-grid button,.tris-grid button{aspect-ratio:1;border:0;border-radius:18px;background:var(--sea);color:#fff;font-size:1.7rem}.memory-grid button.open{background:var(--aqua);color:var(--ink)}.tris-grid button{background:var(--sand);color:var(--sea);font:700 2rem 'DM Sans'}.game-win{background:#e5f9ef;color:#17664b;padding:14px;border-radius:18px;font-weight:700}.quiz-board>div{display:grid;gap:8px;margin:18px 0}.quiz-board>div button,.secondary-wide{border:0;border-radius:999px;padding:13px;background:var(--aqua);font-weight:700}.quiz-board #quizResult{min-height:32px;color:var(--sea);font-weight:700}
@media(min-width:700px){.client-lifestyle main,.beach-home{max-width:900px;margin:auto}.lifestyle-hero{border-radius:0 0 34px 34px}.event-list,.news-list{grid-template-columns:1fr 1fr}.beach-shortcuts{grid-template-columns:repeat(4,1fr)}}
@media(max-width:370px){.client-head .brand div{display:none}.beach-nav button{font-size:.56rem}.weather-card{grid-template-columns:40px 1fr}.weather-card>strong{display:none}}
