/* Light Mode nach GL-014 (Aufbau) + GL-021 (Petrol trägt, Gold für Klickbares, kein Blau, kein Grün) */
:root{
  --bg:#F4F2EE; --card:#FFFFFF; --ink:#14110C; --ink2:#3A3322; --ink3:#6B6457;
  --line:rgba(20,17,12,.09); --chip:rgba(20,17,12,.05);
  --petrol:#315757; --petrol-in:#284647; --petrol-t:#2A7370; --petrol-chip:#2F5E5C; --petrol-hi:#8CD7D2;
  --gold1:#D9B552; --gold2:#9A7611; --gold-t:#8A6A10; --gold-l:#E6C770;
  --orange:#c96a22; --orange2:#E8893A;
  --glass:radial-gradient(ellipse 85% 70% at 15% 0%,rgba(70,150,150,.32),transparent 70%),linear-gradient(165deg,rgba(255,255,255,.12),rgba(255,255,255,.035) 50%,rgba(0,0,0,.10)),#315757;
  --sh:0 0 0 1px rgba(20,17,12,.06),0 3px 6px rgba(20,17,12,.05),0 22px 44px -18px rgba(30,22,8,.28);
  --mono:"JetBrains Mono","SF Mono",Menlo,monospace; --disp:"Sora",Inter,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:#E4E0D8;color:var(--ink);font:14.5px/1.5 Inter,system-ui,sans-serif}
button{font:inherit;cursor:pointer}

/* ── Vorschau-Rahmen ── */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;padding:14px 28px;background:rgba(244,242,238,.92);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line)}
.top h1{font:300 18px var(--disp);margin:0;letter-spacing:-.01em}
.top h1 small{display:block;font:500 10px var(--mono);letter-spacing:.18em;color:var(--ink3);text-transform:uppercase}
.tabs{display:flex;gap:4px;background:var(--chip);padding:4px;border-radius:12px}
.tabs button{border:0;background:transparent;padding:8px 14px;border-radius:9px;color:var(--ink2);font-weight:500}
.tabs button b{font:600 10px var(--mono);color:var(--gold-t);margin-right:6px}
.tabs button.on{background:#fff;box-shadow:var(--sh);color:var(--ink)}
.view{display:none;padding:26px 28px 60px}
.view.on{display:block}
.intro{max-width:1240px;margin:0 0 18px;color:var(--ink2)}
.intro strong{font:400 20px var(--disp);color:var(--ink);display:block;margin-bottom:4px}
.pair{display:flex;gap:36px;align-items:flex-start;overflow-x:auto;padding-bottom:20px}
.cap{font:600 10px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink3);margin:0 0 10px 4px}
.desk{width:1240px;flex:none;min-height:780px;border-radius:18px;overflow:hidden;background:var(--bg);box-shadow:0 40px 80px -40px rgba(30,22,8,.45),0 0 0 1px rgba(20,17,12,.08);container-type:inline-size}
.phone{width:392px;height:820px;flex:none;border-radius:46px;border:11px solid #1c1c1e;overflow:hidden auto;background:var(--bg);box-shadow:0 40px 80px -40px rgba(0,0,0,.6);container-type:inline-size;position:relative}
.beispiel{font:500 10px var(--mono);letter-spacing:.14em;color:var(--orange);text-transform:uppercase}

/* ── App-Gerüst ── */
.app{display:grid;grid-template-columns:216px 1fr;min-height:780px}
.side{background:var(--glass);color:#fff;padding:22px 14px;display:flex;flex-direction:column;gap:4px;border-right:1px solid rgba(255,255,255,.08)}
.brand{padding:4px 10px 22px}
.brand b{font:400 16px var(--disp);display:block}
.brand span{font:500 9.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:rgba(236,238,240,.55)}
.nav{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;color:rgba(236,238,240,.78);font-weight:500}
.nav svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8}
.nav.on{background:rgba(10,16,18,.32);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.nav.on svg{stroke:var(--gold-l)}
.nav i{margin-left:auto;font:600 10.5px var(--mono);font-style:normal;background:linear-gradient(180deg,var(--gold1),var(--gold2));color:#1a1405;border-radius:20px;padding:1px 7px}
.ki{margin-top:auto;padding:14px;border-radius:14px;background:rgba(10,16,18,.32);border:1px solid rgba(255,255,255,.07);font-size:12.5px;color:rgba(236,238,240,.8)}
.ki b{display:flex;align-items:center;gap:8px;color:#fff;font-weight:500;margin-bottom:3px}
.ki b::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--petrol-hi);box-shadow:0 0 0 4px rgba(140,215,210,.18)}
.main{padding:26px 30px 30px;min-width:0}
.head{display:flex;align-items:center;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.head h2{font:300 26px var(--disp);margin:0;letter-spacing:-.015em}
.head h2 small{display:block;font:500 10px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--petrol-t)}
.arrows{display:flex;gap:6px}
.arrows button,.ghost{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 11px;color:var(--ink2)}
.seg{display:flex;background:var(--chip);border-radius:11px;padding:3px;margin-left:auto}
.seg button{border:0;background:transparent;padding:7px 13px;border-radius:8px;color:var(--ink3);font-weight:500}
.seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(20,17,12,.12)}
.gold{border:0;border-radius:11px;padding:9px 16px;font-weight:600;color:#fff;text-shadow:0 1px 1px rgba(80,58,5,.45);background:linear-gradient(180deg,var(--gold1),var(--gold2));box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 8px 18px -8px rgba(154,118,17,.7);transition:transform .2s}
.gold:hover{transform:translateY(-1px)}

/* Kennzahlen: Petrol-Glas */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.kpi{background:var(--glass);border:1px solid rgba(255,255,255,.10);border-top:1.5px solid rgba(255,255,255,.30);border-radius:20px;padding:16px 18px 15px;color:#fff;box-shadow:0 18px 36px -22px rgba(10,30,30,.6);transition:transform .24s}
.kpi:hover{transform:translateY(-2px)}
.kpi .l{font:600 9.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:rgba(236,238,240,.6)}
.kpi .l b{color:var(--gold-l);margin-right:6px}
.kpi .n{font:300 34px/1.1 var(--disp);margin:8px 0 0}
.kpi .n::after{content:"";display:block;width:28px;height:2px;border-radius:2px;background:var(--gold1);margin:9px 0 8px}
.kpi .s{font-size:12.5px;color:rgba(236,238,240,.78)}
.stab{display:flex;gap:3px;margin-top:8px}.stab i{flex:1;height:9px;border-radius:2px;background:rgba(255,255,255,.12)}.stab i.p{background:var(--petrol-hi)}.stab i.o{background:var(--orange2)}

/* Karten */
.card{background:var(--card);border-radius:18px;box-shadow:var(--sh);border:1px solid transparent;transition:border-color .24s}
.card-h{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--line)}
.card-h h3{margin:0;font:400 16px var(--disp)}
.card-h span{font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.grid2{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}

/* Reservierungsliste */
.svc{font:600 10px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--petrol-t);padding:14px 20px 6px;display:flex;justify-content:space-between}
.svc em{font-style:normal;color:var(--ink3)}
.row{display:grid;grid-template-columns:62px 1fr 64px 118px 108px;align-items:center;gap:12px;padding:11px 20px;border-top:1px solid var(--line);cursor:pointer;transition:background .15s}
.row:hover{background:rgba(49,87,87,.04)}
.row.sel{background:rgba(49,87,87,.08);box-shadow:inset 3px 0 0 transparent}
.row .t{font:400 16px var(--disp)}
.row .nm{font-weight:500}
.row .nt{font-size:12.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .pp{font:500 13px var(--mono);color:var(--ink2)}
.row.cx .t,.row.cx .nm{text-decoration:line-through;color:var(--ink3)}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:3px 9px;border-radius:20px;white-space:nowrap}
.chip svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2}
.src-ki{background:var(--petrol-chip);color:#fff}
.src-web{background:transparent;color:var(--petrol-t);box-shadow:inset 0 0 0 1px rgba(42,115,112,.45)}
.src-per{background:var(--chip);color:var(--ink2)}
.st::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.st-ok{color:var(--petrol-t)} .st-arr{color:var(--ink2)} .st-cx{color:var(--ink3)}
.st-req{color:#7a4a12;background:rgba(217,181,82,.22)}
.st-req::before{background:var(--gold2)}

/* Detail */
.det{padding:20px}
.det h4{font:300 22px var(--disp);margin:2px 0 8px}
.det .chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.facts div{background:var(--chip);border-radius:12px;padding:9px 12px}
.facts small{display:block;font:600 9px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.facts span{font-weight:500}
.lbl{font:600 9.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--petrol-t);margin:0 0 10px}
.tl{list-style:none;margin:0 0 16px;padding:0 0 0 4px}
.tl li{position:relative;padding:0 0 13px 22px;font-size:13.5px;color:var(--ink2)}
.tl li::before{content:"";position:absolute;left:0;top:6px;width:9px;height:9px;border-radius:50%;border:2px solid var(--petrol-t);background:#fff}
.tl li::after{content:"";position:absolute;left:5.5px;top:17px;bottom:0;width:1px;background:var(--line)}
.tl li:last-child::after{display:none}
.tl li b{font:500 11px var(--mono);color:var(--ink3);margin-right:8px}
.quote{background:#EEF2F1;border-radius:14px;padding:12px 14px;font-size:13.5px;color:var(--ink2);margin:-4px 0 16px}
.quote small{display:block;font:600 9px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--petrol-t);margin-bottom:4px}
.acts{display:flex;gap:8px;flex-wrap:wrap}

/* B: Zeitstrahl */
.tlwrap{padding:16px 20px 20px;overflow-x:auto}
.tgrid{display:grid;grid-template-columns:110px repeat(12,1fr);min-width:820px}
.tgrid .hd{font:500 10.5px var(--mono);color:var(--ink3);padding:0 0 8px;border-left:1px solid var(--line);padding-left:6px}
.tgrid .rl{font:600 9.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--petrol-t);padding:10px 0;align-self:center}
.lane{grid-column:2/-1;position:relative;height:auto;min-height:46px;border-top:1px solid var(--line);background:repeating-linear-gradient(90deg,transparent 0 calc(100%/12 - 1px),var(--line) calc(100%/12 - 1px) calc(100%/12))}
.blk{position:absolute;top:7px;height:32px;border-radius:9px;padding:0 10px;display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;white-space:nowrap;overflow:hidden;cursor:pointer;transition:transform .15s}
.blk:hover{transform:translateY(-1px)}
.blk small{font:500 11px var(--mono);opacity:.8}
.blk.ki{background:var(--petrol);color:#fff}
.blk.web{background:#fff;color:var(--petrol-t);box-shadow:inset 0 0 0 1.5px rgba(42,115,112,.55)}
.blk.per{background:#E6E2DA;color:var(--ink2)}
.blk.req{background:repeating-linear-gradient(135deg,rgba(217,181,82,.35) 0 6px,rgba(217,181,82,.18) 6px 12px);color:#6b420e;box-shadow:inset 0 0 0 1.5px var(--gold1)}
.blk.cx{display:none}
.caprow{grid-column:2/-1;display:grid;grid-template-columns:repeat(12,1fr);gap:4px;align-items:end;height:64px;padding-bottom:6px}
.caprow div{border-radius:5px 5px 2px 2px;background:var(--petrol-hi);position:relative}
.caprow div.o{background:var(--orange2)}
.caprow div span{position:absolute;top:-17px;left:0;right:0;text-align:center;font:500 10px var(--mono);color:var(--ink3)}
.legend{display:flex;gap:16px;font-size:12px;color:var(--ink3);padding:0 20px 16px}
.legend i{display:inline-block;width:14px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.mslots{display:none}

/* C: Anfragen + Woche */
.grid3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.req{padding:16px 20px;border-top:1px solid var(--line)}
.req:first-of-type{border-top:0}
.req .rt{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.req .rt b{font:400 17px var(--disp)}
.req .rt span{font:500 11px var(--mono);color:var(--ink3)}
.req p{margin:6px 0 10px;color:var(--ink2);font-size:13.5px}
.req .meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.fit{font-size:12.5px;color:var(--petrol-t);font-weight:500;margin-bottom:12px;display:flex;gap:8px;align-items:center}
.fit::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--petrol-t)}
.fit.warn{color:var(--orange)} .fit.warn::before{background:var(--orange)}
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:16px 14px 18px}
.day{border-radius:14px;padding:12px 8px 10px;text-align:center;background:var(--chip);cursor:pointer;transition:transform .2s}
.day:hover{transform:translateY(-2px)}
.day.on{background:var(--glass);color:#fff}
.day small{display:block;font:600 9.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;opacity:.7}
.day b{display:block;font:300 18px var(--disp);margin:2px 0 8px}
.ring{--v:50;width:42px;height:42px;margin:0 auto 6px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--petrol-t) calc(var(--v)*1%),rgba(20,17,12,.08) 0);font:500 11px var(--mono)}
.ring.o{background:conic-gradient(var(--orange) calc(var(--v)*1%),rgba(20,17,12,.08) 0)}
.ring::before{content:"";position:absolute}
.ring span{width:33px;height:33px;font-size:10px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--ink)}
.day.on .ring{background:conic-gradient(var(--gold-l) calc(var(--v)*1%),rgba(255,255,255,.14) 0)}
.day.on .ring span{background:var(--petrol-in);color:#fff}
.day em{font-style:normal;font-size:11.5px;opacity:.75}
.mini .row{grid-template-columns:54px 1fr 50px 100px}
.mini .row .chip.st{display:none}

/* Handy-Leiste */
.tabbar{display:none}

/* ── Handy (Containerbreite) ── */
@container (max-width:600px){
  .app{grid-template-columns:1fr;min-height:auto}
  .side{display:none}
  .main{padding:18px 16px 96px}
  .head{gap:10px;margin-bottom:14px}
  .head h2{font-size:21px}

  .seg{margin-left:0;width:100%}.seg button{flex:1}
  .addbtn{display:none}
  .kpis{grid-template-columns:1fr 1fr;gap:10px}
  .kpi{padding:13px 14px;border-radius:16px}.kpi .n{font-size:26px}
  .grid2,.grid3{grid-template-columns:1fr}
  .row{grid-template-columns:50px 1fr auto;padding:11px 16px;row-gap:4px}
  .row .pp{grid-column:3;grid-row:1}
  .row .chip.src{grid-column:2;grid-row:2;justify-self:start}
  .row .chip.st{grid-column:3;grid-row:2}
  .row .nt{white-space:normal}
  .svc{padding:12px 16px 6px}
  .tlwrap,.legend{display:none}
  .mslots{display:block;padding:8px 16px 16px}
  .ms{display:grid;grid-template-columns:48px 1fr 46px;gap:10px;align-items:center;padding:6px 0;font:500 12px var(--mono);color:var(--ink3)}
  .ms .bar{height:12px;border-radius:4px;background:rgba(20,17,12,.07);overflow:hidden}
  .ms .bar i{display:block;height:100%;background:var(--petrol-hi)}
  .ms .bar i.o{background:var(--orange2)}
  .week{grid-template-columns:repeat(7,1fr);gap:4px;padding:12px}
  .day{padding:8px 2px}.ring{width:36px;height:36px}.ring span{width:28px;height:28px;font-size:9.5px}.day em{display:none}
  .tabbar{display:flex;position:sticky;bottom:0;left:0;right:0;justify-content:space-around;padding:10px 6px 18px;background:var(--glass);color:rgba(236,238,240,.7);font-size:10.5px;font-weight:500}
  .tabbar span{display:flex;flex-direction:column;align-items:center;gap:3px;position:relative}
  .tabbar svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}
  .tabbar span.on{color:#fff}.tabbar span.on svg{stroke:var(--gold-l)}
  .tabbar i{position:absolute;top:-4px;right:2px;font:600 9px var(--mono);font-style:normal;background:var(--gold1);color:#1a1405;border-radius:10px;padding:0 5px}
}

/* ── Gast-Widget ── */
.site{min-height:780px;background:linear-gradient(180deg,rgba(20,17,12,.55),rgba(20,17,12,.25) 40%,rgba(244,242,238,1) 78%),url("https://images.unsplash.com/photo-1414235077428-338989a2e8c0?w=1600&q=70") center/cover;padding:40px 56px;display:grid;grid-template-columns:1fr 420px;gap:40px}
.site .hero{color:#fff;padding-top:60px}
.site .hero small{font:600 10px var(--mono);letter-spacing:.2em;text-transform:uppercase;opacity:.8}
.site .hero h3{font:200 48px/1.1 var(--disp);margin:10px 0 14px;letter-spacing:-.02em}
.site .hero p{max-width:440px;opacity:.88}
.wdg{background:#fff;border-radius:22px;box-shadow:0 40px 80px -30px rgba(20,17,12,.55);overflow:hidden;align-self:start}
.wdg-h{padding:18px 22px 14px;border-bottom:1px solid var(--line)}
.wdg-h b{font:400 18px var(--disp);display:block}
.steps{display:flex;gap:6px;margin-top:10px}
.steps i{flex:1;height:4px;border-radius:3px;background:var(--chip)}
.steps i.on{background:linear-gradient(90deg,var(--gold1),var(--gold2))}
.wdg-b{padding:18px 22px 22px}
.wlbl{font:600 9.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--petrol-t);margin:0 0 8px}
.pills{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.pill{border:1px solid var(--line);background:#fff;border-radius:11px;padding:8px 0;min-width:0;text-align:center;font-weight:500;color:var(--ink2);transition:all .15s}
.pill:hover{border-color:var(--gold2)}
.pill.on{background:var(--petrol);border-color:var(--petrol);color:#fff}
.pill.full{color:var(--ink3);text-decoration:line-through;background:var(--chip);cursor:not-allowed}
.dates .pill{padding:7px 10px;min-width:56px;line-height:1.2}
.dates .pill small{display:block;font:500 9.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.slots .pill{min-width:70px}
.inp{width:100%;border:1px solid var(--line);border-radius:11px;padding:10px 12px;font:inherit;margin-bottom:10px;background:#FBFAF8}
.inp:focus{outline:2px solid rgba(42,115,112,.35);border-color:transparent}
.wbtn{width:100%;margin-top:6px;padding:12px}
.fine{font-size:11.5px;color:var(--ink3);margin-top:10px;text-align:center}
.done{text-align:center;padding:20px 6px}
.done .ok{width:64px;height:64px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;background:var(--glass);box-shadow:0 0 0 6px rgba(217,181,82,.25)}
.done .ok svg{width:28px;height:28px;stroke:var(--gold-l);fill:none;stroke-width:2.4}
.done h4{font:300 22px var(--disp);margin:0 0 6px}
.back{border:0;background:none;color:var(--petrol-t);font-weight:500;padding:0;margin-bottom:12px}
@container (max-width:600px){
  .site{grid-template-columns:1fr;padding:0;background:var(--bg);gap:0;min-height:auto}
  .site .hero{padding:26px 20px 70px;background:linear-gradient(180deg,rgba(20,17,12,.55),rgba(20,17,12,.35)),url("https://images.unsplash.com/photo-1414235077428-338989a2e8c0?w=800&q=70") center/cover}
  .site .hero h3{font-size:32px}
  .wdg{margin:-50px 12px 20px;border-radius:20px}
}

/* ── v2: übersichtlicher ── */
.kpis{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}
.kpi{background:linear-gradient(135deg,#4A7C7A 0%,#315757 48%,#1F3637 100%);border:1px solid rgba(255,255,255,.10);border-top:1.5px solid rgba(255,255,255,.32);padding:16px 20px 18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 18px 36px -20px rgba(16,40,40,.7)}
.kpi.k-gold{background:linear-gradient(135deg,#E3C066 0%,#B48A22 48%,#7E5F0E 100%);border-top-color:rgba(255,255,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 18px 36px -20px rgba(126,95,14,.75)}
.kpi .l{color:rgba(255,255,255,.75);letter-spacing:.14em}
.kpi.k-gold .l{color:rgba(26,20,5,.7)} .kpi.k-gold .n{color:#1a1405}
.kpi .n{font-size:38px;margin-top:6px}.kpi .n::after{display:none}
.svc{padding:18px 22px 6px}
.row{grid-template-columns:60px 1fr 40px 30px 82px;padding:13px 22px;gap:14px}
.row .pp{text-align:right}
.sic{width:28px;height:28px;border-radius:50%;display:grid;place-items:center}
.sic svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
.sic-ki{background:var(--petrol);color:#fff}.sic-web{color:var(--petrol-t);box-shadow:inset 0 0 0 1.5px rgba(42,115,112,.5)}.sic-per{background:var(--chip);color:var(--ink3)}
.stc{text-align:right}
.tag-req{font-size:12px;font-weight:600;color:#6b420e;background:rgba(217,181,82,.28);padding:3px 10px;border-radius:20px}
.tag-arr{font-size:12px;color:var(--ink3)}
.det{padding:24px}
.det h4{font-size:24px;margin:0 0 4px}
.det .sub{margin:0 0 16px;color:var(--ink2)}
.det .note{margin:0 0 14px;padding:10px 14px;border-radius:12px;background:var(--chip);font-weight:500}
.quote{margin:0 0 18px;font-style:italic}
.tl li{padding-bottom:10px}
.lbl2{font:600 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--petrol-t);margin:24px 0 12px}
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;padding:16px}
.day{padding:12px 6px}.day small{margin-bottom:8px;opacity:.8}
.day.on{background:linear-gradient(135deg,#4A7C7A 0%,#315757 48%,#1F3637 100%)}
.ring{width:50px;height:50px;margin:0 auto}.ring span{width:40px;height:40px;font-size:11px}
.rest{height:50px;display:grid;place-items:center;font-size:12px;color:var(--ink3)}
.reqs{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.req{padding:20px 22px;border-top:0}
.req p{margin:8px 0 10px;font-style:italic}
.caprow div span{display:none}
.mobonly{display:none}
@container (max-width:600px){
  .kpis{grid-template-columns:repeat(3,1fr);gap:8px}.kpi{padding:12px 12px 13px}.kpi .n{font-size:26px}.kpi .l{font-size:8.5px;letter-spacing:.08em}
  .row{grid-template-columns:48px 1fr 26px 28px;padding:12px 16px;gap:10px}
  .row .pp{grid-column:auto;grid-row:auto}
  .stc{grid-column:2/-1;grid-row:2;text-align:left}.stc:empty,.stc:has(.tag-arr){display:none}
  .reqs{grid-template-columns:1fr}
  .week{gap:4px;padding:10px}.ring{width:34px;height:34px}.ring span{width:27px;height:27px;font-size:9px}.rest{height:34px;font-size:9px}
  .mobonly{display:block}
}

/* ── v3: Abendbetrieb + Tischplan ── */
.srch{flex:1;min-width:180px;max-width:340px;border:1px solid var(--line);border-radius:12px;padding:11px 14px;font:inherit;background:#fff}
.srch:focus{outline:2px solid rgba(42,115,112,.35);border-color:transparent}
.walk{border:1.5px solid var(--petrol);background:#fff;color:var(--petrol);border-radius:11px;padding:9px 14px;font-weight:600;margin-left:auto}
.head .gold.addbtn{margin-left:0}
.row3{display:grid;grid-template-columns:78px 1fr 34px 44px 196px;align-items:center;gap:12px;padding:10px 22px;border-top:1px solid var(--line);min-height:60px;cursor:pointer}
.row3:hover{background:rgba(49,87,87,.04)}.row3.sel{background:rgba(49,87,87,.08)}
.row3 .t{font:400 17px var(--disp)}.row3 .t.late{color:var(--orange)}.row3 .t small{display:block;font:600 10.5px var(--mono);margin-top:-2px}
.row3 .nm{font-weight:500;display:flex;align-items:center;gap:8px;min-width:0}
.row3 .pp{font:500 14px var(--mono);text-align:right;color:var(--ink2)}
.row3 .sic{width:22px;height:22px;flex:none}.row3 .sic svg{width:11px;height:11px}
.nic{font-size:13px;color:var(--gold-t);flex:none}
.tbc{font:600 12px var(--mono);text-align:center;background:rgba(49,87,87,.1);color:var(--petrol);border-radius:8px;padding:5px 0}
.tbc.none{background:transparent;color:var(--ink3);box-shadow:inset 0 0 0 1px dashed}
.ra{display:flex;gap:6px;justify-content:flex-end}
.b-da{border:0;border-radius:11px;min-height:44px;min-width:64px;padding:0 16px;font-weight:600;color:#fff;background:linear-gradient(135deg,#4A7C7A,#315757 50%,#1F3637)}
.b-ns{border:1.5px solid rgba(201,106,34,.55);background:#fff;color:var(--orange);border-radius:11px;min-height:44px;padding:0 12px;font-weight:600}
.b-da.big,.b-ns.big{min-width:96px}
.gold.sm{min-height:44px}
.stt{font-size:13px;color:var(--ink3)}.stt.sitzt{color:var(--petrol-t);font-weight:600}.stt.ns{color:var(--orange);font-weight:600}
.row3.dim .t,.row3.dim .nm{color:var(--ink3)}
.nowline{position:relative;height:30px;margin:4px 0}
.nowline::before{content:"";position:absolute;left:0;right:0;top:15px;height:2px;background:linear-gradient(90deg,var(--gold1),var(--gold2))}
.nowline span{position:absolute;left:22px;top:5px;background:linear-gradient(180deg,var(--gold1),var(--gold2));color:#fff;font:600 10.5px var(--mono);letter-spacing:.1em;padding:4px 10px;border-radius:20px}
details.gone{border-top:1px solid var(--line)}
details.gone summary{padding:14px 22px;cursor:pointer;font:600 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink3)}
details.gone summary em{font-style:normal;letter-spacing:.04em;text-transform:none;font-family:Inter}
details.how{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}
details.how summary{cursor:pointer;color:var(--petrol-t);font-weight:500;margin-bottom:10px}
.det .acts{margin-top:4px}
/* Tischplan */
.gridT{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.planc{padding:10px}
.plan{width:100%;height:auto;display:block}
.plan .room{fill:#FAF8F5;stroke:rgba(20,17,12,.12);stroke-width:1.5}
.plan .rl{font:600 11px "JetBrains Mono",monospace;letter-spacing:2px;fill:#9A9286}
.plan .bar{fill:#E6E1D8}.plan .win{fill:var(--petrol-hi)}
.plan .tb{cursor:pointer;transition:transform .15s}
.plan .tb .ch{fill:#E2DDD4}
.plan .tb .top{fill:#fff;stroke:rgba(42,115,112,.55);stroke-width:2}
.plan .tb .id{font:600 19px Sora,sans-serif;fill:var(--ink)}
.plan .tb .l2{font:600 13px Inter,sans-serif;fill:var(--ink3)}
.plan .s-res .top{fill:#E4EEED;stroke:var(--petrol-t)}.plan .s-res .l2{fill:var(--petrol-t)}.plan .s-res .ch{fill:#C9DCDA}
.plan .s-occ .top{fill:url(#gP);stroke:#1F3637}.plan .s-occ .id,.plan .s-occ .l2{fill:#fff}.plan .s-occ .ch{fill:#5E8583}
.plan .s-late .top{fill:#FBEBDD;stroke:var(--orange)}.plan .s-late .l2{fill:var(--orange)}
.plan .s-blk .top{fill:url(#hatch);stroke:#B9B2A6}.plan .s-blk .l2{fill:#8A8276}
.plan .tb.on .top{stroke:var(--gold1);stroke-width:4}
.plan .tb.target .top{stroke:var(--gold1);stroke-dasharray:6 4;stroke-width:3}
.plan .tb:hover .top{stroke-width:3}
.leg{display:flex;gap:16px;margin-left:auto;font-size:13px;color:var(--ink2);flex-wrap:wrap}
.lg{display:inline-block;width:16px;height:12px;border-radius:4px;margin-right:6px;vertical-align:-1px;border:1.5px solid rgba(42,115,112,.55);background:#fff}
.lg.res{background:#E4EEED;border-color:var(--petrol-t)}.lg.occ{background:linear-gradient(135deg,#4A7C7A,#1F3637);border-color:#1F3637}.lg.late{background:#FBEBDD;border-color:var(--orange)}.lg.lgx{background:repeating-linear-gradient(45deg,#EEEBE5 0 3px,#CFC9BE 3px 5px);border-color:#B9B2A6}
.tstat{font-weight:600;color:var(--petrol-t)}.tstat.s-late{color:var(--orange)}.tstat.s-blk,.tstat.s-free{color:var(--ink2)}
.big1{font:300 19px var(--disp);margin:0 0 14px}
.np{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.np .pill{min-width:44px;min-height:44px}
.assign{display:block;width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;margin-bottom:8px;min-height:44px}
.assign:hover{border-color:var(--gold2)}.assign b{font-family:var(--mono);margin-right:6px}
.nott{border-top:1px solid var(--line);padding:16px 24px 20px}.nt1{padding:6px 0;color:var(--ink2)}.nt1 b{font-family:var(--mono);margin-right:6px}
@container (max-width:600px){
  .srch{order:3;max-width:none;width:100%}
  .walk{margin-left:0;flex:1}.head .gold.addbtn{display:block;flex:1}
  .row3{grid-template-columns:58px 1fr 26px 36px;padding:10px 14px;gap:8px;row-gap:6px}
  .ra{grid-column:1/-1;justify-content:flex-start}.ra:empty{display:none}
  .ra .b-da,.ra .b-ns,.ra .gold{flex:1}
  .leg{margin-left:0;font-size:11.5px;gap:10px}
  .gridT{grid-template-columns:1fr}
  .planc{padding:4px;overflow-x:auto}.plan{min-width:640px}
}

/* ── E · Ganz einfach ── */
.easy{position:relative;min-height:780px;padding:34px 40px 60px;max-width:860px;margin:0 auto}
.ehead{display:flex;align-items:center;gap:18px;justify-content:center;text-align:center;margin-bottom:22px}
.ehead h2{font:300 32px var(--disp);margin:0;letter-spacing:-.015em}
.ehead p{margin:4px 0 0;color:var(--ink2);font-size:16px}
.nav2{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:24px;color:var(--ink2)}
.ereq{background:linear-gradient(135deg,#FBF3DE,#F3E3B4);border:1px solid rgba(154,118,17,.35);border-radius:18px;padding:16px 20px;margin-bottom:18px}
.ereq b{display:block;margin-bottom:8px;color:#5c4108}
.er1{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:16px}.er1 span{flex:1}
.er1 button{min-height:46px;min-width:110px;font-size:15px}
.xl{min-height:56px;font-size:17px;border-radius:14px;padding:0 26px}
.add{width:100%;margin-bottom:20px}
.book{background:#fff;border-radius:20px;box-shadow:var(--sh);padding:6px 0 10px}
.sec{font:600 11px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--petrol-t);margin:0;padding:18px 26px 8px}
.bk{display:grid;grid-template-columns:76px 1fr 80px minmax(0,1.1fr) 26px;gap:14px;align-items:center;padding:0 26px;min-height:58px;border-top:1px solid rgba(20,17,12,.07);font-size:17px;cursor:pointer}
.bk:hover{background:rgba(49,87,87,.04)}
.bt{font:400 19px var(--disp)}.bn{font-weight:500}.bp{color:var(--ink2);white-space:nowrap}.bw{color:var(--ink3);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bph svg{width:15px;height:15px;stroke:var(--petrol-t);fill:none;stroke-width:2}
.bk.cx .bt,.bk.cx .bn,.bk.cx .bp{text-decoration:line-through;color:var(--ink3)}
.sheet-bg{position:absolute;inset:0;background:rgba(20,17,12,.35);display:flex;align-items:flex-start;justify-content:center;padding:30px 20px;z-index:5}
.sheet{background:#fff;border-radius:22px;width:100%;max-width:560px;padding:24px 26px;box-shadow:0 40px 80px -30px rgba(0,0,0,.5)}
.sheet h3{font:300 24px var(--disp);margin:0 0 16px}
.sheet label{display:block;font-weight:500;color:var(--ink2);margin-bottom:4px}.sheet label em{font-style:normal;color:var(--ink3);font-weight:400}
.inp.big{font-size:17px;padding:13px 14px;margin-top:6px}
.flbl{font-weight:500;color:var(--ink2);margin:4px 0 8px}
.pgrid{display:grid;grid-template-columns:repeat(9,1fr);gap:6px;margin-bottom:14px}.pgrid.t{grid-template-columns:repeat(6,1fr)}
.pgrid .pill{min-height:48px;font-size:16px}
.sacts{display:flex;gap:10px;margin-top:8px;align-items:center}.sacts .gold{flex:1}
.del{border:0;background:none;color:var(--orange);font-weight:600;margin-left:auto;padding:10px}
@container (max-width:600px){
  .easy{padding:20px 14px 40px;min-height:auto}
  .ehead{gap:10px}.ehead h2{font-size:22px}.ehead p{font-size:14px}.nav2{width:44px;height:44px;flex:none}
  .er1{flex-wrap:wrap}.er1 span{flex-basis:100%}.er1 button{flex:1}
  .bk{grid-template-columns:54px 1fr auto 18px;padding:8px 16px;font-size:16px;row-gap:0}
  .bw{grid-column:2/4;grid-row:2;font-size:13.5px}.bw:empty{display:none}
  .bph{grid-column:4;grid-row:1}
  .sec{padding:16px 16px 6px}
  .pgrid{grid-template-columns:repeat(5,1fr)}.pgrid.t{grid-template-columns:repeat(4,1fr)}
  .sheet-bg{padding:12px 8px;align-items:flex-start}.sheet{padding:18px 16px}
}

/* ── P · Nur Tische ── */
.ponly{max-width:1100px}
.ponly .ehead{margin-bottom:14px}
.pbar{display:grid;grid-template-columns:1fr auto;gap:20px;margin-bottom:12px}
.pscroll{display:flex;gap:6px;flex-wrap:wrap}
.pscroll .pill{min-height:46px;min-width:50px;font-size:15.5px;padding:0 10px}
.pinfo{margin:4px 0 14px;font-size:16px;color:var(--ink2);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ptag{font:600 13px var(--mono);background:linear-gradient(180deg,var(--gold1),var(--gold2));color:#fff;border-radius:8px;padding:4px 9px}
.pinfo .none{color:var(--orange)}
.psum{color:var(--ink2);margin:-6px 0 16px;font-size:16px}
.pplan .p-free .top{fill:#fff;stroke:var(--gold1);stroke-width:3.5}
.pplan .p-free .l2{fill:var(--gold-t);font-weight:700}
.pplan .p-free:hover .top{fill:#FBF4E2}
.pplan .p-occ .top{fill:url(#gP2);stroke:#1F3637}.pplan .p-occ .id,.pplan .p-occ .l2{fill:#fff}.pplan .p-occ .ch{fill:#5E8583}
.pplan .p-small{opacity:.42}
.pplan .p-blk .top{fill:url(#hatch2);stroke:#B9B2A6}
.pleg{display:flex;gap:18px;font-size:13.5px;color:var(--ink2);margin-top:12px;flex-wrap:wrap}
.lg.pfree{background:#fff;border:2.5px solid var(--gold1)}.lg.psmall{opacity:.42}
.ponly .sheet-bg{align-items:flex-start;padding-top:110px}
@container (max-width:600px){
  .pbar{grid-template-columns:1fr;gap:6px}
  .pscroll{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
  .pscroll .pill{flex:none}
  .ponly .planc{overflow-x:auto}.ponly .plan{min-width:620px}
  .pinfo{font-size:14.5px}
}

.prow{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:6px 0 14px}
.prow .pinfo{margin:0}
.pmode{margin-left:0}.pmode button{min-height:44px;min-width:84px;font-size:15.5px}
.pmode button.on{background:var(--petrol);color:#fff}
.pplan .l3{font:500 11.5px Inter,sans-serif;fill:rgba(255,255,255,.8)}
.pplan .l2.sm{font-size:11px}
@container (max-width:600px){.prow{gap:8px}.pmode{width:100%}.pmode button{flex:1}}

/* ── P: Tischdarstellungen ── */
.pst{display:flex;gap:6px;align-items:center;margin:0 0 12px;flex-wrap:wrap}
.pst span{font:600 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);margin-right:6px}
.pst button{border:1px solid var(--line);background:#fff;border-radius:20px;padding:7px 14px;color:var(--ink2);font-weight:500}
.pst button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
/* 1 Kacheln */
.ps1 .room{fill:#F6F4F0;stroke:none}
.ps1 .tb .top{fill:#fff;stroke:rgba(20,17,12,.08);stroke-width:1}
.ps1 .seat{fill:#CFC8BC}
.ps1 .p-free .top{stroke:var(--gold1);stroke-width:3}.ps1 .p-free .seat{fill:var(--gold1)}
.ps1 .p-occ .top{fill:url(#gP2);stroke:none}.ps1 .p-occ .seat{fill:rgba(255,255,255,.45)}
.ps1 .p-small{opacity:.4}
.ps1 .p-blk .top{fill:url(#hatch2)}
/* 2 Draufsicht */
.ps2 .room{fill:#fff;stroke:#D9D3C8;stroke-width:1.5;stroke-dasharray:0}
.ps2 .rl{fill:#B0A898}
.ps2 .tb .top{fill:#F3F0EA;stroke:#CFC8BC;stroke-width:1.5}
.ps2 .tb .ch{fill:#CFC8BC}
.ps2 .tb .id{font:600 16px "JetBrains Mono",monospace}
.ps2 .p-free .top{fill:#FFFDF7;stroke:var(--gold2);stroke-width:2.5}.ps2 .p-free .ch{fill:var(--gold1)}
.ps2 .p-occ .top{fill:#315757;stroke:#315757}.ps2 .p-occ .ch{fill:#315757}.ps2 .p-occ .id,.ps2 .p-occ .l2{fill:#fff}
.ps2 .p-small{opacity:.4}.ps2 .p-blk .top{fill:url(#hatch2)}
/* 3 Karten */
.planc.flat{background:transparent;box-shadow:none;padding:0}
.pcards{display:grid;gap:18px}
.pcr{font:600 10.5px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--petrol-t);margin:0 0 8px}
.pcgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.pcard{text-align:left;border:1.5px solid transparent;background:#fff;border-radius:16px;padding:12px 14px 12px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:2px;min-height:118px;transition:transform .15s}
.pcard:hover{transform:translateY(-2px)}
.pch{display:flex;justify-content:space-between;align-items:baseline}.pch b{font:400 22px var(--disp)}.pch span{font:500 11.5px var(--mono);color:var(--ink3)}
.pcs{font-weight:600;color:var(--ink2);margin-top:2px}.pcs.free{color:var(--gold-t)}
.pcn{font-size:13px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dbar{position:relative;height:8px;border-radius:4px;background:rgba(20,17,12,.07);margin-top:auto}
.dbar i{position:absolute;top:0;bottom:0;border-radius:4px;background:#8FB3B1}
.dbar b{position:absolute;top:-3px;bottom:-3px;border-radius:5px;border:2px solid var(--gold1)}
.pcard.p-free{border-color:var(--gold1)}
.pcard.p-occ{background:linear-gradient(135deg,#4A7C7A,#315757 50%,#1F3637);color:#fff}
.pcard.p-occ .pch span,.pcard.p-occ .pcn{color:rgba(255,255,255,.75)}.pcard.p-occ .pcs{color:#fff}
.pcard.p-occ .dbar{background:rgba(255,255,255,.15)}.pcard.p-occ .dbar i{background:rgba(255,255,255,.55)}
.pcard.p-small{opacity:.45}.pcard.p-blk{background:repeating-linear-gradient(45deg,#F3F0EA 0 6px,#E8E3DA 6px 12px)}
.dleg{display:flex;justify-content:space-between;font:500 10.5px var(--mono);color:var(--ink3)}
@container (max-width:600px){.pcgrid{grid-template-columns:1fr 1fr}.pst button{padding:6px 10px;font-size:12.5px}}

/* ── P: für Einsteiger ── */
.ponly .ehead p{color:var(--petrol-t);font-weight:500}
.step{display:flex;gap:16px;align-items:flex-start;background:#fff;border-radius:18px;box-shadow:var(--sh);padding:16px 20px;margin-bottom:12px}
.sn{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font:400 18px var(--disp);color:#fff;background:linear-gradient(135deg,#4A7C7A,#315757 50%,#1F3637)}
.sq{font:400 19px var(--disp);margin:5px 0 10px}
.step .prow{margin:0}
.toast{background:linear-gradient(135deg,#4A7C7A,#315757 50%,#1F3637);color:#fff;border-radius:14px;padding:14px 18px;font-size:16px;font-weight:500;margin-bottom:12px;animation:tin .35s ease}
@keyframes tin{from{opacity:0;transform:translateY(-6px)}}
.bigacts{display:grid;gap:10px;margin-top:6px}
.xxl{min-height:62px;font-size:18px;border-radius:14px;width:100%}
.b-da.xxl,.b-ns.xxl{min-width:0}
.sit{color:var(--petrol-t)}
.pplan .l3{font:500 11.5px Inter,sans-serif;fill:rgba(255,255,255,.85)}
@container (max-width:600px){.step{padding:12px 12px;gap:10px}.sn{width:30px;height:30px;font-size:15px}.sq{font-size:16.5px}}

/* ── App v9 ── */
.appnav{display:flex;gap:8px;background:#fff;border-radius:16px;padding:6px;box-shadow:var(--sh);margin-bottom:18px}
.appnav button{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;border:0;border-radius:12px;background:transparent;font:500 17px Inter;color:var(--ink2)}
.appnav svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}
.appnav button.on{background:linear-gradient(135deg,#4A7C7A,#315757 50%,#1F3637);color:#fff}
.toast{display:flex;align-items:center;gap:12px}.toast span{flex:1}
.toast button{border:1.5px solid rgba(255,255,255,.6);background:transparent;color:#fff;border-radius:10px;min-height:44px;padding:0 14px;font-weight:600}
.pill.now{font-weight:700;color:var(--petrol)}.pill.now.on{color:#fff}
.movebar{display:flex;align-items:center;gap:12px;background:#FBF3DE;border:2px dashed var(--gold1);border-radius:14px;padding:12px 16px;margin-bottom:12px;font-size:16px}.movebar span{flex:1}
.prs{display:flex;align-items:center;gap:10px;margin:0 0 14px}.prs span{flex:1;font-weight:500;color:var(--ink2)}.prs .pill{min-width:52px;min-height:48px;font-size:20px}.prs b{font:400 24px var(--disp);min-width:30px;text-align:center}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nshint{margin:0;font-size:13.5px;color:var(--ink3);text-align:center}
.late{color:var(--orange)}.rq{color:#7a4a12}
.smsno{margin:-4px 0 12px;font-size:13.5px;color:var(--orange)}
.warnbig{font:400 26px var(--disp);color:var(--orange);margin:0 0 4px}
.lsrch{margin-bottom:14px}
.lrow{display:grid;grid-template-columns:118px 1fr 50px 40px 110px;gap:12px;align-items:center;padding:0 24px;min-height:58px;border-top:1px solid rgba(20,17,12,.07);font-size:16px;cursor:pointer}
.lrow:hover{background:rgba(49,87,87,.04)}.lrow.dim{color:var(--ink3);cursor:default}
.lt{font:400 16px var(--disp)}.ln em{font-style:normal;color:var(--ink3);font-size:14px}.ltb{font:600 13px var(--mono);color:var(--petrol)}.ls{text-align:right;color:var(--ink3);font-size:14px}
.lempty{padding:6px 24px 14px;margin:0;color:var(--ink3)}
.lprint{width:100%;margin-top:14px}
@container (max-width:600px){.appnav{gap:4px;padding:4px}.appnav button{font-size:13px;gap:5px;min-height:46px}.appnav svg{width:16px;height:16px}
 .lrow{grid-template-columns:92px 1fr 36px;padding:8px 14px;row-gap:2px}.ltb{grid-column:3;grid-row:2;text-align:right}.ls{grid-column:2;grid-row:2;text-align:left}.lp{text-align:right}
 .appnav button{min-height:48px;font-size:15.5px}.two{grid-template-columns:1fr}}

/* Zeitstrahl je Tisch */
.zhelp{margin:0 0 10px;color:var(--ink2)}
.zcard{padding:14px 18px 18px}
.zwrap{overflow-x:auto}
.zgrid{min-width:760px}
.zhd{display:grid;grid-template-columns:70px 1fr;height:22px}
.zaxis{position:relative}.zaxis i{position:absolute;transform:translateX(-50%);font:500 11px var(--mono);font-style:normal;color:var(--ink3)}
.zroom{font:600 10px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--petrol-t);margin:12px 0 4px}
.zrow{display:grid;grid-template-columns:70px 1fr;align-items:center;min-height:46px;border-top:1px solid rgba(20,17,12,.06)}
.zt{font:500 15px var(--disp)}.zt em{display:block;font:500 10.5px var(--mono);font-style:normal;color:var(--ink3)}
.zlane{position:relative;height:38px;cursor:pointer;border-radius:8px;background:repeating-linear-gradient(90deg,transparent 0 calc(100%/12 - 1px),rgba(20,17,12,.06) calc(100%/12 - 1px) calc(100%/12))}
.zlane:hover{background-color:rgba(217,181,82,.07)}
.zlane.zblk{background:repeating-linear-gradient(45deg,#F3F0EA 0 6px,#E8E3DA 6px 12px);cursor:default}
.znow{position:absolute;top:-6px;bottom:-6px;width:2px;background:linear-gradient(var(--gold1),var(--gold2));z-index:0}.zb{z-index:1}.zaxis i:last-child{transform:translateX(-100%)}
.zb{position:absolute;top:4px;bottom:4px;border-radius:9px;padding:0 9px;display:flex;align-items:center;gap:6px;font-size:12.5px;white-space:nowrap;overflow:hidden;cursor:pointer}
.zb b{font-weight:600}
.zarr{background:linear-gradient(135deg,#4A7C7A,#315757 50%,#1F3637);color:#fff}
.zok{background:#E4EEED;color:var(--petrol);box-shadow:inset 0 0 0 1.5px var(--petrol-t)}
.zdone{background:#ECE8E1;color:var(--ink3)}
.zreq{background:repeating-linear-gradient(135deg,rgba(217,181,82,.35) 0 6px,rgba(217,181,82,.18) 6px 12px);color:#6b420e;box-shadow:inset 0 0 0 1.5px var(--gold1)}
.lg.zl-ok{background:#E4EEED;border-color:var(--petrol-t)}.lg.zl-done{background:#ECE8E1;border-color:#D5CFC4}.lg.zl-now{background:var(--gold1);border-color:var(--gold2);width:4px}

/* Buchungsleiste */
.bp{display:grid;grid-template-columns:1.55fr 1fr .8fr;gap:0;padding:0;margin-bottom:14px;overflow:hidden}
.bpc{padding:18px 20px 20px;border-left:1px solid var(--line)}.bpc:first-child{border-left:0}
.bph{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.bph small,.p4t small{display:block;font-size:13.5px;color:var(--ink3);font-weight:500}
.bph b{font:300 24px var(--disp);color:var(--ink);letter-spacing:-.01em}
.bpn{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:500 15px var(--disp);color:var(--gold-t);background:#fff;box-shadow:inset 0 0 0 2px var(--gold1),0 0 0 4px rgba(217,181,82,.14)}
.bpg{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.bpg.g3{grid-template-columns:repeat(3,1fr)}.bpg.g1{grid-template-columns:1fr 1fr}
.ch2{min-height:46px;border:0;border-radius:12px;background:#F4F2EE;color:var(--ink2);font:500 15px Inter;transition:background .15s,transform .15s,box-shadow .15s}
.ch2:hover{background:#EDE9E2;transform:translateY(-1px)}
.ch2.on{background:linear-gradient(135deg,#4A7C7A,#315757 50%,#1F3637);color:#fff;box-shadow:0 8px 18px -10px rgba(16,40,40,.8)}
.ch2.now{color:var(--petrol);font-weight:700}.ch2.now.on{color:#fff}
.bigq{padding:20px 22px;margin-bottom:14px}
.pc4{padding:16px 18px 14px}
.p4h{display:flex;align-items:center;gap:12px;margin:0 4px 10px;flex-wrap:wrap}
.p4t{flex:1;min-width:220px}.p4t b{font:400 17px var(--disp);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.p4t .none{color:var(--orange);font-size:15px}
.pleg.in{margin:8px 4px 0}
/* Auswertung */
.sthead{display:flex;align-items:center;gap:14px;margin:0 0 14px;flex-wrap:wrap}.sthead h3{font:300 22px var(--disp);margin:0;flex:1}
.kpis.k4{grid-template-columns:repeat(4,1fr)}
.kpi .s{font-size:12.5px;color:rgba(255,255,255,.8);margin-top:4px}.kpi.k-gold .s{color:rgba(26,20,5,.7)}
.sg2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.sc{padding:18px 20px}
.sct{font:400 16px var(--disp);margin:0 0 14px}.sct em{font:400 12.5px Inter;font-style:normal;color:var(--ink3);margin-left:6px}
.vbars{display:flex;gap:6px;align-items:flex-end;height:170px}
.vb{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px;cursor:default}
.vb i{width:100%;max-width:34px;background:#8FB3B1;border-radius:4px 4px 0 0;min-height:2px;transition:background .15s}
.vb i.hl{background:var(--petrol)}
.vb:hover i{background:var(--gold1)}
.vv{font:500 11.5px var(--mono);color:var(--ink2)}.vl{font:500 11px var(--mono);color:var(--ink3);white-space:nowrap}
.hb{display:grid;grid-template-columns:40px 1fr 54px;gap:10px;align-items:center;margin-bottom:7px;font-size:13px}
.hb.wide{grid-template-columns:130px 1fr 80px}
.hb span{font:500 12.5px var(--mono);color:var(--ink2)}.hb.wide span{font:500 13.5px Inter}
.hb div{height:12px;background:#F1EEE8;border-radius:4px;overflow:hidden}.hb i{display:block;height:100%;background:#8FB3B1;border-radius:0 4px 4px 0}
.hb:hover i{background:var(--petrol)}
.hb b{font:500 12.5px var(--mono);color:var(--ink2);text-align:right}
.sinfo{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:#EEF2F1;color:var(--ink2)}
.sfind{margin:0;padding-left:18px;color:var(--ink2)}.sfind li{margin-bottom:6px}
@container (max-width:600px){.bp{grid-template-columns:1fr}.bpc{border-left:0;border-top:1px solid var(--line);padding:14px}.bpc:first-child{border-top:0}
 .bpg{grid-template-columns:repeat(4,1fr)}.bph b{font-size:20px}.kpis.k4{grid-template-columns:1fr 1fr}.sg2{grid-template-columns:1fr}.vbars{height:130px}.vl{font-size:9.5px}.hb.wide{grid-template-columns:96px 1fr 64px}}
.prs.ext .pill{min-width:0;padding:0 14px;font-size:15px;min-height:48px}

/* Datum */
.dvsel{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 14px}
.dvsel span{font:600 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);margin-right:6px}
.dvsel button{border:1px solid var(--line);background:#fff;border-radius:20px;padding:8px 14px;font-weight:500;color:var(--ink2)}
.dvsel button.on{background:linear-gradient(180deg,var(--gold1),var(--gold2));color:#fff;border-color:transparent}
.dtitle{border:0;background:none;font:300 32px var(--disp);color:var(--ink);letter-spacing:-.015em;padding:0;cursor:pointer}
.dtitle span{font-size:18px;color:var(--gold-t)}
.ehead p a{color:var(--gold-t);text-decoration:underline;cursor:pointer}
.ob{display:block;width:100%;height:5px;border-radius:3px;background:rgba(20,17,12,.08);overflow:hidden;margin-top:6px}.ob b{display:block;height:100%;background:#8FB3B1;border-radius:3px}.ob.o b{background:var(--orange2)}
.dz{display:block;font:500 10.5px var(--mono);font-style:normal;color:var(--ink3);margin-top:3px}
.dchips{display:grid;grid-template-columns:repeat(9,1fr);gap:6px;margin:-4px 0 16px}
.dchip,.wday{border:0;border-radius:14px;background:#fff;box-shadow:var(--sh);padding:9px 8px 9px;text-align:center;color:var(--ink2);transition:transform .15s}
.dchip:hover,.wday:hover{transform:translateY(-1px)}
.dchip small,.wday small{display:block;font:500 11.5px Inter;color:var(--ink3)}.dchip b{font:400 16px var(--disp);color:var(--ink)}
.dchip.on,.wday.on{background:linear-gradient(135deg,#4A7C7A,#315757 50%,#1F3637)}.dchip.on small,.dchip.on b,.wday.on small,.wday.on b{color:#fff}.dchip.on .ob,.wday.on .ob{background:rgba(255,255,255,.2)}.dchip.on .ob b,.wday.on .ob b{background:#fff}
.dchip.closed,.wday.closed{opacity:.5}.dchip.cal{background:#FBF4E2;box-shadow:inset 0 0 0 1.5px var(--gold1)}.dchip.cal b{font-size:14px}
.ehead.v3{justify-content:space-between;text-align:left}
.mchips{display:flex;gap:6px}.mchip{border:1px solid var(--line);background:#fff;border-radius:12px;min-height:44px;min-width:56px;font-weight:600;color:var(--ink2)}.mchip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.wstrip{display:flex;align-items:center;gap:8px;margin:-4px 0 16px}.nav2.sm{width:40px;height:40px;flex:none;font-size:20px}
.wdays{flex:1;display:grid;grid-template-columns:repeat(14,1fr);gap:5px}.wday{padding:8px 4px}.wday b{display:block;font:400 18px var(--disp);color:var(--ink)}.wday.past{opacity:.3;box-shadow:none;background:transparent}
.calsh{max-width:520px}.calh{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.calh h3{margin:0}
.cgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:12px}.cgrid small{text-align:center;font:600 11px var(--mono);color:var(--ink3);padding-bottom:4px}
.cday{border:0;border-radius:12px;background:#F4F2EE;min-height:56px;padding:6px 6px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.cday b{font:400 17px var(--disp);color:var(--ink)}.cday:hover{background:#EDE9E2}.cday.today{box-shadow:inset 0 0 0 2px var(--gold1)}
.cday.on{background:linear-gradient(135deg,#4A7C7A,#315757 50%,#1F3637)}.cday.on b{color:#fff}.cday.on .ob{background:rgba(255,255,255,.2)}.cday.on .ob b{background:#fff}
.cday.closed{opacity:.45}.cday em{font:500 10px var(--mono);font-style:normal;color:var(--ink3)}.cday.past{opacity:.25;background:transparent}
.calleg{font-size:12.5px;color:var(--ink3);display:flex;align-items:center;gap:8px;margin:0 0 6px}.calleg .ob{width:40px;margin:0}
@container (max-width:600px){.dtitle{font-size:21px}.dchips{grid-template-columns:repeat(9,74px);overflow-x:auto;padding-bottom:4px}
 .ehead.v3{flex-direction:column;align-items:flex-start}.wdays{grid-template-columns:repeat(14,46px);overflow-x:auto}.cday{min-height:46px}}
.cic{display:inline-flex;align-items:center;gap:5px}.cic svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9}

/* Bald frei */
.soonline{display:block;font-size:13.5px;color:var(--gold-t);margin-top:2px}.soonline b{font-family:var(--mono);display:inline;font-size:13.5px;font-weight:600}
.pplan .sbadge rect{fill:#fff;stroke:var(--gold1);stroke-width:1.5}.pplan .sbadge text{font:600 11.5px Inter,sans-serif;fill:var(--gold-t)}
.pplan .sbadge.short rect{stroke:var(--petrol-t)}.pplan .sbadge.short text{fill:var(--petrol-t)}
.pplan .soonA .top,.pplan .soonC .top{stroke:var(--gold1);stroke-width:3;stroke-dasharray:7 5}
.pplan .shortA .top{stroke:var(--petrol-t);stroke-width:2.5;stroke-dasharray:7 5;fill:#fff}.pplan .shortA .l2{fill:var(--petrol-t)}.pplan .shortA .id{fill:var(--ink)}.pplan .shortA .l3{fill:var(--ink3)}.pplan .shortA .ch{fill:#E2DDD4}
.pplan .pbg{fill:rgba(255,255,255,.18)}.pplan .pfg{fill:#F2C94C}.pplan .pfg.end{fill:#F2C94C}
.pplan .l3.rest{fill:#F2C94C;font-weight:700;font-size:12.5px}
.soonc{padding:14px 18px;margin:0 0 12px;box-shadow:none;border:1.5px solid rgba(217,181,82,.55);background:#FFFCF4}
.srow{display:grid;grid-template-columns:44px 1fr 150px 110px auto;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.stid{font:500 18px var(--disp)}.sn2{color:var(--ink3);font-size:13.5px}
.swhen{font-weight:600;color:var(--ink)}.swhen em{display:block;font-style:normal;font-weight:500;font-size:12.5px;color:var(--gold-t)}.swhen.short em{color:var(--petrol-t)}
.sbar{height:6px;border-radius:3px;background:rgba(20,17,12,.07);overflow:hidden}.sbar i{display:block;height:100%;background:var(--gold1)}
.srow button{min-height:44px;padding:0 14px}
.waitl{margin:10px 0 0;font-size:13.5px;color:var(--ink2);display:flex;gap:6px;flex-wrap:wrap;align-items:center}.waitl span{background:#FBF3DE;border:1px solid rgba(154,118,17,.3);border-radius:20px;padding:3px 10px}
@container (max-width:600px){.srow{grid-template-columns:36px 1fr auto;row-gap:4px}.sn2,.sbar{display:none}.srow button{grid-column:1/-1}}
