/* Ticketsystem Podologie Baumert – v2 */
@font-face{font-family:"Atkinson Next";src:url(fonts/atkinson-hyperlegible-next-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Atkinson Next";src:url(fonts/atkinson-hyperlegible-next-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Atkinson Next";src:url(fonts/atkinson-hyperlegible-next-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  /* Marke */
  --brand:#7B1C3E; --brand-deep:#561229; --brand-tint:#F5E9EE; --brand-line:#E4C9D4;
  /* Neutral, kühl-klinisch */
  --ink:#231A1E; --ink-2:#62585D; --ink-3:#8C8388;
  --paper:#F3F4F6; --surface:#FFFFFF; --line:#E1E3E7; --line-2:#ECEEF1;
  /* Status */
  --st-offen:#B3261E; --st-arbeit:#A86200; --st-wartet:#36658A; --st-erledigt:#477560;
  --note:#FFF8DC; --note-line:#EAD48A;
  --r-lg:16px; --r:10px; --r-sm:7px;
  --shadow:0 1px 2px rgba(35,26,30,.05),0 4px 16px rgba(35,26,30,.04);
  --font:"Atkinson Next",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5;font-variant-numeric:tabular-nums}
a{color:var(--brand)}
button,input,select,textarea{font:inherit;color:inherit}
h1{font-size:25px;line-height:1.2;font-weight:700;margin:0;letter-spacing:-.01em}
h2{font-size:19px;font-weight:700;margin:28px 0 12px}
.muted{color:var(--ink-2)} .small{font-size:13px}
hr{border:0;border-top:1px solid var(--line-2);margin:16px 0}
:focus-visible{outline:3px solid var(--brand-line);outline-offset:2px;border-radius:6px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- Grundgerüst ---------- */
body.app{display:grid;grid-template-columns:256px 1fr;min-height:100vh}
.content{padding:28px 36px 64px;max-width:1240px;width:100%;min-width:0}

/* Seitenleiste */
.rail{background:var(--brand);color:#fff;display:flex;flex-direction:column;gap:18px;padding:20px 14px;position:sticky;top:0;height:100vh;overflow-y:auto}
.rail a{color:inherit;text-decoration:none}
.rail-brand{display:flex;align-items:center;gap:11px;padding:2px 6px}
.rail-brand img{width:40px;height:40px;border-radius:50%;background:#fff;padding:3px;object-fit:contain;flex:none}
.rail-brand b{display:block;font-size:20px;line-height:1.1}
.rail-brand small{display:block;font-size:12px;line-height:1.3;opacity:.75;margin-top:2px}
.rail-new{display:flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:var(--brand)!important;font-weight:700;border-radius:var(--r);padding:11px 14px;transition:background .15s}
.rail-new span{font-size:22px;line-height:0}
.rail-new:hover,.rail-new.on{background:var(--brand-tint)}
.rail-nav{display:flex;flex-direction:column;gap:2px}
.rail-nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--r-sm);font-size:15px;opacity:.88}
.rail-nav a:hover{background:rgba(255,255,255,.09);opacity:1}
.rail-nav a.on{background:rgba(255,255,255,.16);opacity:1;font-weight:700}
.rail-nav em{margin-left:auto;font-style:normal;font-size:13px;font-weight:700;min-width:24px;text-align:center;padding:1px 7px;border-radius:999px;background:rgba(255,255,255,.16)}
.rail-nav em.alert{background:#fff;color:var(--brand)}
.rail-sep{font-size:13px;opacity:.6;padding:16px 10px 6px}
.rail-nav .dot{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.5;flex:none}
.rail-nav .dot.s-offen{background:#FF9C94;opacity:1}
.rail-nav .dot.s-inbearbeitung{background:#FFC46B;opacity:1}
.rail-nav .dot.s-wartetaufantwort{background:#9CC6E8;opacity:1}
.rail-nav .dot.s-erledigt{background:#A9D3BD;opacity:1}
.rail-foot{margin-top:auto;display:flex;flex-direction:column;gap:2px;border-top:1px solid rgba(255,255,255,.16);padding-top:12px}
.rail-foot > a{padding:8px 10px;border-radius:var(--r-sm);font-size:15px;opacity:.88}
.rail-foot > a:hover,.rail-foot > a.on{background:rgba(255,255,255,.12);opacity:1}
.rail-me{display:flex;align-items:center;gap:10px}
.rail-me .av{background:#fff;color:var(--brand)}
.rail-out{background:none;border:0;color:#fff;opacity:.7;padding:8px 10px;text-align:left;cursor:pointer;font-size:14px;width:100%;border-radius:var(--r-sm)}
.rail-out:hover{opacity:1;background:rgba(255,255,255,.09)}

/* Avatare */
.av{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--brand-tint);color:var(--brand);font-size:12px;font-weight:700;flex:none;letter-spacing:.02em}
.av.none{background:var(--line-2);color:var(--ink-3)}

/* Meldungen */
.flash{border-radius:var(--r);padding:12px 16px;margin-bottom:18px;background:#E6F1EB;color:#24533D;border:1px solid #C3DDCE}
.flash.err{background:#FBEAE9;color:#8A1F19;border-color:#F0C4C0}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:9px 16px;cursor:pointer;text-decoration:none;color:var(--ink);min-height:44px;font-weight:500;transition:border-color .15s,background .15s}
.btn:hover{border-color:var(--ink-3)}
.btn.primary{background:var(--brand);color:#fff;border-color:var(--brand);font-weight:700}
.btn.primary:hover{background:var(--brand-deep);border-color:var(--brand-deep)}
.btn.primary:disabled{opacity:.6}
.btn.danger{color:var(--st-offen);border-color:#EBC6C3;background:transparent}
.btn.danger:hover{background:#FBEAE9}
.btn.small{min-height:36px;padding:5px 12px;font-size:14px}
.btn.wide{width:100%}
.linkbtn{background:none;border:0;cursor:pointer;padding:0;color:var(--brand);text-decoration:underline;text-underline-offset:2px}

/* ---------- Übersicht ---------- */
.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin-bottom:18px}
.pagehead h1{display:flex;align-items:baseline;gap:10px}
.count{font-size:16px;font-weight:500;color:var(--ink-3)}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.filters input,.filters select{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px 12px;min-height:42px;font-size:15px}
.filters input{width:290px}
.filters .clear{font-size:14px;padding:0 4px}

.sheet{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}
.sheet li + li{border-top:1px solid var(--line-2)}
.tkrow{display:grid;grid-template-columns:76px minmax(0,1fr) 230px;align-items:center;gap:16px;padding:14px 20px 14px 0;color:var(--ink);text-decoration:none;position:relative;transition:background .12s}
.tkrow:hover{background:#FAFAFB}
.tkrow::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0;background:transparent}
.tkrow.prio-dringend::before{background:var(--st-offen)}
.tkrow.prio-hoch::before{background:#E09A2D}
.num{font-size:24px;font-weight:500;color:var(--ink-3);text-align:right;letter-spacing:-.02em}
.num small{font-size:14px;margin-right:1px;vertical-align:4px}
.tkrow.unread .num{color:var(--brand)}
.main{display:flex;flex-direction:column;gap:3px;min-width:0}
.subj{font-size:17px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tkrow.unread .subj{font-weight:700}
.meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:14px;color:var(--ink-2)}
.prio{font-weight:700;color:var(--st-offen)}
.prio.prio-hoch,.tkrow.prio-hoch .prio{color:#B4730F}
.newin{color:var(--brand);font-weight:700}
.tkside{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.who{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}
.due.over,.over{color:var(--st-offen);font-weight:700}
.tkrow.done{opacity:.55}
.tkrow.done .subj{text-decoration:line-through;text-decoration-color:var(--ink-3)}

/* Status */
.status{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;padding:3px 11px 3px 9px;border-radius:999px;white-space:nowrap}
.status .dot{width:8px;height:8px;border-radius:50%;background:currentColor}
.status.s-offen{color:var(--st-offen);background:#FBEAE9}
.status.s-inbearbeitung{color:var(--st-arbeit);background:#FDF1E0}
.status.s-wartetaufantwort{color:var(--st-wartet);background:#E8F0F7}
.status.s-erledigt{color:var(--st-erledigt);background:#E6F1EB}

.empty{text-align:center;color:var(--ink-2);padding:56px 20px;background:var(--surface);border:1px dashed var(--line);border-radius:var(--r-lg)}
.empty p{margin:0 0 16px;font-size:17px}
.foot{font-size:13px;color:var(--ink-3);margin-top:14px}

/* ---------- Formulare ---------- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;margin-bottom:18px;box-shadow:var(--shadow)}
.form label{display:block;font-size:14px;font-weight:700;color:var(--ink-2);margin-bottom:14px}
.form input:not([type=checkbox]):not([type=radio]):not([type=file]),.form select,.form textarea{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;background:var(--surface);min-height:46px;font-weight:400;color:var(--ink);font-size:16px;transition:border-color .15s,box-shadow .15s}
.form textarea{resize:vertical;min-height:110px;line-height:1.55}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}
.form input:disabled{background:var(--paper);color:var(--ink-2)}
.form .check{display:flex;align-items:center;gap:9px;font-weight:500;color:var(--ink)}
.form .check input{width:20px;height:20px;accent-color:var(--brand);margin:0;flex:none}
.form .file input{display:block;margin-top:6px;font-weight:400;font-size:14px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:0 16px}
.row-f,.form .row{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap}
.form .row > label{margin-bottom:14px}
.form .row .btn{margin-bottom:14px;margin-left:auto}
.end{display:flex;gap:10px;justify-content:flex-end;align-items:flex-end}
.narrow{max-width:540px}
.hint{font-size:13px;color:var(--ink-3);margin:0}
.overin{border-color:var(--st-offen)!important;color:var(--st-offen)!important}
main > h1{margin-bottom:20px}

/* ---------- Ticketansicht ---------- */
.back{margin:0 0 14px;font-size:15px}
.back a{text-decoration:none}
.back a::before{content:"‹ ";font-size:18px}
.tkhead{display:flex;gap:18px;align-items:flex-start;margin-bottom:26px}
.bignum{font-size:44px;line-height:1;font-weight:700;color:var(--brand);letter-spacing:-.03em;padding-top:2px}
.bignum small{font-size:22px;vertical-align:14px;margin-right:2px;opacity:.6}
.tkhead h1{font-size:27px;max-width:46ch}
.sub{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin:9px 0 0;font-size:14px;color:var(--ink-2)}
.cols{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}
.thread{min-width:0}

.msg{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;margin-bottom:16px}
.msg > .av{width:36px;height:36px;font-size:13px;margin-top:4px}
.m-in > .av{background:#E8F0F7;color:var(--st-wartet)}
.m-out > .av{background:var(--brand);color:#fff}
.m-note > .av{background:var(--note);color:#7A5C00;border:1px solid var(--note-line)}
.bubble{background:var(--surface);border:1px solid var(--line);border-radius:4px var(--r-lg) var(--r-lg) var(--r-lg);overflow:hidden;box-shadow:var(--shadow)}
.m-out .bubble{border-color:var(--brand-line);background:#FFFCFD}
.m-note .bubble{background:var(--note);border-color:var(--note-line);box-shadow:none}
.bubble header{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;padding:11px 16px 0;font-size:14px}
.bubble header b{font-size:15px}
.bubble header time{margin-left:auto;color:var(--ink-3);font-size:13px}
.tag{font-size:12px;font-weight:700;padding:1px 8px;border-radius:999px;background:var(--line-2);color:var(--ink-2)}
.m-in .tag{background:#E8F0F7;color:var(--st-wartet)}
.m-out .tag{background:var(--brand-tint);color:var(--brand)}
.m-note .tag{background:#F6E8B0;color:#6B5000}
.bubble .body{padding:10px 16px 14px;overflow-wrap:anywhere;line-height:1.6;max-width:78ch}
.bubble .body.long{max-height:360px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.bubble .more{margin:0 16px 12px;font-size:14px}
.atts{list-style:none;margin:0;padding:10px 16px 14px;display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line-2)}
.atts li{display:inline-flex;align-items:center;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);padding:5px 10px;font-size:14px}
.atts a{text-decoration:none;font-weight:500}
.atts a::before{content:"";display:inline-block;width:10px;height:12px;margin-right:6px;border:1.5px solid currentColor;border-radius:2px;vertical-align:-1px}
.atts .muted{font-size:12px}

.ev{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:13px;color:var(--ink-2);margin:-4px 0 16px 48px;padding-left:14px;border-left:2px solid var(--line)}
.ev small{color:var(--ink-3)}

.composer{margin-top:24px;padding-top:6px}
.ctabs{display:flex;gap:4px;border-bottom:1px solid var(--line-2);margin:0 -22px 18px;padding:0 14px}
.ctabs button{border:0;background:none;padding:12px 12px 10px;cursor:pointer;color:var(--ink-2);font-weight:700;border-bottom:3px solid transparent;margin-bottom:-1px}
.ctabs button.on{color:var(--brand);border-bottom-color:var(--brand)}
.composer #pNote textarea{background:var(--note)}

aside .card{position:sticky;top:20px}
.side label{margin-bottom:12px}
aside .btn.danger{margin-top:2px}

/* Tabellen */
.tbl{width:100%;border-collapse:collapse;font-size:15px}
.tbl th{text-align:left;font-size:13px;color:var(--ink-2);font-weight:700;padding:10px;border-bottom:1px solid var(--line)}
.tbl td{padding:10px;border-bottom:1px solid var(--line-2);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl input[type=password],.tbl select{border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 9px;min-height:38px;max-width:170px;background:#fff}
.tbl tr.inactive td{opacity:.5}
.tbl input[type=checkbox]{width:20px;height:20px;accent-color:var(--brand)}

/* ---------- Anmeldung / Installation ---------- */
body.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--brand)}
body.auth .content{padding:0;max-width:none;display:grid;place-items:center}
.authbox{background:var(--surface);border-radius:20px;padding:34px 32px 30px;width:100%;max-width:420px;box-shadow:0 30px 80px rgba(40,6,18,.35)}
.authbrand{display:flex;gap:14px;align-items:center;margin-bottom:26px}
.authbrand img{width:52px;height:52px;border-radius:50%;object-fit:contain}
.authbrand small{display:block;font-size:13px;color:var(--ink-2)}
.authbrand b{display:block;font-size:24px;color:var(--brand)}
.authbox h1{margin-bottom:16px}
.checks{width:100%;margin-bottom:16px;border-collapse:collapse}
.checks td{padding:7px 0;border-bottom:1px solid var(--line-2)}
.ok{color:var(--st-erledigt);font-weight:700}
.bad{color:var(--st-offen);font-weight:700}

/* ---------- iPad hochkant & kleiner ---------- */
@media (max-width:1080px){
  body.app{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .rail{position:sticky;top:0;z-index:5;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 16px}
  .rail-brand small{display:none}
  .rail-brand img{width:34px;height:34px}
  .rail-new{order:2;margin-left:auto;padding:8px 14px}
  .rail-nav{order:3;flex-direction:row;width:100%;overflow-x:auto;gap:4px;scrollbar-width:none;margin:0 -4px}
  .rail-nav a{white-space:nowrap;padding:7px 11px;font-size:14px}
  .rail-sep{display:none}
  .rail-foot{order:1;margin:0;flex-direction:row;border:0;padding:0;align-items:center}
  .rail-foot > a:not(.rail-me){display:none}
  .rail-foot form{display:none}
  .content{padding:22px 20px 56px}
  .cols{grid-template-columns:1fr}
  aside .card{position:static}
  .filters input{width:220px}
}
@media (max-width:700px){
  .rail-foot > a.rail-me{font-size:0;padding:2px}
  .rail-me .av{font-size:12px}
  .tkrow{grid-template-columns:52px minmax(0,1fr);padding-right:14px}
  .num{font-size:19px}
  .tkside{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between}
  .grid2,.grid3,.grid4{grid-template-columns:1fr}
  .filters,.filters input{width:100%}
  .filters select{flex:1}
  .tkhead{flex-direction:column;gap:6px}
  .bignum{font-size:32px}
  .tkhead h1{font-size:22px}
  .ev{margin-left:0}
  .card{overflow-x:auto;padding:18px}
  .ctabs{margin:0 -18px 16px}
}

/* ===================== v3: OTRS-Funktionen ===================== */
.status.s-neu{color:#fff;background:var(--brand)}
.status.s-wartenzurerinnerung{color:#6B4FA0;background:#EFEAF7}
.status.s-zusammengefasst{color:var(--ink-3);background:var(--line-2)}
.rail-nav .dot.s-neu{background:#fff;opacity:1}
.dot.s-neu{background:var(--brand)} .dot.s-offen{background:var(--st-offen)} .dot.s-inbearbeitung{background:var(--st-arbeit)}
.dot.s-wartetaufantwort{background:var(--st-wartet)} .dot.s-wartenzurerinnerung{background:#6B4FA0} .dot.s-erledigt,.dot.s-zusammengefasst{background:var(--st-erledigt)}
i.dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}
.qname{font-weight:500;color:var(--ink)}
.lead{color:var(--ink-2);max-width:75ch;margin:-6px 0 20px}
code{background:var(--line-2);border-radius:5px;padding:1px 6px;font-size:14px}
.quick{display:flex;gap:10px;flex-wrap:wrap}
.btn.ghost{background:transparent}

/* Liste mit Auswahl */
.sheet li{display:grid;grid-template-columns:44px 1fr;align-items:stretch}
.sheet.compact li{grid-template-columns:1fr}
.sheet li.sel{background:var(--brand-tint)}
.sheet li.sel .tkrow:hover{background:transparent}
.ck{display:grid;place-items:center;cursor:pointer;border-right:1px solid transparent}
.ck input{width:19px;height:19px;accent-color:var(--brand);cursor:pointer;margin:0}
.sheet .tkrow{grid-template-columns:62px minmax(0,1fr) 240px;padding-left:0}
.sheet .tkrow::before{left:-44px}
.sheet li{position:relative}
.sheet.compact .tkrow{grid-template-columns:70px minmax(0,1fr) auto}
.sheet.compact .tkrow::before{left:0}
.sheet-head{display:flex;align-items:center;gap:0;font-size:13px;color:var(--ink-3);margin:0 0 6px;height:30px}
.sheet-head .ck{width:44px;height:30px}
.lk{width:14px;height:14px;margin-right:6px;vertical-align:-1px;fill:var(--ink-3);stroke:var(--ink-3);stroke-width:1.6}
.lk path{fill:none}
.bulkbar{position:sticky;bottom:16px;z-index:4;margin-top:16px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:12px 14px;box-shadow:0 12px 40px rgba(35,26,30,.3)}
.bulkbar b{margin-right:6px;font-size:15px}
.bulkbar select,.bulkbar input{background:#3A2E33;color:#fff;border:1px solid #574850;border-radius:var(--r-sm);padding:7px 9px;min-height:40px;font-size:14px}
.bulkbar input{width:180px}
.bulkbar input::placeholder{color:#B9AEB3}
.bulkbar .btn.primary{margin-left:auto;background:#fff;color:var(--brand);border-color:#fff}

/* Ticketkopf mit Sperre */
.tkhead-main{flex:1;min-width:0}
.lockbox{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;padding-top:6px}
.lockbox form{margin:0}
.lock{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--ink-3)}
.lock svg{width:15px;height:15px;fill:currentColor;stroke:currentColor;stroke-width:1.6}
.lock svg path{fill:none}
.lock.on{color:var(--brand);font-weight:700}
.lockmsg{background:var(--brand-tint);border-radius:var(--r);padding:16px 18px}
.lockmsg p{margin:0 0 12px}

.msgacts{display:flex;gap:16px;padding:0 16px 12px;font-size:14px}
.m-phone > .av{background:#E6F1EB;color:var(--st-erledigt)}
.m-phone .bubble{border-color:#C3DDCE}
.m-phone .tag{background:#E6F1EB;color:var(--st-erledigt)}
.composer #antwort{scroll-margin-top:80px}

/* Seitenleiste Ticket */
.custcard{padding:18px}
.custhead{display:flex;gap:12px;align-items:center}
.custhead b{display:block;font-size:17px}
.custhead a{display:block;font-size:14px;text-decoration:none;overflow-wrap:anywhere}
.av.big{width:44px;height:44px;font-size:15px}
.av.xl{width:64px;height:64px;font-size:22px}
.custnote{background:var(--note);border:1px solid var(--note-line);border-radius:var(--r-sm);padding:8px 10px;font-size:14px;margin:14px 0 0}
.custlink{display:inline-block;margin-top:12px;font-size:14px;font-weight:700;text-decoration:none}
.minihead{font-size:13px;font-weight:700;color:var(--ink-2);margin:16px 0 6px}
.tools .minihead:first-child,.custcard .minihead:first-child{margin-top:0}
.minilist{list-style:none;margin:0;padding:0;font-size:14px}
.minilist li{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid var(--line-2)}
.minilist li:last-child{border-bottom:0}
.minilist a{flex:1;min-width:0;text-decoration:none;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.minilist .nr{font-weight:700;color:var(--brand);margin-right:4px}
.minilist form{margin:0}
.x{border:0;background:none;color:var(--ink-3);font-size:20px;line-height:1;cursor:pointer;padding:0 4px}
.x:hover{color:var(--st-offen)}
.inlineform{display:flex;gap:6px;margin-top:8px}
.inlineform input{flex:1;min-width:0;border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 10px;min-height:36px;font-size:14px}
.tools{padding:18px}
aside .card{position:static}
aside .card + .card, aside .card + form{margin-top:0}
.grid2.tight{gap:0 10px}
.more-contact{margin:4px 0 14px;font-size:14px}
.more-contact summary{cursor:pointer;color:var(--brand);font-weight:700;margin-bottom:10px}

/* Neues Ticket */
.seg{display:inline-flex;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:3px}
.seg a{padding:7px 14px;border-radius:var(--r-sm);text-decoration:none;color:var(--ink-2);font-weight:500}
.seg a.on{background:var(--brand);color:#fff}
.cardtitle{font-size:16px;margin:0 0 14px}
.newform{max-width:980px}

/* Dashboard */
.dash{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:18px;align-items:start}
.dblock{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}
.dblock.wide{grid-column:1/-1}
.dblock > header{display:flex;align-items:baseline;justify-content:space-between;padding:16px 18px 10px}
.dblock h2{margin:0;font-size:17px;display:flex;gap:8px;align-items:baseline}
.dblock h2 .count{font-size:14px}
.dblock > header a{font-size:14px;text-decoration:none;font-weight:500}
.dblock ul{list-style:none;margin:0;padding:0}
.dblock li + li{border-top:1px solid var(--line-2)}
.drow{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 18px;text-decoration:none;color:var(--ink);position:relative}
.drow:hover{background:#FAFAFB}
.drow::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0}
.drow.prio-dringend::before{background:var(--st-offen)}
.drow.prio-hoch::before{background:#E09A2D}
.drow .nr{font-weight:700;color:var(--brand);text-align:right;margin:0}
.dmain{min-width:0;display:flex;flex-direction:column}
.dmain b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dmain small{color:var(--ink-3);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dside{font-size:13px;color:var(--ink-2);white-space:nowrap}
.dside .soon{color:#6B4FA0;font-weight:700}
.dempty{color:var(--ink-3);padding:4px 18px 18px;margin:0;font-size:15px}
.qtable{width:100%;border-collapse:collapse;font-size:15px}
.qtable th{font-size:13px;color:var(--ink-2);text-align:right;padding:8px 18px;border-bottom:1px solid var(--line);font-weight:700}
.qtable td{padding:10px 18px;border-bottom:1px solid var(--line-2);text-align:right}
.qtable th:first-child,.qtable td:first-child{text-align:left}
.qtable tr:last-child td{border-bottom:0}
.qtable a{font-weight:700;text-decoration:none}
.qtable .zero{color:var(--ink-3)}
.qtable .hot{color:var(--brand);font-weight:700}

/* Kundenkartei & Verwaltung */
.card.flush{padding:0;overflow:hidden}
.ctbl tbody tr{cursor:pointer}
.ctbl tbody tr:hover{background:#FAFAFB}
.ctbl th:first-child,.ctbl td:first-child{padding-left:18px}
.cname{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:500}
.openn{font-size:12px;font-weight:700;color:var(--brand);background:var(--brand-tint);border-radius:999px;padding:1px 8px;margin-left:4px}
.custpage .custhead{gap:16px}
.custpage .custhead h1{margin:0}
.tbl input:not([type=checkbox]):not([type=radio]){border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 9px;min-height:38px;width:100%;background:#fff}
.tbl input.w60{width:70px}
.tbl input[type=radio]{width:18px;height:18px;accent-color:var(--brand)}
.end.pad{padding:14px 18px;border-top:1px solid var(--line-2)}
.danger-t{color:var(--st-offen)}
.tpllist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.tpllist a{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;text-decoration:none;color:var(--ink)}
.tpllist a:hover{border-color:var(--ink-3)}
.tpllist li.on a{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}
.tpllist b{display:block}
.tpllist .muted{font-size:13px}
.tpllist .prev{display:block;font-size:14px;color:var(--ink-2);margin-top:4px}
.tplcols{grid-template-columns:minmax(0,1fr) 440px}

@media (max-width:1080px){
  .rail-nav .rail-sep{display:none}
  .dash{grid-template-columns:1fr}
  .tplcols{grid-template-columns:1fr}
  .tplcols aside{order:0}
}
@media (max-width:700px){
  .sheet .tkrow{grid-template-columns:44px minmax(0,1fr);padding-right:12px}
  .bulkbar{bottom:8px}
  .bulkbar select,.bulkbar input{flex:1 1 40%}
  .lockbox{justify-content:flex-start}
  .tkhead{flex-wrap:wrap}
  .qtable th,.qtable td{padding:8px 10px}
  .ctbl th:nth-child(2),.ctbl td:nth-child(2),.ctbl th:nth-child(5),.ctbl td:nth-child(5){display:none}
}

.sheet li.sel .av{background:#fff}

/* ===================== Logo ===================== */
.rail-brand{flex-direction:column;align-items:stretch;gap:8px;padding:0}
.logo-plate{display:block;background:#fff;border-radius:14px;padding:8px 14px}
.logo-plate img{display:block;width:100%;max-width:128px;height:auto;margin:0 auto;border-radius:0;background:none;padding:0}
.rail-brand > b{font-size:14px;font-weight:500;opacity:.8;text-align:center;letter-spacing:.02em}
.authlogo{text-align:center;margin:-6px 0 22px}
.authlogo img{width:190px;height:auto;display:block;margin:0 auto 6px}
.authlogo b{display:block;font-size:17px;font-weight:500;color:var(--ink-2)}
@media (max-width:1080px){
  .rail-brand{flex-direction:row;align-items:center;gap:10px}
  .logo-plate{padding:4px 8px;border-radius:10px}
  .logo-plate img{width:auto;height:40px;max-width:none}
  .rail-brand > b{font-size:16px;font-weight:700;opacity:1}
}
@media (max-width:700px){ .rail-brand > b{display:none} }

/* Versionsanzeige */
.rail-ver{display:block;font-size:12px;opacity:.55;padding:8px 10px 0}
.authver{text-align:center;font-size:12px;color:var(--ink-3);margin:18px 0 0}
@media (max-width:1080px){ .rail-ver{display:none} }
