:root{--bg: #f4f5f7;--surface: #ffffff;--line: #e3e6ea;--line-strong: #cfd4da;--text: #1c2126;--muted: #6b7681;--accent: #8a5a2b;--accent-soft: #f6efe7;--ok: #1f7a4d;--ok-soft: #e8f5ee;--warn: #b4501a;--warn-soft: #fdf0e7;--danger: #b3261e;--prio: #6d28d9;--prio-soft: #f3efff;--radius: 10px;--shadow: 0 1px 2px rgba(20, 26, 33, .05), 0 6px 20px rgba(20, 26, 33, .05);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:15px;color:var(--text)}*{box-sizing:border-box}body{margin:0;background:var(--bg);-webkit-font-smoothing:antialiased}h1{font-size:1.35rem;margin:0;font-weight:620}h2{font-size:1rem;margin:0;font-weight:620}h3{font-size:.95rem;margin:0;font-weight:600}p{margin:0}.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.muted{color:var(--muted)}.strong{font-weight:620}.small{font-size:.83rem}.unit{color:var(--muted);font-size:.85em}.app{display:grid;grid-template-columns:208px 1fr;min-height:100vh}.nav{background:#21262c;color:#e6e9ec;padding:20px 14px;display:flex;flex-direction:column;gap:26px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:9px}.brand-mark{background:var(--accent);color:#fff;font-weight:700;font-size:.72rem;letter-spacing:.06em;padding:5px 7px;border-radius:6px}.brand-name{font-weight:600;font-size:.95rem}.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.nav button{width:100%;text-align:left;background:none;border:0;color:#b9c0c8;padding:9px 11px;border-radius:8px;font:inherit;cursor:pointer}.nav button:hover{background:#ffffff0f;color:#fff}.nav button.active{background:#ffffff1f;color:#fff;font-weight:600}.nav-foot{margin-top:auto;font-size:.76rem;color:#7d868f;display:flex;flex-direction:column;gap:2px;min-width:0}.savestate{font-weight:620;color:#9aa3ab}.savestate-speichert{color:#d9b26a}.savestate-fehler{color:#ff8f7a}.savehint{font-size:.7rem;color:#6b747d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:var(--accent-soft);color:#6f4620;border:1px solid #e6d5c1;border-radius:var(--radius);padding:11px 14px;font-size:.88rem;margin-bottom:18px}.main{min-width:0;padding:26px 30px 80px}.page,.editor{max-width:1320px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.topbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.topbar h1{flex:1;min-width:220px}.topbar-actions{display:flex;align-items:center;gap:8px}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}.editor-main{display:flex;flex-direction:column;gap:18px;min-width:0}.editor-side{position:sticky;top:26px}@media (max-width: 1100px){.editor-grid{grid-template-columns:1fr}.editor-side{position:static}}@media (max-width: 760px){.app{grid-template-columns:1fr}.nav{position:static;height:auto;flex-direction:row;align-items:center;gap:16px}.nav ul{flex-direction:row}.nav-foot{display:none}.main{padding:18px 14px 60px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px;display:flex;flex-direction:column;gap:14px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.card-actions{display:flex;align-items:center;gap:8px}.btn{border:1px solid var(--line-strong);background:var(--surface);color:var(--text);padding:7px 13px;border-radius:8px;font:inherit;font-size:.9rem;cursor:pointer;white-space:nowrap}.btn:hover{border-color:#a9b1b9;background:#fafbfc}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:560}.btn-primary:hover{background:#764a22;border-color:#764a22}.btn-ghost{background:transparent}.btn-danger-ghost{background:transparent;color:var(--danger);border-color:#e6c8c6}.btn-danger-ghost:hover{background:#fdf3f2;border-color:var(--danger)}.btn-icon{border:0;background:none;color:var(--muted);font-size:1.05rem;line-height:1;padding:3px 6px;border-radius:6px;cursor:pointer}.btn-icon:hover{background:#f0f2f4;color:var(--text)}.btn-link{border:0;background:none;color:var(--accent);font:inherit;font-size:.82rem;cursor:pointer;padding:0 0 0 8px;text-decoration:underline}.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:8px;overflow:hidden;align-self:flex-start}.seg-btn{border:0;background:var(--surface);padding:7px 14px;font:inherit;font-size:.9rem;cursor:pointer;border-right:1px solid var(--line)}.seg-btn:last-child{border-right:0}.seg-btn.active{background:var(--accent-soft);color:var(--accent);font-weight:600}input[type=text],input[type=date],input[type=email],input[type=tel],input[type=search],input[type=password],select,textarea{font:inherit;font-size:.9rem;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:7px;padding:7px 9px;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid rgba(138,90,43,.35);outline-offset:-1px;border-color:var(--accent)}textarea{resize:vertical}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field-label{font-size:.78rem;color:var(--muted);font-weight:560}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.grid-adresse{display:grid;grid-template-columns:minmax(0,2fr) minmax(90px,1fr) minmax(0,2fr);gap:12px}@media (max-width: 760px){.grid-adresse{grid-template-columns:1fr}}.check{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--muted);white-space:nowrap}.check input{accent-color:var(--accent)}.search{width:200px}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.numfield{position:relative;display:inline-flex;align-items:center;width:100%}.numfield input{width:100%;font-variant-numeric:tabular-nums}.numfield.has-suffix input{padding-right:38px}.numfield .suffix{position:absolute;right:9px;font-size:.8rem;color:var(--muted);pointer-events:none}.table-scroll{overflow-x:auto}.postable{width:100%;border-collapse:collapse;font-size:.88rem}.postable th{text-align:left;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:620;padding:0 8px 7px;border-bottom:1px solid var(--line);white-space:nowrap}.postable td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:middle}.postable tbody tr:hover td{background:#fafbfc}.postable .col-num{text-align:right;white-space:nowrap}.postable .col-mid{text-align:center;white-space:nowrap}.postable .col-x{width:34px;text-align:right}.postable .col-name{width:42%;min-width:220px}.postable tfoot td{border-bottom:0;padding-top:10px;font-size:.88rem;color:var(--muted)}.postable tfoot .col-num{color:var(--text)}.group-row td{background:#f7f8f9;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:620;padding:5px 8px}.postable tbody tr.group-row:hover td{background:#f7f8f9}.pos-name{display:inline-block;line-height:1.35}.row-warn td{background:var(--warn-soft)}.postable tbody tr.row-warn:hover td{background:#fbe7da}.row-inactive td{opacity:.55}.clickable{cursor:pointer}.list td{padding:10px 8px}.cell-input{border:1px solid transparent;background:transparent;padding:4px 6px;border-radius:6px;width:100%;font-size:.88rem}.cell-input:hover{border-color:var(--line)}.cell-input.small{font-size:.78rem;color:var(--muted);width:190px}.cell-sub{display:flex;align-items:center;gap:8px;margin-top:2px;font-size:.8rem}.cell-sub-text{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;max-width:52ch;white-space:pre-line}.minitable{width:100%;border-collapse:collapse;font-size:.88rem}.minitable th{text-align:left;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:0 8px 6px;border-bottom:1px solid var(--line)}.minitable td{padding:5px 8px;border-bottom:1px solid var(--line)}.minitable .col-num{text-align:right}.postable-wrap{display:flex;flex-direction:column;gap:10px}.postable-foot{display:flex}.areas{display:flex;flex-direction:column;gap:12px}.area{border:1px solid var(--line);border-radius:8px;padding:12px 14px;background:#fcfcfd;display:flex;flex-direction:column;gap:10px}.area-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.area-head-right{display:flex;align-items:center;gap:4px;font-size:.9rem}.kv{margin:0;display:flex;flex-direction:column;gap:6px}.kv>div{display:flex;justify-content:space-between;gap:14px;align-items:baseline}.kv dt{color:var(--muted);font-size:.86rem}.kv dd{margin:0;font-size:.9rem}.result-line{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:12px;font-size:.9rem;color:var(--muted)}.result-line strong{font-size:1rem;color:var(--text)}.result-line.warn strong{color:var(--warn)}.banner{border-radius:8px;padding:9px 12px;font-size:.88rem}.banner-ok{background:var(--ok-soft);color:var(--ok)}.banner-warn{background:var(--warn-soft);color:var(--warn)}.pill{display:inline-block;font-size:.74rem;font-weight:620;padding:2px 8px;border-radius:999px;white-space:nowrap}.pill-ok{background:var(--ok-soft);color:var(--ok)}.pill-deviation,.pill-only-total,.pill-only-split{background:var(--warn-soft);color:var(--warn)}.tag{display:inline-block;margin-left:8px;font-size:.7rem;color:var(--muted);background:#f0f2f4;border-radius:5px;padding:1px 6px;white-space:nowrap}.tag-alt{background:var(--accent-soft);color:var(--accent)}.summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:12px}.summary-total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0}.summary-total span{font-weight:600}.summary-total strong{font-size:1.3rem}.status{border-radius:8px;padding:8px 10px;font-size:.85rem;font-weight:560}.status-ok{background:var(--ok-soft);color:var(--ok)}.status-warn{background:var(--warn-soft);color:var(--warn)}.empty{color:var(--muted);font-size:.88rem;padding:14px 0}.crash{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.crash-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;max-width:560px;display:flex;flex-direction:column;gap:14px}.crash-box pre{margin:0;background:#f7f8f9;border-radius:8px;padding:10px 12px;font-size:.82rem;color:var(--warn);overflow-x:auto;white-space:pre-wrap}.picker{position:relative}.picker-panel{position:absolute;z-index:40;top:calc(100% + 6px);left:0;width:460px;max-width:88vw;background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;box-shadow:0 12px 34px #141a2129;overflow:hidden}.picker-search{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 12px}.picker-search:focus{outline:none;border-color:var(--line)}.picker-list{max-height:340px;overflow-y:auto}.picker-group-head{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:620;padding:8px 12px 4px;background:#f7f8f9}.picker-item{display:flex;justify-content:space-between;align-items:baseline;gap:12px;width:100%;border:0;background:none;font:inherit;font-size:.87rem;text-align:left;padding:7px 12px;cursor:pointer}.picker-item:hover:not(:disabled){background:var(--accent-soft)}.picker-item:disabled{color:var(--muted);cursor:default}.picker-item-meta{font-size:.78rem;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.anmelde-seite{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.anmelde-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;width:100%;max-width:360px;display:flex;flex-direction:column;gap:16px}.anmelde-marke{display:flex;align-items:center;gap:10px;font-weight:620;font-size:1.05rem;margin-bottom:4px}.anmelde-fehler{background:#fdf3f2;border:1px solid #e6c8c6;color:var(--danger);border-radius:8px;padding:9px 11px;font-size:.86rem}.anmelde-knopf{padding:10px 13px;font-size:.95rem}.anmelde-knopf:disabled{opacity:.6;cursor:default}.nav-benutzer{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1);font-size:.78rem;color:#b9c0c8}.btn-link.hell{color:#9aa3ab;font-size:.76rem;padding:0}.btn-link.hell:hover{color:#fff}.teil-name{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.teil-name .btn-link{font-size:.74rem;padding:0;text-decoration:none;border-bottom:1px dotted currentColor}.row-neu td{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.postable tbody tr.row-neu:hover td{background:#f1e6d9}.nav-zaehler{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;margin-left:8px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:.7rem;font-weight:700;line-height:1}.filter-select{border:1px solid var(--line-strong);background:var(--surface);color:var(--text);border-radius:8px;padding:7px 10px;font:inherit;font-size:.9rem;width:auto}.banner-faellig{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fdf1f0;color:var(--danger);border:1px solid #f0cfcd}.banner-faellig .btn-link{color:var(--danger);white-space:nowrap}.postable tbody tr.row-wartet td{background:var(--warn-soft)}.postable tbody tr.row-wartet:hover td{background:#fbe4d3}.postable tbody tr.row-wartet td:first-child{box-shadow:inset 3px 0 0 var(--warn)}.row-wartet .pos-name{color:var(--warn)}.row-wartet .faellig-punkt{background:var(--warn)}.postable tbody tr.row-faellig td{background:#fdf1f0}.postable tbody tr.row-faellig:hover td{background:#fbe6e4}.postable tbody tr.row-faellig td:first-child{box-shadow:inset 3px 0 0 var(--danger)}.row-faellig .pos-name{color:var(--danger)}.faellig-punkt{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--danger);vertical-align:middle}.postable .col-notiz{width:34%;font-size:.85rem;line-height:1.45}.postable tbody tr.row-prio td{background:var(--prio-soft)}.postable tbody tr.row-prio:hover td{background:#ebe3fd}.postable tbody tr.row-prio td:first-child{box-shadow:inset 3px 0 0 var(--prio)}.row-prio .pos-name{color:var(--prio)}.prio-marke{margin-left:8px;padding:1px 7px;border-radius:999px;background:var(--prio);color:#fff;font-size:.68rem;font-weight:700;white-space:nowrap}.prio-schalter{border:1px solid var(--line-strong);background:var(--surface);color:var(--text);padding:8px 12px;border-radius:8px;font:inherit;font-size:.9rem;cursor:pointer;text-align:left}.prio-schalter:hover{border-color:var(--prio)}.prio-schalter.active{background:var(--prio);border-color:var(--prio);color:#fff;font-weight:560}.pill-status-wartet_auf_ag,.pill-status-nachfassen{background:var(--warn-soft);color:var(--warn)}.pill-status-ag_verschickt{background:var(--accent-soft);color:var(--accent)}.pill-status-warten_rueckmeldung{background:#eaf1f7;color:#2f5d80}.pill-status-gewonnen{background:var(--ok-soft);color:var(--ok)}.pill-status-verloren{background:#f0f2f4;color:var(--muted)}.status-wahl{display:flex;flex-direction:column;gap:4px}.status-knopf{border:1px solid var(--line);background:var(--surface);color:var(--text);text-align:left;padding:7px 11px;border-radius:8px;font:inherit;font-size:.88rem;cursor:pointer}.status-knopf:hover{border-color:var(--line-strong);background:#fafbfc}.status-knopf.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:560}.fristen{display:flex;flex-wrap:wrap;gap:6px}.fristen .btn{padding:5px 9px;font-size:.82rem}.notiz-eingabe{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.notiz-eingabe textarea{width:100%}.notizen{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.notizen li{border-left:2px solid var(--line-strong);padding:2px 0 2px 12px}.notiz-kopf{display:flex;align-items:center;justify-content:space-between;gap:8px}.notiz-knoepfe{display:flex;gap:2px;flex-shrink:0}.notiz-text{white-space:pre-wrap;font-size:.92rem;line-height:1.45}.kunde-wahl{display:flex;gap:6px}.kunde-wahl select,.kunde-wahl input{flex:1 1 auto;min-width:0}.kunde-hinweis{display:block;margin-top:4px;min-height:1.1em}.kunde-hinweis .btn-link{padding-left:0}.row-text td{background:#fafbfc;padding:12px 14px 8px;border-bottom:1px solid var(--line)}.row-text .angebotstext{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}@media (max-width: 760px){.row-text .angebotstext{grid-template-columns:1fr}}.btn-link.small{font-size:.78rem}.vorlage-logo{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.vorlage-logo img{max-height:64px;max-width:180px;border:1px solid var(--line);border-radius:6px;padding:4px;background:#fff}.vorlage-logo .platzhalter{width:120px;height:56px;border:1px dashed var(--line-strong);border-radius:6px;display:grid;place-items:center;color:var(--muted);font-size:.78rem}.area-text{border:1px dashed var(--line-strong);border-radius:8px;padding:10px 12px;background:#fff;display:flex;flex-direction:column;gap:10px}.area-text-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:12px}@media (max-width: 760px){.area-text-grid{grid-template-columns:1fr}}.area-menge{display:flex;gap:6px}.area-menge .numfield{flex:1}.area-menge select{width:90px}.area-text-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center}.vorlage-abschnitt{margin:8px 0 0;font-size:.95rem}.vorlage-gruppe{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}@media (max-width: 760px){.vorlage-gruppe{grid-template-columns:1fr}}.notice-fehler{background:#fdf3f2;border-color:var(--danger);color:var(--danger)}.anmelde-hinweis{margin:0 0 4px;padding:8px 10px;border-radius:7px;background:#fff7ed;color:#9a5b1c;font-size:.85rem}.preis-zelle{display:flex;align-items:center;justify-content:flex-end;gap:6px}.preis-zelle .btn-link{font-size:.72rem;padding:0;text-decoration:line-through;white-space:nowrap}
