@font-face{font-family:'Montserrat';font-weight:400;font-display:swap;src:url(/fonts/montserrat-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-weight:700;font-display:swap;src:url(/fonts/montserrat-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-weight:800;font-display:swap;src:url(/fonts/montserrat-latin-800-normal.woff2) format('woff2')}
:root{--ink:#111;--muted:#6f6a62;--bg:#F2F0EC;--card:#fff;--line:#E2DDD5;--gold:#B8862F;--goldbg:#FBF3E4;--red:#D7263D;--redbg:#FDECEE;--green:#1E8A4C;--greenbg:#E8F6EE;--blue:#2457A6}
*{box-sizing:border-box}body{margin:0;font-family:Montserrat,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.45;font-size:15px}
a{color:var(--ink)}h1,h2,h3{margin:0 0 10px;font-weight:800;letter-spacing:-.01em}h1{font-size:26px}h2{font-size:20px}h3{font-size:16px}
.muted{color:var(--muted)}.small{font-size:13px}.r{text-align:right}.nowrap{white-space:nowrap}.hide{display:none!important}
/* Kopf */
.nbtop{background:#111;color:#fff;position:sticky;top:0;z-index:20}
.nbtop .in{max-width:1320px;margin:0 auto;display:flex;align-items:center;gap:18px;padding:10px 20px}
.nbtop .logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:900;letter-spacing:4px;font-size:18px}.nbtop .logo img{height:38px;width:38px}
.nbtop nav{display:flex;gap:4px;flex-wrap:wrap;flex:1}
.nbtop nav a{color:#ddd;text-decoration:none;padding:6px 10px;border-radius:999px;font-weight:700;font-size:13px;position:relative;white-space:nowrap}.nbtop nav a:hover{background:#2a2a2a;color:#fff}
.nbtop nav a.on{background:#fff;color:#111}.nbtop .who{font-size:13px;color:#bbb;display:flex;gap:10px;align-items:center}.nbtop .who a{color:#fff}
.nbtop nav a .nb{background:var(--red);color:#fff;border-radius:999px;font-size:11px;padding:1px 6px;margin-left:5px}
.ugback{font-size:12.5px;font-weight:800;color:#fff!important;background:#2E9D5B;text-decoration:none;border:1px solid #2E9D5B;padding:6px 12px;border-radius:999px}.ugback:hover{background:#24804A;border-color:#24804A} /* grün = zurück zu u/ground (Wunsch Oliver 15.11.2026) */
main{max-width:1320px;margin:0 auto;padding:22px 20px 60px}
/* Bausteine */
.card{background:var(--card);border-radius:16px;padding:20px;box-shadow:0 1px 3px rgba(0,0,0,.06);margin-bottom:16px}
.grid{display:grid;gap:16px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g2,.g3,.g4{grid-template-columns:1fr}}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.sp{flex:1}
.btn{display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:700;font-size:14px;border:1.5px solid #111;background:#fff;color:#111;padding:9px 16px;border-radius:999px;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{background:#f4f2ee}.btn.pri{background:#111;color:#fff}.btn.pri:hover{background:#333}.btn.small{padding:5px 11px;font-size:13px}
.btn.todo{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 4px 14px rgba(215,38,61,.35);font-size:15px;padding:11px 20px}.btn.todo:hover{background:#b81e32}
.btn.ok{background:var(--green);border-color:var(--green);color:#fff}.btn.gold{background:var(--gold);border-color:var(--gold);color:#fff}
.btn.ghost{border-color:var(--line)}.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.danger{border-color:var(--red);color:var(--red)}
label.f{display:block;font-weight:700;font-size:13px}label.f input,label.f select,label.f textarea{margin-top:4px}
input,select,textarea{width:100%;font:inherit;font-size:15px;padding:9px 11px;border:1.5px solid #D6D0C6;border-radius:10px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:#111}textarea{min-height:80px}
input[type=checkbox],input[type=radio]{width:auto;margin:0 6px 0 0}
table.t{width:100%;border-collapse:collapse;font-size:14px}table.t th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:8px;border-bottom:2px solid var(--line)}
table.t td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}table.t tr.click{cursor:pointer}table.t tr.click:hover td{background:#faf8f4}
.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#eee;white-space:nowrap}
.pill.red{background:var(--redbg);color:var(--red)}.pill.green{background:var(--greenbg);color:var(--green)}.pill.gold{background:var(--goldbg);color:var(--gold)}.pill.dark{background:#111;color:#fff}.pill.blue{background:#E8EFFA;color:var(--blue)}
.todo-box{background:var(--redbg);border:2px solid var(--red);border-radius:14px;padding:14px 16px;margin-bottom:16px}.todo-box b{color:var(--red)}
.todo-list{list-style:none;margin:0;padding:0}.todo-list li{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #f3c9cf}.todo-list li:last-child{border:0}
.todo-list li a{color:var(--ink);font-weight:700}.todo-ic{background:var(--red);color:#fff;border-radius:999px;min-width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}
.kpi{background:#fff;border-radius:16px;padding:16px 18px}.kpi b{display:block;font-size:30px;font-weight:800}.kpi span{color:var(--muted);font-size:13px}.kpi.red b{color:var(--red)}
.chain{display:flex;gap:4px;flex-wrap:wrap;margin:10px 0 4px}.chain span{flex:1;min-width:92px;text-align:center;font-size:11.5px;font-weight:700;padding:8px 4px;border-radius:8px;background:#eee;color:#8a847a}
.chain span.done{background:#111;color:#fff}.chain span.cur{background:var(--red);color:#fff;box-shadow:0 0 0 3px #f7c3ca}
.kv{display:grid;grid-template-columns:150px 1fr;gap:6px 12px;font-size:14px}.kv b{color:var(--muted);font-weight:700}
.step{border:2px dashed var(--line);border-radius:14px;padding:16px;margin:12px 0;background:#fffdf9}.step.act{border:2px solid var(--red);background:#fff}
.step h3{display:flex;gap:8px;align-items:center}.files{display:flex;gap:10px;flex-wrap:wrap}
.file{border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13px;display:flex;gap:8px;align-items:center;background:#fff;text-decoration:none}
.thumb{width:150px;height:150px;object-fit:contain;background:repeating-conic-gradient(#eee 0 25%,#fff 0 50%) 0 0/16px 16px;border-radius:10px;border:1px solid var(--line)}
.log{font-size:13px;max-height:300px;overflow:auto}.log div{padding:5px 0;border-bottom:1px solid #f0ece5}.log i{color:var(--muted);font-style:normal}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#111;color:#fff;padding:12px 20px;border-radius:999px;font-weight:700;z-index:99;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.toast.err{background:var(--red)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:flex-start;justify-content:center;padding:6vh 14px;z-index:50;overflow:auto}
.modal .card{max-width:640px;width:100%}
.login{max-width:420px;margin:10vh auto;background:#fff;border-radius:18px;padding:30px;box-shadow:0 10px 40px rgba(0,0,0,.08)}.login img{height:70px;display:block;margin:0 auto 16px}
.warn{background:var(--goldbg);border-left:4px solid var(--gold);padding:10px 14px;border-radius:8px;font-size:14px}
.okb{background:var(--greenbg);border-left:4px solid var(--green);padding:10px 14px;border-radius:8px;font-size:14px}
.errb{background:var(--redbg);border-left:4px solid var(--red);padding:10px 14px;border-radius:8px;font-size:14px;color:#8c1323}
.tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.tabs a{padding:7px 14px;border-radius:999px;background:#fff;text-decoration:none;font-weight:700;font-size:13px}.tabs a.on{background:#111;color:#fff}
.tiers input{width:90px;padding:6px 8px}.tiers td{padding:3px 6px}
/* Kundenbereich / Konfigurator */
.kh{background:#111;color:#fff}.kh .in{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:12px 20px}.kh img{height:44px;width:44px}.kh .brand{font-weight:900;letter-spacing:5px;font-size:20px;color:#fff;text-decoration:none}
.kh nav{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}.kh nav a{color:#fff;text-decoration:none;font-weight:700;font-size:14px;padding:8px 13px;border-radius:999px}.kh nav a.on,.kh nav a:hover{background:#fff;color:#111}
.kmain{max-width:1100px;margin:0 auto;padding:26px 20px 70px}
.hero{background:#111;color:#fff;border-radius:22px;padding:30px;margin-bottom:22px;display:flex;gap:24px;align-items:center}.hero h1{font-size:34px;color:#fff}.hero p{color:#cfcac2;margin:0}
.conf{display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:start}@media(max-width:900px){.conf{grid-template-columns:1fr}}
.sec{background:#fff;border-radius:18px;padding:22px;margin-bottom:16px}.sec h2{display:flex;gap:10px;align-items:center}.sec h2 i{font-style:normal;background:#111;color:#fff;border-radius:999px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;font-size:14px}
.opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.opt{border:2px solid var(--line);border-radius:14px;padding:14px;cursor:pointer;background:#fff;text-align:left;font:inherit;transition:.15s}.opt:hover{border-color:#999}.opt.on{border-color:#111;box-shadow:0 0 0 3px #11111122;background:#faf8f4}
.opt b{display:block;font-size:15px}.opt span{font-size:12.5px;color:var(--muted)}.opt .em{font-size:28px;display:block;margin-bottom:6px}
.qchips{display:flex;flex-wrap:wrap;gap:8px}.qchips button{font:inherit;border:2px solid var(--line);background:#fff;border-radius:12px;padding:8px 12px;cursor:pointer;text-align:left}.qchips button.on{border-color:#111;background:#111;color:#fff}
.qchips button small{display:block;font-size:11.5px;opacity:.75}
.sum{position:sticky;top:16px;background:#111;color:#fff;border-radius:18px;padding:22px}.sum h3{color:#fff}.sum .ln{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid #333;font-size:14px}
.sum .tot{font-size:26px;font-weight:800;margin-top:12px}.sum .btn{width:100%;justify-content:center;margin-top:16px;background:var(--red);border-color:var(--red);color:#fff;font-size:17px;padding:14px}
.sum .muted{color:#aaa}
.drop{display:block;border:2px dashed #bbb;border-radius:14px;padding:22px;text-align:center;cursor:pointer;background:#faf8f4}.drop.has{border-color:var(--green);background:var(--greenbg)}
.seg{display:inline-flex;background:#eee;border-radius:999px;padding:4px}.seg button{font:inherit;font-weight:700;border:0;background:none;padding:9px 18px;border-radius:999px;cursor:pointer}.seg button.on{background:#111;color:#fff}
.ok-big{text-align:center;padding:40px 20px}.ok-big .ic{font-size:60px}

.nbtop .goal{display:flex;align-items:center;gap:10px;text-decoration:none;border:1.5px solid #3a3a3a;border-radius:14px;padding:4px 12px;margin-left:6px;white-space:nowrap}
.nbtop .goal b{font-size:26px;font-weight:900;color:#E0B04A;letter-spacing:.5px;text-shadow:0 0 18px rgba(224,176,74,.35);font-variant-numeric:tabular-nums}
.nbtop .goal span{font-size:10.5px;color:#bbb;line-height:1.25}.nbtop .goal i{font-style:normal;color:#fff;font-weight:800;font-size:13px;font-variant-numeric:tabular-nums}
@media(max-width:1100px){.nbtop .goal b{font-size:20px}}
.nbtop .in{flex-wrap:wrap;row-gap:6px}.nbtop nav{order:3;flex-basis:100%;flex-wrap:wrap;border-top:1px solid #2a2a2a;padding-top:6px}.nbtop .who{margin-left:auto}

.printonly{display:none}
@media print{.nbtop,.noprint,.toast{display:none!important}.printonly{display:block}body{background:#fff}main{padding:0;max-width:none}.card{box-shadow:none;border:1px solid #ddd;break-inside:avoid}.kpi{border:1px solid #ddd}}

/* Navigation in Gruppen */
.nbtop nav{align-items:center}
.nbtop .grp{position:relative}
.nbtop .gbtn{background:none;border:0;color:#ddd;font:inherit;font-weight:700;font-size:13px;padding:6px 10px;border-radius:999px;cursor:pointer;white-space:nowrap}
.nbtop .gbtn:hover,.nbtop .grp.open .gbtn{background:#2a2a2a;color:#fff}.nbtop .grp.on .gbtn{background:#fff;color:#111}
.nbtop .gbtn .nb{background:var(--red);color:#fff;border-radius:999px;font-size:11px;padding:1px 6px;margin-left:5px}
.nbtop .gmenu{display:none;position:absolute;left:0;top:calc(100% + 6px);background:#1b1b1b;border:1px solid #333;border-radius:14px;padding:6px;min-width:270px;box-shadow:0 14px 34px rgba(0,0,0,.45);z-index:30}
.nbtop .grp.open .gmenu{display:block}
@media(hover:hover){.nbtop .grp:hover .gmenu{display:block}.nbtop .grp:hover::after{content:'';position:absolute;left:0;right:0;top:100%;height:8px}}
.nbtop .gmenu a{display:block;white-space:normal;padding:8px 12px;border-radius:10px;color:#eee}.nbtop .gmenu a b{display:block;font-size:14px}.nbtop .gmenu a small{display:block;color:#999;font-weight:500;font-size:11.5px;margin-top:1px}
.nbtop .gmenu a:hover{background:#2c2c2c}.nbtop .gmenu a.on{background:#fff;color:#111}.nbtop .gmenu a.on small{color:#555}
@media(max-width:700px){.nbtop .in{padding:8px 12px;gap:8px}.nbtop .who{margin-left:0;width:100%;gap:8px;flex-wrap:wrap}.nbtop .who .nm{display:none}.nbtop .goal{margin-left:0}
  .nbtop nav{gap:2px}.nbtop nav a,.nbtop .gbtn{padding:6px 8px;font-size:12.5px}.nbtop .gmenu{position:fixed;left:12px;right:12px;top:auto;min-width:0}}

.gr{color:#2457A6;font-weight:600}.f .gr{font-size:12px}input.grin{border-color:#C9D6EE;background:#F6F8FD}
.potab td{padding:6px 4px}.potab input,.potab select{font-size:13px;padding:6px 7px}.potab td:nth-child(1){min-width:120px}.potab td:nth-child(2){min-width:90px}.potab td:nth-child(3){min-width:220px}.potab td:nth-child(4){min-width:150px}.potab td:nth-child(7){min-width:130px}
.mailbody{white-space:pre-wrap;font-size:14px;line-height:1.55;margin-top:14px;max-height:70vh;overflow:auto;border-top:1px solid var(--line);padding-top:12px}.mails tr.unread td{background:#FFFBF2}.mails tr.unread b{font-weight:800}
#cx .mails td:nth-child(4){display:none}
.rcv tr.rck td{border-top:0;padding-top:0}.rcv tr[data-rl] td{border-bottom:0}
.t td.stk-ok{background:#E3F4E9;box-shadow:inset 3px 0 0 #1E8A4C}.t td.stk-ok b{color:#156b3a}.t td.stk-low{background:#FDECEE;box-shadow:inset 3px 0 0 #D7263D}

/* 🖼 Kopf wie im u/ground-Portal: Bild-Knöpfe statt Text (Wunsch Oliver 15.11.2026) */
.nbtop .who{display:flex;align-items:center;gap:8px}
.nbhb{display:inline-flex;align-items:center;justify-content:center;width:38px;height:34px;border-radius:10px;background:#222;border:1px solid #444;text-decoration:none;font-size:18px}.nbhb:hover{background:#e8c27a}
.ugbtn{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 14px;border-radius:999px;background:#2E9D5B;border:1px solid #2E9D5B;text-decoration:none}.ugbtn:hover{background:#24804A}
.ugbtn b{color:#fff;border:2px solid #fff;padding:0 6px;font-weight:900;font-size:14px;line-height:1.3}
.nbum{position:relative}.nbum>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:3px;color:#e8c27a;font-size:11px}.nbum>summary::-webkit-details-marker{display:none}
.nbav{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#e8c27a;color:#111;font-size:12px;font-weight:800;box-shadow:0 0 0 2px #e8c27a}
.nbav img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.nbum[open] .nbav{box-shadow:0 0 0 3px rgba(232,194,122,.6)}
.nbumbox{position:absolute;right:0;top:44px;z-index:60;background:#fff;color:#111;border:1px solid #e6e1d8;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.3);padding:10px;min-width:230px;display:flex;flex-direction:column;gap:4px}
.nbumbox a{padding:7px 8px;border-radius:8px;color:#111!important;text-decoration:none;font-size:13.5px;font-weight:600}.nbumbox a:hover{background:#f5f2ec}
.nbumname{font-weight:800;font-size:14px;padding:4px 8px 8px;border-bottom:1px solid #eee;margin-bottom:4px}.nbumname small{display:block;font-weight:600;font-size:12px;color:#777}
.nbumbox .nbout{background:#111;color:#fff!important;text-align:center;margin-top:4px}.nbumbox .nbout:hover{background:#333}
.btn.red{background:#fff;border-color:var(--red);color:var(--red)}.btn.red:hover{background:var(--red);color:#fff}
