:root{--navy:#0a1428;--navy2:#101e3a;--card:#14233f;--line:rgba(201,168,76,.2);--gold:#c9a84c;--gold2:#e8c97a;--text:#eef1f7;--muted:#9aa6bd;--hot:#e05d5d;--warm:#e8c97a;--cold:#6f84a8;--ok:#58c089}
*{box-sizing:border-box}
body{margin:0;background:var(--navy);color:var(--text);font:15px/1.5 Outfit,system-ui,-apple-system,"Segoe UI",sans-serif}
[hidden]{display:none!important}
.dash-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;border-bottom:1px solid var(--line);background:var(--navy2);position:sticky;top:0;z-index:5;flex-wrap:wrap}
.dash-brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;font-weight:600}
.dash-brand img{height:34px;width:auto}
.dash-top-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.dash-tenant{color:var(--gold2);font-weight:600}
.dash-link.is-current{color:var(--gold2)}
.dash-link{color:var(--muted);text-decoration:none}.dash-link:hover{color:var(--gold2)}
.dash-btn{background:transparent;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:8px 14px;font:inherit;cursor:pointer}
.dash-btn:hover{border-color:var(--gold)}
.dash-btn.primary{background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--navy);border:0;font-weight:600}
select,input,textarea{background:#0d1a33;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:9px 11px;font:inherit}
select:focus,input:focus,textarea:focus,button:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.login{display:grid;place-items:center;min-height:70vh;padding:24px}
.login form{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;width:min(420px,100%);display:grid;gap:14px}
.login h1{margin:0 0 4px;font-size:22px}.login label{display:grid;gap:6px;color:var(--muted);font-size:13px}
.login-note{color:var(--muted);font-size:12px;margin:0}.login-error{color:var(--hot);margin:0;min-height:1.2em}
.dash{padding:20px 24px 40px;display:grid;gap:18px;max-width:1500px;margin:0 auto}
.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.kpi,.chart-card,.list-pane,.detail-pane{background:var(--card);border:1px solid var(--line);border-radius:16px}
.kpi{padding:16px 18px;display:grid;gap:4px}.kpi span{color:var(--muted);font-size:13px}.kpi strong{font-size:30px;font-weight:600;color:var(--gold2)}
.gauge-card{grid-template-columns:auto 1fr;align-items:center;gap:10px}.gauge{width:110px}.gauge path{fill:none;stroke-width:10;stroke-linecap:round}.gauge-bg{stroke:rgba(255,255,255,.1)}.gauge-fg{stroke:url(#none);stroke:var(--gold2);transition:stroke-dasharray .6s}
.gauge-card small{color:var(--muted)}.gauge-card>div{display:grid;gap:0}
.chart-card{padding:16px 18px;display:grid;gap:10px}.chart-head{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;flex-wrap:wrap;gap:8px}
.legend{display:flex;align-items:center;gap:8px}.dot{display:inline-block;width:10px;height:10px;border-radius:50%}.dot.a{background:var(--gold2)}.dot.b{background:#8f7bff}
#chart{width:100%;height:150px}#chart path{fill:none;stroke-width:2.5;vector-effect:non-scaling-stroke}#chart .a{stroke:var(--gold2)}#chart .b{stroke:#8f7bff}#chart .grid{stroke:rgba(255,255,255,.07);stroke-width:1}
.pipeline{display:flex;gap:8px;flex-wrap:wrap}.stage{border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:13px;color:var(--muted)}.stage b{color:var(--text);margin-left:6px}
.workspace{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:14px;align-items:start}
.list-pane{overflow:hidden}.tabs{display:flex;border-bottom:1px solid var(--line)}.tab{flex:1;padding:12px;background:transparent;border:0;color:var(--muted);font:inherit;cursor:pointer}.tab.is-active{color:var(--gold2);box-shadow:inset 0 -2px var(--gold2)}
.tab .count{display:inline-block;margin-left:6px;min-width:20px;padding:1px 7px;border-radius:999px;background:var(--gold2);color:var(--navy);font-size:12px;font-weight:700}
.pill-new{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--gold2);color:var(--navy);font-size:11px;font-weight:700;letter-spacing:.04em;vertical-align:middle}
.pill-kind{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:11px;vertical-align:middle}
.item.is-new{box-shadow:inset 3px 0 var(--gold2);background:rgba(232,201,122,.06)}.item.is-new .item-title{color:var(--gold2)}
.view-nav{display:flex;gap:6px}.nav-btn{background:transparent;border:1px solid transparent;color:var(--muted);border-radius:10px;padding:7px 12px;font:inherit;cursor:pointer}.nav-btn.is-active{color:var(--gold2);border-color:var(--line)}
.view-title{margin:0;font-size:22px}
.customer-grid{display:grid;gap:14px}.customer{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:grid;gap:12px}
.customer h3{margin:0;font-size:18px}.customer .sub{color:var(--muted);font-size:13px}
.tag{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;border:1px solid var(--line);color:var(--muted)}.tag.ok{color:var(--ok);border-color:rgba(88,192,137,.5)}.tag.warn{color:var(--warm);border-color:rgba(232,201,122,.5)}.tag.bad{color:var(--hot);border-color:rgba(224,93,93,.5)}
.sitebox{background:#0d1a33;border-radius:12px;padding:10px 12px;display:grid;gap:4px;font-size:14px}.dotlive{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;background:var(--hot)}.dotlive.on{background:var(--ok)}
dialog{background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:16px;padding:0;width:min(640px,calc(100vw - 24px))}dialog::backdrop{background:rgba(0,0,0,.6)}
.dialog-form{padding:22px;display:grid;gap:12px;max-height:80vh;overflow:auto}.dialog-form label{display:grid;gap:5px;color:var(--muted);font-size:13px}.dialog-form label.inline{display:flex;gap:8px;align-items:center}
.secret{font-family:ui-monospace,monospace;background:#0d1a33;border:1px solid var(--line);border-radius:10px;padding:8px 10px;overflow-wrap:anywhere;color:var(--gold2);user-select:all}
.meter{height:10px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden}.meter>i{display:block;height:100%;background:var(--ok);transition:width .4s}.meter.warn>i{background:var(--warm)}.meter.bad>i{background:var(--hot)}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.plan{border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;gap:8px;align-content:start;background:#0d1a33}.plan.is-current{border-color:var(--gold2);box-shadow:inset 0 0 0 1px var(--gold2)}.plan h4{margin:0;color:var(--gold2)}.plan p{margin:0;font-size:13px;color:var(--muted)}
.money{font-variant-numeric:tabular-nums}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{text-align:left;padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.07)}.table td.num,.table th.num{text-align:right}
@media (max-width:1000px){.plans{grid-template-columns:1fr}}
.avv-section{display:grid;gap:4px;margin:0 0 10px}.avv-section h4{margin:0;font-size:15px;color:var(--gold2)}.avv-section p{margin:0;color:var(--text);font-size:14px}
.avv-points{display:grid;gap:8px}.avv-points label{display:flex;gap:10px;align-items:flex-start;font-size:14px}.avv-points input{margin-top:4px}
.list{max-height:640px;overflow:auto}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.dash-btn.danger{border-color:rgba(224,93,93,.5);color:var(--hot)}.dash-btn.danger:hover{border-color:var(--hot)}
.banner{border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:rgba(232,201,122,.08);color:var(--gold2);font-size:14px;margin:0}
.item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px 14px;border:0;border-bottom:1px solid rgba(255,255,255,.05);background:transparent;color:inherit;font:inherit;text-align:left;width:100%;cursor:pointer}
.item:hover,.item.is-active{background:rgba(201,168,76,.08)}
.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:13px;background:#0d1a33;border:2px solid var(--cold)}
.avatar.hot{border-color:var(--hot)}.avatar.warm{border-color:var(--warm)}.avatar.cold{border-color:var(--cold)}
.item-title{font-weight:600;display:block}.item-sub{color:var(--muted);font-size:13px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-time{color:var(--muted);font-size:12px}
.detail-pane{padding:20px;min-height:320px;display:grid;gap:16px;align-content:start}.empty{color:var(--muted)}
.detail h2{margin:0;font-size:20px}.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:13px;color:var(--muted)}.chip b{color:var(--text);font-weight:500}
.badge{display:inline-block;border-radius:999px;padding:3px 12px;font-size:13px;font-weight:600;color:var(--navy)}.badge.hot{background:var(--hot)}.badge.warm{background:var(--warm)}.badge.cold{background:var(--cold)}
.chat{display:grid;gap:8px;max-height:340px;overflow:auto;padding:12px;border-radius:12px;background:#0d1a33}
.bubble{max-width:82%;padding:9px 13px;border-radius:14px;font-size:14px;white-space:pre-wrap}.bubble.user{background:#25314f;justify-self:start}.bubble.assistant{background:linear-gradient(135deg,#6a52d9,#8f7bff);justify-self:end}
.note-text{color:var(--muted);font-size:13px;margin:0}
.card{border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:10px}.card h3{margin:0;font-size:14px;color:var(--gold2);text-transform:uppercase;letter-spacing:.06em}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.kv{display:grid;grid-template-columns:130px 1fr;gap:4px 12px;font-size:14px}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere}
.notes{display:grid;gap:8px}.note{background:#0d1a33;border-radius:10px;padding:8px 12px;font-size:14px}.note time{display:block;color:var(--muted);font-size:12px}
textarea{width:100%;min-height:70px;resize:vertical}
.status-msg{color:var(--ok);font-size:13px;min-height:1.2em}
@media (max-width:1000px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.gauge-card{grid-column:1/-1}.workspace{grid-template-columns:1fr}.list{max-height:320px}.kv{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

.acct-form{max-width:640px}.acct-form label{display:grid;gap:4px}.acct-form label.inline{display:flex;gap:8px;align-items:center}.acct-form input:not([type=checkbox]),.acct-form textarea,.acct-form select{width:100%;box-sizing:border-box}

.line-row{display:grid;grid-template-columns:70px 1.6fr 1.4fr 60px 70px 80px 32px;gap:6px;margin-bottom:6px}.line-row input{min-width:0;width:100%;box-sizing:border-box}
@media(max-width:800px){.line-row{grid-template-columns:1fr 1fr}}
.books-panel{display:grid;gap:12px}.inv-row{padding:6px 0;border-bottom:1px solid var(--line)}
table.ledger{width:100%;border-collapse:collapse;font-size:13px}.ledger th,.ledger td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.ledger .r{text-align:right;white-space:nowrap}.ledger th{color:var(--gold2);font-weight:600}
/* Rechnungsliste: Buttons rechtsbündig in festen Spalten */
.inv-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px}
.inv-info{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}
.inv-actions{display:grid;grid-template-columns:repeat(5,96px);gap:8px;justify-content:end}
.inv-actions .dash-btn{width:100%;padding-left:6px;padding-right:6px}
@media(max-width:1100px){.inv-row{grid-template-columns:1fr}.inv-actions{justify-content:start}}
@media(max-width:620px){.inv-actions{grid-template-columns:repeat(3,1fr)}}
.cust-invoices{display:grid;gap:4px;margin-top:8px;border-top:1px solid var(--line);padding-top:6px}
.cust-inv{display:grid;grid-template-columns:90px 90px minmax(0,1fr) auto auto auto;gap:8px;align-items:center;font-size:13px}
.cust-acts{display:flex;gap:6px;justify-content:flex-end}
/* Spesenverteiler-Tabelle */
.ledger-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}
table.sheet{min-width:1500px}.sheet th{font-size:11px;line-height:1.2;vertical-align:bottom;white-space:normal}.sheet td.nowrap{white-space:nowrap}
.sheet tr.quick td,.sheet tr.editing td{background:rgba(201,168,76,.08)}.sheet input,.sheet select{width:100%;min-width:90px}
.sheet tr.sum td{font-weight:700;border-top:2px solid var(--gold2)}
@media(max-width:700px){.cust-inv{grid-template-columns:1fr 1fr}}
.inv-table th.sortable{cursor:pointer;white-space:nowrap;user-select:none}.inv-table th.sortable:hover{color:#fff}
.inv-table .inv-actions{grid-template-columns:repeat(5,minmax(78px,auto));justify-content:end}.inv-table td:last-child{text-align:right}
.cust-link{color:var(--gold2);text-decoration:underline dotted;cursor:pointer}
.cust-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;width:100%;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:4px 0}
.cust-arrow{width:16px;color:var(--gold2)}.cust-body{display:grid;gap:10px;padding:8px 0 4px 26px}
.cust-inv{grid-template-columns:90px 90px minmax(0,1fr) auto auto auto auto}
.paid-dialog{border:1px solid var(--line);border-radius:12px;background:#0f1c36;color:#fff;padding:20px;min-width:min(420px,92vw)}.paid-dialog::backdrop{background:rgba(0,0,0,.6)}
.dash.wide{max-width:none;padding-left:12px;padding-right:12px}
.dash.wide .ledger-wrap{max-height:72vh;overflow:auto}
.sheet thead th{position:sticky;top:0;background:#0a1428;z-index:2}.sheet tr.sum td{position:sticky;bottom:0;background:#0f1c36}
details.fold{border:1px solid var(--line);border-radius:8px;padding:8px 12px}details.fold>summary{cursor:pointer;color:var(--gold2);font-weight:600}
/* Übersicht, Angebote, Projekte */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.kpi-card{border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:grid;gap:4px;background:rgba(255,255,255,.02)}.kpi-card strong{font-size:20px}.kpi-card.good strong{color:#5fd29a}.kpi-card.bad strong{color:#ff7b7b}
.card-lite{border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:grid;gap:8px}
.bar-chart{width:100%;max-width:860px;height:auto}.bar-in{fill:var(--gold2)}.bar-out{fill:#5b8def}.bar-label{fill:#9aa6bf;font-size:11px}
.wide-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.time-form{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end}
.time-line{display:grid;grid-template-columns:100px 80px minmax(0,1fr) auto auto;gap:8px;align-items:center;font-size:13px}
.cust-files{display:grid;gap:6px;border-top:1px solid var(--line);padding-top:8px}.file-line{grid-template-columns:90px minmax(0,1fr) auto auto}
.dash-btn.warnbtn{border-color:#d9a441;color:#f0c46a}
.inv-table .inv-actions{grid-template-columns:repeat(6,minmax(78px,auto))}
.inv-table .inv-actions{grid-template-columns:repeat(6,92px);justify-content:end}.inv-table .inv-actions .dash-btn{padding-left:4px;padding-right:4px;white-space:nowrap}
