/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;font-family:'Segoe UI',system-ui,-apple-system,sans-serif;font-size:14px;color:#1a1a1a;background:#e8ecf0}
input,select,textarea,button{font:inherit}
a{text-decoration:none;color:inherit;cursor:pointer}
table{border-collapse:collapse;width:100%}

/* ===== SCREENS ===== */
.screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#e8ecf0;z-index:100}

/* ===== SETUP & LOGIN ===== */
.setup-box,.login-box{background:#fff;border-radius:8px;padding:40px;box-shadow:0 4px 24px rgba(0,0,0,.12);width:100%;max-width:480px}
.setup-box{max-width:560px}
.setup-logo{text-align:center;font-size:32px;font-weight:700;color:#3b5a7c;margin-bottom:8px;letter-spacing:2px}
.setup-box h2,.login-box h2{text-align:center;font-weight:500;color:#555;margin-bottom:24px;font-size:16px}
.setup-box label,.login-box label{display:block;margin-bottom:14px;font-size:13px;color:#666;font-weight:500}
.setup-box input,.login-box input,.setup-box select,.login-box select{display:block;width:100%;margin-top:4px;padding:8px 10px;border:1px solid #ccc;border-radius:4px;font-size:14px}
.setup-box input:focus,.login-box input:focus{border-color:#3b5a7c;outline:none;box-shadow:0 0 0 2px rgba(59,90,124,.15)}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.setup-actions{display:flex;gap:10px;margin-top:20px}
.msg{margin-top:12px;padding:12px 16px;border-radius:6px;font-size:14px;display:none;font-weight:500}
.msg.ok{display:block;background:#e6f9e6;color:#1a7a1a;border:1px solid #a3d9a3}
.msg.err{display:block;background:#fef2f2;color:#991b1b;border:1px solid #fca5a5;box-shadow:0 2px 4px rgba(185,28,28,0.1)}
.msg.info{display:block;background:#e8f0fe;color:#1a56a0;border:1px solid #a3c4f5}

/* ===== BUTTONS ===== */
.btn{padding:8px 16px;border:1px solid #bbb;border-radius:4px;background:#f5f5f5;cursor:pointer;font-size:13px;white-space:nowrap;transition:all .15s;display:inline-flex;align-items:center;gap:6px}
.btn i,.btn svg{flex-shrink:0;pointer-events:none}
.btn:hover{background:#e8e8e8}
.btn-primary{background:#3b5a7c;color:#fff;border-color:#3b5a7c}
.btn-primary:hover{background:#2d4a68}
.btn-danger{background:#c53030;color:#fff;border-color:#c53030}
.btn-danger:hover{background:#9b2c2c}
.btn-success{background:#2f855a;color:#fff;border-color:#2f855a}
.btn-success:hover{background:#276749}
.btn-small{padding:4px 10px;font-size:12px}
.btn-full{width:100%}
.btn-group{display:flex;gap:6px;flex-wrap:wrap}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* ===== APP LAYOUT ===== */
.app-layout{display:flex;width:100%;height:100vh;overflow:hidden}

/* Sidebar */
.sidebar{width:170px;min-width:170px;background:linear-gradient(180deg,#3b5a7c 0%,#2d4a68 100%);color:#fff;display:flex;flex-direction:column;overflow-y:auto;padding-bottom:8px;height:100vh}
.sidebar-logo{text-align:center;padding:16px 0 8px}
.logo-circle{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.15);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;letter-spacing:1px;transition:all 0.2s ease}
.logo-circle:hover{background:rgba(255,255,255,.25);transform:scale(1.05);box-shadow:0 2px 8px rgba(0,0,0,0.2)}
.sidebar-section{font-size:11px;text-transform:uppercase;letter-spacing:1px;padding:14px 14px 6px;opacity:.6;font-weight:600}
.nav-item{display:flex;align-items:center;gap:8px;padding:9px 14px;font-size:13px;transition:background .15s;cursor:pointer;border-left:3px solid transparent}
.nav-item:hover{background:rgba(255,255,255,.1)}
.nav-item.active{background:rgba(255,255,255,.18);border-left-color:#fff;font-weight:600}
.nav-icon{width:18px;height:18px;flex-shrink:0;stroke-width:1.75}
.nav-label{white-space:nowrap}
.sidebar-spacer{flex:0 0 8px}
.sidebar-bottom{margin-top:auto;border-top:1px solid #3a4a5a;padding-top:8px;position:sticky;bottom:0;background:linear-gradient(180deg,#2d4a68 0%,#253a50 100%)}
.nav-admin{margin-top:auto}

/* Content area */
.content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}

/* Tab bar */
.tab-bar{display:flex;gap:0;background:#ccd6de;min-height:32px;border-bottom:1px solid #b0bec5;flex-shrink:0}
.tab-bar:empty{display:none}
.tab{padding:7px 16px;font-size:13px;cursor:pointer;border-right:1px solid #b0bec5;display:flex;align-items:center;gap:6px;background:#bcc8d2;transition:background .1s}
.tab:hover{background:#d4dce3}
.tab.active{background:#e8ecf0;font-weight:600}
.tab .tab-close{font-size:11px;opacity:.5;margin-left:4px}
.tab .tab-close:hover{opacity:1;color:#c53030}

/* Module content */
.module-content{flex:1;overflow:auto;padding:0 16px 16px 16px}
#moduleToolbar{background:#d4dce3;padding:8px 16px;flex-shrink:0;box-shadow:0 3px 6px rgba(0,0,0,0.18)}
#moduleToolbar .toolbar{margin:0;padding:0;background:transparent;box-shadow:none;position:static;min-width:unset}.welcome{text-align:center;padding:80px 20px;color:#888}
.welcome h1{font-size:28px;font-weight:300;color:#3b5a7c}
.welcome p{margin-top:8px;font-size:15px}

/* ===== TOOLBAR ===== */
.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:0;padding:0;background:transparent;border-radius:4px;flex-wrap:wrap}
.toolbar-right{margin-left:auto;display:flex;gap:8px;align-items:center}
.toolbar label{font-size:12px;color:#555;display:flex;align-items:center;gap:4px}
.toolbar input[type="date"],.toolbar input[type="text"],.toolbar select{padding:4px 8px;border:1px solid #bbb;border-radius:3px;font-size:13px}

/* ===== DATA TABLE ===== */
.data-table{width:100%;border:1px solid #c5cfd8;background:#fff;border-radius:4px}
.data-table thead{background:#4a6a8a;color:#fff;position:sticky;top:0;z-index:2;box-shadow:0 3px 6px rgba(0,0,0,0.18)}
.filter-row,.data-table thead .filter-row,.data-table thead tr.filter-row{background:#e8f4fc!important}
.filter-row td,.filter-row th{padding:4px 6px;background:#e8f4fc!important;color:#333!important}
.filter-input{width:100%;padding:3px 6px;border:1px solid #c5cfd8;border-radius:3px;font-size:12px;background:#fff;color:#333}
.inline-edit{width:80px;padding:2px 6px;border:1px solid #c5cfd8;border-radius:3px;font-size:13px;text-align:right;background:#fff}
.inline-edit:focus{border-color:#3b5a7c;outline:none;box-shadow:0 0 0 2px rgba(59,90,124,.15)}
tr.vg-active{background:#e6f4ea!important}
tr.vg-active:nth-child(even){background:#daf0e0!important}
.data-table th{padding:8px 10px;text-align:left;font-weight:500;font-size:12px;white-space:nowrap;cursor:pointer;user-select:none;position:relative}
.data-table th:hover{background:rgba(255,255,255,.1)}
.data-table th .sort-icon{margin-left:4px;font-size:10px;opacity:.5}
.data-table th.sorted .sort-icon{opacity:1}
.data-table td{padding:6px 10px;border-bottom:1px solid #e8ecf0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}
.data-table tbody tr{transition:background .1s;cursor:pointer}
.data-table tbody tr:hover{background:#e8f0fe}
.data-table tbody tr.selected{background:#c8ddf5}
.data-table tbody tr:nth-child(even){background:#f5f7f9}
.data-table tbody tr:nth-child(even):hover{background:#e8f0fe}
.data-table tbody tr:nth-child(even).selected{background:#c8ddf5}
.data-table .col-num{text-align:right}
.data-table .col-center{text-align:center}

/* Status indicators */
.status-dot{display:inline-block;width:12px;height:12px;border-radius:2px}
.status-dot.gray{background:#9ca3af}
.status-dot.green{background:#22c55e}
.status-dot.red{background:#ef4444}
.status-dot.yellow{background:#eab308}
.status-dot.green{background:#22c55e}
.status-dot.blue{background:#3b82f6}

/* ===== FORMS ===== */
.form-section{background:#fff;border:1px solid #d4dce3;border-radius:4px;padding:16px;margin-bottom:12px}
.form-section h3{font-size:14px;font-weight:600;color:#3b5a7c;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid #e8ecf0}
.form-fieldset{border:1px solid #d4dce3;border-radius:6px;padding:16px;margin:0;background:#fafbfc}
.form-fieldset legend{font-weight:600;font-size:13px;color:#3b5a7c;padding:0 8px}
.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.form-grid-4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:10px}
.form-row{display:flex;gap:10px;align-items:flex-end;margin-bottom:10px;flex-wrap:wrap}
.field{display:flex;flex-direction:column;gap:3px}
.field label,.field-label{font-size:11px;color:#666;font-weight:500;text-transform:uppercase;letter-spacing:.3px}
.field input,.field select,.field textarea{padding:6px 8px;border:1px solid #c5cfd8;border-radius:3px;font-size:13px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#3b5a7c;outline:none;box-shadow:0 0 0 2px rgba(59,90,124,.12)}
.field input[readonly]{background:#f0f0f0;color:#666}
.field textarea{resize:vertical;min-height:80px}
.field-wide{grid-column:1/-1}
.field-2{grid-column:span 2}

/* ===== TABS (inside modules) ===== */
.module-tabs{display:flex;gap:0;margin:12px 0 12px;border-bottom:2px solid #c5cfd8}
.module-tab{padding:8px 18px;font-size:13px;cursor:pointer;border:1px solid #c5cfd8;border-bottom:none;margin-bottom:-2px;background:#e8ecf0;border-radius:4px 4px 0 0;transition:background .1s}
.module-tab:hover{background:#d4dce3}
.module-tab.active{background:#fff;border-bottom-color:#fff;font-weight:600;color:#3b5a7c}

/* ===== DETAIL/SPLIT VIEW ===== */
.split-h{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.split-h>*{min-width:0;overflow:hidden}
.split-h .data-table{table-layout:fixed;word-wrap:break-word}
.split-h .data-table td,.split-h .data-table th{overflow:hidden;text-overflow:ellipsis}
.panel{background:#fff;border:1px solid #d4dce3;border-radius:4px;padding:12px}
.panel h4{font-size:13px;font-weight:600;margin-bottom:8px;color:#3b5a7c}
.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}

/* Colored panels (for Eingangsrechnungen workflow) */
.panel-open{border-top:3px solid #b8860b}
.panel-between{border-top:3px solid #6b7c0f}
.panel-invoice{border-top:3px solid #2d4a68}
.panel-open .panel-title{color:#b8860b;font-weight:600;font-size:13px}
.panel-between .panel-title{color:#6b7c0f;font-weight:600;font-size:13px}
.panel-invoice .panel-title{color:#2d4a68;font-weight:600;font-size:13px}

/* ===== SUMMARY BAR ===== */
.summary-bar{display:flex;gap:20px;padding:8px 12px;background:#f0f2f5;border-top:1px solid #d4dce3;font-size:13px;margin-top:8px;border-radius:0 0 4px 4px}
.summary-bar span{color:#555}
.summary-bar strong{color:#1a1a1a}

/* ===== MODAL/DIALOG ===== */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:1000}
.modal{background:#fff;border-radius:6px;box-shadow:0 8px 32px rgba(0,0,0,.2);max-width:600px;width:95%;max-height:90vh;display:flex;flex-direction:column}
.modal-wide{max-width:1000px}
.modal-xl{max-width:1400px}
.modal-header{padding:14px 18px;background:#3b5a7c;color:#fff;border-radius:6px 6px 0 0;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:15px}
.modal-close{cursor:pointer;font-size:18px;opacity:.7;background:none;border:none;color:#fff}
.modal-close:hover{opacity:1}
.modal-body{padding:18px;overflow-y:auto;flex:1}
.modal-footer{padding:12px 18px;border-top:1px solid #e8ecf0;display:flex;gap:8px;justify-content:flex-end}

/* ===== OPENING HOURS GRID ===== */
.hours-grid{display:grid;grid-template-columns:60px 1fr 1fr auto;gap:6px;align-items:center}
.hours-grid .day-label{font-weight:600;font-size:12px;color:#555}
.hours-grid input[type="time"]{padding:4px 6px;border:1px solid #ccc;border-radius:3px}
.hours-grid label{font-size:12px;display:flex;align-items:center;gap:4px}

/* ===== TOAST ===== */
.toast-container{position:fixed;top:16px;right:16px;z-index:2000;display:flex;flex-direction:column;gap:8px}
.toast{padding:10px 16px;border-radius:4px;color:#fff;font-size:13px;box-shadow:0 4px 12px rgba(0,0,0,.15);animation:slideIn .2s;min-width:200px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.toast-msg{flex:1}
.toast-close{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;opacity:0.7;padding:0 4px;line-height:1}
.toast-close:hover{opacity:1}
.toast.success{background:#2f855a}
.toast.error{background:#c53030}
.toast.info{background:#2b6cb0}
@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}

/* ===== CHECKBOX ===== */
.cb{width:16px;height:16px;cursor:pointer;accent-color:#3b5a7c}

/* ===== CALENDAR DROPDOWN ===== */
.cal-shortcuts{display:flex;flex-direction:column;gap:2px;padding:4px 0}
.cal-shortcuts a{padding:4px 12px;font-size:13px;cursor:pointer;border-radius:3px}
.cal-shortcuts a:hover{background:#e8ecf0}

/* ===== LOADING ===== */
.loading{text-align:center;padding:40px;color:#888}
.loading::after{content:'';display:inline-block;width:20px;height:20px;border:2px solid #bbb;border-top-color:#3b5a7c;border-radius:50%;animation:spin .6s linear infinite;margin-left:8px;vertical-align:middle}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== SEARCH INPUT ===== */
.search-input{position:relative}
.search-input input{padding-left:28px}
.search-input::before{content:'🔍';position:absolute;left:8px;top:50%;transform:translateY(-50%);font-size:12px;opacity:.5}

/* ===== RESPONSIVE ===== */
@media(max-width:900px){
    .sidebar{width:56px;min-width:56px}
    .nav-item span:not(.nav-icon){display:none}
    .sidebar-section{display:none}
    .nav-item{justify-content:center;padding:12px 0}
    .nav-icon{margin:0}
    .form-grid{grid-template-columns:1fr}
    .split-h{grid-template-columns:1fr}
}

/* ===== E-RECHNUNGEN 3-SPALTEN WORKFLOW ===== */
.er-workflow{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:12px;height:100%;min-height:400px}
.er-col{display:flex;flex-direction:column;background:#fff;border-radius:4px;border:1px solid #d4dce3;min-height:0}
.er-col-header{padding:10px 12px;font-weight:600;font-size:13px;text-align:center;color:#fff}
.er-header-open{background:linear-gradient(135deg,#6b7c0f 0%,#8a9a1f 100%)}
.er-header-between{background:linear-gradient(135deg,#5a6b0f 0%,#7a8b1f 100%)}
.er-header-invoice{background:linear-gradient(135deg,#2d4a68 0%,#3b5a7c 100%)}
.er-table-wrap{flex:1;overflow:auto;padding:0}
.er-table-wrap .data-table{border:none;border-radius:0;table-layout:fixed}
.er-table-wrap .data-table thead{position:sticky;top:0;z-index:1}
.er-table-wrap .data-table td,.er-table-wrap .data-table th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.er-summary{display:flex;justify-content:space-between;padding:8px 12px;background:#f5f7f9;border-top:1px solid #e8ecf0;font-size:12px}
.er-buttons{padding:8px 12px;background:#e8ecf0;display:flex;justify-content:center;gap:8px}
.er-buttons-double{justify-content:space-between}
.er-buttons .btn{min-width:100px}
.data-table tbody tr[data-id]{cursor:pointer}
.data-table tbody tr[data-id]:hover{background:#e8f0fe}
.data-table tbody tr[data-id].selected{background:#c8ddf5!important}
@media(max-width:1200px){.er-workflow{grid-template-columns:1fr;height:auto}.er-col{min-height:250px}}

/* ===== VERTEILAUFTRÄGE ===== */
.va-content{margin-top:12px}
.va-split{display:grid;grid-template-columns:2fr 1fr;gap:16px;height:calc(100vh - 250px);min-height:400px}
.va-master{overflow-y:auto;background:#fff;border-radius:4px;border:1px solid #d4dce3;padding:8px}
.va-detail{overflow-y:auto;background:#f8fafc;border-radius:4px;border:1px solid #d4dce3;padding:12px}
.va-detail h4{margin:0 0 12px;font-size:14px;color:#2d4a68}
.va-footer{display:flex;justify-content:flex-start;gap:24px;padding:12px 16px;background:#e8ecf0;border-radius:4px;margin-top:12px;font-size:13px;font-weight:500}
.va-footer span{color:#4a6785}

.group-header{background:linear-gradient(135deg,#4a6785 0%,#5a7a95 100%);color:#fff;padding:8px 12px;font-weight:600;font-size:13px;border-radius:4px 4px 0 0;margin-top:12px}
.group-header:first-child{margin-top:0}

/* Dropdown-Menü */
.dropdown{position:relative;display:inline-block}
.dropdown-menu{position:absolute;top:100%;left:0;background:#fff;border:1px solid #d4dce3;border-radius:4px;box-shadow:0 4px 12px rgba(0,0,0,.15);min-width:160px;z-index:1000;display:none;padding:4px 0}
.dropdown-menu.show{display:block}
.dropdown-header{padding:6px 12px;font-size:11px;font-weight:600;color:#888;text-transform:uppercase;border-top:1px solid #eee;margin-top:4px}
.dropdown-header:first-child{border-top:none;margin-top:0}
.dropdown-item{padding:8px 12px;cursor:pointer;font-size:13px}
.dropdown-item:hover{background:#e8f0fe}

/* Modal-Tabs */
.modal-tabs{display:flex;gap:0;border-bottom:2px solid #e8ecf0;margin-bottom:12px}
.modal-tab{padding:10px 20px;cursor:pointer;font-weight:500;color:#6b7c8a;border-bottom:2px solid transparent;margin-bottom:-2px}
.modal-tab:hover{color:#3b5a7c}
.modal-tab.active{color:#3b5a7c;border-bottom-color:#3b5a7c}

/* Input Small */
.input-sm{padding:6px 10px;font-size:13px;border:1px solid #d4dce3;border-radius:4px;background:#fff}
.input-sm:focus{outline:none;border-color:#3b5a7c;box-shadow:0 0 0 2px rgba(59,90,124,.15)}

/* Hint */
.hint{color:#888;font-size:13px;text-align:center;padding:20px}

/* Data-table compact */
.data-table.compact th,.data-table.compact td{padding:6px 8px;font-size:12px}

/* ===== SIDEBAR VERSION ===== */
.sidebar-version{padding:8px 16px;font-size:11px;color:#6b7c8a;text-align:center}

/* ===== TAB 2: POSITIONEN LAYOUT ===== */
.positionen-container{display:flex;flex-direction:column;gap:0}
.empty-state{padding:40px;text-align:center;color:#888}

/* Position Block */
.position-block{border:1px solid #ccc;margin-bottom:-1px;background:#fff}
.position-block:first-child{border-radius:4px 4px 0 0}
.position-block:last-of-type{border-radius:0 0 4px 4px}

/* Top Row - Hauptzeile mit Grid - alle Elemente gleich hoch */
.position-top-row{display:grid;grid-template-columns:50px 1fr 240px 80px;gap:8px;padding:10px;border-bottom:1px solid #e0e0e0;align-items:stretch}

/* Pos-Label links */
.pos-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;background:#3b5a7c;color:#fff;border-radius:4px}
.pos-label span{font-size:10px;text-transform:uppercase}
.pos-label strong{font-size:20px}

/* Produkt-Bereich - Labels über Inputs, leicht grauer Rahmen */
.produkt-bereich{display:flex;flex-direction:column;justify-content:space-between;gap:4px;min-width:0;padding:0 8px 0 0}
.produkt-preis-container{display:flex;gap:8px;border:1px solid #e0e0e0;border-radius:4px;padding:6px 8px;background:#fafafa}
.produkt-row,.staffel-row{display:flex;gap:6px;align-items:flex-end}
.produkt-bereich .field-group{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}
.produkt-bereich .field-group label{font-size:10px;color:#666;white-space:nowrap}
.produkt-input,.staffel-input{width:100%;padding:4px 8px;border:1px solid #ccc;border-radius:3px;font-size:11px;height:26px;box-sizing:border-box}
.produkt-input{background:#f9f9f9}
.preis-art-btns,.rabatt-art-btns{display:flex;gap:2px;flex-shrink:0}
.preis-art-btns .btn,.rabatt-art-btns .btn,.btn-lupe{padding:4px 8px;font-size:11px;height:26px;box-sizing:border-box}

/* Number-Input Spinner entfernen */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input[type=number]{-moz-appearance:textfield}

/* Preis-Felder Mitte - 2 Zeilen, gleiche Höhe, leicht grauer Rahmen */
.preis-felder{display:flex;flex-direction:column;justify-content:space-between;gap:4px;min-width:0;padding:0;flex:1}
.preis-zeile1,.preis-zeile2{display:flex;gap:6px;align-items:flex-end}
.preis-felder .field-group{display:flex;flex-direction:column;gap:1px;min-width:55px;flex:1}
.preis-felder label{font-size:10px;color:#666;white-space:nowrap}
.preis-felder input,.preis-felder select{width:100%;padding:4px 5px;border:1px solid #ccc;border-radius:3px;font-size:11px;text-align:right;box-sizing:border-box;height:26px}
.preis-felder input.readonly-field{background:#e8f4e8;color:#333;font-weight:500}
.preis-felder select{text-align:left}
.rabatt-container{flex:1;min-width:55px}

/* Kalkulations-Felder rechts (pink) - Felder auf gleicher Höhe wie andere Bereiche */
.kalk-felder{background:#fce4ec;padding:0 8px 6px 8px;border-radius:4px;display:flex;flex-direction:column;justify-content:space-between;gap:4px;border:1px solid #f8bbd9;min-width:0}
.kalk-row{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;align-items:flex-end}
.kalk-row.kalk-summen{grid-template-columns:1fr 1fr}
.kalk-felder .field-group{display:flex;flex-direction:column;gap:1px;min-width:0}
.kalk-felder label{font-size:10px;color:#666;white-space:nowrap}
.kalk-felder input{padding:4px 5px;border:1px solid #ccc;border-radius:3px;font-size:11px;text-align:right;width:100%;box-sizing:border-box;height:26px}
.kalk-felder input.highlight-yellow{background:#fff9c4;border-color:#f9a825}
.kalk-felder input.highlight-red{background:#ffcdd2;border-color:#e57373}
/* Warnfarben */
.kalk-felder input.warning-red{background:#c62828!important;color:#fff!important;border-color:#b71c1c!important}
.kalk-felder input.warning-green{background:rgba(76,175,80,0.25);border-color:#4caf50}

/* Actions rechts - vertikal zentriert */
.position-actions{display:flex;flex-direction:column;gap:4px;justify-content:center;height:100%}
.position-actions .btn{font-size:11px;padding:6px 8px;white-space:nowrap}

/* Bottom Row - Sub-Positionen */
.position-bottom-row{background:#f8f9fa}

/* Sub-Positionen Toolbar (blauer Balken) */
.subpos-toolbar{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:linear-gradient(135deg,#5a7fa8 0%,#4a6f98 100%);margin:0}
.subpos-title{color:#fff;font-weight:500;font-size:11px}
.btn-subpos-add{background:rgba(255,255,255,0.2);border:1px solid rgba(255,255,255,0.3);color:#fff;font-size:11px;padding:4px 10px}
.btn-subpos-add:hover{background:rgba(255,255,255,0.3)}

/* Sub-Position Zeilen */
.subposition-row{display:grid;grid-template-columns:40px 260px 1fr 40px;gap:12px;align-items:start;padding:8px 10px;border-bottom:1px solid #e0e0e0}
.subposition-row:last-of-type{border-bottom:none}
.subposition-empty{padding:16px;text-align:center;color:#888;font-size:11px;font-style:italic}

/* Weltkugel-Button */
.btn-weltkugel{width:36px;height:36px;border-radius:4px;border:1px solid #9c88c4;background:linear-gradient(135deg,#d4c4e8,#b8a8d8);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.btn-weltkugel:hover{background:linear-gradient(135deg,#c4b4d8,#a898c8)}

/* Verteilgebiet-Tabelle links (hellblau) */
.verteilgebiet-table{flex:0 0 340px}
.verteilgebiet-table .mini-table.blue-header thead{background:#b8d4e8}
.verteilgebiet-table .mini-table.blue-header th{background:#b8d4e8;color:#333;font-size:11px}
.verteilgebiet-table .mini-table.blue-header td{background:#e8f4fc}

/* Detail-Tabelle rechts */
.detail-table{flex:1;min-width:0;overflow-x:auto}
.mini-table{width:100%;border-collapse:collapse;font-size:11px}
.mini-table th,.mini-table td{padding:6px 8px;border:1px solid #ddd;text-align:left}
.mini-table th{background:#f0f0f0;font-weight:500;font-size:11px}
.mini-table .filter-icon,.mini-table .search-icon{font-size:10px;color:#888;margin-left:4px}

/* Sub-Position Actions */
.subposition-actions{display:flex;flex-direction:column;gap:4px}
.subposition-actions .btn{font-size:10px;padding:5px 8px}

/* Summen-Zeile */
.summen-row{margin-left:44px;padding:8px;background:#e0e0e0;border-radius:4px;font-weight:500}
.summe-label{color:#666}

/* ===== SUB-POSITION EDITOR ===== */

/* Fullscreen Modal */
.modal-overlay.modal-fullscreen .modal{width:95vw;max-width:none;height:90vh;max-height:none;display:flex;flex-direction:column}
.modal-overlay.modal-fullscreen .modal-header{padding:8px 16px;background:#3b5a7c;color:#fff;flex-shrink:0}
.modal-overlay.modal-fullscreen .modal-header span{color:#fff}
.modal-overlay.modal-fullscreen .modal-body{flex:1;overflow:hidden;padding:0;display:flex;flex-direction:column}
.modal-overlay.modal-fullscreen .modal-footer{padding:8px 16px;border-top:1px solid #ddd;flex-shrink:0}

/* Header mit übernehmen Button */
.subpos-header{display:flex;align-items:center;gap:16px;padding:8px 16px;background:#3b5a7c;color:#fff}
.subpos-title{font-size:14px;font-weight:500}

/* Kalk-Zeile */
.subpos-kalk-bar{display:flex;align-items:center;gap:16px;padding:8px 16px;background:#f5f5f5;border-bottom:1px solid #ddd}
.filter-btns{display:flex;gap:4px}
.filter-btns .btn{padding:6px 12px;font-size:12px}
.filter-btns .btn.btn-primary{background:#c00;border-color:#c00}
.kalk-fields-bar{display:flex;gap:12px;margin-left:16px;flex-wrap:wrap}
.kalk-fields-bar .kf{display:flex;flex-direction:column;gap:2px}
.kalk-fields-bar label{font-size:10px;color:#666}
.kalk-fields-bar input,.kalk-fields-bar span{padding:4px 8px;border:1px solid #ccc;border-radius:3px;font-size:12px;text-align:right;min-width:70px;background:#fff}
.kalk-fields-bar .kf-pink input,.kalk-fields-bar .kf-pink span{background:#f8d7e0;border-color:#e4a0b0}
.kalk-fields-bar .kf-yellow input,.kalk-fields-bar .kf-yellow span{background:#fff3cd;border-color:#e0c060}
.kalk-fields-bar .kf-green input,.kalk-fields-bar .kf-green span{background:#c8e6c9;border-color:#81c784}

/* Main Content (2 Spalten) */
.subpos-main{display:flex;gap:12px;padding:12px;height:calc(100% - 100px);min-height:400px}

/* Linke Spalte: Gebiete */
.subpos-left{flex:2;display:flex;flex-direction:column;min-width:0}
.gebiete-table-container{flex:1;overflow:auto;border:1px solid #ccc;background:#fff}
.gebiete-summen{display:flex;gap:32px;padding:8px 12px;background:#c8e0b0;font-size:13px;margin-top:8px}
.gebiete-summen strong{font-size:14px}

/* Rechte Spalte: Sub-Auswahl */
.subpos-right{flex:1;display:flex;flex-direction:column;gap:8px;min-width:300px;min-height:0}
.sub-tabs{display:flex;gap:0}
.sub-tabs .btn{flex:1;padding:8px;font-size:13px;border-radius:0}
.sub-tabs .btn:first-child{border-radius:4px 0 0 0}
.sub-tabs .btn:last-child{border-radius:0 4px 0 0}
/* Agentur Tab - Grau/Lila */
.sub-tabs .tab-agentur{background:#6c757d;color:#fff;border:none}
.sub-tabs .tab-agentur:hover{background:#5a6268}
.sub-tabs .tab-agentur.active{background:#495057}
/* Sub Tab - Blau */
.sub-tabs .tab-sub{background:#3b5a7c;color:#fff;border:none}
.sub-tabs .tab-sub:hover{background:#2d4a68}
.sub-tabs .tab-sub.active{background:#1e3a54}
.sub-table-container{flex:1;overflow:auto;background:#fff;min-height:0}
.lager-table-container{flex:1;overflow:auto;background:#fff;min-height:0}
.lager-table-container table thead{background:#e67300}
.lager-table-container table th{background:#e67300;color:#fff}
.sub-btns{display:flex;gap:8px;flex-shrink:0}
.sub-btns .btn{padding:8px 12px;font-size:12px}
/* Orange Button */
.btn-orange{background:linear-gradient(135deg,#e67300 0%,#cc6600 100%);color:#fff;border:none}
.btn-orange:hover{background:linear-gradient(135deg,#cc6600 0%,#b35900 100%)}
.forecast-container{flex:1;overflow:auto;border:1px solid #ccc;min-height:0}
.forecast-container table thead{background:#f0a050}
.forecast-container table th{background:#f0a050;color:#fff}
.forecast-sum{display:flex;justify-content:space-between;padding:8px 12px;background:#f5f5f5;font-size:13px}

/* Tabellen im Editor */
.subpos-main .data-table{font-size:12px;width:100%}
.subpos-main .data-table th{position:sticky;top:0;background:#3b5a7c;color:#fff;z-index:1;padding:6px 8px;font-size:11px;white-space:nowrap}
.subpos-main .data-table td{padding:4px 6px}
.subpos-main .data-table td.num{text-align:right}
.subpos-main .data-table td.center{text-align:center}
.subpos-main .data-table tr.selected{background:#cce5ff}
.subpos-main .data-table tr.row-selected{background:#b8daff}
.subpos-main .data-table .inp-small{width:60px;padding:2px 4px;border:1px solid #ccc;font-size:11px;text-align:right}
.subpos-main .th-filter,.subpos-main .th-search{font-size:10px;color:#ccc;cursor:pointer}

/* Filter Icons im Header */
.filter-icon{font-size:10px;color:#888;margin-left:2px}

/* ===== MASTER-DETAIL LAYOUT ===== */
.master-detail-split{display:grid;grid-template-rows:3fr 26px 2fr;height:calc(100vh - 140px);gap:0}
.master-detail-split.flipped{grid-template-rows:1fr 26px 4fr}
.master-area{overflow:auto;background:#fff;border-radius:4px 4px 0 0;border:1px solid #d4dce3}
.master-area .data-table{border:none}
.detail-area{overflow:auto;background:#f8fafc;border-radius:0 0 4px 4px;border:1px solid #d4dce3;border-top:none;display:flex;flex-direction:column}
.split-toggle{display:flex;justify-content:flex-start;align-items:center;padding:0 10px;gap:6px;height:26px;background:#3b5a7c;border-left:1px solid #2c4560;border-right:1px solid #2c4560;cursor:pointer;user-select:none;color:#fff;font-size:12px;font-weight:600}
.split-toggle:hover{background:#2c4560}
.detail-header{padding:10px 12px;font-weight:600;font-size:13px;background:linear-gradient(135deg,#3b5a7c 0%,#2d4a68 100%);color:#fff;border-radius:4px 4px 0 0}
.detail-empty{padding:20px;text-align:center;color:#888;font-style:italic}
.detail-table-wrap{flex:1;overflow:auto}
.detail-table-wrap .data-table{border:none;border-radius:0}
.detail-tabs{display:flex;background:#e8ecf0;border-bottom:1px solid #d4dce3}
.detail-tab{padding:8px 16px;cursor:pointer;font-size:12px;font-weight:500;border-bottom:2px solid transparent}
.detail-tab:hover{background:#d4dce3}
.detail-tab.active{background:#fff;border-bottom-color:#3b5a7c;color:#3b5a7c}
.detail-content{flex:1;overflow:auto}

/* ===== POSITIONEN (Artikel direkt mit allen Feldern) ===== */
.positionen-container{display:flex;flex-direction:column;height:calc(100vh - 220px)}
.artikel-blocks{flex:1;overflow:auto;padding:8px;scroll-behavior:smooth}

/* Positions-Navigation - sticky oben */
.pos-nav{display:flex;gap:6px;padding:8px 12px;background:#e8f0f8;border-bottom:1px solid #c5d5e5;position:sticky;top:0;z-index:10}
.pos-nav-btn{width:28px;height:28px;border:none;border-radius:4px;background:linear-gradient(135deg,#4a7ba8 0%,#3b6a94 100%);color:#fff;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(0,0,0,0.2)}
.pos-nav-btn:hover{background:linear-gradient(135deg,#5a8bb8 0%,#4b7aa4 100%);transform:scale(1.05)}
.pos-nav-btn:active{transform:scale(0.95)}

/* ===== POSITIONEN MASTER-DETAIL (50/50) - Legacy ===== */
.pos-master-detail{display:grid;grid-template-rows:1fr 1fr;height:calc(100vh - 220px);gap:8px}
.pos-master,.pos-detail{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #d4dce3;border-radius:4px}
.pos-toolbar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:linear-gradient(135deg,#3b5a7c 0%,#2d4a68 100%);border-radius:4px 4px 0 0}
.pos-section-title{color:#fff;font-weight:600;font-size:13px}
.pos-toolbar .btn{background:rgba(255,255,255,0.2);border-color:rgba(255,255,255,0.3);color:#fff}
.pos-toolbar .btn:hover{background:rgba(255,255,255,0.3)}
.pos-master-table,.pos-detail-table{flex:1;overflow:auto;padding:0}
.pos-master-table .data-table,.pos-detail-table .data-table{border:none}
.pos-table tbody tr{cursor:pointer}
.pos-table tbody tr:hover{background:#e8f0fe}
.pos-table tbody tr.selected{background:#c8ddf5}

/* Sub-Position Blocks */
.subpos-block{border:1px solid #e0e0e0;border-radius:4px;margin:8px;background:#fafafa}
.subpos-header{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#e8f4fc;border-radius:4px 4px 0 0;border-bottom:1px solid #c5dde9}
.subpos-summary{flex:1;display:flex;gap:20px;font-size:12px;color:#2c3e50}
.subpos-summary span{display:flex;gap:4px}
.subpos-actions{display:flex;gap:4px}
.subpos-geo-table{margin:0;font-size:12px}
.subpos-geo-table th,.subpos-geo-table td{padding:6px 8px}
.btn-weltkugel{background:#e0f0ff;border:1px solid #90caf9;border-radius:4px;padding:6px 10px;font-size:16px;cursor:pointer}
.btn-weltkugel:hover{background:#bbdefb}

/* Hilfe-Vorschau Markdown Styling */
.hilfe-preview h1 { font-size: 1.5em; color: #3b5a7c; border-bottom: 2px solid #3b5a7c; padding-bottom: 8px; margin: 0 0 16px 0; }
.hilfe-preview h2 { font-size: 1.25em; color: #3b5a7c; margin: 20px 0 12px 0; }
.hilfe-preview h3 { font-size: 1.1em; color: #555; margin: 16px 0 8px 0; }
.hilfe-preview p { margin: 8px 0; line-height: 1.6; }
.hilfe-preview ul, .hilfe-preview ol { margin: 8px 0; padding-left: 24px; }
.hilfe-preview li { margin: 4px 0; }
.hilfe-preview table { border-collapse: collapse; width: 100%; margin: 12px 0; }
.hilfe-preview th, .hilfe-preview td { border: 1px solid #ddd; padding: 8px 12px; text-align: left; }
.hilfe-preview th { background: #f5f5f5; font-weight: 600; }
.hilfe-preview tr:nth-child(even) { background: #fafafa; }
.hilfe-preview code { background: #f0f0f0; padding: 2px 6px; border-radius: 3px; font-family: monospace; }
.hilfe-preview pre { background: #f5f5f5; padding: 12px; border-radius: 4px; overflow-x: auto; }
.hilfe-preview pre code { background: none; padding: 0; }
.hilfe-preview blockquote { border-left: 3px solid #3b5a7c; margin: 12px 0; padding-left: 12px; color: #666; }
.hilfe-preview strong { color: #333; }

/* Pulsierender Speichern-Button (DA-Hinweis) */
@keyframes btnPulse {
    0%   { box-shadow: 0 0 0 0 rgba(59,90,124,0.7); }
    70%  { box-shadow: 0 0 0 8px rgba(59,90,124,0); }
    100% { box-shadow: 0 0 0 0 rgba(59,90,124,0); }
}
.btn-pulse {
    animation: btnPulse 1.2s infinite;
    background: #e65c00 !important;
    border-color: #e65c00 !important;
    color: #fff !important;
}
