/* Nova Mesa – hochwertiges Erscheinungsbild
   Tiefes Navy als Grund, Gold nur als feine Linie und Akzent, klassische Serifenschrift, viel Ruhe.
   Liegt über style.css, site.css und admin.css. Das Reservierungsfenster für fremde Websites und Rechnungen laden diese Datei nicht. */

:root,:root[data-theme="light"],:root[data-theme="dark"]{
  --bg:#0A192F; --surface:#0C1D36; --soft:#11264A; --ink:#EDE7DC; --muted:#8C98B0; --line:rgba(255,255,255,.09);
  --accent:#D4A042; --accent-ink:#0A192F; --glow:#D4A042; --glow-soft:rgba(212,160,66,.10);
  --ok:#86BFA4; --warn:#D8B36E; --bad:#D9928A; --info:#A7B6D4;
  --shadow:0 24px 60px rgba(0,0,0,.35);
  --gold:#D4A042; --gold-2:#E6C27C; --gold-line:rgba(212,160,66,.30); --hair:rgba(255,255,255,.08);
  --f-display:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --f-body:"Jost","Futura","Century Gothic",system-ui,sans-serif;
  --f-mono:"Jost",system-ui,sans-serif;
  --r:4px;
  color-scheme:dark;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0A192F; --surface:#0C1D36; --soft:#11264A; --ink:#EDE7DC; --muted:#8C98B0; --line:rgba(255,255,255,.09);
  --accent:#D4A042; --accent-ink:#0A192F; --glow:#D4A042; --glow-soft:rgba(212,160,66,.10);
  --ok:#86BFA4; --warn:#D8B36E; --bad:#D9928A;
}}

/* ---------- Grund ---------- */
html{background:#0A192F}
body{font-family:var(--f-body);font-weight:300;font-size:15.5px;letter-spacing:.012em;line-height:1.65;color:var(--ink);
  background:radial-gradient(1200px 600px at 88% -10%,rgba(212,160,66,.06),transparent 60%),radial-gradient(1000px 700px at -15% 115%,rgba(30,62,120,.22),transparent 60%),#0A192F;background-attachment:fixed}
body{isolation:isolate}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
b,strong{font-weight:500}
::selection{background:rgba(212,160,66,.32)}
a{color:var(--gold-2);text-decoration-color:rgba(230,194,124,.4);text-underline-offset:3px}
.mono{font-family:var(--f-body);font-variant-numeric:tabular-nums lining-nums;letter-spacing:.04em}
code,.code-box,.lp-code,.secret-val,.codes span{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace}

/* ---------- Typografie ---------- */
h1,h2,h3,.page-title,.sec,.lp-h2,.hero h1,.lp-hero h1,.k-day,.sheet-head h3{font-family:var(--f-display);font-weight:500;letter-spacing:.005em}
.page-title{font-size:clamp(40px,5.4vw,60px);line-height:1.04}
.sec{font-size:30px;font-weight:500}
.editor h3,.lp-card h3,.lp-feat h3,.lp-step h3{font-family:var(--f-display);font-size:23px;font-weight:600;line-height:1.2}
.eyebrow{font-family:var(--f-body);font-weight:500;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.muted{color:var(--muted)}
.about,.lp-sub,.lp-lead{font-weight:300}

/* ---------- Kopfzeile ---------- */
.top{background:rgba(9,22,42,.78);border-bottom:1px solid var(--gold-line);backdrop-filter:blur(16px) saturate(1.15)}
.top .wrap{height:76px}
.brand .logo img{height:36px}
.site-nav{gap:2px}
.site-nav a,.site-nav .linkbtn,.app-nav a{font-family:var(--f-body);text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:400;color:var(--muted);padding:8px 12px}
.site-nav a:hover,.linkbtn:hover{background:none;color:var(--gold-2)}
.site-nav a.btn.primary{margin-left:10px;padding:11px 18px;letter-spacing:.22em;color:#0A192F}
.brand-sub{font-family:var(--f-display);font-size:18px;font-weight:500;font-style:italic;color:var(--ink);border-left:1px solid var(--gold-line);letter-spacing:.01em;padding-left:14px;margin-left:10px}
.conn{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;background:none;border:1px solid var(--hair);border-radius:2px}
.conn.ok{color:var(--ok);border-color:rgba(134,191,164,.35)}
.demo-bar{background:#081428;color:var(--gold-2);border-bottom:1px solid var(--gold-line);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;padding:7px 12px}

/* ---------- Reiter ---------- */
.tabs{border-bottom:1px solid var(--hair);background:transparent;gap:6px;margin-top:28px}
.app .tabs{background:rgba(10,25,47,.92);backdrop-filter:blur(12px)}
.tabs button{font-family:var(--f-body);text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:400;color:var(--muted);padding:16px 14px;border-bottom:1px solid transparent;margin-bottom:-1px}
.tabs button:hover{color:var(--ink)}
.tabs button[aria-current="true"]{color:var(--gold-2);border-bottom-color:var(--gold)}

/* ---------- Knöpfe ---------- */
.btn{font-family:var(--f-body);font-weight:400;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
  background:transparent;border:1px solid var(--gold-line);color:var(--ink);border-radius:2px;padding:12px 20px;transition:all .2s ease}
.btn:hover:not(:disabled){border-color:var(--gold);color:var(--gold-2);background:rgba(212,160,66,.05)}
.btn.primary{background:var(--gold);border-color:var(--gold);color:#0A192F;font-weight:500;box-shadow:none}
.btn.primary:hover:not(:disabled){background:var(--gold-2);border-color:var(--gold-2);color:#0A192F}
.btn.small{font-size:10.5px;letter-spacing:.16em;padding:8px 13px;border-radius:2px}
.btn.big{padding:17px 30px;font-size:12px;letter-spacing:.24em}
.btn.danger{color:var(--bad);border-color:rgba(217,146,138,.35)}
.btn.danger:hover:not(:disabled){color:var(--bad);border-color:var(--bad);background:rgba(217,146,138,.06)}
.linkbtn{color:var(--muted)}
.link{color:var(--gold-2)}

/* ---------- Flächen ---------- */
.kpi,.book,.editor,.settings,.sp-day,.addon,.addon-offer,.lp-card,.lp-price,.lp-calc,.lp-table,.lp-faq details,.k-list,.sp-all,.avv-box,.avv-reg,.card,.panel,.lp-feat,.sp-card,.reg fieldset,.price-box{
  background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.012));border:1px solid var(--hair);border-radius:var(--r);box-shadow:none}
.editor,.settings{padding:24px}
.kpis{gap:16px}
.kpi{padding:20px 22px;border-top:1px solid var(--gold-line)}
.kpi span{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);font-weight:400}
.kpi b{font-family:var(--f-display);font-weight:500;font-size:46px;line-height:1.05;letter-spacing:0;margin-top:6px}
.book{overflow:hidden}
.book-row,.combo-row,.inv-row,.lp-tr,.k-row,.sp-sum-row,.v-row,.g-row,.tl-row{border-top:1px solid var(--hair)}
.book-row{padding:16px 20px}
.book-row.head,.lp-th{background:transparent;color:var(--muted);font-size:10px;letter-spacing:.28em;font-weight:400;border-bottom:1px solid var(--gold-line)}
.book-row:hover,.combo-row:hover,.g-row:hover{background:rgba(212,160,66,.035)}
.book-row .mono,.k-time{font-family:var(--f-display);font-size:22px;font-weight:500;letter-spacing:.01em}
.sp-sec,.pf-sec{font-family:var(--f-body);color:var(--gold);letter-spacing:.3em;font-size:10.5px;font-weight:500}

/* ---------- Formulare ---------- */
.field>span{font-family:var(--f-body);text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea,.sp-add,.sp-extra,.sp-dnote,.sp-type input,.sp-type select,.sp-type textarea,.sp-need input,.tag-in,.lp-calc input,.vcheck input,.g-bar input{
  font-family:var(--f-body);font-weight:300;background:rgba(255,255,255,.025);border:1px solid var(--hair);border-radius:2px;color:var(--ink);padding:11px 13px}
.field input:focus,.field select:focus,.field textarea:focus,.tag-in:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px rgba(212,160,66,.12)}
::placeholder{color:rgba(140,152,176,.7)}
select option{background:#0C1D36;color:var(--ink)}
input[type=date],input[type=time]{color-scheme:dark}
input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--gold)}
.check{font-weight:300}
.seg button{font-family:var(--f-body);font-weight:300;background:transparent;border:1px solid var(--hair);border-radius:2px;color:var(--ink);letter-spacing:.02em}
.seg button[aria-pressed="true"]{background:rgba(212,160,66,.10);border-color:var(--gold);color:var(--gold-2)}
.stepper{background:rgba(255,255,255,.025);border:1px solid var(--hair);border-radius:2px}
.st-btn{background:transparent;color:var(--gold-2);font-weight:300;font-size:22px;border-left:1px solid var(--hair)}
.st-btn:first-child{border-left:0;border-right:1px solid var(--hair)}
.st-btn:active{background:rgba(212,160,66,.15)}
.req{color:var(--gold-2)}

/* ---------- Status ---------- */
.pill{background:transparent;border:1px solid var(--hair);border-radius:2px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:400;padding:4px 9px}
.pill::before{width:5px;height:5px}
.pill.s-bestaetigt{color:var(--info)}.pill.s-angekommen{color:var(--warn)}.pill.s-platziert{color:var(--ok)}.pill.s-noshow{color:var(--bad)}
.tg{background:transparent;border:1px solid var(--hair);color:var(--ink);border-radius:2px;font-weight:400;letter-spacing:.04em}
.tg.auto{border-color:var(--gold-line);color:var(--gold-2);background:transparent}
.tg.warn{border-color:rgba(216,179,110,.35);color:var(--warn);background:transparent}
.banner{background:rgba(212,160,66,.06);border:1px solid var(--gold-line);border-left:2px solid var(--gold);border-radius:2px;color:var(--ink)}
.banner.err-box{background:rgba(217,146,138,.07);border-color:rgba(217,146,138,.35);border-left-color:var(--bad)}
.toast{background:#0C1D36;color:var(--ink);border:1px solid var(--gold-line);border-radius:2px;box-shadow:var(--shadow);letter-spacing:.02em}

/* ---------- Dialoge ---------- */
.overlay{background:rgba(3,9,20,.74);backdrop-filter:blur(6px)}
.sheet{background:linear-gradient(180deg,#0E2140,#0B1B33);border:1px solid var(--gold-line);border-radius:4px;box-shadow:0 40px 100px rgba(0,0,0,.6)}
.sheet-head{border-bottom:1px solid var(--hair);padding:24px 26px}
.sheet-head h3{font-size:30px;font-weight:500}
.sheet form{padding:24px 26px}

/* ---------- Gäste: Uhrzeiten ---------- */
.slot{font-family:var(--f-body);font-weight:400;letter-spacing:.06em;border:1px solid var(--gold-line);color:var(--gold-2);border-radius:2px;background:transparent}
.slot:hover:not(:disabled),.slot.on{background:var(--gold);color:#0A192F;border-color:var(--gold)}

/* ---------- Tischplan ---------- */
.plan{background-color:#091830;background-image:radial-gradient(rgba(255,255,255,.055) 1px,transparent 1.3px);border:1px solid var(--hair);border-radius:4px}
.t{background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.18);color:var(--ink);border-radius:6px;box-shadow:0 10px 26px rgba(0,0,0,.30);backdrop-filter:blur(3px)}
.t.s-round,.t.s-high{border-radius:50%}
.t.s-booth{border-top:3px solid rgba(255,255,255,.3)}
.t-name{font-family:var(--f-display);font-weight:500;font-size:clamp(13px,2.5cqw,22px);letter-spacing:.02em}
.t-seats{font-family:var(--f-body);font-weight:300;opacity:.7}
.chair{width:1.9cqw;height:1.9cqw;min-width:7px;min-height:7px;background:rgba(255,255,255,.20);box-shadow:none}
.t.sel{background:linear-gradient(180deg,rgba(212,160,66,.30),rgba(212,160,66,.12));border-color:var(--gold)}
.t.sel .chair{background:var(--gold)}
.t.hi{outline:1px solid var(--gold);outline-offset:5px}
.t.live-free,.lg.live-free{border-color:rgba(134,191,164,.55)}
.t.live-free .chair{background:var(--ok);box-shadow:0 0 12px rgba(134,191,164,.55)}
.t.live-soon,.lg.live-soon{border-color:rgba(212,160,66,.5);border-style:dashed}
.t.live-soon .chair{background:rgba(212,160,66,.55)}
.t.live-res,.lg.live-res{background:linear-gradient(180deg,rgba(212,160,66,.16),rgba(212,160,66,.05));border-color:var(--gold)}
.t.live-res .chair{background:var(--gold);box-shadow:0 0 12px rgba(212,160,66,.5)}
.t.live-arr,.lg.live-arr{background:linear-gradient(180deg,rgba(216,179,110,.18),rgba(216,179,110,.05));border-color:var(--warn)}
.t.live-arr .chair{background:var(--warn);box-shadow:0 0 12px rgba(216,179,110,.45)}
.t.live-seat,.lg.live-seat{background:linear-gradient(180deg,rgba(217,146,138,.18),rgba(217,146,138,.05));border-color:var(--bad)}
.t.live-seat .chair{background:var(--bad);box-shadow:0 0 12px rgba(217,146,138,.5)}
.t.sel-live{outline:1px solid var(--ink);outline-offset:5px}
.chair-lg{background:rgba(255,255,255,.3)}
.tl-bar{border-radius:2px;box-shadow:none;font-weight:400;letter-spacing:.02em}

/* ---------- Dienstplan & Küche ---------- */
.sp-shift{background:rgba(255,255,255,.02);border-radius:2px}
.sp-chip{background:rgba(255,255,255,.03);border:1px solid var(--hair);border-radius:2px;color:var(--ink)}
.sp-chip:hover{border-color:var(--gold)}
.sp-cnt{border-radius:2px}
.k-row.soon{background:rgba(212,160,66,.07)}
.k-bf{background:linear-gradient(180deg,var(--gold-2),var(--gold));border-radius:2px 2px 0 0;opacity:.55}
.k-bar.next .k-bf{opacity:1}
.k-allergy{background:rgba(217,146,138,.07);border:1px solid rgba(217,146,138,.45);border-radius:2px}
.k-allergy h3{color:var(--bad);font-family:var(--f-display);font-size:24px}
.k-party b{font-family:var(--f-display);font-weight:500}

/* ---------- Landingpage ---------- */
.lp-hero{background:radial-gradient(900px 520px at 78% 18%,rgba(212,160,66,.09),transparent 62%),transparent;border-bottom:1px solid var(--gold-line)}
.lp-hero-in{padding-block:96px 104px;gap:64px}
.lp-hero h1{font-size:clamp(46px,6.6vw,92px);font-weight:500;line-height:.98}
.lp-hero h1 em{color:var(--gold-2);font-weight:400}
.lp-lead{font-size:18px;color:#C3CBDB;line-height:1.75}
.lp-cta{gap:14px;margin-top:34px}
.lp-trial{font-size:13.5px;color:var(--muted)}
.lp-ticks{gap:10px 26px;font-size:13px;letter-spacing:.04em;margin-top:28px}
.lp-ticks li::before{content:"✦ ";color:var(--gold);font-size:10px}
.lp-hero .btn:not(.primary),.lp-final .btn.ghost{border-color:var(--gold-line);color:var(--ink)}
.lp-mock{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015)),#0C1D36;color:var(--ink);border:1px solid var(--gold-line);border-radius:4px;transform:none;padding:20px;box-shadow:0 40px 90px rgba(0,0,0,.45)}
.lp-mock-bar{border-bottom:1px solid var(--gold-line);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);padding:2px 4px 14px}
.lp-mock-bar b{font-family:var(--f-display);color:var(--gold-2);font-size:30px;letter-spacing:0;text-transform:none}
.lp-mock-row{background:transparent;border:0;border-bottom:1px solid var(--hair);border-radius:0;padding:13px 4px}
.lp-mock-row .mono{font-family:var(--f-display);font-size:20px}
.lp-mock-row b{font-family:var(--f-display);font-weight:500;font-size:22px}
.lp-mock-row i{background:transparent;border:1px solid var(--hair);border-radius:2px;color:var(--info);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:400}
.lp-mock-row i.ok{color:var(--ok)}
.lp-alg{color:var(--bad);font-weight:400}
.lp-mock-foot{color:var(--muted);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding-top:10px}
.lp-sec{padding-block:110px}
.lp-h2{font-size:clamp(36px,4.8vw,62px);font-weight:500;line-height:1.04;margin-top:14px}
.lp-sub{font-size:17px;line-height:1.75}
.lp-band{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.008));border-block:1px solid var(--hair)}
.lp-grid{gap:20px;margin-top:44px}
.lp-card,.lp-feat{padding:30px}
.lp-num{font-family:var(--f-display);font-size:40px;font-weight:400;color:var(--gold)}
.lp-feat{border-top:1px solid var(--gold-line)}
.lp-feat.add{border-top-color:var(--gold)}
.lp-tag{background:transparent;border:1px solid var(--gold-line);border-radius:2px;color:var(--gold-2);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:400}
.lp-table{border-radius:4px}
.lp-tr{padding:20px 24px}
.lp-tr > span:first-child{font-family:var(--f-display);font-size:20px;font-weight:600}
.lp-th > span:nth-child(2){color:var(--gold-2)}
.lp-calc-out div{border-radius:2px;border:1px solid var(--hair);background:transparent}
.lp-calc-out b{font-family:var(--f-display);font-size:30px;font-weight:500}
.lp-calc-out .nm b{color:var(--gold-2)}
.lp-calc-out .diff{background:rgba(212,160,66,.08);border-color:var(--gold-line)}
.lp-prices{gap:20px}
.lp-price{padding:34px}
.lp-price span{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-weight:500}
.lp-price b{font-weight:500;font-size:68px}
.lp-price.main{background:linear-gradient(180deg,rgba(212,160,66,.10),rgba(212,160,66,.02)),#0C1D36;border:1px solid var(--gold);color:var(--ink);position:relative}
.lp-price.main::after{content:"";position:absolute;inset:6px;border:1px solid var(--gold-line);pointer-events:none;border-radius:2px}
.lp-price.main span{color:var(--gold-2)}
.lp-price.main small{color:var(--muted)}
.lp-price ul{list-style:none;padding:0}
.lp-price ul li::before{content:"✦";color:var(--gold);font-size:9px;margin-right:10px;vertical-align:2px}
.lp-step b{font-size:58px;font-weight:400}
.lp-faq{gap:0;border-top:1px solid var(--hair)}
.lp-faq details{background:transparent;border:0;border-bottom:1px solid var(--hair);border-radius:0}
.lp-faq summary{font-family:var(--f-display);font-size:22px;font-weight:500;padding:22px 4px}
.lp-faq summary::after{color:var(--gold);font-family:var(--f-body);font-weight:300}
.lp-faq details p{padding:0 4px 22px}
.lp-list li::before{content:"✦";font-size:10px;top:5px}
.lp-site{border:1px solid var(--gold-line);border-radius:4px}
.lp-final{background:radial-gradient(800px 420px at 50% 0%,rgba(212,160,66,.09),transparent 62%),transparent;border-top:1px solid var(--gold-line)}
.lp-final-in{padding-block:120px}
.lp-final h2{font-size:clamp(38px,5vw,68px);font-weight:500}
.site-foot{border-top:1px solid var(--gold-line);color:var(--muted);font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.site-foot a{color:var(--muted);text-decoration:none}
.site-foot a:hover{color:var(--gold-2)}

/* ---------- Gästeseiten ---------- */
.card{overflow:hidden}
.card-title h3{font-family:var(--f-display);font-size:26px;font-weight:500}
.closed-note{background:transparent;border:1px solid var(--hair);border-radius:2px}
.phone-box{background:rgba(212,160,66,.06);border:1px solid var(--gold-line);border-radius:2px}
.g-item img,.gallery img{border-radius:2px}

/* Zahlen: gleich hohe Ziffern, Kennzahlen groß */
.kpi b,.mono,.book-row,.t-name,.t-seats,.lp-price b,.lp-calc-out b,.k-time,.k-party b,.lp-mock-row,.lp-mock-bar b,.tl,.inv-row,.sp-sum-row,.date-nav h2,.lp-num,.lp-step b{font-variant-numeric:lining-nums tabular-nums}
.kpis.small .kpi b{font-size:36px}
.kpis.small .kpi{padding:14px 18px}
.date-nav h2{font-family:var(--f-display);font-weight:500;font-size:32px}
.book-sec h3,.svc-head,.book h3{font-family:var(--f-display)}
/* Raum-Auswahl und Zähler */
.chip{border-radius:2px;background:transparent;border:1px solid var(--hair);color:var(--ink);font-weight:400;letter-spacing:.04em}
.chip[aria-pressed="true"],.chip.on{background:rgba(212,160,66,.10);border-color:var(--gold);color:var(--gold-2)}
.live-count .pill{font-size:10px}

/* ---------- Navigation: Seitenleiste und Leiste unten ---------- */
.app .wrap{max-width:1480px}
.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;align-items:start}
.app-main{min-width:0;padding-top:28px}
.page-head{margin:4px 0 22px}
.page-head .page-title{font-size:clamp(34px,4vw,48px);margin-top:8px}
.side-nav{position:sticky;top:96px;max-height:calc(100vh - 110px);overflow:auto;padding:28px 0 40px;display:flex;flex-direction:column;gap:22px;scrollbar-width:thin}
.nv-head{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-weight:500;margin:0 0 8px 12px}
.nv-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:0;border-left:1px solid transparent;color:var(--muted);padding:9px 12px;font-family:var(--f-body);font-size:14px;font-weight:400;letter-spacing:.02em;border-radius:0 2px 2px 0}
.nv-item:hover{color:var(--ink);background:rgba(255,255,255,.025)}
.nv-item[aria-current="true"]{color:var(--gold-2);border-left-color:var(--gold);background:linear-gradient(90deg,rgba(212,160,66,.10),transparent)}
.nv-ico{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.bottom-nav{display:none}
.tabs{display:none}
@media (max-width:1023px){
  .app-shell{display:block}
  .side-nav{display:none}
  .app .app-nav a,.app .app-nav form{display:none}
  .app-main{padding-top:14px;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  .bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;
    background:rgba(8,20,40,.94);backdrop-filter:blur(16px) saturate(1.2);border-top:1px solid var(--gold-line);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px))}
  .bn-item{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:0;color:var(--muted);padding:7px 2px;font-family:var(--f-body);font-size:10.5px;letter-spacing:.06em;min-height:54px;touch-action:manipulation}
  .bn-item .nv-ico{width:23px;height:23px}
  .bn-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .bn-item[aria-current="true"]{color:var(--gold-2)}
  .bn-item[aria-current="true"] .nv-ico{filter:drop-shadow(0 0 6px rgba(212,160,66,.45))}
  .more-ov{position:fixed;inset:0;z-index:45;background:rgba(3,9,20,.6);backdrop-filter:blur(4px);display:flex;align-items:flex-end}
  .more-sheet{width:100%;max-height:82vh;overflow:auto;background:linear-gradient(180deg,#0F2343,#0A192F);border-top:1px solid var(--gold-line);border-radius:14px 14px 0 0;padding:10px 18px calc(18px + env(safe-area-inset-bottom,0px));animation:sheetUp .22s ease}
  .more-grip{width:44px;height:4px;border-radius:2px;background:rgba(255,255,255,.2);margin:4px auto 16px}
  .more-sheet .nv-head{margin:14px 0 10px 2px}
  .more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .more-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:14px 6px;min-height:84px;background:rgba(255,255,255,.03);border:1px solid var(--hair);border-radius:4px;color:var(--ink);font-family:var(--f-body);font-size:12.5px;line-height:1.25;text-decoration:none}
  .more-item .nv-ico{width:24px;height:24px;color:var(--gold-2)}
  .more-item[aria-current="true"]{border-color:var(--gold);background:rgba(212,160,66,.10);color:var(--gold-2)}
  .toast{bottom:calc(90px + env(safe-area-inset-bottom,0px))}
}
@media (min-width:640px) and (max-width:1023px){.more-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@keyframes sheetUp{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
@media (max-width:600px){.date-nav h2{font-size:24px;width:100%}.page-head .page-title{font-size:34px}}
