/* Kalender – Design-System (Inter, 4-px-Raster, Hell/Dunkel) */
@font-face{ font-family:"Inter"; font-style:normal; font-display:swap; font-weight:100 900; src:url(fonts/inter-latin-wght-normal.woff2) format("woff2-variations"), url(fonts/inter-latin-wght-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:"Inter"; font-style:normal; font-display:swap; font-weight:100 900; src:url(fonts/inter-latin-ext-wght-normal.woff2) format("woff2-variations"), url(fonts/inter-latin-ext-wght-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

:root{
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px; --s8:32px;
  --r-card:22px; --r-in:14px; --r-pill:999px;
  --font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);
  --safe-t:env(safe-area-inset-top,0px); --safe-b:env(safe-area-inset-bottom,0px);
  --acc:#6d7cff; --acc2:#a66cff; --acc-grad:linear-gradient(135deg,#5b7cff 0%,#8b6cff 55%,#c06cf0 100%);
  --red:#ff5c5c; --green:#2fbf71; --amber:#f5a524;
  --nav-h:64px; --top-h:56px;
}
html[data-theme="dark"]{ color-scheme:dark;
  --bg:#0a0d16; --bg2:#0f1320; --card:#141927; --card2:#1a2032; --line:rgba(255,255,255,.075); --line2:rgba(255,255,255,.12);
  --txt:#eef1f8; --mut:#98a2b8; --faint:#5f6880; --chip:#1d2436; --chip-on:#2a3350; --hover:rgba(255,255,255,.05);
  --shadow:0 10px 40px rgba(0,0,0,.45); --glass:rgba(12,16,28,.72); --today-bg:#6d7cff; --sel:rgba(109,124,255,.16);
  --heat0:#1a2032; --heat1:#273566; --heat2:#3d4fb0; --heat3:#6b5cf0; --heat4:#c06cf0; }
html[data-theme="light"]{ color-scheme:light;
  --bg:#f4f5fa; --bg2:#eceef6; --card:#ffffff; --card2:#f7f8fc; --line:rgba(16,24,40,.07); --line2:rgba(16,24,40,.12);
  --txt:#141a2b; --mut:#5d6680; --faint:#9aa1b5; --chip:#eef0f7; --chip-on:#e1e5ff; --hover:rgba(16,24,40,.04);
  --shadow:0 10px 36px rgba(30,40,80,.12); --glass:rgba(248,249,253,.8); --today-bg:#5b6cff; --sel:rgba(91,108,255,.1);
  --heat0:#eceef6; --heat1:#cdd5ff; --heat2:#97a6ff; --heat3:#6d6cf5; --heat4:#a44ee0; }
*{ box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html,body{ height:100%; }
html{ background:var(--bg); }
body{ margin:0; font-family:var(--font); font-size:15px; line-height:1.45; color:var(--txt); background:var(--bg); -webkit-font-smoothing:antialiased; font-feature-settings:"cv11","ss01","tnum" 0;
  display:flex; flex-direction:column; height:100dvh; overflow:hidden; overscroll-behavior:none; }
html[lang="ar"] body{ font-family:"Noto Sans Arabic","Segoe UI",Tahoma,var(--font); }
body.boot .main{ opacity:0; }
button,input,select,textarea{ font:inherit; color:inherit; }
button{ background:none; border:0; cursor:pointer; padding:0; text-align:inherit; }
a{ color:var(--acc); text-decoration:none; }
h1,h2,h3,h4,p{ margin:0; }
.ui{ width:1.15em; height:1.15em; flex:none; vertical-align:-.2em; }
.wi{ display:block; flex:none; }
.wi.xxs{ width:15px; height:15px; } .wi.xs{ width:20px; height:20px; } .wi.sm{ width:30px; height:30px; } .wi.md{ width:52px; height:52px; } .wi.lg{ width:64px; height:64px; }
:focus-visible{ outline:2px solid var(--acc); outline-offset:2px; border-radius:10px; }
.mut{ color:var(--mut); } .small{ font-size:13px; } .center{ text-align:center; }
.num{ font-variant-numeric:tabular-nums; }
.aurora{ position:fixed; inset:-20vh -20vw auto; height:60vh; z-index:-1; pointer-events:none; opacity:.55;
  background:radial-gradient(40% 50% at 20% 30%, rgba(91,124,255,.35), transparent 70%), radial-gradient(35% 45% at 80% 20%, rgba(192,108,240,.28), transparent 70%); filter:blur(20px); transition:opacity .4s; }
html[data-theme="light"] .aurora{ opacity:.45; }
html:not([data-tab="today"]) .aurora{ opacity:.18; }

/* Kopf */
.top{ flex:none; display:flex; align-items:center; gap:var(--s2); padding:calc(var(--safe-t) + 8px) var(--s3) 6px var(--s4); min-height:calc(var(--top-h) + var(--safe-t)); position:relative; z-index:5; }
.ttl{ display:flex; align-items:center; gap:4px; font-size:23px; font-weight:700; letter-spacing:-.025em; line-height:1.1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ttl .chev .ui{ width:18px; height:18px; opacity:.55; transition:transform .2s; }
.actions{ margin-inline-start:auto; display:flex; gap:2px; flex:none; }
.ibtn{ width:42px; height:42px; display:grid; place-items:center; border-radius:14px; color:var(--txt); transition:background .15s, transform .12s; position:relative; }
.ibtn:active{ transform:scale(.92); background:var(--hover); }
.ibtn .ui{ width:22px; height:22px; }
.ibtn.sm{ width:36px; height:36px; border-radius:12px; } .ibtn.sm .ui{ width:19px; height:19px; }
.langbtn{ width:auto; padding:0 10px; gap:5px; display:flex; background:var(--chip); border-radius:var(--r-pill); height:36px; margin:3px 2px 0; }
.langbtn b{ font-size:12px; font-weight:700; letter-spacing:.04em; } .langbtn .ui{ width:17px; height:17px; }
.todaybtn b{ position:absolute; top:50%; left:50%; transform:translate(-50%,-28%); font-size:9.5px; font-weight:800; }

/* Ansichtswahl */
.seg{ flex:none; display:flex; gap:4px; margin:2px var(--s4) 8px; padding:4px; background:var(--chip); border-radius:14px; position:relative; z-index:4; }
.seg button{ flex:1; height:34px; border-radius:10px; font-size:14px; font-weight:600; color:var(--mut); transition:all .2s var(--ease); text-align:center; }
.seg button.on{ background:var(--card); color:var(--txt); box-shadow:0 1px 6px rgba(0,0,0,.16); }
html[data-theme="dark"] .seg button.on{ background:var(--chip-on); }

/* Hauptbereich */
.main{ flex:1; min-height:0; overflow-y:auto; overflow-x:hidden; padding:0 var(--s4) calc(var(--nav-h) + var(--safe-b) + 96px); transition:opacity .2s; overscroll-behavior:contain; scrollbar-width:none; }
.main::-webkit-scrollbar{ display:none; }
.main[data-view="week"][data-tab="cal"], .main[data-view="day"][data-tab="cal"]{ overflow:hidden; display:flex; flex-direction:column; padding-bottom:0; }
.card{ background:var(--card); border:1px solid var(--line); border-radius:var(--r-card); padding:var(--s4); margin-bottom:var(--s3); box-shadow:0 1px 2px rgba(0,0,0,.04); }
.card h3{ font-size:16px; font-weight:700; letter-spacing:-.01em; display:flex; align-items:center; gap:8px; margin-bottom:var(--s3); }
.chead{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:var(--s3); }
.chead h3{ margin:0; }
.link{ color:var(--acc); font-weight:600; font-size:14px; display:inline-flex; align-items:center; gap:2px; }
.lbl{ font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--mut); margin:var(--s4) 0 var(--s2); }
.btn{ height:48px; border-radius:16px; padding:0 18px; font-weight:650; font-size:15px; display:inline-flex; align-items:center; justify-content:center; gap:8px; transition:transform .12s, filter .15s; white-space:nowrap; }
.btn:active{ transform:scale(.97); }
.btn.primary{ background:var(--acc-grad); color:#fff; box-shadow:0 6px 20px rgba(109,108,255,.35); }
.btn.ghost{ background:var(--chip); color:var(--txt); }
.btn.danger{ background:rgba(255,92,92,.14); color:var(--red); }
.btn.sm{ height:36px; padding:0 14px; font-size:14px; border-radius:12px; }
.btn.wide{ width:100%; margin-top:var(--s2); }
.btn.iconly{ width:48px; padding:0; flex:none; }
.btn[disabled]{ opacity:.6; }
.row2{ display:flex; gap:var(--s2); margin:var(--s3) 0; } .row2 > .btn{ flex:1; }
.chips{ display:flex; flex-wrap:wrap; gap:6px; }
.chip{ height:36px; padding:0 14px; border-radius:var(--r-pill); background:var(--chip); font-size:14px; font-weight:550; display:inline-flex; align-items:center; gap:6px; transition:all .15s; border:1px solid transparent; }
.chip.on{ background:var(--chip-on); border-color:var(--acc); color:var(--txt); }
.chip:active{ transform:scale(.96); }
.colorchip{ width:36px; padding:0; justify-content:center; } .colorchip i{ width:18px; height:18px; border-radius:50%; background:var(--c); }
.colorchip.on{ border-color:var(--c); }

/* Monat */
.month{ touch-action:pan-y; user-select:none; -webkit-user-select:none; }
.mhead{ display:grid; grid-template-columns:repeat(7,1fr); text-align:center; font-size:12px; font-weight:650; color:var(--mut); padding:2px 0 6px; text-transform:uppercase; letter-spacing:.04em; }
.month.kw .mhead, .month.kw .mgrid{ grid-template-columns:20px repeat(7,1fr); }
.mhead .we{ color:var(--faint); } .kwh{ font-size:9px; color:var(--faint); align-self:center; }
.mgrid{ display:grid; grid-template-columns:repeat(7,1fr); grid-auto-rows:minmax(72px,1fr); gap:3px; }
.kwn{ font-size:10px; color:var(--faint); padding-top:9px; text-align:center; font-variant-numeric:tabular-nums; }
.mc{ position:relative; border-radius:12px; padding:5px 2px 3px; display:flex; flex-direction:column; align-items:stretch; overflow:hidden; background:var(--card); border:1px solid var(--line); transition:background .15s, transform .1s; min-width:0; }
.mc:active{ transform:scale(.96); }
.mc.out{ background:transparent; border-color:transparent; } .mc.out .mn{ color:var(--faint); } .mc.out .pills{ opacity:.45; }
.mc .mn{ font-size:13.5px; font-weight:650; align-self:center; width:26px; height:24px; line-height:24px; text-align:center; border-radius:9px; font-variant-numeric:tabular-nums; }
.mc.we .mn{ color:var(--mut); }
.mc.hol .mn{ color:var(--red); }
.mc.today .mn{ background:var(--acc-grad); color:#fff; box-shadow:0 3px 10px rgba(109,108,255,.45); }
.mc.sel{ background:var(--sel); border-color:var(--acc); }
.mc.school::after{ content:""; position:absolute; left:6px; right:6px; bottom:2px; height:2px; border-radius:2px; background:var(--amber); opacity:.7; }
.mc .sbs{ position:absolute; top:3px; inset-inline-end:3px; display:flex; flex-direction:column; gap:1px; align-items:flex-end; }
.mc .sbs .sb{ position:static; }
.mc .sb{ position:absolute; top:3px; inset-inline-end:3px; font-style:normal; font-size:9px; font-weight:800; min-width:15px; height:15px; line-height:15px; border-radius:5px; text-align:center; background:var(--c); color:#fff; padding:0 2px; }
.mc .hd{ position:absolute; top:6px; inset-inline-start:5px; width:5px; height:5px; border-radius:50%; background:var(--red); }
.pills{ display:flex; flex-direction:column; gap:2px; margin-top:3px; min-width:0; }
.pill{ display:block; font-size:10.5px; font-weight:600; line-height:15px; padding:0 4px; border-radius:5px; white-space:nowrap; overflow:hidden; text-overflow:clip; unicode-bidi:plaintext; background:color-mix(in srgb, var(--c) 20%, transparent); color:color-mix(in srgb, var(--c) 70%, var(--txt)); border-inline-start:2.5px solid var(--c); }
.pill.ad{ background:var(--c); color:#fff; border:0; }
.pill.sh{ background:transparent; border:1px dashed var(--c); }
.pill.cl{ border-start-start-radius:0; border-end-start-radius:0; margin-inline-start:-3px; } .pill.cr{ border-start-end-radius:0; border-end-end-radius:0; margin-inline-end:-3px; }
.pill.hol{ background:rgba(255,92,92,.14); color:var(--red); border-inline-start:2.5px solid var(--red); }
.more{ font-size:10px; color:var(--mut); font-weight:700; padding-inline-start:4px; }

/* Tag-Panel unter dem Monat */
.daypanel{ margin-top:var(--s4); }
.dp-head{ display:flex; align-items:center; gap:var(--s3); margin-bottom:var(--s2); }
.dp-head > div:first-child{ flex:1; min-width:0; }
.dp-head h2{ font-size:18px; font-weight:700; letter-spacing:-.015em; }
.dp-head p{ font-size:13px; }
.dp-wx{ display:flex; align-items:center; gap:4px; font-size:13px; color:var(--mut); } .dp-wx b{ color:var(--txt); font-size:15px; }
.holtxt{ color:var(--red); font-weight:600; }
.evlist{ display:flex; flex-direction:column; gap:6px; }
.evrow{ display:flex; align-items:stretch; gap:12px; background:var(--card); border:1px solid var(--line); border-radius:16px; padding:10px 12px 10px 0; width:100%; position:relative; overflow:hidden; transition:transform .12s; }
.evrow:active{ transform:scale(.985); }
.evrow.past{ opacity:.55; }
.evbar{ width:4px; border-radius:0 4px 4px 0; background:var(--c); flex:none; }
html[dir="rtl"] .evbar{ border-radius:4px 0 0 4px; }
.evtime{ width:46px; flex:none; display:flex; flex-direction:column; font-variant-numeric:tabular-nums; } .evtime b{ font-size:14px; font-weight:700; } .evtime i{ font-style:normal; font-size:12px; color:var(--mut); }
.evmain{ flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; justify-content:center; }
.evmain > b{ font-size:15px; font-weight:650; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.evmeta{ display:flex; flex-wrap:wrap; gap:4px 10px; font-size:12.5px; color:var(--mut); align-items:center; }
.evmeta span{ display:inline-flex; align-items:center; gap:3px; } .evmeta .ui{ width:14px; height:14px; }
.wxchip{ background:var(--chip); border-radius:var(--r-pill); padding:1px 8px 1px 3px; color:var(--txt); font-weight:600; }
.leave{ color:var(--amber); font-weight:650; }
.subtag{ background:var(--chip); border-radius:6px; padding:0 6px; }
.empty-add{ width:100%; display:flex; align-items:center; gap:10px; padding:16px; border-radius:16px; border:1.5px dashed var(--line2); color:var(--mut); font-weight:550; }
.empty-add .ui{ color:var(--acc); width:22px; height:22px; }

/* Zeitraster */
.week, .dayv{ flex:1; min-height:0; display:flex; flex-direction:column; touch-action:pan-y; }
.whead{ display:grid; grid-template-columns:40px repeat(7,1fr); align-items:end; padding-bottom:4px; }
.wh{ display:flex; flex-direction:column; align-items:center; padding:2px 0; border-radius:12px; }
.wh span{ font-size:11px; color:var(--mut); font-weight:650; text-transform:uppercase; } .wh b{ font-size:17px; font-weight:700; width:32px; height:32px; line-height:32px; text-align:center; border-radius:11px; font-variant-numeric:tabular-nums; }
.wh.today b{ background:var(--acc-grad); color:#fff; } .wh.hol b{ color:var(--red); }
.adrow{ display:grid; grid-template-columns:40px repeat(7,1fr); gap:2px; padding-bottom:4px; border-bottom:1px solid var(--line); }
.adc{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.pillbtn{ display:block; min-width:0; width:100%; }
.tgrid-scroll{ flex:1; min-height:0; overflow-y:auto; overflow-x:hidden; margin:0 calc(-1 * var(--s4)); padding:0 var(--s4) calc(var(--nav-h) + var(--safe-b) + 90px); scrollbar-width:none; overscroll-behavior:contain; }
.tgrid{ position:relative; display:flex; margin-top:8px; }
.hours{ width:40px; flex:none; position:relative; } .hours.wide{ width:58px; }
.hr{ position:absolute; left:0; right:0; height:0; } .hr span{ position:absolute; top:-8px; font-size:10.5px; color:var(--faint); font-variant-numeric:tabular-nums; }
.hr em{ position:absolute; top:7px; font-style:normal; font-size:10.5px; color:var(--mut); display:flex; align-items:center; gap:1px; font-weight:600; }
.tcols{ flex:1; display:flex; position:relative;
  background-image:linear-gradient(to bottom, var(--line) 1px, transparent 1px); background-size:100% 52px; }
.tcol{ flex:1; position:relative; border-inline-start:1px solid var(--line); min-width:0; }
.tcol.today{ background:var(--sel); }
.blk{ position:absolute; border-radius:9px; padding:3px 6px; overflow:hidden; display:flex; flex-direction:column; gap:1px; text-align:start;
  background:color-mix(in srgb, var(--c) 22%, var(--card)); border-inline-start:3px solid var(--c); color:var(--txt); font-size:11px; line-height:1.25; box-shadow:0 1px 3px rgba(0,0,0,.12); transition:transform .1s; }
.blk:active{ transform:scale(.98); }
.blk b, .blk span{ unicode-bidi:plaintext; } .blk b{ font-size:11.5px; font-weight:700; overflow:hidden; text-overflow:ellipsis; } .blk span{ color:var(--mut); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dayv .blk{ font-size:12.5px; padding:5px 9px; } .dayv .blk b{ font-size:14px; white-space:nowrap; }
.blk.small b{ white-space:nowrap; }
.blk.past{ opacity:.55; }
.blk.shiftblk{ background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--c) 14%, transparent) 0 8px, color-mix(in srgb, var(--c) 7%, transparent) 8px 16px); box-shadow:none; border-inline-start:3px dashed var(--c); }
.blkwx{ display:flex; align-items:center; gap:3px; color:var(--txt) !important; font-weight:600; }
.blkleave{ color:var(--amber) !important; font-weight:650; }
.nowline{ position:absolute; left:-4px; right:0; height:2px; background:var(--red); z-index:3; pointer-events:none; }
.nowline::before{ content:""; position:absolute; left:-3px; top:-4px; width:10px; height:10px; border-radius:50%; background:var(--red); }
.dayhead{ padding:2px 0 8px; } .dayhead h2{ font-size:20px; font-weight:750; letter-spacing:-.02em; } .dayhead p{ font-size:13px; }
.shtag{ color:var(--c); font-weight:700; }
.brief{ display:flex; gap:12px; align-items:center; background:var(--card); border:1px solid var(--line); border-radius:18px; padding:10px 14px; margin-bottom:8px; }
.brief b{ display:block; font-size:15px; } .brief span{ font-size:13px; color:var(--mut); }
.hints{ display:flex; flex-wrap:wrap; gap:5px; margin-top:6px; }
.hints i{ font-style:normal; font-size:12.5px; font-weight:600; background:var(--chip); padding:3px 9px; border-radius:var(--r-pill); }
.adlist{ display:flex; flex-wrap:wrap; gap:4px; margin-bottom:6px; } .adlist .pillbtn{ width:auto; } .adlist .pill{ font-size:12.5px; line-height:22px; padding:0 10px; }

/* Liste */
.agday{ display:flex; gap:12px; padding:6px 0; }
.agdate{ width:44px; flex:none; display:flex; flex-direction:column; align-items:center; padding-top:6px; }
.agdate b{ font-size:21px; font-weight:750; line-height:1; font-variant-numeric:tabular-nums; } .agdate span{ font-size:12px; color:var(--mut); font-weight:650; text-transform:uppercase; } .agdate i{ font-style:normal; font-size:10.5px; color:var(--faint); }
.agday.today .agdate b{ color:var(--acc); }
.aglist{ flex:1; min-width:0; display:flex; flex-direction:column; gap:6px; }
.holrow{ display:flex; align-items:center; gap:6px; color:var(--red); font-weight:650; font-size:14px; padding:6px 2px; }
.emptybig{ text-align:center; padding:48px 16px; color:var(--mut); } .emptybig .ui{ width:40px; height:40px; opacity:.5; margin-bottom:8px; }

/* Mein Tag */
.hello{ padding:6px 2px 18px; }
.hdate{ font-size:13px; font-weight:650; color:var(--mut); text-transform:uppercase; letter-spacing:.05em; }
.hello h2{ font-size:30px; font-weight:780; letter-spacing:-.035em; line-height:1.1; margin-top:6px; background:linear-gradient(120deg, var(--txt) 30%, color-mix(in srgb, var(--acc2) 70%, var(--txt))); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hsum{ margin-top:6px; color:var(--mut); font-size:15px; }
.hwx{ display:flex; align-items:center; gap:12px; margin-top:14px; padding:12px 16px; border-radius:20px; background:var(--card); border:1px solid var(--line); color:var(--txt); box-shadow:var(--shadow); }
.hwx b{ font-size:32px; font-weight:300; letter-spacing:-.03em; line-height:1; display:block; } .hwx span{ display:block; font-size:13.5px; } .hwx .mut .ui{ width:13px; height:13px; }
.hwx.sk{ height:90px; } .hwx.sk i{ flex:1; height:20px; border-radius:8px; background:linear-gradient(90deg, var(--chip), var(--card2), var(--chip)); background-size:200% 100%; animation:sk 1.4s infinite; }
@keyframes sk{ to{ background-position:-200% 0; } }
.shiftcard{ display:flex; align-items:center; gap:14px; background:linear-gradient(135deg, color-mix(in srgb, var(--c) 22%, var(--card)), var(--card)); }
.shbig{ width:46px; height:46px; border-radius:14px; background:var(--c); color:#fff; font-weight:800; font-size:20px; display:grid; place-items:center; flex:none; }
.shiftcard b{ display:block; font-size:16px; } .shiftcard div span{ font-size:13.5px; color:var(--mut); }
.blist{ display:flex; flex-direction:column; gap:8px; }
.bitem{ display:flex; gap:12px; padding:12px; border-radius:18px; background:var(--card2); border:1px solid var(--line); width:100%; position:relative; overflow:hidden; }
.bitem::before{ content:""; position:absolute; inset-inline-start:0; top:12px; bottom:12px; width:3px; border-radius:3px; background:var(--c); }
.bitem.past{ opacity:.5; }
.btime{ width:44px; flex:none; display:flex; flex-direction:column; padding-inline-start:4px; font-variant-numeric:tabular-nums; } .btime b{ font-size:15px; } .btime i{ font-style:normal; font-size:12px; color:var(--mut); }
.bmain{ flex:1; min-width:0; display:flex; flex-direction:column; gap:5px; }
.btitle{ display:flex; align-items:center; gap:8px; justify-content:space-between; } .btitle b{ font-size:15.5px; font-weight:680; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.btitle span{ flex:none; font-size:11.5px; font-weight:700; padding:2px 8px; border-radius:var(--r-pill); }
.live{ background:rgba(47,191,113,.16); color:var(--green); } .soonchip{ background:var(--chip); color:var(--mut); } .done{ color:var(--faint); }
.bplace{ font-size:13px; color:var(--mut); display:flex; align-items:center; gap:4px; } .bplace .ui{ width:14px; height:14px; }
.bwx{ display:flex; align-items:center; gap:6px; font-size:13px; color:var(--mut); } .bwx b{ color:var(--txt); font-size:14px; }
.leavebox{ display:flex; align-items:center; gap:8px; font-size:13px; background:rgba(245,165,36,.12); color:var(--txt); padding:7px 10px; border-radius:12px; } .leavebox .ui{ color:var(--amber); }
.leavebox.urgent{ background:rgba(255,92,92,.15); } .leavebox.urgent .ui{ color:var(--red); }
.cwx{ display:flex; align-items:center; gap:4px; font-size:13px; color:var(--mut); }
.soon{ display:flex; flex-direction:column; gap:2px; }
.srow{ display:flex; align-items:center; gap:12px; padding:8px 2px; width:100%; border-bottom:1px solid var(--line); }
.srow:last-child{ border-bottom:0; }
.srow > div{ flex:1; min-width:0; } .srow b{ display:block; font-size:14.5px; } .srow div span{ font-size:12.5px; color:var(--mut); }
.srow em{ font-style:normal; font-size:12px; font-weight:700; color:var(--acc); background:var(--sel); padding:3px 9px; border-radius:var(--r-pill); white-space:nowrap; }
.sicon{ font-size:22px; width:36px; height:36px; display:grid; place-items:center; background:var(--chip); border-radius:12px; flex:none; }
.tips .exchips{ margin-top:10px; }
.exchips{ display:flex; flex-wrap:wrap; gap:6px; }

/* Schichten */
.mnav{ display:flex; align-items:center; justify-content:space-between; margin:2px 0 6px; } .mnav h2{ font-size:18px; font-weight:700; }
.shgrid{ touch-action:pan-y; user-select:none; -webkit-user-select:none; margin-top:8px; }
.shcells{ display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
.shc{ aspect-ratio:1/1.08; border-radius:13px; background:var(--card); border:1px solid var(--line); display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; transition:transform .1s, background .15s; }
.shc:active{ transform:scale(.92); }
.shc .dn{ position:absolute; top:4px; inset-inline-start:6px; font-size:11px; font-weight:650; color:var(--mut); font-variant-numeric:tabular-nums; }
.shc.has{ background:color-mix(in srgb, var(--c) 85%, #000 0%); border-color:transparent; color:#fff; box-shadow:0 3px 10px color-mix(in srgb, var(--c) 35%, transparent); }
.shc.has .dn{ color:rgba(255,255,255,.85); }
.shc b{ font-size:19px; font-weight:800; margin-top:6px; } .shc i{ font-style:normal; font-size:9.5px; opacity:.9; font-variant-numeric:tabular-nums; }
.shc.out{ opacity:.35; } .shc.today{ outline:2.5px solid var(--acc); outline-offset:1px; } .shc.hol .dn{ color:var(--red); } .shc.has.hol .dn{ color:#fff; text-decoration:underline; }
.palette{ position:sticky; bottom:calc(var(--nav-h) + var(--safe-b) + 8px); z-index:3; display:flex; gap:6px; overflow-x:auto; padding:8px; margin:12px 0; border-radius:20px; background:var(--glass); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); border:1px solid var(--line2); box-shadow:var(--shadow); scrollbar-width:none; }
.palette.inline{ position:static; box-shadow:none; background:var(--card2); flex-wrap:wrap; }
/* Zusatz-Schichten (z. B. RB neben T) als Ecken-Badge oben rechts */
.shc .shbadges{ position:absolute; top:3px; inset-inline-end:3px; display:flex; flex-direction:column; gap:2px; align-items:flex-end; }
.shc .shbadge small{ display:block; font-size:.78em; font-weight:700; margin-top:1px; text-align:center; opacity:.95; }
.shc .shbadge{ font-style:normal; font-size:9.5px; font-weight:800; line-height:1; padding:2px 3px; border-radius:5px; background:var(--b); color:#fff; box-shadow:0 0 0 1.5px rgba(255,255,255,.9); letter-spacing:-.2px; }
@media (max-width:380px){ .shc .shbadge{ font-size:8px; padding:1.5px 2px; border-radius:4px; } .shc.badged b{ margin-top:10px; } }
.shiftcard.oncall .shbig{ font-size:15px; }
.palc{ flex:none; min-width:64px; height:56px; border-radius:14px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; background:color-mix(in srgb, var(--c, #888) 16%, transparent); border:2px solid transparent; padding:0 8px; transition:all .15s; }
.palc b{ font-size:17px; font-weight:800; color:var(--c); } .palc span{ font-size:11px; font-weight:600; color:var(--mut); }
.palc.on{ border-color:var(--c); background:color-mix(in srgb, var(--c) 28%, transparent); transform:translateY(-2px); }
.palc.erase{ --c:var(--mut); } .palc.erase .ui{ width:20px; height:20px; color:var(--mut); }
.stats{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:6px; }
.stat{ padding:6px 12px; border-radius:var(--r-pill); background:color-mix(in srgb, var(--c) 16%, transparent); font-size:13.5px; } .stat b{ color:var(--c); }
.patrow{ display:flex; flex-wrap:wrap; gap:5px; min-height:40px; padding:8px; border-radius:14px; background:var(--card2); border:1px dashed var(--line2); }
.pchip{ width:32px; height:32px; border-radius:10px; background:var(--c); color:#fff; font-weight:800; }
.stype{ border:1px solid var(--line); border-radius:16px; padding:10px; margin-bottom:8px; border-inline-start:4px solid var(--c); }
.strow{ display:flex; gap:6px; align-items:center; } .strow input:not([type=color]):not([type=checkbox]), .strow select{ flex:1; min-width:0; }
.strow input[type=color]{ width:40px; height:40px; border:0; padding:0; background:none; border-radius:10px; flex:none; }
.strow .short{ max-width:56px; text-align:center; }
.strow.times{ margin-top:4px; }
.strow.pause{ margin-top:6px; justify-content:space-between; font-size:14px; color:var(--mut); } .strow.pause input{ flex:none !important; width:80px; text-align:center; }

/* Planer */
.freeres{ margin-top:var(--s4); display:flex; flex-direction:column; gap:12px; }
.fdh{ display:flex; align-items:center; gap:8px; margin-bottom:6px; } .fdh b{ font-size:14.5px; }
.badge{ font-size:11px; font-weight:700; padding:2px 8px; border-radius:var(--r-pill); } .badge.ok{ background:rgba(47,191,113,.15); color:var(--green); } .badge.warn{ background:rgba(245,165,36,.15); color:var(--amber); }
.fslots{ display:flex; flex-wrap:wrap; gap:6px; }
.fslot{ display:flex; align-items:center; gap:8px; padding:8px 10px 8px 12px; border-radius:14px; background:color-mix(in srgb, var(--green) 12%, var(--card2)); border:1px solid color-mix(in srgb, var(--green) 30%, transparent); }
.fslot b{ font-size:14px; font-variant-numeric:tabular-nums; } .fslot span{ font-size:12px; color:var(--mut); } .fslot .ui{ width:16px; height:16px; color:var(--green); }
.heat{ display:flex; flex-direction:column; gap:5px; margin:10px 0; }
.hrow{ display:grid; grid-template-columns:62px auto 1fr 44px; align-items:center; gap:8px; padding:3px 4px; border-radius:10px; width:100%; }
.hrow.cur{ background:var(--sel); } .hrow.pastw{ opacity:.55; }
.hk{ font-size:12.5px; font-weight:700; display:flex; flex-direction:column; line-height:1.15; } .hk i{ font-style:normal; font-size:10.5px; color:var(--mut); font-weight:500; }
.hcells{ display:flex; gap:3px; }
.hc{ width:18px; height:18px; border-radius:5px; background:var(--heat0); display:inline-block; }
.hc.l1{ background:var(--heat1); } .hc.l2{ background:var(--heat2); } .hc.l3{ background:var(--heat3); } .hc.l4{ background:var(--heat4); }
.hc.today{ outline:2px solid var(--txt); outline-offset:1px; }
.hbar{ height:6px; background:var(--heat0); border-radius:6px; overflow:hidden; } .hbar i{ display:block; height:100%; background:var(--acc-grad); border-radius:6px; }
.ht{ font-size:12px; font-weight:650; color:var(--mut); text-align:end; font-variant-numeric:tabular-nums; }
.legend{ display:flex; align-items:center; gap:4px; font-size:12px; color:var(--mut); justify-content:flex-end; margin-bottom:6px; } .legend .hc{ width:13px; height:13px; }

/* Einstellungen */
.setrow{ display:flex; align-items:center; gap:12px; min-height:50px; padding:6px 2px; width:100%; border-bottom:1px solid var(--line); }
.setrow:last-of-type{ border-bottom-color:transparent; }
.setrow > span:not(.ic){ flex:1; min-width:0; } .setrow > b{ font-weight:550; color:var(--mut); font-size:14px; }
.setrow > .ui:last-child{ color:var(--faint); }
.setrow .ic{ width:22px; display:grid; place-items:center; color:var(--mut); flex:none; }
.setrow > .ui:first-child{ color:var(--mut); }
.setrow.danger{ color:var(--red); } .setrow.danger .ui{ color:var(--red) !important; }
.setrow.on{ color:var(--acc); font-weight:650; }
.setrow input, .setrow select{ flex:1; min-width:0; }
.lcode{ width:34px; height:24px; border-radius:7px; background:var(--chip); display:grid; place-items:center; font-size:11px; }
input:not([type]), input[type=text], input[type=search], input[type=url], input[type=number], input[type=date], input[type=time], select, textarea{
  height:44px; border-radius:12px; border:1px solid var(--line2); background:var(--card2); padding:0 12px; font-size:15px; outline:none; transition:border-color .15s; min-width:0; }
textarea{ height:auto; padding:10px 12px; width:100%; resize:vertical; }
input:focus, select:focus, textarea:focus{ border-color:var(--acc); }
.setrow input[type=text], .setrow select{ background:transparent; border-color:transparent; text-align:end; padding:0 4px; color:var(--mut); }
.setrow input[type=text]:focus{ border-color:var(--acc); color:var(--txt); text-align:start; }
.sw{ display:flex; align-items:center; gap:12px; min-height:48px; cursor:pointer; }
.sw > span{ flex:1; }
.sw input{ position:absolute; opacity:0; pointer-events:none; }
.sw i{ width:46px; height:28px; border-radius:20px; background:var(--chip-on); position:relative; transition:background .2s; flex:none; }
.sw i::after{ content:""; position:absolute; top:3px; left:3px; width:22px; height:22px; border-radius:50%; background:#fff; box-shadow:0 2px 5px rgba(0,0,0,.25); transition:transform .22s var(--ease); }
.sw input:checked + i{ background:var(--acc); } .sw input:checked + i::after{ transform:translateX(18px); }
html[dir="rtl"] .sw input:checked + i::after{ transform:translateX(18px); }
.seg3{ display:flex; gap:4px; background:var(--chip); padding:4px; border-radius:14px; margin-bottom:8px; }
.seg3 button{ flex:1; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; gap:6px; font-size:13.5px; font-weight:600; color:var(--mut); }
.seg3 button.on{ background:var(--card); color:var(--txt); box-shadow:0 1px 5px rgba(0,0,0,.15); }
html[data-theme="dark"] .seg3 button.on{ background:var(--chip-on); }
.okrow{ display:flex; align-items:center; gap:8px; color:var(--green); font-weight:650; padding:8px 0; }
.warnrow{ color:var(--amber); font-size:14px; padding:6px 0; }
.subrow{ display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid var(--line); } .subrow > div{ flex:1; min-width:0; } .subrow b{ display:block; }
.dot{ width:12px; height:12px; border-radius:50%; background:var(--c); flex:none; }
.locsearch{ display:flex; flex-direction:column; gap:4px; margin-bottom:6px; } .locsearch input{ width:100%; }
.apkcard{ background:linear-gradient(135deg, rgba(91,124,255,.16), rgba(192,108,240,.12)), var(--card); }
.foot{ text-align:center; padding:12px 8px; line-height:1.6; }

/* Navigation unten */
.nav{ position:fixed; left:0; right:0; bottom:0; z-index:20; display:flex; justify-content:space-around; padding:6px 6px calc(var(--safe-b) + 6px); background:var(--glass); backdrop-filter:blur(22px) saturate(1.4); -webkit-backdrop-filter:blur(22px) saturate(1.4); border-top:1px solid var(--line); }
.nav button{ flex:1; display:flex; flex-direction:column; align-items:center; gap:3px; padding:6px 0 4px; font-size:11px; font-weight:600; color:var(--mut); border-radius:14px; transition:color .15s; max-width:96px; }
.nav button .ui{ width:24px; height:24px; padding:2px; border-radius:10px; box-sizing:content-box; transition:background .2s; }
.nav button.on{ color:var(--txt); } .nav button.on .ui{ background:var(--sel); color:var(--acc); padding:2px 14px; }
.fab{ position:fixed; z-index:21; inset-inline-end:18px; bottom:calc(var(--nav-h) + var(--safe-b) + 18px); width:60px; height:60px; border-radius:20px; background:var(--acc-grad); color:#fff; display:grid; place-items:center;
  box-shadow:0 10px 28px rgba(109,108,255,.5), inset 0 1px 0 rgba(255,255,255,.25); transition:transform .15s var(--ease); }
.fab svg{ width:28px; height:28px; } .fab:active{ transform:scale(.9) rotate(90deg); } .fab[hidden]{ display:none; }

/* Sheets */
.sheet-bg{ position:fixed; inset:0; z-index:40; background:rgba(5,8,18,.5); opacity:0; transition:opacity .25s; backdrop-filter:blur(2px); }
.sheet-bg.on{ opacity:1; }
.sheet{ position:fixed; left:0; right:0; bottom:0; z-index:41; max-height:92dvh; overflow-y:auto; background:var(--bg2); border-radius:26px 26px 0 0; padding:0 var(--s4) calc(var(--safe-b) + 18px); transform:translateY(105%); transition:transform .32s var(--ease); box-shadow:0 -10px 40px rgba(0,0,0,.3); overscroll-behavior:contain; max-width:640px; margin:0 auto; }
html[data-theme="light"] .sheet{ background:#fbfbfe; }
.sheet.on{ transform:none; }
.sheet.full{ height:94dvh; max-height:94dvh; }
.grab{ position:sticky; top:0; height:22px; display:grid; place-items:center; margin:0 calc(-1 * var(--s4)); background:inherit; z-index:2; cursor:grab; touch-action:none; }
.grab::before{ content:""; width:40px; height:5px; border-radius:5px; background:var(--line2); }
.sheet-head{ display:flex; align-items:center; gap:10px; margin-bottom:12px; } .sheet-head h3{ flex:1; font-size:18px; font-weight:750; display:flex; align-items:center; gap:8px; }
.confirm h3{ font-size:19px; font-weight:750; margin:6px 0 8px; } .confirm p{ margin-bottom:8px; }
.choices{ display:flex; flex-direction:column; gap:6px; margin:12px 0 4px; }
.choice{ padding:14px 16px; border-radius:16px; background:var(--card); border:1px solid var(--line); display:flex; flex-direction:column; } .choice span{ font-size:13px; color:var(--mut); } .choice.danger{ color:var(--red); }
.qain{ display:flex; align-items:center; gap:6px; background:var(--card); border:1.5px solid var(--acc); border-radius:18px; padding:0 6px 0 12px; box-shadow:0 0 0 4px var(--sel); flex:1; }
.qain input{ flex:1; border:0 !important; background:transparent !important; height:54px; font-size:17px; padding:0; min-width:0; box-shadow:none; }
.qain .spark .ui{ color:var(--acc); width:20px; height:20px; }
#qaMic.rec{ color:var(--red); animation:pulse 1s infinite; } @keyframes pulse{ 50%{ transform:scale(1.15); } }
.qaprev{ margin:12px 0 4px; min-height:60px; }
.pv{ display:flex; gap:12px; background:var(--card); border:1px solid var(--line); border-radius:18px; padding:12px 14px 12px 0; animation:pop .25s var(--ease); }
@keyframes pop{ from{ transform:translateY(4px); opacity:.6; } }
.pv > div{ display:flex; flex-direction:column; gap:4px; min-width:0; } .pv b{ font-size:16.5px; } .pv span{ font-size:13.5px; color:var(--mut); display:flex; align-items:center; gap:6px; } .pv .ui{ width:15px; height:15px; }
.catdot{ display:inline-block; width:9px; height:9px; border-radius:50%; background:var(--c); }
.conflict{ color:var(--amber) !important; font-weight:600; font-size:13.5px; }
.sticky{ position:sticky; bottom:-18px; background:inherit; padding:8px 0 4px; margin-bottom:0; }
.editor{ display:flex; flex-direction:column; gap:10px; }
.editor .sheet-head{ position:sticky; top:22px; z-index:2; background:inherit; padding:4px 0 8px; margin:0; }
.sheet.full .sheet-head{ background:var(--bg2); } html[data-theme="light"] .sheet.full .sheet-head{ background:#fbfbfe; }
.ttlin{ font-size:21px !important; font-weight:700; height:56px !important; border-radius:16px !important; }
.kindsw{ margin:0; } .seg3.two button{ height:36px; }
.catpick{ display:flex; gap:6px; overflow-x:auto; padding:2px 0 4px; scrollbar-width:none; }
.catc{ flex:none; display:flex; align-items:center; gap:6px; height:34px; padding:0 12px; border-radius:var(--r-pill); background:var(--chip); font-size:13.5px; font-weight:600; border:1.5px solid transparent; }
.catc i{ width:10px; height:10px; border-radius:50%; background:var(--c); } .catc.on{ border-color:var(--c); background:color-mix(in srgb, var(--c) 18%, transparent); }
.dt{ display:flex; align-items:center; gap:8px; } .dt > span{ width:62px; flex:none; font-weight:600; color:var(--mut); font-size:14px; } .dt input[type=date]{ flex:1.4; } .dt input[type=time]{ flex:1; } .dt input[hidden]{ display:none; }
.wdpick{ display:flex; gap:4px; } .wdpick button{ flex:1; height:38px; border-radius:11px; background:var(--chip); font-weight:650; font-size:13px; } .wdpick button.on{ background:var(--acc); color:#fff; }
.wdpick[hidden], .mopick[hidden], .repend[hidden], [hidden]{ display:none !important; }
.mopick{ display:flex; flex-direction:column; gap:4px; } .radio{ display:flex; align-items:center; gap:10px; min-height:38px; } .radio input{ width:18px; height:18px; accent-color:var(--acc); }
.repend{ display:flex; flex-direction:column; gap:6px; }
.editor .setrow{ border-bottom:1px solid var(--line); } .editor .setrow input{ border-color:transparent; background:transparent; padding:0; }
.leavehint{ color:var(--amber); font-weight:600; margin-top:-4px; }
.editor .bdonly{ display:none; flex-direction:column; gap:10px; }
.sheet.bday .bdonly{ display:flex; } .sheet.bday .evonly{ display:none; }
.evonly{ display:flex; flex-direction:column; gap:10px; }
.detail h2{ font-size:24px; font-weight:780; letter-spacing:-.025em; line-height:1.15; margin:2px 0 6px; }
.dcat{ flex:1; display:flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color:var(--c); text-transform:uppercase; letter-spacing:.05em; } .dcat .catdot{ background:var(--c); }
.dwhen{ font-size:16px; font-weight:550; line-height:1.4; }
.drow{ display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); color:var(--txt); } .drow > span{ flex:1; } .drow > .ui:first-child{ color:var(--mut); }
.drow.leave{ color:var(--amber); }
.dwx{ display:flex; gap:12px; align-items:center; margin:12px 0; padding:12px 14px; border-radius:18px; background:var(--card); border:1px solid var(--line); } .dwx b{ display:block; font-size:16px; } .dwx span{ font-size:13.5px; color:var(--mut); }
.dnotes{ margin:12px 0; padding:12px 14px; background:var(--card); border-radius:16px; font-size:14.5px; white-space:normal; word-break:break-word; }
.dact{ display:flex; gap:8px; margin-top:16px; } .dact .btn{ flex:1; } .dact .btn.iconly{ flex:none; }
.sres{ display:flex; flex-direction:column; gap:3px; } .sdate{ font-size:12px; font-weight:700; color:var(--mut); padding-inline-start:4px; margin-top:6px; }
.searchv .sheet-head{ position:sticky; top:22px; background:var(--bg2); z-index:2; padding-bottom:8px; } html[data-theme="light"] .searchv .sheet-head{ background:#fbfbfe; }
.mpgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:8px 0 12px; }
.mpgrid button{ height:52px; border-radius:14px; background:var(--card); border:1px solid var(--line); font-weight:650; text-align:center; text-transform:capitalize; }
.mpgrid button.now{ color:var(--acc); border-color:var(--acc); } .mpgrid button.on{ background:var(--acc-grad); color:#fff; border-color:transparent; }
.howto h4{ font-size:15px; margin:16px 0 6px; } .howto ol{ margin:0; padding-inline-start:22px; display:flex; flex-direction:column; gap:6px; font-size:14.5px; }
.subv{ display:flex; flex-direction:column; gap:10px; } .subv input{ width:100%; } .err{ color:var(--red); font-size:14px; }
.rot .dt{ margin-top:12px; }

/* Toast */
.toast{ position:fixed; left:50%; bottom:calc(var(--nav-h) + var(--safe-b) + 90px); transform:translate(-50%, 20px); z-index:60; background:#1b2133; color:#fff; padding:12px 14px 12px 18px; border-radius:16px; font-size:14.5px; font-weight:550; box-shadow:0 10px 30px rgba(0,0,0,.35); opacity:0; transition:all .25s var(--ease); display:flex; align-items:center; gap:14px; max-width:calc(100vw - 32px); }
html[data-theme="light"] .toast{ background:#1b2133; }
.toast.on{ opacity:1; transform:translate(-50%, 0); }
.tbtn{ color:#a9b4ff; font-weight:750; white-space:nowrap; }

/* größere Bildschirme */
@media (min-width:720px){
  .main{ max-width:760px; width:100%; margin:0 auto; }
  .seg{ max-width:728px; width:calc(100% - 32px); margin-inline:auto; }
  .top{ max-width:760px; width:100%; margin:0 auto; }
  .mgrid{ grid-auto-rows:minmax(96px,1fr); }
  .pill{ font-size:12px; line-height:18px; }
}
@media (prefers-reduced-motion:reduce){ *{ transition:none !important; animation:none !important; } }

/* ---------- Pravoslavni kalendar ---------- */
.ored{ color:#c92a2a !important; }
html[data-theme="dark"] .ored{ color:#ff6b6b !important; }
.mc.ored:not(.today) .mn{ color:#c92a2a; font-weight:800; }
html[data-theme="dark"] .mc.ored:not(.today) .mn{ color:#ff6b6b; }
.mc.oslava{ box-shadow:inset 0 0 0 2px #d4a017; }
.wh.ored:not(.today) b{ color:#c92a2a; }
.orthline{ display:flex; align-items:flex-start; gap:10px; width:100%; text-align:start; margin:8px 0; padding:10px 12px; border-radius:14px; background:color-mix(in srgb, #8a6d3b 9%, var(--card)); border:1px solid color-mix(in srgb, #8a6d3b 22%, transparent); }
.orthline.red{ background:color-mix(in srgb, #c92a2a 9%, var(--card)); border-color:color-mix(in srgb, #c92a2a 30%, transparent); }
.orthline.slava{ background:color-mix(in srgb, #d4a017 16%, var(--card)); border-color:#d4a017; }
.orthline .ocross{ font-size:18px; line-height:1.2; flex:none; }
.orthline .otxt{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; font-size:14px; }
.orthline .otxt b{ font-size:15px; }
.orthline .otxt small{ font-size:12px; color:var(--mut); line-height:1.3; }
.slavatag{ font-style:normal; font-size:11px; font-weight:700; background:#d4a017; color:#fff; border-radius:6px; padding:1px 6px; margin-inline-start:4px; }
.fastchip{ flex:none; align-self:center; font-size:12px; font-weight:650; padding:4px 8px; border-radius:999px; background:var(--chip); white-space:nowrap; }
.fastchip i{ font-style:normal; font-weight:500; color:var(--mut); }
.orthcard .orthline{ margin:4px 0 0; }
.slavasoon{ margin-top:8px; font-weight:650; color:#b8860b; }
.orthsheet h4{ margin:14px 0 6px; font-size:14px; color:var(--mut); text-transform:uppercase; letter-spacing:.04em; }
.orthsheet .oname{ padding:10px 12px; border-radius:12px; background:var(--card2); margin:8px 0; display:flex; flex-direction:column; gap:2px; }
.orthsheet .oname b{ font-size:17px; } .orthsheet .oname span{ font-size:13px; color:var(--mut); }
.orthsheet .oname.slava{ background:color-mix(in srgb, #d4a017 20%, var(--card)); }
.osaints{ margin:0; padding-inline-start:18px; display:flex; flex-direction:column; gap:6px; }
.osaints li span{ display:block; } .osaints li i{ display:block; font-style:normal; font-size:12.5px; color:var(--mut); }
