/* ServiceDesk V25.21.21 – Friendly Modern UI across all pages */
:root{--ui-navy:#06192d;--ui-navy2:#0b2943;--ui-blue:#1769e8;--ui-purple:#7138e8;--ui-green:#22b66f;--ui-orange:#ff9d2e;--ui-red:#ef466f;--ui-bg:#f4f8fc;--ui-card:#fff;--ui-text:#10203a;--ui-muted:#6c7d96;--ui-border:#dce7f2;--ui-shadow:0 8px 28px rgba(19,52,89,.08);--ui-radius:16px}
html{background:var(--ui-bg)}body{background:linear-gradient(180deg,#f8fbff 0,#f3f7fb 100%);color:var(--ui-text)}
body,.app,input,select,textarea,button{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.app{background:transparent}.sidebar{background:linear-gradient(180deg,#06172b 0%,#08233d 58%,#092b45 100%)!important;border-right:1px solid rgba(255,255,255,.08);box-shadow:10px 0 30px rgba(7,28,49,.12);padding:0 10px 14px!important;gap:12px!important}
.brand{margin:0 -10px 4px;padding:20px 18px!important}.brand .logo{border-radius:14px!important;background:linear-gradient(135deg,#1689f4,#7158ec)!important;color:#fff!important}.brand strong{font-size:20px!important}.brand small{color:#9db3c6!important}
.sidebar-nav{gap:9px!important;overflow:auto;scrollbar-width:thin}.sidebar-nav .nav-group{gap:3px!important}.sidebar-nav .nav-group-title{padding:7px 10px 3px!important;font-size:9px!important;color:#7895aa!important;letter-spacing:.12em!important}.sidebar-nav .nav-group+.nav-group{border-color:rgba(255,255,255,.075)!important}
.nav-btn{min-height:39px;padding:9px 12px!important;margin:0!important;width:100%!important;color:#d0deea!important;border:1px solid transparent!important;border-radius:10px!important;font-weight:650!important}.nav-btn:hover{background:rgba(255,255,255,.07)!important;transform:none!important}.nav-btn.active{background:#fff!important;color:#15556a!important;border-color:#dce9f1!important;box-shadow:0 7px 18px rgba(0,0,0,.14)!important}
.connector{margin:4px 0 0!important;border-radius:12px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.1)!important;padding:12px!important}
main{background:transparent}.topbar{position:sticky;top:0;z-index:45;margin:-28px -28px 24px!important;padding:14px 28px!important;background:rgba(255,255,255,.94)!important;border-bottom:1px solid var(--ui-border)!important;box-shadow:0 5px 20px rgba(20,54,91,.045)!important}.topbar h1{font-size:24px!important}.topbar p{font-size:13px}.global-search-wrap input{min-height:42px!important;background:#f8fbff!important;border-color:#dce7f1!important}
.primary{background:linear-gradient(135deg,var(--ui-blue),#315de1)!important;color:#fff!important;border:0!important;box-shadow:0 7px 18px rgba(23,105,232,.18)!important}.primary:hover{filter:brightness(1.04);transform:translateY(-1px)}button,.secondary,.report-btn,.tour-mode{transition:.16s ease}.secondary,button:not(.primary):not(.nav-btn){border-color:#d8e4ef;background:#fff;color:#25405c}.secondary:hover,button:not(.primary):not(.nav-btn):hover{background:#f5f9fd;border-color:#bfd2e3}
.panel,.card,.order-card,.smart-tour-card,.employee-card,.project-card,.report-card{background:rgba(255,255,255,.98)!important;border:1px solid var(--ui-border)!important;border-radius:var(--ui-radius)!important;box-shadow:var(--ui-shadow)!important}.panel{padding:18px!important}.panel-head{padding-bottom:12px;border-bottom:1px solid #edf2f7}.panel h2,.panel h3,.card h2,.card h3{color:#122a45;letter-spacing:-.02em}
.dash360-head{margin:2px 0 18px;padding:4px 2px}.dash360-head h2{font-size:27px;margin:4px 0}.eyebrow{color:#2b6fc5!important}.data-health-strip{border:1px solid #cce9dc!important;background:#effbf5!important;color:#17754a!important;box-shadow:none!important}.dash360-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important}.dash360-kpi{min-height:116px!important;background:#fff!important;border:1px solid var(--ui-border)!important;border-radius:15px!important;box-shadow:var(--ui-shadow)!important}.dash360-kpi:nth-child(5n+1){border-top:3px solid var(--ui-blue)!important}.dash360-kpi:nth-child(5n+2){border-top:3px solid var(--ui-purple)!important}.dash360-kpi:nth-child(5n+3){border-top:3px solid var(--ui-green)!important}.dash360-kpi:nth-child(5n+4){border-top:3px solid var(--ui-orange)!important}.dash360-kpi:nth-child(5n){border-top:3px solid var(--ui-red)!important}
.office-hero{background:linear-gradient(135deg,#f8fbff,#eef5ff 62%,#f6f1ff)!important;color:var(--ui-text)!important;border:1px solid #d8e5f2!important;box-shadow:var(--ui-shadow)!important}.office-hero h2{color:#122a45!important}.office-hero p{color:var(--ui-muted)!important}.office-hero .eyebrow{color:#6c43d7!important}
input,select,textarea{min-height:40px;border:1px solid #d6e2ed!important;border-radius:10px!important;background:#fff!important;color:#172b44!important}textarea{padding:10px}input:focus,select:focus,textarea:focus{border-color:#5c9df0!important;box-shadow:0 0 0 3px rgba(23,105,232,.10)!important}
table{background:#fff;border-radius:12px;overflow:hidden}th{background:#f7fafe!important;color:#61758c!important;font-size:12px!important;text-transform:none}th,td{border-bottom-color:#eaf0f5!important}.table-wrap{border:1px solid #e1eaf2;border-radius:13px;background:#fff}.click-row:hover td{background:#f4f8ff!important}
.badge,.pill,.smart-pill{border-radius:999px!important}.notice{border-radius:12px!important}.notice.info{background:#f0f7ff!important;border-color:#cfe3f7!important}.notice.success{background:#effbf5!important;border-color:#bce8d3!important}.notice.warning{background:#fff8e9!important;border-color:#f6dda6!important}.notice.danger{background:#fff1f3!important;border-color:#f4c5cd!important}
dialog{border-radius:20px!important;box-shadow:0 28px 80px rgba(5,24,43,.28)!important}.dialog-form{background:#fff}.dialog-head{padding-bottom:12px;border-bottom:1px solid #edf2f7}
.employee-card{overflow:hidden;transition:.18s ease}.employee-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(19,52,89,.11)!important}.loadbar{background:#eaf0f5!important}.loadbar i{background:linear-gradient(90deg,var(--ui-blue),var(--ui-purple))!important}
.google-map,.google-map-frame{border:1px solid var(--ui-border);border-radius:16px!important;box-shadow:var(--ui-shadow)}.gantt-head>div{background:#f5f9fd!important}.bar,.gantt-bar{background:linear-gradient(90deg,#1769e8,#6d4ee8)!important}.smart-tour-head{background:#f7fafe!important}.smart-tour-actions{background:#fbfdff!important}
.order-page,.report-page{background:transparent!important}.order-page .order-hero,.report-toolbar{padding:18px 20px;background:linear-gradient(135deg,#fff,#f5f9ff);border:1px solid var(--ui-border);border-radius:18px;box-shadow:var(--ui-shadow)}.customer-master-card{border-left:4px solid var(--ui-blue)!important}
.system-status-bar{background:rgba(6,25,45,.94)!important;color:#d7e6f1!important;border-top:1px solid rgba(255,255,255,.08)!important}
/* standalone pages */
body:not(:has(.app)){background:#f4f8fc!important}body:not(:has(.app))>main,body:not(:has(.app))>.order-page,body:not(:has(.app))>.report-page{max-width:1500px;margin:auto}
/* friendly responsive treatment */
@media(max-width:900px){.sidebar{box-shadow:none}.topbar{position:relative;margin:0 0 18px!important;padding:12px 0!important}.panel{padding:14px!important}.dash360-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.dash360-kpis{grid-template-columns:1fr!important}.topbar{flex-direction:column;align-items:stretch!important}.global-search-wrap{width:100%}}

/* V25.21.18 – Büro / KI-Team im freundlichen Dashboard-Stil */
.office-team-view{display:none}.office-team-view.active{display:block}
.office-team-pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:2px 0 18px;padding:4px 2px}
.office-team-pagehead h1{margin:2px 0 4px;font-size:32px;line-height:1.1;letter-spacing:-.035em;color:#102048}.office-team-pagehead p{margin:0;color:#5f7190;font-size:14px}
.office-team-pageactions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.office-team-pageactions button{min-height:42px;padding:0 15px;border-radius:10px!important}
.office-team-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.office-team-kpi{display:flex;gap:14px;align-items:center;min-height:112px;padding:17px;background:#fff;border:1px solid var(--ui-border);border-radius:15px;box-shadow:var(--ui-shadow)}
.office-team-kpi-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;font-size:22px;font-style:normal;background:#f4f6ff;color:#7446e8}.office-team-kpi.green .office-team-kpi-icon{background:#eafaf3;color:#1caf6b}.office-team-kpi.blue .office-team-kpi-icon{background:#edf5ff;color:#1769e8}.office-team-kpi.orange .office-team-kpi-icon{background:#fff5e8;color:#ff9d2e}.office-team-kpi.cyan .office-team-kpi-icon{background:#eaf9fb;color:#1198a9}
.office-team-kpi div{display:flex;flex-direction:column;min-width:0}.office-team-kpi small{font-size:12px;color:#50627d}.office-team-kpi b{font-size:25px;line-height:1.15;color:#102048;margin:5px 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.office-team-kpi em{font-style:normal;font-size:11px;color:#1aa967}
.office-team-toolbar{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(180px,.7fr) minmax(150px,.55fr) auto;gap:12px;align-items:center;margin:0 0 14px;padding:0 2px}.office-team-search{position:relative;margin:0}.office-team-search span{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#7b8ca5;font-size:19px;z-index:1}.office-team-search input{width:100%;padding-left:39px!important}.office-team-toolbar select{width:100%}.office-team-viewtoggle{display:flex;align-items:center;gap:6px;justify-content:flex-end;color:#687a94;font-size:12px}.office-team-viewtoggle button{width:42px;height:40px;padding:0!important;border-radius:9px!important}.office-team-viewtoggle button.active{background:#1769e8!important;color:#fff!important;border-color:#1769e8!important}
.office-team-panel{padding:15px!important}.office-team-panelhead{margin-bottom:12px}.office-team-panelhead h2{font-size:20px;margin:3px 0}.office-team-panel .assistant-badge{background:#ecf9f3!important;color:#178657!important;border:1px solid #c8ead9}
.office-team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.office-team-card{border:1px solid #dce7f2;border-radius:15px;background:#fff;overflow:hidden;box-shadow:0 5px 18px rgba(19,52,89,.055);transition:.18s ease}.office-team-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(19,52,89,.10);border-color:#c8d9ea}.office-team-card.hr{border-color:#d7c5ff;box-shadow:0 6px 22px rgba(113,56,232,.10)}.office-team-card.inactive{opacity:.68}
.office-team-card-main{display:flex;gap:13px;padding:14px;cursor:pointer;min-height:132px}.office-team-photo{position:relative;width:84px;min-width:84px;height:100px;border-radius:11px;overflow:hidden;background:linear-gradient(145deg,#edf3f8,#dbe8f2)}.office-team-avatar{width:100%;height:100%;object-fit:cover;display:block}.office-team-avatar-fallback{width:100%;height:100%;display:grid;place-items:center;font-size:32px;font-weight:800;color:#45627d;background:#e9f1f7}.office-team-online{position:absolute;right:7px;top:7px;width:10px;height:10px;border-radius:50%;background:#22b66f;box-shadow:0 0 0 3px #fff}.office-team-online.off{background:#9aa8b7}
.office-team-card-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start}.office-team-card-copy h3{display:flex;align-items:center;gap:6px;margin:2px 0 4px;font-size:17px;color:#102048}.office-team-spark{color:#7138e8}.office-team-card-copy p{margin:0 0 7px;color:#52657e;font-size:12px;min-height:17px}.office-team-dept{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef5ff;color:#1769e8;font-size:10px;font-weight:750;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.office-team-card.hr .office-team-dept{background:#fff0fa;color:#d12a7a}.office-team-card-copy small{margin-top:10px;color:#218b60;font-size:11px}.office-team-dot{display:inline-block;width:7px;height:7px;background:#22b66f;border-radius:50%;margin-right:5px}.office-team-dot.off{background:#9aa8b7}
.office-team-card-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:9px 10px 10px;border-top:1px solid #edf2f7;background:#fbfdff}.office-team-card-actions button{min-height:34px;padding:5px 7px!important;border-radius:8px!important;font-size:11px;white-space:nowrap}
.office-team-map-mode{padding:8px 0}.office-team-empty{padding:35px;text-align:center}.assistant-quick-panel{border-radius:16px!important;border:1px solid #dbe6f2!important;background:#fff!important;box-shadow:0 12px 30px rgba(19,52,89,.10)!important;margin-top:16px!important}.assistant-profile-head{background:linear-gradient(135deg,#f8fbff,#f4efff);padding:14px;border-radius:13px 13px 0 0}.assistant-quick-portrait{border-radius:12px!important}.assistant-dropzone{border-radius:13px!important;background:#f8fbff!important;border:1.5px dashed #bcd0e5!important}.assistant-quick-chat{border-radius:13px!important;background:#f7faff!important}
@media(max-width:1250px){.office-team-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.office-team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.office-team-pagehead{flex-direction:column}.office-team-toolbar{grid-template-columns:1fr 1fr}.office-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.office-team-kpis{grid-template-columns:1fr 1fr}.office-team-toolbar{grid-template-columns:1fr}.office-team-viewtoggle{justify-content:flex-start}.office-team-grid{grid-template-columns:1fr}.office-team-pageactions{width:100%}.office-team-pageactions button{flex:1}.office-team-card-actions{grid-template-columns:1fr}}


/* V25.21.18 – Dashboard wie Zielansicht + Büro-Mindmap direkt beim Scrollen */
.dashboard-v217{max-width:1540px;margin:0 auto;padding-bottom:34px}.dashboard-greeting-v217{display:flex;justify-content:space-between;align-items:flex-start;margin:3px 0 16px}.dashboard-greeting-v217 h2{margin:0 0 4px;font-size:29px;letter-spacing:-.025em;color:#0f1f4a}.dashboard-greeting-v217 p{margin:0;color:#60749b}.dashboard-kpis-v217{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:14px}.dashboard-kpi-v217{border:1px solid #e2e9f4;background:#fff;border-radius:14px;min-height:112px;padding:15px;display:flex;gap:12px;text-align:left;align-items:flex-start;box-shadow:0 6px 22px rgba(32,65,123,.055)}.dashboard-kpi-v217:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(32,65,123,.09)}.dashboard-kpi-v217 .kpi-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:19px;color:#fff;flex:0 0 auto}.dashboard-kpi-v217>div{display:grid;gap:3px;min-width:0}.dashboard-kpi-v217 small{font-size:12px;color:#243965;font-weight:700}.dashboard-kpi-v217 b{font-size:25px;color:#101c46;line-height:1.1}.dashboard-kpi-v217 em{font-style:normal;font-size:10.5px;color:#7787a6}.dashboard-kpi-v217.blue .kpi-icon{background:linear-gradient(135deg,#1769ff,#2d8cff)}.dashboard-kpi-v217.purple .kpi-icon{background:linear-gradient(135deg,#6c2cf0,#8c48ff)}.dashboard-kpi-v217.green .kpi-icon,.dashboard-kpi-v217.system .kpi-icon{background:linear-gradient(135deg,#17a760,#25c57a)}.dashboard-kpi-v217.orange .kpi-icon{background:linear-gradient(135deg,#ff9a24,#ffb143)}.dashboard-kpi-v217.red .kpi-icon{background:linear-gradient(135deg,#f43d69,#fb5a7c)}.dashboard-kpi-v217.system{background:linear-gradient(145deg,#f7fffb,#effbf5);border-color:#cdebdc}.dashboard-kpi-v217.system b{font-size:14px}.dashboard-kpi-v217.system #dataHealthCard{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#4f6b5b!important;min-height:0!important}.dashboard-kpi-v217.system #dataHealthText{font-size:10px}.dashboard-main-v217{display:grid;grid-template-columns:1.05fr 1.25fr .95fr;gap:12px;align-items:start}.dashboard-card-v217{padding:14px!important;min-width:0;border-radius:14px!important}.activity-card-v217{grid-row:span 2}.utilization-card-v217{grid-row:span 2}.messages-card-v217,.calendar-card-v217{grid-column:3}.dashboard-card-v217 .panel-head{margin-bottom:10px}.dashboard-card-v217 .panel-head h3{font-size:15px}.dashboard-card-v217 .panel-head p{font-size:11px}.dashboard-card-v217 .dash360-row{padding:9px 10px;border-radius:10px}.dashboard-project-mini{border-top:1px solid #edf1f7;margin-top:10px;padding-top:10px}.dashboard-project-mini h4{margin:0 0 8px;font-size:12px;color:#24406d}.dashboard-team-v217,.dashboard-quick-v217,.dashboard-mindmap-v217{margin-top:13px;padding:14px!important;border-radius:14px!important}.dashboard-team-grid-v217{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}.dashboard-team-grid-v217 .office-team-card{min-width:0;padding:8px;border-radius:12px}.dashboard-team-grid-v217 .office-team-card-main{display:grid;grid-template-columns:1fr;gap:6px;text-align:center}.dashboard-team-grid-v217 .office-team-photo{width:100%;height:92px}.dashboard-team-grid-v217 .office-team-avatar,.dashboard-team-grid-v217 .office-team-avatar-fallback{width:100%;height:92px;border-radius:9px;object-fit:cover}.dashboard-team-grid-v217 .office-team-online{right:5px;top:5px}.dashboard-team-grid-v217 .office-team-card-copy h3{font-size:13px}.dashboard-team-grid-v217 .office-team-card-copy p{font-size:10px}.dashboard-team-grid-v217 .office-team-dept{font-size:9px}.dashboard-team-grid-v217 .office-team-card-copy small{justify-content:center;font-size:9px}.dashboard-team-grid-v217 .office-team-card-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:7px}.dashboard-team-grid-v217 .office-team-card-actions button{font-size:0;padding:6px 4px;min-height:30px}.dashboard-team-grid-v217 .office-team-card-actions button:nth-child(1)::after{content:'💬';font-size:12px}.dashboard-team-grid-v217 .office-team-card-actions button:nth-child(2)::after{content:'✉';font-size:12px}.dashboard-team-grid-v217 .office-team-card-actions button:nth-child(3)::after{content:'ⓘ';font-size:12px}.dashboard-team-grid-v217 .office-team-card.hr{border-color:#cba9ff;box-shadow:0 0 0 1px #eadcff,0 8px 22px rgba(113,52,230,.10)}.dashboard-quick-grid-v217{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.dashboard-quick-grid-v217 button{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:9px;text-align:left;align-items:center;padding:11px;border:1px solid #e2e9f4;border-radius:12px;background:#fff}.dashboard-quick-grid-v217 button:hover{border-color:#abc8ff;background:#f8fbff}.dashboard-quick-grid-v217 .quick-icon{grid-row:1/3;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:#fff;font-size:13px;font-weight:900}.quick-icon.purple{background:#6f35e8}.quick-icon.red{background:#ef3939}.quick-icon.blue{background:#136cff}.quick-icon.green{background:#17aa64}.quick-icon.orange{background:#f6a31f}.dashboard-quick-grid-v217 b{font-size:11px;color:#10275a}.dashboard-quick-grid-v217 small{font-size:9px;color:#7182a2}.dashboard-map-view{display:flex;align-items:center;gap:5px;font-size:10px;color:#68789a}.dashboard-map-view button{min-width:34px;padding:7px}.dashboard-map-view button.active{background:#6a45e8;color:#fff;border-color:#6a45e8}.dashboard-mindmap-canvas-v217{position:relative;min-height:470px;padding:18px 8px 8px;overflow:auto}.dashmap-root{display:flex;justify-content:center;position:relative;z-index:2}.dashmap-person{display:flex;align-items:center;gap:10px;border:1.5px solid #a9c6ff;background:#fff;border-radius:12px;padding:10px 16px;min-width:220px;box-shadow:0 7px 18px rgba(46,79,134,.06)}.dashmap-person img,.dashmap-person .fallback{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#e9eff8;display:grid;place-items:center;font-weight:900}.dashmap-person b{display:block;font-size:13px;color:#10275a}.dashmap-person small{display:block;font-size:10px;color:#60749b;margin-top:2px}.dashmap-root::after{content:'';position:absolute;top:100%;left:50%;height:28px;border-left:2px solid #c9d8f5}.dashmap-depts{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;margin-top:28px;position:relative;padding-top:30px}.dashmap-depts::before{content:'';position:absolute;top:0;left:8.5%;right:8.5%;height:2px;background:linear-gradient(90deg,#ffb15d,#9d73ff,#6bc991,#79aaff,#62c6d8,#f07da8);border-radius:99px}.dashmap-dept{position:relative;display:grid;gap:8px}.dashmap-dept::before{content:'';position:absolute;top:-30px;left:50%;height:30px;border-left:2px solid var(--branch,#a9c6ff)}.dashmap-dept-head{border:1.5px solid var(--branch,#a9c6ff);background:var(--soft,#f7faff);border-radius:11px;padding:10px;text-align:center}.dashmap-dept-head b{display:block;font-size:11px;color:#153469}.dashmap-dept-head small{font-size:9px;color:#7182a2}.dashmap-task{border:1px solid #e1e8f3;background:#fff;border-radius:9px;padding:8px 6px;text-align:center;font-size:9px;color:#405477;position:relative}.dashmap-task::before{content:'';position:absolute;left:50%;bottom:100%;height:8px;border-left:1px solid var(--branch,#c8d7ef)}.dashmap-dept.orange{--branch:#f1ad5f;--soft:#fff8ee}.dashmap-dept.purple{--branch:#a987f2;--soft:#faf6ff}.dashmap-dept.green{--branch:#76c995;--soft:#f2fbf6}.dashmap-dept.blue{--branch:#7aaaf2;--soft:#f3f8ff}.dashmap-dept.cyan{--branch:#70c7cc;--soft:#f1fbfb}.dashmap-dept.pink{--branch:#eb8eae;--soft:#fff4f8}.data-health-strip{margin:0!important}
@media(max-width:1250px){.dashboard-kpis-v217{grid-template-columns:repeat(3,1fr)}.dashboard-main-v217{grid-template-columns:1fr 1fr}.messages-card-v217,.calendar-card-v217{grid-column:auto}.dashboard-team-grid-v217{grid-template-columns:repeat(4,1fr)}.dashmap-depts{grid-template-columns:repeat(3,1fr)}.dashmap-depts::before{display:none}.dashmap-dept::before{display:none}}
@media(max-width:800px){.dashboard-kpis-v217{grid-template-columns:repeat(2,1fr)}.dashboard-main-v217{grid-template-columns:1fr}.dashboard-team-grid-v217{grid-template-columns:repeat(2,1fr)}.dashboard-quick-grid-v217{grid-template-columns:1fr 1fr}.dashmap-depts{grid-template-columns:1fr 1fr}.dashboard-greeting-v217 h2{font-size:24px}}
@media(max-width:520px){.dashboard-kpis-v217,.dashboard-team-grid-v217,.dashboard-quick-grid-v217,.dashmap-depts{grid-template-columns:1fr}.dashboard-kpi-v217{min-height:96px}.dashboard-mindmap-canvas-v217{min-height:300px}}


/* V25.21.18 – freigegebenes Dashboard auch als Büro + strukturierter Admin */
body.office-combined-v218 #dashboard{display:block!important;margin-bottom:22px}
body.office-combined-v218 #office{display:block!important;border-top:1px solid #e6edf6;padding-top:10px}
body.office-combined-v218 #office>.office-team-pagehead,
body.office-combined-v218 #office>.office-team-kpis,
body.office-combined-v218 #office>.office-team-toolbar,
body.office-combined-v218 #office>.office-team-panel{display:none!important}
body.office-combined-v218 #office>.office-hero{margin-top:4px}
body.office-combined-v218 #dashboard .dashboard-mindmap-v217{scroll-margin-top:84px}
body.office-combined-v218 #dashboard .dashboard-team-v217{scroll-margin-top:84px}

.admin-v218{--admin-blue:#1769e8;--admin-navy:#102048;--admin-soft:#f5f8fd}
.admin-v218-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:2px 0 14px;padding:20px 22px;border:1px solid #dfe8f3;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#f6f9ff 62%,#f8f3ff 100%);box-shadow:0 8px 26px rgba(22,50,90,.06)}
.admin-v218-head h1{margin:2px 0 4px;color:#102048;font-size:30px;letter-spacing:-.035em}.admin-v218-head p{margin:0;color:#637493}.admin-v218-state{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border:1px solid #dfe8f3;border-radius:13px;min-width:210px}.admin-v218-state b,.admin-v218-state small{display:block}.admin-v218-state small{color:#71829c;margin-top:2px}.admin-v218-dot{width:11px;height:11px;border-radius:50%;background:#22b66f;box-shadow:0 0 0 4px #e8f8f0}
.admin-v218-tabs{display:flex;gap:7px;align-items:center;overflow:auto;padding:7px;margin:0 0 14px;background:#eef3f9;border:1px solid #dfe7f1;border-radius:14px;position:sticky;top:70px;z-index:12;backdrop-filter:blur(10px)}.admin-v218-tabs button{white-space:nowrap;border:0!important;background:transparent!important;color:#536881!important;box-shadow:none!important;padding:10px 13px!important;border-radius:9px!important;font-weight:700}.admin-v218-tabs button.active{background:#fff!important;color:#145fdd!important;box-shadow:0 3px 12px rgba(29,70,122,.09)!important}
.admin-v218-overview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.admin-v218-overview>button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-height:145px;padding:16px!important;border:1px solid #e0e8f2!important;border-radius:15px!important;background:#fff!important;box-shadow:0 6px 18px rgba(25,54,93,.05)!important}.admin-v218-overview>button:hover{transform:translateY(-2px);border-color:#b9cff0!important;box-shadow:0 12px 26px rgba(25,54,93,.09)!important}.admin-v218-overview span{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#eef4ff;font-size:20px;margin-bottom:12px}.admin-v218-overview b{font-size:14px;color:#102048}.admin-v218-overview small{display:block;color:#70819a;line-height:1.35;margin-top:5px}.admin-v218-overview em{margin-top:auto;color:#1769e8;font-size:11px;font-style:normal;font-weight:800}
.admin-v218 .panel{scroll-margin-top:132px}.admin-v218 #adminContent>.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px!important;align-items:start}.admin-v218 #adminContent>.grid2>.panel,.admin-v218 #adminContent>.panel,.admin-v218>.panel{border-radius:16px!important;box-shadow:0 7px 22px rgba(21,52,91,.055)!important;border:1px solid #dfe8f2!important}.admin-v218 #adminContent>.grid2>.panel:hover,.admin-v218 #adminContent>.panel:hover{border-color:#cbd9e9!important}
.admin-v218 .panel-head{gap:16px}.admin-v218 .panel-head h2{font-size:19px;color:#102048}.admin-v218 .panel h3{color:#1b3555}.admin-v218 .settings-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-v218 .employee-selected-card,.admin-v218 .assistant-editor,.admin-v218 .fritz-api-box{border-radius:13px!important;background:#f8fbff!important;border:1px solid #e2eaf3!important}
.admin-v218-section-hidden{display:none!important}.admin-v218-grid-hidden{display:none!important}
@media(max-width:1200px){.admin-v218-overview{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.admin-v218-head{align-items:flex-start;flex-direction:column}.admin-v218-state{width:100%}.admin-v218-overview{grid-template-columns:1fr 1fr}.admin-v218 #adminContent>.grid2{grid-template-columns:1fr}.admin-v218-tabs{top:0}}
@media(max-width:520px){.admin-v218-overview{grid-template-columns:1fr}}


/* V25.21.18 – freigegebener Entwurf 1:1 als Büro-Arbeitsfläche */
body.office-dashboard-v219 #dashboard{display:block!important;margin:0!important;padding-bottom:28px}
body.office-dashboard-v219 #office{display:none!important}
body.office-dashboard-v219 #dashboard>.dashboard-greeting-v217{margin-top:2px}
body.office-dashboard-v219 #dashboardMindmapSection{margin-top:14px;scroll-margin-top:86px}
body.office-dashboard-v219 #dashboard .dashboard-team-v217{margin-top:14px}
body.office-dashboard-v219 #dashboard .dashboard-quick-v217{margin-top:12px}
body.office-dashboard-v219 .topbar-title-wrap>div{display:none}
body.office-dashboard-v219 .topbar{min-height:64px}
body.office-dashboard-v219 .global-search-wrap{margin-left:0;max-width:560px}
body.office-dashboard-v219 .dashboard-assistant-quick-v219:not(.hidden){display:block!important;margin-top:14px!important}
body.office-dashboard-v219 .dashboard-assistant-quick-v219{max-width:none}
body.office-dashboard-v219 .dashboard-assistant-quick-v219 .assistant-profile-head{position:sticky;top:70px;z-index:4}

/* Dashboard-Ansicht ebenfalls mit der freigegebenen luftigen Optik */
.dashboard-v217{max-width:1600px;margin:0 auto}
.dashboard-v217 .panel{border:1px solid #e1e8f2!important;box-shadow:0 6px 18px rgba(27,55,95,.055)!important}
.dashboard-v217 .dashboard-kpi-v217{border:1px solid #e1e8f2!important;box-shadow:0 6px 18px rgba(27,55,95,.055)!important}
.dashboard-v217 .dashboard-team-v217,.dashboard-v217 .dashboard-quick-v217,.dashboard-v217 .dashboard-mindmap-v217{border-radius:16px!important}
@media(max-width:900px){body.office-dashboard-v219 .topbar-title-wrap{display:none}.dashboard-v217{max-width:none}}


/* V25.21.18 – Entwurfstreue Büro-/Dashboard-Oberfläche + Portrait-Fix */
.dashboard-v217{
  max-width:1600px!important;
  margin:0 auto!important;
  padding:8px 10px 34px!important;
  display:grid!important;
  grid-template-columns:minmax(0,2.45fr) minmax(330px,.95fr)!important;
  gap:14px!important;
  align-items:start!important;
}
.dashboard-greeting-v217,.dashboard-kpis-v217,.dashboard-main-v217,.dashboard-mindmap-v217{grid-column:1/-1!important}
.dashboard-greeting-v217{margin:0!important;padding:2px 4px 0!important}
.dashboard-greeting-v217 h2{font-size:28px!important;line-height:1.12!important;margin:0 0 5px!important}
.dashboard-kpis-v217{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:12px!important;margin:0!important}
.dashboard-kpi-v217{min-height:108px!important;padding:14px 13px!important;border-radius:13px!important;box-shadow:0 4px 16px rgba(31,58,105,.055)!important}
.dashboard-kpi-v217 .kpi-icon{width:40px!important;height:40px!important;border-radius:10px!important}
.dashboard-kpi-v217 b{font-size:24px!important}.dashboard-kpi-v217 small{font-size:11px!important}.dashboard-kpi-v217 em{font-size:9.5px!important}

.dashboard-main-v217{
  display:grid!important;
  grid-template-columns:1.08fr 1.42fr .93fr .93fr!important;
  gap:12px!important;
  align-items:stretch!important;
}
.dashboard-main-v217>.dashboard-card-v217{grid-row:auto!important;grid-column:auto!important;min-height:305px!important;height:305px!important;overflow:hidden!important;padding:13px!important}
.dashboard-main-v217 .activity-card-v217{grid-column:1!important}
.dashboard-main-v217 .utilization-card-v217{grid-column:2!important}
.dashboard-main-v217 .tasks-card-v217{grid-column:3!important}
.dashboard-main-v217 .messages-card-v217{grid-column:4!important}
.dashboard-main-v217 .calendar-card-v217{display:none!important}
.dashboard-card-v217 .panel-head{margin-bottom:8px!important;padding-bottom:8px!important}
.dashboard-card-v217 .panel-head h3{font-size:14px!important;margin:0!important}.dashboard-card-v217 .panel-head p{font-size:9.5px!important;margin-top:3px!important}
.dashboard-card-v217 .dash360-feed{max-height:235px!important;overflow:auto!important}
.dashboard-card-v217 .dash360-feed.compact{max-height:82px!important}
.dashboard-card-v217 .dash360-row{padding:7px 8px!important;min-height:0!important}
.dashboard-project-mini{margin-top:7px!important;padding-top:7px!important}
.dashboard-project-mini h4{font-size:11px!important;margin-bottom:5px!important}
.dash-resource-summary{max-height:145px!important;overflow:auto!important}
.dash-resource-footer{margin-top:5px!important}

.dashboard-team-v217{grid-column:1!important;margin:0!important;padding:13px!important;align-self:stretch!important}
.dashboard-quick-v217{grid-column:2!important;margin:0!important;padding:13px!important;align-self:stretch!important}
.dashboard-team-v217 .panel-head,.dashboard-quick-v217 .panel-head{padding-bottom:8px!important;margin-bottom:8px!important}
.dashboard-team-grid-v217{grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:8px!important}
.dashboard-team-grid-v217 .office-team-card{padding:0!important;overflow:hidden!important;min-height:176px!important;border-radius:12px!important;background:#fff!important}
.dashboard-team-grid-v217 .office-team-card-main{display:block!important;padding:7px 7px 4px!important;text-align:center!important;min-height:0!important}
.dashboard-team-grid-v217 .office-team-photo{width:100%!important;height:auto!important;aspect-ratio:1/1!important;border-radius:9px!important;overflow:hidden!important;background:#f3f6fa!important;margin:0 auto 5px!important}
.dashboard-team-grid-v217 .office-team-avatar,
.dashboard-team-grid-v217 .office-team-avatar-fallback{
  width:100%!important;height:100%!important;aspect-ratio:1/1!important;border-radius:9px!important;
  object-fit:contain!important;object-position:center center!important;background:#f3f6fa!important;
}
.dashboard-team-grid-v217 .office-team-card-copy{display:block!important;text-align:center!important;min-width:0!important}
.dashboard-team-grid-v217 .office-team-card-copy h3{font-size:11px!important;line-height:1.15!important;margin:1px 0 2px!important;display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.dashboard-team-grid-v217 .office-team-card-copy p{font-size:8.5px!important;line-height:1.15!important;margin:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.dashboard-team-grid-v217 .office-team-dept{display:none!important}
.dashboard-team-grid-v217 .office-team-card-copy small{font-size:8px!important;margin-top:2px!important;display:flex!important;justify-content:center!important}
.dashboard-team-grid-v217 .office-team-card-actions{grid-template-columns:repeat(3,1fr)!important;gap:3px!important;padding:0 7px 7px!important;margin:0!important}
.dashboard-team-grid-v217 .office-team-card-actions button{min-height:24px!important;padding:3px!important;border-radius:7px!important}
.dashboard-team-grid-v217 .office-team-card-actions button:nth-child(1)::after{font-size:10px!important}.dashboard-team-grid-v217 .office-team-card-actions button:nth-child(2)::after{font-size:10px!important}.dashboard-team-grid-v217 .office-team-card-actions button:nth-child(3)::after{font-size:10px!important}
.dashboard-team-grid-v217 .office-team-online{width:9px!important;height:9px!important;right:5px!important;top:5px!important}

.dashboard-quick-grid-v217{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.dashboard-quick-grid-v217 button{grid-template-columns:35px 1fr!important;min-height:62px!important;padding:8px!important;column-gap:7px!important;border-radius:10px!important}
.dashboard-quick-grid-v217 .quick-icon{width:32px!important;height:32px!important;border-radius:9px!important}
.dashboard-quick-grid-v217 b{font-size:10px!important}.dashboard-quick-grid-v217 small{font-size:8.5px!important;line-height:1.2!important}
.dashboard-quick-grid-v217 button:last-child{grid-column:1/-1!important}

.dashboard-mindmap-v217{margin:0!important;padding:13px!important;border-radius:15px!important}
.dashboard-mindmap-canvas-v217{min-height:410px!important;padding:10px 6px 4px!important}
.dashmap-person img,.dashmap-person .fallback{object-fit:contain!important;object-position:center!important;background:#f4f7fb!important}

/* Auch außerhalb des Dashboard-Teamstreifens nie wieder Gesichter abschneiden */
.office-team-avatar,.assistant-quick-portrait,.assistant-chat-avatar,.mindmap-avatar-img,.assistant-avatar-preview img,
.mindmap-avatar img,.assistant-avatar img{object-fit:contain!important;object-position:center center!important;background:#f3f6fa!important}

/* Büro soll beim Öffnen exakt oben beginnen */
body.office-dashboard-v219 main{scroll-behavior:auto!important}
body.office-dashboard-v219 #dashboard{padding-top:8px!important}

@media(max-width:1380px){
 .dashboard-v217{grid-template-columns:1fr!important}
 .dashboard-greeting-v217,.dashboard-kpis-v217,.dashboard-main-v217,.dashboard-team-v217,.dashboard-quick-v217,.dashboard-mindmap-v217{grid-column:1!important}
 .dashboard-main-v217{grid-template-columns:1fr 1.25fr .9fr!important}
 .dashboard-main-v217 .messages-card-v217{grid-column:3!important;grid-row:2!important;height:210px!important;min-height:210px!important}
 .dashboard-main-v217 .tasks-card-v217{grid-column:3!important;grid-row:1!important}
 .dashboard-main-v217 .activity-card-v217{grid-column:1!important;grid-row:1/3!important;height:527px!important}
 .dashboard-main-v217 .utilization-card-v217{grid-column:2!important;grid-row:1/3!important;height:527px!important}
 .dashboard-team-grid-v217{grid-template-columns:repeat(8,minmax(92px,1fr))!important}
 .dashboard-quick-grid-v217{grid-template-columns:repeat(5,minmax(0,1fr))!important}
 .dashboard-quick-grid-v217 button:last-child{grid-column:auto!important}
}
@media(max-width:1050px){
 .dashboard-kpis-v217{grid-template-columns:repeat(3,1fr)!important}
 .dashboard-main-v217{grid-template-columns:1fr 1fr!important}
 .dashboard-main-v217>.dashboard-card-v217,.dashboard-main-v217 .activity-card-v217,.dashboard-main-v217 .utilization-card-v217,.dashboard-main-v217 .tasks-card-v217,.dashboard-main-v217 .messages-card-v217{grid-column:auto!important;grid-row:auto!important;height:300px!important;min-height:300px!important}
 .dashboard-team-grid-v217{grid-template-columns:repeat(4,1fr)!important}
 .dashboard-quick-grid-v217{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:650px){
 .dashboard-v217{padding:8px 4px 24px!important}.dashboard-kpis-v217{grid-template-columns:1fr 1fr!important}.dashboard-main-v217{grid-template-columns:1fr!important}
 .dashboard-team-grid-v217{grid-template-columns:repeat(2,1fr)!important}.dashboard-quick-grid-v217{grid-template-columns:1fr!important}.dashboard-quick-grid-v217 button:last-child{grid-column:auto!important}
}


/* V25.21.18 – interaktive Auslastungsanalyse */
.dashboard-v217 .utilization-card-v217{overflow:hidden}
.dashboard-v217 .dash-resource-head{align-items:flex-start;gap:10px}
.dashboard-v217 .dash-resource-head select{min-width:148px;max-width:190px;border:1px solid #dce6f3;border-radius:9px;background:#f8fbff;color:#18335f;font-size:10px;font-weight:700;padding:7px 28px 7px 10px;box-shadow:none}
.dash-util-chart-wrap{display:grid;gap:8px;min-width:0}
.dash-util-top{display:grid;grid-template-columns:150px minmax(0,1fr);gap:13px;align-items:center;min-height:150px}
.dash-util-donut{width:132px;height:132px;border-radius:50%;position:relative;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(27,58,111,.04)}
.dash-util-donut::after{content:"";position:absolute;width:78px;height:78px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #edf2f8}
.dash-util-donut-hole{position:relative;z-index:2;display:grid;text-align:center;gap:2px;width:76px}
.dash-util-donut-hole strong{font-size:22px;line-height:1;color:#122557;letter-spacing:-.04em}.dash-util-donut-hole small{font-size:8px;color:#7888a5;line-height:1.2}
.dash-util-legend{display:grid;gap:8px;min-width:0}.dash-util-legend-row{display:grid;grid-template-columns:9px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:9.5px;color:#3d5278;min-width:0}.dash-util-legend-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-util-legend-row strong{font-size:10px;color:#10275a}.dash-util-dot{width:8px;height:8px;border-radius:50%}
.dash-util-trend-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;border-top:1px solid #edf2f8;padding-top:8px}.dash-util-trend-head b{font-size:10px;color:#1d3767}.dash-util-trend-head small{font-size:8px;color:#8a98af;text-align:right}
.dash-util-trend{width:100%;min-height:132px}.dash-util-trend svg{display:block;width:100%;height:132px;overflow:visible}.dash-util-grid{stroke:#e9eff7;stroke-width:1}.dash-util-axis{fill:#7081a2;font-size:8px;font-family:inherit}.dash-util-line{fill:none;stroke:#2f73ff;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.dash-util-point{fill:#2f73ff;stroke:#fff;stroke-width:1.5}.dash-util-last rect{fill:#1e69ef}.dash-util-last text{fill:#fff;font-size:8px;font-weight:800;font-family:inherit}.dashboard-v217 .dash-resource-footer{display:flex!important;align-items:center;justify-content:space-between;gap:8px;margin-top:2px!important;border-top:1px solid #edf2f8;padding-top:7px}.dashboard-v217 .dash-resource-footer .muted{font-size:8.5px!important}
@media(max-width:1100px){.dash-util-top{grid-template-columns:120px minmax(0,1fr)}.dash-util-donut{width:108px;height:108px}.dash-util-donut::after{width:64px;height:64px}.dash-util-donut-hole{width:62px}.dash-util-donut-hole strong{font-size:18px}}

/* V25.21.18 – Büro-Dashboard ausschließlich in Dashboard/Büro anzeigen */
.dashboard-v217.view:not(.active){display:none!important}
.dashboard-v217.view.active{display:grid!important}

/* V25.21.18 – Mitarbeiter direkt in der Büro-Mindmap sichtbar und auswählbar */
.dashmap-members{display:grid;gap:6px;margin-top:3px;padding-top:4px;position:relative}
.dashmap-members::before{content:"";position:absolute;left:50%;bottom:100%;height:8px;border-left:1px solid var(--branch,#c8d7ef)}
.dashmap-member{width:100%;display:flex;align-items:center;gap:7px;text-align:left;padding:6px;border:1px solid #dfe7f3;background:#fff;border-radius:9px;min-width:0;cursor:pointer;box-shadow:0 3px 10px rgba(26,54,100,.035);transition:.16s ease}
.dashmap-member:hover{transform:translateY(-1px);border-color:var(--branch,#8fb4f4);box-shadow:0 7px 16px rgba(26,54,100,.08)}
.dashmap-member.inactive{opacity:.58}
.dashmap-member-photo{width:30px;height:30px;position:relative;flex:0 0 30px}
.dashmap-member-photo img,.dashmap-member-photo .fallback{width:30px;height:30px;border-radius:50%;object-fit:contain;object-position:center;background:#f3f6fb;display:grid;place-items:center;font-size:11px;font-weight:800}
.dashmap-member-photo i{position:absolute;right:-1px;bottom:0;width:8px;height:8px;border-radius:50%;background:#20b86a;border:2px solid #fff}
.dashmap-member-photo i.off{background:#a6b0c0}
.dashmap-member-copy{min-width:0;display:grid;gap:1px}
.dashmap-member-copy b{font-size:9px;color:#172b58;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashmap-member-copy small{font-size:7.5px;color:#71809f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashmap-no-members{font-size:8px;text-align:center;color:#91a0b9;padding:7px 4px;border:1px dashed #d7e0ed;border-radius:8px;background:#fbfcfe}
.dashmap-dept.neutral{--branch:#9aa8bd;--soft:#f7f9fc}
@media(max-width:1250px){.dashmap-member-copy small{white-space:normal}}

/* V25.21.18 – Mitarbeiter in der Büro-Mindmap sichtbar, auswählbar und direkt über Chat erreichbar */
.dashboard-mindmap-canvas-v217{min-height:560px!important}
.dashmap-people-block{margin-top:2px;padding:8px;border:1px solid color-mix(in srgb,var(--branch,#a9c6ff) 36%,#e5ebf5);border-radius:10px;background:color-mix(in srgb,var(--soft,#f7faff) 68%,#fff);position:relative}
.dashmap-people-label,.dashmap-tasks-label{font-size:8.5px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:#627390;margin:0 0 6px;text-align:left}
.dashmap-tasks-label{margin:2px 0 -1px;padding-left:2px}
.dashmap-members{display:grid!important;gap:6px!important;margin:0!important;padding:0!important;position:relative!important}
.dashmap-members::before{display:none!important}
.dashmap-member{display:grid!important;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-height:50px;padding:6px 8px!important;border:1px solid #dbe5f2!important;background:#fff!important;border-radius:10px!important;cursor:pointer!important;text-align:left!important;box-shadow:0 3px 10px rgba(28,54,98,.045)!important;color:#142857!important}
.dashmap-member:hover,.dashmap-member:focus-visible{transform:translateY(-1px);border-color:var(--branch,#82aef0)!important;box-shadow:0 7px 18px rgba(28,54,98,.10)!important;outline:none}
.dashmap-member-photo{width:38px!important;height:38px!important;position:relative;flex:0 0 38px}
.dashmap-member-photo img,.dashmap-member-photo .fallback{width:38px!important;height:38px!important;border-radius:50%!important;object-fit:contain!important;object-position:center!important;background:#f2f5fa!important;display:grid!important;place-items:center!important;font-size:12px!important;font-weight:850!important}
.dashmap-member-photo i{width:9px!important;height:9px!important;right:-1px!important;bottom:1px!important}
.dashmap-member-copy{min-width:0!important;display:grid!important;gap:2px!important}
.dashmap-member-copy b{font-size:10px!important;line-height:1.15!important;color:#112650!important;white-space:normal!important;overflow:visible!important}
.dashmap-member-copy small{font-size:8px!important;line-height:1.2!important;color:#71809e!important;white-space:normal!important;overflow:visible!important}
.dashmap-no-members{font-size:8.5px;color:#8794aa;padding:7px;text-align:center;border:1px dashed #d8e1ee;border-radius:8px;background:rgba(255,255,255,.7)}
@media(max-width:1250px){.dashboard-mindmap-canvas-v217{min-height:620px!important}}


/* V25.21.18 – Mitarbeiterkarten beim Hover groß und gut lesbar */
.dashboard-team-v217,.office-team-panel,.dashboard-team-grid-v217,.office-team-grid{overflow:visible!important}
.office-team-card{position:relative;isolation:isolate;overflow:visible!important;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;outline:none}
.office-team-card:hover,.office-team-card:focus-within,.office-team-card:focus{z-index:80;border-color:#8f6cf6!important;box-shadow:0 16px 40px rgba(41,28,91,.16)!important}
.office-team-hovercard{position:absolute;z-index:100;left:50%;top:50%;width:min(340px,calc(100vw - 32px));min-height:330px;transform:translate(-50%,-50%) scale(.94);opacity:0;visibility:hidden;pointer-events:none;background:#fff;border:1.5px solid #a98af7;border-radius:18px;box-shadow:0 28px 70px rgba(31,24,72,.25);padding:18px;display:grid;gap:14px;transition:opacity .16s ease,transform .18s ease,visibility .16s ease}
.office-team-card:hover .office-team-hovercard,.office-team-card:focus-within .office-team-hovercard,.office-team-card:focus .office-team-hovercard{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.office-team-hoverhero{display:grid;grid-template-columns:118px minmax(0,1fr);gap:15px;align-items:center;padding-bottom:13px;border-bottom:1px solid #e7eaf3}
.office-team-hoverphoto{width:118px;height:118px;position:relative;border-radius:50%;background:linear-gradient(145deg,#f3f5fb,#fff);box-shadow:inset 0 0 0 1px #e5e9f1}
.office-team-hoverphoto .office-team-avatar,.office-team-hoverphoto .office-team-avatar-fallback{width:118px!important;height:118px!important;border-radius:50%!important;object-fit:contain!important;object-position:center!important;background:#f3f5fb!important;display:grid!important;place-items:center!important;font-size:36px!important}
.office-team-hoverphoto .office-team-online{width:16px!important;height:16px!important;right:5px!important;top:6px!important;border-width:3px!important}
.office-team-hoverhero h3{font-size:24px!important;line-height:1.05;margin:0 0 6px!important;color:#121d45!important;letter-spacing:-.02em}
.office-team-hoverhero p{font-size:13px!important;line-height:1.35!important;margin:0 0 8px!important;color:#536487!important}
.office-team-hoverhero small{display:flex!important;align-items:center!important;gap:6px!important;font-size:12px!important;color:#15945a!important}
.office-team-hoverfacts{display:grid;gap:9px;background:#f8f9fd;border:1px solid #e8ebf4;border-radius:12px;padding:11px 12px}
.office-team-hoverfacts>div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;align-items:start}
.office-team-hoverfacts>div.wide{grid-template-columns:1fr;gap:3px}
.office-team-hoverfacts span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#7a86a3}
.office-team-hoverfacts b{font-size:12px;line-height:1.35;color:#26385f;font-weight:750;white-space:normal;overflow-wrap:anywhere}
.office-team-hoveractions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}
.office-team-hoveractions button{min-height:38px;border:1px solid #d9dff0;border-radius:9px;background:#fff;color:#25365e;font-size:11px;font-weight:800;cursor:pointer;padding:7px 6px}
.office-team-hoveractions button:first-child{background:linear-gradient(135deg,#7248f5,#5b37d8);border-color:#6942e8;color:#fff}
.office-team-hoveractions button:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(52,47,104,.11)}
/* auch die kleinen Mitarbeiterknoten in der Büro-Mindmap deutlicher hervorheben */
.dashmap-member{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important;transform-origin:center}
.dashmap-member:hover,.dashmap-member:focus-visible{z-index:30;transform:translateY(-3px) scale(1.08)!important;box-shadow:0 12px 28px rgba(31,55,103,.18)!important;background:#fff!important}
@media(max-width:900px){.office-team-hovercard{display:none}.office-team-card:hover{transform:translateY(-2px) scale(1.02)}}

/* V25.21.18 – Hover-Profil als vollständig größerer Rahmen statt Bild-Zoom */
.office-team-card{transform:none!important}
.office-team-card:hover,.office-team-card:focus-within,.office-team-card:focus{
  z-index:90!important;
  transform:translateY(-2px)!important;
  border-color:#a786f8!important;
  box-shadow:0 10px 28px rgba(41,28,91,.13)!important;
}
.office-team-card:hover .office-team-photo,
.office-team-card:focus-within .office-team-photo,
.office-team-card:hover .office-team-avatar,
.office-team-card:focus-within .office-team-avatar{
  transform:none!important;
}
.office-team-hovercard{
  position:fixed!important;
  z-index:10000!important;
  left:50vw!important;
  top:50vh!important;
  width:min(660px,calc(100vw - 44px))!important;
  min-height:0!important;
  max-height:min(720px,calc(100vh - 44px))!important;
  overflow:auto!important;
  transform:translate(-50%,-50%) scale(.96)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  background:#fff!important;
  border:1.5px solid #aa8af8!important;
  border-radius:22px!important;
  box-shadow:0 0 0 9999px rgba(16,25,55,.12),0 30px 90px rgba(31,24,72,.28)!important;
  padding:24px!important;
  display:grid!important;
  gap:18px!important;
  transition:opacity .15s ease,transform .18s ease,visibility .15s ease!important;
}
.office-team-card:hover .office-team-hovercard,
.office-team-card:focus-within .office-team-hovercard,
.office-team-card:focus .office-team-hovercard{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translate(-50%,-50%) scale(1)!important;
}
.office-team-hoverhero{
  display:grid!important;
  grid-template-columns:210px minmax(0,1fr)!important;
  gap:28px!important;
  align-items:center!important;
  padding:0 0 18px!important;
  border-bottom:1px solid #e5e9f3!important;
}
.office-team-hoverphoto{
  width:210px!important;
  height:210px!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,#f4f5fb,#fff)!important;
  box-shadow:inset 0 0 0 1.5px #b89df8!important;
  overflow:hidden!important;
}
.office-team-hoverphoto .office-team-avatar,
.office-team-hoverphoto .office-team-avatar-fallback{
  width:210px!important;
  height:210px!important;
  border-radius:50%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f4f5fb!important;
  transform:none!important;
  font-size:54px!important;
}
.office-team-hoverphoto .office-team-online{
  width:19px!important;height:19px!important;right:14px!important;top:14px!important;border-width:4px!important
}
.office-team-hoverhero h3{
  font-size:31px!important;
  line-height:1.05!important;
  margin:0 0 8px!important;
  color:#101b45!important;
}
.office-team-hoverhero p{
  font-size:16px!important;
  margin:0 0 10px!important;
  color:#5b3ed3!important;
  font-weight:750!important;
}
.office-team-hoverhero small{font-size:13px!important}
.office-team-hoverfacts{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px 18px!important;
  background:#f8f9fd!important;
  border:1px solid #e6eaf3!important;
  border-radius:14px!important;
  padding:15px 16px!important;
}
.office-team-hoverfacts>div{grid-template-columns:105px minmax(0,1fr)!important;gap:11px!important}
.office-team-hoverfacts>div.wide{grid-column:1/-1!important;grid-template-columns:135px minmax(0,1fr)!important}
.office-team-hoverfacts span{font-size:11px!important}
.office-team-hoverfacts b{font-size:13px!important}
.office-team-hoveractions{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:12px!important}
.office-team-hoveractions button{min-height:46px!important;font-size:13px!important;border-radius:11px!important}
@media(max-width:760px){
  .office-team-hovercard{width:calc(100vw - 24px)!important;max-height:calc(100vh - 24px)!important;padding:18px!important}
  .office-team-hoverhero{grid-template-columns:120px 1fr!important;gap:16px!important}
  .office-team-hoverphoto,.office-team-hoverphoto .office-team-avatar,.office-team-hoverphoto .office-team-avatar-fallback{width:120px!important;height:120px!important}
  .office-team-hoverhero h3{font-size:23px!important}
  .office-team-hoverfacts{grid-template-columns:1fr!important}
  .office-team-hoverfacts>div.wide{grid-column:auto!important}
  .office-team-hoveractions{grid-template-columns:1fr!important}
}


/* V25.21.18 – globale Profilkarte statt Popup im kleinen Kartenrahmen */
.office-team-card > .office-team-hovercard{display:none!important}
.office-profile-portal{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:22px;opacity:0;visibility:hidden;pointer-events:none;background:rgba(13,25,51,.14);backdrop-filter:blur(1.5px);transition:opacity .14s ease,visibility .14s ease}
.office-profile-portal.open{opacity:1;visibility:visible;pointer-events:none}
.office-profile-portal-card{width:min(690px,calc(100vw - 44px));max-height:calc(100vh - 44px);overflow:auto;background:#fff;border:1.5px solid #aa8af8;border-radius:22px;box-shadow:0 32px 90px rgba(29,24,70,.30);padding:24px;display:grid;gap:18px;transform:translateY(10px) scale(.975);transition:transform .16s ease;pointer-events:auto}
.office-profile-portal.open .office-profile-portal-card{transform:translateY(0) scale(1)}
.office-profile-portal .office-team-hoverhero{display:grid!important;grid-template-columns:210px minmax(0,1fr)!important;gap:28px!important;align-items:center!important;padding:0 0 18px!important;border-bottom:1px solid #e5e9f3!important}
.office-profile-portal .office-team-hoverphoto{width:210px!important;height:210px!important;position:relative!important;border-radius:50%!important;overflow:hidden!important;background:#f4f5fb!important;box-shadow:inset 0 0 0 1.5px #b89df8!important}
.office-profile-portal .office-team-hoverphoto .office-team-avatar,.office-profile-portal .office-team-hoverphoto .office-team-avatar-fallback{width:210px!important;height:210px!important;border-radius:50%!important;object-fit:contain!important;object-position:center!important;background:#f4f5fb!important;transform:none!important;font-size:54px!important}
.office-profile-portal .office-team-hoverphoto .office-team-online{width:19px!important;height:19px!important;right:14px!important;top:14px!important;border-width:4px!important}
.office-profile-portal .office-team-hoverhero h3{font-size:31px!important;line-height:1.05!important;margin:0 0 8px!important;color:#101b45!important}
.office-profile-portal .office-team-hoverhero p{font-size:16px!important;margin:0 0 10px!important;color:#5b3ed3!important;font-weight:750!important}
.office-profile-portal .office-team-hoverhero small{font-size:13px!important}
.office-profile-portal .office-team-hoverfacts{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px 18px!important;background:#f8f9fd!important;border:1px solid #e6eaf3!important;border-radius:14px!important;padding:15px 16px!important}
.office-profile-portal .office-team-hoverfacts>div{grid-template-columns:105px minmax(0,1fr)!important;gap:11px!important}
.office-profile-portal .office-team-hoverfacts>div.wide{grid-column:1/-1!important;grid-template-columns:135px minmax(0,1fr)!important}
.office-profile-portal .office-team-hoverfacts span{font-size:11px!important}.office-profile-portal .office-team-hoverfacts b{font-size:13px!important}
.office-profile-portal .office-team-hoveractions{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:12px!important}
.office-profile-portal .office-team-hoveractions button{min-height:46px!important;font-size:13px!important;border-radius:11px!important;pointer-events:auto!important}
@media(max-width:760px){.office-profile-portal{padding:12px}.office-profile-portal-card{width:calc(100vw - 24px);max-height:calc(100vh - 24px);padding:18px}.office-profile-portal .office-team-hoverhero{grid-template-columns:120px 1fr!important;gap:16px!important}.office-profile-portal .office-team-hoverphoto,.office-profile-portal .office-team-hoverphoto .office-team-avatar,.office-profile-portal .office-team-hoverphoto .office-team-avatar-fallback{width:120px!important;height:120px!important}.office-profile-portal .office-team-hoverhero h3{font-size:23px!important}.office-profile-portal .office-team-hoverfacts{grid-template-columns:1fr!important}.office-profile-portal .office-team-hoverfacts>div.wide{grid-column:auto!important}.office-profile-portal .office-team-hoveractions{grid-template-columns:1fr!important}}


/* V25.21.18 – Hover-Profil komplett auf einen Blick; keine interne Scrollleiste auf Desktop */
@media (min-width:761px){
 .office-profile-portal{padding:16px!important}
 .office-profile-portal-card{width:min(720px,calc(100vw - 32px))!important;max-height:none!important;overflow:visible!important;padding:18px 20px!important;gap:12px!important;border-radius:20px!important}
 .office-profile-portal .office-team-hoverhero{grid-template-columns:152px minmax(0,1fr)!important;gap:20px!important;padding:0 0 12px!important}
 .office-profile-portal .office-team-hoverphoto,.office-profile-portal .office-team-hoverphoto .office-team-avatar,.office-profile-portal .office-team-hoverphoto .office-team-avatar-fallback{width:152px!important;height:152px!important}
 .office-profile-portal .office-team-hoverphoto .office-team-online{width:16px!important;height:16px!important;right:9px!important;top:9px!important;border-width:3px!important}
 .office-profile-portal .office-team-hoverhero h3{font-size:27px!important;margin:0 0 5px!important}
 .office-profile-portal .office-team-hoverhero p{font-size:14px!important;margin:0 0 7px!important}
 .office-profile-portal .office-team-hoverhero small{font-size:12px!important}
 .office-profile-portal .office-team-hoverfacts{padding:11px 13px!important;gap:7px 15px!important;border-radius:12px!important}
 .office-profile-portal .office-team-hoverfacts>div{grid-template-columns:92px minmax(0,1fr)!important;gap:9px!important}
 .office-profile-portal .office-team-hoverfacts>div.wide{grid-template-columns:122px minmax(0,1fr)!important}
 .office-profile-portal .office-team-hoverfacts span{font-size:10.5px!important}
 .office-profile-portal .office-team-hoverfacts b{font-size:12px!important;line-height:1.35!important}
 .office-profile-portal .office-team-hoveractions{gap:10px!important}
 .office-profile-portal .office-team-hoveractions button{min-height:42px!important;font-size:12.5px!important}
}
@media (max-width:760px){
 .office-profile-portal-card{max-height:calc(100dvh - 24px)!important;overflow:auto!important}
}

/* V25.21.23 · Bildarchiv */
.photo-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.photo-kpis>div{padding:14px 16px;border:1px solid #e5eaf2;border-radius:14px;background:#fff}.photo-kpis span{display:block;font-size:12px;color:#64748b}.photo-kpis b{display:block;font-size:24px;margin-top:3px}.photo-create-grid,.photo-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.photo-filter-grid{grid-template-columns:2fr repeat(3,1fr)}.photo-capture-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.photo-file-button{cursor:pointer}.photo-file-button input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.photo-file-button.disabled{opacity:.48;cursor:not-allowed}.photo-selected{margin-top:12px}.photo-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:18px}.photo-folder-card{border:1px solid #e2e8f0;border-radius:16px;padding:16px;background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.04)}.photo-folder-head{display:flex;justify-content:space-between;gap:12px}.photo-folder-card h4{margin:0 0 5px}.photo-folder-meta{font-size:12px;color:#64748b}.photo-folder-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.photo-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}.photo-thumbs img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px;background:#eef2f7}.photo-dialog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.photo-dialog-grid figure{margin:0}.photo-dialog-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.photo-dialog-grid figcaption{font-size:11px;color:#64748b;margin-top:4px;word-break:break-all}@media(max-width:800px){.photo-create-grid,.photo-filter-grid,.photo-kpis{grid-template-columns:1fr}.photo-folder-grid{grid-template-columns:1fr}.photo-capture-actions>*{flex:1 1 100%;text-align:center}}

/* V25.21.24 · Kamera-Fix */
.photo-webcam-overlay{position:fixed;inset:0;z-index:99999;background:rgba(3,15,30,.82);display:grid;place-items:center;padding:18px}.photo-webcam-box{width:min(820px,96vw);background:#fff;border-radius:18px;padding:16px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.photo-webcam-box video{display:block;width:100%;max-height:68vh;object-fit:contain;background:#071526;border-radius:12px}.photo-webcam-controls{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.photo-webcam-box small{display:block;margin-top:8px;color:#64748b}

/* V25.21.25 · echte Live-Kamera */
.photo-hidden-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.photo-camera-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.photo-camera-title span{font-size:12px;padding:5px 9px;border-radius:999px;background:#dcfce7;color:#166534}

/* V25.21.26 · Kamera iPhone/iPad/Android/PC */
#photoNativeCameraLabel{display:inline-flex;align-items:center;justify-content:center}

/* V25.21.27 · Kamera-Berechtigung */
.photo-camera-state{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#eef6ff;color:#24557a;font-size:12px;font-weight:700}

/* V25.21.28 · Upload-Pflichtfelder klar führen */
.photo-required-missing{border-color:#f59e0b!important;box-shadow:0 0 0 3px rgba(245,158,11,.18)!important;background:#fffbeb!important}
#photoUpload:not(:disabled){box-shadow:0 6px 16px rgba(15,118,110,.18)}

/* V25.21.29 · Bild-Verknüpfung & Sofortanzeige */
.photo-reference-status{display:block;margin-top:5px;font-size:11px;color:#64748b}.photo-reference-status.checking{color:#475569}.photo-reference-status.ok{color:#15803d;font-weight:700}.photo-reference-status.bad{color:#b91c1c;font-weight:700}.photo-folder-new{outline:3px solid rgba(34,197,94,.28);box-shadow:0 12px 32px rgba(34,197,94,.16)!important;animation:photoNewPulse 1.8s ease-out 1}@keyframes photoNewPulse{0%{transform:scale(.985)}45%{transform:scale(1.012)}100%{transform:scale(1)}}

/* V25.21.30 · Lieferschein, Barcode und QR */
.photo-code-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding:12px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc}.photo-code-status{flex:1 1 220px}.photo-code-data{width:100%}.photo-code-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.photo-code-summary>div{padding:9px 10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.photo-code-summary span{display:block;font-size:11px;color:#64748b}.photo-code-summary b{display:block;margin-top:2px;font-size:13px;word-break:break-word}.photo-scan-frame{pointer-events:none;position:absolute;inset:18% 12%;border:3px solid rgba(255,255,255,.9);border-radius:16px;box-shadow:0 0 0 9999px rgba(0,0,0,.12)}.photo-webcam-box{position:relative}

/* V25.21.36 · Zentrale Projekt-/Serviceakte */
.casefile-searchbar{display:flex;gap:10px;max-width:760px}.casefile-searchbar input{flex:1}.casefile-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:14px 0}.casefile-kpis>div{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px}.casefile-kpis span{display:block;font-size:11px;color:#64748b}.casefile-kpis b{font-size:24px}.casefile-actions{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0 16px}.casefile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.casefile-wide{grid-column:1/-1}.casefile-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.casefile-facts>div{border-bottom:1px solid #eef2f7;padding:8px 0}.casefile-facts span{display:block;font-size:11px;color:#64748b}.casefile-facts b{display:block;margin-top:2px;word-break:break-word}.casefile-list{display:grid;gap:9px}.casefile-item{border:1px solid #e2e8f0;border-radius:12px;padding:11px;background:#fff}.casefile-item b,.casefile-item span,.casefile-item small{display:block}.casefile-item span,.casefile-item small{color:#64748b;margin-top:2px}.casefile-mini{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.casefile-mini span,.casefile-resource span{display:inline-block;padding:4px 7px;border-radius:999px;background:#f1f5f9;font-size:11px;color:#334155;margin:3px}.casefile-resource{margin-bottom:12px}.casefile-photo-folder{border:1px solid #e2e8f0;border-radius:14px;padding:13px;margin-bottom:10px}.casefile-photo-folder small{display:block;color:#64748b;margin-top:3px}.casefile-photo-thumbs{display:flex;gap:7px;overflow:auto;margin-top:10px}.casefile-photo-thumbs img{width:96px;height:72px;object-fit:cover;border-radius:9px;background:#eef2f7}.casefile-folder-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.casefile-timeline{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.casefile-timeline>div{border:1px solid #e2e8f0;border-radius:12px;padding:12px}.casefile-timeline b{font-size:20px;display:block}.casefile-timeline span{font-size:11px;color:#64748b}@media(max-width:900px){.casefile-grid{grid-template-columns:1fr}.casefile-wide{grid-column:auto}.casefile-kpis{grid-template-columns:repeat(2,1fr)}.casefile-facts{grid-template-columns:1fr}.casefile-searchbar{flex-direction:column}}

/* V25.21.37 · Maschinen-Automation */
.machine-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.machine-automation-card{margin-top:14px}.machine-identity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.machine-auto-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.machine-auto-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.machine-auto-grid>div,.machine-research-summary,.machine-parts-section,.machine-fault-history{border:1px solid #e2e8f0;border-radius:13px;padding:12px;background:#fff}.machine-auto-grid h5,.machine-parts-section h5,.machine-fault-history h5{margin:0 0 8px}.machine-part-card{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border:1px solid #e2e8f0;border-radius:12px;padding:10px;margin-top:8px}.machine-part-card small{display:block;color:#64748b;margin-top:3px}.machine-part-card p{margin:6px 0 0;font-size:12px;color:#475569}.machine-part-links{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.machine-part-links .button-like{font-size:11px;padding:6px 8px}.machine-source-links{display:flex;gap:6px;flex-wrap:wrap}.machine-source-links a,.machine-source-links span{font-size:11px}.machine-fault-history article{border-top:1px solid #edf2f7;padding-top:10px;margin-top:10px}.machine-fault-history article>small{display:block;color:#64748b}.machine-fault-smart-shell textarea{width:100%}.machine-fault-smart-actions{margin-top:12px}.machine-smart-result{margin-top:12px}.machine-smart-result ul,.machine-smart-result ol{padding-left:20px}@media(max-width:900px){.machine-identity-grid,.machine-auto-grid{grid-template-columns:1fr}.machine-part-card{flex-direction:column}.machine-part-links{justify-content:flex-start}}

/* V25.21.38 · Maschinenkamera direkt */

/* V25.21.40 · Direkte Maschinenkamera */
.machine-direct-thumbs{display:flex;gap:6px;overflow-x:auto;margin-top:10px;padding-bottom:2px}.machine-direct-thumbs img{width:76px;height:58px;object-fit:cover;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc}.machine-card-actions .primary{white-space:nowrap}

/* V25.21.41 · echte Live-Kamera statt Dateiauswahl */
.direct-machine-camera-overlay{position:fixed;inset:0;z-index:100000;background:rgba(15,23,42,.82);display:flex;align-items:center;justify-content:center;padding:18px}.direct-machine-camera-box{width:min(920px,100%);max-height:96vh;overflow:auto;background:#fff;border-radius:18px;padding:14px;box-shadow:0 24px 70px rgba(0,0,0,.35)}.direct-machine-camera-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.direct-machine-camera-head b,.direct-machine-camera-head small{display:block}.direct-machine-camera-head small{color:#64748b;margin-top:3px}.direct-machine-camera-head button{font-size:20px}.direct-machine-camera-box video{display:block;width:100%;max-height:68vh;object-fit:contain;background:#020617;border-radius:13px}.direct-machine-camera-actions{display:flex;justify-content:center;margin-top:12px}.direct-machine-camera-actions button{font-size:16px;padding:11px 20px}

/* V25.21.42 · Kamera im Vordergrund + Mehrfachaufnahme */
.direct-machine-camera-dialog{border:0;padding:0;background:transparent;max-width:none;max-height:none;width:100vw;height:100vh}.direct-machine-camera-dialog::backdrop{background:rgba(15,23,42,.84)}.direct-machine-camera-dialog .direct-machine-camera-box{margin:2vh auto;width:min(980px,96vw);max-height:96vh;overflow:auto}.direct-machine-camera-shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-top:12px}.direct-machine-shot{position:relative}.direct-machine-shot img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid #e2e8f0}.direct-machine-shot button{position:absolute;right:5px;top:5px;width:28px;height:28px;border-radius:999px;padding:0;background:rgba(15,23,42,.8);color:#fff;border:0}.direct-machine-camera-actions{gap:10px;flex-wrap:wrap}

/* V25.21.43 · Maschinenpass + Wartung + Ersatzteillager */
.machine-passport-card{margin-top:14px}.machine-passport-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.machine-pass-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.machine-pass-kpis>div{border:1px solid #e2e8f0;border-radius:12px;padding:10px;text-align:center}.machine-pass-kpis b{display:block;font-size:20px}.machine-pass-kpis span{font-size:11px;color:#64748b}.machine-maint-row,.machine-stock-row{border:1px solid #e2e8f0;border-radius:12px;padding:10px;margin-top:8px;background:#fff}.machine-maint-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.machine-maint-row small,.machine-stock-main small{display:block;color:#64748b;margin-top:3px}.machine-maint-row.overdue{border-color:#f59e0b;background:#fffbeb}.machine-stock-row{display:grid;grid-template-columns:minmax(180px,2fr) repeat(3,minmax(100px,1fr)) auto;gap:8px;align-items:end}.machine-stock-row.low{border-color:#f59e0b;background:#fffbeb}.machine-stock-actions{display:flex;gap:6px;flex-wrap:wrap}.machine-stock-row label{font-size:11px;color:#64748b}.machine-stock-row input{margin-top:3px}@media(max-width:900px){.machine-passport-grid,.machine-pass-kpis{grid-template-columns:repeat(2,1fr)}.machine-stock-row{grid-template-columns:1fr}.machine-maint-row{align-items:flex-start;flex-direction:column}}

/* V29.0.0 · Mietpark integriert */
.rental-detail-dialog .machine-detail-shell{width:min(1180px,96vw)}.rental-pass-status{margin-bottom:10px}.rental-card-actions{flex-wrap:wrap}.rental-card-actions .primary{white-space:nowrap}

/* V29.0.0 */
.rental-rate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 14px}.rental-rate-grid span{border:1px solid #dce6ea;border-radius:11px;padding:10px;color:#64748b}.rental-rate-grid b{display:block;color:#17323e;margin-top:3px}.rental-doc-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #e0e8eb;border-radius:11px;padding:10px;margin-top:7px}.rental-doc-row small{display:block;color:#667b85;margin-top:3px}.rental-doc-row>div:last-child{display:flex;gap:7px;flex-wrap:wrap}@media(max-width:760px){.rental-rate-grid{grid-template-columns:repeat(2,1fr)}.rental-doc-row{align-items:flex-start;flex-direction:column}}

/* V29.0.0 · Mietpark Autopilot */
.rental-autopilot-row{display:grid;grid-template-columns:minmax(220px,2fr) 1fr 1.2fr auto;gap:12px;align-items:center;border:1px solid #dfe8eb;border-radius:12px;padding:11px;margin-top:8px;background:#fff}.rental-autopilot-row small,.rental-autopilot-row em{display:block;color:#687c85;font-size:11px}.signature-dialog{border:0;background:transparent;max-width:none}.signature-dialog::backdrop{background:#0f172acc}.signature-box{background:#fff;border-radius:16px;padding:18px;width:min(760px,94vw)}.signature-box canvas{width:100%;height:250px;border:1px solid #cbd8dd;border-radius:10px;background:#fff;touch-action:none}.signature-box>div{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}@media(max-width:850px){.rental-autopilot-row{grid-template-columns:1fr}}

/* V29.0.0 · zentrale ServiceDesk-Schicht */
.sd-work-kpis,.customer-dossier-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}.sd-work-kpis>div,.customer-dossier-kpis>div{background:#fff;border:1px solid #dce6ea;border-radius:13px;padding:12px}.sd-work-kpis small,.customer-dossier-kpis small{display:block;color:#6b7e87}.sd-work-kpis b,.customer-dossier-kpis b{font-size:24px}.sd-command-center{margin-bottom:16px}.sd-work-task,.heidi-reco{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #dfe8eb;border-radius:11px;padding:10px;margin-top:7px;background:#fff}.sd-work-task.urgent{border-left:4px solid #b42318}.sd-work-task small,.heidi-reco small{display:block;color:#687c85;margin-top:3px}.heidi-reco span{font-size:10px;text-transform:uppercase;border:1px solid #ccd9de;border-radius:999px;padding:2px 6px;margin-right:7px}.central-stock-row{display:grid;grid-template-columns:minmax(220px,2fr) repeat(4,minmax(110px,1fr)) 120px auto;gap:8px;align-items:end;border:1px solid #e0e8eb;border-radius:12px;padding:10px;margin-top:8px}.central-stock-row.low{border-left:4px solid #c2410c}.central-stock-row label{font-size:11px;color:#64748b}.central-stock-row input{width:100%;box-sizing:border-box}.central-stock-row small{display:block;color:#71858d}.costing-row{display:grid;grid-template-columns:minmax(220px,2fr) repeat(4,1fr);gap:10px;align-items:center;border:1px solid #e1e9ec;border-radius:11px;padding:10px;margin-top:7px}.costing-row.warn{border-left:4px solid #b42318}.costing-row span small{display:block}.casefile-item{width:100%;text-align:left}@media(max-width:900px){.sd-work-kpis,.customer-dossier-kpis{grid-template-columns:repeat(2,1fr)}.central-stock-row,.costing-row{grid-template-columns:1fr 1fr}.sd-work-task,.heidi-reco{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.central-stock-row,.costing-row{grid-template-columns:1fr}}

/* V29.0.0 · ServiceDesk Enterprise */
.enterprise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.enterprise-grid>.panel{margin:0}.enterprise-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dfe8eb;border-radius:11px;padding:10px;margin-top:8px}.enterprise-row small,.enterprise-mini span,.rule-row small{display:block;color:#687c85}.enterprise-form-row{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.enterprise-form-row input,.enterprise-form-row select{min-width:150px}.enterprise-mini{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e8eef0;padding:7px 2px}.rule-row{display:flex;align-items:center;gap:10px;border:1px solid #e1e9ec;border-radius:10px;padding:9px;margin-top:7px}.health-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.health-grid span{border:1px solid #dce6e9;border-radius:10px;padding:9px;color:#64748b}.health-grid b{display:block;color:#17323e;margin-top:4px}@media(max-width:900px){.enterprise-grid{grid-template-columns:1fr}.health-grid{grid-template-columns:repeat(2,1fr)}}

/* V29.0.0 · Performance Core */
.perf-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.perf-summary span{border:1px solid #dce6e9;border-radius:10px;padding:9px;color:#64748b}.perf-summary b{display:block;color:#17323e;margin-top:3px}.perf-routes>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e8eef0;padding:6px 0}.perf-routes span{color:#687c85;font-size:12px}@media(max-width:700px){.perf-summary{grid-template-columns:1fr}.perf-routes>div{display:block}.perf-routes span{display:block;margin-top:2px}}

/* V29.0.0 · Automation & Reliability */
.reliability-panel{grid-column:1/-1}.reliability-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e7edef;padding:7px 2px}.reliability-row span{color:#687c85;font-size:12px;text-align:right}.reliability-row.error b{color:#9b1c1c}.reliability-panel h4{margin:16px 0 6px}@media(max-width:700px){.reliability-row{display:block}.reliability-row span{display:block;text-align:left;margin-top:3px}}

/* V29.0.0 · Smart Operations + Database Core */
.smartops-panel{grid-column:1/-1}.smartops-panel h4{margin:17px 0 7px}.smart-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #e5ecef;padding:8px 2px}.smart-row>div:first-child{min-width:0}.smart-row small{display:block;color:#687c85;margin-top:2px}.smart-row.critical{border-left:4px solid currentColor;padding-left:9px}.smart-row button{margin-left:5px}@media(max-width:760px){.smart-row{display:block}.smart-row>div:last-child,.smart-row>span{display:block;margin-top:7px}.enterprise-form-row{flex-wrap:wrap}}

/* V29.0.0 · Autonomous ServiceDesk */
.autonomous-panel{grid-column:1/-1}.autonomous-panel h4{margin:18px 0 8px}.workflow-builder-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.autonomous-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 2px;border-bottom:1px solid #e5ecef}.autonomous-row small{display:block;color:#687c85;margin-top:2px}.autonomous-row.critical{border-left:4px solid currentColor;padding-left:9px}.technician-orders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.technician-card{border:1px solid #dce6e9;border-radius:14px;padding:16px;background:#fff;display:grid;gap:10px}.technician-card h3{margin:3px 0}.technician-card p{margin:2px 0}.technician-actions{display:flex;flex-wrap:wrap;gap:7px}@media(max-width:850px){.workflow-builder-grid{grid-template-columns:1fr 1fr}.technician-orders{grid-template-columns:1fr}}@media(max-width:520px){.workflow-builder-grid{grid-template-columns:1fr}.autonomous-row{display:block}.autonomous-row>div:last-child{margin-top:6px}}

/* V29.0.0 · SQL Native Core & Business Cockpit */
.management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.v26-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e5ecef}.v26-row small{display:block;color:#687c85;margin-top:2px}.v26-row span{text-align:right}.dashboard-kpis-v217 .dashboard-kpi-v217{cursor:default}@media(max-width:800px){.management-grid{grid-template-columns:1fr}.v26-row{display:block}.v26-row span{display:block;text-align:left;margin-top:5px}}

/* V29.0.0 · ERP Automation Suite */
.erp-row{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid #e5ecef;padding:9px 2px}.erp-row small{display:block;color:#687c85;margin-top:2px}.erp-row.critical{border-left:4px solid currentColor;padding-left:10px}.erp-row>div:last-child{display:flex;align-items:center;gap:7px}.erp-row select{min-width:130px}@media(max-width:700px){.erp-row{display:block}.erp-row>div:last-child,.erp-row>span{margin-top:7px;display:flex}.erp-row select{width:100%}}

/* V29.0.0 · Intelligent Service ERP */
.v27-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 2px;border-bottom:1px solid #e5ecef}.v27-row small{display:block;color:#687c85;margin-top:2px}.v27-row.critical{border-left:4px solid currentColor;padding-left:10px}.v27-row>div:last-child{display:flex;gap:6px;align-items:center}.v27-row code{word-break:break-all}@media(max-width:700px){.v27-row{display:block}.v27-row>div:last-child,.v27-row>span{margin-top:7px;display:flex}}

/* V29.0.0 · Platform & Hardening */
.v28-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 2px;border-bottom:1px solid #e5ecef}.v28-row small{display:block;color:#687c85;margin-top:2px}.v28-row.critical{border-left:4px solid currentColor;padding-left:10px}.v28-row code{word-break:break-all}@media(max-width:700px){.v28-row{display:block}.v28-row>span{display:block;margin-top:6px}}

/* V29.0.0 · Service Platform */
.v29-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 2px;border-bottom:1px solid #e5ecef}.v29-row small{display:block;color:#687c85;margin-top:2px}.v29-row.critical{border-left:4px solid currentColor;padding-left:10px}.v29-row.strong{font-weight:600}.v29-row>div:last-child{display:flex;gap:7px;align-items:center}.v29-row code{word-break:break-all}.button-like{display:inline-flex;align-items:center;padding:.55rem .75rem;border:1px solid #ccd8dd;border-radius:8px;text-decoration:none;color:inherit}@media(max-width:700px){.v29-row{display:block}.v29-row>div:last-child,.v29-row>span{margin-top:7px;display:flex}}

/* V29.2 · kompakte arbeitsorientierte Navigation */
.compact-sidebar-nav .nav-group{padding-bottom:8px;margin-bottom:8px}.compact-sidebar-nav .nav-group-title{letter-spacing:.08em;font-size:10px}.compact-sidebar-nav .nav-btn{min-height:38px;border-radius:9px;margin:2px 0}.nav-more{margin:3px 0 0}.nav-more summary{cursor:pointer;color:var(--muted,#6b7b88);font-size:12px;padding:7px 10px;border-radius:8px;list-style:none}.nav-more summary::-webkit-details-marker{display:none}.nav-more summary:after{content:"›";float:right;transition:transform .18s}.nav-more[open] summary:after{transform:rotate(90deg)}.nav-more .nav-btn{margin-left:8px;width:calc(100% - 8px);font-size:13px}.accounting-admin-panel .settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.accounting-queue-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 2px;border-bottom:1px solid #e6edf2}.accounting-queue-row small{display:block;color:#6b7b88;margin-top:2px}@media(max-width:760px){.accounting-admin-panel .settings-grid{grid-template-columns:1fr}}

/* V30.0.0 Admin UI cleanup */
#admin.admin-v218{max-width:1480px;margin:0 auto;padding:18px 20px 48px}
#admin .admin-v218-head{margin-bottom:14px}
#admin .admin-v218-tabs{position:sticky;top:0;z-index:8;display:flex;gap:6px;overflow-x:auto;padding:8px;background:rgba(247,250,253,.96);backdrop-filter:blur(12px);border:1px solid #dbe5ee;border-radius:14px}
#admin .admin-v218-tabs button{white-space:nowrap;min-height:38px;padding:8px 13px}
#admin #adminContent>.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
#admin .panel{min-width:0;overflow:hidden}
#admin .employee-admin-panel,#admin .vehicle-admin-panel,#admin .settings-panel{align-self:start}
.admin-account-panel{margin:14px 0 16px;border-top:4px solid #176ca4}
.admin-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.admin-account-grid label{min-width:0}
.admin-account-grid input{width:100%;max-width:100%;box-sizing:border-box}
#employeeDialog .dialog-form{max-width:760px;width:min(760px,calc(100vw - 28px))}
#employeeDialog .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#employeeDialog input,#employeeDialog select{width:100%;max-width:100%;box-sizing:border-box}
.employee-selected-card{min-width:0}
@media(max-width:900px){
 #admin.admin-v218{padding:10px 10px 34px}
 #admin #adminContent>.grid2{grid-template-columns:1fr}
 .admin-account-grid{grid-template-columns:1fr}
 #employeeDialog .row{grid-template-columns:1fr}
 #admin .admin-v218-overview{grid-template-columns:1fr}
}
@media(max-width:560px){
 #admin .panel{padding:14px}
 #admin .panel-head{gap:8px;align-items:flex-start}
 #admin .panel-head h2{font-size:18px}
 #admin .settings-grid,#admin .admin-office-grid,#admin .fritz-settings{grid-template-columns:1fr!important}
 #admin input,#admin select,#admin textarea,#admin button{max-width:100%;box-sizing:border-box}
 #employeeDialog{padding:0;border:0;width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}
 #employeeDialog .dialog-form{width:100%;max-width:none;min-height:100%;padding:14px;box-sizing:border-box}
}

/* V30.0.0 · Service-first workspace */
#service{max-width:1500px;margin:0 auto}
#service>.panel:first-of-type{border-top:4px solid #0c6b91}
.service-gantt-panel{margin-top:14px}
.service-gantt-head{align-items:flex-start}
.service-gantt-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.service-gantt-controls select,.service-gantt-controls button{min-height:38px}
.service-gantt-summary{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 12px}
.service-gantt-summary span{display:inline-flex;gap:5px;align-items:center;padding:7px 10px;background:#f1f6fa;border:1px solid #dce7ee;border-radius:9px;font-size:12px}
.service-gantt-summary span.warn{background:#fff4e5}
.service-gantt-scroll{max-height:540px;border:1px solid #dce7ee;border-radius:12px}
.service-secondary-tools{margin-top:14px;border:1px solid #dce7ee;border-radius:12px;background:#f8fbfd;padding:0 10px}
.service-secondary-tools>summary{cursor:pointer;padding:12px 4px;font-weight:700;color:#315266}
.service-secondary-tools>.panel{margin:0 0 12px}
.compact-sidebar-nav>.nav-group:first-child{padding-top:2px}
.compact-sidebar-nav>.nav-group:first-child>.nav-group-title{color:#87b9d5}
@media(max-width:800px){
 .service-gantt-controls{width:100%}.service-gantt-controls select,.service-gantt-controls button{flex:1 1 140px}
 .service-gantt-scroll{max-height:440px}
}

/* V30.0.0 visible service-first priority */
.compact-sidebar-nav>.nav-group:first-child>.nav-btn[data-view="service"]{font-weight:800}
#service>.panel:first-of-type{order:0}
#service>.service-gantt-panel{order:1}

/* V30.0.0 · Navigation restored, service page hierarchy */
.compact-sidebar-nav>.nav-group:first-child>.nav-group-title{color:var(--muted,#7c93a6)}
.compact-sidebar-nav>.nav-group:first-child>.nav-btn[data-view="dashboard"]{font-weight:800}
#service>.panel:first-of-type{margin-top:0}
#service>.service-gantt-panel{margin-top:14px}
#service>.service-secondary-tools{margin-top:14px}
#service>.service-secondary-tools>summary{font-weight:700}


/* =========================================================
   V30.1 PROFESSIONAL BUSINESS UI
   Compact, calm, consistent ERP/service application shell
   ========================================================= */
:root{
  --pro-bg:#f5f7fa;--pro-surface:#fff;--pro-surface-2:#f8fafc;
  --pro-border:#dce4ec;--pro-border-strong:#c8d4df;
  --pro-text:#172b3a;--pro-muted:#607789;--pro-accent:#08789a;
  --pro-accent-dark:#075f7a;--pro-danger:#b42318;--pro-radius:10px;
  --pro-shadow:0 8px 28px rgba(24,49,68,.08);
}
html,body{background:var(--pro-bg);color:var(--pro-text)}
body{font-size:14px;line-height:1.45}
.app-shell,.app{background:var(--pro-bg)}
.main,.main-content,main{background:var(--pro-bg)}
.sidebar{box-shadow:1px 0 0 rgba(255,255,255,.06)}
.sidebar-nav a,.sidebar a{min-height:38px;border-radius:7px;margin:2px 7px;padding:9px 11px}
.sidebar-nav .nav-group-title,.sidebar .nav-group-title{margin:15px 12px 5px;font-size:10px;letter-spacing:.09em}
.card,.panel,.section-card,.admin-card,.settings-card{
  border:1px solid var(--pro-border)!important;border-radius:var(--pro-radius)!important;
  box-shadow:none!important;background:var(--pro-surface)!important
}
.view{padding:18px 22px 30px}
.view>h1,.view-header h1{font-size:23px;letter-spacing:-.02em;margin:0 0 4px}
.view>p,.view-header p{color:var(--pro-muted)}
input,select,textarea{
  border:1px solid var(--pro-border-strong)!important;border-radius:7px!important;
  background:#fff;min-height:38px;padding:8px 10px!important;font-size:14px!important;
  box-sizing:border-box
}
input:focus,select:focus,textarea:focus{
  outline:none!important;border-color:var(--pro-accent)!important;
  box-shadow:0 0 0 3px rgba(8,120,154,.11)!important
}
button,.btn{
  min-height:36px;border-radius:7px!important;font-weight:650!important;
  padding:8px 13px!important;box-shadow:none!important
}
button.primary,.btn-primary{background:var(--pro-accent)!important;border-color:var(--pro-accent)!important}
table{border-collapse:separate;border-spacing:0;width:100%}
th{background:var(--pro-surface-2)!important;color:#435a6b!important;font-size:11px!important;
  text-transform:uppercase;letter-spacing:.035em;padding:10px!important;border-bottom:1px solid var(--pro-border)!important}
td{padding:10px!important;border-bottom:1px solid #edf1f4!important;vertical-align:middle}
tr:last-child td{border-bottom:0!important}

/* Dialog system: no clipped labels, controlled height, professional scrolling */
dialog,.modal,.modal-card,.dialog,.dialog-card,[role="dialog"]{
  border:1px solid var(--pro-border)!important;border-radius:14px!important;
  box-shadow:0 22px 70px rgba(17,38,53,.22)!important;
  max-width:min(760px,calc(100vw - 32px))!important;
  max-height:calc(100vh - 40px)!important;
  box-sizing:border-box!important
}
.modal-overlay,.dialog-overlay{align-items:center!important;padding:20px!important;box-sizing:border-box}
.modal-card,.dialog-card,[role="dialog"]>div{
  overflow:auto!important;overscroll-behavior:contain
}
.modal-header,.dialog-header{
  position:sticky!important;top:0;z-index:5;background:#fff!important;
  padding:18px 22px 13px!important;border-bottom:1px solid var(--pro-border)!important
}
.modal-body,.dialog-body{padding:18px 22px 22px!important;overflow:visible!important}
.modal-footer,.dialog-footer{
  position:sticky!important;bottom:0;background:#fff!important;border-top:1px solid var(--pro-border)!important;
  padding:12px 22px!important;z-index:5
}

/* All form grids: labels above controls, no accidental overlap */
.form-grid,.grid-form,.employee-grid,.admin-form-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px 16px!important;align-items:start!important
}
.form-group,.field,.form-field,label.field{
  min-width:0!important;display:flex!important;flex-direction:column!important;gap:5px!important
}
.form-group>label,.field>label,.form-field>label,label:not(.check-row):not(.switch){
  font-size:12px;font-weight:650;color:#405667
}
.form-grid input,.form-grid select,.form-grid textarea,
.grid-form input,.grid-form select,.grid-form textarea{width:100%!important;max-width:none!important}
.check-row,.permission-row{
  display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;gap:10px!important;
  align-items:start!important;padding:8px 0!important;margin:0!important
}
.check-row input[type="checkbox"],.permission-row input[type="checkbox"]{
  width:18px!important;height:18px!important;min-height:18px!important;margin:1px 0 0!important
}
fieldset{border:0!important;border-top:1px solid var(--pro-border)!important;padding:14px 0 0!important;margin:14px 0 0!important}
legend{font-weight:750;color:#30495a;padding:0 8px 0 0}

/* Administration becomes a clear settings workspace */
#admin .card,#admin .panel{margin-bottom:14px}
#admin h2{font-size:18px;margin:0 0 5px}
#admin h3{font-size:15px;margin:0 0 8px}
#admin .admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}

/* Service page hierarchy */
#service .service-gantt-wrap,#service .gantt-wrap{margin-bottom:16px}
#service h2{letter-spacing:-.01em}

/* Responsive */
@media(max-width:900px){
  .view{padding:14px}
  .form-grid,.grid-form,.employee-grid,.admin-form-grid,#admin .admin-grid{grid-template-columns:1fr!important}
  dialog,.modal,.modal-card,.dialog,.dialog-card,[role="dialog"]{
    width:calc(100vw - 18px)!important;max-width:none!important;max-height:calc(100vh - 18px)!important
  }
}
