:root{--bg:#f3f5f9;--panel:#fff;--panel-2:#f8fafc;--text:#111827;--muted:#667085;--border:#e4e7ec;--brand:#101828;--brand-2:#1f2937;--accent:#f2b705;--danger:#b42318;--success:#027a48;--warning:#b54708;--shadow:0 18px 50px rgba(16,24,40,.08);--radius:22px}*{box-sizing:border-box}html,body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);min-height:100%}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}a{color:inherit}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#111827,#0b1220);color:#fff;padding:22px;position:fixed;top:0;left:0;width:280px;height:100vh;display:flex;flex-direction:column;gap:20px;overflow-y:auto;z-index:20}.app-shell>.main{grid-column:2}.brand{display:flex;align-items:center;gap:12px;padding:10px 8px 18px;border-bottom:1px solid rgba(255,255,255,.12)}.brand img{width:54px;height:54px;object-fit:contain;background:var(--panel);border-radius:16px;padding:4px}.brand strong{font-size:18px;display:block}.brand span{color:rgba(255,255,255,.7);font-size:13px}.nav{display:grid;gap:6px;overflow:auto;padding-right:2px}.nav button{width:100%;text-align:left;background:transparent;color:rgba(255,255,255,.76);padding:12px 12px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:8px}.nav button:hover,.nav button.active{background:rgba(255,255,255,.1);color:#fff}.nav .badge{background:var(--accent);color:#111827;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.sidebar-footer{margin-top:auto;display:grid;gap:8px}.user-mini{background:rgba(255,255,255,.08);padding:12px;border-radius:16px}.user-mini strong{display:block}.user-mini span{font-size:13px;color:rgba(255,255,255,.72)}.main{min-width:0}.topbar{height:76px;background:rgba(255,255,255,.84);backdrop-filter:saturate(180%) blur(18px);display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5}.topbar h1{font-size:24px;margin:0}.topbar-actions{display:flex;align-items:center;gap:10px}.content{padding:28px;max-width:1460px;margin:0 auto}.grid{display:grid;gap:18px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.card.flat{box-shadow:none}.card h2,.card h3{margin:0 0 14px}.hero{display:grid;grid-template-columns:1.5fr .8fr;gap:18px;align-items:stretch}.metric{display:flex;flex-direction:column;gap:6px}.metric .value{font-size:34px;font-weight:800;letter-spacing:-.03em}.metric .label{font-size:14px;color:var(--muted)}.status-pill,.pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:700;background:var(--panel-2);color:#344054}.pill.success{background:#ecfdf3;color:var(--success)}.pill.danger{background:#fef3f2;color:var(--danger)}.pill.warning{background:#fffaeb;color:var(--warning)}.pill.brand{background:#eef2ff;color:#3538cd}.btn{background:var(--brand);color:#fff;border-radius:14px;padding:11px 15px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px}.btn:hover{background:#000}.btn.secondary{background:var(--panel);color:var(--brand);border:1px solid var(--border)}.btn.secondary:hover{background:var(--panel-2)}.btn.ghost{background:transparent;color:var(--brand);border:1px solid transparent}.btn.danger{background:var(--danger)}.btn.success{background:var(--success)}.btn.warning{background:var(--warning)}.btn.full{width:100%}.btn.big{font-size:18px;min-height:62px;border-radius:18px}.form{display:grid;gap:14px}.field{display:grid;gap:7px}.field label{font-size:13px;font-weight:800;color:#344054}.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px 13px;background:var(--panel);color:var(--text);outline:none}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#98a2b3;box-shadow:0 0 0 4px rgba(16,24,40,.06)}.help{color:var(--muted);font-size:13px;line-height:1.45}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:18px;background:var(--panel)}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#667085;background:var(--panel-2)}.table tr:last-child td{border-bottom:0}.empty{padding:36px;border:1px dashed #d0d5dd;border-radius:18px;text-align:center;color:var(--muted);background:var(--panel)}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:radial-gradient(circle at 30% 20%,rgba(242,183,5,.32),transparent 34%),linear-gradient(135deg,#111827,#030712);color:white;padding:54px;display:flex;flex-direction:column;justify-content:space-between}.login-art img{width:112px;background:var(--panel);border-radius:24px;padding:8px}.login-art h1{font-size:54px;line-height:.95;margin:24px 0 16px;letter-spacing:-.05em}.login-panel{display:flex;align-items:center;justify-content:center;padding:32px}.login-card{width:min(460px,100%);background:var(--panel);border:1px solid var(--border);border-radius:28px;padding:28px;box-shadow:var(--shadow)}.login-card h2{font-size:28px;margin:0 0 8px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tabs button{padding:9px 12px;border-radius:999px;background:var(--panel);border:1px solid var(--border);font-weight:800;color:#344054}.tabs button.active{background:#111827;color:#fff;border-color:#111827}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;padding:22px;z-index:50}.modal{background:var(--panel);border-radius:24px;max-width:720px;width:100%;max-height:90vh;overflow:auto;padding:24px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:18px}.modal-head h2{margin:0}.close{background:var(--panel-2);border-radius:12px;width:38px;height:38px}.toast{position:fixed;right:22px;bottom:22px;background:#111827;color:white;padding:14px 16px;border-radius:16px;box-shadow:var(--shadow);z-index:70;max-width:420px}.mobile-header{display:none}.split{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.right{margin-left:auto}.muted{color:var(--muted)}.danger-text{color:var(--danger)}.success-text{color:var(--success)}.kpi-list{display:grid;gap:10px}.kpi-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel-2);border:1px solid var(--border);padding:12px;border-radius:14px}.check-list{display:grid;gap:8px}.check-item{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:14px;padding:10px;background:var(--panel)}.check-item input{width:18px;height:18px}.notice{border:1px solid #fedf89;background:#fffaeb;color:#93370d;border-radius:16px;padding:14px;line-height:1.45}.document-preview{border:1px solid var(--border);border-radius:18px;background:var(--panel);padding:20px;white-space:pre-wrap}.hidden{display:none!important}@media(max-width:1000px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:305px;z-index:30;transform:translateX(-105%);transition:.2s}.sidebar.open{transform:translateX(0)}.app-shell>.main{grid-column:1}.mobile-header{display:flex;align-items:center;gap:10px}.topbar{padding:0 16px}.content{padding:18px}.hero,.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-art{display:none}}@media(max-width:640px){.topbar h1{font-size:19px}.topbar-actions .hide-sm{display:none}.card{padding:17px;border-radius:18px}.metric .value{font-size:28px}.modal{padding:18px}.table{min-width:680px}.btn{width:100%}.split .btn{width:auto}.login-panel{padding:18px}.login-card{border-radius:22px;padding:22px}}
html[data-theme="dark"]{--bg:#0b1020;--panel:#111827;--panel-2:#172033;--text:#f8fafc;--muted:#94a3b8;--border:#293449;--brand:#f8fafc;--brand-2:#e5e7eb;--accent:#facc15;--danger:#f87171;--success:#34d399;--warning:#fbbf24;--shadow:0 18px 50px rgba(0,0,0,.36)}html[data-theme="dark"] .sidebar{background:linear-gradient(180deg,#030712,#0b1020)}html[data-theme="dark"] .btn{background:#f8fafc;color:#0b1020}html[data-theme="dark"] .btn.secondary,html[data-theme="dark"] .tabs button,html[data-theme="dark"] .close{background:#172033;color:#f8fafc;border-color:#293449}html[data-theme="dark"] .btn.secondary:hover{background:#1e293b}html[data-theme="dark"] .field input,html[data-theme="dark"] .field select,html[data-theme="dark"] .field textarea,html[data-theme="dark"] .table-wrap,html[data-theme="dark"] .empty,html[data-theme="dark"] .login-card,html[data-theme="dark"] .modal,html[data-theme="dark"] .check-item,html[data-theme="dark"] .document-preview{background:#111827;color:#f8fafc;border-color:#293449}html[data-theme="dark"] .table th{background:#172033;color:#cbd5e1}html[data-theme="dark"] .table td{border-color:#293449}html[data-theme="dark"] .pill{background:#172033;color:#cbd5e1}html[data-theme="dark"] .pill.success{background:#063b2d;color:#34d399}html[data-theme="dark"] .pill.warning{background:#422006;color:#fbbf24}html[data-theme="dark"] .pill.danger{background:#450a0a;color:#fca5a5}.theme-toggle{min-width:42px;height:42px;border-radius:14px;border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);display:inline-flex;align-items:center;justify-content:center;font-size:18px}.color-dot{display:inline-block;width:16px;height:16px;border-radius:999px;border:2px solid rgba(255,255,255,.7);box-shadow:0 0 0 1px rgba(0,0,0,.12);vertical-align:-3px;margin-right:8px}.break-word{word-break:break-all}.calendar-layout{align-items:start}.calendar-main{grid-column:span 2}.calendar-side{display:grid;gap:18px}.calendar-grid{display:grid;gap:10px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekdays span{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:center}.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:8px}.calendar-day{min-height:132px;border:1px solid var(--border);border-radius:18px;background:var(--panel-2);color:var(--text);padding:10px;display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:6px;overflow:hidden}.calendar-day.today{outline:2px solid var(--accent);outline-offset:1px}.calendar-day.muted-day{opacity:.48}.day-number{font-weight:900;align-self:flex-start}.event-chip{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:999px;padding:5px 8px;background:var(--event);color:#07111f;font-size:12px;font-weight:800}.event-chip.weekly{border:1px solid rgba(0,0,0,.08)}.more-chip{font-size:12px;color:var(--muted);font-weight:800}.week-input{border:1px solid var(--border);border-radius:14px;background:var(--panel);color:var(--text);padding:10px 12px;min-height:42px}.weekly-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:20px;background:var(--panel)}.weekly-table{width:100%;border-collapse:separate;border-spacing:0;min-width:920px}.weekly-table th,.weekly-table td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:10px;vertical-align:top}.weekly-table thead th{position:sticky;top:0;background:var(--panel-2);z-index:2}.weekly-table th:first-child{min-width:150px;text-align:left}.weekly-table tr:last-child th,.weekly-table tr:last-child td{border-bottom:0}.weekly-table th:last-child,.weekly-table td:last-child{border-right:0}.plan-cell{min-width:170px;cursor:pointer;background:var(--panel)}.plan-cell:hover{background:var(--panel-2)}.plan-pill{border-radius:16px;padding:10px;min-height:72px;background:var(--plan);background:linear-gradient(180deg,color-mix(in srgb,var(--plan) 86%,#fff 14%),var(--plan));color:#07111f;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);display:grid;gap:3px}.plan-pill strong{font-size:14px}.plan-pill span,.plan-pill small{font-size:12px}.empty-cell{color:var(--muted);display:block;text-align:center;padding:20px 0}.legend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.legend-grid span{border:1px solid var(--border);border-radius:14px;background:var(--panel-2);padding:10px;font-weight:800}@media(max-width:1000px){.calendar-main{grid-column:auto}.calendar-days{grid-template-columns:repeat(7,minmax(86px,1fr))}.calendar-day{min-height:110px}.calendar-side{grid-template-columns:1fr}}@media(max-width:760px){.calendar-days{grid-template-columns:repeat(7,minmax(58px,1fr));gap:5px}.calendar-weekdays{gap:5px}.calendar-day{min-height:86px;border-radius:12px;padding:6px}.event-chip{font-size:10px;padding:3px 5px}.weekly-table{min-width:760px}.topbar-actions{gap:6px}.theme-toggle{width:40px;height:40px}}
.permissions-grid{max-height:52vh;overflow:auto;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.diary-list{display:grid;gap:14px}.diary-entry{border:1px solid var(--border);border-radius:18px;background:var(--panel-2);padding:16px}.diary-entry p{white-space:pre-wrap;line-height:1.45}.photo-grid,.photo-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;margin-top:10px}.photo-grid img,.photo-preview-item img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:16px;border:1px solid var(--border);background:var(--panel)}.photo-preview-item{position:relative}.photo-preview-item .small{position:absolute;top:6px;right:6px;width:30px;height:30px;border-radius:999px;background:rgba(17,24,39,.82);color:white}.backup-warning{border:1px solid #fedf89;background:#fffaeb;color:#93370d;border-radius:16px;padding:14px}
.permission-group{border:1px solid var(--border);background:var(--panel-2);box-shadow:none}.permission-group h3{margin-bottom:10px}.diary-actions{display:flex;gap:10px;flex-wrap:wrap}.camera-btn input{display:none}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.photo-grid img{width:100%;height:120px;object-fit:cover;border-radius:16px;border:1px solid var(--border);background:var(--panel-2)}.photo-preview{position:relative}.small-close{position:absolute;right:6px;top:6px;width:30px;height:30px;background:rgba(17,24,39,.82);color:#fff;border-radius:999px}.diary-list{display:grid;gap:12px}.diary-entry{border:1px solid var(--border);background:var(--panel-2)}html[data-theme="dark"] .permission-group,html[data-theme="dark"] .diary-entry{background:#172033;border-color:#293449}


.db-status{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:999px;background:var(--panel);padding:9px 11px;font-size:12px;font-weight:900;white-space:nowrap;color:var(--muted)}.db-status i{width:10px;height:10px;border-radius:999px;background:#94a3b8;box-shadow:0 0 0 3px rgba(148,163,184,.15)}.db-status.ok{color:var(--success)}.db-status.ok i{background:var(--success);box-shadow:0 0 0 3px rgba(2,122,72,.18)}.db-status.bad{color:var(--danger)}.db-status.bad i{background:var(--danger);box-shadow:0 0 0 3px rgba(180,35,24,.16)}.db-status.wait{color:var(--warning)}.db-status.wait i{background:var(--warning);box-shadow:0 0 0 3px rgba(181,71,8,.16)}@media(max-width:760px){.db-status{font-size:0;padding:10px}.db-status i{margin:0}.topbar-actions .db-status+button{margin-left:0}}
.db-indicator{border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--text);display:inline-flex;align-items:center;gap:8px;padding:8px 11px;min-height:42px;box-shadow:var(--shadow)}.db-indicator span{width:11px;height:11px;border-radius:999px;background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.14)}.db-indicator.ok span{background:var(--success);box-shadow:0 0 0 4px rgba(2,122,72,.13)}.db-indicator.bad span{background:var(--danger);box-shadow:0 0 0 4px rgba(180,35,24,.13)}.db-indicator strong{font-size:12px;line-height:1}.db-indicator em{font-style:normal;font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}@media(max-width:900px){.db-indicator strong{display:none}.db-indicator{padding:8px}.db-indicator em{display:none}}
html[data-theme="dark"] .db-indicator{background:#172033;color:#f8fafc;border-color:#293449}
.nav-clean .nav-label{display:flex;align-items:center;gap:10px}.nav-icon{width:20px;height:20px;flex:0 0 20px}.icon-btn .nav-icon{width:18px;height:18px}.welcome-card{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#fff,#f7f9fc)}.welcome-card h2{font-size:34px;letter-spacing:-.03em;margin:0}.eyebrow{margin:0 0 4px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:900;color:var(--muted)}.welcome-time{text-align:right;display:grid;gap:4px}.welcome-time strong{font-size:32px;letter-spacing:-.03em}.welcome-time span{color:var(--muted)}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px}.admin-tabs button{border:1px solid var(--border);background:var(--panel);border-radius:999px;padding:10px 14px;font-weight:800;color:var(--brand)}.admin-tabs button.active{background:var(--brand);color:#fff;border-color:var(--brand)}.todo-list{display:grid;gap:10px}.todo-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;border:1px solid var(--border);border-radius:16px;padding:12px;background:var(--panel)}.todo-item.done{opacity:.75;background:var(--panel-2)}.todo-item.done strong{text-decoration:line-through}.todo-check{width:28px;height:28px;border-radius:50%;border:2px solid var(--border);background:var(--panel);color:var(--success);font-weight:900;line-height:1}.todo-item.done .todo-check{border-color:var(--success);background:#ecfdf3}.small-pill{font-size:11px;padding:4px 7px;margin-left:8px}.project-card-list{display:grid;gap:12px}.project-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;border:1px solid var(--border);border-radius:18px;padding:16px;background:var(--panel)}.project-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.plan-modal{min-width:min(1080px,calc(100vw - 60px))}.plan-folders{display:grid;gap:14px}.plan-folder-card{border:1px solid var(--border);border-radius:18px;padding:16px;background:var(--panel-2)}.plan-list{display:grid;gap:8px}.plan-row{display:flex;justify-content:space-between;gap:12px;align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:12px}.pdf-viewer{width:100%;height:min(68vh,720px);border:1px solid var(--border);border-radius:16px;background:var(--panel)}.image-annotation{position:relative;display:inline-block;max-width:100%;border:1px solid var(--border);border-radius:16px;overflow:auto;background:var(--panel)}.image-annotation img{max-width:100%;display:block}.annotation-canvas{touch-action:none;border:1px dashed #cbd5e1;border-radius:16px;background:transparent;max-width:100%}.image-annotation .annotation-canvas{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0}.pdf-annotation{width:100%;height:360px;background:rgba(255,255,255,.92)}.viewer-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.viewer-toolbar input[type=color]{width:44px;height:42px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.pdf-editor-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.photo-grid.small{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}.photo-grid.small img{height:80px}.apple-calendar .event-chip.multi{height:20px;border-radius:4px;margin-left:-4px;margin-right:-4px}.apple-calendar .event-chip.multi.start{border-radius:999px 4px 4px 999px;margin-left:0}.apple-calendar .event-chip.multi.middle{border-radius:4px}.apple-calendar .event-chip.multi.end{border-radius:4px 999px 999px 4px;margin-right:0}.apple-calendar .event-chip.multi.single{border-radius:999px;margin-left:0;margin-right:0}.break-word{word-break:break-word}.warning-box{background:#fffaeb;border:1px solid #fedf89;border-radius:14px;padding:12px}.nav-clean button.active .nav-icon{color:#d4e000}@media(max-width:900px){.welcome-card,.project-card{display:grid;text-align:left}.welcome-time{text-align:left}.pdf-editor-layout{grid-template-columns:1fr}.plan-modal{min-width:0}.welcome-card h2{font-size:28px}.welcome-time strong{font-size:26px}}

/* WABE Office Entwurf V7 */
.btn.is-loading{position:relative;pointer-events:none;opacity:.92;background:#101828;color:#fff;border-color:#101828;min-width:132px}.btn.is-loading .dino-loader{width:44px;height:26px;object-fit:contain;image-rendering:auto}.btn.is-loading span{white-space:nowrap}.dino-loader{vertical-align:middle}.continuous-calendar .calendar-days{gap:0;border:1px solid var(--border);border-radius:22px;overflow:hidden;background:var(--border)}.continuous-calendar .calendar-day{border-radius:0;border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);box-shadow:none}.continuous-calendar .calendar-day.week-pos-6{border-right:0}.continuous-calendar .calendar-day:nth-last-child(-n+7){border-bottom:0}.continuous-calendar .event-chip.multi{height:22px;border-radius:0;margin-left:-11px;margin-right:-11px;box-shadow:none;display:flex;align-items:center}.continuous-calendar .event-chip.multi.start{border-radius:999px 0 0 999px;margin-left:0;padding-left:10px}.continuous-calendar .event-chip.multi.middle{border-radius:0;color:transparent}.continuous-calendar .event-chip.multi.middle::after{content:' ';display:block}.continuous-calendar .event-chip.multi.end{border-radius:0 999px 999px 0;margin-right:0;color:transparent}.continuous-calendar .event-chip.multi.single{border-radius:999px;margin-left:0;margin-right:0;color:#07111f}.plan-toolbar{margin-bottom:16px;background:var(--panel-2);border:1px solid var(--border);display:flex;align-items:center;gap:14px;justify-content:space-between}.inventory-user-field.hidden{display:none!important}.employee-overview .card.flat{background:var(--panel-2);border:1px solid var(--border);border-radius:18px}.employee-overview .metric .value{font-size:28px}.photo-preview-item{position:relative}.photo-preview-item .small{position:absolute;top:6px;right:6px;width:30px;height:30px;border-radius:999px;background:rgba(17,24,39,.82);color:#fff}.table .photo-grid.small{margin-top:8px}.local-demo-note{border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:16px;padding:12px 14px}@media(max-width:760px){.continuous-calendar .event-chip.multi{margin-left:-7px;margin-right:-7px}.plan-toolbar{display:grid}.btn.is-loading{width:100%}}

/* WABE Office Entwurf V8 */
.calendar-day{cursor:pointer}.calendar-day .event-chip.clickable{border:0;text-align:left;cursor:pointer;font:inherit}.calendar-list-row{cursor:pointer}.calendar-list-row:hover{background:var(--panel-2)}.calendar-detail{display:grid;gap:14px}.calendar-detail-head{display:flex;gap:12px;align-items:center;border:1px solid var(--border);border-radius:18px;background:var(--panel-2);padding:16px}.calendar-detail-head h2{margin:0}.calendar-detail-color{width:18px;height:48px;border-radius:999px;background:var(--event)}.continuous-calendar-v8 .calendar-day{overflow:visible!important;position:relative}.continuous-calendar-v8 .event-chip.multi{position:relative;z-index:5;width:calc(100% + 22px);min-height:22px;padding-top:5px;padding-bottom:5px;background:var(--event);border-radius:0!important;box-shadow:none!important}.continuous-calendar-v8 .event-chip.multi.start{width:calc(100% + 11px);margin-left:0!important;margin-right:-11px!important;border-radius:999px 0 0 999px!important;padding-left:12px}.continuous-calendar-v8 .event-chip.multi.middle{margin-left:-11px!important;margin-right:-11px!important;color:transparent!important}.continuous-calendar-v8 .event-chip.multi.end{width:calc(100% + 11px);margin-left:-11px!important;margin-right:0!important;border-radius:0 999px 999px 0!important;color:transparent!important}.continuous-calendar-v8 .event-chip.multi.single{width:auto;margin-left:0!important;margin-right:0!important;border-radius:999px!important;color:#07111f!important}.inventory-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:14px}.inventory-card{border:1px solid var(--border);border-radius:20px;background:var(--panel);overflow:hidden;box-shadow:0 10px 28px rgba(16,24,40,.06)}.inventory-preview{width:100%;height:190px;border:0;background:var(--panel-2);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.inventory-preview img{width:100%;height:100%;object-fit:cover;display:block}.inventory-preview.placeholder{color:var(--muted)}.inventory-preview.placeholder svg{width:60px;height:60px}.inventory-card-body{padding:14px;display:grid;gap:8px}.inventory-card-body h3{margin:0}.plan-toolbar .btn svg,.project-actions .btn svg{width:18px;height:18px}.plan-toolbar .btn,.project-actions .btn{display:inline-flex;align-items:center;gap:7px}@media(max-width:760px){.inventory-card-grid{grid-template-columns:1fr}.continuous-calendar-v8 .event-chip.multi{width:calc(100% + 14px)}.continuous-calendar-v8 .event-chip.multi.start{width:calc(100% + 7px);margin-right:-7px!important}.continuous-calendar-v8 .event-chip.multi.middle{margin-left:-7px!important;margin-right:-7px!important}.continuous-calendar-v8 .event-chip.multi.end{width:calc(100% + 7px);margin-left:-7px!important}}

/* WABE Office Entwurf V8 */
.clickable-calendar .event-chip{cursor:pointer;transition:transform .12s ease,filter .12s ease}
.clickable-calendar .event-chip:hover{filter:brightness(.96);transform:translateY(-1px)}
.calendar-detail .detail-accent{height:10px;border-radius:999px;background:var(--event);margin-bottom:14px}
.calendar-detail .card.flat{background:var(--panel-2);border:1px solid var(--border);border-radius:18px}
.continuous-calendar .calendar-days{gap:0!important;border:1px solid var(--border);border-radius:22px;overflow:hidden;background:var(--border)}
.continuous-calendar .calendar-day{padding-left:10px!important;padding-right:10px!important;overflow:visible!important;position:relative}
.continuous-calendar .event-chip.multi{height:24px!important;min-height:24px!important;margin-left:-11px!important;margin-right:-11px!important;width:calc(100% + 22px);border-radius:0!important;box-shadow:none!important;display:flex!important;align-items:center!important;position:relative;z-index:4;border-top:1px solid rgba(255,255,255,.24);border-bottom:1px solid rgba(0,0,0,.06)}
.continuous-calendar .event-chip.multi.start{border-radius:999px 0 0 999px!important;margin-left:0!important;width:calc(100% + 11px);padding-left:10px!important}
.continuous-calendar .event-chip.multi.middle{color:transparent!important}
.continuous-calendar .event-chip.multi.end{border-radius:0 999px 999px 0!important;margin-right:0!important;width:calc(100% + 11px);color:transparent!important}
.continuous-calendar .event-chip.multi.single{border-radius:999px!important;margin-left:0!important;margin-right:0!important;width:100%;color:#07111f!important}
.plan-row-preview{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center}.plan-thumb{width:56px;height:56px;border-radius:14px;border:1px solid var(--border);background:var(--panel);display:flex;align-items:center;justify-content:center;overflow:hidden}.plan-thumb img{width:100%;height:100%;object-fit:cover}.plan-file-icon{font-size:12px;font-weight:900;color:#101828}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.inventory-card{border:1px solid var(--border);border-radius:20px;background:var(--panel);overflow:hidden;display:grid;grid-template-rows:180px auto}.inventory-card-image{background:#f5f7fb;display:block;min-height:160px}.inventory-preview{display:block;width:100%;height:100%}.inventory-preview img{width:100%;height:100%;object-fit:cover;display:block}.inventory-placeholder{height:100%;min-height:160px;display:grid;place-items:center;text-align:center;padding:18px;background:linear-gradient(135deg,#f7f9fc,#eef2f7);color:#101828}.inventory-placeholder-logo{border:2px solid #c7d300;border-radius:999px;padding:8px 14px;font-weight:1000;color:#9bad00;background:var(--panel)}.inventory-placeholder strong{font-size:18px;letter-spacing:-.02em}.inventory-placeholder span{color:var(--muted);font-weight:800}.inventory-card-body{padding:16px}.kpi-list.compact .kpi-row{padding:8px 0}.inventory-mini-list{display:grid;gap:12px}.inventory-mini-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;border:1px solid var(--border);border-radius:18px;background:var(--panel);padding:12px}.inventory-card-image.small-preview{min-height:96px;height:96px;border-radius:14px;overflow:hidden}.inventory-card-image.small-preview .inventory-placeholder{min-height:96px;padding:10px}.inventory-card-image.small-preview .inventory-placeholder-logo{font-size:11px;padding:5px 9px}.inventory-card-image.small-preview .inventory-placeholder strong{font-size:13px}.inventory-card-image.small-preview .inventory-placeholder span{font-size:11px}.empty .btn{margin-top:8px}@media(max-width:760px){.plan-row-preview{grid-template-columns:50px 1fr}.plan-row-preview>.split{grid-column:1/-1}.inventory-card{grid-template-rows:150px auto}.inventory-mini-card{grid-template-columns:1fr}.inventory-card-image.small-preview{height:150px}}

/* WABE Office Entwurf V9 */
.upcoming-list{display:grid;gap:10px;margin-top:12px}
.upcoming-row{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;background:var(--panel-2);border:1px solid var(--border);border-radius:16px;padding:12px;color:var(--text)}
.upcoming-row:hover{background:var(--panel);box-shadow:0 10px 28px rgba(16,24,40,.06)}
.upcoming-dot{width:14px;height:36px;border-radius:999px;background:var(--event)}
.mini-date-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:10px 0}
.mini-date-grid>div{border:1px solid var(--border);border-radius:14px;background:var(--panel-2);padding:10px;display:grid;gap:5px}
.mini-date-grid span{font-size:12px;color:var(--muted);font-weight:800}
.mini-date-grid strong{font-size:14px}
.mini-date-grid em{font-style:normal;justify-self:start}
.file-list{display:grid;gap:10px;margin-top:10px}
.file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:10px}
.file-row svg{width:20px;height:20px;vertical-align:-5px;margin-right:6px}
.details-clean{margin-top:10px;border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:10px}
.details-clean summary{font-weight:900;cursor:pointer}
.upload-zone{background:var(--panel-2);border:1px solid var(--border);border-radius:18px}
.vehicle-user-field.hidden{display:none!important}
.inventory-grid-v9{grid-template-columns:repeat(auto-fit,minmax(310px,1fr))}
.inventory-card-v9 .inventory-card-body{display:grid;gap:10px}
.vehicle-placeholder{background:linear-gradient(135deg,#eef6ff,#f5f7fb)}
.small-empty{padding:10px;font-size:13px}
@media(max-width:760px){.upcoming-row{grid-template-columns:auto 1fr}.upcoming-row .pill{grid-column:2}.file-row{display:grid}.inventory-grid-v9{grid-template-columns:1fr}}

/* WABE Office Entwurf V10 */
.plan-viewer-shell{border:1px solid var(--border);border-radius:18px;background:var(--panel);overflow:hidden;min-height:420px}.plan-pdf-object{display:block;width:100%;height:min(70vh,760px);border:0}.plan-viewer-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--border);border-radius:14px;background:var(--panel-2);padding:10px 14px}.plan-viewer-meta span{color:var(--muted);font-size:13px;font-weight:800}.plan-image-viewer{max-height:70vh}.danger-text{color:#b42318;font-weight:800}.section-title-icon{display:flex;align-items:center;gap:10px}.section-title-icon .nav-icon{width:24px;height:24px;color:#101828}.fleet-nav-icon{color:inherit}.nav-clean button .fleet-nav-icon{width:20px;height:20px}.plan-row-preview .split{justify-content:flex-end}@media(max-width:760px){.plan-row-preview .split{justify-content:flex-start}.plan-viewer-meta{display:grid}.plan-pdf-object{height:60vh}}

/* WABE Office 1.0.2 */
.version-badge{position:fixed;left:16px;bottom:14px;z-index:90;border:1px solid rgba(255,255,255,.18);background:rgba(15,23,42,.88);color:#fff;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.22);backdrop-filter:blur(12px)}
.version-badge:hover{background:#101828}
.version-number-card{border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,#fff,#f8fafc);padding:18px;display:grid;gap:5px;margin-top:14px}.version-number-card span{font-size:13px;color:var(--muted);font-weight:800}.version-number-card strong{font-size:30px;letter-spacing:-.04em}.update-list{display:grid;gap:12px}.update-card{border:1px solid var(--border);border-radius:18px;background:var(--panel-2);padding:15px}.update-card h3{margin:0}.update-card ul{margin:10px 0 0 18px;padding:0;color:var(--muted);line-height:1.5}.plan-row-clickable{cursor:pointer}.plan-row-clickable:hover{background:var(--panel);box-shadow:0 10px 26px rgba(16,24,40,.08)}
@media(max-width:760px){.version-badge{left:10px;bottom:10px;font-size:11px;padding:6px 9px}.version-number-card strong{font-size:24px}}

/* WABE Office 1.0.3 */
.color-preview-live{display:flex;align-items:center;gap:10px;margin-top:8px;padding:8px 10px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.72)}
.color-preview-swatch{width:34px;height:22px;border-radius:8px;border:1px solid rgba(16,24,40,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.color-preview-code{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.04em}
.finder-plan-modal{display:grid;gap:14px}.plan-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px;color:var(--muted);font-size:13px}.plan-breadcrumb button{appearance:none;border:0;background:rgba(199,211,0,.14);color:var(--text);padding:7px 10px;border-radius:999px;font-weight:700;cursor:pointer}.finder-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.finder-folder-card{display:flex;align-items:center;gap:12px;min-height:82px;text-align:left;padding:14px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(180deg,#fff,rgba(255,255,255,.76));box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.finder-folder-card:hover{transform:translateY(-1px);border-color:rgba(199,211,0,.55);box-shadow:var(--shadow)}.finder-folder-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:rgba(199,211,0,.16);color:var(--brand-dark)}.finder-folder-icon svg{width:22px;height:22px}.finder-folder-card strong{display:block}.finder-folder-card small{display:block;margin-top:4px;color:var(--muted);font-size:12px}.finder-folder-color{width:12px;height:44px;border-radius:999px;margin-left:auto}.plan-list{display:grid;gap:10px}.plan-row-clickable{cursor:pointer}.plan-row-clickable:hover{border-color:rgba(199,211,0,.55);background:rgba(199,211,0,.06)}
.gallery-overlay{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.88);backdrop-filter:blur(10px);touch-action:pan-y}.gallery-overlay.active{display:flex}.gallery-image{max-width:100vw;max-height:100vh;object-fit:contain;border-radius:10px;box-shadow:0 20px 80px rgba(0,0,0,.4)}.gallery-close{position:fixed;top:calc(env(safe-area-inset-top,0px) + 14px);right:16px;width:48px;height:48px;border:0;border-radius:999px;background:rgba(255,255,255,.92);color:#111;font-size:32px;line-height:1;z-index:10002;box-shadow:0 10px 30px rgba(0,0,0,.25)}.gallery-nav{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:68px;border:0;border-radius:999px;background:rgba(255,255,255,.78);color:#111;font-size:46px;line-height:1;z-index:10001}.gallery-prev{left:14px}.gallery-next{right:14px}.gallery-caption{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 18px);transform:translateX(-50%);padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.86);color:#111;font-size:13px;font-weight:800;max-width:calc(100vw - 32px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-open{overflow:hidden}.gallery-thumb{appearance:none;border:0;background:transparent;padding:0;border-radius:16px;overflow:hidden;cursor:pointer;display:block}.gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover}.gallery-photo-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
.weekly-table tbody tr:first-child th,.weekly-table tbody tr:first-child td{background:rgba(199,211,0,.05)}.weekly-table tbody tr:last-child th,.weekly-table tbody tr:last-child td{background:rgba(96,165,250,.05)}
@media(max-width:700px){.gallery-nav{width:42px;height:58px;font-size:38px;background:rgba(255,255,255,.55)}.gallery-prev{left:8px}.gallery-next{right:8px}.gallery-close{width:46px;height:46px;right:12px}.gallery-image{border-radius:0}.finder-folder-grid{grid-template-columns:1fr}.plan-breadcrumb{font-size:12px}.plan-toolbar .right{width:100%;justify-content:flex-start}.weekly-table-wrap{overflow:auto}.weekly-table{min-width:860px}}
.finder-folder-card{box-shadow:var(--shadow)}.finder-folder-icon{color:var(--brand)}


/* WABE Office 1.0.4: responsive Modals, Update-Banner und breite Listen */
html,body{max-width:100%;overflow-x:hidden}.main,.content,.card,.modal,.modal *{box-sizing:border-box}.modal-backdrop{overflow:auto;align-items:flex-start;padding:clamp(10px,2vw,24px)}.modal{width:min(1120px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);overflow:auto;overscroll-behavior:contain}.modal-head{position:sticky;top:0;background:var(--panel);z-index:4;padding-bottom:10px}.modal-head .close{flex:0 0 auto}.plan-modal,.finder-plan-modal{min-width:0!important;width:100%;max-width:100%;overflow-x:hidden}.plan-toolbar{min-width:0;align-items:flex-start}.plan-toolbar.card.flat{padding:14px}.plan-toolbar .right{margin-left:0;display:flex;flex-wrap:wrap;min-width:0}.plan-list,.finder-folder-grid{min-width:0}.plan-row,.plan-row-preview{max-width:100%;min-width:0;overflow:hidden}.plan-row-preview{grid-template-columns:64px minmax(0,1fr) minmax(0,auto)}.plan-main,.plan-row span,.plan-viewer-meta strong,.plan-viewer-meta span{min-width:0;overflow-wrap:anywhere;word-break:break-word}.plan-row .split{min-width:0;flex-shrink:0}.viewer-toolbar{max-width:100%;overflow-x:auto}.pdf-viewer,.plan-pdf-object{max-width:100%}.table-wrap,.weekly-table-wrap{max-width:100%;overflow:auto}.wabe-update-banner{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:95;background:#101828;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:18px;box-shadow:0 22px 60px rgba(15,23,42,.35);padding:14px;display:flex;gap:12px;align-items:center;max-width:min(560px,calc(100vw - 28px));width:max-content}.wabe-update-banner strong{display:block}.wabe-update-banner span{display:block;color:rgba(255,255,255,.75);font-size:13px}.wabe-update-banner .btn{background:#c7d300;color:#101828;white-space:nowrap}.wabe-update-banner .btn.secondary{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.22)}.weekly-status-line{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.weekly-status-line .pill{white-space:normal}.weekly-publish-actions{display:flex;gap:8px;flex-wrap:wrap}.weekly-draft-note{border:1px solid #fedf89;background:#fffaeb;color:#93370d;border-radius:14px;padding:11px 12px;font-size:13px;line-height:1.4;margin:10px 0 0}.gallery-overlay{touch-action:pan-y pinch-zoom}@media(max-width:900px){.modal-backdrop{padding:0}.modal{width:100vw;max-width:100vw;min-height:100dvh;max-height:100dvh;border-radius:0;padding:16px}.modal-head{margin:-16px -16px 14px;padding:14px 16px;background:var(--panel);border-bottom:1px solid var(--border)}.plan-row-preview{grid-template-columns:52px minmax(0,1fr)}.plan-row-preview>.split{grid-column:1/-1;justify-content:flex-start;width:100%}.plan-row-preview>.split .btn{width:auto}.plan-toolbar.card.flat{display:grid}.finder-folder-grid{grid-template-columns:1fr}.wabe-update-banner{left:14px;right:14px;bottom:14px;transform:none;width:auto;display:grid}.wabe-update-banner .btn{width:100%}.calendar-days{overflow-x:hidden}.content{padding-left:14px;padding-right:14px}}@media(max-width:640px){.plan-row .split{width:100%;justify-content:flex-start}.plan-row{display:grid}.split .btn{width:auto}.modal .btn.full{width:100%}.modal input,.modal select,.modal textarea{font-size:16px}}


/* WABE Office 1.0.5: Mobile PWA Fix gegen horizontales Scrollen */
html,body,#app,.main,.topbar,.content{max-width:100vw;overflow-x:hidden}.app-shell{max-width:100vw}.main,.content,.grid,.card,.form,.field,.table-wrap,.modal,.kpi-list,.kpi-row{min-width:0}.content{width:100%}.card{max-width:100%;overflow:hidden}.field input,.field select,.field textarea{min-width:0;max-width:100%}.btn{max-width:100%;white-space:normal;text-align:center}.split{min-width:0}.split>*{max-width:100%}.topbar{width:100%;min-width:0}.topbar h1{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{min-width:0;flex-wrap:wrap;justify-content:flex-end}.mobile-header{min-width:0}.table-wrap{max-width:100%;}.table th,.table td{overflow-wrap:anywhere;word-break:normal}.kpi-row{max-width:100%;overflow:hidden}.kpi-row>span,.kpi-row>strong,.kpi-row>div{min-width:0;overflow-wrap:anywhere}.document-preview,.help,.muted{overflow-wrap:anywhere}.version-badge{max-width:calc(100vw - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){
  body{position:relative;width:100vw;touch-action:pan-y}.content{padding-left:12px;padding-right:12px}.card{width:100%;padding-left:16px;padding-right:16px}.grid{width:100%}.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:minmax(0,1fr)!important}.form .grid{grid-template-columns:minmax(0,1fr)!important}.topbar{padding-left:12px;padding-right:12px;gap:8px}.topbar-actions{gap:6px}.mobile-header .btn{width:auto;min-width:0}.btn.full,.form>.btn,.form button[type="submit"]{width:100%;justify-content:center}.split .btn{width:auto;min-width:0}.kpi-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}.kpi-row .right{margin-left:0}.table-wrap:not(.weekly-table-wrap){border:0;background:transparent;overflow:visible}.table-wrap:not(.weekly-table-wrap) .table{display:block;width:100%;min-width:0!important}.table-wrap:not(.weekly-table-wrap) .table thead{display:none}.table-wrap:not(.weekly-table-wrap) .table tbody{display:grid;gap:10px;width:100%}.table-wrap:not(.weekly-table-wrap) .table tr{display:grid;gap:8px;width:100%;border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:12px}.table-wrap:not(.weekly-table-wrap) .table td{display:block;width:100%;border:0!important;padding:0!important;max-width:100%;overflow-wrap:anywhere}.table-wrap:not(.weekly-table-wrap) .table td .split{justify-content:flex-start}.weekly-table-wrap{max-width:100%;overflow-x:auto}.weekly-table{min-width:860px!important}.modal-backdrop{max-width:100vw;overflow-x:hidden}.modal{width:100vw!important;max-width:100vw!important;overflow-x:hidden}.modal .table-wrap:not(.weekly-table-wrap){overflow:visible}.plan-row-preview,.plan-row{width:100%;max-width:100%;overflow:hidden}.plan-main{max-width:100%;overflow-wrap:anywhere}.plan-row-preview .split{max-width:100%;flex-wrap:wrap}.viewer-toolbar{display:flex;flex-wrap:wrap;overflow-x:hidden}.viewer-toolbar>*{max-width:100%}.version-badge{left:8px;bottom:8px;max-width:calc(100vw - 16px)}
}
@media(max-width:430px){.content{padding-left:10px;padding-right:10px}.card{padding:15px;border-radius:18px}.topbar h1{font-size:18px}.btn{padding-left:12px;padding-right:12px}.table-wrap:not(.weekly-table-wrap) .table tr{padding:11px}.field label{font-size:13px}}

/* WABE Office 1.0.5 final */
.receipt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:12px}.receipt-card{display:flex;gap:12px;border:1px solid var(--border,#e5e7eb);border-radius:18px;padding:12px;background:var(--card,#fff);min-width:0}.receipt-thumb{width:74px;height:74px;border-radius:14px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 74px}.receipt-thumb img{width:100%;height:100%;object-fit:cover}.doc-thumb{font-weight:700;color:#475569}.receipt-info{min-width:0;flex:1}.receipt-info p{word-break:break-word}.reaction-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.reaction{border:1px solid var(--border);background:var(--panel);border-radius:999px;padding:6px 10px;font:inherit}.reaction.active{background:#eef2ff;border-color:#c7d2fe}.comments{display:grid;gap:8px;margin-top:8px}.comment{padding:8px 10px;border-radius:12px;background:var(--panel-2);border:1px solid var(--border)}.inline-form{display:flex;gap:8px;margin-top:12px}.inline-form input{flex:1}.file-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.mini-avatar{width:38px;height:38px;border-radius:10px;object-fit:cover;margin-right:8px;vertical-align:middle}.datev-table td,.datev-table th{white-space:nowrap}.update-card{border:1px solid var(--border);border-radius:16px;padding:12px;margin-bottom:10px;background:var(--panel)}.camera-btn input{display:none}.modal,.card,.table-wrap,.weekly-table-wrap{max-width:100%;box-sizing:border-box}.table-wrap{overflow-x:auto}.main,.content,.app-shell{min-width:0}.field input,.field select,.field textarea{max-width:100%;box-sizing:border-box}@media(max-width:760px){.receipt-card{flex-direction:column}.receipt-thumb{width:100%;height:160px}.inline-form{flex-direction:column}.table-wrap{overflow-x:visible}.table{width:100%;display:block}.table thead{display:none}.table tbody,.table tr,.table td{display:block;width:100%}.table tr{border:1px solid var(--border);border-radius:16px;margin-bottom:10px;padding:8px;background:var(--panel)}.table td{border:0!important;padding:6px 4px;white-space:normal!important;word-break:break-word}.datev-table tr{display:grid;grid-template-columns:1fr 1fr}.modal{width:calc(100vw - 22px)!important;max-height:calc(100dvh - 24px);overflow:auto}.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr!important}.topbar,.split{gap:8px;flex-wrap:wrap}.nav-clean button{min-width:0}.content{padding-inline:10px!important}.main{overflow-x:hidden}.weekly-table-wrap{overflow-x:auto}} 

/* Demomodus-Banner (1.0.6) */
#wabeDemoBanner{position:fixed;top:0;left:0;right:0;z-index:90;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;background:var(--accent);color:#1a1300;padding:10px 16px;font-weight:800;box-shadow:0 6px 20px rgba(0,0,0,.18)}
#wabeDemoBanner .wabe-demo-text{font-size:14px}
#wabeDemoBanner button{background:#1a1300;color:#fff;border-radius:10px;padding:8px 14px;font-weight:800;font-size:13px;min-height:36px}
#wabeDemoBanner button:hover{background:#000}
body:has(#wabeDemoBanner) .app-shell{padding-top:46px}
body:has(#wabeDemoBanner) .sidebar{top:46px;height:calc(100vh - 46px)}
body:has(#wabeDemoBanner) .topbar{top:46px}

/* PDF-Handschrift-Editor (1.0.6) */
.pdfsign-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--panel-2);margin-bottom:10px}
.pdfsign-pens{display:inline-flex;gap:6px}
.pdfsign-pen{width:30px;height:30px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--border);cursor:pointer;padding:0}
.pdfsign-pen.active{box-shadow:0 0 0 3px var(--accent)}
.pdfsign-toolbar select{border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:var(--panel);color:var(--text);min-height:38px}
.pdfsign-toolbar .btn{min-height:38px;padding:8px 12px}
.pdfsign-toolbar .btn.secondary.active{background:var(--accent);color:#1a1300;border-color:var(--accent)}
.pdfsign-host{border:1px solid var(--border);border-radius:14px;background:#f1f5f9;padding:12px;max-height:64vh;overflow:auto;display:flex;justify-content:center}
.pdfsign-stage{position:relative;line-height:0;touch-action:none}
.pdfsign-bg{box-shadow:0 6px 24px rgba(0,0,0,.18)}
html[data-theme="dark"] .pdfsign-host{background:#0b1220}

/* Stift/Hand-Umschalter + Vollbild PDF-Editor (1.0.7) */
.pdfsign-input-toggle{display:inline-flex;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.pdfsign-inp{background:var(--panel);color:var(--text);padding:8px 12px;font-weight:700;font-size:13px;min-height:38px;border:0}
.pdfsign-inp.active{background:var(--brand);color:#fff}
html[data-theme="dark"] .pdfsign-inp{background:#172033;color:#f8fafc}
html[data-theme="dark"] .pdfsign-inp.active{background:#f8fafc;color:#0b1020}
/* Vollbild: Modal füllt den Bildschirm, Editor bekommt maximale Höhe */
.modal.pdfsign-fullscreen{position:fixed;inset:0;max-width:100vw;width:100vw;height:100vh;max-height:100vh;border-radius:0;margin:0;padding:14px}
.modal.pdfsign-fullscreen .pdfsign-host{max-height:calc(100vh - 230px)}
.modal.pdfsign-fullscreen .pdfsign-stage{max-width:none}

/* Digitale Nachweis-Formulare (1.0.9) */
.evf-pick{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px}
.evf-pick-btn{display:flex;align-items:center;gap:12px;text-align:left;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2);cursor:pointer;font-size:15px;color:var(--text)}
.evf-pick-btn:hover{border-color:var(--brand);background:var(--panel)}
.evf-pick-ic{font-size:26px;line-height:1}
.evf-form .evf{margin-top:6px}
.evf-block{margin:0 0 14px}
.evf-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:700;font-size:14px;margin-bottom:6px;color:var(--text)}
.evf-f{width:100%;border:1px solid var(--border);border-radius:10px;padding:11px 12px;font-size:15px;background:var(--input,#fff);color:var(--text);margin-bottom:6px;min-height:44px}
.evf-f:last-child{margin-bottom:0}
.evf-big{min-height:96px;resize:vertical}
.evf-mic-hint{display:inline-flex;align-items:center;gap:4px;color:var(--brand);font-size:12px;font-weight:600}
.evf-mic{font-style:normal}
.evf-note{font-size:12px;color:var(--muted);margin:-6px 0 12px}
.evf-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.evf-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.evf-check{display:flex;align-items:center;gap:8px;font-size:14px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);min-height:44px}
.evf-other{grid-column:1/-1}
.evf-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px}
.evf-table{width:100%;border-collapse:collapse;font-size:14px}
.evf-table th{text-align:left;padding:8px 10px;background:var(--panel-2);font-weight:700;border-bottom:1px solid var(--border);white-space:nowrap}
.evf-table td{padding:5px 6px;border-bottom:1px solid var(--border)}
.evf-table td.wide,.evf-table th.wide{width:99%}
.evf-tf{width:100%;border:1px solid transparent;border-radius:8px;padding:9px 8px;font-size:14px;background:transparent;color:var(--text);min-height:40px}
.evf-tf:focus{border-color:var(--brand);background:var(--input,#fff);outline:none}
.evf-tc-x{width:36px;text-align:center}
.evf-row-del{width:28px;height:28px;border-radius:8px;border:0;background:transparent;color:var(--muted);font-size:20px;cursor:pointer}
.evf-row-del:hover{background:rgba(220,40,40,.12);color:#c0392b}
.evf-add{margin-top:8px}
.evf-consent{font-size:12px;color:var(--muted);margin:8px 0 4px;line-height:1.5}
.evf-signpad{position:relative;border:1px dashed var(--border-strong,#94a3b8);border-radius:10px;height:140px;background:var(--panel-2);touch-action:none;cursor:crosshair;display:flex;align-items:center;justify-content:center}
.evf-signpad canvas{position:absolute;inset:0;width:100%;height:100%}
.evf-sign-hint{color:var(--muted);font-size:13px;pointer-events:none}
.evf-signrow-btns{display:flex;justify-content:flex-end;margin-top:6px}
@media(max-width:560px){.evf-grid2,.evf-checks{grid-template-columns:1fr}}

/* Adress-Vorschläge (1.2.0) */
.wabe-addr-box{background:var(--panel,#fff);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.18);max-height:240px;overflow-y:auto}
.wabe-addr-item{padding:11px 13px;font-size:14px;cursor:pointer;border-bottom:1px solid var(--border);color:var(--text)}
.wabe-addr-item:last-child{border-bottom:0}
.wabe-addr-item:hover{background:var(--panel-2)}
html[data-theme="dark"] .wabe-addr-box{background:#0b1220}

/* Team-Chat (1.3.0) */
.chat-wrap{display:flex;flex-direction:column;height:calc(100vh - 76px - 56px);max-height:calc(100vh - 132px);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.chat-head{padding:14px 18px;border-bottom:1px solid var(--border);background:var(--panel-2)}
.chat-head h2{margin:0;font-size:18px}
.chat-sub{font-size:13px;color:var(--muted)}
.chat-stream{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px;background:linear-gradient(180deg,var(--bg),var(--panel-2))}
.chat-empty{margin:auto;color:var(--muted);text-align:center;padding:30px}
.chat-day{display:flex;justify-content:center;margin:10px 0}
.chat-day span{background:rgba(0,0,0,.08);color:var(--muted);font-size:12px;font-weight:700;padding:4px 12px;border-radius:999px}
html[data-theme="dark"] .chat-day span{background:rgba(255,255,255,.1)}
.chat-row{display:flex;max-width:100%}
.chat-row.me{justify-content:flex-end}
.chat-row.them{justify-content:flex-start}
.chat-bubble{max-width:78%;padding:8px 11px;border-radius:16px;font-size:15px;line-height:1.4;box-shadow:0 1px 1px rgba(0,0,0,.08);word-wrap:break-word;overflow-wrap:anywhere}
.chat-row.them .chat-bubble{background:var(--panel);border:1px solid var(--border);border-bottom-left-radius:5px}
.chat-row.me .chat-bubble{background:#d9fdd3;color:#0b1f12;border-bottom-right-radius:5px}
html[data-theme="dark"] .chat-row.me .chat-bubble{background:#005c4b;color:#e9fbe6}
.chat-author{font-size:12px;font-weight:800;color:var(--brand);margin-bottom:2px}
html[data-theme="dark"] .chat-row.them .chat-author{color:#7dd3fc}
.chat-text{white-space:pre-wrap}
.chat-files{margin-top:6px;display:flex;flex-direction:column;gap:4px}
.chat-meta{font-size:11px;color:var(--muted);text-align:right;margin-top:3px;display:flex;align-items:center;justify-content:flex-end;gap:6px}
.chat-row.me .chat-meta{color:#3a6b4f}
html[data-theme="dark"] .chat-row.me .chat-meta{color:#9fd3c4}
.chat-input{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--border);background:var(--panel-2)}
.chat-input textarea{flex:1;resize:none;border:1px solid var(--border);border-radius:20px;padding:11px 14px;font-size:15px;background:var(--panel);color:var(--text);max-height:140px;outline:none;line-height:1.4}
.chat-input textarea:focus{border-color:#98a2b3}
.chat-attach{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--panel);border:1px solid var(--border);cursor:pointer;font-size:20px;flex:0 0 auto}
.chat-attach input{display:none}
.chat-send{width:46px;height:46px;border-radius:50%;background:var(--accent);color:#1a1300;font-size:20px;font-weight:900;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.chat-send:hover{filter:brightness(.95)}
.chat-filename{font-size:12px;color:var(--muted);padding:0 16px 8px;background:var(--panel-2)}
@media(max-width:1000px){.chat-wrap{height:calc(100vh - 76px - 40px)}}
@media(max-width:640px){.chat-bubble{max-width:86%}.chat-wrap{height:calc(100dvh - 132px);border-radius:14px}}

/* Projekt-Detailseite mit Reitern (1.4.0) */
.project-card-clickable{cursor:pointer;transition:transform .1s,box-shadow .1s}
.project-card-clickable:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(16,24,40,.12)}
.proj-detail{max-width:1200px;margin:0 auto}
.proj-back{background:transparent;color:var(--muted);font-weight:700;padding:6px 0;margin-bottom:8px;font-size:14px}
.proj-back:hover{color:var(--text)}
.proj-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}
.proj-header h1{margin:0;font-size:26px}
.proj-sub{color:var(--muted);margin:4px 0 0;font-size:14px}
.proj-tabs{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid var(--border);margin-bottom:18px;padding-bottom:2px}
.proj-tab{background:transparent;color:var(--muted);font-weight:700;font-size:14px;padding:10px 14px;border-radius:12px 12px 0 0;white-space:nowrap;border-bottom:3px solid transparent}
.proj-tab:hover{color:var(--text);background:var(--panel-2)}
.proj-tab.active{color:var(--text);border-bottom-color:var(--accent);background:var(--panel-2)}
.proj-tab span{margin-right:2px}
.proj-tab-body{min-height:200px}
@media(max-width:640px){.proj-header h1{font-size:21px}.proj-tab{padding:9px 11px;font-size:13px}}

/* Aufgaben-Anhänge + nicht-werten-Box (1.4.2) */
.task-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.task-thumb{display:block;width:64px;height:64px;border-radius:8px;overflow:hidden;border:1px solid var(--border)}
.task-thumb img{width:100%;height:100%;object-fit:cover}
.small-btn{padding:6px 10px;font-size:13px}
.warning-box{background:rgba(234,179,8,.12);border:1px solid rgba(234,179,8,.4);border-radius:10px;padding:10px 12px;margin-top:4px}
html[data-theme="dark"] .warning-box{background:rgba(234,179,8,.14)}

/* Wochenplan: Spalten-Reihenfolge + Mehrfachauswahl (2.1.0) */
.wk-col{display:flex;align-items:center;justify-content:center;gap:4px}
.wk-col span{line-height:1.25}
.wk-move{border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:8px;width:24px;height:24px;font-size:11px;line-height:1;padding:0;cursor:pointer;flex:0 0 auto}
.wk-move:hover:not(:disabled){color:var(--text);border-color:var(--brand)}
.wk-move:disabled{opacity:.3;cursor:default}
.wk-multibar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:rgba(59,130,246,.10);border:1px solid rgba(59,130,246,.4);border-radius:12px;padding:10px 14px;margin-bottom:12px;font-size:14px}
html[data-theme="dark"] .wk-multibar{background:rgba(59,130,246,.16)}
.plan-cell.sel{outline:3px solid var(--accent);outline-offset:-3px;border-radius:10px;background:rgba(59,130,246,.08)}
.plan-cell{cursor:pointer}

/* Wochenplan: Ecken-Kästchen zur Mehrfachauswahl (2.1.1) */
.plan-cell{position:relative}
.wk-check{position:absolute;top:5px;right:5px;width:21px;height:21px;accent-color:var(--accent);cursor:pointer;z-index:2;margin:0}
.plan-cell .plan-pill{padding-right:26px}

/* Wochenplan: Montage-Kennzeichnung „M" in der Ecke (2.6.0) */
.wk-montage-badge{position:absolute;top:5px;left:5px;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;border-radius:8px;background:#a7f3d0;color:#064e3b;font-weight:900;font-size:13px;line-height:1;box-shadow:0 1px 2px rgba(0,0,0,.18),inset 0 0 0 1px rgba(0,0,0,.1)}
.plan-cell.montage .plan-pill{padding-left:32px}
.wk-montage-badge.legend-badge{position:static;margin-right:8px;vertical-align:-4px}
.montage-btn{background:#059669;color:#fff}
.montage-btn:hover{background:#047857}

/* Wochenplan-Einstellungen (2.2.0) */
.wa-list{display:flex;flex-direction:column;gap:8px}
.wa-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.wa-row input[type="color"]{width:44px;height:38px;border:1px solid var(--border);border-radius:8px;padding:2px;cursor:pointer;flex:0 0 auto;background:var(--panel)}
.wa-row input[type="text"]{flex:1 1 200px;min-width:160px}
.wa-row .pill{flex:0 0 auto}

/* Einstempel-Badge in der Sidebar (2.2.3) */
.stamp-badge{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;background:rgba(2,122,72,.22);color:#6ee7b7;border:1px solid rgba(52,211,153,.5);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:800;line-height:1.3;animation:stampPulse 2s ease-in-out infinite}
.stamp-badge::first-letter{color:#34d399}
@keyframes stampPulse{0%,100%{opacity:1}50%{opacity:.55}}

.stamp-badge-top{padding:2px 2px 4px;display:flex}

/* Dark Mode: Kontrast-Nachbesserungen 2.9.0 */
html[data-theme="dark"] .plan-file-icon,html[data-theme="dark"] .section-title-icon .nav-icon{color:var(--text)}html[data-theme="dark"] .welcome-card,html[data-theme="dark"] .inventory-placeholder,html[data-theme="dark"] .vehicle-placeholder,html[data-theme="dark"] .version-number-card,html[data-theme="dark"] .finder-folder-card{background:var(--panel-2);color:var(--text)}html[data-theme="dark"] .notice,html[data-theme="dark"] .warning-box,html[data-theme="dark"] .backup-warning{background:var(--panel-2);color:var(--text)}html[data-theme="dark"] .inventory-placeholder-logo{opacity:.5}

/* Projekt-Filter + Status-Auswahl (2.10.0) */
.proj-filterbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.proj-search{flex:1;min-width:200px}
.proj-search,.proj-filter-select,.proj-status-select{border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--text);padding:9px 12px;min-height:40px;font:inherit}
.proj-status-select{font-weight:800;font-size:12px;min-height:32px;padding:4px 26px 4px 10px;cursor:pointer}
.proj-status-select.pill-success{background:#dcfce7;color:#027a48;border-color:#86efac}
.proj-status-select.pill-warning{background:#fef3c7;color:#b54708;border-color:#fde68a}
.proj-status-select.pill-done{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}
.pill.done{background:#dbeafe;color:#1e40af}
html[data-theme="dark"] .proj-status-select.pill-success{background:#063b2d;color:#34d399;border-color:#065f46}
html[data-theme="dark"] .proj-status-select.pill-warning{background:#422006;color:#fbbf24;border-color:#78350f}
html[data-theme="dark"] .proj-status-select.pill-done{background:#0b2447;color:#93c5fd;border-color:#1e3a8a}
html[data-theme="dark"] .proj-status-select.pill-default{background:var(--panel-2)}
html[data-theme="dark"] .pill.done{background:#0b2447;color:#93c5fd}

html[data-theme="dark"] .topbar{background:rgba(17,24,39,.86);border-color:var(--border)}

/* Dark Mode: weitere Content-Flächen (2.10.1) */
html[data-theme="dark"] .weekly-draft-note,
html[data-theme="dark"] .inventory-card-image,
html[data-theme="dark"] .local-demo-note,
html[data-theme="dark"] .receipt-thumb,
html[data-theme="dark"] .pdfsign-host{background:var(--panel-2);color:var(--text)}
html[data-theme="dark"] .user-mini{background:rgba(255,255,255,.06)}

html[data-theme="dark"] .admin-tabs button.active,html[data-theme="dark"] .pdfsign-inp.active{color:#0b1020}

/* ═══════════ Games-Modul (2.11.0) ═══════════ */
.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:12px}
.game-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--panel-2);color:var(--text);cursor:pointer;transition:transform .12s,box-shadow .12s}
.game-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.game-emoji{font-size:32px}
.game-card-name{font-weight:900;font-size:16px}
.game-card-desc{font-size:12px;color:var(--muted)}
.game-card-best{font-size:12px;margin-top:6px}
.game-boards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:8px}
.game-board{border:1px solid var(--border);border-radius:16px;background:var(--panel-2);padding:12px}
.game-board-head{font-weight:900;margin-bottom:8px;font-size:14px}
.game-board-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:14px}
.gb-rank{width:26px;text-align:center}
.gb-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gb-score{font-weight:900}
.game-board-empty{color:var(--muted);font-size:13px}

/* Vollbild-Overlay während des Spielens */
.games-overlay{position:fixed;inset:0;z-index:9000;background:#0b1020;color:#f8fafc;display:flex;flex-direction:column;padding:10px;gap:8px}
.games-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px}
.game-title{font-weight:900;font-size:18px}
.game-score{font-size:14px}
.game-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;position:relative}
.game-hint{text-align:center;font-size:12px;color:#94a3b8;min-height:16px}
.game-canvas{background:#0b1020;border-radius:10px;image-rendering:pixelated;max-width:100%;max-height:100%;touch-action:none}

/* 2048 */
.g2048{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#1c2333;padding:10px;border-radius:14px;width:min(92vw,min(78vh,440px));aspect-ratio:1}
.t2048{display:flex;align-items:center;justify-content:center;background:#2a3348;border-radius:8px;font-weight:900;font-size:clamp(16px,6vw,34px);color:#fff}

/* Memory */
.mem-info{width:100%;text-align:center;font-size:13px;color:#cbd5e1;margin-bottom:8px}
.mem-grid{display:grid;grid-template-columns:repeat(var(--cols,4),1fr);gap:8px;width:min(94vw,min(72vh,460px))}
.mem-card{aspect-ratio:1;border:none;border-radius:12px;background:#334155;color:#f8fafc;font-size:clamp(18px,7vw,34px);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,transform .1s}
.mem-card.up{background:#475569}
.mem-card.done{background:#065f46}
.mem-card:active{transform:scale(.96)}

/* Ergebnis-Panel */
.game-result{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(4,7,15,.82);padding:16px}
.game-result-card{background:#111827;border:1px solid #293449;border-radius:20px;padding:24px;max-width:420px;width:100%;text-align:center;max-height:90%;overflow:auto}
.game-record{color:#fbbf24;font-weight:900;margin-bottom:6px}
.game-final{font-size:40px;font-weight:900;margin:6px 0 14px;color:#34d399}
.game-result-actions{display:flex;gap:10px;justify-content:center;margin-top:16px;flex-wrap:wrap}
.game-board-wrap .game-board{background:#0b1020}
@media(max-width:760px){.games-overlay{padding:8px}.game-title{font-size:16px}}

/* Games: Ranglisten-Umschalter + Minesweeper (2.11.1) */
.game-board-toggle{display:flex;gap:6px}
.game-board-toggle .btn{padding:6px 12px;min-height:34px}
.mine-bar{width:100%;text-align:center;font-size:13px;color:#cbd5e1;margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.mine-bar .btn{padding:4px 10px;min-height:30px}
.mine-grid{display:grid;grid-template-columns:repeat(var(--n,8),1fr);gap:3px;width:min(94vw,min(70vh,460px))}
.mine-cell{aspect-ratio:1;border:none;border-radius:5px;background:#475569;color:#f8fafc;font-weight:900;font-size:clamp(12px,4.4vw,20px);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.mine-cell.open{background:#1e293b;cursor:default}
.mine-cell.boom{background:#b91c1c}
.mine-cell.n1{color:#60a5fa}.mine-cell.n2{color:#34d399}.mine-cell.n3{color:#f87171}.mine-cell.n4{color:#a78bfa}.mine-cell.n5{color:#fb923c}.mine-cell.n6{color:#22d3ee}.mine-cell.n7{color:#f472b6}.mine-cell.n8{color:#e5e7eb}

/* Benachrichtigungs-Hinweis-Banner (2.12.0) */
.notif-banner{position:fixed;left:0;right:0;bottom:0;z-index:8000;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#101828;color:#f8fafc;border-top:1px solid #293449;box-shadow:0 -8px 24px rgba(0,0,0,.28);font-size:14px}
.notif-banner span{flex:1;line-height:1.45}
.notif-banner .btn{white-space:nowrap}
.notif-close{background:transparent;border:none;color:#94a3b8;font-size:18px;cursor:pointer;padding:4px 8px;line-height:1}
@media(max-width:760px){.notif-banner{flex-wrap:wrap;padding-bottom:calc(12px + env(safe-area-inset-bottom))}}

/* Datentabellen wieder lesbar: horizontal scrollen statt Spalten zu zerquetschen (2.14.0)
   Behebt das „Buchstaben stapeln sich senkrecht"-Problem (word-break:break-word). */
.table-wrap:not(.weekly-table-wrap){overflow-x:auto!important;-webkit-overflow-scrolling:touch}
.table-wrap:not(.weekly-table-wrap) .table,
.table:not(.weekly-table){display:table!important;width:auto!important;min-width:100%!important;border-collapse:collapse}
.table:not(.weekly-table) th,
.table:not(.weekly-table) td{white-space:nowrap!important;word-break:normal!important;padding:10px 12px!important;border-bottom:1px solid var(--border)!important;max-width:360px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.table:not(.weekly-table) th{text-align:left}

/* Projekt-Stift-Menü (2.15.0) */
.project-card{overflow:visible}
.proj-head{position:relative;display:inline-flex;align-items:center;gap:8px}
.proj-pencil{width:34px;height:34px;border-radius:10px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;flex:none}
.proj-pencil:hover{background:var(--panel)}
.proj-menu{position:absolute;top:42px;right:0;z-index:20;min-width:200px;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column;gap:2px}
.proj-menu[hidden]{display:none}
.proj-menu-item{display:block;width:100%;text-align:left;padding:10px 12px;border:0;background:transparent;color:var(--text);border-radius:10px;font:inherit;font-weight:700;font-size:14px;cursor:pointer;white-space:nowrap}
.proj-menu-item:hover{background:var(--panel-2)}
.proj-menu-item.danger{color:var(--danger)}

/* Plan-Vorschau (2.15.0) */
.plan-preview{display:flex;flex-direction:column;gap:10px}
.plan-preview-img{width:100%;max-height:60vh;object-fit:contain;border:1px solid var(--border);border-radius:14px;background:var(--panel-2)}
.plan-preview-pdf{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:200px;border:1px solid var(--border);border-radius:14px;background:var(--panel-2)}
.plan-preview-pdf .plan-file-icon{font-size:34px;font-weight:900;color:var(--muted)}
.plan-preview-meta{font-size:14px}
.plan-row-preview{cursor:pointer}

/* Wochenplan-Zoom (2.15.0) */
.weekly-zoom-toolbar{display:flex;align-items:center;gap:8px;margin:8px 0;flex-wrap:wrap}
.wk-zoom-btn{min-width:40px;font-size:18px;font-weight:900;padding:6px 12px}
.wk-zoom-label{min-width:52px;text-align:center;font-weight:800}
.weekly-zoom-wrap{overflow:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.weekly-zoom{transform-origin:top left}

/* Projekt-Chat (WhatsApp-Stil) 2.16.0 */
.chat-overlay{position:fixed;inset:0;z-index:9500;background:var(--bg);display:flex;flex-direction:column}
html[data-theme="dark"] .chat-overlay{background:#0b141a}
.chat-topbar{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel);border-bottom:1px solid var(--border);flex:none}
.chat-title{font-weight:900;font-size:16px;flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-topbar-spacer{width:72px;flex:none}
.chat-messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px}
.chat-msg{display:flex;max-width:80%}
.chat-msg.own{align-self:flex-end;justify-content:flex-end}
.chat-bubble{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:8px 10px;box-shadow:0 1px 1px rgba(0,0,0,.06);min-width:90px;max-width:100%}
.chat-msg.own .chat-bubble{background:#d9fdd3;border-color:#c5f0bc;color:#07110f}
html[data-theme="dark"] .chat-msg.own .chat-bubble{background:#005c4b;border-color:#005c4b;color:#e9f7ef}
.chat-name{font-weight:900;font-size:12px;margin-bottom:2px}
.chat-text{font-size:14px;line-height:1.4;white-space:pre-wrap;word-break:break-word}
.chat-time{font-size:10px;color:var(--muted);text-align:right;margin-top:3px}
.chat-msg.own .chat-time{color:#4b6b60}
.chat-img img{max-width:220px;max-height:220px;border-radius:10px;display:block;margin-bottom:4px}
.chat-file{display:inline-flex;align-items:center;gap:6px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:8px 10px;color:var(--text);text-decoration:none;font-weight:700;font-size:13px;margin-bottom:4px}
.chat-emoji-bar{display:flex;gap:4px;overflow-x:auto;padding:6px 10px;background:var(--panel);border-top:1px solid var(--border);flex:none}
.chat-emoji{border:0;background:transparent;font-size:22px;cursor:pointer;padding:2px 4px;line-height:1}
.chat-attach-preview{display:flex;gap:6px;flex-wrap:wrap;padding:6px 10px;background:var(--panel)}
.chat-attach-chip{font-size:12px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:4px 8px}
.chat-input-bar{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;background:var(--panel);border-top:1px solid var(--border);flex:none;padding-bottom:max(10px,env(safe-area-inset-bottom))}
.chat-attach{font-size:22px;cursor:pointer;flex:none;padding:6px}
.chat-input{flex:1;resize:none;max-height:120px;border:1px solid var(--border);border-radius:18px;background:var(--panel-2);color:var(--text);padding:10px 14px;font:inherit;font-size:15px}
.chat-send{flex:none;min-width:48px;border-radius:999px;font-size:18px}

/* Projekt-Statistik (2.18.0) */
.proj-stats{display:flex;flex-direction:column;gap:14px}
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.stat-tile{background:var(--panel-2);border:1px solid var(--border);border-radius:16px;padding:14px;text-align:center}
.stat-value{display:block;font-size:24px;font-weight:900;line-height:1.1}
.stat-label{display:block;font-size:12px;color:var(--muted);margin-top:3px}
.stat-bars{display:flex;flex-direction:column;gap:8px}
.stat-bar-row{display:flex;align-items:center;gap:10px}
.stat-bar-label{width:56px;font-size:12px;font-weight:800;color:var(--muted);flex:none}
.stat-bar-track{flex:1;height:14px;background:var(--panel-2);border-radius:999px;overflow:hidden}
.stat-bar-fill{display:block;height:100%;background:var(--accent);border-radius:999px;min-width:2px}
.stat-bar-val{width:66px;text-align:right;font-size:12px;font-weight:800;flex:none}

/* ============================================================
   Emil-Kowalski-Motion- & Politur-Schicht (2.20.0)
   Feine Federn-Animationen, Sonner-Toasts, Vaul-Sheets,
   Press-States & Fokus-Ringe. Nicht-destruktiv, ganz am Ende.
   ============================================================ */
:root{--ease-out:cubic-bezier(.22,1,.36,1);--ease-spring:cubic-bezier(.34,1.4,.5,1);--mk-ring:rgba(242,183,5,.45);--mk-shadow-sm:0 1px 2px rgba(16,24,40,.08);--mk-shadow-md:0 8px 30px rgba(16,24,40,.14),0 2px 6px rgba(16,24,40,.06)}
[data-theme="dark"]{--mk-ring:rgba(250,204,21,.4);--mk-shadow-sm:0 1px 2px rgba(0,0,0,.4);--mk-shadow-md:0 12px 40px rgba(0,0,0,.5),0 2px 8px rgba(0,0,0,.35)}

/* Buttons: geschmeidiger Übergang, Druck-Feedback, Fokus-Ring */
.btn{transition:transform .12s var(--ease-out),background-color .18s var(--ease-out),box-shadow .18s var(--ease-out),border-color .18s var(--ease-out),color .18s var(--ease-out)}
.btn:not(.secondary):not(.ghost){box-shadow:var(--mk-shadow-sm)}
.btn:hover{box-shadow:var(--mk-shadow-md)}
.btn.secondary:hover,.btn.ghost:hover{box-shadow:var(--mk-shadow-sm)}
.btn:active{transform:scale(.97)}
.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--mk-ring)}

/* Nav-Einträge: weicher Wechsel + minimaler Press */
.nav button{transition:background-color .16s var(--ease-out),color .16s var(--ease-out),transform .12s var(--ease-out)}
.nav button:active{transform:scale(.985)}

/* Formularfelder: ruhiger Fokus-Ring statt harter Rahmen */
.field input,.field select,.field textarea,input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],input[type=datetime-local],input[type=date],select,textarea{transition:border-color .16s var(--ease-out),box-shadow .16s var(--ease-out)}
.field input:focus,.field select:focus,.field textarea:focus,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--mk-ring)}

/* Karten & Listenzeilen: dezente Anhebung bei Interaktion */
.card{transition:box-shadow .2s var(--ease-out),transform .2s var(--ease-out),border-color .2s var(--ease-out)}
.project-card,.calendar-list-row,.kpi-row[onclick],[role=button].calendar-day{transition:transform .18s var(--ease-out),box-shadow .2s var(--ease-out),background-color .18s var(--ease-out)}
.project-card:hover{transform:translateY(-2px);box-shadow:var(--mk-shadow-md)}
.project-card:active{transform:translateY(0) scale(.997)}
.calendar-list-row{cursor:pointer}
.calendar-list-row:hover{background:var(--panel-2)}
.event-chip.clickable{transition:transform .12s var(--ease-out),filter .16s var(--ease-out)}
.event-chip.clickable:hover{filter:brightness(1.06)}
.event-chip.clickable:active{transform:scale(.97)}

/* Pills/Status: sanfter Farbwechsel */
.pill,.proj-status-select{transition:background-color .18s var(--ease-out),color .18s var(--ease-out),box-shadow .18s var(--ease-out)}

/* --- Sonner-artiger Toast ------------------------------------ */
.toast{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:14px;box-shadow:var(--mk-shadow-md);opacity:0;transform:translateY(16px) scale(.96);transition:opacity .26s var(--ease-out),transform .4s var(--ease-spring);will-change:transform,opacity;font-weight:600}
.toast.toast--visible{opacity:1;transform:none}

/* --- Vaul-artige Modale -------------------------------------- */
.modal-backdrop{animation:mk-backdrop-in .22s var(--ease-out);backdrop-filter:saturate(120%) blur(3px)}
.modal{animation:mk-modal-in .42s var(--ease-spring)}
.modal-backdrop.modal-backdrop--closing{animation:mk-backdrop-out .2s var(--ease-out) forwards}
.modal-backdrop.modal-backdrop--closing .modal{animation:mk-modal-out .2s var(--ease-out) forwards}
.modal-head .close{transition:background-color .15s var(--ease-out),transform .1s var(--ease-out);border-radius:10px}
.modal-head .close:hover{background:var(--panel-2)}
.modal-head .close:active{transform:scale(.9)}
@keyframes mk-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes mk-backdrop-out{from{opacity:1}to{opacity:0}}
@keyframes mk-modal-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes mk-modal-out{from{opacity:1;transform:none}to{opacity:0;transform:translateY(8px) scale(.985)}}

/* Auf dem Handy: Modal als Bottom-Sheet (Vaul-Stil) mit Zieh-Griff.
   Überschreibt gezielt die bestehende Vollbild-Regel (min-height:100dvh),
   lässt aber den PDF-Vollbild-Modus unangetastet. */
@media (max-width:640px){
  .modal-backdrop{align-items:flex-end;justify-content:center;padding:0}
  .modal:not(.pdfsign-fullscreen){width:100%!important;max-width:100%!important;min-height:auto!important;max-height:92dvh!important;border-radius:20px 20px 0 0!important;padding-top:26px;animation:mk-sheet-in .44s var(--ease-spring)}
  .modal:not(.pdfsign-fullscreen)::before{content:"";display:block;width:40px;height:5px;margin:-14px auto 12px;border-radius:999px;background:var(--border)}
  .modal-backdrop.modal-backdrop--closing .modal:not(.pdfsign-fullscreen){animation:mk-sheet-out .24s var(--ease-out) forwards}
}
@keyframes mk-sheet-in{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes mk-sheet-out{from{transform:translateY(0)}to{transform:translateY(100%)}}

/* Barrierefreiheit: wer weniger Bewegung möchte, bekommt sie nicht */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* Stick-Duell: Touch-Steuerung (2.21.0) */
.sf-ctrl{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:space-between;padding:0 14px;pointer-events:none;z-index:5}
.sf-group{display:flex;gap:12px}
.sf-btn{width:62px;height:62px;border-radius:50%;background:rgba(255,255,255,.13);border:2px solid rgba(255,255,255,.32);color:#fff;font-size:24px;font-weight:800;display:flex;align-items:center;justify-content:center;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.sf-btn:active{background:rgba(255,255,255,.3);transform:scale(.93)}
.sf-btn.fire{background:rgba(242,183,5,.85);border-color:rgba(255,255,255,.5)}
@media (max-width:640px){.sf-btn{width:56px;height:56px}}

/* Chat-Lesebestätigungen + Vollbild am Handy + kompakte Projektliste (2.22.0) */
.chat-ticks{margin-left:6px;font-size:12px;letter-spacing:-2px;color:#8aa0ab;font-weight:700}
.chat-ticks.read{color:#53bdeb}
.chat-msg.own .chat-bubble{cursor:pointer}
.chat-readinfo{margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,0,0,.12);font-size:12px}
[data-theme="dark"] .chat-readinfo{border-top-color:rgba(255,255,255,.18)}
.chat-readinfo-head{font-weight:800;margin:4px 0 2px;opacity:.75}
.chat-readinfo-row{display:flex;justify-content:space-between;gap:14px;padding:1px 0;opacity:.9}
body.chat-open{overflow:hidden}
.chat-overlay{height:100dvh}
.chat-overlay.chat-mobile .chat-topbar{padding-top:calc(10px + env(safe-area-inset-top))}
.chat-overlay.chat-mobile .chat-input-bar{padding-bottom:calc(8px + env(safe-area-inset-bottom))}
.chat-overlay.chat-mobile .chat-messages{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}

/* Kompakte Projektkarten: nur Name + Status, Klick klappt auf */
.proj-collapse-head{cursor:pointer;user-select:none;-webkit-user-select:none;align-items:center}
.proj-collapse-head h3{margin:0}
.project-card.proj-collapsed .proj-body{padding-bottom:0}
.proj-caret{color:var(--muted);font-size:15px;margin-left:6px;flex:none;transition:transform .18s var(--ease-out, ease)}
.proj-admin-actions{margin-top:2px;padding-top:8px;border-top:1px dashed var(--border)}
.proj-admin-actions .btn.ghost{border:1px solid var(--border)}

/* Wochenplan: mehrere Einsätze pro Tag, Uhrzeiten, +N-Anzeige (2.23.0) */
.plan-cell .plan-pill + .plan-pill{margin-top:4px}
.wk-time{display:block;font-size:10.5px;font-weight:800;opacity:.85;letter-spacing:.2px}
.wk-more{display:inline-flex;align-items:center;justify-content:center;margin-top:4px;padding:2px 10px;border-radius:999px;background:var(--brand);color:#fff;font-size:12px;font-weight:800;cursor:help}
[data-theme="dark"] .wk-more{background:var(--accent);color:#111827}
.wk-extras{margin-top:4px}
.wk-extra-row{border:1px dashed var(--border);border-radius:14px;padding:12px;margin-top:10px}
.wk-extra-head strong{font-size:13px;color:var(--muted)}

/* 3.0.0-Audit-Fix: Monatskalender am Handy nicht mehr abgeschnitten
   (58px-Mindestspalten sprengten 375px-Viewport; Karte clippte die Sonntags-Spalte) */
@media (max-width:640px){
  .calendar-days{grid-template-columns:repeat(7,minmax(0,1fr))!important}
  .calendar-weekdays{grid-template-columns:repeat(7,minmax(0,1fr))!important}
  .calendar-day{min-width:0;min-height:84px;padding:6px 3px}
  .calendar-day .day-number{font-size:11px}
  .calendar-day .event-chip{font-size:9px;padding:2px 4px}
}

/* 3.0.1: Projektliste am Handy einheitlich – Name oben, Status IMMER darunter
   (vorher sprang der Status je nach Namenslänge neben/unter den Namen) */
@media (max-width:640px){
  .project-card .proj-collapse-head{flex-direction:column;align-items:stretch;gap:10px;flex-wrap:nowrap}
  .project-card .proj-collapse-head h3{width:100%}
  .project-card .proj-collapse-head .proj-head{display:flex;width:100%;justify-content:space-between;align-items:center}
  .project-card .proj-collapse-head .proj-status-select{max-width:70%}
}

/* Mängelabarbeitung (3.1.0) */
.mgl-badge{display:inline-flex;min-width:18px;height:18px;padding:0 5px;align-items:center;justify-content:center;border-radius:999px;background:var(--danger);color:#fff;font-size:11px;font-weight:800;margin-left:4px}
.mgl-progress-wrap{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.mgl-progress{flex:1;height:8px;border-radius:4px;background:var(--panel-2);overflow:hidden}
.mgl-progress span{display:block;height:100%;background:var(--success)}
.mgl-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.mgl-row{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--panel-2);cursor:pointer;transition:background-color .16s var(--ease-out,ease),transform .12s var(--ease-out,ease)}
.mgl-row:hover{background:var(--panel)}
.mgl-row:active{transform:scale(.995)}
.mgl-row.done{opacity:.7}
.mgl-check{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid var(--danger);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;color:#052e1e}
.mgl-row.done .mgl-check{background:var(--success);border-color:var(--success)}
.mgl-thumb{flex:none;width:52px;height:52px;border-radius:10px;overflow:hidden;background:var(--panel);display:flex;align-items:center;justify-content:center;font-size:20px}
.mgl-thumb img{width:100%;height:100%;object-fit:cover}
.mgl-main{flex:1;min-width:0}
.mgl-main strong{display:block;overflow:hidden;text-overflow:ellipsis}
.mgl-row.done .mgl-main strong{text-decoration:line-through;color:var(--muted)}
.mgl-chev{flex:none;color:var(--muted);font-size:18px}
.mgl-detail .card.flat{margin-top:12px}
.mgl-photos{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.mgl-photo{width:92px;height:92px;border-radius:10px;overflow:hidden;display:block}
.mgl-photo img{width:100%;height:100%;object-fit:cover}
.mgl-resp{border-left:3px solid var(--border);padding:2px 0 2px 10px;margin-bottom:10px}
.mgl-donecheck{margin:10px 0;font-weight:700}
.mgl-file{font-size:12px;padding:4px 8px;border-radius:8px;background:var(--panel-2);border:1px solid var(--border)}

/* In-App-Datei-Viewer (3.2.0): Vollbild + untere Leiste mit Zurück/Teilen/Blättern */
body.planview-open{overflow:hidden}
.planview-overlay{position:fixed;inset:0;z-index:9600;background:#0b1020;display:flex;flex-direction:column;height:100dvh}
.planview-title{flex:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:#111827;border-bottom:1px solid #293449;color:#f8fafc}
.planview-title strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.planview-title span{flex:none;font-size:12px;font-weight:800;color:#94a3b8}
.planview-body{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px}
.planview-img{max-width:100%;height:auto;border-radius:10px}
.planview-page{max-width:100%;height:auto;background:#fff;border-radius:6px;box-shadow:0 2px 14px rgba(0,0,0,.45)}
.planview-body .empty{color:#94a3b8;margin-top:40px}
.planview-bar{flex:none;display:flex;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#111827;border-top:1px solid #293449}
.planview-btn{min-height:46px;font-weight:800}
.planview-btn#planviewPrev,.planview-btn#planviewNext{flex:0 0 56px;font-size:18px}
.planview-back{flex:0 0 56px;background:#1f2937;color:#f8fafc;border:1px solid #374151;display:inline-flex;align-items:center;justify-content:center;padding:0}
.planview-share{flex:0 0 64px;background:#f2b705;color:#111827;display:inline-flex;align-items:center;justify-content:center;padding:0}
.planview-bar .planview-btn:not(#planviewPrev):not(#planviewNext):not(.planview-back):not(.planview-share){flex:1;white-space:nowrap}
@media(max-width:480px){.planview-bar{gap:6px;padding-left:8px;padding-right:8px}.planview-btn#planviewPrev,.planview-btn#planviewNext{flex:0 0 44px;font-size:17px}.planview-back{flex:0 0 46px}.planview-share{flex:0 0 52px}.planview-bar .planview-btn{padding-left:6px;padding-right:6px;font-size:14px}}
.planview-btn:disabled{opacity:.35;cursor:default}

/* Projekt-Filter (3.2.0): beschriftetes "Filtern"-Dropdown, merkt sich die Auswahl */
.proj-filter-label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:800;color:var(--muted);letter-spacing:.3px}
.proj-filter-status{border-color:var(--accent)}
@media (max-width:640px){
  .proj-filterbar{gap:10px}
  .proj-filter-label{flex:1;min-width:44%}
  .proj-filterbar .proj-search{width:100%;order:3}
  .proj-filter-select{width:100%}
}

/* Viewer-Zoom (3.3.0): Zwei-Finger-Zoom auf den Inhalt statt Browser-Zoom */
.planview-zoom{width:100%;transform-origin:0 0;display:flex;flex-direction:column;align-items:center;gap:10px}
.planview-body{touch-action:pan-y}

/* Helle Seitenleiste im Hellmodus (3.3.0) – Dunkelmodus bleibt unverändert dunkel */
.sidebar{background:var(--panel);color:var(--text);border-right:1px solid var(--border)}
.brand{border-bottom:1px solid var(--border)}
.brand img{border:1px solid var(--border)}
.brand span{color:var(--muted)}
.nav button{color:#4b5563}
.nav button:hover,.nav button.active{background:#eef2f7;color:var(--brand)}
.user-mini{background:var(--panel-2);border:1px solid var(--border)}
.user-mini span{color:var(--muted)}
[data-theme="dark"] .sidebar{background:linear-gradient(180deg,#030712,#0b1020);color:#fff;border-right:0}
[data-theme="dark"] .brand{border-bottom:1px solid rgba(255,255,255,.12)}
[data-theme="dark"] .brand img{border:0}
[data-theme="dark"] .brand span{color:rgba(255,255,255,.7)}
[data-theme="dark"] .nav button{color:rgba(255,255,255,.76)}
[data-theme="dark"] .nav button:hover,[data-theme="dark"] .nav button.active{background:rgba(255,255,255,.1);color:#fff}
[data-theme="dark"] .user-mini{background:rgba(255,255,255,.08);border:0}
[data-theme="dark"] .user-mini span{color:rgba(255,255,255,.72)}

/* ═══════════ Edel-Theme (3.5.0) — reine Optik, keine Struktur ═══════════ */
[data-theme="edel"]{--bg:#f6f1e9;--panel:#fffdf9;--panel-2:#f1eadd;--text:#23201c;--muted:#8a8177;--border:#e9e0cf;--brand:#1f1d1a;--brand-2:#3a352e;--accent:#c9a35c;--danger:#a05a49;--success:#5f7350;--warning:#96733a;--shadow:0 14px 44px rgba(90,70,40,.10);--mk-ring:rgba(201,163,92,.45);--mk-shadow-sm:0 1px 2px rgba(90,70,40,.08);--mk-shadow-md:0 10px 32px rgba(90,70,40,.14),0 2px 6px rgba(90,70,40,.06)}

/* Serifen NUR für Überschriften & große Werte – Datenzeilen bleiben Sans (Lesbarkeit) */
[data-theme="edel"] h1,[data-theme="edel"] h2,[data-theme="edel"] h3,
[data-theme="edel"] .brand strong,[data-theme="edel"] .stat-value,
[data-theme="edel"] .metric strong,[data-theme="edel"] .game-final,
[data-theme="edel"] .proj-collapse-head h3,[data-theme="edel"] .welcome-time strong,
[data-theme="edel"] .game-title{font-family:Georgia,'Times New Roman',serif;font-weight:600;letter-spacing:.2px}
[data-theme="edel"] .eyebrow,[data-theme="edel"] .help{font-style:italic}

/* Seitenleiste hell & edel — Logo (.brand img) bleibt exakt wie es ist */
[data-theme="edel"] .sidebar{background:#fffdf9;color:var(--text);border-right:1px solid var(--border)}
[data-theme="edel"] .brand{border-bottom:1px solid var(--border)}
[data-theme="edel"] .brand span{color:var(--muted);font-style:italic}
[data-theme="edel"] .nav button{color:var(--muted)}
[data-theme="edel"] .nav button:hover{background:var(--panel-2);color:var(--text)}
[data-theme="edel"] .nav button.active{background:#1f1d1a;color:#f0e8da}
[data-theme="edel"] .nav button.active .nav-icon{color:#c9a35c}
[data-theme="edel"] .nav .badge{background:#b3705f;color:#fff}
[data-theme="edel"] .user-mini{background:var(--panel-2)}
[data-theme="edel"] .user-mini span,[data-theme="edel"] .user-mini strong{color:var(--text)}
[data-theme="edel"] .user-mini span{color:var(--muted)}

/* Topbar & Karten */
[data-theme="edel"] .topbar{background:rgba(255,253,249,.86);border-bottom:1px solid var(--border)}
[data-theme="edel"] .card{border-color:#eee4d2;box-shadow:0 10px 30px rgba(90,70,40,.07)}
[data-theme="edel"] .card.flat{box-shadow:none}

/* Buttons: eine dunkle Hauptaktion, ruhige Sekundärflächen */
[data-theme="edel"] .btn:hover{background:#3a352e}
[data-theme="edel"] .btn.secondary{background:var(--panel);color:var(--text);border:1px solid var(--border)}
[data-theme="edel"] .btn.secondary:hover{background:var(--panel-2)}
[data-theme="edel"] .btn.danger{background:#a05a49}
[data-theme="edel"] .btn.success{background:#5f7350}
[data-theme="edel"] .btn.warning{background:#96733a}

/* Pastell-Status (Pills + Status-Dropdown der Projekte) */
[data-theme="edel"] .pill.success,[data-theme="edel"] .proj-status-select.pill-success{background:#e8efe2;color:#5f7350;border-color:#d4dfc9}
[data-theme="edel"] .pill.warning,[data-theme="edel"] .proj-status-select.pill-warning{background:#f4ead7;color:#96733a;border-color:#e6d6b8}
[data-theme="edel"] .pill.done,[data-theme="edel"] .proj-status-select.pill-done{background:#ece7dd;color:#7c7466;border-color:#ddd5c5}
[data-theme="edel"] .pill.brand{background:#f4e7e2;color:#a05a49}
[data-theme="edel"] .proj-status-select.pill-default{background:var(--panel-2);color:var(--muted)}

/* Projekt-Filter & Karten-Details */
[data-theme="edel"] .proj-filter-status{border-color:#d9b8ac}
[data-theme="edel"] .proj-caret{color:#b3705f}

/* Wochenplan: Karten in den Zellen weicher & gedämpft, Struktur unverändert */
[data-theme="edel"] .plan-pill{filter:saturate(.68);border-radius:12px}
[data-theme="edel"] .wk-more{background:#1f1d1a;color:#f0e8da}
[data-theme="edel"] .weekly-table th{font-weight:600}

/* Chat: eigene Nachricht creme statt grün, Rest unverändert */
[data-theme="edel"] .chat-overlay{background:var(--bg)}
[data-theme="edel"] .chat-msg.own .chat-bubble{background:#efe4d3;color:#23201c}
[data-theme="edel"] .chat-msg.own .chat-time{color:#96733a}
[data-theme="edel"] .chat-ticks{color:#a89c8a}
[data-theme="edel"] .chat-ticks.read{color:#b3705f}

/* Kalender & Statistik-Kacheln */
[data-theme="edel"] .calendar-day{background:#fdfaf4}
[data-theme="edel"] .calendar-day.today{border-color:#c9a35c}
[data-theme="edel"] .stat-tile{background:var(--panel-2)}
[data-theme="edel"] .stat-bar-fill{background:#c9a35c}

/* Viewer & Modals erben die Variablen automatisch */
[data-theme="edel"] .planview-topbar,[data-theme="edel"] .planview-toolbar{background:rgba(255,253,249,.92)}
[data-theme="edel"] .welcome-card{background:linear-gradient(135deg,#fffdf9,#f6efe2)}

/* Unterlagen 3.7.0: Drag & Drop + Anmerkungen + Viewer-Erweiterung */
.plan-drop-active{outline:3px dashed var(--accent);outline-offset:-6px;border-radius:18px;background:color-mix(in srgb, var(--accent) 6%, transparent)}
.plan-note{color:var(--warning);font-size:12px;font-style:italic}
.planview-note{flex:none;background:rgba(242,183,5,.14);color:var(--text);font-size:13px;padding:8px 16px;border-bottom:1px solid var(--border)}
[data-theme="dark"] .planview-note{background:rgba(250,204,21,.12);color:#fde68a}
.planview-bar .planview-btn{min-width:0}

/* ═══════════ Okey (3.8.0) – klassischer Spieltisch ═══════════ */
.okey-root{width:100%;max-width:900px;margin:0 auto;padding:4px}
.okey-lobby h3{margin:18px 0 8px}
.okey-table-row{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:12px 14px;margin-bottom:8px;color:var(--text)}
.okey-new{width:100%;font-size:16px;min-height:52px}
.okey-game{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.35)}
/* Grüner Filz */
.okey-felt{position:relative;min-height:400px;background:radial-gradient(ellipse at 50% 35%, #35845a 0%, #276b47 55%, #1d5638 100%);background-color:#276b47}
.okey-felt::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg, rgba(255,255,255,.022) 0 14px, transparent 14px 28px);pointer-events:none}
/* Holz-Namensschilder */
.okey-plate{position:absolute;background:linear-gradient(180deg,#a06f3e,#7c5230);border:2px solid #5d3d22;border-radius:10px;padding:5px;box-shadow:0 4px 10px rgba(0,0,0,.35);display:flex;align-items:center;gap:6px;z-index:2}
.okey-plate span{background:#f2e9d4;border-radius:6px;padding:4px 14px;font-weight:800;font-size:13px;color:#3d2c18;white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}
.okey-plate small{color:#f2e9d4;font-weight:800;font-size:11px;padding-right:4px}
.okey-plate.top{top:10px;left:50%;transform:translateX(-50%)}
.okey-plate.left{left:6px;top:22%}
.okey-plate.right{right:6px;top:22%}
.okey-plate.left span,.okey-plate.right span{max-width:82px;font-size:11.5px;padding:3px 9px}
.okey-plate.at-turn{box-shadow:0 0 0 3px #ffd54d, 0 4px 12px rgba(0,0,0,.4)}
/* Steine: Creme, Zahl oben, farbiger Punkt darunter */
.okey-tile{display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-start;width:44px;height:62px;border-radius:7px;background:linear-gradient(180deg,#faf3e0,#e9dcc2);border:1px solid #c9b993;box-shadow:0 3px 6px rgba(0,0,0,.3), inset 0 1px 0 #fffdf5;padding-top:5px}
.okey-tile .tnum{font-weight:900;font-size:23px;line-height:1;font-family:Arial,Helvetica,sans-serif}
.okey-tile .tdot{width:11px;height:11px;border-radius:50%;margin-top:6px;border:1px solid rgba(0,0,0,.25)}
.okey-tile.small{width:30px;height:42px;padding-top:3px}
.okey-tile.small .tnum{font-size:15px}
.okey-tile.small .tdot{width:7px;height:7px;margin-top:3px}
.okey-tile.c-r .tnum{color:#d3352b}.okey-tile.c-r .tdot{background:#d3352b}
.okey-tile.c-s .tnum{color:#26221d}.okey-tile.c-s .tdot{background:#26221d}
.okey-tile.c-b .tnum{color:#1f63c0}.okey-tile.c-b .tdot{background:#1f63c0}
.okey-tile.c-g .tnum{color:#e0a013}.okey-tile.c-g .tdot{background:#e0a013}
.okey-tile.c-f .tnum{color:#2c9c4f}.okey-tile.c-f .tdot{background:#2c9c4f}
.okey-tile.joker{box-shadow:0 0 0 2px #ffd54d, 0 3px 8px rgba(0,0,0,.35)}
/* Abwürfe auf dem Filz */
.okey-fdisc{position:absolute;z-index:1}
.okey-fdisc.top{top:14px;right:18%}
.okey-fdisc.left{left:14px;top:38%}
.okey-fdisc.right{right:14px;top:32%}
.okey-fdisc.mine{right:14px;bottom:56px}
.okey-fdisc.clickable{cursor:pointer;animation:okeyPulse 1.4s ease-in-out infinite;border-radius:9px}
@keyframes okeyPulse{0%,100%{box-shadow:0 0 0 3px rgba(255,213,77,.85)}50%{box-shadow:0 0 0 7px rgba(255,213,77,.25)}}
.okey-empty{color:rgba(255,255,255,.4);font-size:26px}
/* Mitte: Anzeiger + verdeckter Stapel */
.okey-centerrow{position:absolute;top:32%;left:50%;transform:translateX(-50%);display:flex;gap:16px;z-index:1}
.okey-cslot{display:flex;flex-direction:column;align-items:center;gap:4px}
.okey-cap{font-size:10px;color:rgba(255,255,255,.75);font-weight:800;letter-spacing:.6px;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.okey-pile{width:44px;height:62px;border-radius:7px;background:linear-gradient(180deg,#fdfaf2,#eee5cf);border:1px solid #c9b993;box-shadow:2px 3px 0 #cbbc98, 4px 6px 8px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;padding:0}
.okey-pile .pnum{font-weight:900;font-size:19px;color:#26221d;font-family:Arial,sans-serif}
.okey-pile.clickable{cursor:pointer;animation:okeyPulse 1.4s ease-in-out infinite}
/* Status & Aktionen */
.okey-statuspill{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.45);color:#fff;font-size:12px;font-weight:800;border-radius:999px;padding:7px 16px;white-space:nowrap;max-width:92%;overflow:hidden;text-overflow:ellipsis;z-index:2}
.okey-statuspill.meins{background:rgba(255,213,77,.92);color:#3d2c18}
.okey-float-actions{position:absolute;left:14px;bottom:64px;display:flex;flex-direction:column;gap:8px;z-index:2}
.okey-abtn{border:2px solid #5d3d22;border-radius:12px;background:linear-gradient(180deg,#f2e9d4,#dccdaa);color:#3d2c18;font-weight:900;font-size:14px;padding:10px 18px;box-shadow:0 4px 10px rgba(0,0,0,.3);cursor:pointer}
.okey-abtn.gruen{background:linear-gradient(180deg,#3fae5f,#2c8a47);color:#fff;border-color:#1d5e30}
.okey-abtn[disabled]{opacity:.45;cursor:default}
.okey-back-mini{position:absolute;top:10px;left:10px;width:36px;height:36px;border-radius:10px;background:rgba(0,0,0,.35);color:#fff;border:1px solid rgba(255,255,255,.3);font-size:16px;cursor:pointer;z-index:3}
/* Holz-Istaka mit zwei Ablagen */
.okey-istaka{background:linear-gradient(180deg,#a4713f 0%, #8a5c33 45%, #74491f 100%);border-top:3px solid #5d3d22;padding:10px 12px 14px;display:flex;flex-direction:column;gap:8px}
.okey-shelf{display:flex;gap:4px;justify-content:center;align-items:flex-end;min-height:70px;padding-right:44px;background:linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,0) 30%);border-bottom:7px solid #5d3d22;border-radius:4px;padding:4px 2px 0;position:relative}
.okey-slot{background:transparent;border:0;padding:0;border-radius:8px;transition:transform .12s ease}
.okey-slot.sel{transform:translateY(-10px)}
.okey-slot.sel .okey-tile{box-shadow:0 0 0 3px #ffd54d, 0 8px 14px rgba(0,0,0,.4)}
.okey-sort{position:absolute;right:4px;bottom:10px;width:34px;height:34px;border-radius:9px;border:2px solid #5d3d22;background:#f2e9d4;color:#3d2c18;font-size:15px;font-weight:900;cursor:pointer}
.okey-logline{background:#1d5638;color:rgba(255,255,255,.75);font-size:11px;text-align:center;padding:6px 10px}
/* Ergebnis-Tafel */
.okey-result{position:absolute;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:5}
.okey-result-card{background:linear-gradient(180deg,#a06f3e,#7c5230);border:3px solid #5d3d22;border-radius:16px;color:#f2e9d4;font-weight:900;font-size:16px;padding:22px 26px;text-align:center;box-shadow:0 16px 50px rgba(0,0,0,.5);max-width:85%}
@media (max-width:640px){
  .okey-tile{width:38px;height:54px}
  .okey-tile .tnum{font-size:19px}
  .okey-felt{min-height:340px}
  .okey-plate span{max-width:96px;font-size:12px}
  .okey-shelf{gap:3px;min-height:62px}
}
.okey-invite-list{display:grid;gap:6px}
.okey-invite-row{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:11px 14px;color:var(--text);font-weight:700;cursor:pointer}
.okey-invite-row input{width:18px;height:18px}
/* Rückfragen zur Zeiterfassung: Signalfarbe je Zeile + Rückfrage-Box */
.table tr.query-open>td{background:color-mix(in srgb,var(--danger) 12%,var(--panel))}
.table tr.query-open>td:first-child{box-shadow:inset 4px 0 0 var(--danger)}
.table tr.query-answered>td{background:color-mix(in srgb,var(--warning) 14%,var(--panel))}
.table tr.query-answered>td:first-child{box-shadow:inset 4px 0 0 var(--warning)}
.query-box{margin-top:8px;border:1px solid var(--border);border-radius:12px;padding:9px 11px;background:var(--panel);font-size:13px;line-height:1.45}
.query-box .query-q{margin-top:5px}
.query-box .query-a{margin-top:6px;color:var(--muted);border-left:3px solid var(--border);padding-left:8px}
/* Aktionsspalte der Zeiten-Tabelle: Buttons einzeilig; Desktop = eine Reihe (Tabelle scrollt), Mobil = umbrechen */
.time-actions{flex-wrap:nowrap;gap:6px;justify-content:flex-end}
.time-actions .btn{white-space:nowrap;flex:0 0 auto;min-height:34px;padding:7px 11px;font-size:13px}
@media(max-width:760px){.time-actions{flex-wrap:wrap;justify-content:flex-start}}
/* Klickbare Benachrichtigungen mit Ziel-Sprung */
.notif-row.clickable{cursor:pointer;transition:background .12s,border-color .12s}
.notif-row.clickable:hover,.notif-row.clickable:focus-visible{background:var(--panel-2);border-color:var(--brand);outline:none}
.notif-side{display:flex;align-items:center;gap:10px;flex:none}
.notif-arrow{font-size:22px;line-height:1;color:var(--muted);font-weight:800}
.notif-row.clickable:hover .notif-arrow{color:var(--brand)}
/* Unterlagen-Viewer: Maus-Zoom/-Pan am Desktop */
.planview-body{cursor:grab}
.planview-body.planview-grabbing{cursor:grabbing}
.planview-zoom img{-webkit-user-drag:none;user-select:none}
/* Benachrichtigungen: Typ-Filter-Chips */
.notif-filter{margin:4px 0 14px}
.notif-filter button{font-size:13px}
/* Navigation: roter Ungelesen-Hinweis am Reiter (wie App-Icon-Badge) */
.nav .badge.nav-dot{background:var(--danger);color:#fff;min-width:20px;text-align:center;box-shadow:0 0 0 2px rgba(0,0,0,.15)}
/* Chat: Gedrückthalten für Aktionen – Browser-Callouts/Textauswahl auf der Blase unterdrücken */
#chatStream .chat-bubble{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer}
#chatStream .chat-bubble a{-webkit-user-select:auto;user-select:auto}
/* Aufgaben: Kommentare & Rückfragen */
.todo-item.has-question{border-color:var(--danger);box-shadow:inset 4px 0 0 var(--danger);background:color-mix(in srgb,var(--danger) 7%,var(--panel))}
.comment.comment-question{border-color:var(--warning);background:color-mix(in srgb,var(--warning) 10%,var(--panel-2))}
@media(max-width:760px){.table tr.query-open>td:first-child,.table tr.query-answered>td:first-child{box-shadow:none}.table tr.query-open{box-shadow:inset 4px 0 0 var(--danger)}.table tr.query-answered{box-shadow:inset 4px 0 0 var(--warning)}}
/* Kalender: durchgehende Termin-Balken (Lanes) + Tag/Woche/Monat */
.calx-tabs{margin:2px 0 12px}
.calx-tabs button{font-size:13px}
.calx .calendar-weekdays{margin-bottom:6px}
.calx-week{position:relative;margin-bottom:8px}
.calx-lanes{position:relative;margin:0 0 3px}
.calx-bar{position:absolute;height:18px;border-radius:9px;background:var(--event);color:#07111f;font-size:11.5px;font-weight:800;line-height:18px;padding:0 8px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);cursor:pointer;z-index:2}
.calx-bar.cont-l{border-top-left-radius:3px;border-bottom-left-radius:3px}
.calx-bar.cont-r{border-top-right-radius:3px;border-bottom-right-radius:3px}
.calx-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.calx-day{min-height:86px}
.calx-day .event-chip{font-size:11px}
.calx-day-tall{min-height:220px}
.calx-weekview .calendar-weekdays span{font-size:12px}
.calx-empty{display:block;min-height:20px}
.calx-daylist{display:grid;gap:8px}
.calx-day-item{display:grid;gap:2px;text-align:left;border:1px solid var(--border);border-left:5px solid var(--event);border-radius:14px;padding:10px 12px;background:var(--panel);color:var(--text);cursor:pointer}
.calx-day-item:hover{background:var(--panel-2)}
.calx-day-item .calx-day-time{font-size:12px;color:var(--muted);font-weight:800}
.calx-day-item.allday{background:color-mix(in srgb,var(--event) 12%,var(--panel))}
@media(max-width:760px){.calx-day{min-height:64px;border-radius:10px;padding:5px}.calx-bar{font-size:10px;height:16px;line-height:16px;border-radius:8px}.calx-days{gap:4px}.calx-day-tall{min-height:150px}}
/* Mangel-Detail: Navigationszeile (Liste / vor / zurück) */
.mgl-nav{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.mgl-nav .btn{min-height:38px;padding:7px 12px}
/* Mangel-Status "Klärungsbedarf" */
.mgl-row.clarify{border-color:var(--warning);background:color-mix(in srgb,var(--warning) 8%,var(--panel))}
.mgl-row.clarify .mgl-check{border-color:var(--warning);color:var(--warning);font-weight:900}
.mgl-statuschoice .check-item{padding:8px 10px}
/* Original-Ansicht im Overlay (mit Zurück-Button) */
.orig-overlay{position:fixed;inset:0;z-index:9700;background:#0b1020;display:flex;flex-direction:column;height:100dvh}
.orig-bar{flex:none;display:flex;align-items:center;gap:12px;padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top));background:#111827;border-bottom:1px solid #293449;color:#f8fafc}
.orig-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.orig-frame{flex:1;border:0;width:100%;background:#fff}
.orig-body{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;display:flex;align-items:flex-start;justify-content:center;padding:10px}
.orig-img{max-width:none}
/* Notizen: Ordner/Seiten-Übersicht */
.note-crumbs{flex-wrap:wrap;gap:4px;margin-top:4px}
.note-crumbs .btn{padding:6px 8px;min-height:32px}
.note-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:6px}
.note-card{border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:10px;display:grid;gap:6px;cursor:pointer;text-align:left}
.note-card:hover{background:var(--panel-2)}
.note-folder-icon{font-size:34px}
.note-card-actions .btn{padding:4px 6px;min-height:28px}
.note-thumb{width:100%;aspect-ratio:1000/1414;object-fit:cover;border-radius:8px;border:1px solid var(--border);background:#fff}
.note-thumb-empty{width:100%;aspect-ratio:1000/1414;border-radius:8px;border:1px dashed var(--border);background:#fff}
/* Papier-Muster (Hintergründe – Zeichnung liegt transparent darüber) */
.paper-lined{background:#fff repeating-linear-gradient(to bottom,transparent 0 30px,#c7d3e8 30px 31px)}
.paper-grid{background-color:#fff;background-image:repeating-linear-gradient(to bottom,transparent 0 24px,#d4ddec 24px 25px),repeating-linear-gradient(to right,transparent 0 24px,#d4ddec 24px 25px)}
.paper-dots{background:#fff radial-gradient(#c3cede 1.2px,transparent 1.3px);background-size:24px 24px}
.paper-blank{background:#fff}
/* Editor */
.note-editor{position:fixed;inset:0;z-index:9700;background:#0b1020;display:flex;flex-direction:column;height:100dvh}
.note-ed-bar{flex:none;display:flex;align-items:center;gap:8px;padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top));background:#111827;border-bottom:1px solid #293449;flex-wrap:wrap}
.note-ed-title{flex:1;min-width:120px;border:1px solid #293449;background:#0b1020;color:#f8fafc;border-radius:10px;padding:8px 10px}
.note-ed-bar select{border:1px solid #293449;background:#0b1020;color:#f8fafc;border-radius:10px;padding:8px}
.note-ed-bar .btn{min-height:38px;padding:7px 10px}
.note-ed-tools{flex:none;display:flex;align-items:center;gap:6px;padding:6px 12px;background:#0e1526;border-bottom:1px solid #293449;overflow-x:auto}
.note-tool{width:38px;height:38px;border-radius:10px;background:#111827;color:#f8fafc;border:1px solid #293449;font-size:16px;flex:none}
.note-tool.active{background:#f2b705;color:#111827;border-color:#f2b705}
.note-color{width:26px;height:26px;border-radius:50%;background:var(--c);border:2px solid transparent;flex:none}
.note-color.active{border-color:#fff;box-shadow:0 0 0 2px var(--c)}
.note-width{width:34px;height:34px;border-radius:10px;background:#111827;border:1px solid #293449;display:inline-flex;align-items:center;justify-content:center;flex:none}
.note-width span{display:block;border-radius:50%;background:#f8fafc}
.note-width.active{border-color:#f2b705}
.note-sep{width:1px;height:24px;background:#293449;flex:none;margin:0 2px}
.note-ed-scroll{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:12px;display:flex;justify-content:center}
.note-ed-page{width:min(900px,100%);aspect-ratio:1000/1414;border-radius:6px;box-shadow:0 8px 40px rgba(0,0,0,.5);position:relative;flex:none}
.note-ed-page canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}
.note-pick:hover{background:var(--panel-2);cursor:pointer}

/* Notizen: Stift-Menü-Button oben rechts an jeder Karte */
.note-card{position:relative}
.note-edit-btn{position:absolute;top:6px;right:6px;z-index:2;width:30px;height:30px;border-radius:9px;background:var(--panel);border:1px solid var(--border);font-size:13px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.note-edit-btn:hover{background:var(--panel-2)}
