/* Layout: Kopfzeile mit beiden Marken, Kennzahlen-Leiste, Filter, dann zwei Kanban-Boards untereinander (SOL-LIVING rot, Finanz360 tinte). */
:root{
  --bg:#f6f4f4; --surface:#ffffff; --surface-2:#eeeaea; --line:#e0dada;
  --ink:#1d1a1b; --muted:#6c6364;
  --sol:#e00000; --sol-soft:#fde8e8; --on-sol:#ffffff;
  --fin:#262a33; --fin-soft:#e7e9ee; --on-fin:#ffffff;
  --good:#1d7a4b; --good-soft:#e2f3ea; --warn:#9a6200; --warn-soft:#fbf0dc; --lost:#7b7172; --lost-soft:#efeaea;
  --logo-fin-filter:none;
  --shadow:0 1px 2px rgba(40,20,20,.06),0 2px 8px rgba(40,20,20,.05);
  --font-display:"Archivo","Arial Narrow",Arial,sans-serif;
  --font-body:"Source Sans 3","Segoe UI",system-ui,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#141213; --surface:#1e1b1c; --surface-2:#282425; --line:#393334;
  --ink:#f2eeee; --muted:#a89fa0;
  --sol:#ff4338; --sol-soft:#3a1d1c; --on-sol:#1a0605;
  --fin:#d6dae3; --fin-soft:#2a2d34; --on-fin:#15171c;
  --good:#5cc995; --good-soft:#18301f; --warn:#f0b55a; --warn-soft:#352812; --lost:#a69c9d; --lost-soft:#2a2627;
  --logo-fin-filter:invert(1);
  --shadow:0 1px 2px rgba(0,0,0,.4);
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#141213; --surface:#1e1b1c; --surface-2:#282425; --line:#393334;
  --ink:#f2eeee; --muted:#a89fa0;
  --sol:#ff4338; --sol-soft:#3a1d1c; --on-sol:#1a0605;
  --fin:#d6dae3; --fin-soft:#2a2d34; --on-fin:#15171c;
  --good:#5cc995; --good-soft:#18301f; --warn:#f0b55a; --warn-soft:#352812; --lost:#a69c9d; --lost-soft:#2a2627;
  --logo-fin-filter:invert(1);
  --shadow:0 1px 2px rgba(0,0,0,.4);
  color-scheme:dark}

*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.45}
.wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));max-width:1600px;margin:0 auto}
h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0}
button,select,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--sol);outline-offset:2px}

/* Kopfzeile */
.top{background:var(--surface);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding-block:14px}
.brand{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;min-width:0}
@media (max-width:520px){.brand img.sol{height:20px}.brand img.fin{height:42px}.brand h1{display:none}.viewas select{max-width:180px}}
.brand img.sol{height:26px;width:auto}
.brand img.fin{height:54px;width:auto;filter:var(--logo-fin-filter)}
.brand .x{font-family:var(--font-display);font-weight:500;color:var(--muted);font-size:18px}
.brand h1{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-left:1px solid var(--line);padding-left:14px}
.top .tools{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.viewas{display:flex;align-items:center;gap:8px;background:var(--surface-2);border-radius:8px;padding:4px 4px 4px 10px}
.viewas label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.viewas select{border:0;background:var(--surface);border-radius:6px;padding:6px 8px;max-width:240px}
.demo-note{background:var(--warn-soft);color:var(--warn);font-size:13px}
.demo-note .wrap{padding-block:6px;display:flex;flex-wrap:wrap;gap:4px 16px;justify-content:space-between}
.demo-note button{background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer;padding:0}

.btn{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:7px 12px;cursor:pointer;font-weight:600;font-size:14px;white-space:nowrap}
.btn:hover{background:var(--surface-2)}
.btn.primary{background:var(--sol);border-color:var(--sol);color:var(--on-sol)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.dark{background:var(--fin);border-color:var(--fin);color:var(--on-fin)}
.btn.danger{color:var(--sol)}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* Kennzahlen */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;padding-block:18px 6px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;min-width:0}
.kpi .k{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.kpi .v{font-family:var(--font-display);font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.15;margin-top:4px;font-stretch:110%}
.kpi .s{font-size:13px;color:var(--muted)}
.kpi.sol .v{color:var(--sol)}

/* Filter */
.filters{display:flex;flex-wrap:wrap;gap:8px;padding-block:12px;align-items:center}
.filters input,.filters select{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:7px 10px;min-width:0}
.filters input{flex:1 1 220px}
.filters select{flex:0 1 auto}

/* Boards */
.board{margin-block:14px 26px}
.board-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:10px}
.board-head h2{font-size:22px;font-weight:800;font-stretch:115%;display:flex;align-items:center;gap:10px}
.board-head h2 .tag{width:12px;height:12px;border-radius:3px;background:var(--sol)}
.board[data-org="fin"] .board-head h2 .tag{background:var(--fin)}
.board-head p{margin:2px 0 0;color:var(--muted);font-size:14px}
.board-head .actions{display:flex;gap:8px;flex-wrap:wrap}
.cols-scroll{overflow-x:auto;padding-bottom:6px}
.cols{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:10px;min-width:min-content}
.col{background:var(--surface-2);border-radius:10px;display:flex;flex-direction:column;min-width:0}
.col-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px 8px;font-weight:700;font-size:14px;border-top:3px solid var(--sol);border-radius:10px 10px 0 0}
.board[data-org="fin"] .col-head{border-top-color:var(--fin)}
.col[data-tone="good"] .col-head{border-top-color:var(--good)}
.col[data-tone="bad"] .col-head{border-top-color:var(--lost)}
.col-head .count{font-family:var(--font-display);font-variant-numeric:tabular-nums;background:var(--surface);border-radius:20px;padding:1px 9px;font-size:13px}
.col-body{display:flex;flex-direction:column;gap:8px;padding:4px 8px 10px;min-height:90px;flex:1;border-radius:0 0 10px 10px;transition:background .15s}
.col-body.over{background:var(--sol-soft);outline:2px dashed var(--sol);outline-offset:-4px}
.board[data-org="fin"] .col-body.over{background:var(--fin-soft);outline-color:var(--fin)}
.empty{color:var(--muted);font-size:13px;text-align:center;padding:14px 6px}

.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 11px;box-shadow:var(--shadow);cursor:pointer;display:flex;flex-direction:column;gap:6px;text-align:left;width:100%}
.card[draggable="true"]{cursor:grab}
.card.dragging{opacity:.45}
.card:hover{border-color:var(--muted)}
.card.ro{background:transparent;box-shadow:none;border-style:dashed}
.card-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.card-top strong{font-size:15px;line-height:1.25;overflow-wrap:anywhere}
.avatar{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;background:var(--sol-soft);color:var(--sol)}
.avatar.fin{background:var(--fin-soft);color:var(--fin)}
.avatar.none{background:var(--warn-soft);color:var(--warn)}
.meta{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:2px 10px}
.meta svg{width:13px;height:13px;vertical-align:-2px;margin-right:3px}
.chips{display:flex;flex-wrap:wrap;gap:4px}
.chip{font-size:12px;font-weight:600;padding:1px 8px;border-radius:20px;background:var(--surface-2);color:var(--ink);white-space:nowrap}
.chip.partner{background:var(--fin-soft);color:var(--fin)}
.chip.fromsol{background:var(--sol-soft);color:var(--sol)}
.chip.warn{background:var(--warn-soft);color:var(--warn)}
.amount{font-family:var(--font-display);font-weight:700;font-variant-numeric:tabular-nums;font-size:16px}
.status{font-size:12px;font-weight:700;padding:5px 8px;border-radius:6px;display:flex;justify-content:space-between;gap:8px}
.status.s-anfrage,.status.s-terminiert{background:var(--warn-soft);color:var(--warn)}
.status.s-bewilligt,.status.s-gewonnen{background:var(--good-soft);color:var(--good)}
.status.s-abgelehnt,.status.s-verloren{background:var(--lost-soft);color:var(--lost)}
.status.s-bar{background:var(--surface-2);color:var(--muted)}
.status.prov-aus{background:var(--warn-soft);color:var(--warn)}
.status.prov-bez{background:var(--good-soft);color:var(--good)}
.prov{background:var(--surface-2);border-radius:8px;padding:12px;margin-bottom:12px;display:flex;flex-direction:column;gap:10px}
.prov-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center}
.prov-head strong{font-family:var(--font-display);font-size:16px}
.kpi.good .v{color:var(--good)}
.status.prov-wait{background:var(--surface-2);color:var(--muted)}
.status.prov-none{background:var(--lost-soft);color:var(--lost)}
button.kpi{font:inherit;text-align:left;cursor:pointer;color:inherit}
button.kpi:hover{border-color:var(--muted)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-top:4px}
.tabs button{border:0;background:none;padding:10px 14px;font-weight:700;font-size:15px;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1px;cursor:pointer;display:flex;gap:8px;align-items:center}
.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--sol)}
.tabs .count{font-family:var(--font-display);font-variant-numeric:tabular-nums;background:var(--warn-soft);color:var(--warn);border-radius:20px;padding:0 8px;font-size:13px}
.prov-intro{color:var(--muted);font-size:14px;margin:14px 0 10px;max-width:75ch}
.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-bottom:30px}
table.ptab{border-collapse:collapse;width:100%;min-width:860px;font-size:14px}
.ptab th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.ptab td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.ptab tr:last-child td{border-bottom:0}
.ptab td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.ptab .sub{color:var(--muted);font-size:13px}
.ptab .status{display:inline-flex;white-space:nowrap}
.ptab tfoot td{font-weight:700;background:var(--surface-2)}
.kpi.warn .v{color:var(--warn)}
.status.s-neu,.status.s-ersttermin,.status.s-angebot{background:var(--surface-2);color:var(--ink)}
.reason{font-size:13px;color:var(--lost);font-style:italic}

/* Dialog */
dialog{border:0;border-radius:14px;padding:0;background:var(--surface);color:var(--ink);width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-shadow:0 20px 60px rgba(0,0,0,.3)}
dialog::backdrop{background:rgba(20,10,10,.45)}
.dlg{display:flex;flex-direction:column;max-height:calc(100dvh - 24px)}
.dlg-head{padding:16px 20px 10px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.dlg-head h3{font-size:19px;font-weight:800;font-stretch:110%}
.dlg-head p{margin:2px 0 0;color:var(--muted);font-size:14px}
.dlg-x{border:0;background:none;font-size:22px;line-height:1;cursor:pointer;color:var(--muted);padding:2px 6px}
.dlg-body{padding:14px 20px;overflow:auto}
.dlg-foot{padding:12px 20px 16px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.dlg-foot .left{margin-right:auto}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.grid .full{grid-column:1/-1}
@media (max-width:520px){.grid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:4px;min-width:0}
.field label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.field input,.field select,.field textarea{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 10px;width:100%}
.field textarea{min-height:70px;resize:vertical}
.field input:disabled,.field select:disabled,.field textarea:disabled{opacity:.8}
.choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.choice label{border:2px solid var(--line);border-radius:10px;padding:12px;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.choice label:has(input:checked){border-color:var(--sol);background:var(--sol-soft)}
.choice input{position:absolute;opacity:0}
.choice strong{font-family:var(--font-display);font-size:16px}
.choice span{font-size:13px;color:var(--muted)}
.consent{display:flex;gap:10px;align-items:flex-start;background:var(--surface-2);border-radius:8px;padding:10px 12px;font-size:14px}
.consent input{margin-top:3px;flex:none;width:18px;height:18px;accent-color:var(--sol)}
.note{font-size:13px;color:var(--muted);margin:10px 0 0}
.mail{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.mail .row{display:flex;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line);font-size:14px}
.mail .row b{width:60px;color:var(--muted);font-weight:600;flex:none}
.mail .row span{min-width:0;overflow-wrap:anywhere;user-select:all}
.mail pre{margin:0;padding:12px;white-space:pre-wrap;font-family:var(--font-body);font-size:14px;background:var(--bg);user-select:text}
.linked{background:var(--surface-2);border-radius:8px;padding:10px 12px;margin-bottom:12px;font-size:14px;display:flex;flex-direction:column;gap:6px}
textarea.csv{width:100%;min-height:220px;font-family:ui-monospace,Menlo,monospace;font-size:12px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px}

.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;font-weight:600;font-size:14px;z-index:50;max-width:calc(100vw - 32px)}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---- Live-Version: Ergänzungen ---- */
.toast.error{background:var(--sol);color:var(--on-sol)}
.kpi .of{font-size:16px;color:var(--muted)}
.chip.ok{background:var(--good-soft);color:var(--good)}
.who{font-size:14px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}
h4.sec{font-family:var(--font-display);font-size:15px;margin:18px 0 8px}
table.ptab.small{min-width:520px}
.ptab td.acts{text-align:right;white-space:nowrap}
.ptab td.acts .btn+.btn{margin-left:6px}
.ptab td.acts .btn{font-size:13px;padding:5px 9px}

/* Anmeldeseiten */
.auth{min-height:100%;display:grid;place-items:center;padding-block:40px}
.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px 26px;width:min(420px,100%);display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow)}
.auth-card .brand{justify-content:center}
.auth-card h1{font-size:22px;font-weight:800;font-stretch:110%;text-align:center}
.auth-card p{margin:0;color:var(--muted);font-size:14px;text-align:center}
.auth-card form{display:flex;flex-direction:column;gap:12px}
.auth-card .btn{width:100%;padding:10px 12px}
.auth-card .err{color:var(--sol);font-size:14px;text-align:center;min-height:1.2em}
.auth-card .qr{display:flex;flex-direction:column;align-items:center;gap:8px}
.auth-card .qr img{background:#fff;padding:8px;border-radius:8px;width:220px;height:220px}
.auth-card code{font-size:13px;word-break:break-all;background:var(--surface-2);padding:4px 8px;border-radius:6px}
.code-input{font-size:24px!important;letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums}
[hidden]{display:none!important}
html,body{height:100%;margin:0}
a.btn{text-decoration:none;color:var(--ink);display:inline-block}
.acts-row{display:flex;flex-wrap:wrap;gap:6px}
.acts-row .btn{font-size:13px;padding:5px 9px}
.linked .mail pre{font-size:13px;word-break:break-all}
