
/* Reitlehrer-App. Uebernommen aus dem freigegebenen Klick-Prototyp (trainer_prototyp/).
   Layout: eine Handy-App-Spalte (max 460px), Tab-Leiste unten, Bottom-Sheets, schwebender +-Knopf */
:root{
  --bg:#F6F2EA; --surface:#FFFFFF; --sunk:#EFE9DD; --ink:#1E2A22; --muted:#5D6A61; --line:#E3DCCF;
  --brand:#2D5A3D; --brand-ink:#FFFFFF; --brand-soft:#E3EDE5; --gold:#C9A84C; --saddle:#A0693A;
  --ok:#2F7A4A; --ok-soft:#E1F0E5; --bad:#B4443A; --bad-soft:#F6E2DF; --warn:#9A6A12; --warn-soft:#F7EBCF;
  --t-amy:#2D5A3D; --t-liska:#3E5C76; --t-alina:#A0693A; --t-inga:#8A3B4F; --t-stephan:#8C6D1F; --t-clara:#3F7A72;
  --shadow:0 10px 30px rgba(30,42,34,.16);
  --f-body:"Lato",-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-head:"Playfair Display",Georgia,"Times New Roman",serif;
  --hour:58px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#111813; --surface:#19231C; --sunk:#0D130F; --ink:#ECE7DC; --muted:#A2ACA4; --line:#2A372E;
  --brand:#78B38D; --brand-ink:#0E1611; --brand-soft:#1F3326; --gold:#D9BC66; --saddle:#D49A66;
  --ok:#7CC796; --ok-soft:#1C3324; --bad:#E58A7F; --bad-soft:#3A1F1C; --warn:#E3B95A; --warn-soft:#3A2F17;
  --t-amy:#7DBB92; --t-liska:#8DB2D2; --t-alina:#D99D69; --t-inga:#DB8DA1; --t-stephan:#D9B65C; --t-clara:#7CC2B6;
  --shadow:0 10px 30px rgba(0,0,0,.5); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#111813; --surface:#19231C; --sunk:#0D130F; --ink:#ECE7DC; --muted:#A2ACA4; --line:#2A372E;
  --brand:#78B38D; --brand-ink:#0E1611; --brand-soft:#1F3326; --gold:#D9BC66; --saddle:#D49A66;
  --ok:#7CC796; --ok-soft:#1C3324; --bad:#E58A7F; --bad-soft:#3A1F1C; --warn:#E3B95A; --warn-soft:#3A2F17;
  --t-amy:#7DBB92; --t-liska:#8DB2D2; --t-alina:#D99D69; --t-inga:#DB8DA1; --t-stephan:#D9B65C; --t-clara:#7CC2B6;
  --shadow:0 10px 30px rgba(0,0,0,.5); color-scheme:dark}

html,body{height:100%}
body{background:var(--sunk);color:var(--ink);font:16px/1.45 var(--f-body);-webkit-tap-highlight-color:transparent}
*{box-sizing:border-box}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

.app{position:relative;max-width:460px;height:100%;margin:0 auto;background:var(--bg);display:flex;flex-direction:column;overflow:hidden}
@media (min-width:520px){.app{box-shadow:0 0 0 1px var(--line),var(--shadow)}}

/* Kopf */
.top{padding:14px max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:2px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
h1{font:700 26px/1.15 var(--f-head);margin:0;text-wrap:balance}
h2{font:700 13px/1.3 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px}
.netbar{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;padding:7px 12px;border-radius:999px;background:var(--warn-soft);color:var(--warn);width:max-content;margin-top:8px}
.netbar .dot{width:8px;height:8px;border-radius:50%;background:currentColor}

.view{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 max(16px,env(safe-area-inset-right,0px)) 120px max(16px,env(safe-area-inset-left,0px));overscroll-behavior:contain}

/* Tab-Leiste */
.tabs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);background:var(--surface);padding-bottom:env(safe-area-inset-bottom,0px)}
.tab{background:none;border:0;padding:9px 0 10px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px;font-weight:700;color:var(--muted);position:relative}
.tab svg{width:24px;height:24px}
.tab[aria-current="page"]{color:var(--brand)}
.badge{position:absolute;top:5px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--bad);color:#fff;font-size:11px;line-height:18px;text-align:center}

.fab{position:absolute;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(76px + env(safe-area-inset-bottom,0px));width:62px;height:62px;border-radius:20px;border:0;background:var(--brand);color:var(--brand-ink);box-shadow:var(--shadow);display:grid;place-items:center;transition:transform .18s ease}
.fab:active{transform:scale(.94)}
.fab svg{width:30px;height:30px}

/* Heute */
.progress{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin-top:6px}
.ring{width:54px;height:54px;flex:none}
.ring circle{fill:none;stroke-width:6}
.ring .bgc{stroke:var(--sunk)}
.ring .fg{stroke:var(--brand);stroke-linecap:round;transition:stroke-dashoffset .5s ease}
.progress b{font-size:18px;display:block}
.progress span{color:var(--muted);font-size:14px}
.done-banner{display:flex;align-items:center;gap:12px;background:var(--brand);color:var(--brand-ink);border-radius:18px;padding:16px;margin-top:6px;animation:pop .35s ease}
.done-banner b{font:700 19px var(--f-head)}
@keyframes pop{from{transform:scale(.96);opacity:.6}to{transform:none;opacity:1}}
.hint{font-size:13px;color:var(--muted);margin:-2px 0 10px}

.list{display:flex;flex-direction:column;gap:10px}
.swipe{position:relative;border-radius:16px;overflow:hidden;background:var(--sunk)}
.swipe .under{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-weight:900;font-size:14px}
.swipe .under .l{color:var(--ok)} .swipe .under .r{color:var(--bad)}
.swipe[data-dir="r"]{background:var(--ok-soft)} .swipe[data-dir="l"]{background:var(--bad-soft)}
.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px;display:grid;grid-template-columns:52px 1fr auto;gap:4px 12px;touch-action:pan-y;transition:transform .22s ease}
.card.dragging{transition:none}
.card .time{font-weight:900;font-variant-numeric:tabular-nums;font-size:17px;line-height:1.2}
.card .dur{font-size:12px;color:var(--muted)}
.card .who{font-weight:700;font-size:17px;line-height:1.25;min-width:0}
.card .meta{font-size:14px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.card .row2{grid-column:2/4;display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.tdot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--tc)}
.pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}
.pill.ok{background:var(--ok-soft);color:var(--ok)} .pill.bad{background:var(--bad-soft);color:var(--bad)}
.pill.warn{background:var(--warn-soft);color:var(--warn)} .pill.neutral{background:var(--sunk);color:var(--muted)}
.pill.live{background:var(--brand-soft);color:var(--brand)}
.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:700;min-height:40px;display:inline-flex;align-items:center;gap:7px;transition:background .15s,border-color .15s}
.chip:active{transform:scale(.97)}
.chip[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.chip.horse{border-style:dashed}
.chip small{font-weight:400;color:var(--muted);font-size:12px}
.chip.busy{border-color:var(--warn)}
.chip.over{border-color:var(--warn);background:var(--warn-soft);color:var(--warn)}
.chip.over small{color:var(--warn)}
.chip[aria-pressed="true"] small{color:inherit;opacity:.8}
.unav{position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--muted) 16%,transparent) 0 5px,transparent 5px 11px);pointer-events:none;z-index:0}
.unav span{position:absolute;top:4px;left:6px;font-size:11px;font-weight:700;color:var(--muted)}
.zrow{display:grid;grid-template-columns:28px 52px minmax(0,1fr);align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.zrow:last-child{border-bottom:0}
.zrow .tm{display:flex;align-items:center;gap:6px}
.zrow .tm{min-width:0}.zrow .tm input{flex:1;min-width:0;min-height:42px;padding:6px 6px;font-size:15px}
.zrow .off{color:var(--muted);font-size:14px}
.prow{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 10px;padding:12px 14px;border-bottom:1px solid var(--line)}
.prow:last-child{border-bottom:0}
.prow .grow{flex-basis:100%}
.prow small{display:block;color:var(--muted)}
.prow label{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:700;color:var(--muted)}
.prow .num{width:72px;min-height:42px;text-align:center}
.chip.ghost{color:var(--muted)}
.empty{text-align:center;color:var(--muted);padding:34px 10px}
.empty b{display:block;color:var(--ink);font:700 18px var(--f-head);margin-bottom:4px}

/* Kalender */
.calbar{position:sticky;top:0;z-index:5;background:var(--bg);padding-top:2px}
.calhead{display:flex;align-items:center;gap:8px;margin:2px 0 10px}
.iconbtn{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;flex:none}
.iconbtn svg{width:20px;height:20px}
.calhead .lbl{flex:1;min-width:0;font:700 18px var(--f-head);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.seg{display:inline-flex;background:var(--sunk);border-radius:12px;padding:3px;gap:2px}
.seg button{border:0;background:none;padding:7px 12px;border-radius:9px;font-size:14px;font-weight:700;color:var(--muted);min-height:36px}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.filters{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;margin:0 -4px;scrollbar-width:none}
.filters::-webkit-scrollbar{display:none}
.filters .chip{flex:none;min-height:36px;padding:6px 12px}
.filters .chip[aria-pressed="false"]{opacity:.5}
.filters .chip.mine[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}

.grid{position:relative;display:grid;grid-template-columns:40px 1fr;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.grid.week{grid-template-columns:34px repeat(7,1fr)}
.dayhdr{background:var(--surface);border-bottom:1px solid var(--line);font-size:11px;font-weight:700;text-align:center;padding:6px 0;color:var(--muted);border:0;border-bottom:1px solid var(--line)}
.dayhdr b{display:block;font-size:15px;color:var(--ink)}
.dayhdr.today b{color:var(--brand)}
.hours{position:relative}
.hours div{height:var(--hour);font-size:11px;color:var(--muted);text-align:right;padding-right:6px;transform:translateY(-7px);font-variant-numeric:tabular-nums}
.col{position:relative;height:calc(var(--hour)*14);border-left:1px solid var(--line);background-image:linear-gradient(var(--line) 1px,transparent 1px);background-size:100% var(--hour)}
.col.todaycol{background-color:color-mix(in srgb,var(--brand) 4%,transparent)}
.nowline{position:absolute;left:0;right:0;height:2px;background:var(--bad);z-index:2}
.nowline::before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--bad)}
.ev{position:absolute;border-radius:9px;padding:4px 6px;overflow:hidden;font-size:12px;line-height:1.25;text-align:left;border:1px solid color-mix(in srgb,var(--tc) 55%,transparent);background:color-mix(in srgb,var(--tc) 16%,var(--surface));color:var(--ink);z-index:1}
.ev .t{font-weight:900;color:var(--tc);font-variant-numeric:tabular-nums}
.ev .n{font-weight:700;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev .h{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
.ev.zw{background:color-mix(in srgb,var(--tc) 26%,var(--surface))}
.ev.ro{opacity:.5}
.ev.cx .n{text-decoration:line-through}
.ev.abw{background:repeating-linear-gradient(135deg,var(--sunk) 0 6px,transparent 6px 12px);border:1px dashed var(--line);color:var(--muted)}
.ev.req{border:2px dashed var(--tc);background:var(--surface)}
.ev.mid .h{display:none}.ev.short{padding:2px 6px}.ev.short .n{display:inline;margin-left:4px}.ev.short .h{display:none}
.week .ev{padding:2px 3px;font-size:10px;border-radius:6px}
.week .ev .h{display:none}

/* Sheet */
.scrim{position:absolute;inset:0;background:rgba(14,22,17,.42);opacity:0;pointer-events:none;transition:opacity .2s;z-index:20}
.scrim.on{opacity:1;pointer-events:auto}
.sheet{position:absolute;left:0;right:0;bottom:0;max-height:92%;background:var(--bg);border-radius:22px 22px 0 0;z-index:21;transform:translateY(105%);transition:transform .25s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;box-shadow:var(--shadow)}
.sheet.on{transform:none}
.sheet .grab{width:40px;height:5px;border-radius:3px;background:var(--line);margin:8px auto 2px}
.sheet header{display:flex;align-items:center;gap:10px;padding:6px max(16px,env(safe-area-inset-right,0px)) 8px max(16px,env(safe-area-inset-left,0px))}
.sheet header h3{flex:1;margin:0;font:700 21px var(--f-head)}
.sheet .body{overflow-y:auto;padding:4px max(16px,env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:16px}
.field{display:flex;flex-direction:column;gap:7px}
.field>label,.field>.lab{font-size:13px;font-weight:700;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.inp{width:100%;min-height:48px;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 12px;font-size:16px}
textarea.inp{min-height:90px;resize:vertical}
.row{display:flex;gap:10px} .row>*{flex:1;min-width:0}
.results{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.results button{border:0;background:none;text-align:left;padding:12px 14px;min-height:48px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:8px}
.results button:last-child{border-bottom:0}
.results small{color:var(--muted)}
.picked{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.picked b{flex:1;font-size:17px}
.link{border:0;background:none;color:var(--brand);font-weight:700;padding:6px 4px}
.primary{width:100%;min-height:54px;border:0;border-radius:14px;background:var(--brand);color:var(--brand-ink);font-weight:900;font-size:17px}
.primary:disabled{opacity:.4}
.secondary{min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-weight:700;padding:0 14px}
.danger{color:var(--bad)}
.stu{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:12px}
.stu .nm{font-weight:900;font-size:18px}
.statusrow{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.statusrow button{min-height:46px;border-radius:12px;border:1px solid var(--line);background:var(--surface);font-weight:700;font-size:14px}
.statusrow button[aria-pressed="true"].s-statt{background:var(--ok);border-color:var(--ok);color:#fff}
.statusrow button[aria-pressed="true"].s-abgesagt{background:var(--bad);border-color:var(--bad);color:#fff}
.statusrow button[aria-pressed="true"].s-noshow{background:var(--warn);border-color:var(--warn);color:#fff}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:15px}
.kv dt{color:var(--muted)} .kv dd{margin:0;font-weight:700}
.note{font-size:13px;color:var(--muted)}

/* Mehr */
.menu{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.menu>button,.menu>div{display:flex;align-items:center;gap:12px;padding:14px 16px;min-height:56px;border:0;background:none;text-align:left;border-bottom:1px solid var(--line);font-size:16px}
.menu>*:last-child{border-bottom:0}
.menu .grow{flex:1}
.menu small{color:var(--muted);display:block;font-size:13px}
.proto{border:1px dashed var(--gold);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:12px;background:color-mix(in srgb,var(--gold) 8%,var(--surface))}
.switch{position:relative;width:52px;height:32px;border-radius:16px;border:0;background:var(--line);flex:none;transition:background .2s}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.switch[aria-checked="true"]{background:var(--brand)}
.switch[aria-checked="true"]::after{transform:translateX(20px)}
.price{width:96px;min-height:42px;text-align:right}
.ptable{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.ptable>div{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}
.ptable>div:last-child{border-bottom:0}
.ptable .grow{flex:1;min-width:0}
.ptable small{display:block;color:var(--muted)}

/* Toast */
.toast{position:absolute;left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px));bottom:calc(150px + env(safe-area-inset-bottom,0px));z-index:30;background:var(--ink);color:var(--bg);border-radius:14px;padding:12px 14px;display:flex;align-items:center;gap:12px;font-weight:700;font-size:15px;transform:translateY(20px);opacity:0;pointer-events:none;transition:all .22s ease}
.toast.on{transform:none;opacity:1;pointer-events:auto}
.toast span{flex:1}
.toast button{border:0;background:none;color:var(--gold);font-weight:900;padding:6px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---- Ergaenzungen der echten App ---- */
html,body{overflow:hidden}
.login{flex:1;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:24px max(24px,env(safe-area-inset-right,0px)) 40px max(24px,env(safe-area-inset-left,0px))}
.login img{width:96px;height:96px;border-radius:24px;align-self:center}
.login h1{text-align:center}
.login p{margin:0;text-align:center;color:var(--muted)}
.pin{font-size:28px;letter-spacing:.5em;text-align:center;font-variant-numeric:tabular-nums}
.fehltext{color:var(--bad);font-weight:700;text-align:center;min-height:1.4em}
.laden{padding:40px 0;text-align:center;color:var(--muted)}
.linkbox{background:var(--surface);border:1px dashed var(--brand);border-radius:12px;padding:12px;word-break:break-all;font-size:14px;user-select:all}
.ev.out{border-style:dashed}
.chip:disabled{opacity:.45}
[hidden]{display:none!important}

/* ---- Mac / Browser (ab 960 px): Seitenleiste, Seitenpanel, breiter Kalender ---- */
.side-brand,.neu-btn,.kbd{display:none}
@media (min-width:960px){
  :root{--hour:64px}
  .app{max-width:none;display:grid;grid-template-columns:240px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);box-shadow:none}
  .tabs{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;gap:4px;border-top:0;border-right:1px solid var(--line);padding:20px 14px}
  .side-brand{display:flex;align-items:center;gap:10px;padding:2px 8px 18px}
  .side-brand img{width:40px;height:40px;border-radius:10px}
  .side-brand b{font:700 19px var(--f-head)}
  .neu-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;margin:0 0 14px;border:0;border-radius:12px;background:var(--brand);color:var(--brand-ink);font-weight:900;font-size:15px}
  .tab{flex-direction:row;justify-content:flex-start;gap:12px;font-size:15px;padding:11px 12px;border-radius:12px}
  .tab svg{width:20px;height:20px}
  .tab:hover{background:var(--sunk)}
  .tab[aria-current="page"]{background:var(--brand-soft)}
  .badge{position:static;margin-left:auto}
  .kbd{display:block;margin-top:auto;padding:10px 8px 0;font-size:12px;color:var(--muted);line-height:1.6}
  .kbd kbd{font:inherit;font-weight:700;border:1px solid var(--line);border-radius:5px;padding:0 5px;background:var(--surface)}
  .top{grid-column:2;padding:26px 36px 12px}
  h1{font-size:30px}
  .view{grid-column:2;padding:0 36px 48px}
  .fab{display:none}
  .netbar{margin-top:10px}
  /* Heute: zwei Spalten, Offen links */
  .heute-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 28px;align-items:start;max-width:1200px}
  .heute-grid>.progress,.heute-grid>.done-banner{grid-column:1/-1;max-width:560px}
  .menu,.view>h2{max-width:760px}
  /* Kalender */
  .calbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:4px 0 12px}
  .calbar .calhead{margin:0}
  .calbar .calhead:first-child{min-width:320px}
  .calbar{position:sticky;top:0;z-index:6}
  .grid{overflow:clip}
  .calbar .filters{padding:0;margin:0;flex:1;flex-wrap:wrap;overflow:visible}
  .dayhdr{position:sticky;top:var(--calbar-h,0px);z-index:4;background:var(--surface)}
  .ev .t{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .grid.week{grid-template-columns:52px repeat(7,minmax(0,1fr))}
  .grid.spalten{grid-template-columns:52px repeat(var(--spalten),minmax(0,1fr))}
  .grid{grid-template-columns:52px minmax(0,1fr)}
  .dayhdr{font-size:12px;padding:8px 0}
  .dayhdr b{font-size:17px}
  .week .ev{font-size:12px;padding:3px 6px;border-radius:8px}
  .week .ev .h{display:block}
  .ev{cursor:pointer;transition:box-shadow .15s}
  .ev:hover{box-shadow:0 2px 10px rgba(0,0,0,.14);z-index:2}
  .ev.ziehen{opacity:.85;box-shadow:var(--shadow);z-index:5;cursor:grabbing;transition:none}
  .col{cursor:copy}
  /* Bearbeiten im Seitenpanel rechts */
  .scrim{background:rgba(14,22,17,.18)}
  .sheet{left:auto;top:0;bottom:0;width:460px;max-height:none;border-radius:0;border-left:1px solid var(--line);transform:translateX(105%)}
  .sheet.on{transform:none}
  .sheet .grab{display:none}
  .sheet header{padding-top:20px}
  .toast{left:auto;right:36px;bottom:32px;width:420px}
  .login{max-width:420px;margin:0 auto;grid-column:1/-1}
}
.menu svg{width:20px;height:20px;flex:none;color:var(--muted)}
