*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --teal:#0a7c6e;--tm:#0d9e8d;--tl:#e6f4f2;--td:#085041;
  --dark:#1a2332;--adm:#1a1040;--adm2:#4527a0;--adl:#ede7f6;
  --bg:#f4f6f9;--card:#fff;--sec:#f0f2f5;
  --b:rgba(0,0,0,.09);--bm:rgba(0,0,0,.13);
  --t1:#1a2332;--t2:#4a5568;--t3:#8a93a0;
  --red:#e24b4a;--rl:#fcebeb;--amb:#ef9f27;--al:#faeeda;
  --grn:#1d9e75;--gl:#eaf3de;--blue:#378add;--bl:#e6f1fb;
  --font:'DM Sans',sans-serif;--mono:'DM Mono',monospace;
  --r:10px;--rl2:14px;
}
body{font-family:var(--font);background:var(--bg);color:var(--t1);min-height:100vh;font-size:14px;}
button,input,select,textarea{font-family:var(--font);}

/* ══ UTILS ══ */
.card{background:var(--card);border:1px solid var(--b);border-radius:var(--rl2);padding:20px;}
.card-sm{background:var(--card);border:1px solid var(--b);border-radius:var(--r);padding:14px 16px;}
.card-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.ct{font-size:13px;font-weight:600;color:var(--t1);display:flex;align-items:center;gap:7px;}
.chip{display:inline-flex;align-items:center;font-size:11px;font-weight:500;padding:3px 9px;border-radius:20px;}
.ct2{background:var(--tl);color:var(--td);}
.cr{background:var(--rl);color:#a32d2d;}
.ca{background:var(--al);color:#854f0b;}
.cg{background:var(--gl);color:#3b6d11;}
.cgy{background:var(--sec);color:var(--t2);}
.cp{background:var(--adl);color:#4527a0;}
.cb{background:var(--bl);color:#0c447c;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:500;padding:7px 14px;border-radius:var(--r);border:1px solid var(--bm);background:var(--card);color:var(--t1);cursor:pointer;transition:all .15s;}
.btn:hover{background:var(--sec);}
.btn.p{background:var(--teal);color:#fff;border-color:var(--teal);}
.btn.p:hover{background:var(--tm);}
.btn.ap{background:var(--adm2);color:#fff;border-color:var(--adm2);}
.btn.ap:hover{background:#311b92;}
.btn.bp{background:var(--blue);color:#fff;border-color:var(--blue);}
.btn.bp:hover{background:#2070c0;}
.btn.gp{background:var(--grn);color:#fff;border-color:var(--grn);}
.btn.gp:hover{background:#0f6e56;}
.btn.dng{color:#a32d2d;border-color:#f0c0c0;}
.btn.dng:hover{background:var(--rl);}
.btn.sm{font-size:11px;padding:4px 10px;}
.btn.ghost{border:none;background:transparent;color:var(--t3);padding:5px 8px;}
.btn.ghost:hover{background:var(--sec);color:var(--t1);}
.fg{display:flex;flex-direction:column;gap:5px;}
.fl{font-size:12px;font-weight:500;color:var(--t2);}
.fl .req{color:var(--red);}
.fi,.fs,.fta{font-family:var(--font);font-size:13px;padding:9px 12px;border-radius:var(--r);border:1px solid var(--bm);background:var(--card);color:var(--t1);width:100%;transition:border-color .15s;}
.fi:focus,.fs:focus,.fta:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(10,124,110,.1);}
.fta{resize:vertical;min-height:72px;}
.fs{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5l3 3 3-3' stroke='%238a93a0' stroke-width='1.2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px;}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.av{display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;color:#fff;flex-shrink:0;}
.av-xs{width:22px;height:22px;font-size:8px;}
.av-sm{width:30px;height:30px;font-size:11px;}
.av-md{width:38px;height:38px;font-size:14px;}
.av-lg{width:52px;height:52px;font-size:18px;}
.av-xl{width:80px;height:80px;font-size:28px;}
.mono{font-family:var(--mono);}
.pw{height:6px;background:var(--sec);border-radius:3px;overflow:hidden;}
.pf{height:100%;border-radius:3px;background:var(--teal);}
.divider{height:1px;background:var(--b);margin:14px 0;}
.mt4{margin-top:4px;}.mt8{margin-top:8px;}.mt12{margin-top:12px;}.mt16{margin-top:16px;}.mt20{margin-top:20px;}
.mb8{margin-bottom:8px;}.mb12{margin-bottom:12px;}.mb16{margin-bottom:16px;}.mb20{margin-bottom:20px;}
.tbl{width:100%;border-collapse:collapse;}
.tbl th{font-size:11px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.06em;padding:9px 13px;background:var(--sec);text-align:left;border-bottom:1px solid var(--b);}
.tbl td{padding:10px 13px;border-bottom:1px solid var(--b);font-size:13px;vertical-align:middle;}
.tbl tr:last-child td{border-bottom:none;}
.tbl tr:hover td{background:#fafbfc;}
.nbadge{font-size:9px;font-weight:700;background:var(--red);color:#fff;padding:1px 5px;border-radius:20px;margin-left:5px;}

/* ══════════════════════════════════
   LOGIN – Neues Design aus Screenshot
══════════════════════════════════ */
#login-page{
  min-height:100vh;display:flex;align-items:stretch;
  background:linear-gradient(140deg,#0d1e2e 0%,#0f2d2a 40%,#0a1a2e 100%);
  position:relative;overflow:hidden;
}
#login-page::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 30% 60%,rgba(13,158,141,.12) 0%,transparent 60%),
             radial-gradient(ellipse at 80% 20%,rgba(10,124,110,.08) 0%,transparent 50%);
  pointer-events:none;
}
.login-left{
  flex:1;display:flex;flex-direction:column;align-items:center;
  justify-content:center;padding:48px 40px;
  position:relative;z-index:1;
}
/* SIMA Logo Block */
.sima-logo-wrap{margin-bottom:20px;text-align:center;}
.sima-logo-mark{
  width:72px;height:72px;border-radius:22px;
  background:linear-gradient(135deg,#0d9e8d 0%,#0a7c6e 100%);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 14px;
  box-shadow:0 8px 32px rgba(13,158,141,.35);
}
.sima-logo-name{font-size:32px;font-weight:700;color:#fff;letter-spacing:-.5px;}
.sima-logo-sub{font-size:11px;color:rgba(255,255,255,.45);letter-spacing:.14em;text-transform:uppercase;margin-top:4px;}

/* Login Box */
.login-box{
  width:100%;max-width:400px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;padding:32px;
  backdrop-filter:blur(16px);
}
.login-box-title{font-size:22px;font-weight:700;color:#fff;margin-bottom:6px;}
.login-box-sub{font-size:13px;color:rgba(255,255,255,.45);margin-bottom:24px;line-height:1.5;}
.login-input{
  width:100%;font-family:var(--font);font-size:14px;
  padding:13px 16px;border-radius:var(--r);
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.07);color:#fff;
  margin-bottom:12px;transition:all .15s;
}
.login-input::placeholder{color:rgba(255,255,255,.28);}
.login-input:focus{outline:none;border-color:var(--tm);background:rgba(255,255,255,.1);}
.login-err{font-size:12px;color:#f97b7a;margin-top:-4px;margin-bottom:8px;display:none;}
.login-btn{
  width:100%;padding:13px;border-radius:var(--r);
  border:none;background:var(--tm);
  color:#fff;font-size:15px;font-weight:700;
  cursor:pointer;transition:all .15s;margin-top:4px;
  letter-spacing:.02em;
  box-shadow:0 4px 20px rgba(13,158,141,.3);
}
.login-btn:hover{background:var(--teal);transform:translateY(-1px);box-shadow:0 6px 24px rgba(13,158,141,.4);}
.demo-sep{text-align:center;font-size:11px;color:rgba(255,255,255,.28);margin:16px 0 10px;}
.demo-row{display:flex;gap:8px;}
.demo-btn{
  flex:1;padding:10px;border-radius:var(--r);
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.65);
  font-size:12px;cursor:pointer;transition:all .15s;text-align:center;
}
.demo-btn:hover{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2);}
.demo-btn .demo-role{font-size:10px;color:rgba(255,255,255,.35);margin-bottom:3px;}
.demo-btn .demo-user{font-weight:600;}

/* Features right panel */
.login-right{
  width:420px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  padding:48px 40px;
  background:rgba(0,0,0,.15);
  border-left:1px solid rgba(255,255,255,.05);
  position:relative;z-index:1;
}
.lf-panel{max-width:300px;}
.lf-title{font-size:16px;font-weight:700;color:#fff;margin-bottom:22px;}
.lf-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px;}
.lf-icon{
  width:38px;height:38px;border-radius:11px;flex-shrink:0;
  background:rgba(13,158,141,.18);border:1px solid rgba(13,158,141,.25);
  display:flex;align-items:center;justify-content:center;
}
.lf-text-t{font-size:13px;font-weight:600;color:#fff;}
.lf-text-s{font-size:12px;color:rgba(255,255,255,.4);margin-top:3px;line-height:1.5;}

/* ══ PORTAL SHELL ══ */
#portal{display:none;}
.pshell{display:flex;min-height:100vh;}
.sb{width:232px;flex-shrink:0;display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100;overflow:hidden;}
.sb.emp{background:var(--dark);}
.sb.adm{background:var(--adm);}
.sb::before{content:'';position:absolute;top:-50px;right:-50px;width:160px;height:160px;border-radius:50%;opacity:.08;pointer-events:none;}
.sb.emp::before{background:var(--teal);}
.sb.adm::before{background:#7c4dff;}
.sb-head{padding:18px 18px 14px;border-bottom:1px solid rgba(255,255,255,.07);}
.sb-brand{display:flex;align-items:center;gap:10px;}
.sb-mark{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.sb-bname{font-size:17px;font-weight:700;color:#fff;}
.sb-bsub{font-size:10px;color:rgba(255,255,255,.35);letter-spacing:.08em;text-transform:uppercase;padding-left:44px;margin-top:2px;}
.sb-nav{padding:8px;flex:1;overflow-y:auto;}
.sb-sec{margin-bottom:14px;}
.sb-lbl{font-size:10px;color:rgba(255,255,255,.3);letter-spacing:.1em;text-transform:uppercase;padding:0 8px 5px;}
.si{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:8px;font-size:13px;color:rgba(255,255,255,.55);cursor:pointer;transition:all .15s;}
.si:hover{background:rgba(255,255,255,.08);color:rgba(255,255,255,.9);}
.sb.emp .si.act{background:rgba(13,158,141,.2);color:#4dd6c8;}
.sb.adm .si.act{background:rgba(124,77,255,.22);color:#ce93d8;}
.si svg{width:15px;height:15px;opacity:.7;flex-shrink:0;}
.si.act svg{opacity:1;}
.sbbdg{margin-left:auto;font-size:10px;font-family:var(--mono);background:rgba(255,255,255,.1);color:rgba(255,255,255,.55);padding:1px 6px;border-radius:20px;}
.sbbdg.al{background:rgba(226,75,74,.3);color:#f97b7a;}
.sbbdg.ok{background:rgba(13,158,141,.25);color:#4dd6c8;}
.sb-foot{padding:12px 18px;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:10px;}
.sb-uname{font-size:13px;font-weight:500;color:#fff;}
.sb-urole{font-size:11px;color:rgba(255,255,255,.4);}
.on-dot{width:7px;height:7px;border-radius:50%;background:#4dd6c8;margin-left:auto;box-shadow:0 0 0 2px rgba(77,214,200,.2);}
.main{margin-left:232px;flex:1;display:flex;flex-direction:column;min-height:100vh;}
.topbar{height:54px;background:var(--card);border-bottom:1px solid var(--b);display:flex;align-items:center;padding:0 22px;gap:12px;position:sticky;top:0;z-index:50;}
.tb-t{font-size:15px;font-weight:600;color:var(--t1);}
.tb-s{font-size:12px;color:var(--t3);}
.tb-sep{width:1px;height:18px;background:var(--b);}
.tb-r{margin-left:auto;display:flex;align-items:center;gap:8px;}
.np{position:relative;}
.npip{width:7px;height:7px;border-radius:50%;background:var(--red);position:absolute;top:5px;right:5px;border:1.5px solid var(--card);}
.content{flex:1;padding:22px;}

/* ══ HERO ══ */
.hero{background:var(--dark);border-radius:var(--rl2);padding:22px 26px;margin-bottom:18px;display:flex;align-items:center;gap:18px;position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:var(--teal);opacity:.07;}
/* ══ KPI ══ */
.kpi{background:var(--card);border:1px solid var(--b);border-radius:var(--rl2);padding:14px 16px;cursor:pointer;position:relative;overflow:hidden;}
.kpi-ac{position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--rl2) var(--rl2) 0 0;}
.kpi-ic{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;margin-bottom:9px;}
.kpi-v{font-size:22px;font-weight:700;font-family:var(--mono);line-height:1;}
.kpi-l{font-size:12px;color:var(--t2);margin-top:3px;}

/* ══ EMAIL MODAL ══ */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1000;display:flex;align-items:center;justify-content:center;}
.modal{background:var(--card);border-radius:var(--rl2);width:100%;max-width:580px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 60px rgba(0,0,0,.2);}
.modal-hd{padding:20px 24px 0;display:flex;align-items:flex-start;justify-content:space-between;}
.modal-body{padding:20px 24px;}
.modal-foot{padding:14px 24px;border-top:1px solid var(--b);display:flex;gap:8px;justify-content:flex-end;}
.email-hdr{background:var(--adm);border-radius:var(--r);padding:14px 16px;margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.email-from-badge{font-size:11px;padding:3px 10px;border-radius:20px;background:rgba(255,255,255,.15);color:#fff;}

/* ══ OneDrive ══ */
.od-status{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--r);margin-bottom:14px;}
.od-connected{background:#e8f5e9;border:1px solid #a5d6a7;}
.od-disconnected{background:var(--al);border:1px solid #ffcc80;}
.od-file{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--b);transition:background .15s;cursor:pointer;}
.od-file:hover{background:var(--sec);}
.od-file:last-child{border-bottom:none;}

/* ══ INV DETAIL ══ */
.inv-hd{background:var(--dark);padding:22px 26px;position:relative;overflow:hidden;border-radius:var(--rl2) var(--rl2) 0 0;}
.inv-hd::before{content:'';position:absolute;bottom:-30px;right:-30px;width:120px;height:120px;border-radius:50%;background:var(--teal);opacity:.1;}
.pos-table{width:100%;border-collapse:collapse;}
.pos-table th{font-size:11px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.06em;padding:8px 12px;background:var(--sec);text-align:left;border-bottom:1px solid var(--b);}
.pos-table td{padding:11px 12px;border-bottom:1px solid var(--b);font-size:13px;}
.pos-table tr:last-child td{border-bottom:none;}

/* ══ UPLOAD ══ */
.upload-z{border:2px dashed var(--bm);border-radius:var(--rl2);padding:24px;text-align:center;cursor:pointer;background:var(--sec);transition:all .15s;}
.upload-z:hover{border-color:var(--teal);background:var(--tl);}

/* ══ KI ══ */
.ki-box{background:var(--card);border:1px solid var(--b);border-radius:var(--rl2);overflow:hidden;}
.ki-hd{background:linear-gradient(135deg,var(--adm) 0%,#2d1b69 100%);padding:16px 20px;display:flex;align-items:center;gap:12px;}
.ki-msgs{min-height:180px;max-height:320px;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:#fafbfc;}
.ki-inp-row{padding:12px 16px;border-top:1px solid var(--b);display:flex;gap:8px;}
.ki-inp{flex:1;font-family:var(--font);font-size:13px;padding:9px 12px;border-radius:var(--r);border:1px solid var(--bm);background:var(--sec);color:var(--t1);}
.ki-inp:focus{outline:none;border-color:var(--adm2);}
.ki-send-btn{padding:9px 16px;border-radius:var(--r);border:none;background:var(--adm2);color:#fff;font-size:12px;font-weight:600;cursor:pointer;}
.ki-qrow{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px;border-bottom:1px solid var(--b);}
.ki-qbtn{font-size:11px;padding:5px 12px;border-radius:20px;border:1px solid var(--adm2);background:var(--adl);color:var(--adm2);cursor:pointer;transition:all .15s;}
.ki-qbtn:hover{background:var(--adm2);color:#fff;}
@keyframes kdot{0%,80%,100%{opacity:.3;transform:scale(.8);}40%{opacity:1;transform:scale(1);}}
.kdot{width:6px;height:6px;border-radius:50%;background:var(--t3);animation:kdot .8s infinite;display:inline-block;}
.kdot:nth-child(2){animation-delay:.15s;}
.kdot:nth-child(3){animation-delay:.3s;}

/* ══ ZEITERFASSUNG ══ */
.zclock{background:var(--dark);border-radius:var(--rl2);padding:24px;text-align:center;position:relative;overflow:hidden;margin-bottom:18px;}
.zclock::before{content:'';position:absolute;left:50%;top:-60px;transform:translateX(-50%);width:260px;height:260px;border-radius:50%;background:var(--teal);opacity:.05;}
.ztime{font-size:50px;font-weight:700;font-family:var(--mono);color:#fff;letter-spacing:3px;line-height:1;}
.zst{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:5px 14px;border-radius:20px;margin-top:12px;}
.zs-in{background:rgba(29,158,117,.2);color:#4dd6c8;}
.zs-out{background:rgba(255,255,255,.07);color:rgba(255,255,255,.4);}
.zs-pause{background:rgba(239,159,39,.2);color:#ffc947;}
.zdot{width:6px;height:6px;border-radius:50%;background:currentColor;}
.zbts{display:flex;gap:10px;justify-content:center;margin-top:16px;}
.zbt{padding:9px 22px;border-radius:var(--r);border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;}
.zbt.in{background:var(--tm);color:#fff;}.zbt.in:hover{background:var(--teal);}
.zbt.out{background:rgba(226,75,74,.8);color:#fff;}.zbt.out:hover{background:var(--red);}
.zbt.pause{background:rgba(239,159,39,.7);color:#fff;}.zbt.pause:hover{background:var(--amb);}
.zbt:disabled{opacity:.3;cursor:not-allowed;}

/* ══ CHAT ══ */
.chat-shell{display:grid;grid-template-columns:240px 1fr;background:var(--card);border:1px solid var(--b);border-radius:var(--rl2);overflow:hidden;height:560px;}
.cc-list{border-right:1px solid var(--b);display:flex;flex-direction:column;}
.cc-hd{padding:13px 15px;border-bottom:1px solid var(--b);font-size:13px;font-weight:600;}
.cc-items{flex:1;overflow-y:auto;}
.cci{display:flex;align-items:center;gap:10px;padding:10px 13px;cursor:pointer;border-bottom:1px solid var(--b);transition:background .15s;}
.cci:hover{background:var(--sec);}
.cci.act{background:var(--tl);}
.cm-area{display:flex;flex-direction:column;}
.cm-hd{padding:12px 16px;border-bottom:1px solid var(--b);display:flex;align-items:center;gap:10px;}
.cm-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:#fafbfc;}
.msg{display:flex;gap:8px;max-width:78%;}
.msg.mine{align-self:flex-end;flex-direction:row-reverse;}
.msg-b{padding:9px 13px;border-radius:12px;font-size:13px;line-height:1.5;}
.msg.theirs .msg-b{background:var(--card);border:1px solid var(--b);border-radius:4px 12px 12px 12px;}
.msg.mine .msg-b{background:var(--teal);color:#fff;border-radius:12px 4px 12px 12px;}
.msg-t{font-size:10px;color:var(--t3);margin-top:3px;}
.msg.mine .msg-t{text-align:right;}
.cm-inp{padding:10px 14px;border-top:1px solid var(--b);display:flex;gap:7px;align-items:flex-end;}
.cm-ta{flex:1;font-family:var(--font);font-size:13px;padding:8px 12px;border-radius:var(--r);border:1px solid var(--bm);resize:none;min-height:38px;background:var(--sec);}
.cm-ta:focus{outline:none;border-color:var(--teal);}
.cm-send{width:36px;height:36px;border-radius:var(--r);border:none;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;}
.cm-send:hover{background:var(--tm);}

/* ══ DOK EDITOR (inline, splitscreen) ══ */
.dok-shell{display:flex;gap:0;min-height:calc(100vh - 54px - 44px);background:var(--bg);}
.dok-editor{flex:1;padding:20px;overflow-y:auto;max-width:760px;}
.dok-preview{width:440px;flex-shrink:0;background:#f0f2f5;border-left:1px solid var(--b);display:flex;flex-direction:column;position:sticky;top:54px;height:calc(100vh - 54px);overflow:hidden;}
.dok-preview-topbar{padding:10px 16px;border-bottom:1px solid var(--b);display:flex;align-items:center;justify-content:space-between;background:var(--card);}
.dok-prev-lbl{font-size:11px;font-weight:700;color:#fff;background:var(--dark);padding:4px 12px;border-radius:20px;letter-spacing:.04em;}
.dok-prev-scroll{flex:1;overflow-y:auto;padding:14px;}
.dok-preview-doc{background:#fff;min-height:700px;box-shadow:0 2px 12px rgba(0,0,0,.1);border-radius:4px;padding:36px 40px;font-family:'DM Sans',sans-serif;position:relative;font-size:12px;}
.dpwm{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-30deg);font-size:52px;font-weight:900;color:rgba(0,0,0,.04);pointer-events:none;white-space:nowrap;}
/* editor cards */
.ec{background:var(--card);border:1px solid var(--b);border-radius:var(--rl2);padding:18px;margin-bottom:12px;}
.ec-t{font-size:12px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;}
.li-wrap{position:relative;border:1px solid var(--bm);border-radius:var(--r);padding:7px 12px 5px;transition:border-color .15s;background:var(--card);}
.li-wrap:focus-within{border-color:var(--teal);}
.li-lbl{font-size:10px;color:var(--t3);font-weight:500;letter-spacing:.04em;line-height:1;}
.li-wrap input,.li-wrap select{width:100%;border:none;background:transparent;font-family:var(--font);font-size:13px;color:var(--t1);padding:2px 0 0;outline:none;}
.li-wrap select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 3.5l3 3 3-3' stroke='%238a93a0' stroke-width='1.2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 center;padding-right:14px;}
/* positions */
.pos-row-e{display:grid;grid-template-columns:28px 1fr 78px 90px 100px 90px 32px;gap:6px;padding:9px 14px;border-bottom:1px solid var(--b);align-items:center;}
.pos-row-e:last-child{border-bottom:none;}
.pos-row-e:hover{background:#fafbfc;}
.pos-num-e{width:22px;height:22px;border-radius:50%;background:var(--sec);border:1px solid var(--b);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--t3);flex-shrink:0;position:relative;}
.pos-dot-e{width:7px;height:7px;border-radius:50%;position:absolute;top:-1px;right:-1px;}
.pe-inp{border:1px solid transparent;border-radius:5px;padding:4px 6px;font-size:12px;font-family:var(--font);color:var(--t1);background:transparent;width:100%;}
.pe-inp:focus{outline:none;border-color:var(--teal);background:var(--card);}
.pe-inp.r{text-align:right;}
.ust-tag{font-size:9px;font-weight:700;background:var(--gl);color:#3b6d11;padding:2px 5px;border-radius:20px;cursor:pointer;white-space:nowrap;margin-top:2px;display:inline-block;}
/* summen */
.sumbar{background:var(--dark);border-radius:var(--rl2);padding:16px 20px;margin-bottom:12px;display:flex;align-items:center;justify-content:flex-end;gap:28px;position:relative;overflow:hidden;}
.sumbar::before{content:'';position:absolute;right:-20px;top:-20px;width:90px;height:90px;border-radius:50%;background:var(--teal);opacity:.06;}
/* doc preview styles */
.dpd-hd{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;}
.dpd-firma{font-size:10px;color:#666;line-height:1.7;}
.dpd-meta td{padding:2px 0 2px 12px;font-size:11px;}
.dpd-meta td:first-child{color:#777;text-align:right;padding-left:0;}
.dpd-adrline{font-size:9px;color:#aaa;text-decoration:underline;margin-bottom:8px;}
.dpd-kunde{font-size:12px;line-height:1.7;}
.dpd-title{font-size:16px;font-weight:700;text-align:right;margin-bottom:12px;}
.dpd-intro{font-size:11px;color:#555;margin-bottom:12px;}
.dpd-pos-t{width:100%;border-collapse:collapse;font-size:11px;margin-bottom:12px;}
.dpd-pos-t th{padding:5px 8px;background:#f5f5f5;font-weight:600;color:#555;text-align:left;border-top:1px solid #ddd;border-bottom:1px solid #ddd;}
.dpd-pos-t td{padding:7px 8px;border-bottom:1px solid #f0f0f0;color:#333;vertical-align:top;}
.dpd-pos-t .sub{font-size:10px;color:#999;margin-top:1px;}
.dpd-sumrow{display:flex;justify-content:flex-end;margin-bottom:12px;}
.dpd-sumbox{min-width:200px;}
.dpd-srow{display:flex;justify-content:space-between;padding:3px 0;font-size:11px;color:#555;border-bottom:1px solid #eee;}
.dpd-srow.tot{font-size:13px;font-weight:700;color:#1a1a1a;border-bottom:none;padding-top:6px;}
.dpd-foot{display:flex;justify-content:space-between;border-top:1px solid #eee;padding-top:10px;margin-top:14px;}
.dpd-foot-col{font-size:9px;color:#888;line-height:1.8;}
.dpd-unt{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;}
.dpd-unt-line{border-top:1px solid #bbb;padding-top:4px;font-size:9px;color:#aaa;}

/* ══ BN TOGGLE ══ */
.bn-tog{display:flex;border:1px solid var(--bm);border-radius:var(--r);overflow:hidden;flex-shrink:0;}
.bn-btn{padding:6px 14px;border:none;background:var(--card);font-size:12px;font-weight:500;color:var(--t2);cursor:pointer;display:flex;align-items:center;gap:4px;}
.bn-btn.act{background:var(--sec);color:var(--t1);}
.bn-btn:first-child{border-right:1px solid var(--bm);}

/* ══ TOAST ══ */
.toast{position:fixed;bottom:20px;right:20px;z-index:9999;background:var(--dark);color:#fff;padding:10px 16px;border-radius:var(--r);font-size:13px;display:flex;align-items:center;gap:8px;box-shadow:0 4px 20px rgba(0,0,0,.2);transform:translateY(80px);opacity:0;transition:all .3s;}
.toast.show{transform:translateY(0);opacity:1;}
.tdot{width:7px;height:7px;border-radius:50%;background:#4dd6c8;}

@media(max-width:900px){
  .login-right,.dok-preview{display:none;}
  .g2,.g3,.g4,.chat-shell{grid-template-columns:1fr;}
  .chat-shell{height:auto;}
  .dok-editor{max-width:100%;}
}
/* ══ ABWESENHEIT ══ */
.abw-typ-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;border-radius:var(--rl2);border:2px solid var(--b);background:var(--card);cursor:pointer;transition:all .2s;flex:1;}
.abw-typ-btn:hover{border-color:var(--bm);background:var(--sec);}
.abw-typ-btn.sel{border-color:var(--teal);background:var(--tl);}
.abw-typ-btn.sel-red{border-color:var(--red);background:var(--rl);}
.abw-typ-btn.sel-amb{border-color:var(--amb);background:var(--al);}
.abw-typ-btn.sel-blue{border-color:var(--blue);background:var(--bl);}
.abw-typ-icon{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;}
.abw-typ-lbl{font-size:12px;font-weight:600;text-align:center;}
.abw-typ-sub{font-size:10px;color:var(--t3);text-align:center;line-height:1.3;}
.abw-card{background:var(--card);border:1px solid var(--b);border-radius:var(--rl2);overflow:hidden;margin-bottom:10px;}
.abw-hd{padding:14px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--b);}
.abw-status-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.abw-ersatz-card{background:linear-gradient(135deg,#0d1b2a 0%,#0a2a20 100%);border-radius:var(--rl2);padding:18px 22px;margin-bottom:12px;position:relative;overflow:hidden;}
.abw-ersatz-card::before{content:'';position:absolute;right:-20px;top:-20px;width:90px;height:90px;border-radius:50%;background:var(--teal);opacity:.08;}
.abw-notif-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--b);transition:background .15s;}
.abw-notif-row:hover{background:var(--sec);}
.abw-notif-row:last-child{border-bottom:none;}
.mahnung-box{background:var(--rl);border:1px solid #f0c0c0;border-radius:var(--rl2);padding:16px 20px;margin-bottom:14px;display:flex;align-items:flex-start;gap:12px;}
.timeline{display:flex;flex-direction:column;gap:0;}
.tl-item{display:flex;gap:12px;padding-bottom:16px;position:relative;}
.tl-item:not(:last-child)::before{content:'';position:absolute;left:15px;top:30px;bottom:0;width:1px;background:var(--b);}
.tl-dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px;border:2px solid var(--card);box-shadow:0 0 0 1px var(--b);}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.5;}}
.pulse{animation:pulse 1.5s infinite;}
</style>

/* ══ ONEDRIVE SYNC INDICATOR ══ */
.od-sync-bar{
  position:fixed;bottom:0;left:232px;right:0;height:3px;
  background:linear-gradient(90deg,var(--teal) 0%,var(--tm) 50%,var(--teal) 100%);
  background-size:200% 100%;
  animation:od-sweep 1.4s linear infinite;
  z-index:9000;display:none;
}
.od-sync-bar.active{display:block;}
@keyframes od-sweep{0%{background-position:200% 0}100%{background-position:-200% 0}}

.od-badge{
  display:inline-flex;align-items:center;gap:5px;
  font-size:11px;padding:3px 10px;border-radius:20px;
  font-weight:500;
}
.od-badge.connected{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;}
.od-badge.connecting{background:#fff3e0;color:#e65100;border:1px solid #ffcc80;}
.od-badge.disconnected{background:var(--sec);color:var(--t3);border:1px solid var(--b);}
.od-badge.error{background:var(--rl);color:var(--red);border:1px solid #f0c0c0;}

.od-modal{background:var(--card);border-radius:var(--rl2);width:500px;max-height:88vh;overflow-y:auto;box-shadow:0 24px 60px rgba(0,0,0,.22);}
.od-file-tree{font-size:12px;font-family:var(--mono);}
.od-tree-item{display:flex;align-items:center;gap:7px;padding:6px 10px;border-radius:var(--r);cursor:pointer;transition:background .12s;}
.od-tree-item:hover{background:var(--sec);}
.od-tree-item.selected{background:var(--tl);color:var(--teal);}
.od-progress{height:4px;background:var(--sec);border-radius:2px;overflow:hidden;margin-top:6px;}
.od-progress-bar{height:100%;background:var(--teal);border-radius:2px;transition:width .3s;}
