:root{
  --accent:#24C6D3;
  --accent-strong:#12AEBB;
  --accent-ink:#075E66;
  --accent-08:rgba(36,198,211,.08);
  --accent-12:rgba(36,198,211,.12);
  --accent-18:rgba(36,198,211,.18);
  --accent-24:rgba(36,198,211,.24);
  --bg:#F4F6F7;
  --bg-2:#EEF1F2;
  --surface:#FFFFFF;
  --surface-78:rgba(255,255,255,.78);
  --surface-88:rgba(255,255,255,.88);
  --ink:#111417;
  --ink-2:#333A40;
  --muted:#6D767E;
  --muted-2:#8D959B;
  --line:rgba(17,20,23,.085);
  --line-strong:rgba(17,20,23,.13);
  --danger:#D94A4A;
  --danger-soft:#FFF2F1;
  --warning:#D99117;
  --warning-soft:#FFF8E7;
  --r-sm:16px;
  --r-md:22px;
  --r-lg:30px;
  --r-xl:38px;
  --shadow-soft:0 10px 30px rgba(13,18,22,.055);
  --shadow-float:0 18px 55px rgba(13,18,22,.105);
  --shadow-accent:0 16px 44px rgba(36,198,211,.22);
  --rail:224px;
  --max:1380px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{min-height:100%;scroll-behavior:smooth;background:var(--bg)}
body{margin:0;min-height:100vh;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,textarea,select{font:inherit}button{color:inherit;cursor:pointer}a{color:inherit}svg{display:block}.view{display:none}.view.active{display:block}:focus-visible{outline:3px solid rgba(36,198,211,.45);outline-offset:3px}

.app-page{background:radial-gradient(760px 520px at 78% -8%,rgba(36,198,211,.14),transparent 68%),radial-gradient(620px 520px at 6% 42%,rgba(36,198,211,.07),transparent 72%),linear-gradient(180deg,#F7F8F9 0%,var(--bg) 48%,var(--bg-2) 100%)}
.ambient{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:-1}.ambient:before,.ambient:after{content:"";position:absolute;border-radius:999px}.ambient:before{width:360px;height:360px;right:-120px;top:28%;border:1px solid rgba(36,198,211,.15);box-shadow:0 0 0 58px rgba(36,198,211,.025),0 0 0 116px rgba(36,198,211,.018)}.ambient:after{width:180px;height:180px;left:12%;bottom:-100px;background:rgba(36,198,211,.055)}

.app-layout{width:min(var(--max),calc(100% - 28px));margin:14px auto;min-height:calc(100vh - 28px);display:grid;grid-template-columns:var(--rail) minmax(0,1fr);gap:14px}
.sidebar{position:sticky;top:14px;height:calc(100vh - 28px);display:flex;flex-direction:column;padding:18px 14px;border:1px solid rgba(255,255,255,.72);border-radius:var(--r-lg);background:rgba(255,255,255,.61);backdrop-filter:blur(28px) saturate(145%);-webkit-backdrop-filter:blur(28px) saturate(145%);box-shadow:var(--shadow-soft)}
.app-brand{appearance:none;border:0;background:transparent;width:100%;display:flex;align-items:center;gap:11px;padding:4px 6px 22px;text-align:start}.brand-symbol{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;flex:0 0 42px;background:linear-gradient(145deg,#5CD9E1,var(--accent));box-shadow:0 10px 26px rgba(36,198,211,.26),inset 0 1px rgba(255,255,255,.64);color:#063F44}.brand-symbol svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.brand-copy{min-width:0}.brand-copy strong{display:block;font-size:.88rem;font-weight:760;letter-spacing:-.025em;white-space:nowrap}.brand-copy small{display:block;margin-top:2px;font-size:.66rem;color:var(--muted);font-weight:600}
.sidebar-label{margin:8px 9px 8px;color:var(--muted-2);font-size:.63rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.side-nav{display:grid;gap:5px}.side-nav button{position:relative;appearance:none;border:0;background:transparent;width:100%;display:grid;grid-template-columns:36px 1fr;align-items:center;gap:10px;min-height:48px;padding:6px 9px;border-radius:15px;text-align:start;color:var(--muted);font-size:.79rem;font-weight:680;transition:background .18s ease,color .18s ease,transform .18s ease}.side-nav button:hover{background:rgba(255,255,255,.68);color:var(--ink);transform:translateX(1px)}.side-nav button.active{color:var(--ink);background:rgba(255,255,255,.82);box-shadow:0 8px 22px rgba(13,18,22,.05)}.side-nav button.active:before{content:"";position:absolute;left:-5px;width:4px;height:24px;border-radius:99px;background:var(--accent)}.nav-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center}.side-nav button.active .nav-icon{background:var(--accent-12);color:var(--accent-ink)}.nav-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sidebar-footer{margin-top:auto;padding:13px 8px 4px;border-top:1px solid var(--line);display:grid;gap:9px}.sidebar-footer>a{color:var(--muted);font-size:.72rem;font-weight:650;text-decoration:none}.sidebar-footer>a:hover{color:var(--ink)}.sidebar-footer>small{color:var(--muted-2);font-size:.64rem}
.language-switch{display:flex;align-items:center;gap:5px;white-space:nowrap}.language-switch button{appearance:none;border:0;background:transparent;padding:3px 2px;color:var(--muted-2);font-size:.67rem;font-weight:760}.language-switch button.active{color:var(--accent-ink)}.language-switch span{color:var(--muted-2);font-size:.7rem}

.app-content{min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.78);border-radius:var(--r-xl);background:rgba(249,250,250,.73);backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%);box-shadow:var(--shadow-soft)}.mobile-topbar{display:none}.page{padding:24px 30px 54px}.hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;padding:22px 4px 32px}.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;color:var(--accent-ink);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.eyebrow:before{content:"";width:17px;height:3px;border-radius:99px;background:var(--accent)}h1,h2,h3{margin:0}.hero h1{max-width:830px;font-size:clamp(2.5rem,4.9vw,4.8rem);line-height:.96;letter-spacing:-.065em;font-weight:790}.hero-lead{max-width:720px;margin:16px 0 0;color:var(--muted);font-size:.99rem;line-height:1.62}.hero-orb{width:112px;height:112px;border-radius:34px;display:grid;place-items:center;position:relative;background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(255,255,255,.4));border:1px solid rgba(255,255,255,.9);box-shadow:0 20px 48px rgba(13,18,22,.08),inset 0 1px rgba(255,255,255,.9);backdrop-filter:blur(12px)}.hero-orb:before{content:"";position:absolute;inset:18px;border-radius:23px;background:linear-gradient(145deg,#77E0E7,var(--accent));box-shadow:var(--shadow-accent)}.hero-orb svg{position:relative;z-index:2;width:35px;height:35px;fill:none;stroke:#064E54;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-section{margin-top:32px;scroll-margin-top:28px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 2px 13px}.section-heading h2{font-size:1rem;letter-spacing:-.025em;font-weight:760}.section-heading span{color:var(--muted-2);font-size:.7rem;font-weight:650}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-tile{appearance:none;position:relative;overflow:hidden;width:100%;min-height:126px;padding:18px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid rgba(255,255,255,.84);border-radius:var(--r-md);background:rgba(255,255,255,.76);box-shadow:0 8px 26px rgba(13,18,22,.048);text-align:start;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,background .22s ease,border-color .22s ease}.service-tile:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.55),transparent 42%)}.service-tile:hover,.service-tile:focus-visible{transform:translateY(-3px);background:rgba(255,255,255,.91);border-color:rgba(36,198,211,.28);box-shadow:0 20px 45px rgba(13,18,22,.09);outline:none}.service-tile:active{transform:translateY(-1px) scale(.997)}.tile-icon{position:relative;z-index:1;width:52px;height:52px;border-radius:17px;display:grid;place-items:center;color:var(--ink-2);background:linear-gradient(145deg,#F3F5F5,#FFFFFF);border:1px solid rgba(17,20,23,.055);box-shadow:inset 0 1px rgba(255,255,255,.9),0 7px 18px rgba(13,18,22,.045)}.service-tile:hover .tile-icon{color:var(--accent-ink);background:linear-gradient(145deg,#E8FBFC,#FFFFFF)}.tile-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tile-copy{position:relative;z-index:1;min-width:0}.tile-copy strong{display:block;font-size:.94rem;font-weight:760;letter-spacing:-.018em;line-height:1.25}.tile-copy small{display:block;margin-top:5px;color:var(--muted);font-size:.77rem;line-height:1.43}.tile-arrow{position:relative;z-index:1;width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:rgba(17,20,23,.035);color:var(--muted);font-size:1.25rem;font-weight:700;transition:transform .2s ease,background .2s ease,color .2s ease}.service-tile:hover .tile-arrow{transform:translateX(2px);background:var(--accent);color:#053F44}.status-pill{display:inline-flex!important;width:max-content;max-width:100%;align-items:center;margin-top:9px!important;padding:5px 8px;border-radius:999px;background:var(--accent-08);color:var(--accent-ink)!important;font-size:.64rem!important;font-weight:750;line-height:1.15!important}.status-pill:before{content:"";width:5px;height:5px;flex:0 0 5px;border-radius:50%;margin-inline-end:6px;background:var(--accent)}.service-tile.emergency{background:linear-gradient(145deg,rgba(255,248,248,.94),rgba(255,255,255,.78));border-color:rgba(217,74,74,.16)}.service-tile.emergency .tile-icon{background:var(--danger-soft);color:var(--danger)}.service-tile.emergency .status-pill{background:rgba(217,74,74,.08);color:#A73939!important}.service-tile.emergency .status-pill:before{background:var(--danger)}.service-tile.emergency:hover{border-color:rgba(217,74,74,.34)}.service-tile.emergency:hover .tile-arrow{background:var(--danger);color:#fff}
.chat-promo{position:relative;overflow:hidden;margin-top:38px;padding:24px;border-radius:30px;background:radial-gradient(420px 180px at 92% 10%,rgba(36,198,211,.24),transparent 74%),linear-gradient(135deg,#121719 0%,#171D20 64%,#102426 100%);color:white;box-shadow:0 24px 62px rgba(13,18,22,.16);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center}.chat-promo:before{content:"";position:absolute;right:-40px;bottom:-80px;width:250px;height:250px;border-radius:50%;border:1px solid rgba(36,198,211,.22);box-shadow:0 0 0 40px rgba(36,198,211,.025),0 0 0 80px rgba(36,198,211,.018)}.chat-promo-icon{position:relative;z-index:2;width:52px;height:52px;border-radius:15px;background:var(--accent);color:#063F44;display:grid;place-items:center;box-shadow:0 14px 34px rgba(36,198,211,.22)}.chat-promo-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chat-promo-copy{position:relative;z-index:2}.chat-promo-copy>span{font-size:.67rem;font-weight:700;color:rgba(255,255,255,.56)}.chat-promo h2{margin-top:2px;font-size:1.13rem;font-weight:760;letter-spacing:-.03em}.chat-promo p{max-width:720px;margin:7px 0 0;color:rgba(255,255,255,.66);font-size:.79rem;line-height:1.5}.accent-button{position:relative;z-index:2;appearance:none;min-height:46px;padding:0 17px;border:0;border-radius:14px;background:var(--accent);color:#063F44;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.8rem;font-weight:780;box-shadow:0 12px 28px rgba(36,198,211,.2)}.accent-button:hover{background:#54D7E0}.pilot-footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:26px 4px 0;color:var(--muted-2);font-size:.66rem;line-height:1.5}

.detail-page,.chat-page{max-width:980px;margin:0 auto;padding-top:20px}.detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.back-button,.secondary-button,.home-icon-button{appearance:none;border:1px solid rgba(255,255,255,.82);background:rgba(255,255,255,.72);color:var(--ink-2);box-shadow:0 7px 18px rgba(13,18,22,.04)}.back-button,.secondary-button{min-height:42px;border-radius:14px;padding:0 14px;font-size:.76rem;font-weight:720}.home-icon-button{width:42px;height:42px;border-radius:14px;display:grid;place-items:center}.home-icon-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.back-button:hover,.secondary-button:hover,.home-icon-button:hover{background:#fff}.detail-card{position:relative;overflow:hidden;padding:clamp(24px,4vw,42px);border:1px solid rgba(255,255,255,.84);border-radius:32px;background:rgba(255,255,255,.8);box-shadow:var(--shadow-soft)}.detail-card:before{content:"";position:absolute;right:-110px;top:-130px;width:320px;height:320px;border-radius:50%;background:rgba(36,198,211,.065);pointer-events:none}.detail-icon{position:relative;z-index:1;width:58px;height:58px;border-radius:19px;display:grid;place-items:center;background:var(--accent-12);color:var(--accent-ink);margin-bottom:22px}.detail-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.detail-eyebrow{position:relative;z-index:1;margin:0 0 8px;color:var(--accent-ink);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.detail-card>h1{position:relative;z-index:1;max-width:760px;font-size:clamp(2rem,4vw,3.6rem);line-height:1;letter-spacing:-.055em;font-weight:790}.detail-content{position:relative;z-index:1;margin-top:24px;max-width:850px;color:var(--ink-2);font-size:.92rem;line-height:1.66}.detail-content p{margin:0 0 16px}.detail-content h2{margin:28px 0 10px;color:var(--ink);font-size:1rem;letter-spacing:-.02em}.detail-content ul{margin:10px 0 18px;padding-inline-start:21px}.detail-content li+li{margin-top:7px}.detail-note{padding:14px 16px;border-radius:16px;background:var(--accent-08);color:var(--ink-2)}.detail-note.warning{background:var(--warning-soft)}.detail-note.danger{background:var(--danger-soft);color:#7E3230}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.detail-button{min-height:46px;padding:0 16px;border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.78rem;font-weight:760}.detail-button.primary{border-color:transparent;background:var(--accent);color:#063F44;box-shadow:0 10px 22px rgba(36,198,211,.16)}.detail-button.danger{border-color:transparent;background:var(--danger);color:#fff}.subservice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:18px}.subservice{appearance:none;width:100%;min-height:110px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:start}.subservice:hover{border-color:var(--accent-24);box-shadow:var(--shadow-soft)}.subservice strong{display:block;font-size:.85rem}.subservice small{display:block;margin-top:5px;color:var(--muted);font-size:.73rem;line-height:1.4}.contact-list,.resource-list,.date-list{display:grid;gap:10px;margin-top:15px}.contact-item,.resource-item,.date-item{padding:14px 15px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.72)}.contact-item strong,.resource-item strong,.date-item strong{display:block;color:var(--ink);font-size:.84rem}.contact-item span,.resource-item span,.date-item span{display:block;margin-top:3px;color:var(--muted);font-size:.73rem;line-height:1.4}.resource-item a,.date-item a{display:inline-flex;margin-top:8px;color:var(--accent-ink);font-size:.73rem;font-weight:760;text-decoration:none}.placeholder-block{margin-top:18px;padding:19px;border:1px dashed var(--line-strong);border-radius:18px;background:rgba(255,255,255,.45);color:var(--muted)}

.chat-workspace{overflow:hidden;border:1px solid rgba(255,255,255,.84);border-radius:30px;background:rgba(255,255,255,.82);box-shadow:var(--shadow-soft)}.chat-workspace-head{display:flex;align-items:center;gap:14px;padding:20px 20px 16px;border-bottom:1px solid var(--line)}.chat-avatar{width:48px;height:48px;border-radius:16px;background:var(--accent);color:#063F44;display:grid;place-items:center;box-shadow:0 12px 26px rgba(36,198,211,.17)}.chat-avatar svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chat-workspace-head span{color:var(--accent-ink);font-size:.65rem;font-weight:780}.chat-workspace-head h1{margin-top:2px;font-size:1.08rem;letter-spacing:-.025em}.messages{height:min(58vh,580px);overflow:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.message{max-width:82%;padding:11px 14px;border-radius:17px;line-height:1.48;font-size:.86rem;white-space:pre-wrap}.message.user{align-self:flex-end;background:var(--accent-12);border-bottom-right-radius:6px}.message.assistant{align-self:flex-start;background:#EEF1F2;border-bottom-left-radius:6px}.message.thinking{color:var(--muted)}.chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:11px;border-top:1px solid var(--line)}.chat-form textarea{width:100%;resize:none;max-height:140px;min-height:48px;padding:13px 14px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);outline:none}.chat-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-12)}.send-button{appearance:none;width:48px;height:48px;border:0;border-radius:15px;background:var(--accent);color:#063F44;display:grid;place-items:center}.send-button:disabled{opacity:.5;cursor:not-allowed}.send-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.chat-status{margin:0;padding:0 16px 14px;color:var(--muted);font-size:.72rem;line-height:1.4}

.update-banner{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:1000;width:min(680px,calc(100% - 28px));display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid rgba(255,255,255,.88);border-radius:16px;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);box-shadow:var(--shadow-float)}.update-banner[hidden]{display:none}.update-banner span{font-size:.8rem;color:var(--ink-2)}.update-banner button{appearance:none;border:0;border-radius:12px;background:var(--accent);color:#063F44;padding:9px 12px;font-size:.75rem;font-weight:780;white-space:nowrap}
.mobile-bottom-nav{display:none}

.auth-page{display:grid;place-items:center;padding:22px;background:radial-gradient(620px 420px at 76% 0%,rgba(36,198,211,.16),transparent 68%),linear-gradient(180deg,#F7F8F9,var(--bg-2))}.auth-card{position:relative;width:min(440px,100%);padding:30px;border:1px solid rgba(255,255,255,.86);border-radius:30px;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);box-shadow:var(--shadow-float)}.auth-mark{width:58px;height:58px;border-radius:19px;display:grid;place-items:center;background:var(--accent);color:#063F44;font-weight:850;box-shadow:var(--shadow-accent)}.auth-kicker{margin:22px 0 5px!important;color:var(--accent-ink)!important;font-size:.7rem!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.08em}.auth-card h1{margin:0;font-size:2rem;letter-spacing:-.045em}.auth-card>p{color:var(--muted);font-size:.88rem}.auth-card form{margin-top:24px}.auth-card label{display:block;color:var(--ink-2);font-size:.76rem;font-weight:720}.auth-card input{width:100%;min-height:50px;margin:7px 0 12px;padding:0 14px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink);outline:none}.auth-card input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-12)}.primary-button{appearance:none;width:100%;min-height:49px;border:0;border-radius:15px;background:var(--accent);color:#063F44;font-weight:800;box-shadow:0 12px 26px rgba(36,198,211,.18)}.small-note{margin-top:17px!important;font-size:.72rem!important;line-height:1.5}.auth-language{position:absolute;top:20px;inset-inline-end:22px}.error{color:var(--danger)!important;font-weight:720!important;font-size:.77rem!important}

[dir="rtl"] .side-nav button,[dir="rtl"] .app-brand,[dir="rtl"] .service-tile,[dir="rtl"] .subservice{text-align:right}[dir="rtl"] .side-nav button.active:before{left:auto;right:-5px}[dir="rtl"] .side-nav button:hover{transform:translateX(-1px)}[dir="rtl"] .service-tile:hover .tile-arrow{transform:translateX(-2px)}[dir="rtl"] .message.user{align-self:flex-start;border-bottom-right-radius:17px;border-bottom-left-radius:6px}[dir="rtl"] .message.assistant{align-self:flex-end;border-bottom-left-radius:17px;border-bottom-right-radius:6px}[dir="rtl"] .tile-arrow{transform:scaleX(-1)}[dir="rtl"] .service-tile:hover .tile-arrow{transform:scaleX(-1) translateX(2px)}

@media(max-width:1020px){:root{--rail:196px}.page{padding-left:22px;padding-right:22px}.hero-orb{display:none}.hero{grid-template-columns:1fr}.brand-copy strong{font-size:.82rem}}
@media(max-width:820px){.app-layout{width:100%;margin:0;min-height:100vh;display:block}.sidebar{display:none}.app-content{min-height:100vh;border:0;border-radius:0;background:rgba(249,250,250,.68);box-shadow:none}.mobile-topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 16px 8px;background:linear-gradient(180deg,rgba(249,250,250,.96),rgba(249,250,250,.78) 78%,rgba(249,250,250,0));backdrop-filter:blur(14px)}.mobile-brand{appearance:none;border:0;background:transparent;display:flex;align-items:center;gap:9px;padding:0;font-size:.77rem;font-weight:760}.mobile-mark{width:34px;height:34px;border-radius:12px;background:var(--accent);display:grid;place-items:center;color:#063F44}.mobile-mark svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.mobile-actions{display:flex;align-items:center;gap:7px}.language-switch.compact button{font-size:.62rem}.icon-button{width:36px;height:36px;border:1px solid rgba(255,255,255,.75);border-radius:12px;background:rgba(255,255,255,.72);display:grid;place-items:center;color:var(--ink-2);text-decoration:none;box-shadow:0 7px 18px rgba(13,18,22,.045)}.icon-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.page{padding:12px 16px 106px}.hero{padding:12px 2px 22px}.hero h1{font-size:clamp(2.25rem,11vw,3.45rem)}.hero-lead{font-size:.91rem;margin-top:13px}.service-grid{grid-template-columns:1fr}.home-section{margin-top:27px}.service-tile{min-height:111px;padding:15px}.chat-promo{grid-template-columns:auto minmax(0,1fr);padding:20px;border-radius:26px}.chat-promo .accent-button{grid-column:1/-1;width:100%}.pilot-footer{margin-bottom:4px}.detail-page,.chat-page{padding-top:9px}.detail-card{border-radius:28px}.subservice-grid{grid-template-columns:1fr}.mobile-bottom-nav{position:fixed;left:10px;right:10px;bottom:10px;z-index:60;display:grid;grid-template-columns:repeat(5,1fr);padding:7px;border:1px solid rgba(255,255,255,.82);border-radius:23px;background:rgba(247,249,249,.78);backdrop-filter:blur(26px) saturate(155%);-webkit-backdrop-filter:blur(26px) saturate(155%);box-shadow:0 20px 52px rgba(13,18,22,.14)}.mobile-bottom-nav button{appearance:none;border:0;background:transparent;position:relative;min-width:0;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:5px 1px;border-radius:16px;color:var(--muted);font-size:.58rem;font-weight:720}.mobile-bottom-nav button.active{color:var(--accent-ink);background:rgba(255,255,255,.74)}.mobile-bottom-nav button.active:after{content:"";position:absolute;bottom:3px;width:15px;height:3px;border-radius:99px;background:var(--accent)}.mobile-bottom-nav svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.mobile-bottom-nav small{font-size:.58rem;white-space:nowrap}.messages{height:54vh}.update-banner{top:9px;align-items:flex-start}.auth-card{padding:26px 22px}}
@media(max-width:480px){.mobile-actions .language-switch{display:none}.section-heading span{display:none}.service-tile{grid-template-columns:auto minmax(0,1fr) auto;gap:13px}.tile-icon{width:48px;height:48px;border-radius:16px}.chat-promo{padding:18px}.detail-card{padding:23px 19px}.detail-card>h1{font-size:2.15rem}.detail-toolbar{margin-bottom:10px}.back-button,.secondary-button{padding:0 11px}.chat-workspace-head{padding:16px}.messages{padding:14px}.message{max-width:88%}.mobile-bottom-nav small{font-size:.54rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* v0.4.1 – Serviceformulare */
.service-form{margin-top:24px;padding:22px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.72);box-shadow:0 10px 30px rgba(13,18,22,.035)}
.form-section-head{margin-bottom:18px}.form-section-head h2{font-size:1rem;letter-spacing:-.02em}.form-section-head p{margin:5px 0 0;color:var(--muted);font-size:.72rem}
.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-field{display:grid;gap:7px;margin-top:14px}.form-grid .form-field{margin-top:0}.form-field>span,.form-fieldset legend{color:var(--ink-2);font-size:.74rem;font-weight:760;line-height:1.35}.form-field small,.field-help{margin:0;color:var(--muted);font-size:.68rem;line-height:1.45}
.form-field input,.form-field textarea{width:100%;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink);font:inherit;font-size:.86rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.form-field input{min-height:49px;padding:0 13px}.form-field textarea{min-height:102px;padding:12px 13px;resize:vertical;line-height:1.45}.form-field input:focus,.form-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-12)}
.form-fieldset{min-width:0;margin:18px 0 14px;padding:0;border:0}.form-fieldset legend{padding:0}.field-help{margin-top:6px;max-width:720px}
.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:11px}.choice-card{position:relative;cursor:pointer}.choice-card input{position:absolute;opacity:0;pointer-events:none}.choice-card span{min-height:46px;padding:0 12px;border:1px solid var(--line);border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--ink-2);font-size:.78rem;font-weight:720;transition:.15s ease}.choice-card input:checked+span{border-color:var(--accent);background:var(--accent-12);color:var(--accent-ink);box-shadow:0 0 0 3px var(--accent-08)}.choice-card input:focus-visible+span{outline:3px solid var(--accent-24);outline-offset:2px}
.form-alert{margin-top:12px;padding:11px 13px;border-radius:14px;font-size:.72rem;line-height:1.45}.form-alert[hidden]{display:none}.form-alert.warning{border:1px solid rgba(255,181,61,.32);background:rgba(255,181,61,.10);color:#725017}.form-alert.error{border:1px solid rgba(224,82,82,.25);background:rgba(224,82,82,.08);color:#A33B3B}
.form-privacy{margin-top:18px;padding:12px 13px;border-radius:14px;background:var(--accent-08);color:var(--muted);font-size:.68rem;line-height:1.5}
.form-submit{appearance:none;width:100%;min-height:51px;margin-top:14px;padding:0 17px;border:0;border-radius:15px;background:var(--accent);color:#063F44;display:flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:.79rem;font-weight:800;cursor:pointer;box-shadow:0 12px 26px rgba(36,198,211,.18);transition:transform .15s ease,box-shadow .15s ease}.form-submit:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(36,198,211,.23)}
[dir="rtl"] .form-field,[dir="rtl"] .form-fieldset,[dir="rtl"] .form-section-head,[dir="rtl"] .form-alert,[dir="rtl"] .form-privacy{text-align:right}
@media(max-width:680px){.service-form{padding:18px 15px;border-radius:20px}.form-grid.two,.choice-grid{grid-template-columns:1fr}.choice-card span{justify-content:flex-start}.form-field input,.form-field textarea{font-size:16px}}

/* v0.4.2 - Vorschussformular */
.choice-grid.two-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.confirmation-card{margin-top:18px;padding:14px 15px;border:1px solid var(--line);border-radius:16px;background:#fff;display:grid;grid-template-columns:22px minmax(0,1fr);gap:11px;align-items:start;color:var(--ink-2);font-size:.71rem;line-height:1.5;cursor:pointer}
.confirmation-card input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--accent);cursor:pointer}
.confirmation-card:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-08)}
[dir="rtl"] .confirmation-card{text-align:right}
@media(max-width:680px){.choice-grid.two-options{grid-template-columns:1fr}.confirmation-card{grid-template-columns:21px minmax(0,1fr);padding:13px}}


/* v0.4.3 - Plusstundenformular */
.form-lockable{min-width:0;margin:0;padding:0;border:0}.form-lockable:disabled{opacity:.52;filter:saturate(.72)}.form-lockable:disabled .form-submit{cursor:not-allowed;transform:none;box-shadow:none}.form-field input[readonly]{background:rgba(17,20,23,.035);color:var(--muted);font-weight:700}
.form-availability{margin:20px 0 0;padding:13px 15px;border-radius:16px;font-size:.74rem;font-weight:720;line-height:1.45}.form-availability.open{border:1px solid rgba(36,198,211,.24);background:var(--accent-08);color:var(--accent-ink)}.form-availability.closed{border:1px solid rgba(255,181,61,.34);background:rgba(255,181,61,.11);color:#725017}
.plus-example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:17px 0}.plus-example{padding:14px 15px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.72)}.plus-example strong{display:block;color:var(--ink-2);font-size:.75rem;line-height:1.35}.plus-example span{display:block;margin-top:6px;color:var(--muted);font-size:.69rem;line-height:1.45}
.papershift-help{margin:18px 0 0;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.7);overflow:hidden}.papershift-help summary{padding:13px 15px;color:var(--ink-2);font-size:.73rem;font-weight:760;cursor:pointer}.papershift-help p{margin:0;padding:0 15px 14px;color:var(--muted);font-size:.7rem!important;line-height:1.5}
.plus-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.plus-context>div{padding:13px 14px;border-radius:16px;background:var(--accent-08);border:1px solid rgba(36,198,211,.16)}.plus-context span{display:block;color:var(--muted);font-size:.65rem;font-weight:700}.plus-context strong{display:block;margin-top:5px;color:var(--accent-ink);font-size:.8rem}.confirmation-card.is-disabled{opacity:.58;background:rgba(17,20,23,.025);cursor:not-allowed}.form-alert.info{border:1px solid rgba(36,198,211,.18);background:var(--accent-08);color:var(--accent-ink)}
[dir="rtl"] .plus-example,[dir="rtl"] .plus-context,[dir="rtl"] .papershift-help{text-align:right}
@media(max-width:680px){.plus-example-grid,.plus-context{grid-template-columns:1fr}.form-availability{font-size:.72rem}}


/* v0.5.0 – vollständige Unterstützung & Schulungen */
.subservice.danger-card{border-color:rgba(224,82,82,.20);background:linear-gradient(145deg,#fff,rgba(224,82,82,.055))}
.subservice.danger-card strong{color:#8B3533}
.inline-action{appearance:none;border:0;background:transparent;padding:0;margin-top:9px;color:var(--accent-ink);font:inherit;font-size:.73rem;font-weight:780;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center}
.inline-action:hover{text-decoration:underline}
.detail-button[type="button"]{cursor:pointer}
.detail-note+.detail-note{margin-top:10px}
.training-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
.training-topic{padding:15px;border:1px solid var(--line);border-radius:17px;background:var(--accent-08)}
.training-topic strong{display:block;color:var(--ink);font-size:.79rem}
.training-topic span{display:block;margin-top:5px;color:var(--muted);font-size:.7rem;line-height:1.45}
.compact-training-name{max-width:520px;margin:18px 0 6px}
.pilot-routing-note{margin-top:18px;padding:12px 14px;border-radius:14px;background:rgba(17,20,23,.035);color:var(--muted);font-size:.67rem;line-height:1.45}
[dir="rtl"] .training-topic,[dir="rtl"] .pilot-routing-note{text-align:right}
@media(max-width:680px){.training-topic-grid{grid-template-columns:1fr}.detail-actions .detail-button{width:100%}.inline-action{min-height:32px}}

/* =========================================================
   v0.6.0 – RheinAssistenz Dashboard / Glass UI
   ========================================================= */
:root{
  --ra-corporate:#24C6D3;
  --ra-corporate-strong:#12AEBB;
  --ra-water:#18A8BE;
  --ra-water-ink:#08798B;
  --ra-navy:#16344C;
  --ra-navy-2:#264A64;
  --ra-glass:rgba(250,253,255,.78);
  --ra-glass-strong:rgba(252,254,255,.9);
  --ra-card:rgba(255,255,255,.88);
  --ra-card-solid:#fff;
  --ra-glass-line:rgba(255,255,255,.78);
  --ra-danger:#E52534;
  --ra-danger-ink:#A41420;
  --ra-danger-soft:rgba(255,223,227,.82);
  --ra-radius:22px;
  --ra-shadow:0 18px 48px rgba(30,72,96,.11);
  --ra-shadow-soft:0 9px 26px rgba(30,72,96,.08);
}

html{background:#eaf4f7}
body.app-page{position:relative;min-height:100vh;background:#eaf4f7;color:var(--ra-navy);overflow-x:hidden}
.app-background{position:fixed;inset:-10px;z-index:-3;background:none;filter:blur(4px) brightness(1.19) saturate(.62) contrast(.82);transform:scale(1.025)}
.app-background-wash{position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(243,250,253,.72),rgba(244,250,252,.58) 45%,rgba(240,248,250,.7)),radial-gradient(900px 480px at 72% 0%,rgba(255,255,255,.56),transparent 70%)}
.ambient{display:none!important}
.glass-panel,.glass-card{border:1px solid var(--ra-glass-line);background:var(--ra-glass);backdrop-filter:blur(20px) saturate(125%);-webkit-backdrop-filter:blur(20px) saturate(125%);box-shadow:var(--ra-shadow-soft)}
.glass-card{background:var(--ra-card)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.app-shell{width:min(1500px,calc(100% - 28px));margin:14px auto 92px;transition:width .2s ease,margin .2s ease}
.top-nav{position:sticky;top:12px;z-index:70;min-height:64px;border-radius:23px;display:grid;grid-template-columns:minmax(170px,240px) 1fr auto;align-items:center;gap:18px;padding:8px 11px 8px 18px;background:rgba(249,253,255,.82)}
.top-brand{appearance:none;border:0;background:transparent;display:flex;align-items:center;justify-content:flex-start;min-width:0;padding:0 2px}
.top-brand img{display:block;width:min(190px,100%);height:45px;object-fit:contain;object-position:left center}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}
.desktop-nav button{appearance:none;border:0;background:transparent;min-height:46px;padding:0 14px;border-radius:16px;display:flex;align-items:center;gap:8px;color:var(--ra-navy-2);font-size:.82rem;font-weight:730;white-space:nowrap;transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.desktop-nav button:hover{background:rgba(255,255,255,.58);color:var(--ra-navy)}
.desktop-nav button.active{position:relative;background:rgba(218,248,251,.78);color:var(--ra-water-ink);box-shadow:inset 0 1px rgba(255,255,255,.82),0 8px 18px rgba(24,168,190,.08)}
.desktop-nav button.active:after{content:"";position:absolute;left:18%;right:18%;bottom:-9px;height:3px;border-radius:99px;background:var(--ra-corporate)}
.desktop-nav .nav-icon{width:22px;height:22px;display:grid;place-items:center}
.desktop-nav svg,.logout-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.top-actions{display:flex;align-items:center;gap:10px}
.top-actions .language-switch{height:42px;padding:0 9px;border-radius:14px;background:rgba(255,255,255,.48);border:1px solid rgba(255,255,255,.64)}
.top-actions .language-switch button{font-size:.7rem;color:#668195}.top-actions .language-switch button.active{color:var(--ra-water-ink)}
.logout-button{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;text-decoration:none;color:#557389;background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.7)}
.logout-button:hover{background:#fff;color:var(--ra-navy)}

.app-main{min-width:0}
.page{padding:18px 34px 40px}
.dashboard-page{max-width:1240px;margin:0 auto}
.dashboard-section{margin-top:26px;scroll-margin-top:96px}
.dashboard-heading{margin:0 2px 12px;align-items:center}
.dashboard-heading h2{font-size:1.18rem;color:var(--ra-navy);font-weight:790;letter-spacing:-.025em}
.section-link{appearance:none;border:0;background:transparent;color:var(--ra-water-ink);font-size:.75rem;font-weight:780;padding:6px 0;text-decoration:none}
.section-link:hover{text-decoration:underline}

/* Akuter Handlungsbedarf */
.todo-panel{margin-top:18px;padding:16px;border-radius:25px;background:linear-gradient(135deg,rgba(255,239,241,.96),rgba(255,246,247,.9));border-color:rgba(255,255,255,.92);box-shadow:0 16px 42px rgba(196,36,49,.10)}
.todo-panel[hidden]{display:none!important}
.todo-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 2px 12px}
.todo-title-wrap{display:flex;align-items:center;gap:13px;min-width:0}.todo-title-wrap>div{min-width:0}
.todo-alert-icon{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:var(--ra-danger);color:#fff;font-size:1.2rem;font-weight:900;box-shadow:0 7px 18px rgba(229,37,52,.22)}
.todo-head h1{font-size:1.02rem;color:#5b1520;letter-spacing:-.02em}.todo-head p{margin:3px 0 0;color:#70505a;font-size:.72rem}
.todo-count{color:var(--ra-danger);font-size:.73rem;font-weight:800;white-space:nowrap}
.todo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.todo-task{appearance:none;border:1px solid rgba(255,255,255,.72);background:rgba(255,205,211,.68);min-height:76px;border-radius:17px;padding:12px 15px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;text-align:start;color:#641722;box-shadow:inset 0 1px rgba(255,255,255,.58),0 7px 20px rgba(196,36,49,.06);animation:todoGlow 2.8s ease-in-out infinite}
.todo-task:hover{background:rgba(255,195,202,.82)}
.todo-task-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.54);color:var(--ra-danger);font-size:1.55rem;font-weight:800}
.todo-task-copy strong{display:block;font-size:.86rem}.todo-task-copy small{display:block;margin-top:3px;font-size:.69rem;color:#8a4650}.todo-task-arrow{font-size:1.45rem;color:var(--ra-danger)}
@keyframes todoGlow{0%,100%{box-shadow:inset 0 1px rgba(255,255,255,.58),0 7px 20px rgba(196,36,49,.05)}50%{box-shadow:inset 0 1px rgba(255,255,255,.66),0 9px 28px rgba(229,37,52,.15)}}

/* Wichtige Informationen */
.important-section{margin-top:22px}
.important-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.info-card{min-height:82px;border-radius:18px;padding:14px 17px;display:flex;align-items:center;gap:14px}
.info-icon{width:46px;height:46px;flex:0 0 46px;border-radius:15px;display:grid;place-items:center;color:var(--ra-water);background:rgba(228,248,251,.66);border:1px solid rgba(255,255,255,.8)}
.info-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.info-card strong{display:block;color:var(--ra-navy);font-size:.84rem}.info-card span:not(.info-icon){display:block;margin-top:4px;color:#758c9d;font-size:.7rem}

/* Metro-artiges Antragsraster */
.application-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(78px,auto);gap:10px}
.request-tile{appearance:none;position:relative;overflow:hidden;min-width:0;min-height:78px;border:1px solid rgba(255,255,255,.84);border-radius:18px;background:rgba(255,255,255,.87);box-shadow:var(--ra-shadow-soft);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px 15px;text-align:start;color:var(--ra-navy);transition:transform .2s cubic-bezier(.2,.8,.2,1),background .2s ease,box-shadow .2s ease,border-color .2s ease}
.request-tile:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.55),transparent 45%)}
.request-tile:hover,.request-tile:focus-visible{transform:translateY(-2px);background:rgba(255,255,255,.96);border-color:rgba(24,168,190,.28);box-shadow:0 15px 32px rgba(30,72,96,.12);outline:none}
.request-primary{grid-column:span 4;grid-row:span 2;min-height:166px;background:linear-gradient(145deg,#2dc8d4,#087f91);border-color:rgba(255,255,255,.58);color:#fff;align-content:end;grid-template-columns:1fr auto;grid-template-rows:1fr auto;padding:20px 21px;box-shadow:0 17px 36px rgba(21,166,180,.22)}
.request-primary:hover,.request-primary:focus-visible{background:linear-gradient(145deg,#34cdd8,#08798b);border-color:rgba(255,255,255,.76)}
.request-primary .request-icon{grid-column:1/-1;width:70px;height:70px;margin:auto auto 10px 0;color:#fff;background:transparent;border:0;box-shadow:none}
.request-primary .request-icon svg{width:64px;height:64px;stroke-width:3.2}
.request-primary .request-label{align-self:end;font-size:1.2rem;color:#fff;line-height:1.08}.request-primary .request-arrow{align-self:end;color:#fff;background:rgba(255,255,255,.18)}
.request-medium{grid-column:span 4}.request-small{grid-column:span 3}
.request-icon{position:relative;z-index:1;width:46px;height:46px;flex:0 0 46px;border-radius:14px;display:grid;place-items:center;color:var(--ra-water);background:rgba(232,249,251,.68);border:1px solid rgba(255,255,255,.86)}
.request-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.request-label{position:relative;z-index:1;min-width:0;color:var(--ra-water-ink);font-size:.81rem;font-weight:790;line-height:1.25}
.request-arrow,.compact-arrow{position:relative;z-index:1;width:30px;height:30px;border-radius:12px;display:grid;place-items:center;color:var(--ra-water);background:rgba(230,247,250,.62);font-size:1.2rem;font-weight:800;transition:transform .18s ease}
.request-tile:hover .request-arrow,.compact-tile:hover .compact-arrow{transform:translateX(2px)}

/* Unterstützung und Schulungen */
.compact-grid{display:grid;gap:10px}.support-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.training-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.compact-tile{appearance:none;min-width:0;min-height:76px;padding:12px 13px;border:1px solid rgba(255,255,255,.84);border-radius:17px;background:rgba(255,255,255,.84);box-shadow:var(--ra-shadow-soft);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;text-align:start;color:var(--ra-navy);transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.compact-tile:hover,.compact-tile:focus-visible{transform:translateY(-2px);background:rgba(255,255,255,.96);box-shadow:0 13px 28px rgba(30,72,96,.11);outline:none}
.compact-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:var(--ra-water);background:rgba(232,249,251,.65)}
.compact-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.compact-tile strong{min-width:0;color:var(--ra-water-ink);font-size:.77rem;line-height:1.25}
.danger-tile{background:rgba(255,242,243,.9);border-color:rgba(255,255,255,.9)}.danger-tile .compact-icon{background:rgba(229,37,52,.1);color:var(--ra-danger)}.danger-tile strong{color:var(--ra-danger-ink)}

/* Globale Werkzeuge */
.global-fab{position:fixed;z-index:85;bottom:18px;appearance:none;border:1px solid rgba(255,255,255,.86);min-height:52px;border-radius:28px;background:rgba(250,253,255,.88);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%);box-shadow:0 15px 38px rgba(30,72,96,.16);display:flex;align-items:center;gap:10px;padding:6px 15px 6px 7px;color:var(--ra-navy);font-size:.72rem;font-weight:780}
.global-fab-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--ra-corporate);box-shadow:0 8px 20px rgba(36,198,211,.24)}
.global-fab-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.contacts-fab{left:18px}.chat-fab{right:18px;padding:6px 7px 6px 15px}
.global-fab:hover{background:#fff;transform:translateY(-1px)}

/* Chat-Sidecar */
.chat-drawer{position:fixed;z-index:100;top:84px;right:16px;bottom:18px;width:min(410px,calc(100vw - 32px));border-radius:25px;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;overflow:hidden;background:rgba(246,252,254,.9);box-shadow:0 24px 64px rgba(21,61,86,.19);transform:translateX(calc(100% + 28px));opacity:0;visibility:hidden;transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .18s ease,visibility .18s ease}
body.chat-open .chat-drawer{transform:translateX(0);opacity:1;visibility:visible}
body.chat-open .chat-fab{opacity:0;pointer-events:none}
.chat-drawer-head{min-height:74px;padding:16px 15px 13px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(18,83,105,.09);background:rgba(255,255,255,.3)}
.chat-drawer-head span{display:block;color:var(--ra-navy);font-size:.9rem;font-weight:820}.chat-drawer-head strong{display:block;margin-top:3px;color:#698294;font-size:.65rem;font-weight:620}
.chat-head-actions{display:flex;gap:6px}.chat-head-button{appearance:none;width:34px;height:34px;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(255,255,255,.55);display:grid;place-items:center;color:var(--ra-navy);font-size:1rem;font-weight:800}
.chat-drawer .messages{height:auto;min-height:0;padding:17px 15px;gap:11px;background:transparent}
.chat-drawer .message{max-width:86%;font-size:.79rem;color:var(--ra-navy);background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.7);box-shadow:0 6px 18px rgba(30,72,96,.05)}
.chat-drawer .message.user{background:linear-gradient(145deg,#24c6d3,#16aebc);color:#fff;border-color:transparent}.chat-drawer .message.assistant{background:rgba(255,255,255,.7)}
.chat-drawer .chat-form{padding:11px 12px 8px;border-top:1px solid rgba(18,83,105,.08);background:rgba(255,255,255,.25)}
.chat-drawer .chat-form textarea{min-height:46px;border-radius:15px;background:rgba(255,255,255,.82);border-color:rgba(18,83,105,.12);font-size:.8rem}
.chat-drawer .send-button{width:46px;height:46px;border-radius:50%;background:var(--ra-corporate);color:#fff}
.chat-drawer .chat-status{padding:0 14px 13px;color:#718898;font-size:.62rem;background:rgba(255,255,255,.25)}
@media(min-width:1200px){body.chat-open .app-shell{width:calc(100% - 450px);max-width:none;margin-left:14px;margin-right:436px}.chat-open .application-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.chat-open .request-primary{grid-column:span 3}.chat-open .request-medium{grid-column:span 5}.chat-open .request-small{grid-column:span 4}.chat-open .training-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Ansprechpartner:innen Overlay */
.global-overlay[hidden]{display:none!important}.global-overlay{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:24px}.overlay-backdrop{position:absolute;inset:0;background:rgba(18,46,66,.28);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.contacts-sheet{position:relative;z-index:1;width:min(1080px,92vw);max-height:86vh;overflow:auto;border-radius:28px;padding:22px;background:rgba(248,253,255,.94);box-shadow:0 30px 90px rgba(17,51,74,.25)}
.contacts-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.contacts-sheet-head h2{font-size:1.55rem;color:var(--ra-navy);letter-spacing:-.035em}.overlay-close{appearance:none;width:42px;height:42px;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(255,255,255,.7);font-size:1.35rem;color:var(--ra-navy)}
.contacts-search{margin-top:18px;min-height:50px;border:1px solid rgba(18,83,105,.1);border-radius:16px;background:#fff;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px;padding:0 13px}.contacts-search svg{width:20px;height:20px;fill:none;stroke:var(--ra-water);stroke-width:2}.contacts-search input{border:0;outline:0;min-width:0;font-size:.84rem;color:var(--ra-navy)}
.contacts-overlay-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:16px}.contact-card{padding:16px;border:1px solid rgba(18,83,105,.08);border-radius:18px;background:rgba(255,255,255,.82);min-height:128px}.contact-card[hidden]{display:none}.contact-card strong{display:block;color:var(--ra-navy);font-size:.84rem}.contact-card span{display:block;margin-top:6px;color:#708797;font-size:.7rem;line-height:1.45}

/* Detail-/Formular-Arbeitsfläche */
.detail-page{max-width:1080px;margin:0 auto;padding:22px 26px 100px}.glass-toolbar{position:sticky;top:88px;z-index:25;padding:7px 8px;border-radius:17px;background:rgba(248,252,254,.7);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.detail-card{background:rgba(252,254,255,.91);border-color:rgba(255,255,255,.9);box-shadow:0 22px 58px rgba(30,72,96,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.detail-icon{color:var(--ra-water-ink);background:rgba(220,246,249,.72)}.detail-eyebrow{color:var(--ra-water-ink)}.detail-card>h1{color:var(--ra-navy)}.detail-content{color:#38586d}.detail-note{background:rgba(224,247,249,.62)}
.morph-surface{animation:raMorphIn .21s cubic-bezier(.2,.8,.2,1)}
@keyframes raMorphIn{from{opacity:.55;transform:scale(.986) translateY(4px);border-radius:22px}to{opacity:1;transform:none;border-radius:32px}}
.service-form{background:rgba(255,255,255,.72);border-color:rgba(255,255,255,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.form-field input,.form-field textarea,.choice-card span,.confirmation-card{border-color:rgba(18,83,105,.12)}
.form-submit,.detail-button.primary,.primary-button{background:var(--ra-corporate);color:#073f47}

/* Verwerfen-Dialog */
.discard-dialog{border:0;padding:0;background:transparent;max-width:none}.discard-dialog::backdrop{background:rgba(18,46,66,.28);backdrop-filter:blur(6px)}.discard-card{width:min(470px,calc(100vw - 32px));border-radius:24px;padding:24px;background:rgba(249,253,255,.96);color:var(--ra-navy)}.discard-card h2{font-size:1.25rem}.discard-card p{margin:8px 0 20px;color:#6f8798;font-size:.82rem}.discard-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}

/* Footer */
.pilot-footer{margin:28px 2px 0;color:rgba(28,67,91,.62);font-size:.62rem;line-height:1.45}

/* RTL */
[dir="rtl"] .top-brand img{object-position:right center}[dir="rtl"] .request-arrow,[dir="rtl"] .compact-arrow,[dir="rtl"] .todo-task-arrow{transform:scaleX(-1)}[dir="rtl"] .request-tile:hover .request-arrow,[dir="rtl"] .compact-tile:hover .compact-arrow{transform:scaleX(-1) translateX(2px)}

/* Responsive */
@media(max-width:1180px){
  .app-shell{width:calc(100% - 20px);margin:10px auto 92px}.top-nav{grid-template-columns:165px 1fr auto;padding-left:12px}.top-brand img{width:150px;height:40px}.desktop-nav{gap:3px}.desktop-nav button{padding:0 10px;font-size:.76rem}.page{padding-left:22px;padding-right:22px}.request-primary{grid-column:span 4}.request-medium{grid-column:span 4}.request-small{grid-column:span 3}.training-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .app-background{background-position:61% 50%;filter:blur(5px) brightness(1.22) saturate(.55) contrast(.78)}
  .app-background-wash{background:rgba(241,249,252,.68)}
  .app-shell{width:100%;margin:0 0 94px;padding:0 9px}.top-nav{top:7px;min-height:58px;border-radius:19px;grid-template-columns:1fr auto;padding:7px 8px 7px 11px}.top-brand img{width:145px;height:38px}.desktop-nav{display:none}.top-actions{gap:6px}.top-actions .language-switch{height:40px;padding:0 6px}.logout-button{width:40px;height:40px}.page{padding:16px 7px 104px}.dashboard-section{margin-top:23px;scroll-margin-top:78px}.todo-panel{margin-top:12px;padding:13px}.todo-head{align-items:flex-start}.todo-head p{display:none}.todo-alert-icon{width:38px;height:38px;flex-basis:38px}.todo-grid{grid-template-columns:1fr}.important-grid{grid-template-columns:1fr}.application-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}.request-primary{grid-column:span 2;grid-row:auto;min-height:142px}.request-medium,.request-small{grid-column:span 1;min-height:104px;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;padding:13px}.request-medium .request-icon,.request-small .request-icon{width:40px;height:40px}.request-medium .request-label,.request-small .request-label{grid-column:1/-1;align-self:end}.request-medium .request-arrow,.request-small .request-arrow{position:absolute;right:10px;top:10px;width:27px;height:27px}.support-grid,.training-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-tile{min-height:96px;grid-template-columns:auto 1fr}.compact-tile .compact-arrow{display:none}.contacts-fab,.chat-fab{bottom:82px;width:50px;height:50px;min-height:50px;padding:5px;border-radius:50%}.contacts-fab{left:12px}.chat-fab{right:12px}.global-fab>span:not(.global-fab-icon){display:none}.global-fab-icon{width:40px;height:40px}.chat-drawer{top:auto;left:8px;right:8px;bottom:78px;width:auto;height:min(76vh,650px);border-radius:25px;transform:translateY(calc(100% + 90px))}.chat-drawer-head{min-height:66px}.global-overlay{padding:10px}.contacts-sheet{width:100%;max-height:88vh;border-radius:24px;padding:17px}.contacts-overlay-grid{grid-template-columns:1fr}.detail-page{padding:14px 7px 105px}.glass-toolbar{top:74px}.detail-card{border-radius:24px;padding:24px 18px}.detail-card>h1{font-size:2rem}.subservice-grid{grid-template-columns:1fr}.mobile-bottom-nav{position:fixed;left:9px;right:9px;bottom:9px;z-index:90;display:grid;grid-template-columns:repeat(4,1fr);padding:6px;border:1px solid rgba(255,255,255,.84);border-radius:22px;background:rgba(247,252,254,.9);backdrop-filter:blur(22px) saturate(130%);-webkit-backdrop-filter:blur(22px) saturate(130%);box-shadow:0 18px 46px rgba(30,72,96,.18)}.mobile-bottom-nav button{appearance:none;border:0;background:transparent;position:relative;min-width:0;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 2px;border-radius:16px;color:#698295;font-size:.57rem;font-weight:720}.mobile-bottom-nav button.active{color:var(--ra-water-ink);background:rgba(255,255,255,.72)}.mobile-bottom-nav button.active:after{content:"";position:absolute;bottom:3px;width:15px;height:3px;border-radius:99px;background:var(--ra-corporate)}.mobile-bottom-nav svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.mobile-bottom-nav small{font-size:.56rem;white-space:nowrap}.chat-open .mobile-bottom-nav{opacity:.25;pointer-events:none}
}
@media(max-width:480px){
  .top-brand img{width:126px}.top-actions .language-switch span{display:none}.top-actions .language-switch button{font-size:.61rem}.dashboard-heading h2{font-size:1.08rem}.section-link{font-size:.66rem}.request-primary{min-height:132px}.request-primary .request-icon{width:58px;height:58px}.request-primary .request-icon svg{width:54px;height:54px}.request-primary .request-label{font-size:1.08rem}.request-medium,.request-small{min-height:100px;padding:11px}.request-label{font-size:.72rem}.support-grid,.training-grid{grid-template-columns:1fr 1fr}.compact-tile{min-height:92px;padding:11px;grid-template-columns:1fr}.compact-icon{width:38px;height:38px}.compact-tile strong{font-size:.7rem}.todo-count{font-size:.65rem}.todo-task{padding:11px 12px}.info-card{padding:12px 13px}.discard-actions>*{width:100%}
}
@media(prefers-reduced-motion:reduce){.todo-task{animation:none!important}.morph-surface{animation:none!important}.app-shell,.chat-drawer,.request-tile,.compact-tile,.global-fab{transition:none!important}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass-panel,.glass-card,.global-fab,.top-nav,.chat-drawer,.contacts-sheet,.glass-toolbar{background:rgba(250,253,255,.97)}}


/* =========================================================
   v0.6.1 – Zielbild-Abgleich: Dichte, Tile-Grid, Chat, Rhein
   ========================================================= */
:root{
  --ra-chat-w:clamp(360px,21vw,400px);
  --ra-card:rgba(255,255,255,.84);
  --ra-glass:rgba(249,253,255,.72);
  --ra-glass-strong:rgba(252,254,255,.86);
  --ra-shadow-soft:0 8px 24px rgba(30,72,96,.075);
}
body.app-page{background:#dfeef3}
.app-background{
  inset:-8px;
  background-position:center 53%;
  filter:blur(3px) brightness(1.13) saturate(.70) contrast(.88);
  transform:scale(1.018)
}
.app-background-wash{
  background:
    linear-gradient(180deg,rgba(243,250,253,.44),rgba(244,250,252,.29) 44%,rgba(240,248,250,.43)),
    radial-gradient(850px 440px at 72% 0%,rgba(255,255,255,.34),transparent 72%)
}
.glass-panel,.glass-card{
  border-color:rgba(255,255,255,.76);
  backdrop-filter:blur(17px) saturate(118%);
  -webkit-backdrop-filter:blur(17px) saturate(118%)
}

/* Kompakter App-Rahmen und Topbar */
.app-shell{width:min(1480px,calc(100% - 24px));margin:10px auto 78px}
.top-nav{
  top:8px;
  min-height:58px;
  border-radius:21px;
  grid-template-columns:minmax(150px,205px) 1fr auto;
  gap:12px;
  padding:6px 9px 6px 14px;
  background:rgba(249,253,255,.78)
}
.top-brand img{width:min(164px,100%);height:38px}
.desktop-nav{gap:5px}
.desktop-nav button{min-height:42px;padding:0 11px;border-radius:14px;font-size:.76rem;gap:7px}
.desktop-nav button.active:after{bottom:-8px;height:3px}
.desktop-nav .nav-icon{width:20px;height:20px}
.desktop-nav svg,.logout-button svg{width:18px;height:18px}
.top-actions{gap:7px}
.top-actions .language-switch{height:38px;padding:0 7px;border-radius:13px}
.logout-button{width:38px;height:38px;border-radius:13px}

/* Dashboard: deutlich dichter – Ziel ist der komplette Startbildschirm auf 16:9 */
.page{padding:10px 24px 28px}
.dashboard-page{max-width:1180px}
.dashboard-section{margin-top:15px;scroll-margin-top:78px}
.dashboard-heading{margin:0 2px 7px}
.dashboard-heading h2{font-size:1.08rem}
.section-link{font-size:.69rem;padding:3px 0}

/* Offene To-dos: bewusst prominent, aber vertikal kompakt */
.todo-panel{margin-top:10px;padding:12px 13px;border-radius:22px}
.todo-head{gap:14px;padding:0 1px 9px}
.todo-title-wrap{gap:10px}
.todo-alert-icon{width:38px;height:38px;flex-basis:38px;font-size:1.08rem}
.todo-head h1{font-size:.96rem}.todo-head p{font-size:.67rem;margin-top:2px}
.todo-count{font-size:.68rem}
.todo-grid{gap:9px}
.todo-task{min-height:64px;border-radius:15px;padding:9px 13px;gap:11px}
.todo-task-icon{width:39px;height:39px;border-radius:12px;font-size:1.35rem}
.todo-task-copy strong{font-size:.79rem}.todo-task-copy small{margin-top:2px;font-size:.64rem}
.todo-task-arrow{font-size:1.3rem}

/* Wichtige Informationen direkt nach den To-dos */
.important-section{margin-top:14px}
.important-grid{gap:9px}
.info-card{min-height:66px;border-radius:16px;padding:10px 14px;gap:11px}
.info-icon{width:40px;height:40px;flex-basis:40px;border-radius:13px}
.info-icon svg{width:22px;height:22px}
.info-card strong{font-size:.79rem}.info-card span:not(.info-icon){margin-top:2px;font-size:.64rem}

/* Echtes Metro-artiges Raster: Urlaub 2 Reihen; 4 mittlere Kacheln rechts; 4 kleine darunter */
.application-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:64px;gap:8px}
.request-tile{min-height:64px;border-radius:16px;gap:10px;padding:9px 12px}
.request-primary{grid-column:span 4;grid-row:span 2;min-height:136px;padding:15px 16px}
.request-primary .request-icon{width:58px;height:58px;margin:auto auto 5px 0}
.request-primary .request-icon svg{width:54px;height:54px}
.request-primary .request-label{font-size:1.08rem}
.request-primary .request-arrow{width:28px;height:28px}
.request-medium{grid-column:span 4;min-height:64px}
.request-small{grid-column:span 3;min-height:64px}
.request-icon{width:39px;height:39px;flex-basis:39px;border-radius:12px}
.request-icon svg{width:22px;height:22px}
.request-label{font-size:.73rem;line-height:1.18}
.request-arrow,.compact-arrow{width:26px;height:26px;border-radius:10px;font-size:1rem}

/* Support und Schulungen: kleine Funktionskacheln wie im Zielbild */
.compact-grid{gap:8px}
.support-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.training-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.compact-tile{min-height:62px;border-radius:16px;padding:9px 11px;gap:9px}
.compact-icon{width:38px;height:38px;flex-basis:38px;border-radius:12px}
.compact-icon svg{width:21px;height:21px}
.compact-tile strong{font-size:.7rem;line-height:1.18}
.pilot-footer{margin-top:16px;font-size:.57rem}

/* Chat: echtes Sidecar statt einer zweiten Hauptspalte */
.chat-drawer{
  top:76px;
  right:12px;
  bottom:14px;
  width:var(--ra-chat-w);
  border-radius:24px;
  background:rgba(246,252,254,.84)
}
.chat-drawer-head{min-height:66px;padding:13px 13px 11px 16px}
.chat-drawer-head span{font-size:.84rem}.chat-drawer-head strong{font-size:.61rem}
.chat-head-button{width:36px;height:36px}
.chat-drawer .messages{padding:14px 13px;gap:9px}
.chat-drawer .message{max-width:88%;font-size:.73rem;line-height:1.42;padding:10px 12px;border-radius:15px;white-space:pre-line}
.chat-drawer .chat-form{padding:9px 10px 7px}
.chat-drawer .chat-form textarea{min-height:42px;font-size:.74rem}
.chat-drawer .send-button{width:42px;height:42px}
.chat-drawer .chat-status{padding:0 12px 10px;font-size:.57rem}
@media(min-width:1200px){
  body.chat-open .app-shell{
    width:calc(100% - var(--ra-chat-w) - 38px);
    max-width:none;
    margin-left:12px;
    margin-right:calc(var(--ra-chat-w) + 26px)
  }
  body.chat-open .dashboard-page{max-width:1180px}
  /* Wichtig: Das Metro-Raster bleibt auch bei geöffnetem Chat 12-spaltig. */
  body.chat-open .application-grid{grid-template-columns:repeat(12,minmax(0,1fr))}
  body.chat-open .request-primary{grid-column:span 4;grid-row:span 2}
  body.chat-open .request-medium{grid-column:span 4}
  body.chat-open .request-small{grid-column:span 3}
  body.chat-open .training-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:1199px) and (min-width:821px){
  body.chat-open .app-shell{width:calc(100% - 20px);margin:10px auto 78px}
  .chat-drawer{box-shadow:0 24px 74px rgba(21,61,86,.26)}
}

/* Globalwerkzeuge etwas näher am Zielbild */
.contacts-fab,.chat-fab{bottom:14px;min-height:48px}
.contacts-fab{left:14px}.chat-fab{right:14px}
.global-fab{background:rgba(250,253,255,.83)}

/* Notebook 1366x768: weiterhin dichte Desktopdarstellung */
@media(max-width:1450px) and (min-width:821px){
  .app-shell{width:calc(100% - 18px);margin-top:8px}
  .page{padding-left:18px;padding-right:18px}
  .dashboard-page{max-width:1100px}
  .top-nav{grid-template-columns:minmax(145px,180px) 1fr auto;gap:8px}
  .top-brand img{width:154px;height:36px}
  .desktop-nav button{padding:0 9px;font-size:.72rem}
  .todo-panel{padding:11px 12px}
  .dashboard-section{margin-top:13px}
  .application-grid{grid-auto-rows:60px;gap:7px}
  .request-primary{min-height:127px}
  .request-tile{min-height:60px}
  .compact-tile{min-height:58px}
}

/* Mobile behält das zweispaltige Tile-Prinzip; To-dos bleiben sichtbar. */
@media(max-width:820px){
  .app-background{filter:blur(4px) brightness(1.16) saturate(.66) contrast(.84)}
  .app-background-wash{background:rgba(241,249,252,.52)}
  .page{padding-top:12px}
  .todo-panel{margin-top:8px}
  .dashboard-section{margin-top:18px}
  .application-grid{grid-auto-rows:auto}
  .request-primary{min-height:138px}
  .request-medium,.request-small{min-height:96px}
  .compact-tile{min-height:90px}
  .contacts-fab,.chat-fab{bottom:82px}
}
.todo-task-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}


/* =========================================================
   v0.6.2 – Rhein-Hintergrund sichtbar + Topbar bleibt vollbreit
   ========================================================= */
/* Das bisherige vollflächige Wash-Layer wurde aus dem Markup entfernt.
   Das Foto selbst wird nur über Filter beruhigt, damit es sichtbar bleibt. */
body.app-page{
  background:#dfeef3;
}
.app-background{
  z-index:0;
  filter:blur(3px) brightness(1.17) saturate(.62) contrast(.82);
  opacity:.82;
  pointer-events:none;
}
.app-shell{
  position:relative;
  z-index:2;
  margin-top:0;
}
/* Die Navigation liegt außerhalb des schrumpfenden Inhalts-Containers.
   Dadurch bleibt sie bei geöffnetem Chat genauso breit wie im Normalzustand. */
.top-nav{
  width:min(1480px,calc(100% - 24px));
  margin:8px auto 0;
}

@media(min-width:1200px){
  body.chat-open .app-shell{
    width:calc(100% - var(--ra-chat-w) - 38px);
    max-width:none;
    margin-left:12px;
    margin-right:calc(var(--ra-chat-w) + 26px);
    margin-top:0;
  }
  body.chat-open .top-nav{
    width:min(1480px,calc(100% - 24px));
    margin-left:auto;
    margin-right:auto;
  }
}

@media(max-width:1199px) and (min-width:821px){
  .top-nav{width:calc(100% - 18px)}
  body.chat-open .top-nav{width:calc(100% - 18px)}
}

@media(max-width:820px){
  .app-background{
    filter:blur(4px) brightness(1.18) saturate(.58) contrast(.80);
    opacity:.72;
  }
  .top-nav{
    width:calc(100% - 18px);
    margin:7px auto 0;
  }
}

/* =========================================================
   v0.6.3 – ruhiges Desktop-Layout mit linker Navigation
   ========================================================= */
:root{
  --ra-sidebar-w:248px;
  --ra-chat-w:400px;
  --ra-tile-h:176px;
  --ra-grid-gap:16px;
  --ra-section-gap:48px;
  --ra-surface:#ffffff;
  --ra-page:#f4f7f8;
  --ra-line:#dfe8ec;
  --ra-line-strong:#d2dfe4;
  --ra-soft:#eef4f6;
  --ra-text:#17364c;
  --ra-muted:#718696;
}

/* Kein Hintergrundbild, kein Glassmorphism. */
body.app-page{
  background:var(--ra-page)!important;
  color:var(--ra-text);
}
.app-background,.app-background-wash{display:none!important;background:none!important}
.glass-panel,.glass-card{
  background:var(--ra-surface)!important;
  border-color:var(--ra-line)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:0 5px 18px rgba(22,52,76,.055)!important;
}

/* Dialoge und Overlays dürfen abblenden, aber nicht weichzeichnen. */
.overlay-backdrop,.discard-dialog::backdrop{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.contacts-sheet,.discard-card,.detail-card,.glass-toolbar{
  background:#fff!important;
}

.desktop-sidebar{display:none}

@media(min-width:821px){
  /* Die alte obere Desktop-Navigation verschwindet vollständig. */
  .top-nav{display:none!important}

  .app-shell{
    width:100%!important;
    max-width:none!important;
    min-height:100vh;
    margin:0!important;
    padding:0!important;
    display:grid;
    grid-template-columns:var(--ra-sidebar-w) minmax(0,1fr);
    align-items:start;
    background:var(--ra-page);
    transition:width .2s ease;
  }

  .desktop-sidebar{
    position:sticky;
    top:0;
    align-self:start;
    z-index:40;
    display:flex;
    flex-direction:column;
    min-width:0;
    width:var(--ra-sidebar-w);
    height:100vh;
    overflow:auto;
    padding:20px 16px 18px;
    background:#fff;
    border-right:1px solid var(--ra-line);
    box-shadow:5px 0 24px rgba(22,52,76,.035);
  }
  .sidebar-brand{
    appearance:none;
    border:0;
    background:transparent;
    width:100%;
    padding:2px 6px 17px;
    display:flex;
    justify-content:flex-start;
    cursor:pointer;
  }
  .sidebar-brand img{width:178px;max-width:100%;height:auto;display:block}

  .sidebar-main-nav{display:grid;gap:5px}
  .sidebar-main-nav button{
    appearance:none;
    width:100%;
    min-height:44px;
    border:0;
    border-radius:11px;
    padding:6px 10px;
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    align-items:center;
    gap:9px;
    background:transparent;
    color:#4c6475;
    text-align:left;
    font:inherit;
    font-size:.8rem;
    font-weight:700;
    cursor:pointer;
    transition:background .16s ease,color .16s ease;
  }
  .sidebar-main-nav button:hover{background:#f2f7f8;color:var(--ra-text)}
  .sidebar-main-nav button.active{background:#e7f7f8;color:#0b7f8b}
  .sidebar-nav-icon{width:28px;height:28px;display:grid;place-items:center;color:#6d8595}
  .sidebar-main-nav button.active .sidebar-nav-icon{color:var(--ra-corporate-strong)}
  .sidebar-nav-icon svg,.sidebar-section-icon svg,.sidebar-logout svg{
    width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round
  }
  .sidebar-rule{height:1px;background:var(--ra-line);margin:16px 7px}

  .sidebar-shift,.sidebar-reminders{padding:0 5px}
  .sidebar-section-label{display:flex;align-items:center;gap:8px;min-width:0}
  .sidebar-section-label h2{
    margin:0;
    color:var(--ra-text);
    font-size:.76rem;
    font-weight:800;
    letter-spacing:-.01em;
  }
  .sidebar-section-icon{width:24px;height:24px;display:grid;place-items:center;color:#7090a0}
  .sidebar-section-icon svg{width:17px;height:17px}
  .sidebar-shift-card{
    margin-top:9px;
    padding:11px 12px;
    border:1px solid #d7eef0;
    border-radius:12px;
    background:#edfafa;
  }
  .sidebar-shift-card strong{display:block;color:#187f8a;font-size:.73rem;font-weight:800;line-height:1.3}
  .sidebar-shift-card span{display:block;margin-top:3px;color:#79909e;font-size:.62rem}

  .sidebar-reminders{margin-top:22px}
  .sidebar-reminder-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
  .reminder-icon{color:#db3f4e}
  .sidebar-reminder-count{
    min-width:23px;height:23px;padding:0 7px;border-radius:999px;display:grid;place-items:center;
    background:#df4050;color:#fff;font-size:.65rem;font-weight:850
  }
  .sidebar-reminder-list{display:grid;gap:8px;margin-top:9px}
  .sidebar-reminder-item{
    appearance:none;
    width:100%;
    min-height:58px;
    border:1px solid #f0cbd0;
    border-radius:12px;
    padding:9px 9px;
    display:grid;
    grid-template-columns:29px minmax(0,1fr) 14px;
    align-items:center;
    gap:8px;
    background:#fff4f5;
    color:#69202a;
    text-align:left;
    cursor:pointer;
    transition:background .16s ease,border-color .16s ease,transform .16s ease;
  }
  .sidebar-reminder-item:hover{background:#ffecee;border-color:#eeb9c0;transform:translateX(1px)}
  .sidebar-reminder-item-icon{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:#ffe1e5;color:#d73747}
  .sidebar-reminder-item-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .sidebar-reminder-item-copy{min-width:0}
  .sidebar-reminder-item-copy strong{display:block;font-size:.65rem;line-height:1.2;font-weight:820}
  .sidebar-reminder-item-copy small{display:block;margin-top:3px;color:#99606a;font-size:.55rem;line-height:1.25}
  .sidebar-reminder-item-arrow{color:#d73747;font-size:1rem;font-weight:850}

  .sidebar-bottom{margin-top:auto;padding:18px 5px 0;border-top:1px solid var(--ra-line);display:grid;gap:9px}
  .sidebar-language{display:flex;align-items:center;gap:5px;color:#98a8b2}
  .sidebar-language button{appearance:none;border:0;background:transparent;padding:3px;color:#748998;font-size:.64rem;font-weight:750;cursor:pointer}
  .sidebar-language button.active{color:#078590}
  .sidebar-logout{display:flex;align-items:center;gap:8px;color:#687f8f;text-decoration:none;font-size:.68rem;font-weight:720;padding:4px 2px}
  .sidebar-logout svg{width:17px;height:17px}
  .sidebar-bottom small{color:#9aabb5;font-size:.55rem}

  .app-main{
    min-width:0;
    width:100%;
    container-type:inline-size;
    background:var(--ra-page);
  }
  .page{padding:34px 40px 64px}
  .dashboard-page{max-width:1440px;margin:0 auto}

  /* Die beiden früheren Dashboardblöcke leben auf Desktop jetzt in der Sidebar. */
  #todoPanel,#importantSection{display:none!important}

  .dashboard-section{margin-top:0;scroll-margin-top:22px}
  #supportSection,#trainingSection{margin-top:var(--ra-section-gap)}
  .dashboard-heading{margin:0 0 16px}
  .dashboard-heading h2{font-size:1.2rem;color:var(--ra-text);font-weight:820;letter-spacing:-.025em}
  .section-link{color:#0a94a1;font-size:.72rem;font-weight:800}

  /* Einheitliches Tile-System: 176px für Anträge, Unterstützung und Schulungen. */
  .application-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    grid-auto-rows:var(--ra-tile-h);
    gap:var(--ra-grid-gap);
  }
  .request-tile{
    height:var(--ra-tile-h)!important;
    min-height:var(--ra-tile-h)!important;
    grid-row:auto!important;
    border:1px solid var(--ra-line)!important;
    border-radius:14px!important;
    padding:18px!important;
    background:#fff!important;
    box-shadow:0 5px 16px rgba(22,52,76,.055)!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:1fr auto!important;
    align-items:stretch!important;
    gap:10px!important;
    color:var(--ra-text)!important;
  }
  .request-tile:before{display:none!important}
  .request-tile:hover,.request-tile:focus-visible{
    background:#fff!important;
    border-color:#b9dfe3!important;
    box-shadow:0 10px 24px rgba(22,52,76,.09)!important;
    transform:translateY(-2px);
  }
  .request-primary{grid-column:span 2!important;background:#22bdca!important;border-color:#22bdca!important;color:#fff!important}
  .request-primary:hover,.request-primary:focus-visible{background:#18b3c0!important;border-color:#18b3c0!important}
  .request-medium,.request-small{grid-column:span 1!important}

  .request-icon{
    grid-column:1/-1!important;
    align-self:center!important;
    justify-self:center!important;
    width:58px!important;
    height:58px!important;
    margin:0!important;
    border-radius:15px!important;
    background:#e9f8f9!important;
    border:0!important;
    color:#1599a7!important;
    box-shadow:none!important;
  }
  .request-icon svg{width:31px!important;height:31px!important;stroke-width:1.8!important}
  .request-primary .request-icon{
    width:70px!important;height:70px!important;background:rgba(255,255,255,.13)!important;color:#fff!important
  }
  .request-primary .request-icon svg{width:57px!important;height:57px!important;stroke-width:3!important}
  .request-label{
    grid-column:1!important;
    grid-row:2!important;
    align-self:end!important;
    color:#107d87!important;
    font-size:.9rem!important;
    font-weight:820!important;
    line-height:1.18!important;
  }
  .request-primary .request-label{color:#fff!important;font-size:1.03rem!important}
  .request-arrow{
    grid-column:2!important;
    grid-row:2!important;
    align-self:end!important;
    justify-self:end!important;
    width:28px!important;height:28px!important;border-radius:9px!important;
    background:#eef8f9!important;color:#1aa0ad!important;
  }
  .request-primary .request-arrow{background:rgba(255,255,255,.17)!important;color:#fff!important}

  .compact-grid{gap:var(--ra-grid-gap)!important}
  .support-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .training-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .compact-tile{
    height:var(--ra-tile-h)!important;
    min-height:var(--ra-tile-h)!important;
    border:1px solid var(--ra-line)!important;
    border-radius:14px!important;
    padding:18px!important;
    background:#fff!important;
    box-shadow:0 5px 16px rgba(22,52,76,.055)!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:1fr auto!important;
    align-items:stretch!important;
    gap:10px!important;
  }
  .compact-tile:hover,.compact-tile:focus-visible{background:#fff!important;border-color:#b9dfe3!important;box-shadow:0 10px 24px rgba(22,52,76,.09)!important}
  .compact-icon{
    grid-column:1/-1!important;
    align-self:center!important;
    justify-self:center!important;
    width:58px!important;height:58px!important;border-radius:15px!important;
    background:#e9f8f9!important;color:#1599a7!important;
  }
  .compact-icon svg{width:31px!important;height:31px!important}
  .compact-tile strong{
    grid-column:1!important;grid-row:2!important;align-self:end!important;
    color:#107d87!important;font-size:.9rem!important;font-weight:820!important;line-height:1.18!important
  }
  .compact-arrow{
    grid-column:2!important;grid-row:2!important;align-self:end!important;justify-self:end!important;
    width:28px!important;height:28px!important;border-radius:9px!important;background:#eef8f9!important;color:#1aa0ad!important
  }
  .danger-tile{background:#fff!important;border-color:#efc8cd!important}
  .danger-tile .compact-icon{background:#fff0f2!important;color:#d84050!important}
  .danger-tile strong{color:#b42836!important}
  .danger-tile .compact-arrow{background:#fff0f2!important;color:#d84050!important}

  .pilot-footer{margin-top:42px;color:#93a3ad;font-size:.58rem}

  /* Ansprechpartner:innen ist auf Desktop Bestandteil der Sidebar. */
  .contacts-fab{display:none!important}
  .chat-fab{
    right:18px;bottom:18px;
    background:#fff!important;
    border:1px solid var(--ra-line)!important;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
    box-shadow:0 8px 22px rgba(22,52,76,.10)!important;
  }

  /* Rechtes Sidecar. Die Sidebar bleibt unverändert stehen. */
  .chat-drawer{
    top:14px!important;
    right:14px!important;
    bottom:14px!important;
    width:var(--ra-chat-w)!important;
    border:1px solid var(--ra-line)!important;
    border-radius:16px!important;
    background:#fff!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    box-shadow:0 12px 32px rgba(22,52,76,.12)!important;
  }
  .chat-drawer-head{background:#eafafa!important;border-bottom:1px solid #d6eef0!important}
  .chat-head-button{background:#fff!important;border-color:#d8e6ea!important}
  .chat-drawer .messages{background:#fff!important}
  .chat-drawer .message.assistant{background:#f3f6f7!important;border-color:#e4eaed!important;box-shadow:none!important}
  .chat-drawer .message.user{background:#21bdca!important;border-color:#21bdca!important;box-shadow:none!important}
  .chat-drawer .chat-form{background:#fff!important;border-top:1px solid var(--ra-line)!important}
  .chat-drawer .chat-form textarea{background:#fff!important;border-color:#d9e4e8!important}
  .chat-drawer .chat-status{background:#fff!important}

  body.chat-open .app-shell{
    width:calc(100% - var(--ra-chat-w) - 18px)!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }

  /* Responsive innerhalb der tatsächlich verfügbaren Arbeitsfläche. */
  @container (max-width:1040px){
    .page{padding-left:28px;padding-right:28px}
    .application-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
    .support-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
    .training-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  }
  @container (max-width:800px){
    .page{padding-left:22px;padding-right:22px}
    .application-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .request-primary{grid-column:span 2!important}
    .support-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .training-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  }
}

/* Mobile behält die bestehende Navigationslogik, aber ebenfalls ohne Glass-Effekt/Hintergrundbild. */
@media(max-width:820px){
  .desktop-sidebar{display:none!important}
  .top-nav{
    display:grid!important;
    background:#fff!important;
    border-color:var(--ra-line)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    box-shadow:0 5px 18px rgba(22,52,76,.06)!important;
  }
  .app-shell{background:var(--ra-page)!important}
  .mobile-bottom-nav{
    background:#fff!important;
    border-color:var(--ra-line)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    box-shadow:0 8px 24px rgba(22,52,76,.12)!important;
  }
  .global-fab{
    background:#fff!important;
    border-color:var(--ra-line)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .chat-drawer{background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .todo-panel{background:#fff2f4!important;border-color:#efc8cd!important}
  .info-card,.request-tile,.compact-tile{background:#fff!important;border-color:var(--ra-line)!important}
}
@media(min-width:821px){
  [dir="rtl"] .sidebar-main-nav button,
  [dir="rtl"] .sidebar-reminder-item{text-align:right}
  [dir="rtl"] .sidebar-reminder-item-arrow{transform:scaleX(-1)}
  [dir="rtl"] .sidebar-logout{flex-direction:row}
}


/* =========================================================
   v0.6.4 – Topnavigation, stabile 2-Zeilen-Grids, Feel-Good
   ========================================================= */
:root{
  --ra-topbar-h:68px;
  --ra-tile-h:176px;
  --ra-grid-gap:16px;
  --ra-section-gap:48px;
}

@media(min-width:821px){
  /* Topnavigation ist wieder die einzige Desktop-Navigation. */
  .desktop-sidebar{display:none!important}
  .top-nav{
    display:grid!important;
    position:sticky!important;
    top:0!important;
    z-index:120!important;
    width:100%!important;
    max-width:none!important;
    min-height:var(--ra-topbar-h)!important;
    margin:0!important;
    padding:8px 18px!important;
    border:0!important;
    border-bottom:1px solid var(--ra-line)!important;
    border-radius:0!important;
    grid-template-columns:minmax(150px,190px) auto minmax(300px,1fr) auto!important;
    gap:12px!important;
    background:#fff!important;
    box-shadow:0 4px 18px rgba(22,52,76,.055)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .top-brand img{width:168px!important;height:40px!important}
  .desktop-nav{justify-content:flex-start!important;gap:3px!important}
  .desktop-nav button{
    min-height:42px!important;padding:0 10px!important;border-radius:11px!important;
    color:#4f6777!important;font-size:.76rem!important;background:transparent!important;box-shadow:none!important
  }
  .desktop-nav button:hover{background:#f2f7f8!important;color:var(--ra-text)!important}
  .desktop-nav button.active{background:#e7f7f8!important;color:#0b7f8b!important}
  .desktop-nav button.active:after{display:none!important}

  /* Nächster Dienst, Erinnerungen und Kontakte sind kompakt im oberen Band. */
  .top-status{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
  .top-shift-chip,.top-reminder-button,.top-contact-button{
    border:1px solid var(--ra-line);background:#f8fbfc;color:var(--ra-text);border-radius:11px;
    min-height:44px;box-shadow:none
  }
  .top-shift-chip{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:5px 10px;min-width:158px}
  .top-reminder-button{appearance:none;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:5px 10px;min-width:126px;text-align:left}
  .top-status-icon{width:28px;height:28px;display:grid;place-items:center;color:#1599a7}
  .top-status-icon.reminder{color:#d84050}
  .top-status-icon svg,.top-contact-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .top-status-copy{display:block;min-width:0}
  .top-status-copy small{display:block;color:#7b909d;font-size:.57rem;font-weight:720;line-height:1.05;white-space:nowrap}
  .top-status-copy strong{display:block;margin-top:3px;color:#315164;font-size:.64rem;font-weight:820;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .top-reminder-button .top-status-copy strong{color:#b82c3a}
  .top-reminder-wrap{position:relative}
  .top-reminder-popover{position:absolute;top:calc(100% + 9px);right:0;width:330px;padding:12px;border:1px solid var(--ra-line);border-radius:14px;background:#fff;box-shadow:0 16px 40px rgba(22,52,76,.14);z-index:150}
  .top-reminder-popover[hidden]{display:none!important}
  .top-reminder-popover-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:2px 2px 10px;color:#28485b;font-size:.72rem}
  .top-reminder-popover-head span{color:#b43b47;font-size:.63rem;font-weight:800}
  .top-reminder-list{display:grid;gap:8px}
  .top-reminder-list .sidebar-reminder-item{min-height:62px}
  .top-contact-button{appearance:none;width:44px;min-width:44px;display:grid;place-items:center;color:#1599a7}
  .top-actions{gap:6px!important}
  .top-actions .language-switch{height:40px!important;background:#f8fbfc!important;border-color:var(--ra-line)!important}
  .logout-button{width:40px!important;height:40px!important;background:#f8fbfc!important;border-color:var(--ra-line)!important}

  /* Ohne linke Sidebar steht die gesamte Breite der Arbeitsfläche zur Verfügung. */
  .app-shell{
    width:min(1500px,calc(100% - 32px))!important;
    max-width:1500px!important;
    min-height:0!important;
    margin:18px auto 82px!important;
    padding:0!important;
    display:block!important;
    background:transparent!important;
  }
  .app-main{width:100%!important;min-width:0!important;background:transparent!important}
  .page{padding:22px 24px 62px!important}
  .dashboard-page{max-width:1440px!important;margin:0 auto!important}
  #todoPanel,#importantSection{display:none!important}
  .dashboard-section{margin-top:0!important;scroll-margin-top:90px!important}
  #supportSection,#trainingSection{margin-top:var(--ra-section-gap)!important}
  .dashboard-heading{margin:0 0 16px!important}

  /* Anträge: feste 5-Spalten-Geometrie. So entstehen immer exakt zwei Reihen. */
  .application-grid{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,var(--ra-tile-h))!important;
    grid-auto-rows:var(--ra-tile-h)!important;
    grid-auto-flow:row!important;
    gap:var(--ra-grid-gap)!important;
    max-height:calc(var(--ra-tile-h) * 2 + var(--ra-grid-gap));
    overflow:hidden;
  }
  .application-grid>.request-tile{grid-column:auto!important;grid-row:auto!important;height:var(--ra-tile-h)!important;min-height:var(--ra-tile-h)!important}
  .application-grid>.request-tile:nth-child(1){grid-column:1 / span 2!important;grid-row:1!important}
  .application-grid>.request-tile:nth-child(2){grid-column:3!important;grid-row:1!important}
  .application-grid>.request-tile:nth-child(3){grid-column:4!important;grid-row:1!important}
  .application-grid>.request-tile:nth-child(4){grid-column:5!important;grid-row:1!important}
  .application-grid>.request-tile:nth-child(5){grid-column:1!important;grid-row:2!important}
  .application-grid>.request-tile:nth-child(6){grid-column:2!important;grid-row:2!important}
  .application-grid>.request-tile:nth-child(7){grid-column:3!important;grid-row:2!important}
  .application-grid>.request-tile:nth-child(8){grid-column:4!important;grid-row:2!important}
  .application-grid>.request-tile:nth-child(9){grid-column:5!important;grid-row:2!important}
  .request-primary{grid-column:auto!important;grid-row:auto!important}
  .request-medium,.request-small{grid-column:auto!important;grid-row:auto!important}

  /* Unterstützung und Schulungen benutzen dieselbe Kachelhöhe und denselben Rhythmus. */
  .support-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:var(--ra-grid-gap)!important}
  .training-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:var(--ra-grid-gap)!important}
  .support-grid,.training-grid{grid-auto-rows:var(--ra-tile-h)!important;max-height:calc(var(--ra-tile-h) * 2 + var(--ra-grid-gap));overflow:hidden}
  .compact-tile{height:var(--ra-tile-h)!important;min-height:var(--ra-tile-h)!important}

  /* Der Chat beginnt unter der Navigation. Das Menü bleibt stets 100% breit. */
  .chat-drawer{
    top:calc(var(--ra-topbar-h) + 12px)!important;
    right:14px!important;
    bottom:14px!important;
    width:var(--ra-chat-w)!important;
  }
  body.chat-open .app-shell{
    width:calc(100% - var(--ra-chat-w) - 46px)!important;
    max-width:none!important;
    margin-left:16px!important;
    margin-right:calc(var(--ra-chat-w) + 30px)!important;
  }

  /* Unterhalb typischer Notebookbreite wird der Chat zum Overlay, damit das 5er-Grid nicht zerfällt. */
  @media(max-width:1180px){
    .top-nav{grid-template-columns:150px auto 1fr auto!important;padding-left:12px!important;padding-right:12px!important}
    .top-brand img{width:145px!important}
    .desktop-nav button{padding:0 7px!important;font-size:.7rem!important}
    .desktop-nav .nav-icon{display:none!important}
    .top-shift-chip{min-width:132px!important}
    .top-status-copy small{font-size:.53rem!important}
    .top-status-copy strong{font-size:.59rem!important}
    body.chat-open .app-shell{width:min(1500px,calc(100% - 32px))!important;max-width:1500px!important;margin:18px auto 82px!important}
    .chat-drawer{box-shadow:0 18px 52px rgba(22,52,76,.18)!important}
  }
}

@media(max-width:980px) and (min-width:821px){
  .top-shift-chip{display:none!important}
  .top-nav{grid-template-columns:145px auto 1fr auto!important}
}

@media(max-width:820px){
  /* Mobile bleibt bewusst bei der vorhandenen Bottom-Navigation. */
  .top-status{display:none!important}
  .desktop-sidebar{display:none!important}
}

/* =========================================================
   v0.6.5 – stabile Kachelproportionen bei geöffnetem Chat
   ========================================================= */
@media(min-width:821px){
  /*
     Das 5-Spalten-Antragsraster wird durch das rechte Chat-Sidecar schmaler.
     Bis v0.6.4 blieb die Zeilenhöhe dabei starr auf 176 px; dadurch wurden
     die normalen Antragskacheln bei mittleren Desktopbreiten hochkant.

     Die Spaltenbreite des Rasters beträgt:
       (Breite des .app-main-Containers - 48 px Seitenpadding - 64 px Gaps) / 5
     = 20cqw - 22.4px.

     Im Chat-Zustand folgt die Kachelhöhe deshalb der tatsächlichen
     Spaltenbreite, maximal jedoch den regulären 176 px. So bleiben die
     normalen Antragskacheln quadratisch bzw. werden nie schmaler als hoch,
     während das 5-Spalten-/2-Zeilen-Raster unverändert erhalten bleibt.
  */
  body.chat-open .application-grid{
    --ra-chat-request-h:clamp(124px,calc(20cqw - 22.4px),var(--ra-tile-h));
    grid-template-rows:repeat(2,var(--ra-chat-request-h))!important;
    grid-auto-rows:var(--ra-chat-request-h)!important;
    max-height:calc(var(--ra-chat-request-h) * 2 + var(--ra-grid-gap))!important;
  }
  body.chat-open .application-grid>.request-tile{
    height:var(--ra-chat-request-h)!important;
    min-height:var(--ra-chat-request-h)!important;
  }

  /* Bei sehr knapper Sidecar-Arbeitsfläche werden Innenabstände/Icon leicht
     reduziert, damit Beschriftung und Pfeil sauber innerhalb der Kachel bleiben. */
  @container (max-width:860px){
    body.chat-open .application-grid>.request-tile{padding:13px!important}
    body.chat-open .application-grid .request-icon{width:50px!important;height:50px!important;border-radius:13px!important}
    body.chat-open .application-grid .request-icon svg{width:27px!important;height:27px!important}
    body.chat-open .application-grid .request-primary .request-icon{width:58px!important;height:58px!important}
    body.chat-open .application-grid .request-primary .request-icon svg{width:47px!important;height:47px!important}
    body.chat-open .application-grid .request-label{font-size:.8rem!important}
    body.chat-open .application-grid .request-primary .request-label{font-size:.92rem!important}
  }
}


/* v0.6.6 – Detailseiten- und Formular-Designsystem
   Bewusst auf Detailseiten/Serviceformulare begrenzt. Chat/FAB/Chat-Drawer bleiben unverändert. */
.detail-page{
  --detail-control-h:48px;
  --detail-control-radius:13px;
  --detail-section-gap:18px;
  max-width:1040px;
}
.detail-toolbar{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
}
.detail-context{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:#718695;
  font-size:.69rem;
  font-weight:690;
  white-space:nowrap;
  overflow:hidden;
}
.detail-context>span:first-child{color:var(--ra-water-ink);font-weight:780}
.detail-context-separator{color:#9aabb5}
.detail-context strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  color:var(--ra-navy);
  font-weight:760;
}
.detail-card{padding:clamp(26px,3.2vw,36px)}
.detail-icon{width:52px;height:52px;border-radius:16px;margin-bottom:17px}
.detail-icon svg{width:24px;height:24px}
.detail-eyebrow{margin-bottom:6px}
.detail-card>h1{margin-bottom:18px}
.detail-content>p{max-width:78ch;line-height:1.62}
.detail-content>p+p{margin-top:10px}

/* Form container: less "card in card", clearer hierarchy. */
.service-form{
  margin-top:28px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.form-section-head{
  margin:0 0 20px;
  padding:0 0 15px;
  border-bottom:1px solid rgba(18,83,105,.11);
}
.form-section-head h2{font-size:1.04rem;font-weight:790;letter-spacing:-.025em;color:var(--ra-navy)}
.form-section-head p{margin-top:5px;font-size:.69rem;line-height:1.45}
.form-grid{gap:12px}
.form-field{gap:6px;margin-top:12px}
.form-grid .form-field{margin-top:0}
.form-field>span,.form-fieldset legend{font-size:.74rem;font-weight:760;line-height:1.35;color:#2f4b5e}
.form-field small,.field-help{font-size:.66rem;line-height:1.45;color:#788b98}
.form-field input,.form-field textarea{
  border-color:rgba(18,83,105,.14);
  border-radius:var(--detail-control-radius);
  background:rgba(255,255,255,.9);
  box-shadow:0 1px 0 rgba(255,255,255,.85) inset;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.form-field input{
  min-height:var(--detail-control-h);
  height:var(--detail-control-h);
  padding:0 13px;
  font-size:.82rem;
}
.form-field textarea{
  min-height:64px;
  height:64px;
  max-height:220px;
  padding:10px 13px;
  font-size:.82rem;
  line-height:1.42;
  resize:vertical;
}
.form-field input:hover,.form-field textarea:hover{border-color:rgba(18,83,105,.23);background:#fff}
.form-field input:focus,.form-field textarea:focus{
  border-color:var(--ra-corporate);
  box-shadow:0 0 0 3px rgba(36,198,211,.12);
  background:#fff;
}
.form-field input:disabled,.form-field textarea:disabled{background:rgba(17,20,23,.035);color:#8797a1;cursor:not-allowed}
.form-field input[readonly]{background:rgba(17,20,23,.035);color:#667b89}

/* Auswahlschritte als zusammengehörige Choice-Gruppen statt als weitere Textfelder. */
.form-fieldset{
  min-width:0;
  margin:var(--detail-section-gap) 0 12px;
  padding:13px 14px 14px;
  border:1px solid rgba(18,83,105,.10);
  border-radius:16px;
  background:rgba(247,251,252,.66);
}
.form-fieldset legend{padding:0 6px 0 0;background:transparent}
.field-help{margin-top:4px;max-width:760px}
.choice-grid{gap:8px;margin-top:9px}
.choice-card span{
  position:relative;
  min-height:44px;
  padding:0 34px 0 12px;
  border-color:rgba(18,83,105,.13);
  border-radius:12px;
  background:rgba(255,255,255,.92);
  font-size:.75rem;
  font-weight:720;
}
.choice-card:hover span{border-color:rgba(36,198,211,.42);background:#fff}
.choice-card input:checked+span{
  border-color:var(--ra-corporate);
  background:rgba(36,198,211,.10);
  color:var(--ra-water-ink);
  box-shadow:0 0 0 2px rgba(36,198,211,.08);
}
.choice-card input:checked+span:after{
  content:"✓";
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  width:17px;
  height:17px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--ra-corporate);
  color:#073f47;
  font-size:.62rem;
  font-weight:900;
}
.choice-card input:focus-visible+span{outline:3px solid rgba(36,198,211,.22);outline-offset:2px}

/* Hinweise sind Informationsbausteine, nicht eigene große Formularbereiche. */
.form-privacy{
  position:relative;
  margin-top:18px;
  padding:10px 12px 10px 39px;
  border:1px solid rgba(36,198,211,.10);
  border-radius:13px;
  background:rgba(36,198,211,.065);
  color:#6f8492;
  font-size:.66rem;
  line-height:1.45;
}
.form-privacy:before{
  content:"i";
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  border:1px solid rgba(18,83,105,.20);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--ra-water-ink);
  font-size:.62rem;
  font-weight:850;
  background:rgba(255,255,255,.76);
}
.form-alert,.form-availability{border-radius:13px}
.confirmation-card,.plus-context>div,.papershift-help{border-radius:14px}

/* CTA bleibt absichtlich voll breit. */
.form-submit{
  width:100%;
  min-height:50px;
  margin-top:14px;
  border-radius:14px;
  font-size:.78rem;
}

/* Andere Detailansichten folgen derselben kompakten visuellen Sprache. */
.subservice-grid,.contact-list,.resource-list,.date-list{gap:9px}
.subservice{min-height:96px;padding:14px;border-radius:15px;border-color:rgba(18,83,105,.11)}
.subservice:hover{border-color:rgba(36,198,211,.40);box-shadow:0 10px 26px rgba(30,72,96,.08)}
.contact-item,.resource-item,.date-item{padding:12px 13px;border-radius:14px;border-color:rgba(18,83,105,.11)}
.detail-note{border-radius:14px;padding:12px 13px}
.detail-actions{margin-top:18px}
.detail-button{min-height:44px;border-radius:13px}

[dir="rtl"] .choice-card span{padding:0 12px 0 34px}
[dir="rtl"] .choice-card input:checked+span:after{right:auto;left:12px}
[dir="rtl"] .form-privacy{padding:10px 39px 10px 12px}
[dir="rtl"] .form-privacy:before{left:auto;right:12px}

@media(max-width:820px){
  .detail-context{justify-content:flex-start;font-size:.65rem}
  .detail-context strong{display:none}
  .detail-context-separator{display:none}
  .detail-card{padding:24px 18px}
}
@media(max-width:680px){
  .service-form{padding:0;border-radius:0}
  .form-fieldset{padding:12px}
  .choice-card span{justify-content:flex-start;min-height:46px}
  .form-field input,.form-field textarea{font-size:16px}
  .form-field textarea{min-height:68px;height:68px}
}

/* v0.6.6 – leichte Abschnittsführung innerhalb längerer Formulare */
.form-subsection-title{
  display:flex;
  align-items:center;
  gap:10px;
  margin:23px 0 10px;
  color:var(--ra-water-ink);
  font-size:.66rem;
  font-weight:820;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.form-subsection-title:after{
  content:"";
  flex:1;
  height:1px;
  background:rgba(18,83,105,.10);
}
.form-section-head + .form-subsection-title,
.form-lockable > .form-subsection-title:first-child{margin-top:0}
[dir="rtl"] .form-subsection-title{letter-spacing:0;text-transform:none}
@media(max-width:680px){.form-subsection-title{margin-top:20px}}

/* v0.6.7 – Detailseiten klarer gliedern, weniger Weißfläche
   Chat/FAB/Chat-Drawer bleiben unverändert. */

/* Das zusätzliche Detail-Menüband entfällt; die globale Navigation oben bleibt bestehen. */
#detailView .detail-toolbar{display:none!important}

/* Auf Detailseiten nur noch der eigentliche Seitentitel – kein Rubrik-Icon und kein Eyebrow. */
#detailView .detail-icon,
#detailView .detail-eyebrow{display:none!important}
#detailView .detail-card>h1{margin-top:0;margin-bottom:18px}

/* Einführungstexte nutzen immer die vollständige verfügbare Breite. */
#detailView .detail-content>p{
  max-width:none!important;
  width:100%;
}

/* Graue Flächen werden als wiederkehrendes Gliederungselement genutzt. */
.form-subsection-panel{
  margin:0 0 16px;
  padding:16px 18px 17px;
  border:1px solid rgba(18,83,105,.09);
  border-radius:17px;
  background:#f5f7f8;
}
.form-subsection-panel .form-subsection-title{
  margin:0 0 13px;
}
.form-subsection-panel .form-subsection-title:after{
  background:rgba(18,83,105,.12);
}
.form-subsection-panel .form-grid:first-of-type,
.form-subsection-panel .form-field:first-of-type,
.form-subsection-panel .form-fieldset:first-of-type{
  margin-top:0;
}

/* Die Zuständigkeitsauswahl ist selbst bereits ein Abschnitt und soll nicht als weiße Insel wirken. */
.form-subsection-panel .form-fieldset{
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.form-subsection-panel .form-fieldset legend{padding:0}
.form-subsection-panel .field-help{
  width:100%;
  max-width:none;
  margin-top:6px;
}

/* Alle Koordinator:innen auf großen Bildschirmen in einer einzigen Reihe. */
.form-fieldset.coordinator-fieldset .choice-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
}
.form-fieldset.coordinator-fieldset .choice-card span{
  min-height:46px;
  padding-left:10px;
  padding-right:30px;
  justify-content:center;
  text-align:center;
}

/* Auch der Formularkopf erhält eine leichte graue Grundfläche statt einer weiteren weißen Zone. */
.service-form>.form-section-head{
  margin-bottom:16px;
  padding:14px 16px;
  border:1px solid rgba(18,83,105,.08);
  border-radius:15px;
  background:#f5f7f8;
}
.service-form>.form-section-head p{width:100%;max-width:none}

@media(max-width:1000px){
  .form-fieldset.coordinator-fieldset .choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:680px){
  .form-subsection-panel{padding:14px 12px 15px;border-radius:15px}
  .service-form>.form-section-head{padding:13px 12px}
  .form-fieldset.coordinator-fieldset .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Checkpoint 2 – Einsatzvoraussetzungen und E-Learning-Übersicht */
.info-card-button{appearance:none;border:0;text-align:left;font:inherit;color:inherit;cursor:pointer;width:100%}
.cp2-requirement-summary{position:relative;padding-right:54px}
.cp2-status-dot{position:absolute;right:20px;top:50%;width:16px;height:16px;border-radius:999px;transform:translateY(-50%);box-shadow:0 0 0 5px rgba(20,42,52,.06)}
.cp2-status-dot[data-status="green"],.cp2-cockpit-hero[data-status="green"] .cp2-cockpit-dot,.cp2-status-pill[data-status="green"]{background:#2f8f57}
.cp2-status-dot[data-status="yellow"],.cp2-cockpit-hero[data-status="yellow"] .cp2-cockpit-dot,.cp2-status-pill[data-status="yellow"]{background:#d99b16}
.cp2-status-dot[data-status="red"],.cp2-cockpit-hero[data-status="red"] .cp2-cockpit-dot,.cp2-status-pill[data-status="red"]{background:#b84a4a}
.cp2-status-dot[data-status="scheduled"],.cp2-status-pill[data-status="scheduled"]{background:#87949a}
.cp2-training-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.cp2-training-overview[hidden]{display:none}
.cp2-training-card{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-areas:"kicker count" "meta count";gap:4px 18px;min-height:116px;padding:22px 52px 22px 22px;border:1px solid rgba(26,55,65,.10);border-radius:20px;background:#f1f4f5;color:#17343f;text-align:left;cursor:pointer}
.cp2-training-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(22,51,61,.08)}
.cp2-training-kicker{grid-area:kicker;font-weight:750;font-size:1rem}
.cp2-training-card>strong{grid-area:count;align-self:center;font-size:2.25rem;font-weight:760;color:#0b7080}
.cp2-training-card>span:not(.cp2-training-kicker):not(.cp2-training-arrow){grid-area:meta;color:#65767c;font-size:.92rem}
.cp2-training-arrow{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:1.6rem;color:#688087}
.cp2-cockpit-hero{display:flex;align-items:flex-start;gap:18px;padding:24px;border-radius:22px;background:#f1f4f5;margin-bottom:18px}
.cp2-cockpit-dot{flex:0 0 18px;width:18px;height:18px;border-radius:999px;margin-top:7px}
.cp2-cockpit-hero h2{margin:0 0 5px;font-size:1.45rem}
.cp2-cockpit-hero p{margin:0;color:#5d7077}
.cp2-panel{padding:22px;border-radius:20px;background:#f2f4f5}
.cp2-panel>h2{margin:0 0 14px;font-size:1.05rem}
.cp2-requirement-list{display:grid;gap:10px}
.cp2-requirement-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px;align-items:center;padding:14px 16px;border-radius:14px;background:#fff}
.cp2-requirement-row div{display:grid;gap:3px}
.cp2-requirement-row div span{font-size:.9rem;color:#65767c}
.cp2-status-pill{display:inline-flex;justify-content:center;align-items:center;min-height:30px;border-radius:999px;padding:5px 10px;color:#fff;font-size:.78rem;font-weight:750;text-align:center}
.cp2-course-list{display:grid;gap:14px}
.cp2-course-card{padding:22px;border-radius:20px;background:#f2f4f5}
.cp2-course-card.voluntary{background:#f5f6f6}
.cp2-course-card h2{margin:4px 0 10px;font-size:1.2rem}
.cp2-course-card p{margin:8px 0 18px;color:#65767c}
.cp2-course-card-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.cp2-course-card-head>strong{font-size:1.35rem;color:#0b7080}
.cp2-course-type{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#687a80;font-weight:750}
.cp2-progress{height:8px;border-radius:999px;background:#dce4e6;overflow:hidden;margin:10px 0}
.cp2-progress span{display:block;height:100%;border-radius:inherit;background:#24C6D3}
.cp2-empty{display:grid;gap:6px;padding:22px;border-radius:20px;background:#f2f4f5}
.cp2-empty span{color:#65767c}
@media(max-width:760px){
  .cp2-training-overview{grid-template-columns:1fr}
  .cp2-requirement-row{grid-template-columns:1fr;align-items:start}
  .cp2-status-pill{justify-self:start}
}
.cp2-staff-list{display:grid;gap:9px}
.cp2-staff-row{display:grid;grid-template-columns:130px minmax(180px,.9fr) minmax(240px,1.4fr);gap:14px;align-items:center;padding:14px 16px;border-radius:14px;background:#fff}
.cp2-staff-person{display:grid;gap:2px}.cp2-staff-person span,.cp2-staff-action{font-size:.9rem;color:#65767c}
@media(max-width:800px){.cp2-staff-row{grid-template-columns:1fr}.cp2-staff-action{padding-top:2px}}

/* =========================================================
   v0.7.2 – Schulungsfarben und kompaktere Abschlusskarten;
   v0.7.1 – Navigation, Arbeitszulassung, Voraussetzungen,
   Unterstützung und Schulungsübersicht
   ========================================================= */

/* Arbeitszulassung im Desktop-Menüband */
.work-approval-status{
  appearance:none;
  min-height:44px;
  max-width:310px;
  display:grid;
  grid-template-columns:12px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:7px 12px;
  border:1px solid var(--ra-line);
  border-radius:12px;
  text-align:left;
  background:#f8fbfc;
  color:var(--ra-text);
  box-shadow:none;
}
.work-approval-status[hidden]{display:none!important}
.work-approval-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 4px rgba(38,68,82,.06)}
.work-approval-copy{min-width:0;display:block}
.work-approval-copy small{display:block;font-size:.58rem;font-weight:760;line-height:1.05;color:#6f8491;white-space:nowrap}
.work-approval-copy strong{display:block;margin-top:3px;font-size:.69rem;font-weight:840;line-height:1.12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.work-approval-status[data-status="green"]{background:#f0f8f3;border-color:#d7eadf}
.work-approval-status[data-status="yellow"]{background:#fff9e9;border-color:#f1e3b7}
.work-approval-status[data-status="red"]{background:#fff1f2;border-color:#efd2d5}
.work-approval-dot[data-status="green"]{background:#5ba879}
.work-approval-dot[data-status="yellow"]{background:#d4a13a}
.work-approval-dot[data-status="red"]{background:#cb6a72}
.work-approval-status[data-status="green"] .work-approval-copy strong{color:#356d4a}
.work-approval-status[data-status="yellow"] .work-approval-copy strong{color:#8b681f}
.work-approval-status[data-status="red"] .work-approval-copy strong{color:#954852}

/* Handlungsbedarf ist auf Desktop wieder die erste sichtbare Rubrik. */
@media(min-width:821px){
  #todoPanel{display:block!important;margin:0 0 var(--ra-section-gap)!important}
  #todoPanel[hidden]{display:none!important}
  #importantSection{display:none!important}
  .top-nav{grid-template-columns:minmax(150px,190px) auto minmax(260px,1fr) auto!important}
  .top-status{justify-content:flex-end!important}
  .support-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}

  /* Ansprechpartner:innen bleibt als eigener fester Button unten links. */
  .contacts-fab{
    display:flex!important;
    left:18px!important;
    bottom:18px!important;
    background:#fff!important;
    border:1px solid var(--ra-line)!important;
    box-shadow:0 8px 22px rgba(22,52,76,.10)!important;
  }

  /* Persönliche Schulungsübersicht: 2 + 2 + 1 Felder im 5er-Raster. */
  .cp2-training-overview{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:var(--ra-grid-gap)!important;
    margin-bottom:var(--ra-grid-gap)!important;
  }
  .cp2-training-overview>.cp2-training-card:nth-child(1){grid-column:span 2}
  .cp2-training-overview>.cp2-training-card:nth-child(2){grid-column:span 2}
  .cp2-training-overview>.cp2-training-card:nth-child(3){grid-column:span 1}
  .cp2-training-card{min-height:var(--ra-tile-h)!important;height:var(--ra-tile-h)!important}
  .cp2-training-card-completed{padding-right:44px!important}

  /* Vier Voraussetzungen als 2x2 Raster. */
  .cp2-requirement-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Voraussetzungen: deutlich hellere, pastellige Statusflächen. */
.cp2-requirements-intro{
  max-width:860px;
  margin:0 0 22px;
  color:#58717f;
  font-size:.98rem;
  line-height:1.62;
}
.cp2-cockpit-hero{border:1px solid transparent}
.cp2-cockpit-hero[data-status="green"]{background:#f0f8f3;border-color:#dbece1}
.cp2-cockpit-hero[data-status="yellow"]{background:#fff9ea;border-color:#f2e6bf}
.cp2-cockpit-hero[data-status="red"]{background:#fff2f3;border-color:#efd8da}
.cp2-requirements-panel{margin-top:16px}
.cp2-requirement-grid{display:grid;grid-template-columns:1fr;gap:14px}
.cp2-requirement-card{
  min-height:152px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:7px;
  padding:19px;
  border:1px solid #e3ecef;
  border-radius:19px;
  background:#f7fafb;
}
.cp2-requirement-card[data-status="green"]{background:#f1f9f4;border-color:#dcece2}
.cp2-requirement-card[data-status="yellow"]{background:#fff9eb;border-color:#f1e5bd}
.cp2-requirement-card[data-status="red"]{background:#fff2f3;border-color:#efd7da}
.cp2-requirement-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}
.cp2-requirement-dot{width:11px;height:11px;border-radius:50%;flex:0 0 11px}
.cp2-requirement-dot[data-status="green"]{background:#63aa7d}
.cp2-requirement-dot[data-status="yellow"]{background:#d2a039}
.cp2-requirement-dot[data-status="red"]{background:#c96a72}
.cp2-requirement-card>strong{font-size:1.02rem;color:#244656;line-height:1.28}
.cp2-requirement-card>span:not(.cp2-status-pill){color:#667d89;font-size:.88rem;line-height:1.48}
.cp2-requirement-card .cp2-status-pill{background:rgba(255,255,255,.62);color:#4f6773;border:1px solid rgba(255,255,255,.78);box-shadow:none}
.cp2-requirement-card[data-status="green"] .cp2-status-pill{color:#3b7652}
.cp2-requirement-card[data-status="yellow"] .cp2-status-pill{color:#88661f}
.cp2-requirement-card[data-status="red"] .cp2-status-pill{color:#944852}

/* Schulungsfarben und kompakte Abschlusskarten */
.cp2-training-overview>.cp2-training-card:nth-child(1){background:#fff1f2;border-color:#efd9dc}
.cp2-training-overview>.cp2-training-card:nth-child(2){background:#eef8fc;border-color:#d6eaf2}
.cp2-training-overview>.cp2-training-card:nth-child(3){background:#eef8f1;border-color:#d7eadc}
.cp2-training-overview>.cp2-training-card:nth-child(1)>strong{color:#a7505b}
.cp2-training-overview>.cp2-training-card:nth-child(2)>strong{color:#367f9a}
.cp2-training-overview>.cp2-training-card:nth-child(3)>strong{color:#4c8662}
.cp2-course-card.mandatory{background:#fff1f2;border:1px solid #efd9dc}
.cp2-course-card.completed{background:#eef8f1;border:1px solid #d7eadc}
.cp2-completed-result-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-top:12px}
.cp2-metrics-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.cp2-metrics-row>span{display:grid;gap:3px;padding:10px 12px;border-radius:13px;background:rgba(255,255,255,.72);color:#72858f;font-size:.75rem}
.cp2-metrics-row strong{color:#245566;font-size:1rem}
.cp2-certificate-button{margin:0;white-space:nowrap;align-self:stretch;min-height:54px}
.cp2-course-card.completed>p{margin-bottom:8px}

@media(max-width:1180px) and (min-width:821px){
  .work-approval-status{max-width:250px;padding-left:10px;padding-right:10px}
  .work-approval-copy small{font-size:.54rem}
  .work-approval-copy strong{font-size:.62rem}
  .support-grid{gap:10px!important}
}

@media(max-width:820px){
  /* Start ist über das Logo erreichbar; die Bottom-Navigation enthält nur die drei Arbeitsbereiche. */
  .mobile-bottom-nav{grid-template-columns:repeat(3,1fr)!important}
  .cp2-training-overview{grid-template-columns:1fr!important}
  .cp2-training-overview>.cp2-training-card{grid-column:auto!important;height:auto!important;min-height:108px!important}
  .cp2-requirement-grid{grid-template-columns:1fr!important}
  .cp2-completed-result-row{grid-template-columns:1fr}
  .cp2-metrics-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cp2-certificate-button{width:100%;min-height:48px}
}
@media(max-width:480px){
  .cp2-metrics-row{grid-template-columns:1fr}
}

/* v0.8.0-cp3: Lernplayer */
.cp3-player{display:grid;gap:18px}
.cp3-demo-banner{padding:12px 15px;border:1px solid #efdca8;border-radius:14px;background:#fff8df;color:#6d5a24;font-size:.9rem;line-height:1.45}
.cp3-course-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end}
.cp3-course-head>div{min-width:0}.cp3-course-head span{display:block;margin-bottom:4px;color:#71858f;font-size:.76rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.cp3-course-head h2{margin:0;color:var(--ra-navy);font-size:clamp(1.3rem,2vw,1.75rem)}.cp3-course-head>strong{white-space:nowrap;color:#416d78;font-size:.92rem}
.cp3-course-progress{height:8px;border-radius:999px;background:#e9f0f2;overflow:hidden}.cp3-course-progress>span{display:block;height:100%;border-radius:inherit;background:var(--ra-corporate);transition:width .2s ease}
.cp3-stepper{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.cp3-step{appearance:none;border:1px solid #dce8eb;background:#f5f9fa;border-radius:12px;min-height:42px;color:#68808a;font-weight:760;cursor:pointer}.cp3-step.completed{background:#eef8f1;border-color:#d7eadc;color:#4c8662}.cp3-step.active{outline:2px solid rgba(36,198,211,.26);border-color:#89dce3;background:#eefbfc;color:#116d76}.cp3-step.locked{opacity:.45;cursor:not-allowed}
.cp3-learning-page{padding:clamp(20px,3vw,30px);border:1px solid rgba(26,55,65,.09);border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(30,72,96,.06)}.cp3-page-kicker{color:#64808a;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.cp3-learning-page>h2{margin:5px 0 7px;color:var(--ra-navy);font-size:clamp(1.55rem,2.4vw,2.05rem)}.cp3-page-lead{margin-top:0!important;color:#506c78!important;font-size:1.02rem!important;font-weight:640}.cp3-learning-page>p{max-width:900px;line-height:1.68;color:#38586d}
.cp3-reading-status{display:inline-flex;align-items:center;gap:8px;margin:10px 0 20px;padding:8px 11px;border-radius:999px;background:#fff4df;color:#8a6728;font-size:.82rem;font-weight:740}.cp3-reading-status.ready{background:#edf8f0;color:#487d5a}
.cp3-figure{display:grid;place-items:center;gap:8px;margin:24px 0;padding:24px;border-radius:18px;background:#f4fafb}.cp3-figure img{display:block;max-width:min(360px,80%);max-height:120px;object-fit:contain}.cp3-figure figcaption{color:#6c8189;font-size:.82rem}
.cp3-interaction{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:20px 0;padding:16px;border:1px solid #dce7ea;border-radius:17px;background:#f6f9fa}.cp3-interaction.done{background:#eef8f1;border-color:#d7eadc}.cp3-interaction>div{display:grid;gap:3px}.cp3-interaction span{color:#687d86;font-size:.84rem}
.cp3-ack{display:flex;gap:12px;align-items:flex-start;margin:18px 0;padding:16px;border:1px solid #dce7ea;border-radius:17px;background:#f7fafb;cursor:pointer}.cp3-ack.done{background:#eef8f1;border-color:#d7eadc}.cp3-ack input{margin-top:3px;width:18px;height:18px;accent-color:var(--ra-corporate)}.cp3-ack span{line-height:1.5}
.cp3-question{margin:24px 0;padding:20px;border:1px solid #dce7ea;border-radius:19px;background:#f8fbfc}.cp3-question.completed{background:#f2faf4;border-color:#d7eadc}.cp3-question-label,.cp3-question-state{display:inline-flex;margin-bottom:8px;color:#2f7782;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.cp3-question-state{color:#4b815d}.cp3-question h3{margin:0 0 8px;color:#173f4b;font-size:1.08rem}.cp3-question>p{margin:0 0 14px;color:#657c85}.cp3-question-form{display:grid;gap:10px}.cp3-option{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border:1px solid #dde8ea;border-radius:14px;background:#fff;cursor:pointer}.cp3-option:hover{border-color:#b9dfe4}.cp3-option input{margin-top:2px;accent-color:var(--ra-corporate)}
.cp3-feedback{margin-top:14px;padding:13px 14px;border-radius:14px}.cp3-feedback.correct{background:#eaf7ee;color:#366849}.cp3-feedback.incorrect{background:#fff0f1;color:#854b53}.cp3-feedback strong{display:block;margin-bottom:3px}.cp3-feedback p{margin:0;line-height:1.5}.cp3-reference-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.cp3-reference-list button{appearance:none;border:1px solid currentColor;border-radius:999px;background:rgba(255,255,255,.56);padding:6px 9px;color:inherit;font-size:.77rem;cursor:pointer}
.cp3-match-mode{display:inline-flex;gap:3px;padding:3px;border-radius:11px;background:#eaf1f3}.cp3-match-mode button{appearance:none;border:0;border-radius:9px;background:transparent;padding:7px 10px;color:#607983;font-weight:720;cursor:pointer}.cp3-match-mode button.active{background:#fff;color:#236f7a;box-shadow:0 2px 8px rgba(30,72,96,.08)}.cp3-matching-drag{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:14px;margin:14px 0}.cp3-match-source,.cp3-match-targets{display:grid;gap:8px}.cp3-drag-item{appearance:none;border:1px solid #cfe1e5;border-radius:12px;background:#fff;padding:10px 12px;color:#315965;text-align:left;cursor:grab}.cp3-drop-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);gap:10px;align-items:center;padding:9px;border:1px solid #dbe7e9;border-radius:13px;background:#fff}.cp3-drop-row.over{border-color:#70d2db;background:#eefbfc}.cp3-drop-zone{min-height:38px;display:flex;align-items:center;padding:8px;border:1px dashed #b8ccd1;border-radius:9px;color:#70858d;font-size:.84rem}.cp3-matching-selects{display:grid;gap:10px;margin:14px 0}.cp3-matching-selects label{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.2fr);align-items:center;gap:10px}.cp3-matching-selects select{min-height:44px;border:1px solid #cfdee1;border-radius:11px;background:#fff;padding:0 10px;color:#264c57}
.cp3-video-block{display:grid;gap:10px;margin:22px 0;padding:16px;border:1px solid #dce7ea;border-radius:18px;background:#f5f9fa}.cp3-video-block.done{background:#eef8f1;border-color:#d7eadc}.cp3-video-copy{display:grid;gap:3px}.cp3-video-copy span,.cp3-video-block small{color:#667d86}.cp3-video-block video{display:block;width:min(100%,720px);max-height:405px;border-radius:14px;background:#e9f5f6}
.cp3-page-end{display:flex;align-items:center;justify-content:center;gap:8px;margin:28px 0 14px;padding:12px;border-top:1px solid #e3ecee;color:#809096;font-size:.8rem}.cp3-page-end.reached{color:#4c8662}.cp3-page-message{margin:12px 0;padding:12px 14px;border-radius:13px;background:#fff0f1;color:#854b53}.cp3-page-actions{display:flex;justify-content:flex-end;margin-top:12px}.cp3-page-actions .detail-button{min-width:220px}
.cp3-result-card{margin:22px 0;padding:19px;border:1px solid #d7eadc;border-radius:18px;background:#eef8f1}.cp3-result-card>span{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#557963}.cp3-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:13px 0}.cp3-result-grid>div{display:grid;gap:3px;padding:13px;border-radius:14px;background:rgba(255,255,255,.68)}.cp3-result-grid strong{font-size:1.6rem;color:#3f7652}.cp3-result-grid small{color:#60786a}.cp3-result-card p{color:#5e7465}
@media(max-width:760px){.cp3-course-head{align-items:flex-start;flex-direction:column;gap:8px}.cp3-stepper{grid-template-columns:repeat(7,38px);overflow-x:auto;padding-bottom:4px}.cp3-step{min-height:38px}.cp3-interaction{align-items:flex-start;flex-direction:column}.cp3-matching-drag{grid-template-columns:1fr}.cp3-drop-row,.cp3-matching-selects label{grid-template-columns:1fr}.cp3-result-grid{grid-template-columns:1fr}.cp3-page-actions .detail-button{width:100%;min-width:0}}

/* v0.8.1-cp3: Lernplayer-Interaktion */
.cp3-scroll-sentinel{height:1px;width:100%;margin:2px 0 0;padding:0;overflow:hidden}
.cp3-page-actions{display:flex;justify-content:flex-end;margin-top:0}
.cp3-continue-button{appearance:none;width:100%;min-height:50px;border:0;border-radius:14px;background:#e3e7e9;color:#7b898f;font:inherit;font-size:.84rem;font-weight:800;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}
.cp3-continue-button.is-ready{background:var(--ra-corporate);color:#073f47;box-shadow:0 10px 24px rgba(36,198,211,.18)}
.cp3-page-message{margin:10px 0 0;padding:13px 15px;border:1px solid #ead9ab;border-radius:14px;background:#fff9e9;color:#655324}
.cp3-page-message[hidden]{display:none!important}
.cp3-page-message strong{display:block;margin-bottom:4px}
.cp3-page-message ul{margin:4px 0 0;padding-left:20px}
.cp3-feedback.incorrect>strong{color:#a43d4a}
.cp3-match-mode{display:inline-grid;grid-template-columns:1fr 1fr;justify-self:start;padding:4px;border-radius:13px;background:#e9eef0}
.cp3-match-mode button{appearance:none;border:0;border-radius:10px;background:transparent;color:#60747c;padding:8px 12px;font:inherit;font-size:.76rem;font-weight:760;cursor:pointer}
.cp3-match-mode button[aria-pressed="true"]{background:#fff;color:#164b57;box-shadow:0 3px 10px rgba(22,51,61,.08)}
.cp3-match-panel[hidden]{display:none!important}
.cp3-match-layout{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.34fr);gap:14px;align-items:start;margin:14px 0}
.cp3-match-bank,.cp3-match-target-list{display:grid;gap:10px;padding:13px;border:1px solid #dfe8ea;border-radius:16px;background:#fff;min-height:128px}
.cp3-match-bank.is-over,.cp3-dropzone.is-over{border-color:#67c7d2;background:#eefafb}
.cp3-match-column-label{color:#6b7e86;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.cp3-match-bank-items{display:grid;gap:8px}
.cp3-drag-card{padding:10px 11px;border:1px solid #cfdde0;border-radius:12px;background:#f7fbfc;color:#284a57;font-size:.82rem;font-weight:700;cursor:grab;user-select:none}
.cp3-drag-card.is-dragging{opacity:.45}
.cp3-drag-card.is-assigned{background:#eef8fc;border-color:#cde7ee}
.cp3-bank-empty{color:#7b8c92;font-size:.78rem}
.cp3-match-target-list{gap:9px}
.cp3-match-target-row{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr);gap:10px;align-items:center}
.cp3-match-target-row>strong{font-size:.82rem;color:#294957}
.cp3-dropzone{display:flex;align-items:center;min-height:50px;padding:6px;border:1px dashed #c6d7db;border-radius:12px;background:#fafcfc;transition:border-color .12s ease,background .12s ease}
.cp3-dropzone .cp3-drag-card{width:100%}
.cp3-drop-placeholder{padding:0 7px;color:#88989e;font-size:.75rem}
.cp3-select-matches{display:grid;gap:10px;margin:14px 0}
.cp3-select-match{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.2fr);gap:12px;align-items:center}
.cp3-select-match>span{font-weight:720;color:#294957}
.cp3-select-match select{width:100%;min-height:44px;border:1px solid #cfdde0;border-radius:12px;background:#fff;padding:0 12px;color:#284a57;font:inherit}
.cp3-feedback-host:empty{display:none}
.cp3-result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.cp3-certificate-action{background:#fff!important}
.cp3-reset-action{margin-left:auto}
@media(max-width:760px){
  .cp3-match-layout{grid-template-columns:1fr}
  .cp3-match-target-row,.cp3-select-match{grid-template-columns:1fr}
  .cp3-result-actions .detail-button{width:100%}
  .cp3-reset-action{margin-left:0}
}


/* v0.8.2-cp3 – abgeschlossene Schulungen in Nur-Lese-Ansicht */
.cp2-completed-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;align-items:center}
.cp3-readonly-banner{display:flex;flex-direction:column;gap:4px;margin:14px 0 18px;padding:14px 16px;border:1px solid #d7eadc;border-radius:16px;background:#eef8f1;color:#315f42}
.cp3-readonly-banner strong{font-size:.96rem}.cp3-readonly-banner span{font-size:.9rem;line-height:1.45}
.cp3-review-actions{display:flex;justify-content:flex-end;margin-top:22px}
.cp2-demo-reset-button{background:#fff;border-color:#d9e3e6;color:#60757d}
@media(max-width:760px){.cp2-completed-actions{justify-content:stretch}.cp2-completed-actions .detail-button{width:100%}.cp3-review-actions .detail-button{width:100%}}


/* v0.8.3-cp3 – Schulungsübersicht 2+1+1+1 und angefangene Schulungen */
@media(min-width:821px){
  .cp2-training-overview{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
  .cp2-training-overview>.cp2-training-card:nth-child(1){grid-column:span 2!important}
  .cp2-training-overview>.cp2-training-card:nth-child(2),
  .cp2-training-overview>.cp2-training-card:nth-child(3),
  .cp2-training-overview>.cp2-training-card:nth-child(4){grid-column:span 1!important}
}
.cp2-training-overview>.cp2-training-card:nth-child(1){background:#fff1f2!important;border-color:#efd9dc!important}
.cp2-training-overview>.cp2-training-card:nth-child(2){background:#fff8dc!important;border-color:#efe2ad!important}
.cp2-training-overview>.cp2-training-card:nth-child(3){background:#eef8fc!important;border-color:#d6eaf2!important}
.cp2-training-overview>.cp2-training-card:nth-child(4){background:#eef8f1!important;border-color:#d7eadc!important}
.cp2-training-overview>.cp2-training-card:nth-child(1)>strong{color:#a7505b!important}
.cp2-training-overview>.cp2-training-card:nth-child(2)>strong{color:#99772d!important}
.cp2-training-overview>.cp2-training-card:nth-child(3)>strong{color:#367f9a!important}
.cp2-training-overview>.cp2-training-card:nth-child(4)>strong{color:#4c8662!important}
.cp2-course-card.voluntary-started{background:#fff8dc;border:1px solid #efe2ad}
.cp2-course-card.started .cp2-course-last-viewed{margin-top:5px;margin-bottom:14px;font-size:.82rem;color:#7a8588}
.cp2-course-card.started p strong{color:#715f2b}
@media(max-width:820px){
  .cp2-training-overview>.cp2-training-card:nth-child(1),
  .cp2-training-overview>.cp2-training-card:nth-child(2),
  .cp2-training-overview>.cp2-training-card:nth-child(3),
  .cp2-training-overview>.cp2-training-card:nth-child(4){grid-column:auto!important}
}

/* v0.8.4-cp3 – kompakter Aufbau angefangener Schulungen */
.cp2-course-card.started .cp2-started-continue{margin-top:12px}
.cp2-course-card.started .cp2-started-meta{display:grid;gap:3px;margin-top:9px;color:#6f7d81;font-size:.78rem;line-height:1.35}
.cp2-course-card.started .cp2-started-meta span{display:block}
.cp2-course-card.started .cp2-started-meta strong{color:inherit;font-weight:700}
.cp2-course-card.started .cp2-course-last-viewed{margin:0;font-size:inherit;color:inherit}

/* Checkpoint 4: echte Testkonten / DB-Identitaet */
.work-approval-status[data-status="neutral"],
.cp2-cockpit-hero[data-status="neutral"],
.cp2-requirement-card[data-status="neutral"]{background:#f1f4f5;border-color:#d6dfe1;color:#304b50}
.work-approval-dot[data-status="neutral"],
.cp2-cockpit-dot[data-status="neutral"],
.cp2-requirement-dot[data-status="neutral"]{background:#8da1a5}
.cp2-status-pill[data-status="neutral"]{background:#e6ecee;color:#425d62}
.cp4-admin-nav-link{display:inline-flex;align-items:center;justify-content:center;padding:.62rem .9rem;border-radius:12px;background:#eef9fa;color:#14535c;text-decoration:none;font-weight:700;border:1px solid #c9ecef}
.cp4-check-card,.cp4-setup-card,.cp4-activation-card{max-width:720px}
.cp4-check-list{display:grid;gap:8px;margin:18px 0}.cp4-check-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#f3f6f7}.cp4-check-row b{font-size:.86rem}
.cp4-link-button{display:inline-flex;text-decoration:none;justify-content:center}
.cp4-admin-page{margin:0;background:#f4f7f8;color:#183e44;font-family:inherit;min-height:100vh}.cp4-admin-header{min-height:72px;display:flex;align-items:center;gap:16px;padding:10px clamp(18px,4vw,54px);background:#fff;border-bottom:1px solid #e1e8ea;position:sticky;top:0;z-index:10}.cp4-admin-header>a:last-child{margin-left:auto}.cp4-admin-brand img{display:block;width:150px;max-height:48px;object-fit:contain}.cp4-admin-header div{display:grid;gap:2px}.cp4-admin-header span{font-size:.82rem;color:#61767a}
.cp4-admin-shell{width:min(1180px,calc(100% - 32px));margin:28px auto 60px;display:grid;gap:22px}.cp4-admin-intro,.cp4-admin-card,.cp4-invite-result{background:#fff;border:1px solid #e1e8ea;border-radius:20px;padding:clamp(20px,3vw,32px);box-shadow:0 10px 30px rgba(20,83,92,.05)}.cp4-admin-intro h1,.cp4-admin-card h2,.cp4-invite-result h2{margin-top:0}.cp4-admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cp4-admin-form label{display:grid;gap:6px;font-weight:700}.cp4-admin-form input,.cp4-copy-row input{width:100%;box-sizing:border-box;border:1px solid #cad6d8;border-radius:12px;padding:12px;background:#fff;font:inherit}.cp4-form-actions{grid-column:1/-1}.cp4-copy-row{display:grid;grid-template-columns:1fr auto;gap:10px}.cp4-copy-row button,.cp4-table-action{border:0;border-radius:10px;padding:10px 14px;background:#e4f7f9;color:#14535c;font-weight:800;cursor:pointer}.cp4-invite-result{background:#f0fbfc;border-color:#bfe9ed}.cp4-account-table-wrap{overflow:auto}.cp4-account-table{width:100%;border-collapse:collapse;min-width:850px}.cp4-account-table th,.cp4-account-table td{text-align:left;padding:12px;border-bottom:1px solid #e6edef;vertical-align:middle}.cp4-account-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf2f3;font-size:.82rem;font-weight:800}.cp4-account-status[data-status="active"]{background:#e5f7ec;color:#27633c}.cp4-account-status[data-status="pending"]{background:#fff2cf;color:#765a0b}.cp4-account-status[data-status="disabled"]{background:#fde7e8;color:#8b3338}
@media(max-width:760px){.cp4-admin-form{grid-template-columns:1fr}.cp4-copy-row{grid-template-columns:1fr}.cp4-admin-header{align-items:flex-start;flex-wrap:wrap}.cp4-admin-header>a:last-child{margin-left:0}}

.cp4-admin-header-actions{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}.cp4-admin-header-actions a{white-space:nowrap}

/* Checkpoint 4 phase 3: administration of deployment requirements */
.cp4-requirements-admin-shell{max-width:1280px}.cp4-section-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.cp4-section-heading h2{margin-bottom:.35rem}.cp4-section-heading p{margin:0;color:#657a7e}.cp4-requirement-employee-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cp4-requirement-employee-card{display:grid;gap:5px;padding:16px 18px;border:1px solid #dfe8ea;border-radius:15px;background:#fbfdfd;color:#193f45;text-decoration:none}.cp4-requirement-employee-card strong{font-size:1rem}.cp4-requirement-employee-card span{color:#6a7e82;font-size:.88rem}.cp4-requirement-employee-card em{font-style:normal;font-size:.84rem;font-weight:800}.cp4-requirement-employee-card[data-status="green"] em{color:#34724a}.cp4-requirement-employee-card[data-status="yellow"] em{color:#8a6a12}.cp4-requirement-employee-card[data-status="red"] em{color:#9a4149}.cp4-requirement-employee-card.is-selected{border-color:#70d2dc;box-shadow:0 0 0 2px rgba(36,198,211,.12);background:#f3fcfd}.cp4-requirements-person-head{display:flex;align-items:center;justify-content:space-between;gap:24px}.cp4-requirements-person-head h2{margin:.15rem 0}.cp4-requirements-person-head p{margin:.2rem 0;color:#647a7e}.cp4-requirement-overall{min-width:280px;border-radius:16px;padding:14px 18px;display:grid;gap:3px;border:1px solid #dfe8ea;background:#f2f6f6}.cp4-requirement-overall span{font-size:.78rem;color:#697d81;font-weight:700}.cp4-requirement-overall strong{font-size:.98rem}.cp4-requirement-overall[data-status="green"]{background:#edf8f1;border-color:#cee8d6;color:#2f6b43}.cp4-requirement-overall[data-status="yellow"]{background:#fff8dc;border-color:#efdfa3;color:#7a5c0b}.cp4-requirement-overall[data-status="red"]{background:#fff0f1;border-color:#f0cdd0;color:#914149}.cp4-requirements-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cp4-requirement-admin-card{margin:0;display:grid;gap:18px;border-width:1px}.cp4-requirement-admin-card[data-status="green"]{border-color:#cee8d6}.cp4-requirement-admin-card[data-status="yellow"]{border-color:#efdfa3}.cp4-requirement-admin-card[data-status="red"]{border-color:#f0cdd0}.cp4-requirement-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.cp4-requirement-card-head h2{margin:.2rem 0 0}.cp4-requirement-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;background:#edf2f3;font-size:.8rem;font-weight:800;white-space:nowrap}.cp4-requirement-pill[data-status="green"]{background:#e8f6ed;color:#326d46}.cp4-requirement-pill[data-status="yellow"]{background:#fff4cc;color:#7a5c0b}.cp4-requirement-pill[data-status="red"]{background:#fde9eb;color:#904149}.cp4-requirement-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.cp4-requirement-facts div{padding:12px;border-radius:12px;background:#f7f9fa}.cp4-requirement-facts dt{font-size:.74rem;text-transform:uppercase;letter-spacing:.045em;color:#71868a;font-weight:800}.cp4-requirement-facts dd{margin:.3rem 0 0;font-weight:700;color:#294e54}.cp4-manual-evidence-panel{border-top:1px solid #e7edef;padding-top:16px}.cp4-manual-evidence-panel h3{margin:0 0 12px}.cp4-evidence-form{display:grid;grid-template-columns:1fr 180px;gap:12px;align-items:end}.cp4-evidence-form label{display:grid;gap:6px;font-weight:700}.cp4-evidence-form select,.cp4-evidence-form input{width:100%;box-sizing:border-box;border:1px solid #cad6d8;border-radius:12px;padding:11px 12px;background:#fff;font:inherit}.cp4-evidence-actions{grid-column:1/-1}.cp4-evidence-actions .primary-button{width:auto;min-width:180px}.cp4-current-evidence{margin:14px 0 8px;color:#4d666b}.cp4-revoke-form{margin-top:8px}.cp4-secondary-danger{border:1px solid #e7b7bc;background:#fff5f5;color:#9a4149;border-radius:10px;padding:9px 12px;font-weight:800;cursor:pointer}.cp4-auto-evidence-note{display:grid;gap:4px;padding:14px;border-radius:12px;background:#f3f7f8;color:#476268}.cp4-auto-evidence-note strong{color:#214a51}.cp4-empty-requirements{grid-column:1/-1}.form-alert.success{background:#edf8f1;border:1px solid #cee8d6;color:#2f6b43;padding:14px 16px;border-radius:14px}
@media(max-width:900px){.cp4-requirement-employee-grid,.cp4-requirements-grid{grid-template-columns:1fr}.cp4-requirements-person-head{align-items:stretch;flex-direction:column}.cp4-requirement-overall{min-width:0}.cp4-evidence-form{grid-template-columns:1fr}.cp4-requirement-facts{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.cp4-requirement-facts{grid-template-columns:1fr}.cp4-requirement-card-head{flex-direction:column}.cp4-requirement-pill{white-space:normal;text-align:left}.cp4-requirement-employee-grid{grid-template-columns:1fr}}

/* v0.9.6 CP4 Phase 4 – skalierbare Mitarbeiter:innenverwaltung */
.cp4-employee-directory-card{overflow:hidden}.cp4-result-count{font-size:.84rem;color:#527178;white-space:nowrap}.cp4-directory-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) 210px auto;gap:12px;align-items:end;margin:18px 0 12px}.cp4-directory-search,.cp4-directory-sort,.cp4-directory-filters label{display:grid;gap:6px;font-weight:750;font-size:.78rem;color:#365b62}.cp4-directory-search input,.cp4-directory-sort select,.cp4-directory-filters select{width:100%;box-sizing:border-box;border:1px solid #cad6d8;border-radius:12px;padding:11px 12px;background:#fff;color:#183e44;font:inherit}.cp4-directory-search input:focus,.cp4-directory-sort select:focus,.cp4-directory-filters select:focus{outline:none;border-color:#24c6d3;box-shadow:0 0 0 3px rgba(36,198,211,.12)}.cp4-filter-toggle,.cp4-filter-actions button{border:1px solid #b9dfe3;border-radius:12px;background:#eefafb;color:#14535c;padding:11px 15px;font-weight:800;cursor:pointer}.cp4-filter-toggle.is-active{background:#dff7f9}.cp4-directory-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:15px;border:1px solid #dce8ea;border-radius:14px;background:#f7fbfb;margin-bottom:16px}.cp4-filter-actions{display:flex;align-items:end}.cp4-filter-actions button{width:100%;background:#fff}.cp4-employee-table-wrap{overflow-x:auto}.cp4-employee-table{width:100%;border-collapse:collapse;min-width:1000px}.cp4-employee-table th{font-size:.73rem;text-transform:uppercase;letter-spacing:.045em;color:#6d8286;font-weight:850;background:#f6f9fa}.cp4-employee-table th,.cp4-employee-table td{text-align:left;padding:13px 12px;border-bottom:1px solid #e5edef;vertical-align:middle}.cp4-employee-table tbody tr{transition:background .15s ease}.cp4-employee-table tbody tr:hover{background:#f8fcfc}.cp4-employee-table tbody tr.is-selected{background:#eefbfc;box-shadow:inset 3px 0 0 #24c6d3}.cp4-employee-table td{font-size:.84rem}.cp4-employee-table td>span,.cp4-employee-table td>small{display:block;margin-top:4px;color:#71858a;font-size:.76rem}.cp4-employee-name{font-weight:850;color:#183e44;text-decoration:none}.cp4-employee-name:hover{text-decoration:underline}.cp4-row-open{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:8px 11px;background:#e5f8fa;color:#14535c;font-weight:800;text-decoration:none}.cp4-directory-empty{padding:22px;text-align:center;color:#6b7f83}.cp4-detail-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:-6px 0 0}.cp4-detail-tabs a{display:inline-flex;padding:9px 13px;border-radius:999px;border:1px solid #d8e5e7;background:#fff;color:#28535a;text-decoration:none;font-weight:800;font-size:.8rem}.cp4-detail-tabs a:hover{border-color:#24c6d3}.cp4-history-card{scroll-margin-top:92px}.cp4-requirements-grid{scroll-margin-top:92px}.cp4-history-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:0}.cp4-history-item{position:relative;display:grid;grid-template-columns:18px 1fr;gap:12px;padding:0 0 18px}.cp4-history-item:not(:last-child):before{content:"";position:absolute;left:7px;top:18px;bottom:0;width:2px;background:#e3ecee}.cp4-history-dot{width:14px;height:14px;margin-top:5px;border-radius:50%;background:#24c6d3;box-shadow:0 0 0 4px #ecfafb;position:relative;z-index:1}.cp4-history-item[data-kind="evidence_revoked"] .cp4-history-dot{background:#b6545d;box-shadow:0 0 0 4px #fff0f1}.cp4-history-item[data-kind="recurrence_scheduled"] .cp4-history-dot{background:#d4a62a;box-shadow:0 0 0 4px #fff8dc}.cp4-history-body{padding:12px 14px;border-radius:13px;background:#f8fafb}.cp4-history-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.cp4-history-title time{font-size:.74rem;color:#73878b;white-space:nowrap}.cp4-history-body p{margin:5px 0;color:#405f65}.cp4-history-body>span{font-size:.74rem;color:#73878b}.cp4-history-empty{color:#6d8084}.cp4-audit-details{margin-top:22px;border-top:1px solid #e4edef;padding-top:18px}.cp4-audit-details summary{cursor:pointer;font-weight:850;color:#244d54}.cp4-audit-list{display:grid;gap:8px;margin-top:12px}.cp4-audit-row{display:grid;grid-template-columns:145px minmax(0,1fr) minmax(160px,.6fr);gap:12px;padding:10px 12px;border-radius:10px;background:#f7f9fa;font-size:.78rem}.cp4-audit-row time,.cp4-audit-row span{color:#71858a}.cp4-requirement-facts{grid-template-columns:repeat(3,minmax(0,1fr))}

@media(max-width:980px){.cp4-directory-toolbar{grid-template-columns:1fr 190px auto}.cp4-directory-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.cp4-requirement-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.cp4-directory-toolbar{grid-template-columns:1fr}.cp4-filter-toggle{width:100%}.cp4-directory-filters{grid-template-columns:1fr}.cp4-employee-table-wrap{overflow:visible}.cp4-employee-table{min-width:0;border-collapse:separate;border-spacing:0 10px}.cp4-employee-table thead{display:none}.cp4-employee-table tbody,.cp4-employee-table tr,.cp4-employee-table td{display:block;width:100%;box-sizing:border-box}.cp4-employee-table tbody tr.cp4-employee-row{border:1px solid #dfe8ea;border-radius:15px;background:#fff;overflow:hidden;padding:8px 13px}.cp4-employee-table tbody tr.cp4-employee-row.is-selected{box-shadow:inset 3px 0 0 #24c6d3;background:#f3fcfd}.cp4-employee-table td{display:grid;grid-template-columns:minmax(108px,36%) 1fr;gap:10px;padding:8px 0;border:0;border-bottom:1px solid #edf2f3;align-items:start}.cp4-employee-table td:last-child{border-bottom:0}.cp4-employee-table td:before{content:attr(data-label);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#74888c;font-weight:850}.cp4-employee-table td[data-label=""]:before{display:none}.cp4-employee-table td[data-label=""]{display:block;padding-top:11px}.cp4-row-open{width:100%;box-sizing:border-box}.cp4-history-title{display:grid}.cp4-audit-row{grid-template-columns:1fr}.cp4-requirement-facts{grid-template-columns:1fr}}
@media(max-width:760px){.cp4-account-table-wrap:has(.cp4-responsive-admin-table){overflow:visible}.cp4-responsive-admin-table{min-width:0;border-collapse:separate;border-spacing:0 10px}.cp4-responsive-admin-table thead{display:none}.cp4-responsive-admin-table tbody,.cp4-responsive-admin-table tr,.cp4-responsive-admin-table td{display:block;width:100%;box-sizing:border-box}.cp4-responsive-admin-table tbody tr{border:1px solid #dfe8ea;border-radius:15px;background:#fff;overflow:hidden;padding:8px 13px}.cp4-responsive-admin-table td{display:grid;grid-template-columns:minmax(112px,38%) 1fr;gap:10px;padding:8px 0;border:0;border-bottom:1px solid #edf2f3;align-items:start}.cp4-responsive-admin-table td:last-child{border-bottom:0}.cp4-responsive-admin-table td:before{content:attr(data-label);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#74888c;font-weight:850}.cp4-responsive-admin-table .cp4-table-action{width:100%}}


/* v0.9.7 CP4 Phase 4.1 – Fristlogik und vollflächig anklickbare Mitarbeiter:innen */
.cp4-employee-table tbody tr.cp4-employee-row{cursor:pointer}
.cp4-employee-table tbody tr.cp4-employee-row:focus{outline:3px solid rgba(36,198,211,.28);outline-offset:-3px;background:#f3fcfd}
.cp4-deadline-extension-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 4px;padding:12px 14px;border:1px solid #dce8ea;border-radius:13px;background:#f8fbfb}
.cp4-deadline-extension-button{border:0;border-radius:11px;padding:10px 14px;background:#e4f7f9;color:#14535c;font-weight:850;cursor:pointer}
.cp4-deadline-extension-button:hover,.cp4-deadline-extension-button:focus-visible{background:#d5f3f6;outline:none;box-shadow:0 0 0 3px rgba(36,198,211,.14)}
.cp4-deadline-extension-form span{font-size:.78rem;color:#6f8387}
.cp4-history-item[data-kind="deadline_extended"] .cp4-history-dot{background:#087d8d;box-shadow:0 0 0 4px #e7f8fa}
@media(max-width:760px){.cp4-deadline-extension-form{display:grid}.cp4-deadline-extension-button{width:100%}}

/* v0.9.8 CP4 – ortsfeste Aktionsrueckmeldungen in Administration */
.cp4-action-feedback{margin:9px 0 0;padding:9px 11px;border-radius:10px;font-size:.78rem;line-height:1.4;max-width:38rem}
.cp4-action-feedback.success{background:#edf8f1;border:1px solid #cee8d6;color:#2f6b43}
.cp4-action-feedback.error{background:#fff0f1;border:1px solid #f0cdd0;color:#914149}
.cp4-action-feedback strong,.cp4-action-feedback span{display:block}.cp4-action-feedback strong+span{margin-top:3px}
.cp4-deadline-extension-form .cp4-action-feedback{flex-basis:100%;width:100%;box-sizing:border-box}
.cp4-evidence-form .cp4-action-feedback{grid-column:1/-1}
.cp4-revoke-form .cp4-action-feedback{width:min(100%,38rem);box-sizing:border-box}
.cp4-action-result{margin-top:14px;padding:13px 14px;border:1px solid #bfe9ed;border-radius:13px;background:#f0fbfc;color:#214a51}
.cp4-action-result>strong{display:block;margin-bottom:5px}.cp4-action-result p{margin:.35rem 0}.cp4-action-result label{display:block;margin:.55rem 0 .3rem;font-weight:800}
.cp4-action-result.compact{margin-top:8px;min-width:min(360px,70vw);font-size:.8rem}
.cp4-action-result.compact .cp4-copy-row{margin-top:7px;grid-template-columns:minmax(180px,1fr) auto}
.cp4-responsive-admin-table form .cp4-action-feedback{max-width:320px}
@media(max-width:760px){.cp4-action-result.compact{min-width:0;width:100%;box-sizing:border-box}.cp4-action-result.compact .cp4-copy-row{grid-template-columns:1fr}.cp4-action-feedback{max-width:none}.cp4-deadline-extension-form .cp4-action-feedback{width:100%}}

/* v0.10.0-cp4: monthly staffing / team profiles */
.staffing-shell{max-width:1760px}
.staffing-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px;padding:0 4px}
.staffing-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #dce9ec;border-radius:999px;background:#fff;color:#244052;text-decoration:none;font-weight:800}
.staffing-tabs a.active{background:#e7f8fa;border-color:#9edfe5;color:#126f7b}
.staffing-table .staffing-click-row{cursor:pointer}
.staffing-table .staffing-click-row:hover,.staffing-table .staffing-click-row:focus{background:#eefafd;outline:2px solid transparent}
.staffing-badge{display:inline-flex;align-items:center;min-height:32px;padding:5px 10px;border-radius:999px;font-weight:800;white-space:nowrap}
.staffing-badge.green{background:#eaf7ec;color:#35734b}
.staffing-badge.yellow{background:#fff6d7;color:#876a16}
.staffing-badge.red{background:#fdebed;color:#a43e4a}
.staffing-create-panel{margin:18px 0 22px;border:1px solid #dce9ec;border-radius:18px;background:#f9fcfd;padding:14px 16px}
.staffing-create-panel>summary{cursor:pointer;font-weight:800;color:#164f59}
.staffing-create-panel[open]>summary{margin-bottom:14px}
.staffing-date-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.staffing-date-form label{display:grid;gap:6px;font-weight:700}
.staffing-date-form input,.staffing-date-form button{min-height:42px;border:1px solid #d5e2e5;border-radius:12px;padding:8px 12px;background:#fff}
.staffing-date-form button{font-weight:800;cursor:pointer}
.staffing-need-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.staffing-need-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;border-radius:18px;border:1px solid #dfe9eb;text-decoration:none;color:#203c4f;background:#fff}
.staffing-need-card>div{display:grid;gap:5px}.staffing-need-card span{color:#6a7b86}.staffing-need-card b{font-size:1.15rem;white-space:nowrap}
.staffing-need-card.is-open{background:#fff3f4;border-color:#f0c8cc}.staffing-need-card.is-open b{color:#a83a48}
.staffing-need-card.is-covered{background:#f1faf3;border-color:#cce7d1}.staffing-need-card.is-covered b{color:#3f7c52}
.employee-detail-head,.team-profile-head{display:flex;justify-content:space-between;align-items:flex-start;gap:28px}
.employee-detail-head h1,.team-profile-head h1{margin:.2rem 0 .4rem;font-size:clamp(2rem,4vw,4rem);line-height:1}
.employee-hours-summary,.team-need-summary{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;min-width:min(680px,55%)}
.employee-hours-summary>div,.team-need-summary>div{display:grid;gap:5px;padding:15px 17px;border-radius:16px;background:#f4f8f9;border:1px solid #e1ebed}
.employee-hours-summary span,.team-need-summary span{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#667c87;font-weight:800}
.employee-hours-summary strong,.team-need-summary strong{font-size:1.1rem;color:#1c3d4c}
.employee-hours-summary .is-red,.team-need-summary .is-red{background:#fff0f1;border-color:#f1c7cb}.employee-hours-summary .is-red strong,.team-need-summary .is-red strong{color:#a83a48}
.employee-hours-summary .is-yellow{background:#fff8df;border-color:#eadb9d}.employee-hours-summary .is-yellow strong{color:#846b1e}
.employee-hours-summary .is-green,.team-need-summary .is-green{background:#eff9f1;border-color:#cce7d1}.employee-hours-summary .is-green strong,.team-need-summary .is-green strong{color:#3f7c52}
.staffing-inline-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.staffing-inline-form label{display:grid;gap:6px;font-weight:800;color:#314f5d}.staffing-inline-form input,.staffing-inline-form select{min-height:44px;border:1px solid #d4e1e4;border-radius:12px;padding:8px 11px;background:#fff;min-width:180px}.staffing-inline-form button{min-height:44px}
.staffing-inline-form.compact{margin-top:12px}.staffing-inline-form.compact input{min-width:150px}
.staffing-next-note{margin:14px 0 0;padding:12px 14px;border-radius:14px;background:#edf8fa;color:#31515e}
.staffing-allocation-list{display:grid;gap:12px}.staffing-allocation-card{padding:16px;border:1px solid #e0eaec;border-radius:18px;background:#fbfdfd}.staffing-allocation-main{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:14px;align-items:center}.staffing-allocation-main>div{display:grid;gap:3px}.staffing-allocation-main span,.staffing-allocation-main small{color:#6d7f89}.staffing-allocation-main b{font-size:1.1rem}
.staffing-timeline{display:grid;gap:10px}.staffing-timeline>div{display:grid;grid-template-columns:130px repeat(3,minmax(130px,1fr));gap:10px;align-items:center;padding:13px 15px;border-radius:14px;background:#f7fafb;border:1px solid #e3ecee}.staffing-timeline time{font-weight:800}.staffing-timeline .danger{color:#a83a48}
.staffing-mini-form{display:grid;grid-template-columns:110px 145px auto;gap:7px;align-items:center}.staffing-mini-form input{width:100%;min-height:38px;border:1px solid #d5e1e4;border-radius:10px;padding:6px 8px}.staffing-mini-form button{min-height:38px;border:0;border-radius:10px;padding:7px 11px;background:#dff4f7;color:#165b66;font-weight:800;cursor:pointer}.staffing-mini-form .cp4-action-feedback{grid-column:1/-1;margin:4px 0 0}
.cp4-history-item.is-muted{opacity:.62}

@media (max-width:980px){
  .staffing-need-grid{grid-template-columns:1fr}
  .employee-detail-head,.team-profile-head{display:grid}
  .employee-hours-summary,.team-need-summary{min-width:0;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
  .staffing-allocation-main{grid-template-columns:1fr auto}.staffing-allocation-main small{grid-column:1/-1}
  .staffing-timeline>div{grid-template-columns:1fr 1fr}.staffing-timeline time{grid-column:1/-1}
}
@media (max-width:720px){
  .employee-hours-summary,.team-need-summary{grid-template-columns:1fr}
  .staffing-tabs{display:grid;grid-template-columns:1fr}
  .staffing-inline-form,.staffing-inline-form.compact{display:grid;grid-template-columns:1fr}.staffing-inline-form input,.staffing-inline-form select{min-width:0;width:100%}
  .staffing-mini-form{grid-template-columns:1fr}.staffing-mini-form .cp4-action-feedback{grid-column:auto}
  .staffing-need-card{align-items:flex-start;display:grid}
  .staffing-allocation-main{display:grid;grid-template-columns:1fr}
  .staffing-timeline>div{grid-template-columns:1fr}
}

/* v0.10.1-cp4: zentrale Admin-Navigation und vereinfachte Stundenplanung */
.cp4-admin-header-actions a.active{background:#dff4f7;border-color:#9edfe5;color:#14535c}
.employee-meta-line{color:#6b7f89;font-size:.92rem}
.employee-detail-tabs{position:sticky;top:0;z-index:10;background:rgba(247,252,254,.94);backdrop-filter:blur(12px);padding:10px 0;margin:0 0 16px}
.staffing-plan-form{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) auto;gap:12px;align-items:end}
.staffing-plan-form label,.staffing-allocation-editor label{display:grid;gap:6px;font-weight:800;color:#314f5d}
.staffing-plan-form input,.staffing-allocation-editor input,.staffing-allocation-editor select{min-height:44px;border:1px solid #d4e1e4;border-radius:12px;padding:8px 11px;background:#fff;width:100%}
.staffing-plan-form .cp4-action-feedback{grid-column:1/-1;margin:0}
.employee-allocation-summary,.employee-detail-kpis,.employee-account-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}
.employee-allocation-summary>div,.employee-detail-kpis>div,.employee-account-summary>div{padding:14px 16px;border-radius:15px;background:#f5f9fa;border:1px solid #e0eaec;display:grid;gap:4px}
.employee-allocation-summary span,.employee-detail-kpis span,.employee-account-summary span{font-size:.78rem;color:#6b7f89;font-weight:700}
.employee-allocation-summary strong,.employee-detail-kpis strong,.employee-account-summary strong{font-size:1.05rem;color:#1f4550}
.employee-account-summary{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end}
.staffing-allocation-editor{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(220px,1fr) minmax(220px,1fr) minmax(170px,.8fr) auto;gap:12px;align-items:end}
.staffing-allocation-editor.compact{margin-top:14px;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(170px,.8fr) auto}
.staffing-allocation-editor.table-editor{grid-template-columns:minmax(180px,1fr);min-width:260px}
.staffing-allocation-editor .cp4-action-feedback{grid-column:1/-1;margin:0}
.hours-control{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(120px,1fr);gap:10px;align-items:end}
.hours-number-wrap{position:relative}.hours-number-wrap input{padding-right:34px}.hours-number-wrap span{position:absolute;right:11px;top:50%;transform:translateY(-50%);font-weight:800;color:#6b7f89;pointer-events:none}
.hours-slider{padding:0!important;border:0!important;min-height:36px!important;accent-color:#1bb8c9}
.allocation-client-select{min-width:210px}
.staffing-allocation-main a{text-decoration:none;color:inherit}.staffing-allocation-main a:hover{text-decoration:underline}
.staffing-need-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 18px}
.staffing-need-totals article{padding:18px 20px;border-radius:18px;border:1px solid #dce9ec;background:#fff;display:grid;gap:6px}
.staffing-need-totals span{font-size:.82rem;color:#6a7b86;font-weight:750}.staffing-need-totals strong{font-size:clamp(1.6rem,3vw,2.5rem);color:#a43e4a}
.staffing-needs-table td,.staffing-needs-table th{white-space:nowrap}
.team-profile-table td:last-child{min-width:300px}

@media (max-width:1100px){
  .staffing-plan-form{grid-template-columns:1fr 1fr}
  .staffing-allocation-editor,.staffing-allocation-editor.compact{grid-template-columns:1fr 1fr}
  .staffing-allocation-editor .primary-button,.staffing-allocation-editor>button,.staffing-allocation-editor .cp4-action-feedback{grid-column:1/-1}
  .employee-allocation-summary,.employee-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .cp4-admin-header-actions{overflow-x:auto;flex-wrap:nowrap;width:100%;padding-bottom:4px;scrollbar-width:thin}
  .cp4-admin-header-actions a{flex:0 0 auto}
  .staffing-plan-form,.staffing-allocation-editor,.staffing-allocation-editor.compact,.staffing-allocation-editor.table-editor{grid-template-columns:1fr}
  .hours-control{grid-template-columns:1fr}
  .employee-allocation-summary,.employee-detail-kpis,.employee-account-summary,.staffing-need-totals{grid-template-columns:1fr}
  .employee-detail-tabs{position:static;display:flex;overflow-x:auto;flex-wrap:nowrap}.employee-detail-tabs a{flex:0 0 auto}
  .staffing-needs-table td,.staffing-needs-table th{white-space:normal}
  .top-actions .cp4-admin-nav-link{display:none}
}

/* v0.10.2-cp4: getrenntes Backoffice + kompakte Arbeitsoberflaeche */
:root{
  --bo-page:#dfe5e7;
  --bo-panel:#cfd8dc;
  --bo-panel-soft:#d7dfe2;
  --bo-field:#bcc9ce;
  --bo-field-focus:#eef3f4;
  --bo-line:#aebdc2;
  --bo-ink:#183944;
  --bo-muted:#526b74;
  --bo-turquoise:#1bb8c9;
  --bo-turquoise-dark:#087d8d;
}
.backoffice-page{background:var(--bo-page);color:var(--bo-ink)}
.backoffice-header{
  position:sticky;top:0;z-index:80;min-height:70px;display:flex;align-items:center;gap:18px;
  padding:9px clamp(16px,2.8vw,46px);background:#fff;border-bottom:1px solid #c8d4d8;
  box-shadow:0 4px 14px rgba(28,77,84,.06)
}
.backoffice-brand{display:flex;align-items:center;flex:0 0 auto}.backoffice-brand img{width:144px;max-height:46px;object-fit:contain;display:block}
.backoffice-context{display:grid;line-height:1.1;min-width:max-content;padding-left:15px;border-left:1px solid #d1dbde}.backoffice-context strong{font-size:.94rem;color:#164c55}.backoffice-context span{font-size:.73rem;color:#6b7c82;margin-top:4px}
.backoffice-nav{margin-left:auto;display:flex;align-items:center;gap:4px;min-width:0}.backoffice-nav a{display:inline-flex;align-items:center;min-height:42px;padding:0 13px;border-radius:10px;text-decoration:none;color:#334f59;font-weight:760;font-size:.91rem;white-space:nowrap}.backoffice-nav a:hover{background:#e6eef0}.backoffice-nav a.active{background:#c8e9ed;color:#075d69}
.backoffice-shell{width:min(1500px,calc(100% - 34px));margin:20px auto 56px;gap:16px}
.backoffice-list-head,.backoffice-table-card,.backoffice-section,.inactive-employees-panel{border:1px solid var(--bo-line)!important;background:var(--bo-panel-soft)!important;box-shadow:none!important}
.backoffice-list-head{border-radius:18px;padding:18px 20px;display:grid;gap:13px}
.backoffice-list-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.backoffice-list-title h1{margin:0;font-size:clamp(1.55rem,2.3vw,2.2rem);line-height:1.05;color:#173947}.backoffice-list-title>strong{font-size:.82rem;color:#48616a;background:#edf2f3;border:1px solid #bac7cb;border-radius:999px;padding:6px 10px}
.cp4-directory-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:end}.cp4-directory-search{display:grid;gap:5px;font-weight:760;color:#2f4d57}.cp4-directory-search span{font-size:.78rem}.cp4-directory-search input,.cp4-directory-filters select,.backoffice-page input,.backoffice-page select,.backoffice-page textarea{background:var(--bo-field);border:1px solid #98abb1;color:#122f38}.cp4-directory-search input:focus,.cp4-directory-filters select:focus,.backoffice-page input:focus,.backoffice-page select:focus,.backoffice-page textarea:focus{background:var(--bo-field-focus);outline:2px solid rgba(27,184,201,.35);outline-offset:1px}
.cp4-filter-toggle,.cp4-filter-actions button{border:1px solid #9eb1b6;background:#b8c7cc;color:#153944;border-radius:11px;min-height:44px;padding:0 14px;font-weight:800;cursor:pointer}.cp4-filter-toggle:hover,.cp4-filter-actions button:hover{background:#aebfc4}
.cp4-directory-filters{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px;padding-top:11px;border-top:1px solid #b3c2c7}.cp4-directory-filters label{display:grid;gap:5px;color:#2f4d57;font-weight:760;font-size:.78rem}.cp4-directory-filters select{min-height:40px;border-radius:10px;padding:0 9px}.cp4-filter-actions{display:flex;align-items:end}.cp4-filter-actions button{width:100%;min-height:40px}
.backoffice-table-card{padding:0!important;overflow:hidden}.cp4-employee-table-wrap{overflow:auto}.backoffice-employee-table,.staffing-needs-table{min-width:1040px}.backoffice-employee-table th,.staffing-needs-table th{background:#b8c5ca;color:#173943;border-bottom:1px solid #9eb0b5;font-size:.76rem;text-transform:none;letter-spacing:0;padding:10px 11px;white-space:nowrap}.backoffice-employee-table td,.staffing-needs-table td{background:#dde4e6;border-bottom:1px solid #bdc9cd;padding:10px 11px;vertical-align:top;color:#1d414c}.backoffice-employee-table tbody tr:nth-child(even) td,.staffing-needs-table tbody tr:nth-child(even) td{background:#d5dee1}.backoffice-employee-table tbody tr:hover td,.staffing-needs-table tbody tr:hover td{background:#c6dce0}.staffing-click-row{cursor:pointer}.staffing-click-row:focus-visible{outline:3px solid var(--bo-turquoise);outline-offset:-3px}
.backoffice-employee-table td>strong,.backoffice-employee-table td>span{display:block}.employee-cell-name{font-weight:850;color:#153943}.employee-cell-contact{font-size:.76rem;line-height:1.4;color:#526d76;margin-top:2px}.employee-cell-clients{display:grid;gap:2px;min-width:180px}.employee-cell-clients span{font-size:.79rem}.employee-status-dot{display:block;width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.55)}.employee-status-dot[data-status="green"]{background:#55aa72}.employee-status-dot[data-status="yellow"]{background:#d1aa27}.employee-status-dot[data-status="red"]{background:#c95a66}.employee-status-dot[data-status="neutral"],.employee-status-dot[data-status="scheduled"]{background:#87999f}.status-dot-cell{width:18px}
.inactive-employees-panel{padding:0!important;overflow:hidden}.inactive-employees-panel>summary{list-style:none;padding:14px 17px;cursor:pointer;font-weight:850;color:#314f59}.inactive-employees-panel>summary::-webkit-details-marker{display:none}.inactive-employees-panel>summary::before{content:'›';display:inline-block;margin-right:8px;transition:transform .15s ease}.inactive-employees-panel[open]>summary::before{transform:rotate(90deg)}.inactive-employees-panel table{opacity:.74}
.staffing-need-totals{margin:0;grid-template-columns:repeat(2,minmax(0,1fr))}.staffing-need-totals article{background:#c1cfd3;border-color:#a6b7bc}.staffing-need-totals strong{color:#9e2f3e}

/* sticky employee detail context */
.employee-sticky-stack{position:sticky;top:70px;z-index:60;background:var(--bo-page);padding:8px 0 8px;margin:-4px 0 12px;box-shadow:0 8px 12px rgba(28,77,84,.05)}
.employee-sticky-summary{display:grid;grid-template-columns:22px minmax(210px,1.7fr) minmax(92px,.55fr) minmax(110px,.65fr) minmax(210px,1.35fr) minmax(125px,.75fr) minmax(120px,.7fr) minmax(120px,.75fr);gap:0;background:#cbd6da;border:1px solid #aebdc2;border-radius:14px 14px 0 0;overflow:hidden}
.employee-sticky-cell{padding:9px 11px;display:grid;align-content:center;gap:2px;border-right:1px solid #b4c2c6;min-width:0}.employee-sticky-cell:last-child{border-right:0}.employee-sticky-cell small{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:#526b74;font-weight:800}.employee-sticky-cell strong{font-size:.84rem;color:#173c47;overflow-wrap:anywhere}.employee-sticky-cell span{font-size:.72rem;color:#536d76;line-height:1.3;overflow-wrap:anywhere}.employee-sticky-cell.employee-person strong{font-size:.95rem}.employee-sticky-clients{max-height:58px;overflow:auto}.employee-sticky-clients span{white-space:nowrap}.employee-sticky-summary .status-dot-cell{display:flex;align-items:center;justify-content:center;padding:7px 4px}
.employee-detail-bookmarks{display:flex;align-items:center;gap:2px;overflow-x:auto;background:#b8c6ca;border:1px solid #a3b4b9;border-top:0;border-radius:0 0 14px 14px;padding:5px}.employee-detail-bookmarks a{flex:0 0 auto;display:inline-flex;min-height:36px;align-items:center;padding:0 11px;border-radius:9px;text-decoration:none;color:#254852;font-size:.78rem;font-weight:800}.employee-detail-bookmarks a:hover,.employee-detail-bookmarks a:focus-visible{background:#dce6e8;color:#0b6571}
.backoffice-section{scroll-margin-top:195px;border-radius:18px;padding:20px!important;margin:0}.backoffice-section>h1{margin:0 0 16px;font-size:1.55rem;color:#173a47}.backoffice-section h2{font-size:1.05rem;color:#244b56}

/* contract and customer editing */
.backoffice-form-grid{display:grid;grid-template-columns:repeat(4,minmax(165px,1fr));gap:12px;align-items:end}.backoffice-form-grid label,.customer-allocation-form label{display:grid;gap:5px;font-size:.78rem;font-weight:800;color:#2f505a}.backoffice-form-grid input,.backoffice-form-grid select,.customer-allocation-form input,.customer-allocation-form select{min-height:43px;border-radius:10px;padding:8px 10px}.backoffice-form-grid .form-action-row{grid-column:1/-1}.form-action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px}.primary-button,.customer-allocation-form button[type="submit"]{border:0;border-radius:11px;background:#28bccc;color:#123c46;font-weight:850;min-height:43px;padding:0 16px;cursor:pointer}.primary-button:hover,.customer-allocation-form button[type="submit"]:hover{background:#1dafbf}
.planning-date-warning{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:11px;background:#ead8a0;border:1px solid #cbb465;color:#604c0b}.planning-date-warning strong{white-space:nowrap}.planning-date-warning span{font-size:.78rem;line-height:1.35}
.allocation-create-block{margin-top:18px;padding-top:15px;border-top:1px solid #adbdc2}.allocation-create-block>h2{margin:0 0 11px}.customer-allocation-form{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(240px,1fr) minmax(240px,1fr) minmax(160px,.75fr);gap:12px;align-items:end}.customer-allocation-form .form-action-row{grid-column:1/-1}.allocation-hours-column{display:grid;gap:6px}.hours-number-wrap{display:grid;grid-template-columns:34px minmax(90px,1fr) 34px;position:relative;gap:5px}.hours-number-wrap input{padding-right:26px}.hours-number-wrap>span{position:absolute;right:43px;top:50%;transform:translateY(-50%);font-size:.74rem;color:#516a73;font-weight:800;pointer-events:none}.hours-nudge{border:1px solid #94aab0;background:#aebfc4;border-radius:9px;color:#173d47;font-weight:900;font-size:1.05rem;cursor:pointer;padding:0;min-height:43px}.hours-nudge:hover{background:#9fb4ba}.hours-slider{width:100%;accent-color:var(--bo-turquoise-dark);background:transparent!important;border:0!important;min-height:26px!important;padding:0!important}.live-client-balance{min-height:32px;display:flex;align-items:center;border-radius:9px;padding:6px 9px;background:#b9c6ca;color:#334f58;font-size:.76rem;font-weight:800}.live-client-balance[data-state="open"]{background:#e8bfc4;color:#7e2430}.live-client-balance[data-state="surplus"]{background:#bdd9c4;color:#285c39}.live-client-balance[data-state="balanced"]{background:#bdd9c4;color:#285c39}.live-client-balance[data-state="neutral"]{background:#b9c6ca;color:#425d65}
.staffing-allocation-list{margin-top:14px}.staffing-allocation-card.detailed{background:#c7d2d6;border-color:#a9b9be;padding:14px}.allocation-card-title{display:flex;align-items:center;gap:8px;margin-bottom:11px}.allocation-card-title form{display:flex}.allocation-card-title a{text-decoration:none;color:#183f49}.allocation-card-title a:hover{text-decoration:underline}.allocation-card-title>span{font-size:.75rem;color:#60747c}.allocation-remove-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:50%;background:#c64f5c;color:#fff;font-size:1.2rem;font-weight:900;cursor:pointer}.allocation-remove-button:hover{background:#a93c48}.customer-allocation-form.existing{grid-template-columns:minmax(235px,1fr) minmax(235px,1fr) minmax(160px,.72fr)}

/* requirements, training, account and history in the denser backoffice */
.embedded-requirements{gap:12px}.embedded-requirements .cp4-requirement-admin-card,.embedded-requirements>.cp4-admin-card{background:#c7d2d6!important;border-color:#a9b9be!important;box-shadow:none!important}.employee-training-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.employee-training-columns>div{background:#c4d0d4;border:1px solid #a8b9be;border-radius:14px;padding:14px}.employee-training-columns h2{margin:0 0 10px}.employee-training-item{display:grid;gap:4px;padding:11px 12px;background:#d9e1e3;border:1px solid #b3c1c5;border-radius:11px;margin-top:8px}.employee-training-item span{font-size:.78rem;color:#506a73}.employee-account-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px}.employee-account-summary>div{background:#c3cfd3;border-color:#a7b8bd}.cp4-secondary-danger{border:1px solid #ba6973;background:#d59ca3;color:#651c26;border-radius:10px;min-height:42px;padding:0 14px;font-weight:850;cursor:pointer}.cp4-secondary-danger:hover{background:#ca858e}.cp4-history-list{gap:8px}.cp4-history-item{background:#c7d1d5!important;border-color:#aab9be!important}.cp4-history-body p,.cp4-history-body>span,.cp4-history-title time{color:#506b73!important}
.cp4-action-feedback{margin:0;padding:7px 10px;border-radius:9px;font-size:.78rem;font-weight:760}.cp4-action-feedback.success{background:#bddbc5;color:#275a38}.cp4-action-feedback.error{background:#e7bec3;color:#7a2631}

/* Normal PWA: only the single entry into Backoffice */
.pwa-backoffice-link,.sidebar-backoffice-link,.mobile-backoffice-link{font-weight:800}.pwa-backoffice-link{display:inline-flex;align-items:center;padding:.55rem .8rem;border-radius:11px;background:#e1f4f6;color:#14535c;text-decoration:none}.pwa-backoffice-link:hover{background:#ccebef}.sidebar-backoffice-link{color:#14535c}.mobile-backoffice-link{color:#14535c}

@media(max-width:1180px){
  .backoffice-header{flex-wrap:wrap;gap:8px}.backoffice-nav{order:3;width:100%;overflow-x:auto;margin-left:0;padding-bottom:2px}.backoffice-nav a{flex:0 0 auto}.employee-sticky-stack{top:113px}.employee-sticky-summary{grid-template-columns:22px minmax(210px,1.5fr) repeat(6,minmax(120px,1fr));overflow-x:auto}.employee-sticky-cell{min-width:120px}.employee-sticky-cell.employee-person{min-width:210px}.backoffice-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-allocation-form{grid-template-columns:1fr 1fr}.customer-allocation-form .form-action-row,.customer-allocation-form>label:last-of-type,.planning-date-warning{grid-column:1/-1}.customer-allocation-form.existing{grid-template-columns:1fr 1fr}.customer-allocation-form.existing>label:last-of-type{grid-column:1/-1}
}
@media(max-width:820px){
  .backoffice-shell{width:min(100% - 18px,1500px);margin-top:10px}.backoffice-header{padding:8px 10px}.backoffice-brand img{width:112px}.backoffice-context{font-size:.8rem}.backoffice-nav{gap:2px}.backoffice-nav a{min-height:36px;padding:0 9px;font-size:.78rem}.cp4-directory-toolbar{grid-template-columns:1fr auto}.cp4-directory-filters{grid-template-columns:1fr 1fr}.backoffice-table-card{background:transparent!important;border:0!important;overflow:visible}.backoffice-employee-table{min-width:0;display:block}.backoffice-employee-table thead{display:none}.backoffice-employee-table tbody{display:grid;gap:9px}.backoffice-employee-table tr{display:grid!important;grid-template-columns:18px 1fr 1fr;gap:7px;background:#cbd6da;border:1px solid #a9b9be;border-radius:13px;padding:11px}.backoffice-employee-table td{display:grid!important;background:transparent!important;border:0!important;padding:0!important}.backoffice-employee-table td::before{content:attr(data-label);font-size:.62rem;text-transform:uppercase;letter-spacing:.035em;color:#60747c;font-weight:800;margin-bottom:2px}.backoffice-employee-table td.status-dot-cell::before,.backoffice-employee-table td.employee-primary-cell::before{display:none}.backoffice-employee-table td.status-dot-cell{grid-column:1;grid-row:1}.backoffice-employee-table td.employee-primary-cell{grid-column:2/-1;grid-row:1}.backoffice-employee-table td[data-label="Kund:innen"]{grid-column:1/-1}.backoffice-employee-table td[data-label="Vertrag"]{grid-column:1/-1}.inactive-employees-panel .backoffice-employee-table{display:block}.employee-sticky-stack{top:102px;padding-top:5px}.employee-sticky-summary{display:grid;grid-template-columns:18px 1fr 1fr;border-radius:12px 12px 0 0;max-height:168px;overflow:auto}.employee-sticky-cell{min-width:0!important;border-right:0;border-bottom:1px solid #b2c0c4;padding:7px 8px}.employee-sticky-cell.status-dot-cell{grid-row:1;grid-column:1}.employee-sticky-cell.employee-person{grid-column:2/-1}.employee-sticky-clients{grid-column:1/-1;max-height:52px}.employee-detail-bookmarks{border-radius:0 0 12px 12px}.backoffice-section{scroll-margin-top:270px;padding:15px!important}.backoffice-form-grid,.customer-allocation-form,.customer-allocation-form.existing{grid-template-columns:1fr}.backoffice-form-grid .form-action-row,.customer-allocation-form .form-action-row,.customer-allocation-form>label:last-of-type,.customer-allocation-form.existing>label:last-of-type,.planning-date-warning{grid-column:auto}.employee-training-columns{grid-template-columns:1fr}.staffing-needs-table{min-width:760px}
}
@media(max-width:560px){
  .backoffice-context span{display:none}.backoffice-context{padding-left:8px}.cp4-directory-filters{grid-template-columns:1fr}.backoffice-list-head{padding:14px}.backoffice-list-title h1{font-size:1.5rem}.employee-sticky-stack{top:98px}.employee-sticky-summary{max-height:154px}.employee-detail-bookmarks a{font-size:.72rem;padding:0 8px}.hours-number-wrap{grid-template-columns:38px minmax(90px,1fr) 38px}.hours-nudge{min-height:46px}.live-client-balance{min-height:38px}.staffing-need-totals{grid-template-columns:1fr}
}

/* v0.10.2 detail alignment + responsive Backoffice entry in the employee PWA */
.employee-sticky-stack{width:min(1500px,calc(100% - 34px));margin:-4px auto 12px}
.sidebar-main-nav .sidebar-backoffice-link{position:relative;width:100%;display:grid;grid-template-columns:36px 1fr;align-items:center;gap:10px;min-height:48px;padding:6px 9px;border-radius:15px;text-align:start;color:var(--muted);font-size:.79rem;font-weight:680;text-decoration:none;transition:background .18s ease,color .18s ease,transform .18s ease}
.sidebar-main-nav .sidebar-backoffice-link:hover{background:rgba(255,255,255,.68);color:var(--ink);transform:translateX(1px)}
.sidebar-main-nav .sidebar-backoffice-link .sidebar-nav-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--accent-08);color:var(--accent-ink)}
.sidebar-main-nav .sidebar-backoffice-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:820px){
  .employee-sticky-stack{width:calc(100% - 18px)}
  .mobile-bottom-nav{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
  .mobile-bottom-nav>a{appearance:none;border:0;background:transparent;position:relative;min-width:0;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:5px 1px;border-radius:16px;color:var(--muted);font-size:.58rem;font-weight:720;text-decoration:none}
  .mobile-bottom-nav>a:hover,.mobile-bottom-nav>a:focus-visible{color:var(--accent-ink);background:rgba(255,255,255,.74)}
  .mobile-bottom-nav>a svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .mobile-bottom-nav>a small{font-size:.58rem;white-space:nowrap}
}
.privacy-note{margin:8px 0 12px;padding:10px 12px;border-radius:10px;background:#b7c6ca;border:1px solid #9bafb5;color:#284950;font-size:.77rem;line-height:1.4}
.allocation-list-feedback{margin:10px 0}

/* v0.10.4-cp4: Backoffice-Farbhierarchie + verdichtete Mitarbeiter:innen-Detailansicht */
:root{
  --bo-page:#24c6d3;
  --bo-panel:#ffffff;
  --bo-panel-soft:#ffffff;
  --bo-field:#59666b;
  --bo-field-focus:#4d595e;
  --bo-line:#c9d6d9;
}

/* Backoffice canvas: turquoise background, white first content layer. */
.backoffice-page{background:var(--bo-page)!important}
.backoffice-page .cp4-admin-card,
.backoffice-page .backoffice-list-head,
.backoffice-page .backoffice-table-card,
.backoffice-page .backoffice-section,
.backoffice-page .inactive-employees-panel,
.backoffice-page .team-profile-head{background:#fff!important;border-color:var(--bo-line)!important;box-shadow:none!important}
.backoffice-header{background:#fff!important}

/* Only actual form controls use the dark grey fill. */
.backoffice-page input:not([type="range"]):not([type="hidden"]),
.backoffice-page select,
.backoffice-page textarea{
  background:var(--bo-field)!important;
  border-color:#47555a!important;
  color:#fff!important;
}
.backoffice-page input:not([type="range"]):not([type="hidden"])::placeholder,
.backoffice-page textarea::placeholder{color:#e3e8e9!important;opacity:1}
.backoffice-page input:not([type="range"]):not([type="hidden"]):focus,
.backoffice-page select:focus,
.backoffice-page textarea:focus{
  background:var(--bo-field-focus)!important;
  border-color:#364348!important;
  outline:2px solid rgba(255,255,255,.72)!important;
  outline-offset:1px
}
.backoffice-page option{background:#59666b;color:#fff}

/* White first-layer lists and tables; no grey row layers. */
.backoffice-employee-table th,.staffing-needs-table th,
.backoffice-employee-table td,.staffing-needs-table td,
.backoffice-employee-table tbody tr:nth-child(even) td,.staffing-needs-table tbody tr:nth-child(even) td{background:#fff!important}
.backoffice-employee-table th,.staffing-needs-table th{border-bottom-color:#c8d5d8!important}
.backoffice-employee-table td,.staffing-needs-table td{border-bottom-color:#d8e1e3!important}
.backoffice-employee-table tbody tr:hover td,.staffing-needs-table tbody tr:hover td{background:#eefbfc!important}
.staffing-need-totals article{background:#fff!important;border-color:#c8d5d8!important}

/* Employee context is one white layer on the turquoise canvas. */
.employee-sticky-stack{background:var(--bo-page)!important;box-shadow:none!important}
.employee-sticky-summary{background:#fff!important;border-color:#c8d5d8!important}
.employee-sticky-cell{border-right-color:#d9e2e4!important}
.employee-detail-bookmarks{background:#fff!important;border-color:#c8d5d8!important}
.employee-detail-bookmarks a:hover,.employee-detail-bookmarks a:focus-visible{background:#e8f8fa!important}

/* Denser detail sections. */
.backoffice-section{padding:16px!important}
.backoffice-section>h1{margin-bottom:12px!important}
.backoffice-form-grid{gap:9px!important}
.backoffice-form-grid label,.customer-allocation-form label{gap:4px!important}
.backoffice-form-grid input,.backoffice-form-grid select,.customer-allocation-form input:not([type="range"]),.customer-allocation-form select{min-height:36px!important;padding:6px 9px!important;border-radius:8px!important}
.primary-button,.customer-allocation-form button[type="submit"]{min-height:36px!important;padding:0 13px!important;border-radius:9px!important}
.cp4-secondary-danger{min-height:36px!important;padding:0 12px!important}

/* Contract-hours button sits directly to the right of 'Voraussichtlich ab'. */
.contract-hours-form{grid-template-columns:minmax(145px,.8fr) repeat(3,minmax(170px,1fr)) auto!important;align-items:end!important}
.contract-hours-actions{display:flex;align-items:center;gap:8px;align-self:end;min-width:max-content;flex-wrap:wrap}
.contract-hours-actions .primary-button{white-space:nowrap}
.contract-warning{grid-column:1/-1}

/* Add customer: select/date start at the top; action sits below the date. */
.allocation-create-block{margin-top:14px!important;padding-top:12px!important;border-top-color:#d7e1e3!important}
.allocation-create-block>h2{margin-bottom:9px!important}
.customer-allocation-form{grid-template-columns:minmax(180px,.85fr) minmax(220px,1fr) minmax(220px,1fr) minmax(170px,.75fr)!important;gap:9px!important;align-items:start!important}
.customer-allocation-form.existing{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(170px,.72fr)!important}
.allocation-side-column{display:grid;gap:8px;align-content:start}
.allocation-save-button{width:100%}
.allocation-hours-column{gap:4px!important}
.hours-number-wrap{grid-template-columns:30px minmax(88px,1fr) 30px!important;gap:4px!important}
.hours-nudge{min-height:36px!important;border-radius:8px!important;background:#fff!important;border-color:#88a2a9!important;color:#173d47!important}
.hours-nudge:hover{background:#eaf8fa!important}
.hours-number-wrap>span{right:38px!important}
.hours-slider{min-height:20px!important}
.live-client-balance{min-height:26px!important;padding:4px 7px!important;border-radius:7px!important}

/* Current balance is informational only: no semantic background colour. */
.live-client-balance[data-client-balance="current"],
.live-client-balance[data-client-balance="current"][data-state="open"],
.live-client-balance[data-client-balance="current"][data-state="surplus"],
.live-client-balance[data-client-balance="current"][data-state="balanced"],
.live-client-balance[data-client-balance="current"][data-state="neutral"]{
  background:transparent!important;
  color:#334f58!important;
  padding-left:0!important
}

/* Existing customer assignments are rows inside the white section, not another layer. */
.staffing-allocation-list{margin-top:10px!important}
.staffing-allocation-card.detailed{
  background:transparent!important;
  border:0!important;
  border-top:1px solid #d7e1e3!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:12px 0!important
}
.allocation-card-title{display:flex!important;align-items:center!important;gap:7px!important;margin-bottom:8px!important;min-height:24px}
.allocation-client-name{display:inline-flex;align-items:baseline;gap:6px;text-decoration:none;color:#183f49}
.allocation-client-name span{font-size:.72rem;color:#60747c;font-weight:650}
.allocation-remove-button{
  width:20px!important;height:20px!important;min-height:20px!important;padding:0!important;
  border:0!important;border-radius:4px!important;background:transparent!important;color:#9d3340!important;
  font-size:1.05rem!important;line-height:1!important
}
.allocation-remove-button:hover{background:#fdecee!important;color:#7e2430!important}
.allocation-inline-feedback{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px!important;margin-left:2px!important}
.allocation-list-feedback{margin-bottom:8px!important}

/* No nested surface layers inside employee detail sections. Separators provide structure. */
.employee-detail-page .embedded-requirements{display:block!important}
.employee-detail-page .embedded-requirements .cp4-requirement-admin-card,
.employee-detail-page .embedded-requirements>.cp4-admin-card{
  background:transparent!important;border:0!important;border-top:1px solid #d7e1e3!important;
  border-radius:0!important;box-shadow:none!important;padding:13px 0!important;margin:0!important
}
.employee-detail-page .cp4-requirement-facts div{background:transparent!important;border-radius:0!important;padding:7px 0!important}
.employee-detail-page .cp4-auto-evidence-note{background:transparent!important;border-radius:0!important;padding:10px 0!important;border-top:1px solid #e1e8ea}
.employee-detail-page .cp4-manual-evidence-panel{padding-top:12px!important}
.employee-detail-page .employee-training-columns{gap:18px!important}
.employee-detail-page .employee-training-columns>div{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important}
.employee-detail-page .employee-training-columns>div+div{border-left:1px solid #d7e1e3!important;padding-left:18px!important}
.employee-detail-page .employee-training-item{background:transparent!important;border:0!important;border-top:1px solid #e1e8ea!important;border-radius:0!important;padding:9px 0!important;margin-top:6px!important}
.employee-detail-page .employee-account-summary>div{background:transparent!important;border:0!important;border-radius:0!important;padding:8px 0!important}
.employee-detail-page .cp4-history-list{gap:0!important}
.employee-detail-page .cp4-history-item{background:transparent!important;border:0!important;padding:0 0 10px!important}
.employee-detail-page .cp4-history-body{background:transparent!important;border-radius:0!important;padding:8px 0!important}
.employee-detail-page .cp4-history-item:not(:last-child) .cp4-history-body{border-bottom:1px solid #e1e8ea!important}

/* Primary cards on the other Backoffice screens stay white. */
.backoffice-page .cp4-directory-filters{background:#fff!important;border-color:#d5e0e2!important}
.backoffice-page .cp4-requirement-overall{background:#fff}

@media(max-width:1180px){
  .contract-hours-form{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .contract-hours-form>label:nth-of-type(4){grid-column:1/2}
  .contract-hours-actions{grid-column:2/4}
  .customer-allocation-form{grid-template-columns:1fr 1fr!important}
  .customer-allocation-form.existing{grid-template-columns:1fr 1fr!important}
  .allocation-side-column{grid-column:auto!important}
}
@media(max-width:820px){
  .contract-hours-form,.customer-allocation-form,.customer-allocation-form.existing{grid-template-columns:1fr!important}
  .contract-hours-form>label:nth-of-type(4),.contract-hours-actions,.contract-warning,.allocation-side-column{grid-column:auto!important}
  .employee-detail-page .employee-training-columns>div+div{border-left:0!important;border-top:1px solid #d7e1e3!important;padding-left:0!important;padding-top:14px!important}
  .backoffice-employee-table tr{background:#fff!important;border-color:#c8d5d8!important}
}

/* v0.10.4-cp4 – kompakte Teamprofile und Bewerber:innen */
.team-profile-page .backoffice-shell{gap:14px}
.compact-team-head{display:grid!important;grid-template-columns:minmax(220px,.65fr) minmax(0,2.35fr);gap:18px!important;align-items:end!important;padding:18px 20px!important}
.compact-team-head .team-profile-title h1{font-size:clamp(1.75rem,3vw,3rem);margin:.1rem 0 .25rem}
.compact-team-head .team-profile-title p{margin:.2rem 0}
.team-header-fields{display:grid;grid-template-columns:1.1fr .72fr .9fr 1fr 1.25fr auto;gap:9px;align-items:end}
.team-header-fields>label{display:grid;gap:4px;font-size:.72rem;font-weight:800;color:#35505a;min-width:0}
.team-header-fields input{min-height:38px!important;padding:6px 9px!important}
.team-header-readout,.team-header-fields.readonly>div{display:grid;gap:3px;min-height:58px;padding:7px 9px;border-left:1px solid #d8e1e3;align-content:center}
.team-header-readout span,.team-header-fields.readonly span{font-size:.68rem;font-weight:800;color:#62757c;line-height:1.15}
.team-header-readout strong,.team-header-fields.readonly strong{font-size:.92rem;color:#173b43}
.team-header-save{min-height:38px!important;padding:7px 12px!important;white-space:nowrap}
.team-header-fields>.cp4-action-feedback{grid-column:1/-1;margin:0}
.compact-team-section{padding:16px 18px!important}
.compact-team-section .cp4-section-heading{margin-bottom:8px}
.compact-team-section .cp4-section-heading h2{margin:0;font-size:1.25rem}
.compact-team-section .cp4-section-heading p{margin:3px 0 0}
.compact-team-table,.applicant-team-table,.applicant-overview-table{font-size:.78rem}
.compact-team-table th,.compact-team-table td,.applicant-team-table th,.applicant-team-table td,.applicant-overview-table th,.applicant-overview-table td{padding:7px 8px!important;vertical-align:middle!important}
.compact-team-table th,.applicant-team-table th,.applicant-overview-table th{white-space:nowrap}
.compact-team-table input,.compact-team-table textarea,.applicant-team-table input,.applicant-team-table select,.applicant-team-table textarea{min-height:34px!important;padding:5px 7px!important;border-radius:8px!important;font-size:.78rem!important}
.compact-team-table textarea,.applicant-team-table textarea{min-width:150px;resize:vertical}
.compact-team-table input[type="date"],.applicant-team-table input[type="date"]{min-width:135px}
.compact-team-table .compact-row-save,.applicant-team-table .compact-row-save{min-height:34px!important;padding:6px 9px!important;font-size:.75rem!important;white-space:nowrap}
.compact-hours-input{display:flex;align-items:center;gap:4px;min-width:90px}
.compact-hours-input input{width:74px!important;min-width:74px!important}
.compact-hours-input span{font-weight:800;color:#53676e}
.calculated-duty{display:inline-block;min-width:36px;text-align:center;font-weight:800;color:#29434b}
.other-client-cell{min-width:170px;max-width:250px;line-height:1.35}
.team-person-name{display:flex;align-items:center;gap:5px;min-width:135px}
.team-person-name>a{min-width:0}
.team-person-name strong{display:block}
.team-person-name form{margin:0}
.team-person-name .allocation-remove-button{flex:0 0 auto}
.allocation-overbook-warning{display:inline-block;color:#9f2f3b;font-weight:900;margin-top:4px;white-space:nowrap}
.compact-feedback{display:block!important;margin:4px 0 0!important;padding:3px 6px!important;font-size:.69rem!important;line-height:1.25}
.compact-create-panel{margin:10px 0 0!important;padding:9px 11px!important;border-radius:10px!important}
.compact-create-panel[open]>summary{margin-bottom:8px!important}
.team-member-add-form,.applicant-add-form{display:grid;grid-template-columns:1.3fr .7fr .7fr .85fr 1.2fr auto;gap:8px;align-items:end}
.applicant-add-form{grid-template-columns:1.1fr .7fr .9fr .8fr .9fr 1.2fr auto}
.team-member-add-form label,.applicant-add-form label{display:grid;gap:4px;font-size:.72rem;font-weight:800;color:#35505a;min-width:0}
.team-member-add-form input,.team-member-add-form select,.team-member-add-form textarea,.applicant-add-form input,.applicant-add-form select,.applicant-add-form textarea{min-height:36px!important;padding:6px 8px!important;border-radius:8px!important}
.team-member-row:target,.applicant-row:target{outline:3px solid rgba(27,184,201,.38);outline-offset:-3px;background:#f2fbfc!important}
.applicant-overview-row{cursor:pointer}
.applicant-overview-table td:last-child{max-width:320px}

@media (max-width:1500px){
  .compact-team-head{grid-template-columns:1fr}
  .team-header-fields{grid-template-columns:repeat(3,minmax(150px,1fr))}
  .team-header-save{justify-self:start}
}
@media (max-width:900px){
  .team-header-fields{grid-template-columns:1fr 1fr}
  .team-member-add-form,.applicant-add-form{grid-template-columns:1fr 1fr}
  .team-member-add-form>button,.applicant-add-form>button{grid-column:1/-1;justify-self:start}
}
@media (max-width:620px){
  .compact-team-head{padding:14px!important}
  .team-header-fields{grid-template-columns:1fr}
  .team-header-readout,.team-header-fields.readonly>div{border-left:0;border-top:1px solid #d8e1e3}
  .team-member-add-form,.applicant-add-form{grid-template-columns:1fr}
}

/* v0.10.5-cp4 – viewportfeste Tabellen, helle Eingabefelder und kompakter Zuordnungskopf */
:root{
  --bo-field:#eefbfc;
  --bo-field-focus:#e3f6f8;
}

/* Backoffice form controls: very light blue, dark readable text. */
.backoffice-page input:not([type="range"]):not([type="hidden"]),
.backoffice-page select,
.backoffice-page textarea{
  background:var(--bo-field)!important;
  border-color:#b8d9dd!important;
  color:#163b44!important;
}
.backoffice-page input:not([type="range"]):not([type="hidden"])::placeholder,
.backoffice-page textarea::placeholder{color:#71888e!important;opacity:1}
.backoffice-page input:not([type="range"]):not([type="hidden"]):focus,
.backoffice-page select:focus,
.backoffice-page textarea:focus{
  background:var(--bo-field-focus)!important;
  border-color:#7fc9d0!important;
  outline:2px solid rgba(27,184,201,.2)!important;
  outline-offset:1px
}
.backoffice-page option{background:#fff;color:#163b44}

/* Every Backoffice table must fit its content area instead of forcing horizontal page width. */
.backoffice-page .cp4-employee-table-wrap,
.backoffice-page .cp4-account-table-wrap{max-width:100%;overflow-x:hidden}
.backoffice-page .cp4-employee-table,
.backoffice-page .backoffice-employee-table,
.backoffice-page .staffing-needs-table,
.backoffice-page .cp4-account-table{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  table-layout:fixed
}
.backoffice-page .cp4-employee-table th,
.backoffice-page .backoffice-employee-table th,
.backoffice-page .staffing-needs-table th,
.backoffice-page .cp4-account-table th{
  white-space:normal!important;
  overflow-wrap:anywhere;
  hyphens:auto;
  line-height:1.15;
  padding-left:7px!important;
  padding-right:7px!important
}
.backoffice-page .cp4-employee-table td,
.backoffice-page .backoffice-employee-table td,
.backoffice-page .staffing-needs-table td,
.backoffice-page .cp4-account-table td{
  min-width:0!important;
  overflow-wrap:anywhere;
  padding-left:7px!important;
  padding-right:7px!important
}
.backoffice-page table input:not([type="range"]):not([type="hidden"]),
.backoffice-page table select,
.backoffice-page table textarea{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box
}

/* Team tables use deliberately narrow controls and wrapped headings. */
.compact-team-table textarea,.applicant-team-table textarea{min-width:0!important;resize:vertical}
.compact-team-table input[type="date"],.applicant-team-table input[type="date"]{min-width:0!important}
.compact-hours-input{min-width:0!important;width:100%}
.compact-hours-input input{width:100%!important;min-width:0!important}
.other-client-cell{min-width:0!important;max-width:none!important}
.team-person-name{min-width:0!important;width:100%}
.team-person-name>a,.team-person-name input{min-width:0!important}
.compact-team-table th,.applicant-team-table th,.applicant-overview-table th{font-size:.69rem!important}
.compact-team-table td,.applicant-team-table td,.applicant-overview-table td{font-size:.74rem!important}

/* Stable column proportions on the dense team member table. */
.compact-team-table th:nth-child(1),.compact-team-table td:nth-child(1){width:11%}
.compact-team-table th:nth-child(2),.compact-team-table td:nth-child(2){width:7%}
.compact-team-table th:nth-child(3),.compact-team-table td:nth-child(3){width:8%}
.compact-team-table th:nth-child(4),.compact-team-table td:nth-child(4){width:9%}
.compact-team-table th:nth-child(5),.compact-team-table td:nth-child(5){width:6%}
.compact-team-table th:nth-child(6),.compact-team-table td:nth-child(6){width:9%}
.compact-team-table th:nth-child(7),.compact-team-table td:nth-child(7){width:6%}
.compact-team-table th:nth-child(8),.compact-team-table td:nth-child(8){width:10%}
.compact-team-table th:nth-child(9),.compact-team-table td:nth-child(9){width:12%}
.compact-team-table th:nth-child(10),.compact-team-table td:nth-child(10){width:13%}
.compact-team-table th:nth-child(11),.compact-team-table td:nth-child(11){width:9%}

.applicant-team-table th:nth-child(1),.applicant-team-table td:nth-child(1){width:16%}
.applicant-team-table th:nth-child(2),.applicant-team-table td:nth-child(2){width:10%}
.applicant-team-table th:nth-child(3),.applicant-team-table td:nth-child(3){width:14%}
.applicant-team-table th:nth-child(4),.applicant-team-table td:nth-child(4){width:11%}
.applicant-team-table th:nth-child(5),.applicant-team-table td:nth-child(5){width:7%}
.applicant-team-table th:nth-child(6),.applicant-team-table td:nth-child(6){width:12%}
.applicant-team-table th:nth-child(7),.applicant-team-table td:nth-child(7){width:20%}
.applicant-team-table th:nth-child(8),.applicant-team-table td:nth-child(8){width:10%}

.applicant-overview-table th:nth-child(1),.applicant-overview-table td:nth-child(1){width:15%}
.applicant-overview-table th:nth-child(2),.applicant-overview-table td:nth-child(2){width:15%}
.applicant-overview-table th:nth-child(3),.applicant-overview-table td:nth-child(3){width:10%}
.applicant-overview-table th:nth-child(4),.applicant-overview-table td:nth-child(4){width:12%}
.applicant-overview-table th:nth-child(5),.applicant-overview-table td:nth-child(5){width:11%}
.applicant-overview-table th:nth-child(6),.applicant-overview-table td:nth-child(6){width:7%}
.applicant-overview-table th:nth-child(7),.applicant-overview-table td:nth-child(7){width:12%}
.applicant-overview-table th:nth-child(8),.applicant-overview-table td:nth-child(8){width:18%}

/* Both balance comments in employee detail are neutral information, never red/green filled. */
.employee-detail-page .live-client-balance,
.employee-detail-page .live-client-balance[data-state="open"],
.employee-detail-page .live-client-balance[data-state="surplus"],
.employee-detail-page .live-client-balance[data-state="balanced"],
.employee-detail-page .live-client-balance[data-state="neutral"]{
  background:transparent!important;
  color:#334f58!important;
  padding-left:0!important
}

/* Save an existing client assignment directly from its title row, next to remove. */
.allocation-inline-save-button{
  appearance:none;
  border:0;
  border-radius:7px;
  background:#28bccc;
  color:#123c46;
  min-height:28px;
  padding:0 9px;
  font-size:.72rem;
  font-weight:850;
  white-space:nowrap;
  cursor:pointer
}
.allocation-inline-save-button:hover{background:#1dafbf}

@media(max-width:760px){
  .backoffice-page .cp4-employee-table-wrap,
  .backoffice-page .cp4-account-table-wrap{overflow:visible}
  .compact-team-table th:nth-child(n),.compact-team-table td:nth-child(n),
  .applicant-team-table th:nth-child(n),.applicant-team-table td:nth-child(n),
  .applicant-overview-table th:nth-child(n),.applicant-overview-table td:nth-child(n){width:auto}
}
.compact-team-table .compact-row-save,.applicant-team-table .compact-row-save{
  width:100%;min-width:0;padding-left:4px!important;padding-right:4px!important;font-size:.69rem!important
}
.cp4-table-action{max-width:100%;white-space:normal;line-height:1.15}

/* v0.11.0-cp5 authentication */
.cp5-login-section{margin-top:22px}.cp5-login-section h2{margin:0 0 8px;font-size:1rem;color:var(--ink-2)}
.cp5-auth-divider{display:flex;align-items:center;gap:10px;margin:20px 0 12px;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.cp5-auth-divider:before,.cp5-auth-divider:after{content:"";height:1px;flex:1;background:var(--line)}
.microsoft-login-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:49px;padding:0 14px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink);font-weight:800;text-decoration:none;box-shadow:0 8px 20px rgba(13,18,22,.06)}.microsoft-login-button:hover{border-color:var(--accent);box-shadow:0 10px 24px rgba(13,18,22,.09)}.microsoft-login-mark{width:24px;height:24px;display:grid;place-items:center;border-radius:5px;background:#f2f5f6;color:#31464e;font-size:.8rem;font-weight:900}
.cp5-legacy-login{margin-top:18px;padding-top:12px;border-top:1px solid var(--line);font-size:.76rem;color:var(--muted)}.cp5-legacy-login summary{cursor:pointer;font-weight:750}.cp5-legacy-login form{margin-top:14px}

/* v0.11.0-cp5 account security */
.cp5-account-action-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;margin:8px 0 18px}.cp5-account-action-row form{margin:0}.cp5-account-action-row .secondary-button,.cp5-account-action-row .cp4-secondary-danger{min-height:40px;width:auto}
.cp5-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.cp5-security-panel{padding:14px 0;border-top:1px solid #d7e4e7}.cp5-security-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.cp5-security-panel-head h2{margin:0;font-size:1rem}.cp5-security-panel-head p{margin:4px 0 0;color:#607781;font-size:.75rem}.cp5-count-badge{min-width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:#eaf8fa;color:#22616a;font-weight:850;font-size:.76rem}.cp5-security-list{display:grid;gap:7px;margin-top:10px}.cp5-security-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #e4edef}.cp5-security-item:first-child{border-top:0}.cp5-security-item>div{display:grid;gap:3px;min-width:0}.cp5-security-item strong{font-size:.84rem;color:#214751}.cp5-security-item span{font-size:.72rem;color:#6b7f89}.cp5-security-item form{margin:0;flex:0 0 auto}
@media(max-width:900px){.cp5-security-grid{grid-template-columns:1fr}.cp5-security-item{align-items:flex-start;flex-direction:column}.cp5-security-item form{width:100%}.cp5-security-item .cp4-table-action{width:100%}}

/* v0.11.0-cp5: compact local role management */
.cp5-role-editor{display:grid;grid-template-columns:minmax(190px,260px) auto minmax(260px,1fr);gap:10px 12px;align-items:end;margin:14px 0 16px;padding-top:12px;border-top:1px solid rgba(27,55,66,.16)}
.cp5-role-editor label{display:grid;gap:5px;font-size:.82rem;font-weight:650}.cp5-role-editor select{width:100%}.cp5-role-editor .small-note{align-self:center;margin:0}.cp5-role-editor .cp4-action-feedback{grid-column:1/-1;margin:0}
@media(max-width:760px){.cp5-role-editor{grid-template-columns:1fr;align-items:stretch}.cp5-role-editor .secondary-button{width:100%}}
