:root {
      --petrol-950:#123642; --petrol-900:#164a5b; --petrol-800:#17677c; --cyan:#21a3c7;
      --logo-green:#80b82d; --logo-green-dark:#5c8f1f; --logo-green-soft:#eef6df;
      --cyan-soft:#e8f7fb; --gold:#f2b900; --gold-soft:#fff5cf; --ink:#14313c;
      --muted:#6c828b; --line:#d7e2e6; --surface:#fff; --surface-2:#f5f8f9;
      --success:#269a73; --success-soft:#e7f7ef; --warning:#b77912; --warning-soft:#fff4db;
      --danger:#c55353; --shadow:0 10px 28px rgba(18,54,66,.09); --radius:9px;
    }
    *{box-sizing:border-box}
    html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#eef3f5}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(33,163,199,.35);outline-offset:2px}
    .app{min-height:100vh;display:flex;flex-direction:column}
    .topbar{height:64px;background:var(--logo-green);color:#17310b;display:flex;align-items:center;gap:18px;padding:0 24px;box-shadow:0 2px 9px rgba(0,0,0,.18);position:sticky;top:0;z-index:20}
    .brand{display:flex;align-items:center;gap:11px;min-width:260px;font-weight:600;letter-spacing:-.02em}.brand-logo-link{width:96px;height:44px;display:grid;place-items:center;padding:4px 8px;border:1px solid rgba(23,49,11,.25);border-radius:6px;background:#fff;box-shadow:0 2px 5px rgba(31,58,12,.16)}.brand-logo-link:hover{background:#f8fbf2;border-color:var(--logo-green-dark)}.brand-logo-link:focus-visible{outline:3px solid rgba(255,255,255,.85);outline-offset:3px}.brand-logo{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.product-title{font-size:15px;font-weight:600;letter-spacing:-.02em;white-space:nowrap;color:#17310b;padding-right:18px;border-right:1px solid rgba(23,49,11,.22)}
    .brand-mark{width:34px;height:34px;border-radius:8px;background:var(--logo-green);display:grid;place-items:center;position:relative;box-shadow:5px 5px 0 rgba(242,185,0,.9)}
    .brand-mark:before,.brand-mark:after{content:"";position:absolute;background:#fff;border-radius:1px;width:17px;height:2px;left:8px}.brand-mark:before{top:12px}.brand-mark:after{top:19px}
    .top-context{border-left:1px solid rgba(255,255,255,.2);padding-left:18px;min-width:0;flex:1}.top-context .eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#eff8df;font-weight:600}.top-context .company{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#17310b}
    .top-actions{display:flex;align-items:center;gap:9px}.top-button{border:1px solid rgba(23,49,11,.28);background:rgba(255,255,255,.18);color:#17310b;border-radius:6px;padding:8px 12px;font-size:12px;font-weight:600}.top-button:hover{background:rgba(255,255,255,.34)}
    .layout{display:flex;flex:1;min-height:calc(100vh - 64px)}
    .sidebar{width:282px;background:#fbfcfc;border-right:1px solid var(--line);display:flex;flex-direction:column;flex-shrink:0;height:calc(100vh - 64px);position:sticky;top:64px;overflow:hidden}.sidebar .nav{overflow-y:auto;min-height:0;scrollbar-width:thin}
    .side-head{padding:19px 20px 14px;border-bottom:1px solid var(--line)}
    .side-head .kicker{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--cyan);font-weight:600}.side-head h2{margin:6px 0 3px;font-size:17px}.side-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.side-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:13px}.side-actions button,.side-actions .secondary{font-size:10px;padding:7px 8px}.file-button{cursor:pointer}.file-button input{display:none}.save-state{color:#8a9ba0;font-size:10px;margin-top:7px}
    .side-progress{padding:13px 20px;border-bottom:1px solid var(--line)}.progress-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700}.progress-row span:last-child{color:var(--cyan)}.progress-track{height:6px;border-radius:99px;background:#e5edef;margin-top:8px;overflow:hidden}.progress-track>i{height:100%;display:block;background:linear-gradient(90deg,var(--cyan),#70cdd8);border-radius:99px;transition:width .35s ease}
    .nav{padding:11px 9px 18px}.nav-group{margin:8px 11px 6px;font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#8da1a7;font-weight:600}.nav-item{width:100%;display:flex;align-items:center;gap:9px;border:0;background:transparent;color:#52686f;text-align:left;border-radius:6px;padding:9px 10px;margin:2px 0;font-size:12px;min-height:38px}.nav-item:hover{background:#edf7f9;color:var(--petrol-800)}.nav-item.active{background:var(--cyan-soft);color:var(--petrol-900);font-weight:600;box-shadow:inset 3px 0 0 var(--cyan)}.nav-icon{width:21px;height:21px;border-radius:5px;display:grid;place-items:center;background:#e5f2f5;color:var(--petrol-800);font-size:10px;font-weight:600;flex-shrink:0}.nav-item.active .nav-icon{background:var(--cyan);color:#fff}.nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-count{font-size:10px;color:#81949a;white-space:nowrap}.nav-status{width:7px;height:7px;border-radius:50%;background:#cbd7da}.nav-status.done{background:var(--success)}.nav-status.warn{background:var(--gold)}
    .main{flex:1;min-width:0;overflow:auto}.main-inner{max-width:1220px;margin:0 auto;padding:27px 36px 70px}.dashboard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--cyan);font-weight:600}.dashboard-head h1{font-size:28px;letter-spacing:-.035em;margin:7px 0 6px;color:var(--petrol-950)}.dashboard-head p{color:var(--muted);margin:0;font-size:14px}.primary{background:var(--logo-green);border:0;color:#17310b;font-weight:600;border-radius:6px;padding:11px 16px;box-shadow:0 3px 6px rgba(92,143,31,.24)}.primary:hover{background:var(--logo-green-dark);color:#fff}.secondary{background:#fff;border:1px solid #c8dda6;color:#4e761c;font-weight:600;border-radius:6px;padding:10px 14px}.secondary:hover{border-color:var(--logo-green);background:var(--logo-green-soft);color:#3f6514}.gold{background:var(--gold);border:0;color:#2e290c;font-weight:600;border-radius:6px;padding:11px 16px;box-shadow:0 3px 6px rgba(242,185,0,.22)}.ghost{background:transparent;border:0;color:#4e761c;font-weight:600;padding:8px}.ghost:hover{color:#3f6514}.danger{color:var(--danger)}
    /* Kanzlei-KES Button-System */
    .top-button{border-color:rgba(23,49,11,.28);background:rgba(255,255,255,.18);color:#17310b}.top-button:hover{background:rgba(255,255,255,.34);border-color:rgba(23,49,11,.42)}
    .side-actions .secondary,.table-actions .secondary,.modal-foot .secondary{border-color:#c8dda6;color:#4e761c}.side-actions .secondary:hover,.table-actions .secondary:hover,.modal-foot .secondary:hover{background:var(--logo-green-soft);border-color:var(--logo-green)}
    .nav-item:hover{background:var(--logo-green-soft);color:#4e761c}.nav-item.active{background:var(--logo-green-soft);color:#355815;box-shadow:inset 3px 0 0 var(--logo-green)}.nav-item.active .nav-icon{background:var(--logo-green);color:#17310b}.nav-icon{background:#edf5e2;color:#5c8f1f}
    .bool-row button.selected{background:var(--logo-green-soft);border-color:var(--logo-green);color:#4e761c}.bool-row button:hover{border-color:var(--logo-green);background:var(--logo-green-soft)}
    .check input{accent-color:var(--logo-green)}.check:hover{border-color:#b4d38a;background:var(--logo-green-soft)}
    .add-entry{border-color:#b4d38a;background:#f7fbed;color:#4e761c}.add-entry:hover{background:var(--logo-green-soft);border-color:var(--logo-green)}
    .suggestion-box button{border-color:#c8dda6;color:#4e761c}.suggestion-box button:hover{border-color:var(--logo-green);background:var(--logo-green-soft)}
    .proposal-actions .accept{background:var(--logo-green);border-color:var(--logo-green);color:#17310b}.proposal-actions .accept:hover{background:var(--logo-green-dark);color:#fff}.proposal-actions .reject{border-color:#c8dda6;color:#4e761c}.proposal-actions .reject:hover{background:var(--logo-green-soft);border-color:var(--logo-green)}
    .datev-results button.primary{background:var(--logo-green);color:#17310b}.datev-results button.primary:hover{background:var(--logo-green-dark);color:#fff}
    .notice{border:1px solid #b5dce5;background:#f0fbfd;padding:15px 17px;display:flex;align-items:center;gap:14px;margin-bottom:23px}.notice .notice-mark{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--cyan);color:#fff;font-weight:700}.notice b{font-size:14px}.notice p{font-size:12px;margin:3px 0 0;color:var(--muted)}.notice .spacer{flex:1}
    .table-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.table-toolbar{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.search{background:#f2f5f6;border:1px solid #dce6e8;border-radius:5px;padding:10px 12px;min-width:240px;color:var(--ink)}.search::placeholder{color:#9aaeb3}.table{width:100%;border-collapse:collapse}.table th{background:#f0f3f4;color:#6a7e83;font-size:11px;text-transform:uppercase;letter-spacing:.08em;text-align:left;padding:12px 16px}.table td{padding:16px;border-top:1px solid var(--line);font-size:13px;vertical-align:middle}.table tr:hover td{background:#fbfefe}.company-cell{display:flex;align-items:center;gap:11px;font-weight:600}.company-dot{width:30px;height:30px;border-radius:50%;background:var(--gold-soft);color:#926900;display:grid;place-items:center;font-weight:700}.muted{color:var(--muted)}.status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:5px 9px;font-size:11px;font-weight:600}.status-pill.green{background:var(--success-soft);color:#19704f}.status-pill.amber{background:var(--warning-soft);color:#95610d}.status-pill.blue{background:var(--cyan-soft);color:var(--petrol-800)}.table-actions{display:flex;gap:8px;justify-content:flex-end}.table-actions button{font-size:11px;padding:8px 10px}
    .table-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:18px}.table-heading-actions{justify-content:flex-end}.table-sort-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;background:transparent;color:inherit;padding:0;text-align:left;font-size:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit}.table-sort-button:hover,.table-sort-button:focus-visible{color:var(--petrol-900)}.table-sort-button.active{color:var(--petrol-800)}.sort-arrow{display:inline-grid;place-items:center;min-width:18px;height:18px;border:1px solid #cbd9dc;border-radius:4px;background:#fff;color:var(--petrol-800);font-size:14px;line-height:1;text-transform:none;letter-spacing:0}.table-sort-button.active .sort-arrow{border-color:var(--cyan);background:var(--cyan-soft);font-weight:700}.table-filter-reset{margin-left:auto;background:#fff;border:1px solid #c8dda6;border-radius:5px;color:#4e761c;font-size:11px;font-weight:600;padding:8px 10px}.table-filter-reset:hover{background:var(--logo-green-soft);border-color:var(--logo-green)}.table-result-count{white-space:nowrap}
    .editor-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:15px}.editor-header h1{margin:6px 0 5px;font-size:25px;letter-spacing:-.035em}.editor-header p{margin:0;color:var(--muted);font-size:13px}.editor-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.workflow{display:flex;background:#fff;border:1px solid var(--line);box-shadow:0 5px 16px rgba(18,54,66,.05);margin-bottom:18px;border-radius:8px;overflow:auto}.step{display:flex;align-items:center;gap:9px;padding:13px 15px;border-right:1px solid var(--line);min-width:135px;flex:1}.step:last-child{border-right:0}.step-num{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;background:#edf2f3;color:#799198}.step.done .step-num{background:var(--success);color:#fff}.step.active{background:#f3fbfd}.step.active .step-num{background:var(--cyan);color:#fff}.step strong{font-size:11px;display:block}.step small{display:block;color:var(--muted);font-size:10px;margin-top:2px;white-space:nowrap}
    .maintenance-banner{background:var(--gold-soft);border:1px solid #efd57e;padding:12px 15px;display:flex;align-items:center;gap:12px;border-radius:7px;margin-bottom:18px;font-size:12px}.maintenance-banner b{color:#7c5b0a}.maintenance-banner span{color:#826c31}.maintenance-banner .spacer{flex:1}
    .readonly-banner{background:#eef7f8;border:1px solid #b7dce2;color:var(--petrol-900);padding:10px 13px;border-radius:7px;margin-bottom:18px;font-size:11px;display:flex;align-items:center;gap:9px}.readonly-banner strong{font-size:11px}.readonly-banner .spacer{flex:1}.readonly-banner code{font-size:10px;background:#fff;padding:3px 5px;border-radius:4px;color:var(--petrol-800)}
    .content-grid{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:20px;align-items:start}.section-card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);overflow:hidden}.section-card-head{padding:20px 22px 15px;border-bottom:1px solid var(--line)}.section-card-head h2{margin:0 0 5px;font-size:21px;letter-spacing:-.025em}.section-card-head p{color:var(--muted);font-size:13px;line-height:1.5;margin:0;max-width:800px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 19px;padding:21px 22px}
    .field-info{grid-column:1 / -1;padding:2px 0 0;color:var(--petrol-900);font-size:13px;font-weight:600;letter-spacing:-.01em;border-top:1px solid var(--line);padding-top:14px;margin-top:2px}.field{min-width:0}.field.full{grid-column:1 / -1}.field label{display:flex;align-items:flex-start;gap:7px;font-weight:600;font-size:12px;margin-bottom:7px;color:#274851}.required{color:var(--cyan);font-size:12px}.field-help{font-size:11px;color:var(--muted);line-height:1.45;margin:-2px 0 7px}.control,.field textarea,.field select{width:100%;border:1px solid #cbdade;background:#fff;border-radius:5px;padding:10px 11px;color:var(--ink);font-size:13px;transition:border .15s,box-shadow .15s}.control:hover,.field textarea:hover,.field select:hover{border-color:#8bc6d2}.field textarea{min-height:90px;resize:vertical;line-height:1.45}.control:focus,.field textarea:focus,.field select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(33,163,199,.12);outline:0}.control-wrap{position:relative}.source-badge{position:absolute;right:7px;top:7px;font-size:9px;font-weight:600;border-radius:4px;padding:3px 5px;background:#edf2f3;color:#70858b;pointer-events:none}.source-badge.datev{background:var(--cyan-soft);color:var(--petrol-800)}.source-badge.ki{background:#f0eafb;color:#694aa1}.source-badge.manual{background:#f2f5f6;color:#6d7f84}.source-badge.changed{background:var(--gold-soft);color:#8d690d}.checkboxes{display:flex;flex-wrap:wrap;gap:8px}.check{display:flex;align-items:center;gap:7px;background:#f6f9fa;border:1px solid #d9e5e8;border-radius:5px;padding:8px 10px;font-size:12px}.check input{accent-color:var(--cyan)}.bool-row{display:flex;gap:8px}.bool-row button{flex:1;padding:10px;border:1px solid #cbdade;background:#fff;color:var(--muted);border-radius:5px;font-size:12px;font-weight:600}.bool-row button.selected{background:var(--cyan-soft);border-color:var(--cyan);color:var(--petrol-800)}.field-footer{display:flex;align-items:center;gap:8px;margin-top:7px;min-height:19px}.field-footer .source-text{font-size:10px;color:#8a9ba0}.suggest-button{margin-left:auto;border:0;background:transparent;color:#7253a5;font-size:10px;font-weight:600;padding:3px}.suggest-button:hover{text-decoration:underline}.suggestion-box{margin-top:8px;border-left:3px solid #9c7cc8;background:#f7f3fc;padding:9px 10px;font-size:12px;line-height:1.45;color:#56407c}.suggestion-box button{margin-top:6px;background:#fff;border:1px solid #d7c9ea;border-radius:4px;color:#694aa1;font-size:10px;padding:5px 7px;font-weight:600}
    .list-guidance{border:1px solid #cfe0b1;background:#f7fbed;padding:13px 15px;display:flex;align-items:flex-start;gap:11px;margin-bottom:14px;border-radius:7px;color:#36531a}.list-guidance-mark{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:var(--logo-green);color:#17310b;font-size:12px;font-weight:700}.list-guidance strong{font-size:12px}.list-guidance p{font-size:11px;line-height:1.5;margin:4px 0 0;color:#587044}.list-area{padding:20px 22px}.list-entry{border:1px solid #d9e5e8;border-radius:7px;margin-bottom:13px;overflow:hidden}.list-entry-head{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f4f8f9;padding:11px 13px;border-bottom:1px solid #d9e5e8}.list-entry-head strong{font-size:12px}.list-entry-actions{display:flex;align-items:center;gap:10px;min-width:0}.list-entry-head span{font-size:10px;color:var(--muted)}.remove-entry{border:1px solid #e2b9b9;background:#fff7f7;color:#a54848;border-radius:5px;padding:5px 8px;font-size:10px;font-weight:600;white-space:nowrap}.remove-entry:hover{border-color:#c96d6d;background:#fdecec;color:#8d3636}.list-entry .field-grid{padding:16px;background:#fff}.add-entry{display:flex;align-items:center;justify-content:center;width:100%;border:1px dashed #9acbd5;background:#f4fcfd;color:var(--petrol-800);border-radius:6px;padding:12px;font-weight:600;font-size:12px}.add-entry:hover{background:var(--cyan-soft)}
    .list-link-note{display:flex;gap:9px;align-items:flex-start;border:1px solid #b7dce2;background:#eef7f8;color:var(--petrol-900);padding:10px 12px;margin-bottom:14px;border-radius:6px;font-size:11px;line-height:1.45}.list-link-note strong{white-space:nowrap}.list-link-note span{color:#55747d}.employee-reference-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.employee-reference-empty{border:1px dashed #b7cdd2;background:#f7fafb;color:var(--muted);padding:11px 12px;border-radius:5px;font-size:11px;line-height:1.45}.right-rail{display:flex;flex-direction:column;gap:14px}.rail-card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 5px 16px rgba(18,54,66,.05);padding:16px}.rail-card h3{font-size:13px;margin:0 0 12px}.rail-card p{font-size:11px;color:var(--muted);line-height:1.5;margin:0 0 12px}.check-list{display:grid;gap:9px}.check-line{display:flex;gap:8px;align-items:flex-start;font-size:11px;line-height:1.35}.check-line i{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:var(--success-soft);color:var(--success);font-size:10px;font-style:normal;flex-shrink:0}.check-line.open i{background:var(--warning-soft);color:var(--warning)}.rail-progress{height:7px;background:#e7eef0;border-radius:99px;overflow:hidden;margin:8px 0 5px}.rail-progress i{display:block;height:100%;background:var(--cyan);border-radius:99px}.source-stack{display:flex;flex-wrap:wrap;gap:6px}.source-chip{font-size:10px;padding:5px 7px;border-radius:4px;font-weight:600}.source-chip.datev{color:var(--petrol-800);background:var(--cyan-soft)}.source-chip.manual{color:#657c83;background:#f1f5f6}.source-chip.ai{color:#694aa1;background:#f0eafb}.activity{display:grid;gap:10px}.activity-line{display:flex;gap:8px;font-size:11px;line-height:1.35}.activity-dot{width:7px;height:7px;background:var(--cyan);border-radius:50%;margin-top:4px;flex-shrink:0}.activity-line small{display:block;color:#8b9ca2;font-size:10px;margin-top:2px}
    .toast{position:fixed;right:24px;bottom:24px;z-index:50;background:var(--petrol-950);color:#fff;padding:13px 16px;border-radius:7px;box-shadow:0 9px 30px rgba(0,0,0,.22);font-size:12px;display:flex;align-items:center;gap:10px;animation:slide .25s ease}.toast i{font-style:normal;color:#7ce0b6;font-size:17px}.toast-action{border:1px solid rgba(255,255,255,.45);background:#fff;color:var(--petrol-900);border-radius:5px;padding:6px 9px;font-size:11px;font-weight:600;margin-left:4px;white-space:nowrap}.toast-action:hover{background:var(--logo-green-soft);color:#355815}@keyframes slide{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}
    .modal-backdrop{position:fixed;inset:0;background:rgba(18,54,66,.55);z-index:40;display:grid;place-items:center;padding:22px}.modal{background:#fff;border-radius:9px;box-shadow:0 18px 60px rgba(0,0,0,.28);width:min(900px,100%);max-height:90vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 22px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:19px}.modal-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.modal-close{border:0;background:#f0f4f5;border-radius:50%;width:30px;height:30px;color:var(--muted);font-size:18px}.pdf-sheet{margin:22px;background:#fff;border:1px solid #dde5e8;box-shadow:0 4px 14px rgba(18,54,66,.08);padding:38px 46px;min-height:500px}.pdf-brand{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);font-weight:600}.pdf-sheet h1{font-family:Georgia,serif;font-size:28px;font-weight:500;margin:50px 0 7px;color:var(--petrol-950)}.pdf-sheet .pdf-sub{font-size:14px;color:var(--muted);margin-bottom:28px}.pdf-meta{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--petrol-900);border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:30px}.pdf-meta span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.pdf-meta b{font-size:12px;margin-top:4px;display:block}.pdf-toc{border-top:1px solid var(--line);padding-top:16px}.pdf-toc h3{font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 12px;color:var(--petrol-800)}.toc-row{display:flex;gap:10px;font-size:12px;margin:8px 0}.toc-row span:first-child{font-weight:600;width:29px}.modal-foot{padding:15px 22px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}
    .empty-note{padding:22px;color:var(--muted);font-size:12px;background:#fafcfc;border-top:1px solid var(--line)}
    .section-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 22px;border-top:1px solid var(--line);background:#fbfcfc}
    .section-footer-hint{color:var(--muted);font-size:11px;line-height:1.45}
    .section-footer-hint strong{color:var(--petrol-800)}
    .section-next-button{margin-left:auto;white-space:nowrap}

    @media(max-width:1050px){.sidebar{width:245px}.content-grid{grid-template-columns:1fr}.right-rail{display:grid;grid-template-columns:repeat(3,1fr)}}
    @media(max-width:750px){.topbar{padding:0 13px;height:auto;min-height:60px;flex-wrap:wrap;gap:9px;padding-top:10px;padding-bottom:10px}.brand{min-width:auto}.top-context{display:none}.top-actions{margin-left:auto}.sidebar{display:none}.main-inner{padding:19px 14px 50px}.dashboard-head,.editor-header{display:block}.dashboard-head .primary,.editor-actions{margin-top:14px}.workflow{display:grid;grid-template-columns:1fr 1fr}.step{border-bottom:1px solid var(--line);min-width:0}.field-grid{grid-template-columns:1fr;padding:16px}.field.full{grid-column:auto}.section-card-head{padding:17px 16px}.list-area{padding:16px}.right-rail{display:block}.rail-card{margin-bottom:12px}.table-card{overflow:auto}.table{min-width:800px}.pdf-sheet{padding:24px;margin:12px}.pdf-meta{grid-template-columns:1fr;gap:10px}.pdf-sheet h1{margin-top:30px}.section-footer{align-items:stretch;flex-direction:column;padding:14px 16px}.section-next-button{width:100%;margin-left:0}}
    @media print{body{background:#fff}.topbar,.sidebar,.editor-header,.workflow,.right-rail,.modal-head,.modal-foot{display:none!important}.modal-backdrop{position:static;background:#fff;padding:0;display:block}.modal{box-shadow:none;width:100%;max-height:none;overflow:visible}.pdf-sheet{box-shadow:none;border:0;margin:0;min-height:0;padding:22mm 18mm}.pdf-sheet h1{margin-top:35mm}.pdf-sheet:after{content:'Entwurf – erstellt aus der Alpha-Testversion';display:block;margin-top:28mm;color:#6c828b;font-size:10px}}
    .datev-modal{width:min(1080px,100%)}
    .datev-stepper{display:flex;gap:8px;padding:16px 22px;background:#f7fafb;border-bottom:1px solid var(--line);overflow:auto}.datev-step{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:11px;color:var(--muted);font-weight:600}.datev-step i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e5edef;color:#70858b;font-style:normal;font-size:10px}.datev-step.active{color:var(--petrol-900)}.datev-step.active i{background:var(--cyan);color:#fff}.datev-step.done i{background:var(--success);color:#fff}
    .datev-body{padding:20px 22px}.datev-intro{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border:1px solid #b7dce2;background:#eef8fa;border-radius:7px;margin-bottom:16px;font-size:12px;line-height:1.45}.datev-intro strong{display:block;font-size:13px;margin-bottom:3px}.datev-intro p{margin:0;color:var(--muted)}.datev-intro .notice-mark{flex:0 0 auto}
    .datev-search{display:grid;grid-template-columns:1fr 170px auto;gap:9px;align-items:end;margin-bottom:16px}.datev-search label,.datev-filter label{display:block;font-size:11px;font-weight:600;color:#274851;margin-bottom:6px}.datev-search input,.datev-search select{width:100%;border:1px solid #cbdade;border-radius:5px;padding:10px 11px}.datev-results{border:1px solid var(--line);border-radius:7px;overflow:hidden}.datev-results table{width:100%;border-collapse:collapse}.datev-results th{background:#f0f3f4;color:#6a7e83;font-size:10px;text-transform:uppercase;letter-spacing:.08em;text-align:left;padding:10px 12px}.datev-results td{padding:12px;border-top:1px solid var(--line);font-size:12px}.datev-results tr.selected td{background:var(--cyan-soft)}.datev-results button{font-size:11px;padding:7px 9px}
    .datev-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.datev-stat{border:1px solid var(--line);border-radius:7px;padding:12px;background:#fff}.datev-stat b{display:block;font-size:20px;color:var(--petrol-900)}.datev-stat span{font-size:10px;color:var(--muted)}.datev-filter{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:10px}.datev-filter select{border:1px solid #cbdade;border-radius:5px;padding:8px 10px;font-size:11px}.proposal-list{display:grid;gap:10px}.proposal{border:1px solid #d9e5e8;border-radius:7px;padding:13px;background:#fff}.proposal.conflict{border-color:#e6bd62;background:#fffaf0}.proposal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.proposal-head strong{font-size:12px}.proposal-value{margin:8px 0;font-size:13px;line-height:1.4;white-space:pre-wrap}.proposal-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}.proposal-meta span{font-size:10px;border-radius:4px;padding:4px 6px;background:#f1f5f6;color:#657c83}.proposal-meta .datev-meta{background:var(--cyan-soft);color:var(--petrol-800)}.proposal-actions{display:flex;gap:7px;flex-wrap:wrap}.proposal-actions button{font-size:10px;padding:6px 8px;border-radius:4px}.proposal-actions .accept{background:var(--cyan);border:1px solid var(--cyan);color:#fff;font-weight:600}.proposal-actions .reject{background:#fff;border:1px solid var(--line);color:var(--petrol-900);font-weight:600}.proposal-actions .manual{background:var(--gold-soft);border:1px solid #efd57e;color:#7c5b0a;font-weight:600}.datev-empty{padding:20px;text-align:center;color:var(--muted);font-size:12px;background:#fafcfc;border:1px dashed #cbdade;border-radius:7px}.datev-fallback{border:1px solid #efd57e;background:var(--gold-soft);border-radius:7px;padding:14px 15px;font-size:12px;line-height:1.45}.datev-fallback strong{display:block;color:#7c5b0a;margin-bottom:4px}.datev-fallback p{margin:0;color:#826c31}.datev-audit{font-size:10px;color:#71868c;margin-top:12px}.conflict-box{margin-top:9px;padding:9px 10px;background:#fff3d0;border-left:3px solid var(--gold);font-size:11px;line-height:1.4;color:#725613}.manual-route{margin-top:13px;padding:12px;background:#f6f9fa;border:1px solid var(--line);border-radius:7px;font-size:11px;color:var(--muted)}
    .name-choice-panel{margin-top:14px;padding:14px 15px;border:1px solid var(--line);border-radius:7px;background:#fbfcfc}.name-choice-panel>strong{display:block;font-size:12px;color:var(--petrol-900)}.name-choice-panel>p{margin:4px 0 10px;font-size:11px;color:var(--muted);line-height:1.45}.name-choice-option{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid #d9e5e8;border-radius:6px;background:#fff;margin-top:7px;cursor:pointer}.name-choice-option.selected{border-color:var(--cyan);background:var(--cyan-soft)}.name-choice-option.disabled{opacity:.6;cursor:not-allowed}.name-choice-option input{margin-top:2px;accent-color:var(--logo-green)}.name-choice-option span{display:grid;gap:3px;font-size:11px}.name-choice-option small{color:var(--muted);font-size:10px;word-break:break-word}.name-choice-result{margin-top:10px;padding-top:9px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.name-choice-result strong{color:var(--petrol-900)}
    @media(max-width:750px){.datev-search{grid-template-columns:1fr}.datev-summary{grid-template-columns:1fr 1fr}.datev-filter{display:block}.datev-filter select{margin-top:7px;width:100%}}
    @media(max-width:900px){.table-card{overflow-x:auto}.table{min-width:980px}.table-toolbar{min-width:980px}}
    @media(max-width:750px){.table-toolbar{flex-wrap:wrap;min-width:800px}.table-filter-reset{margin-left:0}}
    @media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

    button:disabled{cursor:not-allowed;opacity:.58}

/* Ergänzende Angaben: als optional kenntlich, ohne die Eingabe zu entwerten. */
.optional-label{color:#9aa8ad;font-size:11px;font-weight:600;white-space:nowrap}
.field-optional>label{color:#63777e}
.field-optional .field-footer .source-text{color:#9aa8ad}

    @media(max-width:750px){.list-entry-head{align-items:flex-start}.list-entry-actions{flex-wrap:wrap;justify-content:flex-end}}

    @media(max-width:750px){.toast{left:14px;right:14px;bottom:14px;justify-content:space-between;flex-wrap:wrap}}

.dashboard-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:750px){.dashboard-actions{justify-content:flex-start;margin-top:14px}}

/* Datei-Upload im bestehenden KES-Formularstil */
.file-upload{border:1px solid #cbdade;background:#fff;border-radius:5px;padding:11px;transition:border .15s,box-shadow .15s,background .15s}
.file-upload:hover{border-color:#8bc6d2;background:#fbfeff}
.file-upload:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(33,163,199,.12)}
.file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.file-select-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #c8dda6;background:#f7fbed;color:#4e761c;border-radius:5px;padding:8px 11px;font-size:12px;font-weight:600;cursor:pointer}
.file-select-button:hover{background:var(--logo-green-soft);border-color:var(--logo-green)}
.file-select-button:focus-visible{outline:3px solid rgba(33,163,199,.35);outline-offset:2px}
.file-attachment{display:flex;align-items:center;gap:9px;min-width:0;margin-bottom:10px;padding:9px 10px;border:1px solid #cfe0b1;background:#f7fbed;border-radius:5px}
.file-attachment-icon,.file-empty-icon{width:25px;height:25px;display:grid;place-items:center;flex:0 0 auto;border-radius:5px;background:var(--logo-green);color:#17310b;font-size:13px;font-weight:700}
.file-attachment-details{display:grid;gap:2px;min-width:0;flex:1}
.file-attachment-details strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#274851}
.file-attachment-details small{font-size:10px;color:#587044}
.file-remove{border:1px solid #e2b9b9;background:#fff7f7;color:#a54848;border-radius:5px;padding:6px 8px;font-size:10px;font-weight:600;white-space:nowrap}
.file-remove:hover{border-color:#c96d6d;background:#fdecec;color:#8d3636}
.file-empty{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;line-height:1.4;margin-bottom:10px;padding:2px 0}
.file-empty-icon{background:#edf2f3;color:#70858b;font-size:15px}
.file-help{color:#8a9ba0;font-size:10px;line-height:1.4;margin-top:8px}
@media(max-width:750px){.file-attachment{align-items:flex-start;flex-wrap:wrap}.file-attachment-details{min-width:calc(100% - 42px)}.file-remove{margin-left:34px}.file-select-button{width:100%}}

    .klardaten-modal{width:min(760px,100%)}.klardaten-modal .datev-stat b{font-size:15px;line-height:1.3;overflow-wrap:anywhere}.klardaten-meldung{margin-bottom:14px}.klardaten-modal .new-document-form label{display:block;margin:14px 0 5px}.klardaten-modal .new-document-form label:first-child{margin-top:0}
    /* Durchsicht 24.09.2026: Herkunftsschild nicht mehr ueber Ja/Nein, Auswahlpfeil und Text */
    .control-wrap:has(> .bool-row) .source-badge,.control-wrap:has(> .checkboxes) .source-badge{position:static;display:inline-block;margin-top:6px}.control-wrap:has(> select) select{padding-right:96px}.control-wrap:has(> select) .source-badge{top:50%;right:30px;transform:translateY(-50%)}.control-wrap > input.control{padding-right:66px}.control-wrap > textarea{padding-top:26px}
    .list-area > .notice{flex-wrap:wrap}.list-area > .notice > div[style*="flex:1"]{min-width:240px}
    .klardaten-link{border-style:dashed}.klardaten-rechte{margin-top:14px}.klardaten-rechte a{color:var(--petrol-800)}.klardaten-instanzen{display:grid;gap:8px}.klardaten-stand .datev-stat b{font-size:14px}
    /* Druckansicht der vollstaendigen Verfahrensdokumentation */
    .druck-entwurf{display:inline-block;margin:0 0 18px;padding:4px 10px;border:1px solid #e6bd62;background:#fff6dd;color:#7c5b0a;font-size:11px;font-weight:600;border-radius:4px}.druck-personen{display:grid;grid-template-columns:repeat(3,1fr);margin:-14px 0 20px;padding-bottom:12px;border-bottom:1px solid var(--line)}.druck-personen span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.druck-personen b{font-size:12px;margin-top:4px;display:block}.druck-stand{font-size:11px;color:var(--muted);margin:0 0 20px}.toc-row .toc-stand{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap}
    .druck-bereich{margin-top:34px;padding-top:16px;border-top:2px solid var(--petrol-900)}.druck-bereich h2{font-family:Georgia,serif;font-weight:500;font-size:19px;color:var(--petrol-950);margin:0 0 6px;display:flex;gap:12px;align-items:baseline}.druck-bereich h2 span{font-family:inherit;font-size:13px;color:var(--cyan);font-weight:600;min-width:22px}.druck-beschreibung{margin:0 0 12px;color:var(--muted);font-size:11.5px}.druck-eintrag{margin:16px 0 0}.druck-eintrag h3{font-size:13px;margin:0 0 6px;color:var(--petrol-800)}.druck-bereich h4{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--petrol-800);margin:14px 0 6px}.druck-tabelle{width:100%;border-collapse:collapse;font-size:12px;margin:0 0 6px}.druck-tabelle th{width:42%;text-align:left;vertical-align:top;font-weight:600;color:#4c5f66;padding:7px 12px 7px 0;border-bottom:1px solid #e3eaec}.druck-tabelle td{vertical-align:top;padding:7px 0;border-bottom:1px solid #e3eaec;white-space:pre-wrap;color:var(--ink)}.druck-leer,.druck-hinweis{font-size:12px;color:var(--muted);margin:6px 0}.druck-hinweis{color:#4e761c}
    @media print{.pdf-sheet:after{content:none!important;display:none!important}.app:has(.pdf-sheet) .layout,.toast{display:none!important}.druck-tabelle tr{break-inside:avoid}.druck-bereich h2,.druck-eintrag h3,.druck-bereich h4{break-after:avoid}}
    @media(max-width:640px){.modal-foot{flex-wrap:wrap}.modal-foot>button{flex:1 1 auto}.modal-foot .spacer{display:none}.druck-personen{grid-template-columns:1fr}}
    /* ---- KI-Assistent ------------------------------------------------------------------------ */
    .suggest-button.ki{color:#694aa1}.suggest-button.ki:disabled{opacity:.6;cursor:progress;text-decoration:none}
    .ki-knopf{border-color:#d7c9ea;color:#694aa1}.ki-knopf:hover{background:#f7f3fc;border-color:#9c7cc8;color:#56407c}.ki-knopf:disabled{opacity:.65;cursor:progress}
    .section-card-head.ki-kopf{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.ki-bereich-knopf{flex-shrink:0;font-size:12px;padding:9px 12px}
    .ki-eintrag-knopf{border:1px solid #d7c9ea;background:#fff;color:#694aa1;border-radius:4px;font-size:10px;font-weight:600;padding:5px 8px}.ki-eintrag-knopf:hover{background:#f7f3fc}.ki-eintrag-knopf:disabled{opacity:.6;cursor:progress}
    .ki-box{border-left-color:#9c7cc8}.ki-box-kopf{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.ki-box-kopf strong{font-size:11px;color:#56407c}
    .ki-sicherheit{font-size:10px;font-weight:600;border-radius:4px;padding:2px 6px;background:#fff;border:1px solid #d7c9ea;color:#694aa1}.ki-sicherheit.hoch{border-color:#9fd7c1;color:#19704f}.ki-sicherheit.niedrig{border-color:#efd57e;color:#8d690d}
    .ki-box .control,.ki-box .suggestion-edit{width:100%;margin:4px 0;background:#fff}.ki-box .suggestion-edit{min-height:110px}.ki-wert{background:#fff;border:1px solid #e3d8f2;border-radius:4px;padding:8px 9px;color:var(--ink);white-space:pre-wrap}
    .ki-box-meta{font-size:10px;color:#7a6a96;margin-top:4px}.ki-begruendung{font-size:11px;color:#5d5270;margin-top:4px;line-height:1.45}
    .ki-vorher{font-size:11px;color:#8d690d;background:#fff8e3;border:1px solid #f1dfa6;border-radius:4px;padding:6px 8px;margin:4px 0;white-space:pre-wrap}.ki-vorher span{display:block;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px}
    .ki-rueckfrage{background:#faf8fd}.ki-frage-zeile{display:flex;gap:8px;align-items:flex-start;margin-top:6px}.ki-frage-zeile span{flex:1;color:#44365c;font-weight:600}.ki-frage-zeile button{margin-top:0!important;white-space:nowrap}.ki-x{border:0!important;background:transparent!important;color:#8a7aa6;font-size:16px!important;line-height:1;padding:0 2px!important;margin:0!important}
    .ki-karte h3{color:#56407c}.ki-laeuft{color:#694aa1!important;font-weight:700}.ki-laeuft:before{content:"";display:inline-block;width:9px;height:9px;border:2px solid #cdb9ea;border-top-color:#694aa1;border-radius:50%;margin-right:6px;vertical-align:-1px;animation:ki-dreh 1s linear infinite}@keyframes ki-dreh{to{transform:rotate(360deg)}}
    .ki-hinweise{display:grid;gap:7px;margin-bottom:10px}.ki-hinweis{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;text-align:left;border:1px solid #e6dff1;background:#fcfbfe;border-radius:6px;padding:8px 9px;font-size:11px;line-height:1.4;color:var(--ink);width:100%}button.ki-hinweis:hover{border-color:#9c7cc8;background:#f7f3fc}.ki-hinweis small{grid-column:2;color:#8a7aa6;font-size:10px}.ki-hinweis em{display:block;font-style:normal;color:#5d5270;margin-top:3px}
    .ki-art{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:3px;padding:2px 5px;background:#f0eafb;color:#694aa1;align-self:start}.ki-art.fehlt{background:var(--warning-soft);color:#95610d}.ki-art.widerspruch{background:#fde8e8;color:#a33c3c}.ki-art.gobd{background:var(--cyan-soft);color:var(--petrol-800)}.ki-art.unklar{background:#f1f5f6;color:#5b7076}
    .ki-fragen{display:grid;gap:6px;margin-bottom:10px}.ki-fragen strong{font-size:11px;color:#56407c}.ki-frage{text-align:left;border:1px dashed #cdb9ea;background:#fff;border-radius:6px;padding:7px 9px;font-size:11px;color:#44365c;line-height:1.4}.ki-frage:hover{background:#f7f3fc;border-style:solid}
    .ki-karte-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.ki-karte-foot small{font-size:10px;color:#8b9ca2}.ki-karte-foot button{font-size:11px;padding:7px 10px}
    .ki-fakten{margin:0 0 10px;padding-left:16px;font-size:11px;line-height:1.45;color:#3d5961}.ki-fakten li{margin-bottom:3px}.ki-fakten.voll{font-size:12px}.ki-fakten.voll small{display:block;color:#8b9ca2;font-size:10px}
    .ki-block{width:100%;margin-top:10px;font-size:12px}
    .nav-ki{font-size:10px;font-weight:600;color:#694aa1;background:#f0eafb;border-radius:4px;padding:1px 5px}
    .ki-markiert{animation:ki-markiert 2.6s ease}@keyframes ki-markiert{0%,65%{box-shadow:0 0 0 3px #b89be0;border-radius:6px;background:#faf7fe}100%{box-shadow:none}}
    .ki-modal .ki-abschnitt{font-size:13px;margin:18px 0 8px;color:#56407c}.ki-zusammenfassung{background:#f7f3fc;border-left:3px solid #9c7cc8;padding:10px 12px;font-size:12px;line-height:1.5;color:#44365c;margin-bottom:8px}
    .ki-modal .modal-foot .spacer{flex:1}.ki-schalter{display:flex!important;gap:8px;align-items:flex-start;font-weight:600;font-size:12px;line-height:1.45;margin-top:14px!important}.ki-schalter input{margin-top:2px;accent-color:#694aa1}
    .ki-vorschlag .proposal-head{align-items:center}.ki-ort{flex:1;font-size:10px;color:#8b9ca2}.proposal-meta .ki-meta{background:#f0eafb;color:#694aa1}
    .ki-eintrag-werte{display:grid;gap:4px;margin:8px 0;font-size:12px}.ki-eintrag-werte div{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:8px}.ki-eintrag-werte span{color:var(--muted)}.ki-eintrag-werte b{font-weight:600;white-space:pre-wrap}
    .ki-chat{position:fixed;top:64px;right:0;bottom:0;width:min(420px,100vw);background:#fff;border-left:1px solid var(--line);box-shadow:-10px 0 30px rgba(18,54,66,.12);z-index:30;display:flex;flex-direction:column}
    .ki-chat.ziehen{outline:3px dashed #9c7cc8;outline-offset:-8px;background:#fcfaff}
    .ki-chat-kopf{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.ki-chat-kopf>div:last-child{display:flex;align-items:center;gap:4px}.ki-chat-kopf strong{display:block;color:#56407c;font-size:14px}.ki-chat-kopf small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.ki-chat-kopf .ghost{font-size:11px;padding:4px 6px}
    .ki-chat-unterlagen{padding:10px 16px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted);max-height:34vh;overflow:auto}.ki-chat-unterlagen summary{cursor:pointer;font-weight:600;color:#56407c}.ki-anlage{display:grid;grid-template-columns:1fr auto auto;gap:2px 6px;align-items:center;padding:6px 0;border-top:1px solid #f0f3f4}.ki-anlage span{font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ki-anlage small{grid-column:1;font-size:10px}.ki-anlage button{grid-row:1 / span 2;font-size:10px;padding:4px 6px}
    .ki-chat-verlauf{flex:1;overflow:auto;padding:14px 16px;display:flex;flex-direction:column;gap:12px;background:#fafbfc}
    .ki-leer{font-size:12px;color:var(--muted);line-height:1.5;background:#fff;border:1px dashed #d7c9ea;border-radius:8px;padding:12px}
    .ki-nachricht{display:flex;flex-direction:column;gap:5px;max-width:92%}.ki-nachricht.nutzer{align-self:flex-end;align-items:flex-end}.ki-nachricht.ki{align-self:flex-start}
    .ki-blase{border-radius:10px;padding:9px 11px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.ki-nachricht.nutzer .ki-blase{background:var(--cyan-soft);color:var(--petrol-950);border-bottom-right-radius:3px}.ki-nachricht.ki .ki-blase{background:#fff;border:1px solid #e6dff1;color:#2f2440;border-bottom-left-radius:3px}.ki-nachricht.fehler .ki-blase{border-color:#efc2c2;background:#fff6f6;color:#8b2f2f}
    .ki-nachricht small{font-size:10px;color:#9aabb0}.ki-link{align-self:flex-start;border:1px solid #d7c9ea;background:#fff;color:#694aa1;font-weight:600;font-size:11px;border-radius:5px;padding:5px 8px}.ki-link:hover{background:#f7f3fc}
    .ki-rueckfragen{display:grid;gap:5px}.ki-tippt{color:#694aa1;font-style:italic}.ki-auftrag{font-size:11px;color:#694aa1;background:#f7f3fc;border:1px solid #e6dff1;border-radius:6px;padding:8px 10px}.ki-auftrag:before{content:"";display:inline-block;width:9px;height:9px;border:2px solid #cdb9ea;border-top-color:#694aa1;border-radius:50%;margin-right:6px;vertical-align:-1px;animation:ki-dreh 1s linear infinite}
    .ki-chat-eingabe{border-top:1px solid var(--line);padding:12px 16px;display:grid;gap:8px;background:#fff}.ki-chat-eingabe textarea{width:100%;border:1px solid #cbdade;border-radius:6px;padding:9px 10px;font-size:12px;resize:vertical;min-height:62px;color:var(--ink)}.ki-chat-eingabe textarea:focus{border-color:#9c7cc8;box-shadow:0 0 0 3px rgba(156,124,200,.15);outline:0}.ki-chat-knoepfe{display:flex;align-items:center;gap:8px}.ki-chat-knoepfe .spacer{flex:1}.ki-chat-knoepfe .file-button{font-size:11px;padding:8px 10px;cursor:pointer}.ki-chat-knoepfe .primary{padding:9px 14px}.ki-chat-hinweis{font-size:10px;color:#8b9ca2;line-height:1.4}
    @media(min-width:1280px){.mit-ki-chat .layout{margin-right:420px}}
    @media print{.ki-chat{display:none!important}.mit-ki-chat .layout{margin-right:0!important}}
    @media(max-width:750px){.ki-chat{top:0;width:100vw;z-index:35}.section-card-head.ki-kopf{display:block}.ki-bereich-knopf{margin-top:10px}}
    .ki-einzeln{margin:0;align-self:center;max-width:52%;line-height:1.35}
    /* ---- Abgleich BStBK-Vorlage: Stand des Bereichs, ruhigere Felder, PDF-Kapitel ------------------ */
    .stand-karte .offen-liste{display:grid;gap:5px;margin:10px 0 4px}.stand-karte .offen-liste small{font-size:10px;color:var(--muted)}
    .offen-feld{text-align:left;border:1px solid #e1e8ea;background:#f8fafb;border-radius:5px;padding:6px 8px;font-size:11px;color:var(--petrol-900);line-height:1.35}.offen-feld:hover{border-color:var(--cyan);background:var(--cyan-soft)}
    .stand-karte .source-stack{margin-top:10px}
    @media (hover:hover) and (pointer:fine){.field .suggest-button{opacity:0;transition:opacity .15s ease}.field:hover .suggest-button,.field:focus-within .suggest-button,.field .suggest-button:focus-visible,.field .suggest-button:disabled{opacity:1}}
    .druck-bereich p{font-size:12px;line-height:1.55;margin:0 0 8px;color:var(--ink)}
    .druck-bereich h2 span{min-width:30px}
    .druck-formular td{height:34px}
    .druck-unterschriften{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:56px}.druck-unterschriften div{border-top:1px solid #333;padding-top:5px;font-size:10px;color:var(--muted)}
    @media print{.druck-anlage{break-before:page}}

/* ==== Teil G: einheitliches Erscheinungsbild ===========================================================
   Eine Primaerfarbe (dunkles Kanzleigruen), das Logo-Gruen nur fuer Fortschritt und Markierungen,
   Violett ausschliesslich fuer KI, sonst neutrale Grautoene. Schriftschnitte 400/600/700. */
:root{
  --gruen:#4b7a17; --gruen-dunkel:#3d6612; --gruen-hell:#80b82d; --gruen-flaeche:#f1f7e8; --gruen-rand:#bcd896; --gruen-text:#335a0e;
  --tinte:#15303a; --tinte-2:#344a53; --grau:#5a6e76; --grau-2:#7d8f96; --linie:#dfe5e8; --linie-2:#cbd5da;
  --grund:#f3f5f6; --flaeche:#fff; --flaeche-2:#f8fafa; --flaeche-3:#eef2f3;
  --ki-farbe:#5f4596; --ki-flaeche:#f6f3fb; --ki-rand:#dcd2ee;
  --warn-text:#86590a; --warn-flaeche:#fdf6e3; --warn-rand:#eed9a3;
  --fehler:#b3261e; --fehler-flaeche:#fdf0ef; --fehler-rand:#efc4c1;
  --ok-text:#1f6b40; --ok-flaeche:#e9f5ee;
  --radius:8px; --radius-gross:10px;
  --schatten-1:0 1px 2px rgba(16,36,44,.05);
  --schatten-2:0 10px 30px rgba(16,36,44,.12);
  --kopf:56px;
  /* alte Namen auf das neue System lenken */
  --cyan:var(--gruen); --cyan-soft:var(--gruen-flaeche); --ink:var(--tinte); --muted:var(--grau); --line:var(--linie);
  --surface-2:var(--flaeche-2); --shadow:var(--schatten-1); --petrol-800:var(--tinte-2); --petrol-900:var(--tinte); --petrol-950:var(--tinte);
  --logo-green-soft:var(--gruen-flaeche); --success:#2f8a57; --success-soft:var(--ok-flaeche); --warning-soft:var(--warn-flaeche); --gold-soft:var(--warn-flaeche);
}
html,body{background:var(--grund);color:var(--tinte);font-family:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.symbol{flex:0 0 auto;display:block}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--gruen);outline-offset:2px}

/* ---- Schaltflaechen ---- */
.primary,.gold{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--gruen);border:1px solid var(--gruen);color:#fff;font-weight:600;font-size:13px;line-height:1.2;border-radius:6px;padding:8px 14px;min-height:36px;box-shadow:0 1px 1px rgba(16,36,44,.08);transition:background .14s ease,border-color .14s ease,box-shadow .14s ease;white-space:nowrap}
.primary:hover,.gold:hover{background:var(--gruen-dunkel);border-color:var(--gruen-dunkel);color:#fff}
.primary:active,.gold:active{transform:translateY(1px)}
.primary:disabled,.gold:disabled{background:#9db586;border-color:#9db586;cursor:not-allowed}
.secondary{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#fff;border:1px solid var(--linie-2);color:var(--tinte);font-weight:600;font-size:13px;line-height:1.2;border-radius:6px;padding:8px 13px;min-height:36px;transition:background .14s ease,border-color .14s ease,color .14s ease;white-space:nowrap}
.secondary:hover{background:var(--flaeche-2);border-color:#aebbc1;color:var(--tinte)}
.secondary:disabled{opacity:.55;cursor:not-allowed}
.ghost{display:inline-flex;align-items:center;gap:7px;background:transparent;border:0;color:var(--tinte-2);font-weight:600;font-size:13px;border-radius:6px;padding:8px 10px;transition:background .14s ease}
.ghost:hover{background:var(--flaeche-3);color:var(--tinte)}
.klein,.primary.klein,.secondary.klein{min-height:30px;padding:5px 11px;font-size:12px}
.symbol-knopf{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid transparent;background:transparent;color:var(--grau);border-radius:6px;transition:background .14s ease,color .14s ease,border-color .14s ease}
.symbol-knopf:hover{background:var(--flaeche-3);color:var(--tinte)}
.table-actions .symbol-knopf:hover{background:var(--fehler-flaeche);color:var(--fehler)}
.ki-knopf{color:var(--ki-farbe);border-color:var(--ki-rand)}
.ki-knopf:hover{background:var(--ki-flaeche);border-color:#b9a6dc;color:#4c3680}
.side-actions .secondary,.table-actions .secondary,.modal-foot .secondary{border-color:var(--linie-2);color:var(--tinte)}
.side-actions .secondary:hover,.table-actions .secondary:hover,.modal-foot .secondary:hover{background:var(--flaeche-2);border-color:#aebbc1}

/* ---- Kopfleiste ---- */
.topbar{height:var(--kopf);background:#fff;color:var(--tinte);border-bottom:1px solid var(--linie);box-shadow:none;padding:0 20px;gap:16px}
.brand-logo-link{width:auto;height:40px;padding:0;border:0;background:transparent;box-shadow:none;border-radius:4px}
.brand-logo-link:hover{background:transparent;opacity:.85}
.brand-logo-link:focus-visible{outline:2px solid var(--gruen);outline-offset:3px}
.brand-logo{height:42px;width:auto;max-width:none}
.product-title{font-size:15px;font-weight:600;letter-spacing:-.005em;color:var(--tinte);padding:0 0 0 16px;border-right:0;border-left:1px solid var(--linie);line-height:24px}
.top-context{border-left:0;padding-left:0;flex:1}
.top-actions{gap:8px}
.kopf-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--linie);background:#fff;color:var(--tinte-2);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:600;line-height:1.2;transition:background .14s ease,border-color .14s ease;white-space:nowrap}
.kopf-chip i{width:7px;height:7px;border-radius:50%;background:#b7c3c8;flex:0 0 auto}
.kopf-chip.an i{background:var(--gruen-hell);box-shadow:0 0 0 3px rgba(128,184,45,.18)}
button.kopf-chip:hover{background:var(--flaeche-2);border-color:var(--linie-2)}
.top-button{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--tinte-2);border-radius:6px;padding:7px 10px;font-size:13px;font-weight:600}
.top-button:hover{background:var(--flaeche-3);color:var(--tinte)}

/* ---- Gesamtaufbau ---- */
.layout{min-height:calc(100vh - var(--kopf))}
.main{overflow:visible;overflow-x:clip}
.main-inner{container-type:inline-size;container-name:inhalt}
.sidebar{width:264px;background:#fff;border-right:1px solid var(--linie);height:calc(100vh - var(--kopf));top:var(--kopf)}
.main-inner{max-width:1240px;padding:28px 32px 72px}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--grau)}

/* ---- Seitenleiste ---- */
.side-head{padding:12px 12px 10px;border-bottom:0}
.side-back{display:flex;align-items:center;gap:8px;width:100%;border:0;background:transparent;color:var(--tinte-2);font-size:13px;font-weight:600;padding:8px 10px;border-radius:6px;text-align:left}
.side-back:hover{background:var(--flaeche-3);color:var(--tinte)}
.side-progress{padding:6px 22px 16px;border-bottom:1px solid var(--linie)}
.progress-row{font-size:12px;font-weight:600;color:var(--tinte-2)}
.progress-row span:last-child{color:var(--tinte)}
.progress-track{height:6px;background:var(--flaeche-3);margin-top:8px}
.progress-track>i{background:var(--gruen-hell)}
.nav{padding:8px 10px 24px}
.nav-group{margin:16px 12px 6px;font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--grau-2)}
.nav-item{gap:10px;color:var(--tinte-2);border-radius:6px;padding:7px 10px;margin:1px 0;font-size:13px;min-height:34px;transition:background .12s ease,color .12s ease}
.nav-item:hover{background:var(--flaeche-3);color:var(--tinte)}
.nav-item.active{background:var(--gruen-flaeche);color:var(--gruen-text);font-weight:600;box-shadow:inset 3px 0 0 var(--gruen-hell)}
.nav-count{font-size:11px;color:var(--grau-2);font-variant-numeric:tabular-nums}
.nav-item.active .nav-count{color:var(--gruen-text)}
.nav-ring{--p:0;position:relative;flex:0 0 auto;width:16px;height:16px;border-radius:50%;background:conic-gradient(var(--gruen-hell) calc(var(--p) * 1%),#dbe3e6 0);display:grid;place-items:center}
.nav-ring:after{content:"";position:absolute;inset:3px;border-radius:50%;background:#fff}
.nav-item:hover .nav-ring:after{background:var(--flaeche-3)}
.nav-item.active .nav-ring:after{background:var(--gruen-flaeche)}
.nav-ring.leer{background:#dbe3e6}
.nav-ring.fertig{background:var(--gruen-hell);color:#fff}
.nav-ring.fertig:after{display:none}
.nav-ring.fertig .symbol{width:11px;height:11px;stroke-width:3.2;position:relative;z-index:1}
.nav-ring.entfaellt{background:#dbe3e6}
.nav-ring.entfaellt:after{inset:7px 4px;border-radius:1px;background:#9aa8ae}
.nav-item:hover .nav-ring.entfaellt:after,.nav-item.active .nav-ring.entfaellt:after{background:#9aa8ae}
.nav-ki{background:var(--ki-flaeche);color:var(--ki-farbe);font-weight:600}

/* ---- Uebersicht ---- */
.dashboard-head{align-items:flex-end;margin-bottom:20px}
.dashboard-head h1{font-size:24px;font-weight:600;letter-spacing:-.015em;margin:0 0 4px;color:var(--tinte)}
.dashboard-head p{font-size:14px;color:var(--grau)}
.table-card{border:1px solid var(--linie);border-radius:var(--radius-gross);box-shadow:var(--schatten-1)}
.table-toolbar{gap:10px;padding:12px 14px;border-bottom:1px solid var(--linie)}
.table-toolbar .spacer{flex:1}
.tabs{display:inline-flex;gap:2px;background:var(--flaeche-3);border-radius:8px;padding:3px}
.tab{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--grau);font-size:13px;font-weight:600;border-radius:6px;padding:6px 12px;transition:background .14s ease,color .14s ease}
.tab:hover{color:var(--tinte)}
.tab.aktiv{background:#fff;color:var(--tinte);box-shadow:0 1px 2px rgba(16,36,44,.1);cursor:default}
.tab-zahl{font-size:11px;font-weight:600;background:rgba(21,48,58,.07);color:var(--tinte-2);border-radius:999px;padding:1px 7px;font-variant-numeric:tabular-nums}
.suchfeld{position:relative;display:block}
.suchfeld .symbol{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--grau-2);pointer-events:none}
.search{background:#fff;border:1px solid var(--linie-2);border-radius:6px;padding:7px 11px 7px 32px;min-width:280px;height:34px;font-size:13px;transition:border-color .14s ease,box-shadow .14s ease}
.search:focus{border-color:var(--gruen);box-shadow:0 0 0 3px rgba(75,122,23,.14);outline:0}
.search::placeholder{color:var(--grau-2)}
.table-result-count{font-size:12px;color:var(--grau)}
.table-filter-reset{margin-left:0;border:0;background:transparent;color:var(--gruen);font-size:12px;font-weight:600;padding:6px 8px;border-radius:6px}
.table-filter-reset:hover{background:var(--gruen-flaeche)}
.table th{background:var(--flaeche-2);color:var(--grau);font-size:11px;font-weight:600;letter-spacing:.05em;padding:10px 16px;border-bottom:1px solid var(--linie)}
.table td{padding:14px 16px;border-top:0;border-bottom:1px solid var(--linie);font-size:13px;color:var(--tinte)}
.table tbody tr:last-child td{border-bottom:0}
.table tr:hover td{background:#fafcf8}
.table-sort-button{gap:6px;justify-content:flex-start}
.table-sort-button:hover,.table-sort-button:focus-visible{color:var(--tinte)}
.table-sort-button.active{color:var(--tinte)}
.sort-arrow{min-width:0;height:auto;border:0;background:transparent;color:var(--grau-2);font-size:12px;opacity:0;transition:opacity .14s ease}
.table-sort-button:hover .sort-arrow,.table-sort-button:focus-visible .sort-arrow,.table-sort-button.active .sort-arrow{opacity:1}
.table-sort-button.active .sort-arrow{border:0;background:transparent;color:var(--gruen);font-weight:700}
.company-cell{gap:12px;font-weight:400}
.company-dot{width:32px;height:32px;flex:0 0 auto;background:var(--gruen-flaeche);color:var(--gruen-text);font-weight:600;font-size:13px}
.company-text{display:flex;flex-direction:column;min-width:0}
.company-text strong{font-size:14px;font-weight:600;color:var(--tinte)}
.company-text small,.zelle-neben{display:block;font-size:12px;color:var(--grau);margin-top:2px}
.zelle-haupt{display:block}
.zelle-leer{color:var(--grau-2)}
.table-actions{gap:6px;align-items:center;flex-wrap:nowrap}
.table-actions button{font-size:12px}
.status-pill{gap:6px;padding:3px 10px 3px 8px;font-size:12px;font-weight:600;white-space:nowrap}
.status-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}
.status-pill.amber{background:var(--warn-flaeche);color:var(--warn-text)}
.status-pill.green{background:var(--ok-flaeche);color:var(--ok-text)}
.status-pill.blue,.status-pill.grau{background:var(--flaeche-3);color:var(--tinte-2)}
.empty-note.tabelle-leer{border-top:0;background:transparent;text-align:center;padding:36px 16px;font-size:13px}
.notice{border:1px solid var(--linie);background:#fff;border-radius:var(--radius);padding:12px 16px;margin-bottom:16px}
.notice .notice-mark{background:var(--gruen);font-weight:700}
.notice b{font-size:13px;font-weight:600}

/* ---- Bearbeitung: Seitenkopf ---- */
.editor-header{align-items:flex-end;gap:24px;margin-bottom:20px}
.editor-titel{min-width:0}
.editor-header h1{font-size:24px;font-weight:600;letter-spacing:-.015em;margin:4px 0 6px;color:var(--tinte);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.editor-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:13px;color:var(--grau)}
.editor-meta .trenner{color:#b6c2c7}
.save-state{font-size:13px;color:var(--grau);margin:0}
.save-state[data-state="pending"],.save-state[data-state="saving"]{color:var(--warn-text)}
.save-state[data-state="error"]{color:var(--fehler);font-weight:600}
.editor-actions{gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto}
.mobil-bereich{display:none}
.maintenance-banner{background:var(--warn-flaeche);border:1px solid var(--warn-rand);border-radius:var(--radius);padding:11px 16px;gap:12px;margin-bottom:18px;font-size:13px}
.maintenance-banner strong{color:var(--warn-text);font-weight:600}
.maintenance-banner span{color:#6f5516}

/* Menue "Weitere" */
.menue{position:relative}
.menue>summary{list-style:none;cursor:pointer;user-select:none}
.menue>summary::-webkit-details-marker{display:none}
.menue[open]>summary{background:var(--flaeche-3);border-color:#aebbc1}
.menue-liste{position:absolute;right:0;top:calc(100% + 6px);min-width:230px;background:#fff;border:1px solid var(--linie);border-radius:var(--radius);box-shadow:var(--schatten-2);padding:6px;z-index:25;display:grid;gap:1px}
.menue-liste button,.menue-liste label{display:block;width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:6px;font-size:13px;font-weight:400;color:var(--tinte);cursor:pointer;margin:0}
.menue-liste button:hover,.menue-liste label:hover{background:var(--flaeche-3)}
.menue-liste hr{border:0;border-top:1px solid var(--linie);margin:5px 2px}

/* ---- Bereichskarte ---- */
.content-grid{grid-template-columns:minmax(0,1fr) 288px;gap:20px}
.section-card{border:1px solid var(--linie);border-radius:var(--radius-gross);box-shadow:var(--schatten-1);overflow:visible}
.section-card-head{padding:22px 26px 18px;border-bottom:1px solid var(--linie)}
.section-card-head h2{font-size:19px;font-weight:600;letter-spacing:-.01em;margin:5px 0 5px;color:var(--tinte)}
.section-card-head p{font-size:13px;color:var(--grau);line-height:1.5}
.ki-bereich-knopf{font-size:12px;padding:6px 11px;min-height:32px}
.section-footer{padding:14px 26px;background:var(--flaeche-2);border-top:1px solid var(--linie);border-radius:0 0 var(--radius-gross) var(--radius-gross)}
.section-footer-rechts{display:flex;align-items:center;gap:14px;margin-left:auto}
.section-footer-hint{font-size:12px;color:var(--grau)}
.section-footer-hint strong{color:var(--tinte);font-weight:600}
.zurueck-knopf{font-size:13px}
.empty-note{background:var(--flaeche-2);color:var(--grau);font-size:13px}

/* ---- Felder: Beschriftungen einer Zeile buendig, Eingabefelder auf einer Hoehe ---- */
.field-grid{column-gap:24px;row-gap:0;padding:24px 26px 8px}
.field-grid>.field{padding-bottom:20px}
@supports (grid-template-rows:subgrid){
  .field-grid>.field{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0}
  .field-grid>.field>label{align-self:end}
}
.field>label{display:block;font-size:13px;font-weight:600;line-height:1.4;color:var(--tinte);margin-bottom:6px}
.field-optional>label{color:var(--tinte)}
.optional-label{font-size:12px;font-weight:400;color:var(--grau-2)}
.required{color:var(--fehler);font-size:13px;font-weight:600;margin-left:1px}
.field-help{font-size:12px;line-height:1.45;color:var(--grau);margin:6px 0 0}
.field-footer{margin-top:4px;min-height:18px}
.field-footer:empty{min-height:0;margin:0}
.field-footer .source-text,.field-optional .field-footer .source-text{font-size:11px;color:var(--grau-2)}
.control,.field textarea,.field select{border:1px solid var(--linie-2);border-radius:6px;padding:8px 11px;font-size:14px;color:var(--tinte);background:#fff;min-height:38px;transition:border-color .14s ease,box-shadow .14s ease}
.field select{padding-right:32px}
.control:hover,.field textarea:hover,.field select:hover{border-color:#a9b7bd}
.control:focus,.field textarea:focus,.field select:focus{border-color:var(--gruen);box-shadow:0 0 0 3px rgba(75,122,23,.14);outline:0}
.field textarea{min-height:88px;line-height:1.5}
.control::placeholder,.field textarea::placeholder{color:#9aa8ae}
.field input[list]{padding-right:34px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237d8f96' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center}
.field input[list]::-webkit-calendar-picker-indicator{opacity:0}
.field-info{font-size:14px;font-weight:600;color:var(--tinte);border-top:1px solid var(--linie);padding-top:20px;margin:4px 0 16px;letter-spacing:0}
.field-grid>.field-info:first-child{border-top:0;padding-top:0}
.info-ref{display:inline-block;margin-left:8px;font-size:12px;font-weight:400;color:var(--grau-2)}
.process-section-heading{font-size:15px}
.process-subsection-heading{border-top:0!important;padding-top:4px!important;margin:0 0 12px!important;font-size:11px!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase;color:var(--grau)!important}
.bool-row{gap:8px}
.bool-row button{border:1px solid var(--linie-2);background:#fff;color:var(--tinte-2);border-radius:6px;font-size:13px;font-weight:600;padding:8px 12px;min-height:38px;transition:background .14s ease,border-color .14s ease,color .14s ease}
.bool-row button:hover{border-color:#a9b7bd;background:var(--flaeche-2)}
.bool-row button.selected{background:var(--gruen-flaeche);border-color:var(--gruen);color:var(--gruen-text)}
.checkboxes{gap:8px}
.check,.field .check{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--linie-2);border-radius:6px;padding:8px 12px;margin:0;font-size:13px;font-weight:400;line-height:1.35;color:var(--tinte);cursor:pointer;transition:background .14s ease,border-color .14s ease}
.check:hover,.field .check:hover{border-color:#a9b7bd;background:var(--flaeche-2)}
.check:has(input:checked),.field .check:has(input:checked){background:var(--gruen-flaeche);border-color:var(--gruen-rand);color:var(--gruen-text)}
.check input{accent-color:var(--gruen);width:15px;height:15px;margin:0;flex:0 0 auto}
.employee-reference-empty{border:1px dashed var(--linie-2);background:var(--flaeche-2);color:var(--grau);font-size:12px;border-radius:6px}
.source-badge{font-size:10px;font-weight:600;border-radius:4px}
.source-badge.datev{background:#e7f1f6;color:#2b5a70}
.source-badge.changed{background:var(--warn-flaeche);color:var(--warn-text)}
.source-badge.ki{background:var(--ki-flaeche);color:var(--ki-farbe)}

/* Frage "Trifft dieser Bereich zu?" */
.list-area{padding:24px 26px}
.zutreffend-box{display:grid;gap:12px;border:1px solid var(--linie);background:var(--flaeche-2);border-radius:var(--radius);padding:16px 18px;margin-bottom:18px}
.zutreffend-frage strong{font-size:14px;font-weight:600;color:var(--tinte)}
.zutreffend-frage p{margin:3px 0 0;font-size:12px;color:var(--grau);line-height:1.45}
.zutreffend-knoepfe{max-width:440px}
.zutreffend-knoepfe button{flex:1}
.zutreffend-notiz{display:grid;gap:5px;font-size:13px;font-weight:600;color:var(--tinte);max-width:640px}
.zutreffend-notiz .control{font-weight:400}
.list-guidance{border:1px solid var(--linie);background:#fff;border-radius:var(--radius);color:var(--tinte)}
.list-guidance-mark{background:var(--flaeche-3);color:var(--tinte-2);font-weight:700}
.list-guidance strong{font-size:13px;font-weight:600}
.list-guidance p{font-size:12px;color:var(--grau)}
.list-link-note{border:1px solid var(--linie);background:var(--flaeche-2);color:var(--tinte);border-radius:var(--radius);font-size:12px}
.list-link-note span{color:var(--grau)}
.list-entry{border:1px solid var(--linie);border-radius:var(--radius);margin-bottom:16px;overflow:visible}
.list-entry-head{background:var(--flaeche-2);padding:10px 14px 10px 18px;border-bottom:1px solid var(--linie);border-radius:var(--radius) var(--radius) 0 0}
.list-entry-head strong{font-size:14px;font-weight:600}
.list-entry-head span{font-size:12px;color:var(--grau)}
.list-entry .field-grid{padding:20px 18px 4px;border-radius:0 0 var(--radius) var(--radius)}
.remove-entry{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;background:transparent;color:var(--grau);border-radius:6px;padding:5px 8px;font-size:12px;font-weight:600}
.remove-entry .symbol{width:14px;height:14px}
.remove-entry:hover{background:var(--fehler-flaeche);border-color:var(--fehler-rand);color:var(--fehler)}
.remove-entry span{color:inherit!important;font-size:12px!important}
.eintraege-kopf{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-size:12px;color:var(--grau)}
.eintraege-kopf .spacer{flex:1}
.eintraege-kopf .ghost{font-size:12px;padding:5px 8px}
.eintrag-schalter{display:flex;align-items:center;gap:10px;min-width:0;flex:1;border:0;background:transparent;padding:2px 0;text-align:left;color:var(--tinte);cursor:pointer;font:inherit}
.eintrag-schalter .symbol{flex:0 0 auto;color:var(--grau);transition:transform .15s ease}
.list-entry.eingeklappt .eintrag-schalter .symbol{transform:rotate(-90deg)}
.eintrag-schalter strong{flex:0 0 auto}
.eintrag-schalter:hover strong{color:var(--gruen-text)}
.eintrag-name{min-width:0;color:var(--grau);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eintrag-name:before{content:"·";margin-right:8px;color:#b6c2c7}
.list-entry.eingeklappt .list-entry-head{border-bottom:0;border-radius:var(--radius)}
.list-entry.eingeklappt{margin-bottom:10px}
.add-entry{gap:8px;border:1px dashed var(--linie-2);background:#fff;color:var(--gruen);border-radius:var(--radius);padding:11px;font-weight:600;font-size:13px}
.add-entry:hover{background:var(--gruen-flaeche);border-color:var(--gruen-rand)}
.ki-eintrag-knopf{border-color:var(--ki-rand);color:var(--ki-farbe);font-weight:600;font-size:11px;border-radius:6px;padding:5px 9px}
.suggestion-box{border-left-color:#a58fd3;background:var(--ki-flaeche);color:#4c3a73;border-radius:0 6px 6px 0}
.suggestion-box button{border-color:var(--ki-rand);color:var(--ki-farbe);font-weight:600;font-size:11px;border-radius:5px;padding:5px 9px}

/* ---- Rechte Spalte ---- */
.right-rail{gap:14px;position:sticky;top:calc(var(--kopf) + 16px);max-height:calc(100vh - var(--kopf) - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-bottom:2px}
.rail-card{border:1px solid var(--linie);border-radius:var(--radius-gross);box-shadow:var(--schatten-1);padding:16px 16px 14px}
.rail-card h3{font-size:13px;font-weight:600;color:var(--tinte);margin:0 0 10px}
.rail-card p{font-size:12px;color:var(--grau);line-height:1.5}
.rail-progress{height:6px;background:var(--flaeche-3)}
.rail-progress i{background:var(--gruen-hell)}
.stand-karte .progress-row{font-size:13px}
.stand-karte .progress-row span:last-child{color:var(--grau);font-weight:600}
.offen-liste small{color:var(--grau-2)}
.offen-feld{border:0!important;background:var(--flaeche-2)!important;border-radius:6px!important;color:var(--tinte-2)!important;font-size:12px!important;padding:7px 9px!important;transition:background .12s ease,color .12s ease}
.offen-feld:hover{background:var(--gruen-flaeche)!important;color:var(--gruen-text)!important}
.source-chip{font-weight:600;border-radius:4px}
.source-chip.datev{color:#2b5a70;background:#e7f1f6}
.ki-karte h3{color:var(--ki-farbe)}

/* ---- KI-Assistent (Seitenleiste rechts) ---- */
.ki-chat{top:var(--kopf);box-shadow:-8px 0 24px rgba(16,36,44,.08)}
.mit-ki-chat .right-rail{display:none}
.mit-ki-chat .content-grid{grid-template-columns:minmax(0,1fr)}
.ki-chat-kopf strong{color:var(--ki-farbe);font-weight:600}
.ki-nachricht.nutzer .ki-blase{background:var(--gruen-flaeche);color:var(--tinte)}

/* ---- Dialoge ---- */
.modal-backdrop{background:rgba(16,36,44,.45)}
.modal{border-radius:12px;box-shadow:0 24px 64px rgba(16,36,44,.28)}
.modal-schmal{width:min(560px,100%)}
.modal-head{padding:20px 24px 16px;align-items:flex-start;gap:16px}
.modal-head h2{font-size:18px;font-weight:600;letter-spacing:-.01em;color:var(--tinte)}
.modal-head p{font-size:13px;color:var(--grau);line-height:1.5}
.modal-close{display:grid;place-items:center;width:32px;height:32px;border-radius:6px;background:transparent;color:var(--grau);font-size:20px;flex:0 0 auto}
.modal-close:hover{background:var(--flaeche-3);color:var(--tinte)}
.modal-body{padding:20px 24px 22px}
.modal-foot{padding:14px 24px;background:var(--flaeche-2);border-radius:0 0 12px 12px;gap:8px}
.modal label,.new-document-form label{font-size:13px;font-weight:600;color:var(--tinte)}
.new-document-form label{display:block;margin:18px 0 6px}
.new-document-form label:first-child{margin-top:0}
.new-document-form .control{min-height:38px;font-size:14px}
.modal-foot .klardaten-link{border-style:solid;border-color:transparent;background:transparent;color:var(--gruen);padding-left:8px;padding-right:8px}
.modal-foot .klardaten-link:hover{background:var(--gruen-flaeche);border-color:transparent;color:var(--gruen-text)}
.datev-intro{border:1px solid var(--linie);background:var(--flaeche-2);border-radius:var(--radius);padding:14px 16px;font-size:13px}
.datev-intro strong{font-size:14px;font-weight:600;color:var(--tinte)}
.datev-intro p{font-size:12px;line-height:1.5}
.datev-intro .notice-mark{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--linie-2);color:var(--tinte-2);font-size:12px;font-weight:600}
.datev-stepper{background:var(--flaeche-2);padding:12px 24px}
.datev-body{padding:20px 24px}
.datev-stat{border-radius:var(--radius)}
.datev-stat b{font-weight:600;color:var(--tinte)}
.proposal{border-color:var(--linie);border-radius:var(--radius);padding:14px 16px}
.proposal-head strong{font-size:13px;font-weight:600}
.proposal-meta span{font-size:11px;background:var(--flaeche-3);color:var(--grau)}
.proposal-meta .datev-meta{background:#e7f1f6;color:#2b5a70}
.proposal-actions button{font-size:12px;font-weight:600;padding:6px 11px;border-radius:6px;min-height:30px}
.proposal-actions .accept{background:var(--gruen);border:1px solid var(--gruen);color:#fff}
.proposal-actions .accept:hover{background:var(--gruen-dunkel);border-color:var(--gruen-dunkel);color:#fff}
.proposal-actions .reject,.proposal-actions .manual{background:#fff;border:1px solid var(--linie-2);color:var(--tinte)}
.proposal-actions .reject:hover,.proposal-actions .manual:hover{background:var(--flaeche-2);border-color:#aebbc1}
.manual-route{background:var(--flaeche-2);border-radius:var(--radius);font-size:12px}
.name-choice-panel{border-radius:var(--radius);background:var(--flaeche-2)}
.name-choice-option{border-color:var(--linie-2);border-radius:6px}
.modal-foot [data-action="ki-trennen"],.modal-foot [data-action="klardaten-trennen"]{color:var(--fehler);border-color:var(--fehler-rand)}
.modal-foot [data-action="ki-trennen"]:hover,.modal-foot [data-action="klardaten-trennen"]:hover{background:var(--fehler-flaeche);border-color:var(--fehler);color:var(--fehler)}

/* ---- Hinweise unten rechts ---- */
.toast{background:var(--tinte);border-radius:var(--radius);font-size:13px;box-shadow:var(--schatten-2)}
.toast i{color:#a9d86b}

/* ---- PDF-Vorschau ---- */
.pdf-sheet{border-color:var(--linie);border-radius:4px}
.pdf-brand{display:flex;align-items:center;justify-content:flex-end;min-height:44px}
.pdf-logo{height:52px;width:auto;display:block}
.pdf-sheet h1{margin-top:40px}
.pdf-toc h3,.druck-bereich h2 span{color:var(--gruen-text)}

/* ---- schmale Fenster ---- */
@container inhalt (max-width:1000px){.editor-header{flex-direction:column;align-items:stretch;gap:14px}.editor-actions{justify-content:flex-start}.editor-header h1{white-space:normal}}
@media(max-width:1050px){.sidebar{width:240px}.content-grid{grid-template-columns:minmax(0,1fr)}.right-rail{position:static;max-height:none;overflow:visible;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}
@media(max-width:750px){
  .topbar{height:var(--kopf);min-height:0;flex-wrap:nowrap;padding:0 12px;gap:10px}
  .product-title,.kopf-chip{display:none}
  .top-button>span:not(.konto-kreis){display:none}
  .main-inner{padding:18px 14px 48px}
  .editor-header h1{white-space:normal;font-size:21px}
  .editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .editor-actions>*{width:100%}
  .editor-actions .menue>summary{width:100%}
  .editor-actions>.primary:last-child:nth-child(odd){grid-column:1 / -1}
  .mobil-bereich{display:grid;gap:5px;margin:0 0 16px;font-size:12px;font-weight:600;color:var(--grau)}
  .mobil-bereich select{border:1px solid var(--linie-2);border-radius:6px;padding:9px 11px;font-size:14px;background:#fff;color:var(--tinte)}
  .field-grid{padding:18px 16px 4px}
  .section-card-head{padding:18px 16px 14px}
  .list-area{padding:16px}
  .section-footer{padding:14px 16px}
  .section-footer-rechts{flex-direction:column;align-items:stretch;width:100%}
  .zurueck-knopf{display:none}
  .dashboard-head{display:flex;flex-direction:column;align-items:stretch;gap:12px}
  .dashboard-actions .primary{width:100%}
  .table-toolbar{min-width:0;flex-wrap:wrap}
  .suchfeld,.search{width:100%;min-width:0}
}
@media print{
  .topbar,.sidebar,.editor-header,.mobil-bereich,.right-rail,.modal-head,.modal-foot{display:none!important}
  .pdf-sheet{border-radius:0;padding:0 18mm}
  .pdf-sheet .pdf-brand{padding-top:18mm}
  .pdf-toc{break-after:page}
  .druck-bereich:first-of-type{margin-top:0}
}

/* ==== Teil H: Anmeldung, Benutzermenue, Benutzerverwaltung ============================================ */
.anmelde-seite{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px 16px;background:var(--grund)}
.anmelde-laden{color:var(--grau);font-size:14px}
.anmelde-karte{width:min(420px,100%);background:#fff;border:1px solid var(--linie);border-radius:14px;box-shadow:0 12px 40px rgba(16,36,44,.08);padding:34px 34px 26px}
.anmelde-logo{display:block;height:54px;width:auto;margin:0 0 26px}
.anmelde-karte h1{font-size:22px;font-weight:600;letter-spacing:-.015em;margin:0;color:var(--tinte)}
.anmelde-unter{margin:4px 0 22px;font-size:14px;color:var(--grau)}
.anmelde-form{display:grid;gap:16px}
.anmelde-feld{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--tinte)}
.anmelde-feld .control{font-weight:400;min-height:42px;font-size:15px}
.anmelde-code{letter-spacing:.3em;font-variant-numeric:tabular-nums;font-size:18px!important;text-align:center}
.anmelde-knopf{width:100%;min-height:42px;font-size:14px;margin-top:4px}
.anmelde-text{margin:0;font-size:13px;line-height:1.55;color:var(--tinte-2)}
.anmelde-text.klein{font-size:12px;color:var(--grau)}
.anmelde-fuss{margin-top:18px;padding-top:16px;border-top:1px solid var(--linie);display:flex;justify-content:center;text-align:center}
.anmelde-fuss:empty{display:none}
.anmelde-hinweis{margin:0;font-size:12px;color:var(--grau-2);text-align:center;max-width:420px}
.anmelde-fehler{border:1px solid var(--fehler-rand);background:var(--fehler-flaeche);color:#8c1d18;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.45;margin:0 0 16px}
.anmelde-instanzen{display:grid;gap:8px}
.anmelde-instanzen .name-choice-option{margin-top:0}

/* Benutzermenue in der Kopfleiste */
.konto-menue>summary{gap:9px;padding:5px 10px 5px 6px}
.konto-kreis{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--gruen-flaeche);color:var(--gruen-text);font-size:12px;font-weight:600;flex:0 0 auto}
.konto-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.konto-menue .menue-liste{min-width:300px}
.menue-kopf{display:grid;gap:2px;padding:8px 10px 10px;border-bottom:1px solid var(--linie);margin-bottom:5px}
.menue-kopf strong{font-size:13px;font-weight:600;color:var(--tinte)}
.menue-kopf small{font-size:12px;color:var(--grau)}

/* Benutzerverwaltung */
.benutzer-modal{width:min(1200px,100%)}
.benutzer-modal .modal-body{display:grid;gap:18px}
.benutzer-tabelle{box-shadow:none;overflow-x:auto}
.benutzer-tabelle .table{min-width:960px}
.benutzer-tabelle td{padding:10px 14px;vertical-align:middle}
.benutzer-tabelle th{padding:9px 14px;white-space:nowrap}
.benutzer-tabelle .zelle-neben{max-width:170px}
.benutzer-tabelle .company-text small.zuletzt{color:var(--grau-2);font-size:11px;margin-top:1px}
.klein-auswahl,.control.klein-auswahl{width:auto;min-width:150px;min-height:32px;padding:4px 28px 4px 9px;font-size:13px;border:1px solid var(--linie-2);border-radius:6px;background-color:#fff}
[data-benutzer-anmeldung].klein-auswahl{min-width:172px}
.klein-auswahl:disabled{background:var(--flaeche-2);color:var(--grau);cursor:not-allowed}
.ist-gesperrt td{color:var(--grau)}
.ist-gesperrt .company-dot{background:var(--flaeche-3);color:var(--grau)}
.selbst-marke{display:inline-block;margin-left:6px;font-size:11px;font-weight:600;color:var(--gruen-text);background:var(--gruen-flaeche);border-radius:999px;padding:1px 7px;vertical-align:1px}
.benutzer-laden{margin:0}
.startpasswort-box{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border:1px solid var(--gruen-rand);background:var(--gruen-flaeche);border-radius:10px;padding:14px 16px}
.startpasswort-box strong{display:block;font-size:13px;font-weight:600;color:var(--gruen-text)}
.startpasswort-box code{display:inline-block;margin:8px 0 6px;font:600 18px/1.2 "Cascadia Mono",Consolas,"Courier New",monospace;letter-spacing:.06em;background:#fff;border:1px solid var(--gruen-rand);border-radius:6px;padding:6px 10px;color:var(--tinte)}
.startpasswort-box p{margin:0;font-size:12px;color:var(--tinte-2);line-height:1.5;max-width:640px}
.benutzer-neu{border:1px solid var(--linie);border-radius:10px;padding:16px 18px;background:var(--flaeche-2)}
.benutzer-neu h3{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--tinte)}
.benutzer-neu-felder{display:grid;grid-template-columns:1.3fr 1fr .8fr .9fr;gap:12px}
.benutzer-neu-felder label{display:grid;gap:5px;font-size:12px;font-weight:600;color:var(--tinte-2)}
.benutzer-neu-felder .control{font-weight:400;min-height:36px}
.benutzer-neu-fuss{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:14px}
.rollen-erklaerung{margin:0;display:grid;gap:3px;font-size:12px;color:var(--grau)}
.rollen-erklaerung div{display:flex;gap:6px}
.rollen-erklaerung dt{font-weight:600;color:var(--tinte-2);min-width:84px}
.rollen-erklaerung dd{margin:0}
@media(max-width:900px){.benutzer-neu-felder{grid-template-columns:1fr 1fr}.benutzer-neu-fuss{flex-direction:column;align-items:stretch}}
@media(max-width:750px){.konto-name{display:none}.anmelde-karte{padding:26px 20px 20px}.benutzer-neu-felder{grid-template-columns:1fr}}

/* ==== Teil G3: dritte Durchsicht ====================================================================== */
:root{--grau-2:#66777e}
.control::placeholder,.field textarea::placeholder,.search::placeholder{color:#76868d}

/* ---- Meldungen: schmal, nach Schwere, nie ueber Dialog-Knoepfen ---- */
.toast{left:auto;right:24px;bottom:24px;max-width:440px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.45;color:#fff;background:var(--tinte);border-radius:var(--radius)}
.toast-symbol{flex:0 0 auto;display:grid;place-items:center;width:22px;height:22px;border-radius:50%}
.toast-symbol .symbol{width:14px;height:14px;stroke-width:2.6}
.toast-ok .toast-symbol{background:rgba(128,184,45,.22);color:#b9e27f}
.toast-hinweis .toast-symbol{background:rgba(238,196,90,.2);color:#f3cd6b}
.toast-fehler{background:#5b201c}
.toast-fehler .toast-symbol{background:rgba(255,255,255,.14);color:#ffb4ab}
.toast-text{flex:1;min-width:0;padding-top:1px}
.toast-action{flex:0 0 auto;margin-left:4px;align-self:center}
#app:has(.modal-backdrop) .toast{top:18px;bottom:auto;right:50%;transform:translateX(50%)}
@media(max-width:750px){.toast{left:14px;right:14px;max-width:none}#app:has(.modal-backdrop) .toast{right:14px;transform:none}}

/* ---- Seitenkopf der Bearbeitung ---- */
.editor-header h1{margin:0 0 6px}
.editor-meta .status-pill{padding:2px 9px 2px 7px;font-size:11px}
.save-state{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;padding:2px 6px;margin:0 -6px;border-radius:5px;font:inherit;font-size:13px;color:var(--grau);cursor:pointer;line-height:1.4}
.save-state:hover{background:var(--flaeche-3);color:var(--tinte)}
.save-state[data-state="saved"]:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gruen-hell)}
.save-state[data-state="pending"],.save-state[data-state="saving"]{color:var(--grau)}
.save-state[data-state="pending"]:before,.save-state[data-state="saving"]:before{content:"";width:7px;height:7px;border-radius:50%;background:#e2b74f}
.save-state[data-state="error"]{color:var(--fehler);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.editor-actions .secondary .symbol{width:15px;height:15px}
.menue-liste button,.menue-liste label{display:flex;align-items:center;justify-content:space-between;gap:16px}
.menue-liste kbd{font-family:inherit;font-size:11px;line-height:1.6;color:var(--grau);background:var(--flaeche-3);border:1px solid var(--linie);border-radius:4px;padding:0 5px}

/* ---- KI: neutrale Knoepfe, Violett nur noch als kleines Zeichen ---- */
.ki-knopf{color:var(--tinte);border-color:var(--linie-2)}
.ki-knopf .symbol{color:var(--ki-farbe)}
.ki-knopf:hover{background:var(--flaeche-2);border-color:#aebbc1;color:var(--tinte)}
.ki-bereich-knopf{background:#fff;flex:0 0 auto}
.ki-bereich-knopf .symbol{width:14px;height:14px}
.ki-eintrag-knopf{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid var(--linie-2);color:var(--tinte-2);opacity:0;transition:opacity .14s ease}
.ki-eintrag-knopf .symbol{width:13px;height:13px;color:var(--ki-farbe)}
.list-entry-head:hover .ki-eintrag-knopf,.list-entry-head:focus-within .ki-eintrag-knopf,.ki-eintrag-knopf:disabled{opacity:1}
@media(hover:none){.ki-eintrag-knopf{opacity:1}}
.ki-karte h3,.ki-titel{display:flex;align-items:center;gap:7px;color:var(--tinte)}
.ki-titel .symbol{color:var(--ki-farbe);width:15px;height:15px}
.nav-ki{display:inline-flex;align-items:center;gap:3px;border-radius:999px;padding:1px 6px;font-size:11px}
.nav-ki .symbol{width:11px;height:11px}
.ki-art{text-transform:none;letter-spacing:0;font-size:11px;font-weight:600}

/* ---- Seitenleiste: kompakter, Hinweis auf weitere Eintraege ---- */
.nav-item{min-height:32px;padding:6px 10px}
.nav-group{margin:14px 12px 4px}
.sidebar:after{content:"";position:absolute;left:0;right:1px;bottom:0;height:28px;background:linear-gradient(rgba(255,255,255,0),#fff);pointer-events:none}

/* ---- Uebersicht ---- */
.uebersicht-tabelle .zeile-klickbar{cursor:pointer}
.uebersicht-tabelle .zelle-haupt{color:var(--tinte);font-weight:600}
.faellig{font-weight:600}
.faellig.ueberfaellig{color:var(--fehler)}
.faellig.bald{color:var(--warn-text)}
.table-actions .ghost.klein{padding:5px 8px;color:var(--tinte-2)}
@media(max-width:750px){
  .table-card:has(.uebersicht-tabelle){overflow:visible}
  .uebersicht-tabelle{min-width:0!important}
  .uebersicht-tabelle thead{display:none}
  .uebersicht-tabelle,.uebersicht-tabelle tbody,.uebersicht-tabelle tr,.uebersicht-tabelle td{display:block;width:100%}
  .uebersicht-tabelle tr{padding:14px 16px;border-bottom:1px solid var(--linie)}
  .uebersicht-tabelle tbody tr:last-child{border-bottom:0}
  .uebersicht-tabelle td{padding:0!important;border:0!important;background:transparent!important}
  .uebersicht-tabelle td+td{margin-top:8px}
  .uebersicht-tabelle td:nth-child(2),.uebersicht-tabelle td:nth-child(3),.uebersicht-tabelle td:nth-child(4){display:inline-block;width:auto;margin-right:14px;vertical-align:middle}
  .uebersicht-tabelle td:nth-child(2) .zelle-neben{display:none}
  .uebersicht-tabelle .table-actions{margin-top:4px}
}

/* ---- Felder ---- */
.field select,.mobil-bereich select,select.klein-auswahl,.datev-search select,.benutzer-neu select,.datev-filter select{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2366777e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;padding-right:34px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.field select:disabled,select.klein-auswahl:disabled{background-color:var(--flaeche-2)}
.field textarea{field-sizing:content;min-height:88px;max-height:360px;resize:none;overflow-y:auto}
.field-grid>.field{padding-bottom:18px}
.bool-row button{min-width:96px}
.zutreffend-knoepfe{max-width:none;flex-wrap:wrap}
.zutreffend-knoepfe button{flex:0 0 auto;min-width:120px}
.zutreffend-notiz{max-width:none}
.checkboxes{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.name-choice-option:has(input:checked){border-color:var(--gruen);background:var(--gruen-flaeche);box-shadow:inset 0 0 0 1px var(--gruen)}
.feld-hinweis{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;border:1px solid var(--linie);background:var(--flaeche-2);border-radius:var(--radius);padding:10px 14px;margin:0 0 18px;font-size:13px;line-height:1.5;color:var(--tinte-2)}
.feld-hinweis .symbol{color:var(--grau);margin-top:2px}
.process-subsection-heading{text-transform:none!important;letter-spacing:0!important;font-size:13px!important;color:var(--tinte-2)!important}
.list-entry-head .eintrag-stand{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;border-radius:999px;padding:2px 9px;white-space:nowrap}
.list-entry-head .eintrag-stand.offen{background:var(--warn-flaeche);color:var(--warn-text)}
.list-entry-head .eintrag-stand.fertig{background:var(--ok-flaeche);color:var(--ok-text)}
.eintrag-stand .symbol{width:12px;height:12px;stroke-width:3}

/* Dateien: uebliche Ablageflaeche mit normalem Knopf statt Sonderbau */
.file-upload{display:grid;gap:10px;justify-items:start;border:1px dashed var(--linie-2);border-radius:var(--radius);background:var(--flaeche-2);padding:12px 14px}
.file-upload:hover{border-color:#aebbc1;background:var(--flaeche-2)}
.file-upload:focus-within{border-color:var(--gruen);box-shadow:0 0 0 3px rgba(75,122,23,.14)}
.file-empty,.file-attachment{margin-bottom:0;width:100%}
.file-empty{font-size:12px;color:var(--grau)}
.file-empty-icon{background:#fff;border:1px solid var(--linie);color:var(--grau)}
.file-select-button{min-height:32px;padding:6px 13px;border:1px solid var(--linie-2);background:#fff;color:var(--tinte);border-radius:6px;font-size:13px}
.file-select-button:hover{background:#fff;border-color:#aebbc1;color:var(--tinte)}
.file-help{margin-top:0;font-size:11px;color:var(--grau)}
.file-attachment{border-color:var(--gruen-rand);background:#fff;border-radius:6px}
.file-attachment-icon{background:var(--gruen-flaeche);color:var(--gruen-text)}
.file-attachment-details strong{font-size:13px;color:var(--tinte)}
.file-attachment-details small{font-size:11px;color:var(--grau)}
.file-remove{font-size:12px;border-radius:6px}

/* ---- Rechte Spalte ---- */
.stand-zeile{margin-bottom:8px}
.stand-marke{display:inline-block;font-size:12px;font-weight:600;border-radius:999px;padding:2px 10px;background:var(--flaeche-3);color:var(--tinte-2)}
.stand-marke.offen{background:var(--warn-flaeche);color:var(--warn-text)}
.stand-karte .progress-row .stand-offen{color:var(--warn-text)}
.stand-karte .progress-row .stand-fertig{color:var(--ok-text)}
.offen-feld.warn{background:var(--warn-flaeche)!important;color:var(--warn-text)!important}
.pruef-liste{margin-top:12px}

/* ---- Dialoge ---- */
.datev-intro .notice-mark .symbol{width:14px;height:14px}
.benutzer-modal{max-height:calc(100vh - 48px);display:flex;flex-direction:column}
.benutzer-modal .modal-body{overflow:auto;min-height:0;grid-auto-rows:max-content;align-content:start}
.zelle-text{font-size:13px;color:var(--tinte)}

/* ---- Anmeldung ---- */
.anmelde-seite{justify-content:flex-start;padding-top:min(12vh,120px)}
.anmelde-info{border:1px solid var(--linie-2);background:var(--flaeche-2);color:var(--tinte-2);border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.45;margin:0 0 16px}
.passwort-feld{position:relative;display:block}
.passwort-feld .control{width:100%;padding-right:44px}
.passwort-zeigen{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px;height:34px;display:grid;place-items:center;border:0;background:transparent;color:var(--grau);border-radius:6px;cursor:pointer}
.passwort-zeigen:hover,.passwort-zeigen.an{background:var(--flaeche-3);color:var(--tinte)}
.anmelde-fusstext{display:grid;gap:8px;text-align:center}
.anmelde-vergessen{font-size:12px;color:var(--grau)}
.anmelde-vergessen summary{cursor:pointer;color:var(--gruen);font-weight:600;list-style:none;display:inline-block}
.anmelde-vergessen summary::-webkit-details-marker{display:none}
.anmelde-vergessen summary:hover{text-decoration:underline}
.anmelde-vergessen p{margin:6px 0 0;line-height:1.5;text-align:left}

/* ---- breite Bildschirme ---- */
@media(min-width:1600px){.main-inner{max-width:1480px}.content-grid{grid-template-columns:minmax(0,1fr) 340px}}

/* ---- Druckfassung ---- */
.druck-deckblatt{margin-top:8px}
.druck-titelzeile{margin-top:44px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gruen-text)}
.pdf-sheet .druck-deckblatt h1{margin:10px 0 8px;font-size:30px;line-height:1.2;color:var(--tinte)}
.pdf-sheet .druck-deckblatt .pdf-sub{font-size:15px;color:var(--tinte-2);margin-bottom:22px}
.druck-kopf{break-inside:avoid}
.druck-dokumentinfo h2{display:block}
.pdf-toc .toc-row span:first-child{flex:0 0 42px}
.druck-bereich h2 span,.druck-eintrag h3 span{font-family:"Segoe UI Variable Text","Segoe UI",Arial,sans-serif;font-variant-numeric:lining-nums tabular-nums}
.druck-eintrag h3{display:flex;gap:10px;align-items:baseline}
.druck-eintrag h3 span{color:var(--gruen-text);font-size:12px;font-weight:700;min-width:34px;font-variant-numeric:tabular-nums}
.druck-text{white-space:pre-wrap}
.druck-freigabe{margin-top:22px;padding:14px 16px 18px;border:1px solid #cfd8dc;border-radius:4px}
.druck-freigabe h4{margin-top:0}
.druck-unterschriften.drei{grid-template-columns:1fr 1fr 1fr;gap:28px;margin-top:44px}
.druck-liste{margin:4px 0 12px 18px;padding:0;font-size:12px;line-height:1.55}
.druck-unterschriftentabelle{width:100%;border-collapse:collapse;margin:10px 0 0;font-size:11px}
.druck-unterschriftentabelle th{text-align:left;font-weight:600;color:#4c5f66;border-bottom:1px solid #9fb0b6;padding:6px 8px 6px 0}
.druck-unterschriftentabelle td{height:30px;border-bottom:1px solid #cfd8dc;padding:4px 8px 4px 0}
.druck-unterschriftentabelle th:first-child{width:44%}
.druck-wasserzeichen{display:none}
@media print{
  html,body{background:#fff!important}
  #app .modal-backdrop{position:static!important;inset:auto!important;background:#fff!important;padding:0!important;display:block!important;backdrop-filter:none!important}
  #app .modal{box-shadow:none!important;border:0!important;border-radius:0!important;width:100%!important;max-width:none!important;max-height:none!important;overflow:visible!important;background:#fff!important}
  .pdf-sheet{border:0!important;box-shadow:none!important;background:#fff!important}
  .druck-titelzeile{margin-top:30mm}
  .druck-bereich{font-size:10pt}
  .druck-bereich p,.druck-liste{font-size:10pt}
  .druck-tabelle{font-size:9.5pt}
  .druck-kopf{break-inside:avoid;break-after:avoid}
  .druck-eintrag h3,.druck-bereich h4{break-after:avoid}
  .druck-tabelle tr,.druck-unterschriftentabelle tr,.druck-freigabe{break-inside:avoid}
  .druck-dokumentinfo{break-before:page}
  .druck-wasserzeichen{display:block;position:fixed;top:42%;left:0;right:0;text-align:center;transform:rotate(-30deg);font:700 110pt/1 "Segoe UI",Arial,sans-serif;letter-spacing:.14em;color:rgba(21,48,58,.05);pointer-events:none;z-index:0}
}

/* ==== Stufe 9: Fassungsarchiv, Unterlagen beim Anlegen ============================================ */
.menue-zahl{font-size:11px;font-weight:600;background:var(--flaeche-3);color:var(--tinte-2);border-radius:999px;padding:0 7px;line-height:1.7}
a.secondary,a.ghost,a.primary{text-decoration:none}
.fassungen-modal{width:min(1040px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column}
.fassungen-modal .modal-body{overflow:auto;min-height:0;display:grid;gap:18px;align-content:start}
.fassungen-tabelle .table{min-width:760px}
.fassungen-tabelle td:first-child{width:56px;color:var(--grau)}
.fassungen-tabelle .table-actions{justify-content:flex-end}
.fassung-neu{border:1px solid var(--gruen-rand);border-radius:10px;padding:16px 18px;background:var(--gruen-flaeche)}
.fassung-neu h3{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--tinte)}
.fassung-neu p{margin:0 0 12px;font-size:12px;color:var(--tinte-2);line-height:1.5}
.fassung-neu-felder{display:grid;grid-template-columns:220px 1fr;gap:12px}
.fassung-neu-felder label{display:grid;gap:5px;font-size:12px;font-weight:600;color:var(--tinte-2)}
.fassung-neu-felder .control{font-weight:400;min-height:36px;background:#fff}
.fassung-neu-felder select.control{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2366777e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;padding-right:34px}
.fassung-neu-fuss{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}
.fassung-stand{font-size:12px;color:var(--grau)}
.fassungen-pruefung{margin:0;font-size:12px;color:var(--tinte-2);border-left:3px solid var(--gruen-hell);padding:6px 10px;background:var(--flaeche-2);border-radius:0 6px 6px 0}
.datei-auswahl{padding:6px 10px;font-size:13px;color:var(--tinte-2);cursor:pointer}
.datei-auswahl::file-selector-button{margin-right:10px;border:1px solid var(--linie-2);background:#fff;color:var(--tinte);border-radius:6px;padding:5px 11px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.new-document-form .field-help{margin:6px 0 0}
@media(max-width:750px){.fassung-neu-felder{grid-template-columns:1fr}.fassung-neu-fuss{flex-direction:column;align-items:stretch}}

/* Druck: Fassungstabelle */
.druck-listentabelle{width:100%;border-collapse:collapse;font-size:11.5px;margin:6px 0 14px}
.druck-listentabelle th{text-align:left;font-weight:600;color:#4c5f66;border-bottom:1px solid #9fb0b6;padding:5px 8px 5px 0}
.druck-listentabelle td{border-bottom:1px solid #e3eaec;padding:5px 8px 5px 0;vertical-align:top;color:var(--ink)}
@media print{.druck-listentabelle{font-size:9.5pt}.druck-listentabelle tr{break-inside:avoid}}

/* ==== Stufe 10a: Cockpit, Fassungsvergleich, gleichzeitige Bearbeitung ============================== */
.kennzahlen{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px;margin:0 0 16px}
.kennzahl{display:grid;gap:2px;text-align:left;background:#fff;border:1px solid var(--linie);border-radius:var(--radius-gross);box-shadow:var(--schatten-1);padding:14px 16px;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease;font:inherit;color:var(--tinte)}
.kennzahl:hover{border-color:#aebbc1}
.kennzahl.aktiv{border-color:var(--gruen);box-shadow:inset 0 0 0 1px var(--gruen);background:var(--gruen-flaeche)}
.kennzahl-wert{font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}
.kennzahl-text{font-size:12px;color:var(--grau);line-height:1.35}
.kennzahl.gut .kennzahl-wert{color:var(--ok-text)}
.kennzahl.warn .kennzahl-wert{color:var(--warn-text)}
.kennzahl.kritisch .kennzahl-wert{color:var(--fehler)}
.stand-zelle{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.stand-balken{display:block;width:64px;height:6px;border-radius:999px;background:var(--flaeche-3);overflow:hidden}
.stand-balken i{display:block;height:100%;background:var(--gruen-hell);border-radius:999px}
.stand-zahl{font-size:12px;color:var(--tinte-2);font-variant-numeric:tabular-nums;min-width:38px}
.vergleich-modal{width:min(1100px,100%)}
.vergleich-body{display:grid;gap:16px;align-content:start}
.vergleich-zahl{margin:0;font-size:13px;color:var(--grau)}
.vergleich-gruppe h3{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:14px;font-weight:600;color:var(--tinte)}
.vergleich-gruppe h3 span{font-size:11px;font-weight:600;background:var(--flaeche-3);color:var(--tinte-2);border-radius:999px;padding:0 7px;line-height:1.7}
.vergleich-tabelle{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}
.vergleich-tabelle thead th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--grau);padding:6px 10px;border-bottom:1px solid var(--linie);background:var(--flaeche-2)}
.vergleich-tabelle thead th:first-child{width:30%}
.vergleich-tabelle tbody th{text-align:left;font-weight:600;color:var(--tinte);vertical-align:top;padding:8px 10px;border-bottom:1px solid var(--linie)}
.vergleich-tabelle tbody th small{display:block;font-size:11px;font-weight:400;color:var(--grau);margin-bottom:1px}
.vergleich-tabelle td{vertical-align:top;padding:8px 10px;border-bottom:1px solid var(--linie);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--tinte-2)}
.vergleich-tabelle td:last-child{color:var(--tinte)}
.vergleich-tabelle tr.neu td:last-child{background:#f3f9ec}
.vergleich-tabelle tr.entfernt td:nth-child(2){background:#fdf3f2}
.vergleich-tabelle tr.geaendert td:last-child{background:#fbf8ee}
.konflikt-text{margin:0;font-size:13px;line-height:1.55;color:var(--tinte-2)}
.druck-aenderungen td{white-space:pre-wrap;overflow-wrap:anywhere}
.druck-neben{color:#5a6e76;font-size:.92em}
@media(max-width:750px){.kennzahlen{grid-template-columns:1fr 1fr}.uebersicht-tabelle td:nth-child(2),.uebersicht-tabelle td:nth-child(3),.uebersicht-tabelle td:nth-child(4),.uebersicht-tabelle td:nth-child(5){display:inline-block;width:auto;margin-right:14px;vertical-align:middle}.uebersicht-tabelle td:nth-child(3) .zelle-neben{display:none}}
.uebersicht-tabelle .table-actions button{white-space:nowrap}
.uebersicht-tabelle .zelle-neben{white-space:nowrap}
.uebersicht-tabelle th:nth-child(2),.uebersicht-tabelle td:nth-child(2){width:136px}
.konflikt-modal{width:min(640px,100%)}
.modal-foot button{white-space:nowrap}
@media(max-width:750px){.uebersicht-tabelle .zelle-neben{white-space:normal}.uebersicht-tabelle th:nth-child(2),.uebersicht-tabelle td:nth-child(2){width:auto}.modal-foot button{white-space:normal}}

/* ==== Stufe 11: Dokumentationstypen (Gesamt, Kassenführung, Ersetzendes Scannen) ===================== */
.dokumente-panel{display:grid;gap:12px;padding:20px 26px 22px;border-bottom:1px solid var(--linie);background:var(--flaeche-2)}
.dokumente-kopf h3{margin:0 0 2px;font-size:15px;font-weight:600;color:var(--tinte)}
.dokumente-kopf p{margin:0;font-size:13px;line-height:1.5;color:var(--grau);max-width:78ch}
.dokumente-liste{display:grid;gap:8px}
.dokument-karte{display:grid;gap:10px;padding:14px 16px;background:#fff;border:1px solid var(--linie);border-radius:10px}
.dokument-kopf{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.dokument-titel{display:grid;gap:2px;min-width:0}
.dokument-titel strong{font-size:14px;font-weight:600;color:var(--tinte)}
.dokument-titel span{font-size:12px;line-height:1.45;color:var(--grau)}
.dokument-status{display:flex;align-items:center;gap:10px;flex:none}
.dokument-version{font-size:12px;color:var(--tinte-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.dokument-fuss{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap}
.dokument-stand{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap}
.dokument-fassung{font-size:12px;color:var(--grau)}
.dokument-aktionen{display:flex;gap:6px;flex-wrap:wrap}
.dokument-aktionen button{white-space:nowrap}
.dokumente-hinweis{margin:0;font-size:12px;line-height:1.5;color:var(--grau)}
.dokument-leiste{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;padding:12px 26px;border-bottom:1px solid var(--linie);background:var(--flaeche-2)}
.dw-marken{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
.dw-marke{font-size:10.5px;font-weight:600;letter-spacing:.02em;line-height:1.7;padding:0 6px;border-radius:4px;border:1px solid var(--linie);background:var(--flaeche-2);color:var(--tinte-2)}
.dw-marke.frei{border-color:#bfdccb;background:var(--ok-flaeche);color:var(--ok-text)}
.pdf-modal{width:min(980px,100%)}
.druckwerk-reiter{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 24px;background:#fff;border-bottom:1px solid var(--linie)}
.druckwerk-reiter .tab{cursor:pointer;white-space:nowrap}
.druckwerk-reiter .tab.aktiv{cursor:default}
.druckwerk-titel{font-size:13px;color:var(--grau)}
.druckwerk-modal{width:min(620px,100%)}
.dw-felder{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.dw-feld{display:grid;gap:5px;align-content:start;font-size:12px;font-weight:600;color:var(--tinte-2)}
.dw-feld.breit{grid-column:1/-1}
.dw-feld .control{font-weight:400;min-height:36px;background:#fff}
.dw-feld textarea.control{min-height:76px;resize:vertical}
.dw-feld select.control{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2366777e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;padding-right:34px}
.fassung-neu-felder.mit-dokument{grid-template-columns:210px 190px 1fr}
@media print,(min-width:751px){.pdf-meta{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px 16px}}
@media(max-width:750px){.dokumente-panel{padding:16px}.dokument-leiste{padding:12px 16px}.dokument-kopf{flex-direction:column;gap:8px}.dw-felder{grid-template-columns:1fr}.druckwerk-reiter{padding:10px 14px}.druckwerk-reiter .tab-zahl{display:none}.fassung-neu-felder.mit-dokument{grid-template-columns:1fr}}
@media print{.druckwerk-reiter{display:none!important}}

/* ==== Stufe 12: Regelprüfung (ohne KI), Prüfprotokoll, Feststellungen im Cockpit ===================== */
.pruef-knopf .pruef-zahl{font-size:11px;font-weight:600;line-height:1.7;padding:0 7px;border-radius:999px;font-variant-numeric:tabular-nums}
.pruef-zahl.hoch{background:var(--fehler-flaeche);color:var(--fehler);box-shadow:inset 0 0 0 1px var(--fehler-rand)}
.pruef-zahl.mittel{background:var(--warn-flaeche);color:var(--warn-text);box-shadow:inset 0 0 0 1px var(--warn-rand)}

/* Randspalte */
.regel-karte h3{display:flex;align-items:center;gap:8px}
.regel-zahl{font-size:11px;font-weight:600;line-height:1.7;padding:0 7px;border-radius:999px;background:var(--flaeche-3);color:var(--tinte-2)}
.regel-zahl.hoch{background:var(--fehler-flaeche);color:var(--fehler)}
.regel-zahl.mittel{background:var(--warn-flaeche);color:var(--warn-text)}
.regel-ok{display:flex;align-items:center;gap:7px;margin:0;font-size:12px;color:var(--ok-text)}
.regel-ok .symbol{width:14px;height:14px;flex:none}
.regel-liste{display:grid;gap:5px}
.regel-punkt{border-radius:6px;background:var(--flaeche-2)}
.regel-punkt>summary{display:flex;align-items:flex-start;gap:8px;padding:7px 9px;font-size:12px;line-height:1.4;color:var(--tinte-2);cursor:pointer;list-style:none;border-radius:6px}
.regel-punkt>summary::-webkit-details-marker{display:none}
.regel-punkt>summary:hover{background:var(--flaeche-3);color:var(--tinte)}
.regel-punkt[open]>summary{color:var(--tinte);font-weight:600}
.regel-licht{flex:none;width:8px;height:8px;border-radius:50%;margin-top:4px;background:var(--grau-2)}
.regel-punkt.hoch .regel-licht{background:var(--fehler)}
.regel-punkt.mittel .regel-licht{background:#d9a21b}
.regel-titel small{display:block;font-size:11px;font-weight:400;color:var(--grau)}
.regel-text{padding:2px 9px 10px 25px;font-size:12px;line-height:1.5;color:var(--tinte-2)}
.regel-text p{margin:0 0 6px}
.regel-text strong{font-weight:600;color:var(--tinte)}
.regel-fundstelle{font-size:11px;color:var(--grau)}
.regel-text .klein{margin-top:2px}
.regel-mehr{display:block;margin-top:6px;font-size:11px;color:var(--grau)}
.regel-alle{display:block;width:100%;margin-top:10px;padding:0;border:0;background:none;text-align:left;font-size:12px;font-weight:600;color:var(--gruen-text);cursor:pointer}
.regel-alle:hover{text-decoration:underline}

/* Dialog */
.regel-modal{width:min(940px,100%)}
.regel-leiste{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:12px 24px;border-bottom:1px solid var(--linie);background:#fff}
.regel-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--linie-2);background:#fff;color:var(--tinte-2);border-radius:999px;padding:4px 11px;font-size:12px;font-weight:600;cursor:pointer;transition:border-color .12s ease,background .12s ease}
.regel-chip span{font-weight:600;font-size:11px;color:var(--grau);font-variant-numeric:tabular-nums}
.regel-chip:hover{border-color:#aebbc1}
.regel-chip.aktiv{border-color:var(--gruen);background:var(--gruen-flaeche);color:var(--tinte)}
.regel-chip.hoch span{color:var(--fehler)}
.regel-chip.mittel span{color:var(--warn-text)}
.regel-trenner{width:1px;height:18px;background:var(--linie-2);margin:0 4px}
.regel-modal .regel-body{display:grid;gap:18px;align-content:start;overflow:auto;min-height:0}
.regel-gruppe{display:grid;gap:8px}
.regel-gruppe h3{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;color:var(--tinte)}
.regel-gruppe h3 span{font-size:11px;font-weight:600;background:var(--flaeche-3);color:var(--tinte-2);border-radius:999px;padding:0 7px;line-height:1.7}
.regel-zeile{border:1px solid var(--linie);border-left:3px solid var(--grau-2);border-radius:8px;padding:12px 14px;background:#fff}
.regel-zeile.hoch{border-left-color:var(--fehler)}
.regel-zeile.mittel{border-left-color:#d9a21b}
.regel-zeile-kopf{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:6px}
.regel-zeile-kopf strong{font-size:14px;font-weight:600;color:var(--tinte)}
.regel-stufe{font-size:11px;font-weight:600;line-height:1.7;padding:0 8px;border-radius:999px;background:var(--flaeche-3);color:var(--tinte-2);white-space:nowrap}
.regel-stufe.hoch{background:var(--fehler-flaeche);color:var(--fehler)}
.regel-stufe.mittel{background:var(--warn-flaeche);color:var(--warn-text)}
.regel-eintrag{font-size:12px;color:var(--grau)}
.regel-zeile p{margin:0 0 5px;font-size:13px;line-height:1.55;color:var(--tinte-2)}
.regel-zeile p strong{font-weight:600;color:var(--tinte)}
.regel-zeile-fuss{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px}
.regel-zeile-fuss .regel-fundstelle{font-size:12px}
.regel-legende{margin:0;padding-top:12px;border-top:1px solid var(--linie);font-size:12px;line-height:1.55;color:var(--grau)}
.regel-legende strong{font-weight:600;color:var(--tinte-2)}

/* Cockpit und Dokumentkarten */
.pruef-zeile{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
.pruef-marke{font-size:10.5px;font-weight:600;line-height:1.7;padding:0 6px;border-radius:4px;white-space:nowrap}
.pruef-marke.hoch{background:var(--fehler-flaeche);color:var(--fehler)}
.pruef-marke.mittel{background:var(--warn-flaeche);color:var(--warn-text)}
.pruef-marke.gut{background:var(--ok-flaeche);color:var(--ok-text)}
.dokument-pruefung{font-size:12px;padding:0;border:0;background:none;text-align:left}
.dokument-pruefung.gut{color:var(--ok-text)}
button.dokument-pruefung{font-weight:600;cursor:pointer}
button.dokument-pruefung:hover{text-decoration:underline}
.dokument-pruefung.hoch{color:var(--fehler)}
.dokument-pruefung.mittel{color:var(--warn-text)}
.druckwerk-reiter .tab-abgesetzt{margin-left:10px}

/* Druck: Prüfprotokoll und Anlage Kassen-Nachschau */
.pruef-tabelle th:nth-child(1),.pruef-tabelle td:nth-child(1){width:11%}
.pruef-tabelle th:nth-child(2),.pruef-tabelle td:nth-child(2){width:37%}
.pruef-tabelle th:nth-child(3),.pruef-tabelle td:nth-child(3){width:32%}
.pruef-tabelle th:nth-child(4),.pruef-tabelle td:nth-child(4){width:20%}
.nachschau-tabelle th:nth-child(1),.nachschau-tabelle td:nth-child(1){width:18%}
.nachschau-tabelle th:nth-child(2),.nachschau-tabelle td:nth-child(2){width:34%}
.nachschau-tabelle th:nth-child(3),.nachschau-tabelle td:nth-child(3){width:30%}
.nachschau-tabelle th:nth-child(4),.nachschau-tabelle td:nth-child(4){width:18%}
.pruef-tabelle,.nachschau-tabelle{table-layout:fixed}
.pruef-tabelle td,.nachschau-tabelle td{overflow-wrap:break-word;hyphens:auto}
@media(max-width:750px){.regel-leiste{padding:10px 14px}.druckwerk-reiter .tab-abgesetzt{margin-left:0}}

/* Stufe 13: Vorschläge der KI aus Unterlagen im Kopf der Dokumentation, Hinweis „KI arbeitet“ */
.ki-vorschlag-knopf{color:var(--ki-farbe);border-color:var(--ki-rand)}
.ki-vorschlag-knopf:hover{background:var(--ki-flaeche);border-color:#b9a6dc;color:#4c3680}
.ki-vorschlag-knopf .symbol{color:var(--ki-farbe)}
.ki-zahl{font-size:11px;font-weight:600;line-height:1.7;padding:0 7px;border-radius:999px;font-variant-numeric:tabular-nums;background:var(--ki-flaeche);color:var(--ki-farbe);box-shadow:inset 0 0 0 1px var(--ki-rand)}
.ki-knopf.arbeitet .symbol{animation:ki-puls 1.6s ease-in-out infinite}
@keyframes ki-puls{0%,100%{opacity:1}50%{opacity:.3}}
@media (prefers-reduced-motion:reduce){.ki-knopf.arbeitet .symbol{animation:none}}

/* Stufe 14: Deckblatt allein auf Seite 1, Inhaltsübersicht auf eigener Seite, danach beginnt eine neue Seite.
   Druck: Seitenwechsel vor und nach der Inhaltsübersicht (gilt auch für die Dokumente Kasse und Scannen).
   Vorschau am Bildschirm: dieselben Seitenwechsel als Abstand zwischen zwei Blättern. */
.pdf-sheet{--blatt-rand:46px}
@media(max-width:750px){.pdf-sheet{--blatt-rand:24px}}
.pdf-sheet .pdf-toc{border-top:2px solid var(--tinte);padding-top:16px}
.pdf-sheet .pdf-toc h3{font-family:Georgia,serif;font-weight:500;font-size:19px;letter-spacing:0;text-transform:none;color:var(--tinte);margin:0 0 16px}
@media screen{
  .pdf-sheet .pdf-toc,.pdf-sheet .druck-dokumentinfo{position:relative;margin-top:116px}
  .pdf-sheet .pdf-toc::before,.pdf-sheet .druck-dokumentinfo::before{content:"";position:absolute;top:-84px;height:48px;left:calc(-1px - var(--blatt-rand));right:calc(-1px - var(--blatt-rand));background:var(--grund);box-shadow:inset 0 1px 0 var(--linie),inset 0 -1px 0 var(--linie),inset 0 7px 8px -7px rgba(18,54,66,.14)}
}
@media print{
  .pdf-toc{break-before:page;break-after:page}
}

/* Stufe 15: Fragebogen für Mandanten. Ansicht des Mandanten (/fragebogen) und Bedienelemente der Mitarbeiter. */

/* ---- Mitarbeiter: Herkunft „Mandant“, Stand in der Übersicht, Dialog ---- */
.source-badge.mandant{background:#e8f0fb;color:#24508f}
.field-footer .fb-herkunft{color:#24508f;font-weight:600}
.fb-bestaetigen{border:1px solid #b9cdea;background:#f3f7fd;color:#24508f;font-size:11px;font-weight:600;border-radius:5px;padding:3px 9px;cursor:pointer;margin-left:8px}
.fb-bestaetigen:hover{background:#e8f0fb;border-color:#8fb0de}
.fb-marke{display:inline-block;margin-top:5px;font-size:11px;font-weight:600;line-height:1.6;padding:0 8px;border-radius:999px;background:#e8f0fb;color:#24508f;white-space:nowrap}
.company-text .fb-marke{margin-right:auto}
.fb-marke.uebermittelt{background:var(--ok-flaeche);color:var(--ok-text)}
.fb-marke.abgelaufen,.fb-marke.gesperrt{background:var(--flaeche-3);color:var(--grau)}
.fragebogen-modal{width:min(760px,calc(100vw - 32px))}
.fragebogen-modal .modal-body{display:flex;flex-direction:column;gap:14px}
.fb-erklaerung{margin:0;color:var(--tinte-2);line-height:1.55}
.fb-status-tabelle{margin:0}
.fb-status-tabelle th{width:34%}
.fb-linkbox{border:1px solid var(--gruen-rand);background:var(--gruen-flaeche);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:9px}
.fb-linkbox h3{margin:0;font-size:14px}
.fb-warn{margin:0;font-size:12px;color:var(--tinte-2)}
.fb-link-zeile{display:flex;gap:8px}
.fb-link-zeile .control{flex:1;min-width:0;font-family:Consolas,"Cascadia Mono",monospace;font-size:12px;background:#fff}
.fb-mail-label{font-size:12px;font-weight:600;color:var(--tinte-2)}
#fb-mailtext{font-size:12px;line-height:1.5;background:#fff;resize:vertical}
.fb-knoepfe{display:flex;flex-wrap:wrap;gap:8px}
.fb-gefahr{color:var(--fehler)}
.fb-gefahr:hover{background:var(--fehler-flaeche);color:var(--fehler)}
.fb-abschnitt{margin:6px 0 0;font-size:13px;font-weight:600;color:var(--tinte)}
.fb-markiert{list-style:none;margin:0;padding:0;border-top:1px solid var(--linie)}
.fb-markiert li{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--linie)}
.fb-markiert-text{display:flex;flex-direction:column;min-width:0}
.fb-markiert-text small{color:var(--grau);font-size:11px}
.fb-wert{color:var(--tinte-2);font-size:12px;overflow-wrap:anywhere}
.fb-leer{margin:0;color:var(--grau)}
.fb-fehler{margin:0;padding:8px 12px;border-radius:6px;background:var(--fehler-flaeche);color:var(--fehler)}
@media(max-width:620px){.fb-markiert li{grid-template-columns:1fr}.fb-link-zeile{flex-direction:column}}

/* ---- Mandant: Fragebogen ---- */
.fb-seite{min-height:100vh;background:var(--grund);display:flex;flex-direction:column}
.fb-kopf{display:flex;align-items:center;gap:16px;padding:12px 24px;background:#fff;border-bottom:1px solid var(--linie)}
.fb-logo{height:38px;width:auto}
.fb-produkt{font-size:15px;font-weight:600;color:var(--tinte)}
.fb-inhalt{width:min(1080px,100%);margin:0 auto;padding:24px 24px 48px;box-sizing:border-box;flex:1}
.fb-laden{color:var(--grau);padding:40px 0;text-align:center}
.fb-titel h1{margin:0;font-family:Georgia,serif;font-weight:500;font-size:26px;line-height:1.25;color:var(--tinte)}
.fb-titel p{margin:6px 0 0;color:var(--grau);font-size:13px}
.fb-speicherstand{display:inline-block;margin-left:6px;color:var(--ok-text);font-weight:600}
.fb-speicherstand.wartet{color:var(--grau);font-weight:400}
.fb-speicherstand.fehler{color:var(--fehler)}
.fb-banner{margin-top:14px;padding:10px 14px;border-radius:var(--radius);background:var(--ok-flaeche);color:var(--ok-text);font-size:13px}
.fb-fortschritt{height:4px;border-radius:99px;background:var(--flaeche-3);margin:18px 0;overflow:hidden}
.fb-fortschritt span{display:block;height:100%;background:var(--gruen-hell);border-radius:99px;transition:width .2s ease}
.fb-raster{display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px;align-items:start}
.fb-schritte ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;position:sticky;top:16px}
.fb-schritte button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;border-radius:7px;padding:8px 10px;color:var(--tinte-2);font-size:13px;cursor:pointer}
.fb-schritte button:hover{background:#fff}
.fb-schritte button.aktiv{background:#fff;color:var(--tinte);font-weight:600;box-shadow:var(--schatten-1)}
.fb-nr{flex:0 0 24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;background:var(--flaeche-3);color:var(--tinte-2)}
.fb-schritte .aktiv .fb-nr{background:var(--gruen);color:#fff}
.fb-schritte .erledigt .fb-nr{background:var(--gruen-flaeche);color:var(--gruen-text)}
.fb-karte{background:#fff;border:1px solid var(--linie);border-radius:var(--radius-gross);padding:26px 30px;box-shadow:var(--schatten-1);min-width:0}
.fb-karte h2{margin:2px 0 6px;font-family:Georgia,serif;font-weight:500;font-size:22px;color:var(--tinte)}
.fb-schritt-nr{margin:0;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gruen-text)}
.fb-text{margin:0 0 18px;color:var(--tinte-2);line-height:1.55;font-size:14px}
.fb-intro{list-style:none;margin:0 0 20px;padding:12px 14px;display:flex;flex-wrap:wrap;gap:6px 18px;background:var(--flaeche-2);border:1px solid var(--linie);border-radius:var(--radius);font-size:13px;color:var(--tinte-2)}
.fb-intro li::before{content:"✓";color:var(--gruen);font-weight:700;margin-right:6px}
.fb-frage{display:flex;flex-direction:column;gap:6px;margin:0 0 18px}
.fb-frage.klein{margin:0}
.fb-label{font-weight:600;font-size:14px;color:var(--tinte);line-height:1.4}
.fb-frage.klein .fb-label{font-size:13px}
.fb-hinweis{margin:0;font-size:12px;color:var(--grau);line-height:1.5}
.fb-herkunft{margin:0;display:flex;align-items:center;gap:6px;font-size:12px;color:#24508f}
.fb-eingabe{width:100%;box-sizing:border-box;border:1px solid var(--linie-2);border-radius:7px;padding:10px 12px;font:inherit;font-size:15px;color:var(--tinte);background:#fff}
.fb-eingabe:focus{border-color:var(--gruen);outline:2px solid rgba(75,122,23,.18);outline-offset:0}
textarea.fb-eingabe{resize:vertical;min-height:84px;line-height:1.5}
.fb-kurz{max-width:220px}
.fb-wahl{display:flex;flex-wrap:wrap;gap:8px}
.fb-wahl-knopf{min-width:96px;padding:9px 16px;border:1px solid var(--linie-2);border-radius:7px;background:#fff;color:var(--tinte);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.fb-wahl-knopf:hover{border-color:var(--gruen)}
.fb-wahl-knopf.gewaehlt{background:var(--gruen);border-color:var(--gruen);color:#fff}
.fb-mehrfach{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 14px}
.fb-haken{display:flex;align-items:flex-start;gap:8px;font-size:14px;cursor:pointer}
.fb-haken input{margin-top:3px;accent-color:var(--gruen)}
.fb-teil{padding:16px 0 4px;border-top:1px solid var(--linie);margin-top:6px}
.fb-teil:first-of-type{border-top:0;padding-top:0}
.fb-eintraege{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}
.fb-eintrag{border:1px solid var(--linie);border-radius:var(--radius);padding:14px 16px;background:var(--flaeche-2)}
.fb-eintrag-kopf{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.fb-eintrag-kopf strong{font-size:13px;color:var(--tinte)}
.fb-eintrag-kopf .fb-herkunft{font-size:11px}
.fb-entfernen{margin-left:auto;background:none;border:0;color:var(--fehler);font-size:12px;font-weight:600;cursor:pointer;padding:4px 6px;border-radius:5px}
.fb-entfernen:hover{background:var(--fehler-flaeche)}
.fb-eintrag-felder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.fb-liste-lesen{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:0;font-size:13px}
.fb-liste-lesen dt{color:var(--grau)}
.fb-liste-lesen dd{margin:0}
.fb-plus{background:none;border:1px dashed var(--linie-2);border-radius:7px;padding:9px 14px;color:var(--gruen-text);font:inherit;font-weight:600;cursor:pointer;width:100%}
.fb-plus:hover{border-color:var(--gruen);background:var(--gruen-flaeche)}
.fb-hochladen{display:flex;align-items:center;justify-content:center;border:2px dashed var(--linie-2);border-radius:var(--radius-gross);padding:26px;background:var(--flaeche-2);cursor:pointer;text-align:center}
.fb-hochladen:hover,.fb-hochladen:focus-within{border-color:var(--gruen);background:var(--gruen-flaeche)}
.fb-hochladen input{position:absolute;opacity:0;width:1px;height:1px}
.fb-hochladen-text{display:flex;flex-direction:column;gap:4px}
.fb-hochladen-text strong{color:var(--gruen-text);font-size:15px}
.fb-hochladen-text small{color:var(--grau);font-size:12px}
.fb-status{margin:10px 0 0;font-size:13px;color:var(--tinte-2)}
.fb-dateien{list-style:none;margin:12px 0 0;padding:0;border-top:1px solid var(--linie)}
.fb-dateien li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--linie);font-size:13px}
.fb-dateien small{color:var(--grau);white-space:nowrap}
.fb-datenschutz{margin-top:18px;padding:12px 14px;border-radius:var(--radius);background:var(--flaeche-2);border:1px solid var(--linie);font-size:12px;color:var(--tinte-2)}
.fb-datenschutz p{margin:4px 0 0;line-height:1.55}
.fb-fuss{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid var(--linie)}
.fb-fuss .primary,.fb-fuss .secondary{min-height:42px;padding:10px 22px;font-size:14px}
.fb-meldung,.fb-dank{max-width:620px;margin:30px auto 0}
.fb-meldung h1,.fb-dank h1{margin:0 0 10px;font-family:Georgia,serif;font-weight:500;font-size:24px}
.fb-meldung p,.fb-dank p{color:var(--tinte-2);line-height:1.6}
@media(max-width:820px){
  .fb-raster{grid-template-columns:1fr}
  .fb-schritte{display:none}
  .fb-inhalt{padding:16px 16px 40px}
  .fb-kopf{padding:10px 16px}
  .fb-logo{height:32px}
  .fb-produkt{font-size:13px}
  .fb-karte{padding:20px 18px}
  .fb-titel h1{font-size:22px}
  .fb-eintrag-felder{grid-template-columns:1fr}
  .fb-wahl-knopf{flex:1}
}

/* Stufe 16: aus „Allgemeines“ übernommene Angaben (Standorte, Mitarbeiter/innen, Dienstleister) */
.source-badge.verknuepft{background:var(--gruen-flaeche);color:var(--gruen-text)}
.fb-verknuepft{margin:0 0 14px;display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:var(--radius);background:var(--gruen-flaeche);border:1px solid var(--gruen-rand);font-size:13px;color:var(--gruen-text);line-height:1.5}
.fb-verknuepft .symbol{margin-top:2px}

/* Stufe 17: Unterpunkte des aktiven Bereichs in der Seitenleiste, mit Statuszeichen */
.nav-unterpunkte{display:flex;flex-direction:column;gap:1px;margin:2px 0 8px 21px;padding-left:9px;border-left:1px solid var(--linie)}
.nav-unterpunkt{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:0;border-radius:6px;padding:5px 8px;font:inherit;font-size:12.5px;line-height:1.3;color:var(--tinte-2);cursor:pointer}
.nav-unterpunkt:hover{background:var(--flaeche-3);color:var(--tinte)}
.nav-unterpunkt.aktuell{background:#fff;color:var(--tinte);font-weight:600;box-shadow:var(--schatten-1)}
.nav-unterpunkt.ebene-2{padding-left:22px;font-size:12px}
.up-label{flex:1;min-width:0;overflow:hidden;hyphens:auto;-webkit-hyphens:auto;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.nav-unterpunkt{align-items:flex-start}
.nav-unterpunkt .up-zeichen{margin-top:1px}
.up-zeichen{flex:0 0 18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums}
.ebene-2 .up-zeichen{flex-basis:16px;height:16px;font-size:9.5px}
.up-zeichen.fertig{background:var(--gruen-flaeche);color:var(--gruen)}
.up-zeichen.fertig .symbol{width:11px;height:11px}
.up-zeichen.offen{background:var(--warn-flaeche);color:var(--warn-text);box-shadow:inset 0 0 0 1px var(--warn-rand)}
.up-zeichen.neutral::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--linie-2)}
[id^="up-"]{scroll-margin-top:calc(var(--kopf) + 24px)}
.up-ziel{animation:up-hervor 1.7s ease-out}
@keyframes up-hervor{0%{box-shadow:0 0 0 3px var(--gruen-rand);background-color:var(--gruen-flaeche)}100%{box-shadow:0 0 0 0 transparent}}
@media (prefers-reduced-motion:reduce){.up-ziel{animation:none}}
.mobil-bereich{min-width:0}
.mobil-bereich select{width:100%;min-width:0;max-width:100%;text-overflow:ellipsis}
.mobil-unterpunkt{margin-top:-6px}

/* Stufe 18: Fragebogen überarbeitet (Ankreuzlisten, Status der Schritte) und rote Markierung der Unterpunkte */

/* Portal: Unterpunkte ohne jede Pflichtangabe rot */
.up-zeichen.leer{background:var(--fehler-flaeche);color:var(--fehler);box-shadow:inset 0 0 0 1px var(--fehler-rand)}

/* Fragebogen: Status der Schritte */
.fb-nr.fertig{background:var(--gruen-flaeche);color:var(--gruen)}
.fb-nr.fertig .symbol{width:12px;height:12px;stroke-width:3}
.fb-nr.teil{background:var(--warn-flaeche);color:var(--warn-text);box-shadow:inset 0 0 0 1px var(--warn-rand)}
.fb-nr.leer{background:var(--fehler-flaeche);color:var(--fehler);box-shadow:inset 0 0 0 1px var(--fehler-rand)}
.fb-schritte button.aktiv .fb-nr,.fb-nr.aktiv{background:var(--gruen);color:#fff;box-shadow:none}

/* Fragebogen: Ankreuzlisten */
.fb-auswahl-liste{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.fb-auswahl{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--linie-2);border-radius:8px;background:#fff;cursor:pointer}
.fb-auswahl:hover{border-color:var(--gruen)}
.fb-auswahl input{margin-top:3px;accent-color:var(--gruen);flex:0 0 auto}
.fb-auswahl.an{border-color:var(--gruen);background:var(--gruen-flaeche)}
.fb-auswahl.fest{cursor:default;opacity:.85}
.fb-auswahl-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.fb-auswahl-text strong{font-size:14px;font-weight:600;color:var(--tinte)}
.fb-auswahl-text small{font-size:12px;color:var(--grau);line-height:1.4}
.fb-auswahl-text .fb-auswahl-fest{color:#24508f}

@media(max-width:820px){
  .fb-auswahl-liste{grid-template-columns:1fr}
  /* Schritte am Handy als Leiste mit Nummern */
  .fb-schritte{display:block;margin:-6px 0 12px}
  .fb-schritte ol{position:static;flex-direction:row;gap:6px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none}
  .fb-schritte li{flex:0 0 auto}
  .fb-schritte button{padding:2px;border-radius:50%;background:none;box-shadow:none}
  .fb-schritte button.aktiv{background:none;box-shadow:none}
  .fb-schritte .fb-schritt-titel{display:none}
  .fb-nr{flex-basis:30px;width:30px;height:30px;font-size:13px}
}

/* Abstand zwischen Listenteil und folgender Einzelfrage */
.fb-teil + .fb-frage{margin-top:22px;padding-top:16px;border-top:1px solid var(--linie)}

/* Stufe 19: Der Mandant kann Einträge der Kanzlei zum Entfernen vorschlagen; die Kanzlei entscheidet */

/* Fragebogen: zum Entfernen vorgeschlagener Eintrag */
.fb-eintrag.entfernt{background:var(--flaeche);border-style:dashed;padding:10px 16px}
.fb-eintrag.entfernt .fb-eintrag-kopf{margin-bottom:0;flex-wrap:wrap}
.fb-eintrag.entfernt .fb-eintrag-kopf strong{color:var(--grau);text-decoration:line-through;font-weight:600;min-width:0;overflow-wrap:anywhere}
.fb-eintrag.entfernt .fb-herkunft{color:var(--warn-text)}
.fb-behalten{margin-left:auto;background:none;border:0;color:#24508f;font-size:12px;font-weight:600;cursor:pointer;padding:4px 6px;border-radius:5px}
.fb-behalten:hover{background:var(--flaeche-2)}
.fb-eintrag-kopf .fb-behalten-hinweis{color:var(--gruen-text)}
.fb-auswahl-text .fb-auswahl-weg{color:var(--warn-text)}

/* Portal: Wunsch des Mandanten am Eintrag */
.fb-entfernwunsch{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 10px;padding:10px 12px;border-radius:var(--radius);background:var(--warn-flaeche);border:1px solid var(--warn-rand);font-size:13px;line-height:1.5;color:var(--warn-text)}
.fb-entfernwunsch>span{flex:1 1 260px;min-width:0}
.fb-entfernwunsch .symbol{flex:none}
.fb-entfernwunsch button{padding:5px 10px;font-size:12px}

/* Portal: Dialog „Fragebogen für den Mandanten“ */
.fb-entfern-liste li{grid-template-columns:minmax(0,1fr) auto}
.fb-knoepfe-klein{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.fb-knoepfe-klein button{padding:5px 10px;font-size:12px}
@media(max-width:620px){.fb-entfern-liste li{grid-template-columns:1fr}.fb-knoepfe-klein{justify-content:flex-start}}

/* Stufe 22: Fragebogen – Fragen je Ablauf mit Namen aus „Zuständige Personen“ */
.fb-personen-hinweis{margin:8px 0 0;font-size:12px}
.fb-sprung{background:none;border:0;padding:0;margin:0;color:#24508f;font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.fb-sprung:hover{color:var(--tinte)}

/* Stufe 23: Vorschau des Fragebogens für die Kanzlei (nur lesen) */
.fb-vorschau-marke{display:inline-block;margin-right:6px;padding:1px 8px;border-radius:999px;background:var(--warn-flaeche);color:var(--warn-text);box-shadow:inset 0 0 0 1px var(--warn-rand);font-size:12px;font-weight:600}
.fb-vorschau-modus .fb-karte :disabled{cursor:default}
.fb-vorschau-modus .fb-karte .fb-eingabe:disabled{background:var(--flaeche-2);color:var(--tinte)}
.fb-vorschau-modus .fb-hochladen{opacity:.6}
