body{font-family:system-ui,Arial,sans-serif;margin:0;background:#f5f7fb;color:#172033}main{max-width:1400px;margin:auto;padding:24px}nav{background:#16213e;color:#fff;padding:13px 24px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}nav a{color:#fff;text-decoration:none}.card,.flash{background:#fff;border-radius:14px;padding:18px;margin:14px 0;box-shadow:0 2px 14px #0001}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;align-items:end}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:9px;border-bottom:1px solid #e6eaf2;text-align:left;vertical-align:top}th{background:#eef3fb}input,select,textarea{width:100%;box-sizing:border-box;padding:9px;border:1px solid #ccd5e1;border-radius:8px}label{font-weight:650;margin-top:8px;display:block}.btn,button{display:inline-block;background:#1f6feb;color:white;border:0;border-radius:8px;padding:9px 13px;text-decoration:none;cursor:pointer}.secondary{background:#475467}.danger{background:#b42318}.muted{color:#667085}.sum{font-size:1.3rem;font-weight:800}.right{text-align:right}.mini{font-size:.9rem}.inline{display:inline}.warn{border-left:6px solid #d92d20}.ok{border-left:6px solid #039855}.tabs a{margin-right:8px}.narrow{max-width:520px}.split{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}@media(max-width:900px){.split{grid-template-columns:1fr}}
.danger-text{color:#b42318;font-weight:700}.calendar-row{border-left:6px solid #1f6feb}.badge{display:inline-block;border-radius:999px;background:#eef3fb;padding:2px 8px;margin:2px}.warn td{background:#fff7f5}
.big{font-size:2rem;font-weight:700;margin:.2rem 0}.danger-text{color:#a40000;font-weight:600}.mini{font-size:.85rem}.muted{color:#666}.inline{display:inline}.warn{background:#fff2cc}.danger{background:#b00020;color:#fff;border:0;border-radius:6px;padding:.45rem .7rem}.secondary{background:#eee;color:#222}

/* v4.1 Layout-Fix Stammdaten */
.grid-wide{grid-template-columns:repeat(auto-fit,minmax(430px,1fr));align-items:start}.table-wrap{width:100%;overflow-x:auto}td:last-child,th:last-child{min-width:145px;white-space:nowrap}.inline{display:inline-block;margin:3px 0}.btn.secondary,button.danger{margin:2px 0}.check{display:flex;gap:8px;align-items:center}.check input{width:auto}.card{overflow:hidden}@media(max-width:700px){main{padding:14px}.grid-wide{grid-template-columns:1fr}td:last-child,th:last-child{min-width:120px}}


/* v4.2: keine abgeschnittenen Stammdaten-Kacheln */
.master-lists{display:grid;grid-template-columns:1fr;gap:14px}
.table-wrap{overflow-x:visible}
table{table-layout:auto}
th,td{overflow-wrap:anywhere}
td:last-child,th:last-child{min-width:0;white-space:normal;width:150px}
td .btn, td button{margin:2px 0}
@media(min-width:1100px){.master-lists .card table th:nth-child(1),.master-lists .card table td:nth-child(1){width:60px}.master-lists .card table th:nth-child(6),.master-lists .card table td:nth-child(6){width:165px}}

/* v4.9 Design-Refresh: eckiger, ruhiger, bessere Kalkulationslisten */
:root{--bg:#f3f4f6;--panel:#ffffff;--line:#d7dde6;--text:#1f2937;--muted:#6b7280;--head:#111827;--brand:#334155;--brand2:#475569;--danger:#991b1b;--soft:#f8fafc;--ok:#166534;--warn:#92400e}
body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
nav{background:var(--head);border-bottom:4px solid #475569;box-shadow:none}
nav a{padding:5px 8px;border-radius:0;color:#f9fafb}nav a:hover{background:#374151;text-decoration:none}
main{max-width:1500px}.card,.flash{border-radius:0;box-shadow:none;border:1px solid var(--line);background:var(--panel)}
.card h2,.card h3{margin-top:0;color:#111827}.btn,button{border-radius:0;background:var(--brand);box-shadow:none;font-weight:650}.btn:hover,button:hover{background:var(--brand2)}.secondary{background:#64748b;color:#fff}.danger{background:var(--danger)!important;color:#fff!important;border-radius:0}.badge{border-radius:0;background:#e5e7eb;color:#111827}.sum{font-size:1.55rem;color:#111827}input,select,textarea{border-radius:0;background:#fff;border-color:#cbd5e1}th{background:#e5e7eb;color:#111827;border-bottom:2px solid #cbd5e1}td{background:#fff}.muted{color:var(--muted)}
.table-clean{width:100%;border-collapse:collapse;background:#fff}.table-clean th,.table-clean td{padding:8px 10px;border-bottom:1px solid #e5e7eb;vertical-align:middle}.table-clean tbody tr:hover td{background:#f8fafc}.nowrap{white-space:nowrap}.num{text-align:right;font-variant-numeric:tabular-nums}.actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.actions form{margin:0}.actions button,.actions .btn{padding:7px 10px}
.calc-toolbar{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;align-items:start}.calc-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.metric{border:1px solid var(--line);background:var(--soft);padding:12px}.metric .label{font-size:.83rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.metric .value{font-size:1.25rem;font-weight:800;margin-top:5px}.calc-position{padding:0;margin:16px 0;border:1px solid #cbd5e1}.calc-pos-head{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:14px 16px;background:#f8fafc;border-bottom:1px solid var(--line)}.calc-pos-title{font-size:1.08rem;font-weight:800;color:#111827}.calc-pos-sub{font-size:.9rem;color:var(--muted);margin-top:2px}.calc-pos-total{text-align:right}.calc-pos-total strong{font-size:1.2rem}.calc-pos-body{padding:16px}.calc-section{border:1px solid var(--line);background:#fff;margin-top:12px}.calc-section>summary{cursor:pointer;padding:10px 12px;background:#f3f4f6;font-weight:800;list-style:none}.calc-section>summary::-webkit-details-marker{display:none}.calc-section>summary:before{content:"+";display:inline-block;width:20px}.calc-section[open]>summary:before{content:"–"}.calc-section-content{padding:12px}.calc-edit-grid{display:grid;grid-template-columns:110px 1fr 90px 110px 100px;gap:10px;align-items:end}.calc-add-grid{display:grid;grid-template-columns:120px 220px 1fr 130px 130px;gap:10px;align-items:end}.calc-totals{margin-top:12px;border:2px solid #cbd5e1}.calc-totals th,.calc-totals td{text-align:right}.calc-totals th:first-child,.calc-totals td:first-child{text-align:left}.position-overview .current td{background:#eef2ff}.compact-form input,.compact-form select{padding:7px}.helpline{font-size:.88rem;color:var(--muted);margin:.35rem 0 0}
@media(max-width:1000px){.calc-toolbar{grid-template-columns:1fr}.calc-pos-head{grid-template-columns:1fr}.calc-pos-total{text-align:left}.calc-edit-grid,.calc-add-grid{grid-template-columns:1fr}.table-clean{font-size:.92rem}.table-clean th,.table-clean td{padding:7px}.actions{display:block}.actions form,.actions a{display:inline-block;margin:2px 0}}

/* v4.10 Kalkulation näher an Excel: kompakte Tabelle statt Positionskacheln */
.calc-topline{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;align-items:start;margin:12px 0}.calc-controls{padding:14px}.calc-controls h2{font-size:1.05rem;margin:0 0 10px}.calc-newpos-grid{display:grid;grid-template-columns:210px 90px minmax(240px,1fr) 80px 105px 80px auto;gap:8px;align-items:end}.calc-surcharge-grid{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:8px;align-items:end}.calc-submit{align-self:end}.calc-submit button{white-space:nowrap}.calc-sheet-card{padding:0}.calc-sheet-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;background:#f8fafc;border-bottom:1px solid var(--line)}.calc-sheet-head h2{margin:0;font-size:1.1rem}.calc-grand{text-align:right}.calc-grand span{display:block;color:var(--muted);font-size:.82rem;font-weight:700;text-transform:uppercase}.calc-grand strong{font-size:1.25rem}.calc-sheet-wrap{width:100%;overflow-x:visible}.calc-sheet{width:100%;border-collapse:collapse;font-size:.91rem;table-layout:auto}.calc-sheet th,.calc-sheet td{padding:6px 7px;border:1px solid #d7dde6;vertical-align:middle}.calc-sheet thead th{position:sticky;top:0;z-index:1;background:#dbe3ee;color:#111827;font-size:.82rem;text-transform:uppercase;letter-spacing:.02em}.calc-sheet tfoot th{background:#e5e7eb}.calc-sheet .w-pos{width:70px}.calc-sheet .w-small{width:85px}.calc-sheet .w-unit{width:65px}.calc-sheet .w-action{width:120px}.pos-main td{background:#eef2f6;font-weight:650}.pos-main .pos-no{font-weight:800}.item-row td{background:#fff}.item-row.empty td{background:#fbfcfe}.add-line td{background:#f9fafb;padding:4px 7px}.add-line summary,.row-tools summary{cursor:pointer;font-weight:750;color:#334155}.row-tools{position:relative}.row-tools-box{position:absolute;right:0;z-index:6;min-width:280px;background:#fff;border:1px solid var(--line);padding:12px;box-shadow:0 10px 25px #0002}.row-tools-box label{font-size:.8rem;margin-top:6px}.row-tools-box p{margin:8px 0}.add-line-box{margin-top:8px;border:1px solid #d7dde6;background:#fff;padding:10px}.line-form{display:contents}.line-form input{padding:5px 6px;font-size:.9rem}.type-pill{display:inline-block;min-width:54px;text-align:center;border:1px solid #cbd5e1;background:#f3f4f6;font-size:.78rem;font-weight:800;margin-right:6px;padding:3px 5px}.item-row td:first-child{background:#f8fafc}.diesel-form{display:grid;grid-template-columns:minmax(260px,1fr) 120px auto;gap:8px;align-items:end;margin-top:8px}.diesel-form label{margin:0}.calc-add-grid{grid-template-columns:110px 230px minmax(220px,1fr) 110px 120px auto}.calc-sheet input,.calc-sheet select{padding:5px 6px;border-radius:0}.calc-sheet .actions{gap:4px;flex-wrap:nowrap}.calc-sheet .actions button{padding:5px 7px;font-size:.82rem}.calc-sheet .danger{padding:5px 7px}.calc-sheet .num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.calc-sheet .right{text-align:right}.calc-sheet-card .muted{padding:14px}.calc-position,.calc-toolbar,.position-overview,.calc-summary-grid{display:none}
@media(max-width:1250px){.calc-topline{grid-template-columns:1fr}.calc-newpos-grid,.calc-surcharge-grid,.calc-add-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.diesel-form{grid-template-columns:1fr}.calc-sheet{font-size:.84rem}.calc-sheet th,.calc-sheet td{padding:5px}.row-tools-box{position:static;margin-top:8px;box-shadow:none}.calc-sheet-wrap{overflow-x:auto}}
@media(max-width:760px){.calc-sheet-head{display:block}.calc-grand{text-align:left;margin-top:8px}.calc-newpos-grid,.calc-surcharge-grid,.calc-add-grid{grid-template-columns:1fr}.type-pill{display:block;width:max-content;margin:0 0 5px}.calc-sheet-wrap{overflow-x:auto}}


/* v4.11: Kalkulationskopf bereinigt */
.page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 14px}
.page-actions .btn{padding:8px 12px;text-decoration:none}
.calc-topline{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;align-items:stretch!important}
.calc-controls{overflow:visible!important}
.calc-newpos-grid{grid-template-columns:220px 110px minmax(280px,1fr) 100px 120px 90px minmax(170px,max-content)!important}
.calc-surcharge-grid{grid-template-columns:repeat(4,minmax(130px,1fr)) minmax(190px,max-content)!important}
.calc-submit button{width:100%;min-width:160px}
@media(max-width:1050px){.calc-newpos-grid,.calc-surcharge-grid{grid-template-columns:repeat(2,minmax(160px,1fr))!important}}
@media(max-width:640px){.calc-newpos-grid,.calc-surcharge-grid{grid-template-columns:1fr!important}.page-actions{display:block}.page-actions .btn{margin-bottom:8px}}
.line-master-select{max-width:230px;min-width:180px;margin-right:6px}
.item-row td[colspan="3"] input[name="description"]{min-width:220px;width:calc(100% - 315px)}
@media(max-width:1250px){.item-row td[colspan="3"] input[name="description"]{width:100%;margin-top:5px}.line-master-select{max-width:100%;width:100%;margin:5px 0}}

/* v4-15 Kalkulation: einzeilige Bearbeitung + Auto-Speichern */
.calc-sheet .item-row td[colspan="3"] .line-form{
  display:grid;
  grid-template-columns:auto minmax(180px,260px) minmax(220px,1fr);
  gap:8px;
  align-items:center;
}
.calc-sheet .item-row .line-master-select,
.calc-sheet .item-row .line-description{
  min-width:0;
  width:100%;
}
.calc-sheet .item-row .actions{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:flex-start;
  white-space:nowrap;
}
.calc-sheet .item-row .line-form.saving .autosave-state::after{content:" speichert...";}
.calc-sheet .item-row .line-form.saved .autosave-state::after{content:" gespeichert";}
.calc-sheet .item-row .line-form.save-error .autosave-state::after{content:" Fehler";}
.autosave-state{font-size:12px;color:#64748b;margin-left:8px;}
@media (max-width: 1100px){
  .calc-sheet .item-row td[colspan="3"] .line-form{grid-template-columns:1fr;}
}

/* v6.1 Kundenübersicht: Zeile öffnet, Bearbeiten im Modal */
.click-table .click-row{cursor:pointer}
.click-table .click-row:hover td{background:#f1f5f9}
.action-col-small{width:110px}.customer-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:1000;align-items:center;justify-content:center;padding:20px}.modal-backdrop.show{display:flex}.modal-box{width:min(860px,100%);max-height:90vh;overflow:auto;background:#fff;border:1px solid #cbd5e1;box-shadow:0 20px 60px rgba(0,0,0,.28);padding:18px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e5e7eb;margin:-18px -18px 16px;padding:14px 18px;background:#f8fafc}.modal-head h2{margin:0}.modal-box .actions{margin-top:12px}
@media(max-width:700px){.modal-head{display:block}.modal-head button{margin-top:8px}.action-col-small{width:auto}}


/* v6.2: klickbare Listenzeilen und sauberes Modal-Verhalten */
.click-table tbody tr.click-row{cursor:pointer;transition:background-color .16s ease,box-shadow .16s ease}
.click-table tbody tr.click-row:hover td{background:#f3f4f6!important}
.click-table tbody tr.click-row:active td{background:#e5e7eb!important}
.click-table tbody tr.click-row .list-actions,
.click-table tbody tr.click-row form,
.click-table tbody tr.click-row a,
.click-table tbody tr.click-row button{cursor:auto}
.list-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;white-space:nowrap}
.list-actions form{margin:0;display:inline-flex}
.table-wrap{width:100%;overflow-x:auto}
.modal-backdrop{display:none!important}
.modal-backdrop.show{display:flex!important}


/* v6.3: zuverlässiger Hover für klickbare Tabellenzeilen */
.click-table tr.click-row,
.table-clean tr.click-row,
table tr.click-row{
  cursor:pointer;
}
.click-table tr.click-row td,
.table-clean tr.click-row td,
table tr.click-row td{
  transition:background-color .15s ease;
}
.click-table tr.click-row:hover td,
.table-clean tr.click-row:hover td,
table tr.click-row:hover td{
  background:#f3f4f6!important;
}
.click-table tr.click-row:active td,
.table-clean tr.click-row:active td,
table tr.click-row:active td{
  background:#e5e7eb!important;
}
.click-table tr.click-row .list-actions,
.table-clean tr.click-row .list-actions,
table tr.click-row .list-actions{
  cursor:default;
}
.list-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
  white-space:nowrap;
}
.list-actions form{
  margin:0;
}
.revenue-assign{display:grid;gap:.35rem;min-width:220px}.revenue-assign select,.revenue-assign input{width:100%}.click-row:hover td{background:#f1f3f5!important}.big{font-size:1.7rem;font-weight:700}

/* v9 – einheitliches, responsives Betriebsportal */
:root{--sidebar:#0f172a;--sidebar2:#111c31;--primary:#1473e6;--primary-dark:#0f5fc2;--surface:#fff;--bg:#f4f7fb;--line:#dfe6ef;--text:#172033;--muted:#64748b;--success:#16845b;--danger:#c93b3b;--radius:14px;--shadow:0 8px 28px rgba(15,23,42,.07)}
*{box-sizing:border-box}.app-body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:258px;background:linear-gradient(180deg,var(--sidebar),var(--sidebar2));color:#fff;z-index:50;overflow-y:auto}.brand{height:74px;display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.09)}.brand-mark{width:40px;height:40px;border-radius:11px;background:#fff;color:var(--sidebar);display:grid;place-items:center;font-weight:900}.brand strong,.brand small{display:block}.brand small{color:#9fb0c8;font-size:.76rem;margin-top:2px}.sidebar-close{display:none;margin-left:auto;color:#fff}.side-nav{padding:12px}.nav-group{margin:0 0 14px}.nav-label{padding:7px 10px;color:#7f93ad;font-size:.69rem;font-weight:800;text-transform:uppercase;letter-spacing:.11em}.nav-item{display:flex;align-items:center;gap:11px;color:#d8e1ed;text-decoration:none;padding:10px 11px;border-radius:9px;margin:2px 0;font-weight:650;font-size:.92rem}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.1);color:#fff}.nav-item.active{box-shadow:inset 3px 0 0 #63a8ff}.nav-icon{width:22px;text-align:center;font-size:1.05rem}.app-shell{margin-left:258px;min-height:100vh}.topbar{position:sticky;top:0;z-index:30;height:74px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 28px}.topbar-left{display:flex;align-items:center;gap:12px}.page-kicker{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.menu-btn{display:none}.icon-btn{border:0;background:transparent;font-size:1.35rem;padding:7px;cursor:pointer}.global-search{display:flex;flex:1;max-width:580px}.global-search input{border:1px solid var(--line);border-right:0;border-radius:10px 0 0 10px;background:#f8fafc}.global-search button{border-radius:0 10px 10px 0}.topbar-user{font-size:.85rem;color:var(--muted)}.app-main{max-width:1680px;margin:0 auto;padding:26px 30px 50px}.page-head,.project-hero,.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.page-head h1,.project-hero h1{margin:0 0 5px;font-size:1.75rem}.page-actions{display:flex;gap:9px;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card h2{margin:0 0 13px;font-size:1.08rem}.card-head{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:8px}.card-head h2{margin:0}.card-head p{margin:3px 0 0;color:var(--muted);font-size:.86rem}.card-head>a{font-size:.86rem}.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:18px 0}.kpi-card{display:flex;align-items:center;gap:13px;min-height:96px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px;text-decoration:none;color:var(--text);box-shadow:var(--shadow);transition:.16s ease}.kpi-card:hover{transform:translateY(-2px);border-color:#b9cee8}.kpi-icon{width:42px;height:42px;border-radius:11px;background:#eef5ff;color:var(--primary);display:grid;place-items:center;font-size:1.2rem;font-weight:800;flex:0 0 auto}.kpi-card span:not(.kpi-icon){display:block;font-size:.79rem;color:var(--muted);font-weight:700}.kpi-card strong{display:block;font-size:1.34rem;margin-top:4px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.list-stack{display:grid}.list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 3px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text)}.list-item:last-child{border-bottom:0}.list-item:hover strong{color:var(--primary)}.list-item strong,.list-item span{display:block}.list-item div>span{font-size:.82rem;color:var(--muted);margin-top:3px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick-grid a{padding:13px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--text);background:#f8fafc;font-weight:700}.quick-grid a:hover{border-color:#abc9ef;background:#eff6ff}.search-panel{display:flex;max-width:760px;margin:18px 0}.search-panel input{border-radius:10px 0 0 10px;border-right:0}.search-panel button{border-radius:0 10px 10px 0}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project-card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:19px;text-decoration:none;color:var(--text);box-shadow:var(--shadow);transition:.16s}.project-card:hover{transform:translateY(-2px);border-color:#b6cae4}.project-card-top{display:flex;justify-content:space-between}.project-no{color:var(--muted);font-size:.78rem;font-weight:800}.project-card h2{margin:15px 0 6px;font-size:1.12rem}.project-card p{color:var(--muted);margin:0 0 18px}.open-link{color:var(--primary);font-weight:750;font-size:.87rem}.status-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#eef3f8;color:#42546b;font-size:.72rem;font-weight:800}.project-hero{background:linear-gradient(135deg,#fff,#f0f6ff);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.back-link{display:inline-block;margin-bottom:9px;font-size:.84rem;text-decoration:none}.project-tabs{display:flex;gap:4px;overflow-x:auto;margin:16px 0;background:#fff;border:1px solid var(--line);padding:6px;border-radius:12px;box-shadow:var(--shadow)}.project-tabs a{white-space:nowrap;text-decoration:none;color:#506079;padding:9px 12px;border-radius:8px;font-size:.86rem;font-weight:750}.project-tabs a:hover,.project-tabs a.active{background:#eaf3ff;color:#0d5fbf}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:15px}.form-grid label{margin:0}.form-grid .span-2{grid-column:1/-1}.detail-list{margin:0}.detail-list>div{display:grid;grid-template-columns:160px 1fr;padding:10px 0;border-bottom:1px solid var(--line)}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;font-weight:700}.timeline{display:grid;gap:14px}.timeline-item{display:grid;grid-template-columns:110px 1fr;gap:16px;border-left:3px solid #c8d8eb;padding:5px 0 5px 17px}.timeline-date{font-weight:800;color:var(--primary)}.timeline-item h3{margin:0 0 7px}.timeline-item p{margin:5px 0}.warning-text{color:#9a3412}.empty-state{padding:25px;text-align:center;color:var(--muted)}.table-wrap{border-radius:10px;overflow:auto;border:1px solid var(--line)}table{margin:0}table th{background:#f3f6fa;color:#526176;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}table tr:hover td{background:#f7f9fc}.flash{position:relative;border-radius:10px;background:#e8f7f0;color:#116544;border:1px solid #bfe6d3;padding:12px 15px;margin-bottom:16px}.sidebar-overlay{display:none}
@media(max-width:1300px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:transform .2s}.app-shell{margin-left:0}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-overlay{position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:45}.sidebar-open .sidebar-overlay{display:block}.sidebar-close,.menu-btn{display:inline-flex}.topbar{padding:0 14px}.global-search{display:none}.app-main{padding:18px 14px 40px}.dashboard-grid{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr 1fr}.quick-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.page-head,.project-hero,.card-head{display:block}.page-actions,.project-hero-actions{margin-top:14px}.kpi-grid{grid-template-columns:1fr 1fr}.kpi-card{min-height:84px;padding:12px}.kpi-card strong{font-size:1.05rem}.project-grid{grid-template-columns:1fr}.quick-grid,.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.timeline-item{grid-template-columns:1fr}.detail-list>div{grid-template-columns:1fr;gap:3px}.topbar-user{display:none}}
/* Version 10 + 12: Projektzentrale und mobiler Baustellenmodus */
.mobile-app-head{max-width:760px;margin:0 auto 20px}.mobile-project-list{display:grid;gap:12px;max-width:760px;margin:auto}.mobile-project-card{display:flex;flex-direction:column;gap:5px;padding:18px;border:1px solid var(--border,#dbe3ee);border-radius:16px;background:#fff;text-decoration:none;color:inherit;box-shadow:0 5px 18px rgba(15,23,42,.06)}.mobile-project-card strong{font-size:1.08rem}.mobile-project-card small{color:#64748b}.site-shell{max-width:760px;margin:auto}.site-title{margin-bottom:14px}.site-title h1{margin:8px 0 2px}.site-nav-btn,.site-action-link{display:flex;align-items:center;justify-content:center;min-height:56px;border-radius:14px;background:#0f172a;color:#fff;text-decoration:none;font-weight:700;margin-bottom:14px}.site-panel{background:#fff;border:1px solid #dbe3ee;border-radius:18px;padding:18px;margin:14px 0;box-shadow:0 7px 24px rgba(15,23,42,.06)}.site-panel h2{margin-top:0}.site-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.site-action-grid button,.site-action-grid .site-action-link{min-height:64px;font-size:1rem;margin:0}.site-stop{width:100%;min-height:64px;background:#b91c1c}.timer-running{display:flex;justify-content:space-between;align-items:center;padding:15px;border-radius:14px;background:#ecfdf5;margin-bottom:12px}.timer-running strong{font-size:1.25rem}.site-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.site-summary div{text-align:center;padding:12px;background:#f8fafc;border-radius:12px}.site-summary strong,.site-summary span{display:block}.site-summary span{font-size:.78rem;color:#64748b;margin-top:4px}.site-dialog{width:min(92vw,600px);border:0;border-radius:20px;padding:22px}.site-dialog::backdrop{background:rgba(15,23,42,.65)}.dialog-close{float:right;background:transparent;color:#334155;font-size:1.6rem;padding:0 8px}.task-row{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e8f0;padding:12px 0}.task-row small{display:block;color:#64748b;margin-top:4px}.project-history{display:grid;gap:0}.project-history>div{display:flex;justify-content:space-between;gap:20px;padding:15px 4px;border-bottom:1px solid #e2e8f0}.project-tabs{scrollbar-width:thin}.project-hero-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:700px){.site-action-grid{grid-template-columns:1fr 1fr}.site-summary{grid-template-columns:1fr}.project-hero-actions{width:100%}.project-hero-actions .btn{flex:1;text-align:center}.project-tabs a{white-space:nowrap}.site-shell{padding-bottom:72px}}
/* Erweiterte Zeiterfassung */
.time-filter{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) auto;align-items:end;gap:12px}.time-filter label{margin:0}.employee-month-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0}.employee-month-card{display:flex;flex-direction:column;gap:5px;padding:18px;border:1px solid var(--border,#dbe3ee);border-radius:16px;background:#fff;text-decoration:none;color:inherit;box-shadow:0 4px 15px rgba(15,23,42,.04)}.employee-month-card:hover{transform:translateY(-2px);border-color:#60a5fa}.employee-month-card strong{font-size:1.7rem}.employee-month-card small{color:#64748b}.time-entry-grid small{display:block;color:#64748b;margin-top:4px}.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.row-actions form{margin:0}.btn.small,button.small{padding:7px 10px;font-size:.82rem}.danger{background:#b91c1c!important;color:#fff!important}@media(max-width:800px){.time-filter{grid-template-columns:1fr}.time-entry-grid{grid-template-columns:1fr}.time-entry-grid .span-2{grid-column:auto}.employee-month-grid{grid-template-columns:1fr}}
.site-manual-time{width:100%;margin-top:12px;background:#e2e8f0!important;color:#0f172a!important}.site-dialog small{display:block;color:#64748b;margin-top:4px}

/* Version 13 – Betriebsübersicht, Projektakte und Aktivitätsprotokoll */
.live-kpis{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.activity-feed{display:flex;flex-direction:column;gap:4px}
.activity-item{display:grid;grid-template-columns:18px 1fr;gap:10px;padding:12px 4px;text-decoration:none;color:inherit;border-bottom:1px solid var(--border,#e5e7eb)}
.activity-item:last-child{border-bottom:0}.activity-dot{width:10px;height:10px;border-radius:50%;background:#2563eb;margin-top:5px;box-shadow:0 0 0 4px #dbeafe}
.activity-item strong,.activity-item small,.activity-item p{display:block}.activity-item small{color:#64748b;margin-top:3px}.activity-item p{margin:5px 0 0;color:#475569}
.activity-feed-large .activity-item{padding:16px 6px}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.summary-strip>div{padding:18px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}.summary-strip span,.summary-strip strong{display:block}.summary-strip span{color:#64748b;font-size:.9rem}.summary-strip strong{font-size:1.45rem;margin-top:6px}
.cost-breakdown{display:grid;gap:0;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden}.cost-breakdown>div{display:flex;justify-content:space-between;gap:20px;padding:14px 16px;border-bottom:1px solid #e2e8f0}.cost-breakdown>div:last-child{border-bottom:0}.cost-breakdown .cost-total{background:#f1f5f9;font-size:1.1rem}
@media(max-width:760px){.summary-strip{grid-template-columns:1fr 1fr}.activity-item{grid-template-columns:14px 1fr}.live-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.summary-strip,.live-kpis{grid-template-columns:1fr}}

/* Projektzentrale: kompakte Bearbeitung direkt am Auftrag */
.edit-panel,
.table-edit {
  margin-top: .75rem;
}
.edit-panel > summary,
.table-edit > summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--primary, #007bb5);
  list-style: none;
}
.edit-panel > summary::-webkit-details-marker,
.table-edit > summary::-webkit-details-marker { display: none; }
.edit-panel > summary::before,
.table-edit > summary::before { content: "✎ "; }
.edit-panel[open],
.table-edit[open] {
  background: rgba(0, 123, 181, .05);
  border: 1px solid rgba(0, 123, 181, .18);
  border-radius: 10px;
  padding: .75rem;
  min-width: 260px;
}
.compact-edit {
  display: grid;
  gap: .65rem;
  margin-top: .75rem;
}
.compact-edit label { margin: 0; }
.entry-actions,
.task-actions {
  display: flex;
  gap: .55rem;
  align-items: flex-start;
  flex-wrap: wrap;
}
.entry-actions { margin-top: .75rem; }
.entry-actions form,
.task-actions form { margin: 0; }
.entry-content { min-width: 0; width: 100%; }
@media (max-width: 760px) {
  .table-edit[open] { min-width: 220px; }
  .entry-actions { flex-direction: column; align-items: stretch; }
  .entry-actions button { width: 100%; }
}

/* Kalkulation: kompakte, gleichmäßige Eingabezeile */
.add-line-box{padding:14px}
.add-line-box .compact-form{margin:0}
.add-line-box .calc-add-grid{display:grid;grid-template-columns:minmax(250px,1.25fr) minmax(240px,1fr) 150px 150px auto;gap:12px;align-items:end}
.add-line-box .calc-add-grid>div{min-width:0}
.add-line-box .calc-add-grid label{display:block;margin:0 0 5px;font-size:.82rem;font-weight:750;color:#334155}
.add-line-box .calc-add-grid input,.add-line-box .calc-add-grid select{width:100%;min-height:40px;box-sizing:border-box}
.add-line-box .calc-submit button{min-height:40px;white-space:nowrap}
@media(max-width:1100px){.add-line-box .calc-add-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.add-line-box .calc-submit{grid-column:1/-1}.add-line-box .calc-submit button{width:100%}}
@media(max-width:680px){.add-line-box .calc-add-grid{grid-template-columns:1fr}}

/* Zuordnung Personal und Geräte */
.assignment-card{padding:24px 26px}.assignment-card>h2,.assignment-card>h3{margin-bottom:20px}.assignment-form .row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px 16px;align-items:end}.assignment-form .row>label,.assignment-form .row>div{grid-column:span 3;margin:0}.assignment-form .row>label:has(textarea){grid-column:span 6}.assignment-form input,.assignment-form select,.assignment-form textarea{min-height:46px}.assignment-form textarea{min-height:86px;resize:vertical}.assignment-form .muted{font-size:.82rem;line-height:1.4;margin:6px 0 0}.assignment-form button,.assignment-form .btn{min-height:44px;padding:10px 17px}.assignment-card .table-wrap{margin-top:20px}

/* Aktuelle Seite in der linken Navigation deutlicher markieren */
.nav-item.active{background:#20324d;color:#fff;box-shadow:inset 4px 0 0 #78b5ff}.nav-item.active .nav-icon{color:#9dccff}.nav-item.active:hover{background:#263b59}

@media(max-width:1150px){.assignment-form .row>label,.assignment-form .row>div{grid-column:span 6}.assignment-form .row>label:has(textarea){grid-column:1/-1}}
@media(max-width:700px){.assignment-card{padding:18px}.assignment-form .row{grid-template-columns:1fr}.assignment-form .row>label,.assignment-form .row>div,.assignment-form .row>label:has(textarea){grid-column:1/-1}}

/* V13.1 Qualitäts- und Designupdate */
:root{--surface:#fff;--surface-soft:#f8fafc;--border:#dbe3ee;--text:#0f172a;--muted:#64748b;--primary:#334155;--primary-soft:#e8eef6;--danger:#b42318;--success:#067647;--radius:14px;--shadow:0 6px 22px rgba(15,23,42,.06)}
.app-main{max-width:1680px;width:100%;margin:0 auto}.card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--surface)}
.card h2,.card h3{margin-top:0}.card-head{gap:16px}.muted,.help-text,label small{color:var(--muted)}
.form-grid,.assignment-form{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:end}.form-grid>label,.assignment-form>label{grid-column:span 3}.form-grid>.span-2{grid-column:span 6}.form-grid>.span-full,.assignment-form>.span-full{grid-column:1/-1}
label{font-weight:650;display:flex;flex-direction:column;gap:7px}input,select,textarea{width:100%;min-height:44px;border:1px solid #cbd5e1;border-radius:9px;padding:10px 12px;background:#fff;color:var(--text);font:inherit;box-sizing:border-box}textarea{min-height:96px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(51,65,85,.14);border-color:#64748b}input:invalid:not(:placeholder-shown),select:invalid{border-color:#dc2626}
button,.btn,a.btn{min-height:42px;border-radius:9px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px}.danger{background:#fff;color:var(--danger);border:1px solid #f1b7b2}.danger:hover{background:#fff1f0}.btn-row,.form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px}
.table-wrap{border:1px solid var(--border);border-radius:12px;overflow:auto;background:#fff}table{width:100%;border-collapse:separate;border-spacing:0}th{position:sticky;top:0;z-index:2;background:#f1f5f9;color:#334155;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}th,td{padding:12px 14px;border-bottom:1px solid #e5eaf1;text-align:left;vertical-align:top}tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8fafc}.actions-cell{white-space:nowrap;text-align:right}.table-edit summary{cursor:pointer;font-weight:700;color:#334155}.table-edit[open]{position:fixed;inset:0;z-index:1000;background:rgba(15,23,42,.48);display:grid;place-items:center;padding:18px}.table-edit[open] summary{display:none}.table-edit[open]>.compact-edit,.table-edit[open]>form{width:min(680px,calc(100vw - 36px));max-height:85vh;overflow:auto;background:#fff;border-radius:16px;padding:22px;box-shadow:0 24px 80px rgba(0,0,0,.25);margin:0}.compact-edit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.compact-edit label:has(textarea),.compact-edit button{grid-column:1/-1}
.breadcrumbs{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:.9rem;margin:0 0 14px}.breadcrumbs a{color:#475569;text-decoration:none}.breadcrumbs strong{color:var(--text)}
.nav-item.active{background:#dce6f2!important;color:#0f172a!important;box-shadow:inset 4px 0 0 #334155}.nav-item.active .nav-icon{transform:scale(1.08)}
.flash{position:fixed;right:22px;top:84px;z-index:1100;max-width:430px;border-radius:12px;padding:14px 18px;background:#ecfdf3;color:var(--success);border:1px solid #abefc6;box-shadow:var(--shadow);animation:flashOut .25s ease 5s forwards}@keyframes flashOut{to{opacity:0;transform:translateY(-8px);pointer-events:none}}
.activity-item{border-left:2px solid #dbe3ee;padding-left:18px;margin-left:6px}.activity-item strong{display:block}.activity-item p{margin:.4rem 0 0;color:#475569}.activity-dot{background:#64748b}
.assignment-card .assignment-form>label:nth-of-type(1){grid-column:span 2}.assignment-card .assignment-form>label:nth-of-type(2),.assignment-card .assignment-form>label:nth-of-type(3){grid-column:span 3}.assignment-card .assignment-form>label:nth-of-type(4),.assignment-card .assignment-form>label:nth-of-type(5){grid-column:span 2}.assignment-card .assignment-form>label:nth-of-type(6){grid-column:span 2}.assignment-card .assignment-form textarea{min-height:44px}
.field-error{display:block;color:#b42318;font-size:.82rem;margin-top:4px}.is-invalid{border-color:#dc2626!important;background:#fff7f7!important}
@media(max-width:1000px){.form-grid>label,.assignment-form>label,.assignment-card .assignment-form>label:nth-of-type(n){grid-column:span 6}}
@media(max-width:700px){.app-main{padding:14px}.form-grid>label,.assignment-form>label,.form-grid>.span-2,.assignment-card .assignment-form>label:nth-of-type(n){grid-column:1/-1}.compact-edit{grid-template-columns:1fr}.table-wrap{border:0;overflow:visible}table.responsive-table,table.responsive-table tbody,table.responsive-table tr,table.responsive-table td{display:block;width:100%}table.responsive-table thead,table.responsive-table th{display:none}table.responsive-table tr{border:1px solid var(--border);border-radius:12px;margin-bottom:12px;padding:8px;background:#fff}table.responsive-table td{border:0;padding:7px 10px;display:grid;grid-template-columns:minmax(105px,38%) 1fr;gap:10px}table.responsive-table td:before{content:attr(data-label);font-weight:700;color:#475569}.flash{left:14px;right:14px;top:72px}}

/* V13.2 – Reparatur Zuordnungsmaske und Navigation */
.assignment-card{padding:26px!important}
.assignment-card .card-head{margin-bottom:22px}
.assignment-card .card-head h2{margin:0 0 5px}
.assignment-card .card-head p{margin:0;color:var(--muted)}
.assignment-card .assignment-form{display:block!important}
.assignment-card .assignment-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;align-items:start}
.assignment-card .assignment-grid .field{display:flex;flex-direction:column;min-width:0;grid-column:span 2;margin:0}
.assignment-card .assignment-grid .field>span{font-weight:700;margin-bottom:7px;color:var(--text)}
.assignment-card .assignment-grid .field>span b{color:#dc2626}
.assignment-card .assignment-grid input,.assignment-card .assignment-grid select,.assignment-card .assignment-grid textarea{display:block;width:100%!important;min-width:0!important;max-width:none!important;box-sizing:border-box;min-height:46px}
.assignment-card .assignment-grid textarea{min-height:76px;resize:vertical}
.assignment-card .assignment-grid .assignment-note{grid-column:1/-1}
.assignment-card .assignment-grid .is-disabled{opacity:.62}
.assignment-card .assignment-grid .is-disabled select{background:#f1f5f9;cursor:not-allowed}
.assignment-card .form-actions{display:flex;gap:10px;align-items:center;margin:20px 0 0}
.assignment-card .assignment-list-head{display:flex;align-items:center;justify-content:space-between;margin:28px 0 12px;padding-top:22px;border-top:1px solid var(--border)}
.assignment-card .assignment-list-head h3{margin:0}
.assignment-card .table-wrap{margin-top:0}
.assignment-card .status-pill{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#eef4ff;color:#274c87;font-weight:700;font-size:.82rem}
.side-nav .nav-item.active{background:#dce9fb!important;color:#183f73!important;box-shadow:inset 3px 0 0 #2f6fbd;font-weight:700}
@media(max-width:1100px){.assignment-card .assignment-grid .field{grid-column:span 3}.assignment-card .assignment-grid .assignment-note{grid-column:1/-1}}
@media(max-width:700px){.assignment-card{padding:18px!important}.assignment-card .assignment-grid{grid-template-columns:1fr}.assignment-card .assignment-grid .field,.assignment-card .assignment-grid .assignment-note{grid-column:1/-1}.assignment-card .form-actions{align-items:stretch;flex-direction:column}.assignment-card .form-actions button,.assignment-card .form-actions .btn{width:100%;text-align:center}}

/* V14.0 – Grundkalkulation, Nachträge und gemeinsames Controlling */
.calculation-switcher .card-head,.order-calculations .card-head,.controlling-head .card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.calculation-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:16px}
.calculation-tab{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);color:var(--text);text-decoration:none;transition:.15s ease}
.calculation-tab:hover{border-color:#94a3b8;transform:translateY(-1px)}
.calculation-tab.active{background:#eaf2ff;border-color:#7aa5db;box-shadow:inset 3px 0 0 #2f6fbd}
.calculation-tab span{display:flex;flex-direction:column;min-width:0}.calculation-tab small{color:var(--muted);margin-top:3px}.calculation-tab b{white-space:nowrap}
.calculation-total{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-top:16px;padding-top:15px;border-top:1px solid var(--border)}.calculation-total strong{font-size:1.25rem}
.status-pill,.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:.8rem;font-weight:750;white-space:nowrap;background:#eef2f7;color:#475569}
.status-draft{background:#f1f5f9;color:#475569}.status-offered{background:#fff7d6;color:#8a5a00}.status-approved{background:#dcfae6;color:#067647}.status-rejected{background:#fee4e2;color:#b42318}
.order-calculations .click-row{cursor:pointer}.order-calculations .click-row:hover{background:#f5f8fc}
.calculation-project-list{display:grid;gap:10px;margin:18px 0}.calculation-project-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px;border:1px solid var(--border);border-radius:12px;text-decoration:none;color:var(--text);background:#fff}.calculation-project-row:hover{background:#f8fafc;border-color:#aebdce}.calculation-project-row span{display:flex;flex-direction:column}.calculation-project-row small{margin-top:4px;color:var(--muted)}.calculation-project-row.rejected,.muted-row{opacity:.62}
.calculation-control-group{padding:0;overflow:hidden}.calculation-control-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:20px 22px;background:#f8fafc;border-bottom:1px solid var(--border)}.calculation-control-heading h2{margin:4px 0}.calculation-control-heading p{margin:5px 0 0;color:var(--muted)}
.calculation-kind{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;font-weight:800;color:#64748b}.calculation-control-totals{display:flex;align-items:center;justify-content:flex-end;gap:13px;flex-wrap:wrap}.calculation-control-totals>span:not(.status-badge){display:flex;flex-direction:column;color:var(--muted);font-size:.78rem}.calculation-control-totals strong{color:var(--text);font-size:.98rem}
.calculation-control-group .table-scroll{overflow:auto}.calculation-control-group.rejected{border-color:#f2b8b5}.actual-entry-row>td{background:#fbfdff}.actual-entry-row details{padding:3px 0}.actual-entry-row summary{cursor:pointer;font-weight:700;color:#334155}.actual-entry-form{margin-top:16px}
.controlling-head-actions{display:flex;gap:9px;flex-wrap:wrap}.notice.warning{margin:16px 22px;padding:12px 14px;border:1px solid #fedf89;border-radius:10px;background:#fffaeb;color:#7a2e0e}.legacy-changes{border-style:dashed}.table-scroll{max-width:100%;overflow:auto}
.calc-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.calc-meta-grid .span-2{grid-column:1/-1}.delete-calculation-form{margin-top:12px}.calc-surcharge-grid{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:12px;align-items:end;margin-top:14px}
@media(max-width:900px){.calculation-control-heading{flex-direction:column}.calculation-control-totals{justify-content:flex-start}.calc-surcharge-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}.calc-surcharge-grid .calc-submit{grid-column:1/-1}.calc-surcharge-grid .calc-submit button{width:100%}}
@media(max-width:650px){.calculation-tabs{grid-template-columns:1fr}.calculation-tab,.calculation-project-row{align-items:flex-start;flex-direction:column}.calculation-total{justify-content:space-between}.calc-meta-grid,.calc-surcharge-grid{grid-template-columns:1fr}.calc-meta-grid .span-2,.calc-surcharge-grid .calc-submit{grid-column:auto}.calculation-control-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.calculation-control-totals .btn{grid-column:1/-1}.order-calculations .table-wrap,.calculation-control-group .table-scroll{overflow:auto}}

/* V15.0 – Durchgängige Projektakte, Rechnungen, Fortschritt und Systemstatus */
.workflow-strip{display:grid;grid-template-columns:repeat(8,minmax(105px,1fr));gap:7px;margin:16px 0;padding:8px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);overflow-x:auto}.workflow-strip a,.workflow-strip span{display:flex;align-items:center;justify-content:center;min-height:42px;padding:8px 10px;border-radius:9px;text-align:center;text-decoration:none;color:#64748b;background:#f8fafc;font-size:.78rem;font-weight:750;white-space:nowrap}.workflow-strip .active{background:#dbeafe;color:#1d4f91;box-shadow:inset 0 0 0 1px #93b9ea}.workflow-strip .done{background:#ecfdf3;color:#087443}
.project-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.project-card-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 12px}.project-card-values div{padding:9px;border-radius:9px;background:#f8fafc}.project-card-values span,.project-card-values strong{display:block}.project-card-values span{font-size:.72rem;color:var(--muted);margin-bottom:3px}.project-card-values strong{font-size:.9rem}.warning-count{display:inline-flex;min-width:23px;height:23px;align-items:center;justify-content:center;border-radius:999px;background:#fee4e2;color:#b42318;font-size:.75rem;font-weight:850}.progress-bar{height:9px;border-radius:999px;background:#e5eaf1;overflow:hidden}.progress-bar>span{display:block;height:100%;background:#3b82f6;border-radius:inherit;max-width:100%}.mini-progress{display:flex;align-items:center;gap:8px;min-width:130px}.mini-progress .progress-bar{flex:1}.mini-progress small{white-space:nowrap;color:#64748b}
.alert-stack{display:grid;gap:10px;margin:14px 0}.alert-row{display:flex;align-items:flex-start;gap:12px;border:1px solid #d7e0eb;border-radius:11px;padding:12px 14px;background:#f8fafc}.alert-row strong{flex:0 0 auto}.alert-row span{min-width:0}.alert-danger{border-color:#f5b7b1;background:#fff3f2;color:#912018}.alert-warning{border-color:#f4d38b;background:#fffbeb;color:#7a4b00}.alert-info{border-color:#b9d8f7;background:#eff7ff;color:#195b92}.alert-card{border-color:#f2d18d}.ok-text{color:#087443!important}.danger-text{color:#b42318!important}.status-ok{background:#dcfae6!important;color:#067647!important}.status-danger{background:#fee4e2!important;color:#b42318!important}
.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.detail-grid>div{padding:13px;border:1px solid var(--border);border-radius:10px;background:#f8fafc}.detail-grid span,.detail-grid strong{display:block}.detail-grid span{color:var(--muted);font-size:.77rem;margin-bottom:4px}.summary-strip,.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:16px 0}.summary-strip>div,.metric-card{padding:16px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.summary-strip span,.summary-strip strong,.metric-card span,.metric-card strong,.metric-card small{display:block}.summary-strip span,.metric-card span{font-size:.76rem;color:var(--muted);font-weight:700}.summary-strip strong,.metric-card strong{font-size:1.25rem;margin-top:5px}.metric-card small{margin-top:5px;color:var(--muted)}
.cost-breakdown{display:grid;gap:9px}.cost-breakdown>div{display:flex;justify-content:space-between;gap:14px;padding-bottom:8px;border-bottom:1px solid var(--border)}.cost-total{font-size:1.1rem}.report-card{border-left:4px solid #94a3b8}.priority-high{border-left:4px solid #dc2626!important}.priority-medium{border-left:4px solid #f59e0b!important}.priority-low{border-left:4px solid #22c55e!important}.activity-feed-large .activity-item{padding-top:8px;padding-bottom:8px}
.controlling-position-table td{vertical-align:top}.site-check{display:flex;align-items:flex-start;gap:8px}.site-check input{width:auto;margin-top:3px}.danger-zone{margin-top:22px;padding-top:18px;border-top:1px solid #fecaca}
.site-order-grid{display:grid;gap:14px}.site-order-card{display:block;padding:18px;border:1px solid #dbe3ee;border-radius:16px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 5px 18px rgba(15,23,42,.06)}.site-order-card:hover{border-color:#94b9e7}.site-project-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:15px}.site-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:13px 0}.site-kpis>div{padding:12px;border-radius:12px;background:#f8fafc;text-align:center}.site-kpis span,.site-kpis strong{display:block}.site-kpis span{font-size:.72rem;color:#64748b}.site-kpis strong{margin-top:4px}.site-primary{width:100%;min-height:58px;font-size:1rem}.site-timer{padding:14px;border-radius:13px;border:1px solid #dbe3ee;background:#f8fafc}.site-timer.running{background:#ecfdf3;border-color:#a7e6c2}
.login-card{margin:9vh auto 0}.login-card .page-kicker{margin-bottom:5px}
@media print{.sidebar,.topbar,.breadcrumbs,.page-actions,.project-tabs,button,.btn,.table-edit summary{display:none!important}.app-shell{margin:0}.app-main{max-width:none;padding:0}.card,.project-hero{box-shadow:none;break-inside:avoid}.table-wrap{overflow:visible;border:0}}
@media(max-width:1200px){.project-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid,.metric-grid,.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-strip{grid-template-columns:repeat(8,125px)}}
@media(max-width:700px){.project-card-grid,.project-card-values,.detail-grid,.metric-grid,.summary-strip,.site-kpis{grid-template-columns:1fr}.workflow-strip{grid-template-columns:repeat(8,120px)}.site-project-head{flex-direction:column}.alert-row{display:block}.alert-row strong{display:block;margin-bottom:4px}.project-card-values{gap:6px}}

/* V15.5 – Bedienung, Übersicht, Favoriten und Direktbearbeitung */
.search-hidden{display:none!important}
.global-save-indicator{position:fixed;right:22px;bottom:22px;z-index:150;display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow);color:var(--text);font-size:.86rem;font-weight:750;opacity:0;transform:translateY(10px);pointer-events:none;transition:.18s ease}
.global-save-indicator.show{opacity:1;transform:translateY(0)}
.save-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#16a34a;flex:0 0 auto}
.global-save-indicator.show .save-dot,.calc-save-state.is-saving .save-dot{background:#d97706;animation:bpPulse 1s infinite}
.calc-save-state.is-error .save-dot{background:#dc2626}
@keyframes bpPulse{0%,100%{opacity:.35}50%{opacity:1}}

.v155-toolbar{display:grid;grid-template-columns:minmax(190px,1fr) minmax(460px,auto) auto auto;align-items:center;gap:14px}
.v155-toolbar .muted{padding:0;margin:.25rem 0 0;font-size:.78rem}
.calc-view-tools{display:flex;align-items:end;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.calc-view-tools .btn{margin:0;white-space:nowrap}
.calc-search{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px;margin:0;min-width:240px}
.calc-search span{grid-column:1/-1;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.calc-search input{min-width:220px;padding:7px 9px}
.calc-search small{min-width:52px;color:var(--muted);font-weight:700}
.calc-save-state{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:.79rem;font-weight:750;color:#475569}
.calc-save-state.is-saving{color:#92400e;background:#fffbeb;border-color:#fde68a}
.calc-save-state.is-error{color:#991b1b;background:#fef2f2;border-color:#fecaca}
.calc-drag-hint strong{font-size:1rem}
.drag-handle{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:27px;margin-right:5px;color:#64748b;font-weight:900;letter-spacing:-3px;cursor:grab;user-select:none;touch-action:none;border:1px solid transparent;border-radius:5px}
.drag-handle:hover{background:#e2e8f0;border-color:#cbd5e1;color:#334155}
.drag-handle:active{cursor:grabbing}
.pos-main.is-dragging td,.item-row.is-dragging td{opacity:.45;background:#dbeafe!important}
.pos-main.drag-target td,.item-row.drag-target td{box-shadow:inset 0 3px 0 var(--primary)}
.quick-position-title,.quick-position-quantity,.quick-position-unit{border:1px solid transparent!important;background:transparent!important;border-radius:6px!important;padding:5px 6px!important;font:inherit;color:inherit;transition:.15s ease}
.quick-position-title{font-weight:800;min-width:210px}
.quick-position-quantity{width:88px!important;text-align:right;font-variant-numeric:tabular-nums}
.quick-position-unit{min-width:82px;width:auto!important}
.quick-position-title:hover,.quick-position-quantity:hover,.quick-position-unit:hover,.quick-position-title:focus,.quick-position-quantity:focus,.quick-position-unit:focus{border-color:#94a3b8!important;background:#fff!important;outline:none;box-shadow:0 0 0 2px rgba(20,115,230,.12)}
.pos-main .position-title-text{width:100%}
.v155-newpos{grid-template-columns:210px 90px minmax(240px,1fr) 120px 105px auto}
.calc-sheet-card.is-compact .calc-hide-compact{display:none!important}
.calc-sheet-card.is-compact .position-detail{display:none!important}
.calc-sheet-card.is-compact .position-toggle{opacity:.45;pointer-events:none}
.calc-sheet-card.is-compact .position-line-count{display:none}
.calc-sheet-card.is-compact .calc-drag-hint{display:none}
.calc-sheet-card.is-compact .calc-sheet{font-size:.88rem}
.calc-sheet-card.is-compact .pos-main td{padding-top:8px;padding-bottom:8px}
.item-row.saved td{animation:calcSavedFlash .8s ease}
.item-row.save-error td{background:#fef2f2!important}
@keyframes calcSavedFlash{0%{background:#dcfce7}100%{background:#fff}}

.master-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;min-width:min(100%,420px)}
.master-toolbar label{margin:0;flex:1;min-width:260px}
.master-search-card.search-hidden,.template-master-block.search-hidden{display:none!important}
.favorite-button{display:inline-grid;place-items:center;width:34px;height:32px;padding:0!important;margin:0!important;border:1px solid #cbd5e1!important;border-radius:7px!important;background:#fff!important;color:#94a3b8!important;font-size:1.05rem;line-height:1}
.favorite-button:hover{background:#f8fafc!important;color:#d97706!important}
.favorite-button.is-favorite{background:#fffbeb!important;border-color:#f59e0b!important;color:#d97706!important}
.favorite-form{margin:0!important}
.template-master-block{padding:14px 0;border-bottom:1px solid var(--line)}
.template-master-block:last-child{border-bottom:0}
.template-master-block .section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.template-master-block .section-head>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.master-filter-table td:first-child,.master-filter-table th:first-child{width:72px;text-align:center}

.control-view-tools{display:flex;align-items:end;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.control-view-tools label{margin:0;min-width:240px;font-size:.78rem;color:var(--muted)}
.control-view-tools input{margin-top:4px;padding:7px 9px}
.controlling-compact .controlling-position-table th:nth-child(9),.controlling-compact .controlling-position-table td:nth-child(9),
.controlling-compact .controlling-position-table th:nth-child(10),.controlling-compact .controlling-position-table td:nth-child(10),
.controlling-compact .controlling-position-table th:nth-child(11),.controlling-compact .controlling-position-table td:nth-child(11),
.controlling-compact .controlling-position-table th:nth-child(12),.controlling-compact .controlling-position-table td:nth-child(12){display:none}
.controlling-compact .control-position-detail{display:none!important}
.controlling-compact .calculation-control-heading p{display:none}
.controlling-compact .calculation-control-group{padding-bottom:12px}

@media(max-width:1250px){
 .v155-toolbar{grid-template-columns:1fr;align-items:stretch}
 .calc-view-tools{justify-content:flex-start}
 .calc-save-state{width:max-content}
 .calc-grand{text-align:left}
 .v155-newpos{grid-template-columns:repeat(2,minmax(150px,1fr))}
 .control-view-tools{justify-content:flex-start}
}
@media(max-width:760px){
 .calc-view-tools{display:grid;grid-template-columns:1fr 1fr;width:100%}
 .calc-search{grid-column:1/-1;min-width:0}
 .calc-search input{min-width:0;width:100%}
 .calc-save-state{width:100%}
 .quick-position-title{min-width:180px}
 .global-save-indicator{left:12px;right:12px;bottom:12px;justify-content:center}
 .master-toolbar{width:100%;min-width:0}.master-toolbar label{min-width:0;width:100%}
 .template-master-block .section-head{align-items:flex-start;display:block}.template-master-block .section-head>div{margin-top:8px}
 .control-view-tools{display:grid;grid-template-columns:1fr 1fr;width:100%}.control-view-tools label{grid-column:1/-1;min-width:0}
}

/* V15.7: Bearbeitungsfenster immer über allen Inhalten */
.modal-backdrop{z-index:2147483000!important;isolation:isolate}
.modal-box{position:relative;z-index:2147483001!important}
body.modal-open{overflow:hidden}
.table-edit[open]{position:relative;z-index:500}
.table-edit[open]>.compact-edit{position:absolute;right:0;top:100%;width:min(520px,90vw);padding:16px;background:#fff;border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 24px 70px rgba(15,23,42,.28);z-index:2147482000}
.alert-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.alert-row form{margin:0;flex:0 0 auto}
@media(max-width:700px){.table-edit[open]>.compact-edit{position:fixed;inset:5vh 4vw auto;width:92vw;max-height:90vh;overflow:auto;z-index:2147482000}}

/* V15.8 – vereinfachter Baustellenmodus */
.site-simple{max-width:880px;padding-bottom:96px}
.site-simple-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin:0 0 20px}
.site-simple-head h1,.site-select-head h1{margin:5px 0 3px;font-size:clamp(1.65rem,4vw,2.35rem);line-height:1.1}
.site-simple-head p,.site-select-head p{margin:0;color:var(--muted)}
.site-back-link{display:inline-block;margin-bottom:14px;color:#475569;text-decoration:none;font-weight:750}
.site-back-link:hover{color:#0f172a}
.site-eyebrow{display:block;color:#2563eb;font-size:.74rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.site-date-box{min-width:125px;padding:14px 16px;border:1px solid #dbe3ee;border-radius:14px;background:#fff;text-align:center;box-shadow:0 5px 18px rgba(15,23,42,.05)}
.site-date-box span,.site-date-box strong{display:block}.site-date-box span{font-size:.75rem;color:#64748b}.site-date-box strong{margin-top:3px;font-size:1.05rem}
.site-select-head{margin-bottom:20px}.site-order-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px}.site-order-card>div{min-width:0}.site-order-card strong,.site-order-card span{display:block}.site-order-card>div span{margin-top:4px;color:#64748b}.site-order-card>b{font-size:1.8rem;color:#94a3b8}.site-order-icon{display:grid!important;place-items:center;width:48px;height:48px;border-radius:14px;background:#eaf2ff;color:#2563eb;font-size:1.35rem}
.site-notice{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 16px;margin:12px 0;border:1px solid #dbe3ee;border-radius:14px;background:#fff}.site-notice strong,.site-notice span{display:block}.site-notice span{margin-top:3px;color:#64748b;font-size:.9rem}.site-notice form{margin:0}.site-notice-warning{border-color:#f1d28a;background:#fffbeb}
.site-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}
.site-quick-card{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon copy" "value value";align-items:center;gap:8px 13px;min-height:132px;padding:18px;border:1px solid #dbe3ee;border-radius:18px;background:#fff;color:#172033;text-align:left;box-shadow:0 7px 22px rgba(15,23,42,.06)}
.site-quick-card:hover{background:#f8fafc;border-color:#8fb6e7;transform:translateY(-1px)}
.site-quick-icon{grid-area:icon;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#eaf2ff;color:#2563eb;font-size:1.45rem}
.site-quick-copy{grid-area:copy;min-width:0}.site-quick-copy strong,.site-quick-copy small{display:block}.site-quick-copy strong{font-size:1.12rem;color:#0f172a}.site-quick-copy small{margin-top:3px;color:#64748b;font-weight:600}
.site-quick-value{grid-area:value;display:block;padding-top:9px;border-top:1px solid #edf1f6;color:#334155;font-size:.85rem;font-weight:800}
.site-section{margin:18px 0;padding:20px;border:1px solid #dbe3ee;border-radius:18px;background:#fff;box-shadow:0 7px 24px rgba(15,23,42,.05)}
.site-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.site-section-head h2{margin:3px 0 0;font-size:1.25rem}.site-section-head .btn{white-space:nowrap}
.site-entry-list,.site-report-list{display:grid;gap:10px}.site-entry-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px;border:1px solid #e2e8f0;border-radius:14px;background:#fbfcfe}
.site-entry-date{text-align:center;padding-right:12px;border-right:1px solid #e2e8f0}.site-entry-date strong,.site-entry-date span{display:block}.site-entry-date strong{font-size:1rem}.site-entry-date span{font-size:.72rem;color:#64748b}
.site-entry-main{min-width:0}.site-entry-main strong,.site-entry-main span,.site-entry-main small{display:block}.site-entry-main span{margin-top:3px;color:#475569;font-size:.9rem}.site-entry-main small{margin-top:5px;color:#64748b;line-height:1.35}
.site-edit-btn{padding:8px 11px;border-radius:9px;background:#e2e8f0;color:#1e293b;font-size:.82rem}.site-edit-btn:hover{background:#cbd5e1}.site-entry-status{padding:5px 8px;border-radius:999px;background:#eef2f6;color:#64748b;font-size:.75rem;font-weight:750}
.site-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.site-photo-card{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid #e2e8f0;border-radius:14px;background:#fbfcfe;color:inherit;text-decoration:none}.site-photo-card:hover{border-color:#8fb6e7;background:#f8fafc}.site-photo-symbol{display:grid;place-items:center;flex:0 0 auto;width:58px;height:58px;border-radius:12px;background:#eaf2ff;color:#2563eb;font-size:1.2rem}.site-photo-thumb{display:block;flex:0 0 auto;width:58px;height:58px;border-radius:12px;object-fit:cover;background:#e2e8f0}.site-photo-card div{min-width:0}.site-photo-card strong,.site-photo-card span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-photo-card span{margin-top:4px;color:#64748b;font-size:.79rem}
.site-report-card{padding:15px;border:1px solid #e2e8f0;border-radius:14px;background:#fbfcfe}.site-report-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.site-report-top strong,.site-report-top span{display:block}.site-report-top>div>span{margin-top:3px;color:#64748b;font-size:.83rem}.site-report-card p{margin:12px 0;color:#334155;line-height:1.45}.site-report-card .site-edit-btn{margin-top:3px}
.site-simple-dialog{width:min(680px,calc(100vw - 28px));max-height:min(88vh,860px);overflow:auto;border:0;border-radius:20px;padding:0;box-shadow:0 28px 90px rgba(15,23,42,.35)}
.site-simple-dialog::backdrop{background:rgba(15,23,42,.62);backdrop-filter:blur(2px)}
.site-dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:20px 22px 16px;border-bottom:1px solid #e2e8f0;background:#fff}.site-dialog-head h2{margin:0}.site-dialog-head p{margin:5px 0 0;color:#64748b;font-size:.88rem}.site-simple-dialog>form{padding:4px 22px 22px}.site-simple-dialog label{margin-top:16px}.site-simple-dialog input,.site-simple-dialog select,.site-simple-dialog textarea{min-height:46px;border-radius:10px}.site-simple-dialog textarea{min-height:88px;resize:vertical}.site-simple-dialog .dialog-close{float:none;flex:0 0 auto;margin:-6px -7px 0 0;border-radius:10px;background:#f1f5f9;color:#334155;line-height:1}
.site-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.site-optional{color:#94a3b8;font-size:.77rem;font-weight:650}.site-more-fields{margin-top:16px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.site-more-fields summary{cursor:pointer;padding:13px 14px;font-weight:800;color:#475569}.site-more-fields>div,.site-more-fields>label{margin-left:14px;margin-right:14px}.site-more-fields>label:last-child{margin-bottom:14px}
.site-file-field{display:grid;place-items:center;gap:8px;padding:24px;border:2px dashed #b9c7d8;border-radius:15px;background:#f8fafc;text-align:center;cursor:pointer}.site-file-field>span{font-size:1.05rem}.site-file-field input{max-width:390px;min-height:0}.site-file-field small{color:#64748b}
.site-dialog-actions{position:sticky;bottom:-22px;display:flex;justify-content:flex-end;gap:10px;margin:20px -22px -22px;padding:14px 22px;border-top:1px solid #e2e8f0;background:#fff}.site-dialog-actions .btn,.site-dialog-actions button{min-height:44px;border-radius:10px}
.site-bottom-nav{position:fixed;left:50%;bottom:12px;z-index:90;display:grid;grid-template-columns:repeat(4,1fr);width:min(520px,calc(100vw - 24px));padding:6px;border:1px solid #dbe3ee;border-radius:17px;background:rgba(255,255,255,.96);box-shadow:0 14px 40px rgba(15,23,42,.2);transform:translateX(-50%);backdrop-filter:blur(12px);gap:4px}
.site-bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;padding:6px;border-radius:12px;background:transparent;color:#475569;font-size:.72rem}.site-bottom-nav button:hover{background:#eff6ff;color:#1d4ed8}.site-bottom-nav button span{font-size:1.15rem;line-height:1}
@media(min-width:900px){.site-bottom-nav{display:none}.site-simple{padding-bottom:28px}}
@media(max-width:700px){.site-simple-head{display:block}.site-date-box{display:inline-block;min-width:0;margin-top:15px;text-align:left}.site-quick-grid{gap:10px}.site-quick-card{min-height:120px;padding:15px}.site-section{padding:15px;margin:13px 0}.site-section-head{align-items:flex-end}.site-section-head .btn{padding:8px 10px;font-size:.82rem}.site-entry-card{grid-template-columns:51px minmax(0,1fr);gap:10px}.site-entry-card>.site-edit-btn,.site-entry-card>.site-entry-status{grid-column:2;justify-self:start}.site-photo-grid{grid-template-columns:1fr}.site-form-grid{grid-template-columns:1fr}.site-simple-dialog{width:calc(100vw - 16px);max-height:94vh;border-radius:17px}.site-dialog-head{padding:17px 17px 14px}.site-simple-dialog>form{padding:2px 17px 17px}.site-dialog-actions{bottom:-17px;margin:18px -17px -17px;padding:12px 17px}.site-dialog-actions>*{flex:1;text-align:center}.site-notice{align-items:flex-start;flex-direction:column}.site-notice form,.site-notice button{width:100%}}
@media(max-width:430px){.site-quick-card{grid-template-columns:1fr;grid-template-areas:"icon" "copy" "value"}.site-quick-icon{width:42px;height:42px}.site-quick-copy strong{font-size:1rem}.site-quick-copy small{font-size:.78rem}}

/* ========================================================================== 
   V16 – einheitliche Bedienoberfläche, responsive Listen und klare Hierarchie
   ========================================================================== */
:root{
 --v16-bg:#f3f6fa;--v16-panel:#fff;--v16-panel-soft:#f8fafc;--v16-line:#dbe3ec;
 --v16-text:#172033;--v16-muted:#64748b;--v16-brand:#173a63;--v16-brand-2:#24598f;
 --v16-accent:#1f6fb2;--v16-accent-soft:#eaf3fb;--v16-success:#18794e;--v16-success-soft:#ecf8f1;
 --v16-warning:#9a5b00;--v16-warning-soft:#fff7df;--v16-danger:#b42318;--v16-danger-soft:#fff0ee;
 --v16-info:#235a93;--v16-info-soft:#eef6ff;--v16-radius:12px;--v16-shadow:0 8px 28px rgba(30,55,80,.07);
 --sidebar-width:262px;--topbar-height:70px;
}
*{box-sizing:border-box}
html{background:var(--v16-bg);scroll-behavior:smooth}
body.app-body{margin:0;background:var(--v16-bg);color:var(--v16-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.45}
body.modal-open{overflow:hidden}
a{color:var(--v16-accent)}
.app-shell{min-height:100vh;margin-left:var(--sidebar-width)}
.app-main{max-width:1540px;margin:0 auto;padding:24px 28px 44px}
.public-main{margin:0 auto;max-width:720px;padding:32px 20px}

/* Sidebar / Navigation */
.sidebar{position:fixed;inset:0 auto 0 0;z-index:200;width:var(--sidebar-width);overflow-y:auto;background:#102a48;color:#fff;border:0;box-shadow:10px 0 35px rgba(10,28,48,.08)}
.brand{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:11px;min-height:72px;padding:14px 16px;background:#102a48;border-bottom:1px solid rgba(255,255,255,.1)}
.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#fff;color:#173a63;font-weight:900;letter-spacing:.02em}
.brand>div:nth-child(2){min-width:0}.brand strong,.brand small{display:block}.brand strong{font-size:.98rem}.brand small{margin-top:2px;color:#b9cadb;font-size:.74rem}
.side-nav{display:block!important;padding:12px 10px 24px!important;background:transparent!important;border:0!important;box-shadow:none!important}
.nav-group{margin:0 0 16px}.nav-label{padding:7px 10px 5px;color:#8fa9c2;font-size:.68rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.nav-item{display:flex!important;align-items:center;gap:11px;min-height:42px;padding:9px 10px!important;margin:2px 0;border-radius:9px!important;color:#dce7f2!important;text-decoration:none;font-size:.9rem;font-weight:650;transition:background .16s,color .16s,transform .16s}
.nav-item:hover{background:rgba(255,255,255,.08)!important;color:#fff!important;transform:translateX(1px)}
.nav-item.active{background:#fff!important;color:#173a63!important;box-shadow:0 7px 18px rgba(5,20,35,.16)}
.nav-icon{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px}.nav-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sidebar-close{display:none;margin-left:auto}.sidebar-overlay{display:none}

/* Topbar */
.topbar{position:sticky;top:0;z-index:120;display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,560px) auto;align-items:center;gap:22px;min-height:var(--topbar-height);padding:10px 28px;background:rgba(255,255,255,.95);border-bottom:1px solid var(--v16-line);backdrop-filter:blur(12px)}
.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.topbar-left strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem}.page-kicker{color:var(--v16-muted);font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.menu-btn{display:none}.icon-btn{width:38px;height:38px;padding:0;border:1px solid var(--v16-line);border-radius:9px;background:#fff;color:var(--v16-text);font-size:1.15rem}
.global-search{display:flex;align-items:center;gap:0;margin:0}.global-search input{height:40px;border-radius:10px 0 0 10px;border-right:0;background:#f8fafc}.global-search button{height:40px;border-radius:0 10px 10px 0;padding-inline:17px}
.topbar-user{display:flex;flex-direction:column;align-items:flex-end;max-width:220px}.topbar-user span{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:800}.topbar-user small{color:var(--v16-muted);font-size:.71rem}

/* Content hierarchy */
.breadcrumbs{display:flex;align-items:center;gap:7px;margin:0 0 14px;color:var(--v16-muted);font-size:.78rem}.breadcrumbs a{text-decoration:none;color:var(--v16-muted)}.breadcrumbs strong{color:#475569;font-weight:750}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 18px}.page-head h1{margin:0;color:#12263e;font-size:clamp(1.65rem,2.5vw,2.15rem);line-height:1.13;letter-spacing:-.025em}.page-head p{max-width:780px;margin:7px 0 0;font-size:.94rem}.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.app-main>h1{margin:0 0 18px;color:#12263e;font-size:clamp(1.65rem,2.5vw,2.15rem);line-height:1.13;letter-spacing:-.025em}
h2{font-size:1.15rem;letter-spacing:-.01em}h3{font-size:1rem}
.muted{color:var(--v16-muted)!important}.mini{font-size:.8rem}.big{font-size:1.8rem;font-weight:850;letter-spacing:-.025em}
.empty-state{padding:28px 20px;text-align:center;color:var(--v16-muted);background:var(--v16-panel-soft);border:1px dashed #cbd6e2;border-radius:10px}

/* Cards */
.card,.flash{overflow:visible;margin:0 0 16px;padding:19px 20px;border:1px solid var(--v16-line);border-radius:var(--v16-radius);background:var(--v16-panel);box-shadow:var(--v16-shadow)}
.card h2:first-child,.card h3:first-child{margin-top:0}.card>p:last-child{margin-bottom:0}
.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.card-head h2,.card-head h3{margin:0}.card-head p{margin:5px 0 0;color:var(--v16-muted);font-size:.87rem}.card-head>a{font-size:.85rem;font-weight:750;text-decoration:none}
.grid,.dashboard-grid,.kpi-grid{gap:14px}.split{gap:16px}
.summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;border:1px solid var(--v16-line);border-radius:10px;overflow:hidden;background:#fff}.summary-strip>div{padding:13px 15px;border-right:1px solid var(--v16-line)}.summary-strip>div:last-child{border-right:0}.summary-strip span,.summary-strip strong{display:block}.summary-strip span{color:var(--v16-muted);font-size:.73rem;font-weight:750}.summary-strip strong{margin-top:4px;font-size:1.05rem;font-variant-numeric:tabular-nums}

/* Buttons */
.btn,button,input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 14px;border:1px solid transparent;border-radius:9px;background:var(--v16-brand);color:#fff;text-decoration:none;font:inherit;font-size:.86rem;font-weight:780;line-height:1.15;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}
.btn:hover,button:hover,input[type=submit]:hover{background:var(--v16-brand-2);box-shadow:0 5px 14px rgba(23,58,99,.15);transform:translateY(-1px)}
.btn:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(31,111,178,.2);outline-offset:1px}
.btn.secondary,button.secondary,.secondary{background:#fff!important;color:#334155!important;border-color:#cbd5e1!important}.btn.secondary:hover,button.secondary:hover{background:#f5f8fb!important;border-color:#9fb0c2!important}
.btn.danger,button.danger,.danger{background:#fff!important;color:var(--v16-danger)!important;border-color:#e7b4ae!important}.btn.danger:hover,button.danger:hover{background:var(--v16-danger-soft)!important;border-color:#d78e86!important}
.btn.small,button.small{min-height:32px;padding:6px 10px;font-size:.77rem;border-radius:7px}.btn.ghost,button.ghost{background:transparent;color:var(--v16-brand);border-color:transparent}.btn.ghost:hover,button.ghost:hover{background:var(--v16-accent-soft)}
.actions,.row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.actions form,.row-actions form{margin:0}.inline{display:inline-flex;margin:0}
.action-menu{position:relative}.action-menu>summary{list-style:none}.action-menu>summary::-webkit-details-marker{display:none}.action-menu-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:90;display:grid;min-width:220px;padding:7px;border:1px solid var(--v16-line);border-radius:10px;background:#fff;box-shadow:0 18px 50px rgba(20,40,60,.18)}.action-menu-panel a,.action-menu-panel button{justify-content:flex-start;width:100%;min-height:36px;padding:8px 10px;border:0;border-radius:7px;background:transparent!important;color:var(--v16-text)!important;text-align:left;box-shadow:none}.action-menu-panel a:hover,.action-menu-panel button:hover{background:#f2f6fa!important;transform:none}

/* Forms */
label{display:block;margin-top:10px;color:#334155;font-size:.81rem;font-weight:760}
input,select,textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid #c7d2df;border-radius:9px;background:#fff;color:var(--v16-text);font:inherit;font-size:.9rem;transition:border-color .15s,box-shadow .15s}
textarea{min-height:88px;resize:vertical}input::placeholder,textarea::placeholder{color:#9aa8b6}input:disabled,select:disabled,textarea:disabled{background:#f1f5f9;color:#718096;cursor:not-allowed}
input[type=checkbox],input[type=radio]{width:17px;min-height:17px;height:17px;padding:0;accent-color:var(--v16-accent)}
.row,.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0 13px;align-items:end}.form-grid{gap:12px}.form-grid label,.row label{margin-top:0}
.filterbar,.search-panel{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding:14px 15px;border:1px solid var(--v16-line);border-radius:var(--v16-radius);background:#fff;box-shadow:0 5px 18px rgba(30,55,80,.04)}.filterbar>div,.search-panel label{min-width:155px;flex:1}.search-panel>input{min-width:240px;flex:1}.filterbar button,.search-panel button{flex:0 0 auto}
.compact-label{margin:0}.compact-label+ .compact-label{margin-top:6px}.check,.site-check{display:flex;align-items:center;gap:8px}.check input,.site-check input{width:auto}
.is-invalid{border-color:#d4463a!important;background:#fff8f7!important;box-shadow:0 0 0 3px rgba(180,35,24,.1)!important}.field-error{display:block;margin-top:4px;color:var(--v16-danger);font-size:.73rem;font-weight:650}
.create-panel[hidden]{display:none}.create-panel{animation:v16Reveal .18s ease-out}.create-panel>.card{border-top:3px solid var(--v16-accent)}@keyframes v16Reveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}

/* Feedback */
.flash{position:relative;display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 46px 12px 15px;margin-bottom:16px;box-shadow:none;font-size:.88rem;font-weight:650}.flash-icon{width:9px;height:9px;border-radius:50%;background:currentColor}.flash-success{color:var(--v16-success);background:var(--v16-success-soft);border-color:#b8dfca}.flash-warning{color:var(--v16-warning);background:var(--v16-warning-soft);border-color:#eed697}.flash-error{color:var(--v16-danger);background:var(--v16-danger-soft);border-color:#e9b7b1}.flash-info{color:var(--v16-info);background:var(--v16-info-soft);border-color:#bfd8f3}.flash-close{position:absolute;right:8px;top:7px;width:32px;min-height:32px;padding:0;background:transparent!important;color:inherit!important;border:0!important;box-shadow:none!important;font-size:1.1rem}.warning{padding:12px 14px;border:1px solid #edcf87;border-radius:9px;background:var(--v16-warning-soft);color:#805000}.warn{border-left:4px solid var(--v16-warning);background:var(--v16-warning-soft)}
.alert-stack{display:grid;gap:9px}.alert-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--v16-line);border-radius:9px;background:#fff}.alert-warning{border-color:#ead08b;background:var(--v16-warning-soft)}.alert-danger{border-color:#e5aaa3;background:var(--v16-danger-soft)}.alert-info{border-color:#bfd8f3;background:var(--v16-info-soft)}

/* Badges / statuses */
.status-badge,.badge{display:inline-flex;align-items:center;gap:5px;width:max-content;padding:4px 8px;border:1px solid #d5dee8;border-radius:999px;background:#f2f5f8;color:#475569;font-size:.71rem;font-weight:800;line-height:1.15;white-space:nowrap}
.status-ok{border-color:#b7dfc8!important;background:var(--v16-success-soft)!important;color:var(--v16-success)!important}.status-warning{border-color:#ead08b!important;background:var(--v16-warning-soft)!important;color:var(--v16-warning)!important}.status-danger{border-color:#e6ada7!important;background:var(--v16-danger-soft)!important;color:var(--v16-danger)!important}.status-neutral{border-color:#d5dee8!important;background:#f2f5f8!important;color:#526170!important}
.ok-text{color:var(--v16-success)!important;font-weight:780}.danger-text{color:var(--v16-danger)!important;font-weight:780}

/* Tables */
.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--v16-line);border-radius:10px;background:#fff;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;table-layout:auto;font-size:.86rem}
th,td{padding:10px 11px;border:0;border-bottom:1px solid #e5ebf1;text-align:left;vertical-align:middle;overflow-wrap:normal}
th{position:relative;background:#f3f6f9;color:#4b5d70;font-size:.72rem;font-weight:850;letter-spacing:.025em;text-transform:uppercase;white-space:nowrap}
tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#f8fbfd}.click-row{cursor:pointer}.click-row:focus{outline:3px solid rgba(31,111,178,.18);outline-offset:-3px}.click-row td:first-child{border-left:3px solid transparent}.click-row:hover td:first-child{border-left-color:var(--v16-accent)}
.num,.right{text-align:right!important;font-variant-numeric:tabular-nums;white-space:nowrap}.nowrap{white-space:nowrap}.action-col-small{width:1%;white-space:nowrap}.row-actions{justify-content:flex-end;white-space:nowrap}
.table-wrap>.muted{padding:10px}.table-note{margin:9px 2px 0;color:var(--v16-muted);font-size:.78rem}

/* Dialogs / editing */
.modal-backdrop,.table-edit[open]{position:fixed!important;inset:0!important;z-index:1000!important;display:none;place-items:center;padding:18px;background:rgba(15,32,50,.6);backdrop-filter:blur(2px)}.modal-backdrop.show,.table-edit[open]{display:grid!important}
.modal-box,.table-edit[open]>.compact-edit{position:relative!important;inset:auto!important;right:auto!important;top:auto!important;width:min(720px,100%)!important;max-height:calc(100vh - 36px)!important;overflow:auto!important;margin:0!important;padding:20px!important;border:0!important;border-radius:14px!important;background:#fff!important;box-shadow:0 28px 80px rgba(10,30,50,.3)!important}
.modal-head{position:sticky;top:-20px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-20px -20px 16px;padding:17px 20px;border-bottom:1px solid var(--v16-line);background:#fff}.modal-head h2{margin:0}.table-edit>summary{list-style:none}.table-edit>summary::-webkit-details-marker{display:none}

/* Dashboard */
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.kpi-card{display:flex;min-height:105px;padding:16px;border:1px solid var(--v16-line);border-radius:11px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 6px 20px rgba(30,55,80,.05);transition:border-color .15s,transform .15s,box-shadow .15s}.kpi-card:hover{border-color:#9dbbd7;transform:translateY(-2px);box-shadow:0 12px 25px rgba(30,55,80,.09)}.kpi-card span,.kpi-card strong{display:block}.kpi-card span{color:var(--v16-muted);font-size:.77rem;font-weight:720}.kpi-card strong{margin-top:8px;color:#173a63;font-size:1.65rem;line-height:1;font-variant-numeric:tabular-nums}
.kpi-card.needs-attention{border-color:#e6c06e;background:var(--v16-warning-soft)}.kpi-card.needs-attention strong{color:#8d5400}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}
.activity-feed{display:grid;gap:4px}.activity-item{display:grid;grid-template-columns:12px 1fr;gap:10px;padding:10px 4px;color:inherit;text-decoration:none;border-bottom:1px solid #edf1f5}.activity-item:last-child{border-bottom:0}.activity-dot{width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--v16-accent)}.activity-item strong,.activity-item small{display:block}.activity-item small{margin-top:2px;color:var(--v16-muted);font-size:.72rem}.activity-item p{margin:5px 0 0;color:#475569;font-size:.82rem}
.mini-progress{display:flex;align-items:center;gap:8px;min-width:125px}.progress-bar{height:7px;overflow:hidden;border-radius:999px;background:#e5ebf1}.mini-progress .progress-bar{flex:1}.progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2d7ab8,#49a078)}

/* Project / workspace */
.project-grid{gap:14px}.project-card{border-radius:12px!important;box-shadow:0 7px 22px rgba(30,55,80,.05)!important}.project-card:hover{border-color:#9bb9d4!important;transform:translateY(-2px)}.project-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.project-card h2{margin:13px 0 5px}.project-card-values{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.project-card-values span{font-size:.72rem}.project-card-values strong{display:block;margin-top:3px;font-size:.9rem}
.tabs,.workspace-tabs{display:flex;gap:5px;overflow-x:auto;padding:5px;margin:0 0 15px;border:1px solid var(--v16-line);border-radius:11px;background:#fff;scrollbar-width:thin}.tabs a,.workspace-tabs a{flex:0 0 auto;margin:0!important;padding:8px 11px;border-radius:7px;color:#526170;text-decoration:none;font-size:.8rem;font-weight:750;white-space:nowrap}.tabs a:hover,.workspace-tabs a:hover{background:#f1f5f9}.tabs a.active,.workspace-tabs a.active{background:var(--v16-brand);color:#fff}
.workflow{gap:0!important;padding:0!important;border-radius:10px;overflow-x:auto}.workflow-step{min-width:125px!important;padding:11px 10px!important;border-right:1px solid var(--v16-line)!important}.workflow-step:last-child{border-right:0!important}

/* Calculation and complex numeric tables stay spreadsheet-like */
.calc-sheet-wrap,.calc-table-wrap{overflow-x:auto!important;border-radius:0}.calc-sheet,.complex-table{min-width:940px}.calc-sheet th,.calc-sheet td{padding:7px 8px!important}.calc-sheet thead th{top:0;background:#e8eef4!important}.calc-sheet-card{overflow:hidden!important;border-radius:12px!important}.calc-sheet-head{background:#f8fafc!important}.calc-topline{gap:14px}.calc-controls{border-radius:12px!important}.calc-grand strong{color:#173a63}.calc-sheet .pos-main td{background:#eef4f8!important}.calc-sheet .item-row:hover td{background:#f8fbfd!important}

/* Calendar */
.calendar-card{overflow:hidden}.calendar-card h2{margin:0 0 12px}.calendar-grid{gap:1px!important;padding:1px;background:var(--v16-line);border:1px solid var(--v16-line);border-radius:10px;overflow:hidden}.calendar-day{min-height:112px!important;border:0!important;background:#fff!important}.calendar-day:hover{background:#f8fbfd!important}.calendar-day.muted{background:#f4f6f8!important}

/* Global save state */
.global-save-indicator{position:fixed;right:18px;bottom:18px;z-index:1600;display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid var(--v16-line);border-radius:10px;background:#173a63;color:#fff;box-shadow:0 14px 38px rgba(20,40,60,.25);opacity:0;transform:translateY(12px);pointer-events:none;transition:.18s}.global-save-indicator.show{opacity:1;transform:none}.save-dot{width:9px;height:9px;border:2px solid #fff;border-top-color:transparent;border-radius:50%;animation:v16Spin .8s linear infinite}@keyframes v16Spin{to{transform:rotate(360deg)}}

/* Responsive */
@media(max-width:1180px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.topbar{grid-template-columns:minmax(200px,1fr) minmax(260px,430px) auto}}
@media(max-width:900px){
 .app-shell{margin-left:0}.sidebar{transform:translateX(-102%);transition:transform .2s ease}.sidebar-open .sidebar{transform:none}.sidebar-overlay{position:fixed;inset:0;z-index:190;background:rgba(15,32,50,.5);backdrop-filter:blur(2px)}.sidebar-open .sidebar-overlay{display:block}.sidebar-close,.menu-btn{display:grid}.topbar{grid-template-columns:1fr auto;padding:10px 16px}.global-search{grid-column:1/-1;grid-row:2}.topbar-user{display:none}.app-main{padding:20px 16px 38px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head{gap:15px}.project-card-values{grid-template-columns:1fr 1fr}.summary-strip{grid-template-columns:repeat(3,1fr)}.summary-strip>div:nth-child(3n){border-right:0}
}
@media(max-width:700px){
 .page-head{display:block}.page-actions{justify-content:flex-start;margin-top:13px}.page-actions .btn,.page-actions button{flex:1}.card{padding:16px}.filterbar,.search-panel{display:grid;grid-template-columns:1fr 1fr}.filterbar>div,.search-panel label,.search-panel>input{min-width:0;width:100%}.filterbar button,.search-panel button{width:100%}
 .responsive-table{display:block;background:transparent}.responsive-table thead,.responsive-table>tbody>tr:first-child:has(th),.responsive-table>tr:first-child:has(th){display:none}.responsive-table tbody{display:grid;gap:10px;padding:0}.responsive-table tr{display:grid;padding:11px 12px;border:1px solid var(--v16-line);border-radius:10px;background:#fff}.responsive-table td{display:grid;grid-template-columns:minmax(105px,38%) minmax(0,1fr);gap:10px;padding:7px 0;border-bottom:1px solid #edf1f5;background:transparent!important;text-align:left!important;white-space:normal!important}.responsive-table td:last-child{border-bottom:0}.responsive-table td::before{content:attr(data-label);color:var(--v16-muted);font-size:.69rem;font-weight:850;letter-spacing:.02em;text-transform:uppercase}.responsive-table .row-actions{justify-content:flex-start}.responsive-table td:empty::after{content:"—";color:#94a3b8}
 .table-wrap:has(.responsive-table){overflow:visible;border:0;background:transparent}.table-wrap:has(.responsive-table) table{border:0}.table-wrap:has(.calc-sheet),.table-wrap:has(.complex-table){overflow-x:auto;border:1px solid var(--v16-line)}
 .kpi-grid{grid-template-columns:1fr 1fr}.kpi-card{min-height:92px;padding:14px}.kpi-card strong{font-size:1.4rem}.summary-strip{grid-template-columns:1fr 1fr}.summary-strip>div{border-bottom:1px solid var(--v16-line)}.summary-strip>div:nth-child(2n){border-right:0}.project-card-values{grid-template-columns:1fr}.modal-backdrop,.table-edit[open]{padding:8px}.modal-box,.table-edit[open]>.compact-edit{max-height:calc(100vh - 16px)!important;padding:16px!important;border-radius:12px!important}.modal-head{top:-16px;margin:-16px -16px 14px;padding:14px 16px}
 .global-save-indicator{right:10px;bottom:10px;left:10px;justify-content:center}.row,.form-grid{grid-template-columns:1fr}.actions,.row-actions{align-items:stretch}.actions>.btn,.actions>button,.actions>form,.row-actions>.btn,.row-actions>button,.row-actions>form{flex:1}.actions form button,.row-actions form button{width:100%}
}
@media(max-width:460px){.topbar{padding:9px 10px}.app-main{padding:16px 10px 32px}.kpi-grid{grid-template-columns:1fr}.filterbar,.search-panel{grid-template-columns:1fr}.page-actions{display:grid;grid-template-columns:1fr}.summary-strip{grid-template-columns:1fr}.summary-strip>div{border-right:0}.project-card-values{grid-template-columns:1fr}.responsive-table td{grid-template-columns:1fr;gap:3px}.site-quick-grid{grid-template-columns:1fr}}

/* V16 Kalender */
.calendar-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;align-items:end}.calendar-checks{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px}.calendar-checks label{display:flex;align-items:center;gap:7px;margin:0;font-weight:700}.calendar-checks input{width:auto}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--v16-line);border:1px solid var(--v16-line);border-radius:10px;overflow:hidden}.calendar-head{padding:9px;background:#eef3f7;color:#526170;font-size:.74rem;font-weight:850;text-align:center;text-transform:uppercase}.calendar-day{display:flex;flex-direction:column;gap:5px;min-height:145px;padding:8px;background:#fff;overflow:hidden}.calendar-day-muted{background:#f4f6f8;color:#8491a0}.calendar-date{margin-bottom:2px;font-weight:900}.cal-item{display:block;padding:6px 7px;border-left:4px solid var(--v16-accent);border-radius:6px;background:#eaf3fb;color:#17324f;text-decoration:none;font-size:.78rem;line-height:1.25;overflow:hidden}.cal-item span{color:#4d6074}.cal-subline{display:block;margin-top:3px;color:#33475d;font-size:.69rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-order{border-left-color:#1f6fb2;background:#eaf3fb}.cal-personnel{border-left-color:#238457;background:#eaf7ef}.cal-equipment{border-left-color:#7451b7;background:#f1edfa}.cal-absence{border-left-color:#b86a00;background:#fff4dc}.legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.legend span{padding:5px 9px;border-radius:999px;font-size:.77rem;font-weight:750}
@media(max-width:1000px){.calendar-grid{grid-template-columns:1fr;background:transparent;border:0;gap:8px}.calendar-head{display:none}.calendar-day{min-height:auto;border:1px solid var(--v16-line);border-radius:9px}.calendar-day:not(:has(.cal-item)){display:none}.calendar-date{padding-bottom:5px;border-bottom:1px solid #edf1f5}}

/* V16 Ergänzungen für Detailseiten, Exporte und Gefahrenbereiche */
.danger-zone{border-color:#e8b4ad!important;background:#fffafa!important}.danger-zone .card-head h2{color:#9b2c25}.danger-zone p{color:#6f4743}.danger-zone button.danger{box-shadow:none}
.detail-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0;border:1px solid var(--v16-line);border-radius:10px;overflow:hidden}.detail-list>div{padding:12px 14px;border-right:1px solid var(--v16-line);border-bottom:1px solid var(--v16-line);background:#fff}.detail-list dt{margin:0 0 4px;color:var(--v16-muted);font-size:.7rem;font-weight:850;text-transform:uppercase}.detail-list dd{margin:0;font-weight:720}.customer-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.customer-info>div{padding:11px;border:1px solid var(--v16-line);border-radius:9px;background:#f8fafc}.customer-info small,.customer-info strong{display:block}.customer-info small{color:var(--v16-muted);font-size:.7rem;text-transform:uppercase}.customer-info strong{margin-top:4px}
.project-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:14px}.project-hero{border-radius:12px!important}.workflow-strip{overflow-x:auto}
.export-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.export-card{display:flex;min-height:145px;flex-direction:column;padding:18px;border:1px solid var(--v16-line);border-radius:12px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 7px 22px rgba(30,55,80,.05);transition:.16s}.export-card:hover{border-color:#8eafca;transform:translateY(-2px);box-shadow:0 12px 28px rgba(30,55,80,.1)}.export-card strong{font-size:1.05rem;color:#173a63}.export-card span{margin-top:7px;color:var(--v16-muted);font-size:.84rem}.export-card b{margin-top:auto;padding-top:18px;color:var(--v16-accent);font-size:.82rem}.revenue-assign{display:grid;grid-template-columns:minmax(170px,1fr);gap:6px;min-width:230px}.revenue-assign input,.revenue-assign select{margin:0}.revenue-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.check-label{display:flex!important;align-items:center;gap:8px}.check-label input{width:auto;margin:0}.field-error{margin-top:4px;color:var(--v16-danger);font-size:.72rem;font-weight:700}.is-invalid{border-color:var(--v16-danger)!important;box-shadow:0 0 0 3px rgba(177,50,42,.1)!important}
.actions-menu{position:relative}.actions-menu>summary{list-style:none;cursor:pointer}.actions-menu>summary::-webkit-details-marker{display:none}.actions-menu[open]>.actions-menu-panel{position:absolute;right:0;top:calc(100% + 7px);z-index:80;display:grid;min-width:245px;padding:7px;border:1px solid var(--v16-line);border-radius:10px;background:#fff;box-shadow:0 18px 45px rgba(25,45,65,.18)}.actions-menu-panel a{padding:9px 10px;border-radius:7px;color:#32465a;text-decoration:none;font-size:.82rem;font-weight:700}.actions-menu-panel a:hover{background:#eef4f8}
@media(max-width:900px){.revenue-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.project-card-grid,.export-grid{grid-template-columns:1fr}.actions-menu[open]>.actions-menu-panel{position:fixed;inset:auto 10px 10px;min-width:0}.revenue-assign{min-width:0}}

/* V16 ausklappbare Eingabebereiche und kompakte Projektinformationen */
details.create-panel{margin:0 0 14px;border:1px solid var(--v16-line);border-radius:10px;background:#f8fafc;overflow:hidden;animation:none}details.create-panel>summary{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;color:#173a63;font-weight:800;cursor:pointer;list-style:none}details.create-panel>summary::-webkit-details-marker{display:none}details.create-panel>summary::after{content:'+';font-size:1.2rem;line-height:1}details.create-panel[open]>summary{border-bottom:1px solid var(--v16-line);background:#eef4f8}details.create-panel[open]>summary::after{content:'−'}details.create-panel>form{padding:14px;background:#fff}
.project-status-line{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:-4px 0 16px;padding:10px 13px;border:1px solid var(--v16-line);border-radius:10px;background:#fff;color:#526170;font-size:.82rem}.project-status-line>a{margin-left:auto;color:var(--v16-accent);font-weight:750;text-decoration:none}.project-status-line .mini-progress{min-width:210px}.warning-card{border-color:#e8c476!important;background:#fffdf6!important}.alert-list{display:grid;gap:8px}.alert-row.alert-warning{justify-content:flex-start;padding:10px 12px;border:1px solid #ecd596;border-radius:8px;background:#fff8e7}.alert-row.alert-warning strong{color:#8a5500}.alert-row.alert-warning span{color:#684d21}
.public-body{min-height:100vh;background:linear-gradient(145deg,#edf3f8,#f8fafc 55%,#e7eff6)}.public-main{display:grid;min-height:100vh;place-items:center;padding:24px}.login-card{width:min(100%,430px);padding:28px!important;box-shadow:0 22px 60px rgba(30,55,80,.16)!important}.login-card h1{margin-bottom:5px}.login-card form{margin-top:20px}.login-card button{width:100%}
@media(max-width:700px){.project-status-line{align-items:flex-start}.project-status-line .mini-progress{width:100%;min-width:0}.project-status-line>a{margin-left:0}.public-main{padding:12px}.login-card{padding:21px!important}}

/* ========================================================================== 
   V16.7 – Projekt-Navigation, Handlungsbedarf, Formulare und Tabellen
   ========================================================================== */

/* Projektbereiche: Desktop horizontal, Mobil als kompakte Auswahl */
.workspace-nav-shell{position:sticky;top:76px;z-index:105;margin:0 0 16px;padding:6px;border:1px solid var(--v16-line);border-radius:12px;background:rgba(247,249,252,.97);box-shadow:0 8px 24px rgba(20,40,60,.07)}
.workspace-nav-shell .workspace-tabs{margin:0;border:0;border-radius:8px;background:transparent;box-shadow:none}
.workspace-nav-shell .workspace-tabs a{min-height:38px;display:inline-flex;align-items:center;padding:9px 12px}
.workspace-nav-shell .workspace-tabs a.active{box-shadow:0 4px 12px rgba(23,58,99,.2)}
.workspace-mobile-nav{display:none;margin:0;color:var(--v16-muted);font-size:.72rem;font-weight:850;letter-spacing:.025em;text-transform:uppercase}
.workspace-mobile-nav span{display:block;margin:0 0 5px}
.workspace-mobile-nav select{min-height:46px;background:#fff;color:var(--v16-text);font-size:.92rem;font-weight:750;text-transform:none;letter-spacing:0}

/* Einheitlicher Handlungsbedarf */
.dashboard-alert{align-items:center;text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.dashboard-alert:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(20,40,60,.08)}
.dashboard-alert-copy{display:grid;gap:4px;min-width:0}
.dashboard-alert-copy strong{color:var(--v16-text);font-size:.87rem}
.dashboard-alert-copy>span{color:#526170;font-size:.82rem;line-height:1.4}
.dashboard-alert-action{flex:0 0 auto;color:var(--v16-brand);font-size:.76rem;font-weight:850;white-space:nowrap}
.alert-card .alert-row form{flex:0 0 auto;margin:0}
.alert-card .alert-row>span{min-width:0;line-height:1.45}

/* Einheitliche Formulare */
.required-mark{color:var(--v16-danger);font-weight:900}
.form-standard{display:grid;gap:12px}
.form-standard>.form-grid,.form-standard>.row{margin:0}
.form-standard>label:first-of-type{margin-top:0}
.form-standard>button:last-child,.form-standard>input[type=submit]:last-child{justify-self:start;min-width:150px;margin-top:2px}
.form-standard .actions:last-child,.form-standard .row-actions:last-child{margin-top:2px}
.form-standard fieldset{min-width:0;margin:0;padding:15px;border:1px solid var(--v16-line);border-radius:10px}
.form-standard legend{padding:0 6px;color:#475569;font-size:.8rem;font-weight:850}
label>.muted,label>small{display:block;margin-top:4px;font-size:.72rem;font-weight:600;line-height:1.35}
input[type=date],input[type=time],input[type=number]{font-variant-numeric:tabular-nums}

/* Einheitliche Tabellen */
.table-wrap{isolation:isolate}
.table-wrap table{margin:0}
.table-wrap thead th{position:sticky;top:0;z-index:2;box-shadow:inset 0 -1px 0 #dce4ec}
.table-wrap-scroll{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
td.num,th.num{font-variant-numeric:tabular-nums;text-align:right}
td.row-action-cell{white-space:normal}
td.row-action-cell>details>summary,td.row-action-cell>.btn,td.row-action-cell>button{white-space:nowrap}
.table-edit>summary{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#334155;font-size:.77rem;font-weight:780;cursor:pointer}
.table-edit>summary:hover{background:#f5f8fb;border-color:#9fb0c2}
.responsive-table td:empty::after{content:"—";color:#94a3b8}

@media(max-width:900px){
 .workspace-nav-shell{top:108px}
}

@media(max-width:700px){
 .workspace-nav-shell{top:104px;margin-right:-4px;margin-left:-4px;padding:9px 10px;border-radius:10px}
 .workspace-mobile-nav{display:block}
 .workspace-nav-shell .workspace-tabs{display:none}
 .project-hero{margin-bottom:12px}
 .project-hero-actions{width:100%}
 .project-hero-actions .btn{flex:1}

 .form-standard{gap:11px}
 .form-standard>button:last-child,.form-standard>input[type=submit]:last-child{width:100%;min-height:46px}
 input,select,textarea{min-height:46px}
 textarea{min-height:104px}

 .table-wrap.responsive-wrap{overflow:visible!important;border:0!important;background:transparent!important}
 .table-wrap.responsive-wrap table{border:0!important}
 .responsive-table tbody{gap:11px}
 .responsive-table tr{padding:12px 13px;box-shadow:0 3px 12px rgba(20,40,60,.035)}
 .responsive-table td{grid-template-columns:minmax(112px,38%) minmax(0,1fr);gap:11px;padding:8px 0}
 .responsive-table td.row-action-cell{display:block;margin:4px -2px -2px;padding:11px 2px 0;border-top:1px solid #dfe7ef;border-bottom:0}
 .responsive-table td.row-action-cell::before{display:none}
 .responsive-table td.row-action-cell>.btn,.responsive-table td.row-action-cell>button,.responsive-table td.row-action-cell>form,.responsive-table td.row-action-cell>details{width:100%}
 .responsive-table td.row-action-cell button,.responsive-table td.row-action-cell .btn,.responsive-table td.row-action-cell details>summary{width:100%;min-height:42px}
 .responsive-table .status-badge{white-space:normal}

 .dashboard-alert{display:grid;gap:9px}
 .dashboard-alert-action{justify-self:start}
 .alert-card .alert-row{display:grid;gap:10px}
 .alert-card .alert-row form,.alert-card .alert-row button{width:100%}
}

@media(max-width:460px){
 .workspace-nav-shell{top:101px}
 .responsive-table td{grid-template-columns:1fr;gap:4px}
 .responsive-table td::before{margin-bottom:1px}
}

/* ========================================================================== 
   V16.8 – Kalender / Einsatzplanung
   ========================================================================== */
.calendar-toolbar{display:grid;grid-template-columns:48px minmax(180px,1fr) 48px auto;align-items:center;gap:10px;padding:12px 14px;margin-bottom:12px}
.calendar-nav-btn{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--border);border-radius:10px;background:#fff;color:#173a63;text-decoration:none;font-size:2rem;line-height:1;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.calendar-nav-btn:hover{background:#f3f7fb;border-color:#b9c8d7}
.calendar-toolbar-title{text-align:center;min-width:0}
.calendar-toolbar-title span{display:block;color:#6b7a8a;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.calendar-toolbar-title strong{display:block;color:#17324f;font-size:1.35rem;line-height:1.25}
.calendar-today-btn{white-space:nowrap}
.calendar-summary{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.calendar-summary span{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border:1px solid #dce5ed;border-radius:999px;background:#fff;color:#526170;font-size:.78rem;font-weight:700}
.calendar-summary strong{color:#173a63;font-size:.9rem}
.calendar-filter-panel{padding:0;margin-bottom:12px;overflow:hidden}
.calendar-filter-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;cursor:pointer;list-style:none}
.calendar-filter-panel>summary::-webkit-details-marker{display:none}
.calendar-filter-panel>summary:after{content:"⌄";display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:8px;background:#eef3f7;color:#42556a;font-weight:900;transition:transform .18s ease}
.calendar-filter-panel[open]>summary:after{transform:rotate(180deg)}
.calendar-filter-panel>summary>span:first-child{display:flex;flex-direction:column;min-width:0}
.calendar-filter-panel>summary small{margin-top:2px;color:#7a8795;font-weight:500}
.calendar-filter-state{margin-left:auto;color:#526170;font-size:.78rem;font-weight:750;white-space:nowrap}
.calendar-filter-form{padding:14px 16px 16px;border-top:1px solid #e5ebf1;background:#fbfcfd}
.calendar-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;align-items:end}
.calendar-filter-grid label{margin:0}
.calendar-checks{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:14px 0 0}
.calendar-checks label{display:inline-flex;align-items:center;gap:7px;margin:0;font-weight:750}
.calendar-checks input{width:auto;margin:0}
.calendar-filter-actions{display:flex;gap:8px;align-items:center;margin-top:14px}
.calendar-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 10px;padding:0 2px;color:#526170;font-size:.77rem;font-weight:750}
.calendar-legend span{display:inline-flex;align-items:center;gap:6px}
.calendar-legend i{display:inline-block;width:9px;height:9px;border-radius:50%}
.legend-order i{background:#1f6fb2}.legend-personnel i{background:#238457}.legend-equipment i{background:#7451b7}.legend-absence i{background:#b86a00}
.calendar-card{padding:0;overflow:visible}
.calendar-grid-v168{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;padding:1px;border:1px solid #dce4eb;border-radius:12px;background:#dce4eb;overflow:visible}
.calendar-grid-v168 .calendar-head{position:sticky;top:64px;z-index:4;padding:9px 6px;background:#eef3f7;color:#526170;font-size:.72rem;font-weight:850;text-align:center;text-transform:uppercase;letter-spacing:.04em}
.calendar-grid-v168 .calendar-day{display:flex;flex-direction:column;gap:6px;min-height:152px;padding:7px;background:#fff;overflow:visible}
.calendar-grid-v168 .calendar-day-weekend{background:#fbfcfd}
.calendar-grid-v168 .calendar-day-muted{background:#f3f5f7;color:#8793a0}
.calendar-grid-v168 .calendar-day-today{position:relative;box-shadow:inset 0 0 0 2px #1f6fb2}
.calendar-grid-v168 .calendar-day-today:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:1px}
.calendar-grid-v168 .calendar-date{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0;padding:0 1px 4px;border-bottom:1px solid #edf1f5;color:#2d4055;font-weight:900}
.calendar-grid-v168 .calendar-date span{display:grid;place-items:center;min-width:24px;height:24px;border-radius:8px}
.calendar-grid-v168 .calendar-day-today .calendar-date span{background:#1f6fb2;color:#fff}
.calendar-grid-v168 .calendar-date small{color:#1f6fb2;font-size:.65rem;font-weight:850;text-transform:uppercase}
.calendar-events{display:flex;flex-direction:column;gap:5px;min-width:0}
.cal-event{display:block;position:relative;padding:6px 7px;border-left:4px solid #1f6fb2;border-radius:6px;background:#eaf3fb;color:#17324f;text-decoration:none;font-size:.75rem;line-height:1.2;overflow:hidden}
.cal-event:hover{filter:brightness(.98);box-shadow:0 1px 3px rgba(15,23,42,.08)}
.cal-event-main{display:flex;align-items:flex-start;justify-content:space-between;gap:5px;min-width:0}
.cal-event-main strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-event-meta{display:block;margin-top:2px;color:#4d6074;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-range-label{flex:0 0 auto;color:#486078;font-size:.58rem;font-weight:850;text-transform:uppercase;letter-spacing:.03em}
.cal-resource-counts{display:flex;gap:8px;margin-top:4px;color:#33475d;font-size:.65rem;font-weight:750}
.cal-event-personnel{border-left-color:#238457;background:#eaf7ef;color:#1d5139}
.cal-event-equipment{border-left-color:#7451b7;background:#f1edfa;color:#443067}
.cal-event-absence{border-left-color:#b86a00;background:#fff4dc;color:#6c4200}
.cal-range-middle{border-radius:2px}.cal-range-start{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.cal-range-end{border-top-left-radius:2px;border-top-right-radius:2px}
.cal-more{position:relative}
.cal-more>summary{cursor:pointer;list-style:none;padding:4px 6px;border-radius:6px;background:#eef2f6;color:#42556a;font-size:.68rem;font-weight:850;text-align:center}
.cal-more>summary::-webkit-details-marker{display:none}
.cal-more-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:12;display:flex;flex-direction:column;gap:5px;min-width:210px;padding:7px;border:1px solid #d6e0e9;border-radius:9px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.18)}
.calendar-agenda{display:none}

@media(max-width:1180px){
  .calendar-filter-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}
  .calendar-grid-v168 .calendar-day{min-height:138px;padding:6px}
  .cal-event{font-size:.7rem;padding:5px 6px}
}

@media(max-width:1000px){
  .calendar-desktop{display:none!important}
  .calendar-agenda{display:block}
  .calendar-toolbar{grid-template-columns:44px minmax(0,1fr) 44px;position:sticky;top:58px;z-index:8;padding:9px 10px}
  .calendar-toolbar-title strong{font-size:1.1rem}
  .calendar-today-btn{grid-column:1/-1;width:100%}
  .calendar-summary{gap:6px}
  .calendar-summary span{font-size:.72rem;padding:5px 8px}
  .calendar-filter-panel>summary{padding:12px 13px}
  .calendar-filter-state{display:none}
  .calendar-filter-grid{grid-template-columns:1fr}
  .calendar-checks{display:grid;grid-template-columns:1fr;gap:10px}
  .calendar-filter-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .calendar-filter-actions>*{width:100%;text-align:center}
  .calendar-legend{gap:10px}
  .agenda-day{margin-bottom:14px}
  .agenda-date{display:flex;align-items:center;gap:8px;padding:8px 2px;border-bottom:1px solid #dfe7ee;color:#526170}
  .agenda-date span{font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
  .agenda-date strong{color:#17324f;font-size:.88rem}
  .agenda-date em{margin-left:auto;padding:3px 7px;border-radius:999px;background:#eaf3fb;color:#1f6fb2;font-size:.66rem;font-style:normal;font-weight:850;text-transform:uppercase}
  .agenda-item{display:block;position:relative;margin-top:8px;padding:11px 12px 11px 15px;border:1px solid #dce5ed;border-left:5px solid #1f6fb2;border-radius:10px;background:#fff;color:#17324f;text-decoration:none;box-shadow:0 1px 2px rgba(15,23,42,.04)}
  .agenda-item:active{transform:translateY(1px)}
  .agenda-item-personnel{border-left-color:#238457}.agenda-item-equipment{border-left-color:#7451b7}.agenda-item-absence{border-left-color:#b86a00}
  .agenda-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
  .agenda-item-head strong{min-width:0;font-size:.95rem}
  .agenda-item-head span{flex:0 0 auto;color:#526170;font-size:.73rem;font-weight:750;white-space:nowrap}
  .agenda-item-meta{margin-top:4px;color:#526170;font-size:.82rem}
  .agenda-running{margin-top:5px;color:#7a5b1b;font-size:.73rem;font-weight:700}
  .agenda-resource{margin-top:6px;color:#33475d;font-size:.77rem;line-height:1.35}
}

@media(max-width:560px){
  .calendar-toolbar{top:52px}
  .calendar-nav-btn{width:42px;height:42px}
  .calendar-toolbar-title span{font-size:.64rem}
  .calendar-toolbar-title strong{font-size:1rem}
  .calendar-summary span{flex:1 1 calc(50% - 4px);justify-content:center}
  .calendar-filter-panel>summary small{display:none}
  .calendar-legend{font-size:.7rem}
  .agenda-item-head{display:block}
  .agenda-item-head span{display:block;margin-top:3px;white-space:normal}
}

/* ========================================================================== 
   V16.10 – Aktionsbereiche, Filter, Stammdaten, Tabellen und Statusfarben
   ========================================================================== */

/* Einheitliche Seiten- und Formularaktionen */
.page-head{margin-bottom:18px}
.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0;flex-wrap:wrap}
.page-actions .btn,.page-actions button{min-height:40px}
.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--v16-line)}
.form-actions form{margin:0}
.compact-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.compact-actions form{margin:0}
.modal-head>div{min-width:0}.modal-head p{margin:3px 0 0;font-size:.8rem}

/* Einheitliche, einklappbare Filter */
.filter-panel{margin:0 0 16px;border:1px solid var(--v16-line);border-radius:var(--v16-radius);background:#fff;box-shadow:0 5px 18px rgba(30,55,80,.04);overflow:hidden}
.filter-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;cursor:pointer;list-style:none;color:var(--v16-text)}
.filter-panel>summary::-webkit-details-marker{display:none}
.filter-panel>summary>span:first-child{display:grid;gap:2px;min-width:0}
.filter-panel>summary strong{font-size:.9rem;color:#173a63}
.filter-panel>summary small{color:var(--v16-muted);font-size:.75rem;font-weight:600;line-height:1.35}
.filter-panel>summary:after{content:'⌄';display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:8px;background:#eef3f7;color:#42556a;font-weight:900;transition:transform .18s ease}
.filter-panel[open]>summary:after{transform:rotate(180deg)}
.filter-summary{margin-left:auto;padding:5px 9px;border-radius:999px;background:#f1f5f8;color:#526170;font-size:.72rem;font-weight:800;white-space:nowrap}
.filter-panel[data-active="1"] .filter-summary{background:var(--v16-info-soft);color:var(--v16-info)}
.filterbar.filterbar-inner{margin:0;padding:14px 15px 15px;border:0;border-top:1px solid var(--v16-line);border-radius:0;background:#fbfcfd;box-shadow:none}
.filterbar.filterbar-inner>div{min-width:170px;flex:1}
.filterbar.filterbar-inner .filter-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;flex:0 0 auto;min-width:auto}
.filter-actions>*{white-space:nowrap}

/* Einheitliche Stammdaten-Zusammenfassungen */
.entity-summary{padding:0;overflow:hidden}
.entity-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:0}
.entity-summary-grid>div{min-width:0;padding:15px 17px;border-right:1px solid var(--v16-line);border-bottom:1px solid var(--v16-line)}
.entity-summary-grid>div:last-child{border-right:0}
.entity-summary-grid span,.entity-summary-note>span{display:block;margin-bottom:5px;color:var(--v16-muted);font-size:.7rem;font-weight:850;letter-spacing:.035em;text-transform:uppercase}
.entity-summary-grid strong{display:block;color:#17324f;font-size:.91rem;line-height:1.35;overflow-wrap:anywhere}
.entity-summary-grid a{color:var(--v16-accent);text-decoration:none}
.entity-summary-note{padding:14px 17px;background:#fbfcfd}
.entity-summary-note p{margin:0;color:#405267;font-size:.86rem;line-height:1.5}
.entity-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
.kpi-status{font-size:.95rem!important;line-height:1.35!important}

/* Tabellen: ruhigere Hierarchie und konsistente Zahlen */
.list-card{padding:0;overflow:hidden}
.list-card>.card-head{margin:0;padding:17px 19px 14px}
.list-card>.table-wrap{border-width:1px 0 0;border-radius:0}
.list-card>.table-note{margin:0;padding:10px 18px 12px;border-top:1px solid #edf1f5;background:#fbfcfd}
.entity-table th{padding-top:9px;padding-bottom:9px}
.entity-table td{padding-top:11px;padding-bottom:11px}
.entity-table td:first-child,.entity-table th:first-child{padding-left:15px}
.entity-table td:last-child,.entity-table th:last-child{padding-right:15px}
.entity-table tbody strong{color:#203850}
.entity-table tbody tr:nth-child(even) td{background:#fcfdfe}
.entity-table tbody tr:hover td{background:#f3f8fc}
.entity-table .muted.mini{display:inline-block;margin-top:3px;font-size:.75rem}
.entity-table small{color:var(--v16-muted);font-size:.72rem}
.entity-table .row-actions{min-width:110px}

/* Einheitliche Statusfarben */
.status-info{border-color:#b8d4ef!important;background:var(--v16-info-soft)!important;color:var(--v16-info)!important}
.status-neutral{border-color:#d5dee8!important;background:#f2f5f8!important;color:#526170!important}
.status-warning{border-color:#ead08b!important;background:var(--v16-warning-soft)!important;color:var(--v16-warning)!important}
.status-ok{border-color:#b7dfc8!important;background:var(--v16-success-soft)!important;color:var(--v16-success)!important}
.status-danger{border-color:#e6ada7!important;background:var(--v16-danger-soft)!important;color:var(--v16-danger)!important}

@media(max-width:900px){
 .entity-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:700px){
 .page-head{display:grid;gap:12px}
 .page-actions{display:grid;grid-template-columns:1fr;width:100%}
 .page-actions .btn,.page-actions button{width:100%;justify-content:center;text-align:center}
 .form-actions{display:grid;grid-template-columns:1fr;width:100%}
 .form-actions>*{width:100%}
 .filter-panel>summary{padding:12px 13px}
 .filter-panel>summary small{display:none}
 .filter-summary{margin-left:0}
 .filterbar.filterbar-inner{display:grid;grid-template-columns:1fr;padding:12px}
 .filterbar.filterbar-inner>div{min-width:0;width:100%}
 .filterbar.filterbar-inner .filter-actions{display:grid;grid-template-columns:1fr;width:100%}
 .filter-actions>*{width:100%;text-align:center}
 .entity-summary-grid{grid-template-columns:1fr 1fr}
 .entity-summary-grid>div{padding:13px 14px}
 .entity-summary-note{padding:13px 14px}
 .entity-kpis{grid-template-columns:1fr}
 .list-card>.card-head{padding:15px 14px 12px}
 .list-card>.table-note{display:none}
 .responsive-table.entity-table tr{padding:12px 14px}
 .responsive-table.entity-table td:first-child{padding-left:0}
 .responsive-table.entity-table td:last-child{padding-right:0}
 .compact-actions{display:grid;grid-template-columns:1fr;width:100%}
 .compact-actions form,.compact-actions button{width:100%}
}

@media(max-width:460px){
 .entity-summary-grid{grid-template-columns:1fr}
 .entity-summary-grid>div{border-right:0}
 .filter-panel>summary{align-items:flex-start;flex-wrap:wrap;gap:8px}
 .filter-panel>summary:after{margin-left:auto}
 .filter-summary{order:3;width:max-content}
}

/* V16.12 – Aufteilung von Zeit- und Materialkosten */
.allocation-card{border-color:#b9cfe2;box-shadow:0 10px 30px rgba(23,58,99,.09)}
.allocation-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:14px 0 12px}
.allocation-summary>div{padding:12px 14px;border:1px solid var(--v16-line);border-radius:11px;background:#f8fafc}
.allocation-summary span{display:block;margin-bottom:4px;color:var(--v16-muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em}
.allocation-summary strong{display:block;color:#17324f;font-size:1rem}
.allocation-rows{display:grid;gap:10px;margin:14px 0}
.allocation-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(240px,1.7fr) minmax(120px,.6fr) minmax(120px,.6fr) minmax(170px,1fr) 36px;gap:10px;align-items:end;padding:12px;border:1px solid var(--v16-line);border-radius:12px;background:#fbfcfd}
.allocation-row>label{margin:0}
.allocation-remove{margin-bottom:2px;color:var(--v16-danger);background:#fff1f0;border-color:#e6ada7}
.assignment-overview .compact-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.warning-card{border-color:#ead08b!important;background:var(--v16-warning-soft)!important}
.assignment-detail-grid{display:grid;gap:12px;margin-top:14px}
.assignment-detail-grid>details{border:1px solid var(--v16-line);border-radius:12px;background:#fff;overflow:hidden}
.assignment-detail-grid>details>summary{padding:13px 15px;font-weight:850;color:#203850;cursor:pointer;background:#f8fafc}
.assignment-detail-grid>details[open]>summary{border-bottom:1px solid var(--v16-line)}
.assignment-detail-body{padding:14px}
.assignment-detail-body h3,.position-cost-details h3{margin:16px 0 8px;font-size:.93rem;color:#17324f}
.assignment-detail-body h3:first-child,.position-cost-details h3:first-child{margin-top:0}
.position-cost-details{padding:13px 0 4px}
.cost-source-table th,.cost-source-table td{white-space:nowrap}
.cost-source-table td:nth-child(3),.cost-source-table td:nth-child(10){white-space:normal;min-width:180px}
.control-position-detail>td>details>summary{font-weight:800;color:#24537c}

@media(max-width:1100px){
 .allocation-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 .allocation-row .allocation-remove{justify-self:end}
 .assignment-overview .compact-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .allocation-summary{grid-template-columns:1fr}
 .allocation-row{grid-template-columns:1fr;padding:11px}
 .allocation-row .allocation-remove{justify-self:stretch;width:100%;height:38px}
 .assignment-overview .compact-kpis{grid-template-columns:1fr}
 .assignment-detail-body{padding:10px}
}

/* ========================================================================== 
   V16.13 – Sichere, vollständig sichtbare Eingabe- und Bearbeitungsfenster
   ========================================================================== */

/*
 * Tabellen-Bearbeitungen bestehen teilweise aus einem Speicherformular und
 * einem zweiten Löschformular. Der frühere Vollbild-Grid behandelte beide als
 * getrennte Dialoge und konnte dadurch Eingabefelder aus dem Bild schieben.
 * Das Overlay scrollt nun als Ganzes; Kopf, Eingabe und Aktionen bilden optisch
 * genau ein zusammenhängendes Fenster.
 */
.table-edit[open]{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:clamp(12px,4vh,42px) 16px 16px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  border:0!important;
  border-radius:0!important;
  background:rgba(15,32,50,.64)!important;
  backdrop-filter:blur(2px);
  box-shadow:none!important;
  color:var(--v16-text,#182b3f)!important;
  text-align:left!important;
  white-space:normal!important;
  box-sizing:border-box!important;
}
.table-edit[open]>summary{
  position:sticky!important;
  top:0!important;
  z-index:4!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  flex:0 0 auto!important;
  width:min(760px,100%)!important;
  min-height:54px!important;
  margin:0!important;
  padding:14px 18px!important;
  border:0!important;
  border-bottom:1px solid var(--v16-line,#dce4ec)!important;
  border-radius:15px 15px 0 0!important;
  background:#fff!important;
  color:#17324f!important;
  font-size:.95rem!important;
  font-weight:850!important;
  line-height:1.2!important;
  cursor:pointer!important;
  box-shadow:0 -8px 30px rgba(10,30,50,.12)!important;
  box-sizing:border-box!important;
}
.table-edit[open]>summary::before{content:none!important}
.table-edit[open]>summary::after{
  content:"×";
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  margin-left:auto;
  border-radius:9px;
  background:#eef3f7;
  color:#33475d;
  font-size:1.2rem;
  line-height:1;
}
.table-edit[open]>.compact-edit,
.table-edit[open]>form{
  position:static!important;
  inset:auto!important;
  flex:0 0 auto!important;
  width:min(760px,100%)!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  overflow:visible!important;
  border:0!important;
  background:#fff!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
.table-edit[open]>.compact-edit{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:13px!important;
  padding:16px 20px 20px!important;
  border-radius:0 0 15px 15px!important;
}
.table-edit[open]>.compact-edit:not(:last-child){
  padding-bottom:15px!important;
  border-radius:0!important;
}
.table-edit[open]>.compact-edit>label,
.table-edit[open]>.compact-edit>div{
  min-width:0!important;
  margin:0!important;
}
.table-edit[open]>.compact-edit input,
.table-edit[open]>.compact-edit select,
.table-edit[open]>.compact-edit textarea{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.table-edit[open]>.compact-edit>button,
.table-edit[open]>.compact-edit>.form-actions,
.table-edit[open]>.compact-edit>label:has(textarea),
.table-edit[open]>.compact-edit>.span-2{
  grid-column:1/-1!important;
}
.table-edit[open]>form:not(.compact-edit){
  display:flex!important;
  justify-content:flex-end!important;
  padding:14px 20px 20px!important;
  border-top:1px solid var(--v16-line,#dce4ec)!important;
  border-radius:0 0 15px 15px!important;
  box-shadow:0 22px 70px rgba(10,30,50,.3)!important;
}
.table-edit[open]>.compact-edit:last-child{
  box-shadow:0 22px 70px rgba(10,30,50,.3)!important;
}
.table-edit[open]>form:not(.compact-edit) button{
  width:auto!important;
  min-width:120px;
}

/* Klassische Modalfenster und native Dialoge bleiben auch bei geringer
   Bildschirmhöhe vollständig erreichbar und scrollen innerhalb des Fensters. */
.modal-backdrop.show{
  overflow:auto!important;
  overscroll-behavior:contain;
  padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;
}
.modal-box{
  max-height:calc(100vh - 24px)!important;
  max-height:calc(100dvh - 24px)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.site-simple-dialog{
  max-height:calc(100vh - 16px)!important;
  max-height:calc(100dvh - 16px)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

@media(max-width:700px){
  .table-edit[open]{
    padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))!important;
  }
  .table-edit[open]>summary,
  .table-edit[open]>.compact-edit,
  .table-edit[open]>form{
    width:100%!important;
  }
  .table-edit[open]>summary{
    min-height:50px!important;
    padding:11px 13px!important;
    border-radius:13px 13px 0 0!important;
  }
  .table-edit[open]>.compact-edit{
    grid-template-columns:1fr!important;
    gap:11px!important;
    padding:13px 14px 16px!important;
    border-radius:0 0 13px 13px!important;
  }
  .table-edit[open]>.compact-edit:not(:last-child){border-radius:0!important}
  .table-edit[open]>.compact-edit>*{grid-column:1!important}
  .table-edit[open]>form:not(.compact-edit){
    display:grid!important;
    grid-template-columns:1fr!important;
    padding:12px 14px 15px!important;
    border-radius:0 0 13px 13px!important;
  }
  .table-edit[open]>form:not(.compact-edit) button{width:100%!important}
  .modal-box{max-height:calc(100dvh - 16px)!important}
}

/* =========================================================
   V16.15 – Maschinentage, Tagessätze und Kalenderbuchung
   ========================================================= */
.machine-day-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.machine-day-toolbar>label{min-width:min(420px,55%)}
.machine-month-nav{display:flex;align-items:end;gap:8px}.machine-month-nav label{min-width:160px}.machine-month-nav .btn{min-width:42px;padding-inline:12px}
.machine-day-ratebar{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}.machine-day-ratebar span{display:flex;gap:8px;align-items:center;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:.88rem}.machine-day-ratebar strong{color:var(--text)}
.machine-calendar{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}
.machine-calendar-weekdays,.machine-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.machine-calendar-weekdays{background:var(--surface-2);border-bottom:1px solid var(--line)}.machine-calendar-weekdays span{padding:10px;text-align:center;font-size:.78rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.machine-day-cell{position:relative;min-height:112px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;transition:.15s ease;background:var(--surface);overflow:hidden}.machine-day-cell:nth-child(7n){border-right:0}.machine-day-cell.is-empty{cursor:default;background:var(--surface-2)}.machine-day-cell.is-weekend{background:color-mix(in srgb,var(--surface-2) 65%,var(--surface))}.machine-day-cell:hover:not(.is-empty):not(.is-blocked):not(.is-current){box-shadow:inset 0 0 0 2px var(--primary)}
.machine-day-number{display:block;font-weight:850;font-size:.95rem;margin-bottom:8px}.machine-day-check{position:absolute;top:10px;right:10px;width:20px;height:20px}.machine-day-factor{width:100%;min-width:0;margin-top:20px;padding:7px 8px;font-size:.82rem}.machine-day-cell small{display:block;margin-top:6px;font-size:.72rem;line-height:1.25;color:var(--muted)}
.machine-day-cell.is-selected{background:color-mix(in srgb,#22c55e 15%,var(--surface));box-shadow:inset 0 0 0 2px #22c55e}.machine-day-cell.is-current{background:color-mix(in srgb,var(--primary) 14%,var(--surface));cursor:default;box-shadow:inset 0 0 0 1px var(--primary)}.machine-day-cell.is-partial{background:color-mix(in srgb,#f59e0b 13%,var(--surface))}.machine-day-cell.is-blocked{background:color-mix(in srgb,#ef4444 12%,var(--surface));cursor:not-allowed}.machine-day-state{display:block;margin-top:18px;font-size:.78rem;line-height:1.4;font-weight:750}
.machine-day-selection-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.machine-day-selection-summary>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.machine-day-selection-summary span{font-size:.82rem;color:var(--muted)}.machine-day-selection-summary strong{font-size:1.05rem}
.machine-day-card .form-grid{margin-top:14px}
@media(max-width:900px){.machine-day-toolbar{align-items:stretch;flex-direction:column}.machine-day-toolbar>label{min-width:0;width:100%}.machine-month-nav{justify-content:space-between}.machine-month-nav label{flex:1}.machine-day-cell{min-height:96px;padding:7px}.machine-day-number{font-size:.84rem}.machine-day-check{top:7px;right:7px;width:18px;height:18px}.machine-day-factor{font-size:.72rem;padding:6px 4px;margin-top:18px}.machine-day-state{font-size:.7rem;margin-top:15px}.machine-calendar{overflow-x:auto}.machine-calendar-weekdays,.machine-calendar-grid{min-width:720px}}
@media(max-width:600px){.machine-day-ratebar{display:grid;grid-template-columns:1fr}.machine-day-ratebar span{border-radius:12px;justify-content:space-between}.machine-day-selection-summary{grid-template-columns:1fr}.machine-month-nav .btn{min-height:44px}}

/* =========================================================
   V16.16 – Mehrfacherfassung Mitarbeiter und Maschinen
   ========================================================= */
#timeDialog.site-simple-dialog{width:min(820px,calc(100vw - 28px))}
.site-batch-section{margin-top:18px;padding:15px;border:1px solid var(--line,#dbe3ee);border-radius:14px;background:var(--surface-2,#f8fafc)}
.site-batch-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.site-batch-head>div{min-width:0}.site-batch-head strong{display:block;color:var(--text,#182b3f);font-size:1rem}.site-batch-head small{display:block;margin-top:3px;color:var(--muted,#64748b);font-size:.8rem;line-height:1.35}
.site-add-row{flex:0 0 auto;min-height:40px;padding:8px 12px!important}
.site-batch-rows{display:grid;gap:9px}
.site-batch-row{display:grid;grid-template-columns:minmax(230px,1fr) minmax(100px,130px) minmax(90px,120px) 40px;gap:9px;align-items:end;padding:10px;border:1px solid var(--line,#dbe3ee);border-radius:12px;background:var(--surface,#fff)}
.site-batch-equipment-row{grid-template-columns:minmax(230px,1fr) minmax(100px,140px) 40px}
.site-batch-row label{margin:0!important;min-width:0}.site-batch-row label>span{display:block;margin:0 0 5px;color:var(--muted,#64748b);font-size:.76rem;font-weight:750}
.site-batch-row input,.site-batch-row select{width:100%;min-width:0;margin:0!important}
.site-row-remove{display:grid;place-items:center;width:40px;height:46px;min-height:46px;padding:0!important;border:1px solid #fecaca!important;border-radius:10px!important;background:#fff1f2!important;color:#b91c1c!important;font-size:1.25rem!important;line-height:1!important}
.site-row-remove:hover{background:#ffe4e6!important}
.site-single-time-form[hidden],#batchTimeForm[hidden]{display:none!important}
@media(max-width:700px){
 #timeDialog.site-simple-dialog{width:calc(100vw - 16px)}
 .site-batch-section{padding:12px;margin-top:14px}
 .site-batch-head{align-items:stretch;flex-direction:column}.site-add-row{width:100%}
 .site-batch-row,.site-batch-equipment-row{grid-template-columns:minmax(0,1fr) minmax(88px,105px) 40px;align-items:end}
 .site-batch-personnel-row .site-batch-resource{grid-column:1/-1}
 .site-batch-personnel-row label:nth-of-type(2){grid-column:1}
 .site-batch-personnel-row label:nth-of-type(3){grid-column:2}
 .site-batch-personnel-row .site-row-remove{grid-column:3;grid-row:2}
 .site-batch-equipment-row .site-batch-resource{grid-column:1}
}
@media(max-width:430px){
 .site-batch-row,.site-batch-equipment-row{grid-template-columns:minmax(0,1fr) 40px}
 .site-batch-row .site-batch-resource,.site-batch-equipment-row .site-batch-resource{grid-column:1/-1}
 .site-batch-personnel-row label:nth-of-type(2),.site-batch-personnel-row label:nth-of-type(3),.site-batch-equipment-row label:nth-of-type(2){grid-column:1}
 .site-batch-personnel-row .site-row-remove{grid-column:2;grid-row:3}
 .site-batch-equipment-row .site-row-remove{grid-column:2;grid-row:2}
}


/* =========================================================
   V17.5 – Aufmaße und DXF-Dokumente
   ========================================================= */
.file-type-badge{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:.3rem .55rem;border-radius:999px;font-size:.76rem;font-weight:900;letter-spacing:.04em;background:var(--surface-soft,#eef3f8);border:1px solid var(--border,#d7e0e8)}
.file-type-badge.dxf{background:#e9f4ff;color:#175a91;border-color:#b8d8f2}.file-type-badge.pdf{background:#fff0f0;color:#a52c2c;border-color:#efc4c4}
.measurement-table td:first-child{min-width:220px}.measurement-table td:last-child{min-width:260px}
@media(max-width:760px){.measurement-table td:last-child{min-width:0}.measurement-table .row-actions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.measurement-table .row-actions>*{width:100%;box-sizing:border-box}.measurement-table details.table-edit{grid-column:1/-1}}

/* =========================================================
   V17.6 – Systemdiagnose, Rollenrechte, Controlling und Mobil
   ========================================================= */
.system-metric-grid{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}
.metric-card.metric-ok{border-color:#9bd6b1;background:linear-gradient(180deg,#f2fff7,#fff)}
.metric-card.metric-warning{border-color:#f4cf7f;background:linear-gradient(180deg,#fffaf0,#fff)}
.metric-card.metric-danger{border-color:#efaaaa;background:linear-gradient(180deg,#fff4f4,#fff)}
.system-facts{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 1rem}.system-facts span{padding:.48rem .7rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:.82rem}
.system-error-filter{display:grid;grid-template-columns:minmax(160px,220px) minmax(160px,220px) auto auto;gap:.75rem;align-items:end;margin-bottom:1rem}
.error-log-list{display:grid;gap:.7rem}.error-log-entry{border:1px solid var(--line);border-left-width:5px;border-radius:13px;background:var(--surface);overflow:hidden}.error-log-entry.critical{border-left-color:#dc2626}.error-log-entry.error{border-left-color:#ef4444}.error-log-entry.warning{border-left-color:#d97706}.error-log-entry.info{border-left-color:#2563eb}
.error-log-entry>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;cursor:pointer;list-style:none}.error-log-entry>summary::-webkit-details-marker{display:none}.error-log-main{display:flex;align-items:center;gap:.6rem;min-width:0}.error-log-main>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.error-log-entry>summary small{flex:0 0 auto;color:var(--muted)}
.error-log-detail{padding:0 1rem 1rem;border-top:1px solid var(--line);background:var(--surface-2)}.error-log-detail dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1rem 0}.error-log-detail dl>div{padding:.65rem;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.error-log-detail dt{font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--muted)}.error-log-detail dd{margin:.25rem 0 0;word-break:break-word}.error-log-detail pre{max-height:260px;overflow:auto;padding:.8rem;border-radius:10px;background:#101827;color:#e8eef7;font-size:.78rem;white-space:pre-wrap;word-break:break-word}
.pagination{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:1rem}.pagination a{display:grid;place-items:center;min-width:38px;height:38px;border:1px solid var(--line);border-radius:9px;text-decoration:none;background:var(--surface)}.pagination a.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.role-permission-tabs{display:grid;gap:.75rem}.permission-role-card{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}.permission-role-card>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;cursor:pointer;background:var(--surface-2);list-style:none}.permission-role-card>summary::-webkit-details-marker{display:none}.permission-role-card>summary>span:first-child{display:grid;gap:.15rem}.permission-role-card>summary small{color:var(--muted)}.permission-role-form{padding:1rem}.permission-group{margin:0 0 1rem;padding:.85rem;border:1px solid var(--line);border-radius:12px}.permission-group legend{padding:0 .4rem;font-weight:850;color:var(--text)}.permission-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.permission-check{display:flex;align-items:flex-start;gap:.65rem;padding:.7rem;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);cursor:pointer}.permission-check input{flex:0 0 auto;width:20px;height:20px;margin:.1rem 0 0}.permission-check span{display:grid;gap:.15rem}.permission-check strong{font-size:.86rem;line-height:1.3}.permission-check small{font-size:.7rem;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.permission-actions{justify-content:flex-start}.permission-reset-form{padding:0 1rem 1rem}
.cost-source-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin-top:1rem}.cost-source-strip>div{display:grid;gap:.2rem;padding:.75rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.cost-source-strip span,.cost-source-strip small{color:var(--muted);font-size:.76rem}.cost-source-strip strong{font-size:1rem}.cost-cell-button{display:inline-grid;gap:.1rem;justify-items:end;padding:.25rem .4rem;border:0;background:transparent;color:inherit;cursor:pointer;border-radius:7px}.cost-cell-button:hover,.cost-cell-button:focus-visible{background:var(--surface-2);outline:2px solid color-mix(in srgb,var(--primary) 30%,transparent)}.cost-cell-button small{font-size:.65rem;color:var(--primary);font-weight:800}

@media(max-width:1000px){
 .cost-source-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
 .permission-check-grid{grid-template-columns:1fr}
 .error-log-detail dl{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .page-head{align-items:stretch}.page-actions{display:grid;grid-template-columns:1fr}.page-actions .btn,.page-actions button{width:100%;box-sizing:border-box}
 .system-error-filter{grid-template-columns:1fr 1fr}.system-error-filter button,.system-error-filter .btn{width:100%;box-sizing:border-box}
 .error-log-entry>summary{align-items:flex-start;flex-direction:column}.error-log-main{display:grid;grid-template-columns:auto auto;align-items:center;width:100%}.error-log-main>span:last-child{grid-column:1/-1;white-space:normal}.error-log-detail dl{grid-template-columns:1fr}.error-log-detail{padding-inline:.7rem}
 .permission-role-card>summary{align-items:flex-start}.permission-role-form{padding:.7rem}.permission-group{padding:.65rem}.permission-check{padding:.65rem}.permission-reset-form{padding:0 .7rem .7rem}.permission-actions{display:grid;grid-template-columns:1fr}.permission-actions button,.permission-reset-form button{width:100%}
 .cost-source-strip{grid-template-columns:1fr 1fr}.control-view-tools{display:grid!important;grid-template-columns:1fr}.control-view-tools>*{width:100%!important;box-sizing:border-box}.assignment-detail-grid{grid-template-columns:1fr!important}
 .system-facts{display:grid;grid-template-columns:1fr 1fr}.system-facts span{border-radius:10px}
 .card{scroll-margin-top:70px}
}
@media(max-width:430px){
 .system-error-filter,.cost-source-strip,.system-facts{grid-template-columns:1fr}
 .permission-role-card>summary{flex-direction:column}.permission-role-card>summary .status-badge{align-self:flex-start}
 .metric-grid.system-metric-grid{grid-template-columns:1fr 1fr}
}

/* V17.8 – Änderungsprotokoll, Papierkorb und Versionen */
.audit-list{display:grid;gap:.65rem}.audit-entry{border:1px solid var(--border);border-radius:14px;background:var(--surface-2);overflow:hidden}.audit-entry>summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.8rem 1rem;cursor:pointer}.audit-entry>summary>span{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.audit-entry>summary small{color:var(--muted)}.audit-detail{padding:0 1rem 1rem}.audit-detail dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.audit-detail dl div{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.55rem}.audit-detail dt{font-size:.75rem;color:var(--muted);font-weight:800}.audit-detail dd{margin:.2rem 0 0}.audit-compare{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.audit-compare pre{max-height:420px;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#07111f;color:#dbeafe;border-radius:12px;padding:.75rem;font-size:.78rem}.version-old{opacity:.72}.version-old:hover{opacity:1}.pagination{display:flex;gap:.35rem;justify-content:center;margin-top:1rem}.pagination a{min-width:2.2rem;text-align:center;padding:.4rem;border:1px solid var(--border);border-radius:8px;text-decoration:none}.pagination a.active{background:var(--primary);color:#fff}.kpi-card.warning{border-color:#f59e0b}.row-actions .btn.active{outline:2px solid var(--primary)}
@media(max-width:900px){.audit-detail dl{grid-template-columns:1fr 1fr}.audit-compare{grid-template-columns:1fr}}
@media(max-width:560px){.audit-entry>summary{align-items:flex-start;flex-direction:column}.audit-detail dl{grid-template-columns:1fr}.audit-compare pre{max-height:280px}.measurement-table td .row-actions{min-width:220px}}
