:root{
  --merch:#CFD600;--sports:#C11F66;--textil:#006A78;--technik:#132C3F;--marketing:#7556A4;--more:#D9782D;
  --bg:#F5F7F8;--card:#FFFFFF;--ink:#132C3F;--muted:#5B6B78;--line:#DDE3E7;--soft:#EEF3F4;
  --ok:#2E8B57;--warn:#C98A00;--crit:#C0392B;--radius:10px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.45}
a{color:var(--textil)}
button,input,select,textarea{font:inherit;color:inherit}
.center{display:flex;align-items:center;justify-content:center;min-height:60vh}
.muted{color:var(--muted)} .small{font-size:13px} .right{text-align:right} .nowrap{white-space:nowrap}
.stripe{height:6px;display:flex}.stripe i{flex:1}
.stripe i:nth-child(1){background:var(--merch)}.stripe i:nth-child(2){background:var(--sports)}.stripe i:nth-child(3){background:var(--textil)}
.stripe i:nth-child(4){background:var(--technik)}.stripe i:nth-child(5){background:var(--marketing)}.stripe i:nth-child(6){background:var(--more)}
header.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
header.top .bar{display:flex;align-items:center;gap:18px;padding:10px 20px;flex-wrap:wrap}
.brand{font-weight:800;font-size:18px;letter-spacing:-.2px;color:var(--technik);text-decoration:none;white-space:nowrap}
.brand span{color:var(--textil)}
nav.main{display:flex;gap:4px;flex-wrap:wrap;flex:1}
nav.main a{padding:7px 12px;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:500}
nav.main a:hover{background:var(--soft)} nav.main a.active{background:var(--textil);color:#fff}
.who{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--muted)}
main{padding:20px;max-width:1500px;margin:0 auto}
h1{font-size:24px;margin:4px 0 16px} h2{font-size:18px;margin:0 0 12px} h3{font-size:15px;margin:0 0 8px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:16px}
.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.g2,.g3,.g4{grid-template-columns:1fr}}
.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;padding:7px 13px;border-radius:8px;cursor:pointer;font-weight:600;text-decoration:none;color:var(--ink)}
.btn:hover{border-color:var(--textil)} .btn.primary{background:var(--textil);border-color:var(--textil);color:#fff}
.btn.danger{color:var(--crit)} .btn.small{padding:4px 9px;font-size:13px} .btn:disabled{opacity:.5;cursor:not-allowed}
.btn.pink{background:var(--sports);border-color:var(--sports);color:#fff}
label.f{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--technik);font-weight:700;letter-spacing:.1px}
label.f .hint{font-weight:400;color:var(--muted);font-size:12px}
label.f .req{color:var(--sports);margin-left:2px}
label.f.inline{flex-direction:row;align-items:center;gap:8px}
input[type=text],input[type=password],input[type=number],input[type=date],input[type=email],input[type=tel],input[type=search],select,textarea{--fc:var(--textil);border:1.5px solid color-mix(in srgb,var(--fc) 22%,#fff);border-radius:9px;padding:9px 11px;background:color-mix(in srgb,var(--fc) 7%,#fff);color:var(--ink);font-weight:500;width:100%;transition:background .15s,border-color .15s,box-shadow .15s}
input::placeholder,textarea::placeholder{color:#8A99A5;font-weight:400}
input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--fc) 45%,#fff)}
input:focus,select:focus,textarea:focus{outline:none;background:#fff;border-color:var(--fc);box-shadow:0 0 0 3px color-mix(in srgb,var(--fc) 18%,transparent)}
form .fsec input[placeholder]:not(:placeholder-shown),form .fsec textarea[placeholder]:not(:placeholder-shown){background:#fff;border-color:color-mix(in srgb,var(--fc) 55%,#fff);box-shadow:inset 3px 0 0 var(--fc)}
input:required:invalid:not(:placeholder-shown){border-color:var(--crit)}
textarea{min-height:70px;resize:vertical}
.form{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.form .wide{grid-column:1/-1}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.end{justify-content:flex-end}.sp{flex:1}
table{width:100%;border-collapse:collapse} th,td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:700}
td input,td select{min-width:70px}
.chip{display:inline-block;padding:2px 9px;border-radius:99px;font-size:12px;font-weight:700;color:#fff;white-space:nowrap}
.st-neu{background:var(--more)}.st-front_office{background:var(--marketing)}.st-warten_ware{background:var(--merch);color:var(--technik)}
.st-bereit{background:var(--textil)}.st-in_veredelung{background:var(--sports)}.st-kontrolle{background:var(--technik)}
.st-versandbereit{background:#2B8C9A}.st-ausgeliefert{background:var(--ok)}.st-abgerechnet{background:#8A97A1}.st-storniert{background:#B9C2C8}
.flag{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:6px;margin:2px 4px 2px 0}
.flag.crit{background:#FBE5E2;color:var(--crit)} .flag.warn{background:#FFF3D6;color:#8A5C00}
.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:12px;overflow-x:auto;padding-bottom:12px}
.col{background:#EAF0F2;border-radius:var(--radius);padding:10px;min-height:200px}
.col h3{display:flex;justify-content:space-between;align-items:center;margin:2px 4px 10px}
.jc{background:#fff;border:1px solid var(--line);border-left:5px solid var(--textil);border-radius:8px;padding:10px;margin-bottom:9px;cursor:pointer;display:block;text-decoration:none;color:var(--ink)}
.jc:hover{box-shadow:0 2px 10px rgba(19,44,63,.08)} .jc.crit{border-left-color:var(--crit)} .jc.warn{border-left-color:var(--warn)}
.jc .no{font-size:12px;font-weight:700;color:var(--muted)} .jc .nm{font-weight:700;margin:2px 0}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.tile{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px;border-top:5px solid var(--textil)}
.tile .n{font-size:30px;font-weight:800;line-height:1.1} .tile .l{font-size:13px;color:var(--muted);font-weight:600}
.tile.t1{border-top-color:var(--more)}.tile.t2{border-top-color:var(--crit)}.tile.t3{border-top-color:var(--sports)}.tile.t4{border-top-color:var(--ok)}.tile.t5{border-top-color:var(--marketing)}.tile.t6{border-top-color:var(--merch)}
.cap td{vertical-align:middle}.cbar{height:18px;background:var(--soft);border-radius:5px;position:relative;overflow:hidden;min-width:80px}
.cbar i{position:absolute;left:0;top:0;bottom:0;border-radius:5px}.cbar span{position:relative;font-size:11px;font-weight:700;padding-left:6px;line-height:18px}
.g-ok{background:#8FD3A8}.g-warn{background:#F5CF66}.g-crit{background:#EE8E83}
.pos{border:1px solid var(--line);border-radius:var(--radius);padding:12px;margin-bottom:12px;background:#FBFCFC}
.deco{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;align-items:end;padding:8px;border:1px dashed var(--line);border-radius:8px;margin-top:8px;background:#fff}
.mock{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:8px}
.mock svg{width:100%;height:auto;display:block}
.issues{background:#FFF7E6;border:1px solid #F3D99B;border-radius:8px;padding:10px 14px;margin:10px 0}
.issues ul{margin:6px 0 0 18px;padding:0}
.ok-box{background:#E8F5EE;border:1px solid #B7DEC7;border-radius:8px;padding:10px 14px;margin:10px 0;color:#1E6B42;font-weight:600}
.log{max-height:360px;overflow:auto;font-size:13px}.log div{padding:5px 0;border-bottom:1px solid var(--soft)}
.files{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.file{border:1px solid var(--line);border-radius:8px;padding:8px;font-size:12px;background:#fff;word-break:break-word}
.file img{width:100%;height:90px;object-fit:contain;background:repeating-conic-gradient(#f0f0f0 0 25%,#fff 0 50%) 0/14px 14px;border-radius:5px}
.login{max-width:400px;margin:8vh auto;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.login .in{padding:26px}
.toast{position:fixed;right:20px;bottom:20px;background:var(--technik);color:#fff;padding:11px 16px;border-radius:9px;z-index:99;max-width:420px;box-shadow:0 6px 24px rgba(0,0,0,.18)}
.toast.err{background:var(--crit)}
.tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.tabs a{padding:6px 12px;border-radius:8px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:600}
.tabs a.active{background:var(--technik);color:#fff;border-color:var(--technik)}
.money td.r,.money th.r{text-align:right;font-variant-numeric:tabular-nums}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:14px}.kv b{color:var(--muted);font-weight:600}
.code{font-family:ui-monospace,Menlo,Consolas,monospace;background:var(--soft);padding:8px 10px;border-radius:6px;word-break:break-all;font-size:13px}
/* Druck */
.print{background:#fff;max-width:900px;margin:0 auto;padding:30px;color:#132C3F}
.print .head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid var(--textil);padding-bottom:12px;margin-bottom:18px}
.print .logo{font-size:28px;font-weight:800}.print .logo span{color:var(--textil)}
.print table th{color:#132C3F}
.noprint{}
@media print{header.top,.noprint{display:none!important} body{background:#fff} main{padding:0} .print{padding:0;max-width:none} .card{border:none;padding:0}}
/* Benutzerverwaltung & Profil */
.flag{background:var(--soft);color:var(--muted)} .flag.ok{background:#E8F5EE;color:#1E6B42}
div.f{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:6px 14px;font-weight:500;color:var(--ink)}
label.cbx{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--ink);font-weight:500;cursor:pointer}
label.cbx input{width:auto;margin:0}
.ufilter{gap:10px;margin-bottom:12px;flex-wrap:wrap;align-items:center}.ufilter input[type=search]{flex:1;min-width:220px}.ufilter select{width:auto}
.utable tr.click{cursor:pointer}.utable tr.click:hover td{background:var(--soft)}.utable tr.inactive td{opacity:.55}
.uedit{border:2px solid var(--textil)}
.row.wrap{flex-wrap:wrap;gap:8px}
.ulog{list-style:none;margin:6px 0 0;padding:0;font-size:13px;max-height:260px;overflow:auto}
.ulog li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--soft)}.ulog small{color:var(--muted);white-space:nowrap}
.pwm{display:flex;flex-direction:column;gap:4px}.pwm i{display:block;height:6px;border-radius:4px;background:var(--soft);position:relative;overflow:hidden}
.pwm i:after{content:"";position:absolute;left:0;top:0;bottom:0;width:0;transition:width .2s,background .2s}
.pwm[data-s="1"] i:after{width:25%;background:#C11F66}.pwm[data-s="2"] i:after{width:55%;background:#D9782D}.pwm[data-s="3"] i:after{width:80%;background:#9bb800}.pwm[data-s="4"] i:after{width:100%;background:#2e9e57}
.inq.neu{border-left:4px solid var(--merch,#CFD600)}.inq.erledigt,.inq.abgelehnt{opacity:.7}
/* Zeiterfassung */
.tpill{display:inline-flex;align-items:center;gap:6px;background:#132C3F;color:#fff!important;text-decoration:none;border-radius:999px;padding:4px 10px 4px 8px;font-size:12px;margin-right:8px;font-weight:600}
.tpill i{width:8px;height:8px;border-radius:50%;background:#CFD600;box-shadow:0 0 0 0 rgba(207,214,0,.7);animation:tp 1.6s infinite}
.tpill b{font-variant-numeric:tabular-nums;color:#CFD600}
@keyframes tp{0%{box-shadow:0 0 0 0 rgba(207,214,0,.7)}70%{box-shadow:0 0 0 7px rgba(207,214,0,0)}100%{box-shadow:0 0 0 0 rgba(207,214,0,0)}}
.tcard{border-top:4px solid var(--textil)}
.tbig{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:16px 10px 14px;margin:10px 0;border-radius:14px;background:var(--soft)}
.tbig.on{background:#132C3F;color:#fff}.tbig.on .small{color:#c5ced6}
.tclock{font-size:38px;font-weight:800;letter-spacing:.5px;font-variant-numeric:tabular-nums;line-height:1.1}
.tbig.on .tclock{color:#CFD600}.tclock.idle{font-size:28px;color:var(--ink)}
.tbtn{margin-top:10px;border:0;border-radius:999px;padding:14px 38px;font-size:18px;font-weight:800;cursor:pointer;letter-spacing:.5px;font-family:inherit}
.tbtn.start{background:#CFD600;color:#132C3F;box-shadow:0 6px 18px rgba(207,214,0,.45)}
.tbtn.stop{background:#C11F66;color:#fff;box-shadow:0 6px 18px rgba(193,31,102,.45)}
.tbtn:hover{transform:translateY(-1px)}
.tprog{position:relative;height:12px;border-radius:8px;background:var(--soft);overflow:visible;margin:6px 0 4px}
.tprog i{display:block;height:100%;border-radius:8px;background:#2e9e57}.tprog.warn i{background:#e3a400}.tprog.crit i{background:#C11F66}
.tprog b{position:absolute;top:-3px;bottom:-3px;width:2px;background:#132C3F}
.c-ok,.c-im{color:#2e9e57}.c-warn,.c-ueber{color:#c08a00}.c-crit,.c-deutlich{color:#C11F66}.c-unter{color:#006A78}.c-ohne{color:var(--muted)}
.tse{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin:10px 0 6px}.tse div{background:var(--soft);border-radius:8px;padding:6px 9px}.tse small{display:block;color:var(--muted);font-size:11px}.tse b{font-size:13px}
.tl-wrap{margin-top:8px}.tl-day{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:8px;margin:6px 0}
.tl-lbl{font-size:11px;font-weight:700;color:var(--muted)}
.tl-track{position:relative;height:22px;border-radius:6px;background:repeating-linear-gradient(90deg,var(--soft) 0 1px,transparent 1px 100%);background-color:#f8fafb;border:1px solid var(--line)}
.tl-h{position:absolute;top:-14px;font-size:9px;color:var(--muted);transform:translateX(-50%)}
.tl-seg{position:absolute;top:3px;bottom:3px;border-radius:4px;opacity:.92}.tl-seg.live{animation:tlp 1.4s infinite}.tl-seg.corr{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.35) 0 3px,transparent 3px 6px)!important}
@keyframes tlp{50%{opacity:.55}}
.tl-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:var(--muted);margin-top:4px}.tl-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}
.tdet{margin-top:8px}.tdet summary{cursor:pointer;font-size:13px;font-weight:600}
.tlist{list-style:none;margin:6px 0 0;padding:0;font-size:12.5px}.tlist li{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--soft)}
.tdot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#CFD600;animation:tp 1.6s infinite;vertical-align:1px}
.mini{height:5px;border-radius:4px;background:var(--soft);margin-top:6px;overflow:hidden}.mini i{display:block;height:100%;background:#2e9e57}.mini.warn i{background:#e3a400}.mini.crit i{background:#C11F66}
.chip.gst-neu{background:#eef2f5;color:#132C3F}.chip.gst-in_arbeit{background:#e0f1f3;color:#006A78}.chip.gst-korrektur{background:#fdeee5;color:#b5601f}.chip.gst-freigabe{background:#efeaf7;color:#7556A4}.chip.gst-fertig{background:#e5f4ea;color:#1E6B42}.chip.gst-abgerechnet{background:#132C3F;color:#fff}.chip.gst-storniert{background:#f3f3f3;color:#888}
/* Chef-Übersicht */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0 6px}@media(max-width:900px){.kpis{grid-template-columns:1fr 1fr}}
.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}.kpi small{display:block;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.kpi>b{display:block;font-size:22px;margin:4px 0 2px}.kpi span{font-size:12px;color:var(--muted)}
.kpi.split{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;align-items:center}.kpi.split b{font-size:24px;display:block}.kpi.split span{font-size:11px}
.sitab td{vertical-align:middle}
.sibar{position:relative;height:10px;border-radius:6px;background:var(--soft)}.sibar i{display:block;height:100%;border-radius:6px;background:#2e9e57}
.sibar b{position:absolute;top:-3px;bottom:-3px;width:2px;background:#132C3F}
.sibar.c-unter i{background:#006A78}.sibar.c-ueber i{background:#e3a400}.sibar.c-deutlich i{background:#C11F66}
.ctag{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--soft);white-space:nowrap}.ctag.c-im{background:#e5f4ea}.ctag.c-unter{background:#e0f1f3}.ctag.c-ueber{background:#fff3d6}.ctag.c-deutlich{background:#fbe5ee}
.prop{border-top:4px solid #7556A4}
.c-laeuft{color:var(--muted)}.ctag.c-laeuft{background:#eef2f5}.sibar.c-laeuft i{background:#9fb3c4}
.tpill[hidden]{display:none!important}

/* Formular-Abschnitte */
.fsec{--fc:var(--textil);border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:14px;overflow:hidden}
.fsec>.fh{display:flex;align-items:center;gap:12px;padding:12px 16px;background:color-mix(in srgb,var(--fc) 9%,#fff);border-bottom:1px solid color-mix(in srgb,var(--fc) 20%,#fff)}
.fsec>.fh .no{width:28px;height:28px;border-radius:50%;background:var(--fc);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex:none}
.fsec>.fh b{font-size:15px;color:var(--technik)} .fsec>.fh span{font-size:12.5px;color:var(--muted)}
.fsec>.fb{padding:16px;display:grid;gap:14px 16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.fsec>.fb .wide{grid-column:1/-1}
.fsec.c-textil{--fc:var(--textil)}.fsec.c-marketing{--fc:var(--marketing)}.fsec.c-more{--fc:var(--more)}.fsec.c-sports{--fc:var(--sports)}.fsec.c-technik{--fc:var(--technik)}
.fsec label.f input,.fsec label.f select,.fsec label.f textarea{--fc:var(--secfc)}
.fsec{--secfc:var(--fc)}
.fsteps{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 14px}
.fsteps i{font-style:normal;font-size:12.5px;font-weight:700;padding:5px 11px;border-radius:99px;background:#fff;border:1px solid var(--line);color:var(--muted)}
.fsteps i b{display:inline-block;width:18px;height:18px;line-height:18px;text-align:center;border-radius:50%;color:#fff;margin-right:6px;font-size:11px}
.factions{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px;position:sticky;bottom:10px;box-shadow:0 6px 20px rgba(19,44,63,.08)}
.btn.big{padding:11px 20px;font-size:15px;border-radius:10px}
.lt{display:block}
/* Job-Seite: Ablauf-Stepper, Speicherstatus, Pflichtfelder */
.statusbox{padding:16px 18px}
.stepper{display:flex;gap:4px;overflow-x:auto;padding-bottom:4px;margin-bottom:14px}
.stp{flex:1 1 0;min-width:92px;display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;padding:6px 2px;cursor:default;position:relative;font:inherit;color:var(--muted)}
.stp[data-act]{cursor:pointer}.stp[data-act]:hover .dot{border-color:var(--textil);color:var(--textil)}
.stp:not(:last-child)::after{content:"";position:absolute;top:20px;left:calc(50% + 17px);right:calc(-50% + 17px);height:3px;border-radius:2px;background:var(--line)}
.stp.done:not(:last-child)::after{background:var(--marketing)}
.stp .dot{width:30px;height:30px;border-radius:50%;border:2px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;z-index:1}
.stp.done .dot{background:var(--marketing);border-color:var(--marketing);color:#fff}
.stp.cur .dot{background:var(--textil);border-color:var(--textil);color:#fff;box-shadow:0 0 0 5px color-mix(in srgb,var(--textil) 20%,transparent)}
.stp .sl{font-size:12px;line-height:1.2;text-align:center}
.stp.cur .sl{color:var(--ink);font-weight:800}.stp.done .sl{color:var(--ink)}
.nowbox{display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:color-mix(in srgb,var(--textil) 7%,#fff);border:1px solid color-mix(in srgb,var(--textil) 22%,#fff);border-radius:12px;padding:12px 16px}
.nowtxt{flex:1 1 320px}.nowbtn{display:flex;gap:8px;flex-wrap:wrap}
.danger-link{color:#B42318;margin-left:8px}
.saved{font-size:13px;font-weight:700;padding:5px 10px;border-radius:99px;white-space:nowrap}
.saved.ok{background:#E8F5EE;color:#1E6B42}.saved.busy{background:#FFF7E6;color:#8A5A00}.saved.err{background:#FDECEC;color:#B42318}
.pfl{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;background:#FDECEC;color:#B42318;border-radius:5px;padding:1px 6px;vertical-align:1px}
label.f.rq:not(.miss) .pfl{background:#E8F5EE;color:#1E6B42}
label.f.miss input,label.f.miss select,label.f.miss textarea{border-color:#E5484D!important;background:#FFF5F5!important}
.kopf .fsec{margin-top:12px}
details.more{margin-top:4px;border:1px dashed var(--line);border-radius:10px;padding:8px 14px}
details.more summary{cursor:pointer;font-weight:600;color:var(--muted)}
/* Übersicht: Phasen + Tabelle */
.phases{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.ph{display:flex;flex-direction:column;align-items:flex-start;min-width:108px;padding:8px 12px;border-radius:10px;border:1.5px solid var(--line);background:#fff;text-decoration:none;color:var(--ink)}
.ph b{font-size:22px;line-height:1.1}.ph span{font-size:12px;color:var(--muted)}
.ph:hover{border-color:var(--textil)}.ph.on{border-color:var(--textil);background:color-mix(in srgb,var(--textil) 10%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--textil) 15%,transparent)}
.ph.zero{opacity:.55}
.otab{width:100%;border-collapse:collapse}.otab th{text-align:left;font-size:12.5px;white-space:nowrap}.otab th a{color:var(--muted);text-decoration:none}.otab th a.on{color:var(--ink)}
.otab td{vertical-align:top;padding:9px 8px;border-top:1px solid var(--line)}.otab tr[data-href]{cursor:pointer}.otab tr[data-href]:hover td{background:#F6F9FA}
.otab tr.r-crit td{background:#FFF5F5}.otab tr.r-warn td{background:#FFFBF0}
.otab .jn{color:var(--ink)}.late{color:#B42318;font-weight:700}.miss-txt{color:#B42318;font-weight:600}
details.capbox summary{cursor:pointer;list-style:none}details.capbox summary::-webkit-details-marker{display:none}
details.capbox summary::before{content:"▸ ";color:var(--muted)}details.capbox[open] summary::before{content:"▾ "}
select.own{min-width:150px;padding:6px 8px;font-size:13.5px}select.own.none{border-color:#E5484D;background:#FFF5F5;color:#B42318;font-weight:700}
.own-ok{color:var(--ink);font-weight:600}
.otab td.cdh{font-size:12px;line-height:1.5;white-space:nowrap;color:var(--ink)}.otab td.cdh .k{color:var(--muted);display:inline-block;min-width:38px}.otab td.cdh .no{color:#B42318;font-weight:700}
.people{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:14px 0 4px}
.pp{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border-radius:99px;border:1.5px solid var(--line);background:#fff;text-decoration:none;color:var(--ink);font-size:13.5px;font-weight:600}
.pp b{background:#EEF2F4;border-radius:99px;padding:1px 8px;font-size:12px}
.pp:hover{border-color:var(--textil)}.pp.on{border-color:var(--textil);background:color-mix(in srgb,var(--textil) 10%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--textil) 15%,transparent)}
.pp .av{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:800;color:#fff;background:hsl(var(--h) 55% 42%)}
.pp .av.all{background:var(--technik)}.pp .av.none{background:#E5484D}
.pp.warn{border-color:#F5B5B7;color:#B42318}
.archbar{background:#EEF2F4;border:1px solid var(--line);border-radius:10px;padding:9px 14px;margin:8px 0;font-weight:600}
.quick{border-top:4px solid var(--merch,#C8D400);background:color-mix(in srgb,var(--textil) 4%,#fff)}
.qgrid{display:grid;gap:12px 14px;margin-top:12px;grid-template-columns:2fr 1.4fr 1.3fr 1fr .9fr .9fr}
.qgrid .q-what{grid-column:1/2}.qgrid .q-note{grid-column:1/4}.qgrid .q-btns{grid-column:4/-1;display:flex;gap:8px;align-items:flex-end;justify-content:flex-end}
@media(max-width:1000px){.qgrid{grid-template-columns:1fr 1fr}.qgrid .q-what,.qgrid .q-note,.qgrid .q-btns{grid-column:1/-1}}
/* Wareneingang */
.wsearch{font-size:18px;padding:14px 16px;border-radius:12px}
.wlist{display:grid;gap:10px}
.wcard{display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-left:5px solid var(--more);border-radius:12px;padding:12px 16px}
.wmain{flex:1 1 380px;min-width:0}.wtop{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.wtop .no{font-weight:800}.wtop .cust{font-weight:600}
.wart{font-size:17px;margin:3px 0}
.wbtns{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.btn.wok{background:#1E8E4F;border-color:#1E8E4F;color:#fff;font-size:17px;font-weight:800;padding:12px 22px;border-radius:12px}
.btn.wok:hover{background:#17733F}
@media(max-width:700px){.wbtns{width:100%}.btn.wok{flex:1}}
.ubox{border-top:4px solid var(--more)}
.ucard{display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:#FFFBF0;border:1px solid #F3D99B;border-left:5px solid #E8A317;border-radius:12px;padding:12px 16px}
.ubanner{display:block;background:#FFF7E6;border:1.5px solid #E8A317;color:#7A4B00;border-radius:12px;padding:12px 16px;margin:0 0 14px;text-decoration:none;font-size:15px}
.ubanner:hover{background:#FFEFCC}
.qgrid[hidden]{display:none}
.lockbar{background:#EEF2F4;border:1.5px solid var(--technik);border-radius:10px;padding:10px 14px;margin-top:10px}
.caplink{border-top:4px solid var(--merch)}
