:root {
  --navy: #0b2438;
  --navy-soft: #153c55;
  --blue: #066a9c;
  --cyan: #62c8e8;
  --paper: #f3f6f7;
  --white: #fff;
  --text: #173247;
  --muted: #566c7b;
  --line: #dbe4e8;
  --green: #16845a;
  --orange: #d78613;
  --red: #bd3f3f;
  --shadow: 0 22px 65px rgba(11, 36, 56, .13);
}

* { box-sizing: border-box; }
html { min-height: 100%; max-width: 100%; overflow-x: hidden; background: var(--paper); }
body { margin: 0; min-height: 100vh; max-width: 100%; overflow-x: hidden; color: var(--text); background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.hidden { display: none !important; }

html[data-theme="light"] { color-scheme: light; }
html[data-theme="dark"] {
  color-scheme: dark;
  --navy: #030b0f;
  --navy-soft: #0a1b23;
  --blue: #60ded4;
  --cyan: #77e7db;
  --paper: #030b0f;
  --white: #eef9fa;
  --text: #dcebee;
  --muted: #9bb3bd;
  --line: rgba(134,225,230,.18);
  --green: #55dca7;
  --orange: #f0b35a;
  --red: #ff7474;
  --ink-bright: #f2fbfc;
  --panel: rgba(8,24,31,.88);
  --panel-strong: #091920;
  --panel-soft: rgba(17,42,51,.72);
  --glow: rgba(96,222,212,.18);
  --shadow: 0 24px 70px rgba(0,0,0,.35);
}

.theme-toggle {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 5px 11px 5px 6px;
  border: 1px solid #cbd9df;
  border-radius: 999px;
  color: #294757;
  background: rgba(255,255,255,.9);
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
  box-shadow: 0 5px 18px rgba(11,36,56,.08);
  transition: color .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.theme-toggle:hover { border-color: #80b9ca; background: #fff; box-shadow: 0 7px 22px rgba(11,36,56,.13); }
.theme-toggle:focus-visible { outline: 3px solid rgba(6,106,156,.22); outline-offset: 2px; }
.theme-toggle-track {
  width: 48px;
  height: 24px;
  flex: 0 0 48px;
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  justify-items: center;
  border-radius: 999px;
  color: #537485;
  background: #dce8ec;
}
.theme-toggle-track svg { z-index: 1; width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.theme-toggle-track i {
  width: 20px;
  height: 20px;
  position: absolute;
  top: 2px;
  left: 2px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 7px rgba(11,36,56,.22);
  transition: transform .22s ease, background .18s ease;
}
html[data-theme="light"] .theme-toggle-sun { color: #0b668a; }
html[data-theme="dark"] .theme-toggle {
  color: #cae0e5;
  border-color: rgba(134,225,230,.24);
  background: rgba(18,43,52,.68);
  box-shadow: inset 0 1px 0 rgba(220,255,252,.05), 0 8px 24px rgba(0,0,0,.14);
}
html[data-theme="dark"] .theme-toggle:hover { color: #f2ffff; border-color: rgba(119,231,219,.55); background: rgba(36,82,90,.56); }
html[data-theme="dark"] .theme-toggle:focus-visible { outline-color: rgba(119,231,219,.3); }
html[data-theme="dark"] .theme-toggle-track { color: #76949f; background: rgba(2,12,17,.72); }
html[data-theme="dark"] .theme-toggle-track i { transform: translateX(24px); background: #77e7db; box-shadow: 0 0 14px rgba(119,231,219,.4); }
html[data-theme="dark"] .theme-toggle-moon { color: #031014; }
html.theme-ready body,
html.theme-ready .portal-topbar,
html.theme-ready .sidebar,
html.theme-ready .content-shell { transition: color .2s ease, background-color .2s ease, border-color .2s ease; }
.sidebar nav button[data-nav-label="E-Mail-Assistent"] { display: none !important; }

.registration-plan-card{padding:16px;border:1px solid #cfe0e7;border-radius:16px;background:#f4f9fb;display:grid;gap:12px}
.registration-price{display:grid;gap:2px;padding-top:10px;border-top:1px solid #d9e7ec}.registration-price span,.registration-price small{color:#58717e;font-size:.78rem}.registration-price strong{font-size:1.15rem;color:#082b3d}
.pending-billing-summary{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px 0}.pending-billing-summary>*{padding:8px 12px;background:#fff;border:1px solid #d9e5e9;border-radius:999px}
.onboarding-progress-copy{display:grid;text-align:right;gap:4px}.onboarding-progress-copy span{font-size:.8rem;color:#607684}.onboarding-progress{height:8px;border-radius:99px;background:#dbe8ec;overflow:hidden;margin:-4px 0 24px}.onboarding-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#0d97b8,#38c0c7);transition:width .3s ease}
.onboarding-layout{display:grid;grid-template-columns:230px minmax(0,1fr) 260px;gap:20px;align-items:start}.onboarding-steps{padding:10px;display:grid;gap:5px;position:sticky;top:24px}.onboarding-steps button{border:0;background:transparent;border-radius:12px;padding:11px;display:flex;gap:10px;text-align:left;align-items:center;color:#38515d}.onboarding-steps button>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid #bfd2da;font-weight:800;font-size:.76rem;flex:none}.onboarding-steps button p{margin:0;display:grid}.onboarding-steps button small{font-size:.7rem;color:#78909b}.onboarding-steps button.active{background:#e9f6f8;color:#073248}.onboarding-steps button.active>span,.onboarding-steps button.complete>span{background:#0f9cba;border-color:#0f9cba;color:white}
.onboarding-stage{padding:28px;min-height:560px}.onboarding-form{display:grid;gap:18px}.onboarding-form header{border-bottom:1px solid #e0e9ec;padding-bottom:17px}.onboarding-form header>span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:850;color:#078eae}.onboarding-form header h2{margin:5px 0 6px;font-size:1.65rem}.onboarding-form header p{margin:0;color:#5a707b}.onboarding-form-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e0e9ec;padding-top:18px}.onboarding-form-actions span{font-size:.78rem;color:#70858f}
.onboarding-help{padding:22px;position:sticky;top:24px;background:#082d40;color:white}.onboarding-help h2{font-size:1.05rem;margin:12px 0 7px}.onboarding-help p{font-size:.86rem;color:#c5dae2;line-height:1.6}.onboarding-help-mark,.pwa-app-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#2cc1c7;color:#052b3c;font-weight:900}
.role-decision-grid,.knowledge-source-grid,.onboarding-system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.role-policy-control{min-width:0;margin:0;padding:14px;border:1px solid #d5e3e8;border-radius:14px}.role-policy-control legend{padding:0 5px;color:#294957;font-size:11px;font-weight:800}.role-policy-control label{display:flex;align-items:center;gap:8px;padding:6px 4px;color:#526d78;font-size:11px}.role-policy-control label:has(input:checked){color:#073248;font-weight:750}.onboarding-system-grid label{padding:15px;border:1px solid #d4e2e7;border-radius:14px;display:flex;gap:11px;align-items:flex-start;cursor:pointer}.onboarding-system-grid label:has(input:checked){border-color:#14a8bd;background:#effbfc}.onboarding-system-grid label span{display:grid;gap:3px}.onboarding-system-grid label small{color:#677e88;line-height:1.35}
.knowledge-source-grid>form{padding:16px;border:1px solid #dae5e8;border-radius:14px;display:grid;gap:10px}.knowledge-source-grid h3{margin:0;font-size:1rem}.knowledge-sources{display:grid;gap:8px}.knowledge-sources article{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:12px;border:1px solid #e1eaed;border-radius:12px}.knowledge-sources article small{grid-column:1/-1;color:#718791}.knowledge-candidates{display:grid;gap:12px}.knowledge-candidates article{padding:16px;border:1px solid #d9e5e9;border-radius:14px;display:grid;gap:8px}.knowledge-candidates article header{border:0;padding:0;display:flex;justify-content:space-between}.knowledge-candidates article header span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#0b8eaa}.knowledge-candidates article p{margin:0;color:#526a75}.knowledge-candidates article>div{display:flex;gap:8px;justify-content:flex-end}.confirmed-knowledge{display:flex;justify-content:space-between;gap:12px;padding:14px;border-radius:12px;background:#eef9f3;color:#215f42}.confirmed-knowledge span{font-size:.8rem}
.knowledge-candidates .knowledge-conflict{padding:9px 11px;border-radius:10px;background:#fff4df;color:#86530c;font-weight:700}
.seat-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.seat-summary article{padding:16px;border:1px solid #d8e5e9;border-radius:14px;display:grid}.seat-summary strong{font-size:1.5rem;color:#083348}.pwa-install-card{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;padding:18px;border-radius:16px;background:#eaf7f9}.pwa-install-card h3,.pwa-install-card p{margin:0}.pwa-install-card p{color:#55717d;margin-top:5px}.onboarding-link-actions{display:flex;flex-wrap:wrap;gap:9px}.system-test-flow{counter-reset:test;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;list-style:none}.system-test-flow li{padding:11px 12px;border:1px solid #dfe8eb;border-radius:10px}.readiness-list{display:grid;gap:7px}.readiness-list>div{display:flex;gap:10px;padding:10px 12px;border-radius:10px;background:#f4f7f8}.readiness-list>div.ready{background:#edf8f1}.readiness-list>div>span{font-weight:900}.readiness-list p{margin:0;display:grid}.readiness-list small{color:#6d818a}
.seat-summary.compact{margin:4px 0}.onboarding-inline-action{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #d8e5e9;border-radius:12px}.onboarding-inline-action>span{font-size:11px;font-weight:800;color:#294957}.import-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.import-status-grid article{display:grid;gap:4px;padding:15px;border:1px solid #d8e5e9;border-radius:13px;background:#f8fbfc}.import-status-grid small{font-size:10px;font-weight:800;color:#52707d}.import-status-grid strong{font-size:1.65rem;color:#083348}.import-status-grid span{font-size:10px;color:#6d818a}

@media(max-width:1180px){.onboarding-layout{grid-template-columns:210px minmax(0,1fr)}.onboarding-help{grid-column:1/-1;position:static}}
.billing-selection-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:linear-gradient(135deg,#f7fbfd,#fff);display:grid;gap:14px}.billing-selection-card>div:first-child{display:grid;gap:4px}.billing-selection-card small{color:var(--muted);line-height:1.5}
.device-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.device-check-grid article{display:grid;gap:8px;padding:16px;border:1px solid #d8e5e9;border-radius:14px}.device-check-grid small{color:var(--muted)}.device-check-grid .button-link{display:inline-flex;justify-content:center;cursor:pointer}
.onboarding-connection-status{display:grid;gap:9px;padding:15px;border:1px solid #d6e4e8;border-radius:14px;background:#f8fbfc}.onboarding-connection-status h3{margin:0 0 2px;font-size:1rem}.onboarding-connection-status article{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:11px 0;border-top:1px solid #e2ecef}.onboarding-connection-status article:first-of-type{border-top:0}.onboarding-connection-status article>div{display:grid;gap:2px}.onboarding-connection-status article>small{grid-column:1/-1;color:#637b86}.onboarding-connection-status article p{grid-column:1/-1}
.system-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.system-scope-grid fieldset{min-width:0;margin:0;padding:15px;border:1px solid #d5e3e8;border-radius:14px}.system-scope-grid legend{padding:0 5px;color:#294957;font-size:11px;font-weight:850}.system-scope-grid label{display:flex;align-items:flex-start;gap:8px;padding:6px 3px;color:#526d78;font-size:10px}.system-scope-grid label>span:first-child:last-child{margin:0}.system-scope-grid label:has(select){display:grid}.system-scope-grid small{display:block;padding:6px 3px;color:var(--muted);line-height:1.45}.system-permission-note{padding:15px;border-radius:14px;background:#f0f7f9}.system-permission-note p{margin:5px 0 10px;color:var(--muted);font-size:11px;line-height:1.5}
@media(max-width:760px){.onboarding-layout{grid-template-columns:1fr}.onboarding-steps{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-stage{padding:18px}.onboarding-help{display:none}.role-decision-grid,.knowledge-source-grid,.onboarding-system-grid,.system-scope-grid,.system-test-flow,.device-check-grid{grid-template-columns:1fr}.import-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-form-actions,.confirmed-knowledge{align-items:stretch;flex-direction:column}.pwa-install-card{grid-template-columns:auto 1fr}.pwa-install-card button{grid-column:1/-1}.onboarding-progress-copy{text-align:left}.invitation-delivery{grid-template-columns:1fr}.invitation-delivery img{width:min(220px,100%);justify-self:center}}

.skip-link { position: fixed; z-index: 200; left: 14px; top: 10px; padding: 11px 15px; border-radius: 8px; color: white; background: var(--navy); font-size: 13px; font-weight: 800; text-decoration: none; transform: translateY(calc(-100% - 18px)); }
.skip-link:focus { transform: translateY(0); outline: 3px solid var(--cyan); outline-offset: 2px; }
#mainContent:focus { outline: none; }

.portal-topbar { height: 72px; padding: 0 clamp(20px, 4vw, 58px); display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); position: sticky; top: 0; z-index: 30; }
.portal-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--navy); text-decoration: none; font-weight: 850; font-size: 20px; letter-spacing: -.5px; }
.portal-brand > span:last-child > span { color: var(--blue); }
.brand-symbol { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 9px; color: white; background: var(--navy); }
.topbar-right, .system-status { display: flex; align-items: center; gap: 12px; }
.demo-mode-badge { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid #b9deef; border-radius: 999px; color: #0b5f7a; background: #eff9fd; font-size: 10px; font-weight: 850; white-space: nowrap; }
.demo-mode-badge svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.worker-language-switcher { min-width: 176px; display: flex; align-items: center; gap: 8px; padding: 5px 6px 5px 10px; border: 1px solid #cfe0e7; border-radius: 10px; background: #f6fafb; box-shadow: 0 5px 16px rgba(11,36,56,.06); position: relative; }
.worker-language-label { flex: 0 0 auto; margin: 0; color: #59717e; font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.worker-language-button { min-width: 112px; padding: 7px 8px; display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 7px; border: 0; border-radius: 7px; color: var(--navy); background: white; text-align: left; box-shadow: none; }
.worker-language-button:focus-visible { outline: 3px solid rgba(20,141,204,.18); }
.worker-language-button strong { font-size: 11px; }
.worker-language-button i { color: var(--muted); font-size: 10px; font-style: normal; transition: transform .15s ease; }
.worker-language-button[aria-expanded="true"] i { transform: rotate(180deg); }
.worker-language-menu { width: 310px; max-height: min(470px, calc(100vh - 90px)); padding: 7px; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; overflow-y: auto; position: absolute; z-index: 90; right: 0; top: calc(100% + 8px); border: 1px solid #cbdde4; border-radius: 12px; background: white; box-shadow: 0 22px 55px rgba(7,35,53,.22); }
.worker-language-option { padding: 9px; display: grid; grid-template-columns: 25px 1fr; align-items: center; gap: 8px; border: 1px solid transparent; border-radius: 8px; color: #385563; background: white; text-align: left; font-size: 10px; font-weight: 800; }
.worker-language-option:hover, .worker-language-option[aria-selected="true"] { color: var(--navy); border-color: #b9ddea; background: #edf8fb; }
html[dir="rtl"] body.worker-mode .worker-language-button,
html[dir="rtl"] body.worker-mode .worker-language-option,
html[dir="rtl"] body.worker-mode .worker-project-card,
html[dir="rtl"] body.worker-mode .worker-message,
html[dir="rtl"] body.worker-mode .worker-inline-preview { text-align: right; }
html[dir="rtl"] body.worker-mode .worker-language-menu { right: auto; left: 0; }
html[dir="rtl"] body.worker-mode .worker-message.user { margin-left: 0; margin-right: auto; border-radius: 15px 15px 15px 4px; }
html[dir="rtl"] body.worker-mode .worker-message:not(.user) { margin-left: auto; border-radius: 15px 15px 4px 15px; }
html[dir="rtl"] body.worker-mode .worker-report-preview ul,
html[dir="rtl"] body.worker-mode .worker-report-questions ol { padding-left: 0; padding-right: 22px; }
.language-flag { width: 23px; height: 15px; display: inline-block; flex: 0 0 auto; border: 1px solid rgba(8,35,52,.16); border-radius: 3px; box-shadow: 0 1px 3px rgba(8,35,52,.12); overflow: hidden; }
.flag-de { background: linear-gradient(to bottom,#171717 0 33.33%,#d00 33.33% 66.66%,#ffce00 66.66%); }
.flag-tr { background: radial-gradient(circle at 45% 50%,#fff 0 31%,transparent 33%),radial-gradient(circle at 52% 50%,#e30a17 0 25%,transparent 27%),#e30a17; }
.flag-en { background: linear-gradient(90deg,transparent 42%,#fff 42% 58%,transparent 58%),linear-gradient(transparent 34%,#fff 34% 66%,transparent 66%),linear-gradient(90deg,transparent 46%,#cf142b 46% 54%,transparent 54%),linear-gradient(transparent 42%,#cf142b 42% 58%,transparent 58%),#21468b; }
.flag-pl { background: linear-gradient(to bottom,#fff 0 50%,#dc143c 50%); }
.flag-ro { background: linear-gradient(to right,#002b7f 0 33.33%,#fcd116 33.33% 66.66%,#ce1126 66.66%); }
.flag-ar { background: linear-gradient(to bottom,#0b8f3c 0 76%,#fff 76% 83%,#0b8f3c 83%); }
.flag-uk { background: linear-gradient(to bottom,#005bbb 0 50%,#ffd500 50%); }
.flag-ru { background: linear-gradient(to bottom,#fff 0 33.33%,#1c57a7 33.33% 66.66%,#d52b1e 66.66%); }
.flag-fr { background: linear-gradient(to right,#0055a4 0 33.33%,#fff 33.33% 66.66%,#ef4135 66.66%); }
.flag-it { background: linear-gradient(to right,#009246 0 33.33%,#fff 33.33% 66.66%,#ce2b37 66.66%); }
.flag-es { background: linear-gradient(to bottom,#aa151b 0 25%,#f1bf00 25% 75%,#aa151b 75%); }
.flag-pt { background: linear-gradient(to right,#046a38 0 40%,#da291c 40%); }
.flag-nl { background: linear-gradient(to bottom,#ae1c28 0 33.33%,#fff 33.33% 66.66%,#21468b 66.66%); }
.flag-bg { background: linear-gradient(to bottom,#fff 0 33.33%,#00966e 33.33% 66.66%,#d62612 66.66%); }
.flag-hr { background: linear-gradient(to bottom,#ff0000 0 33.33%,#fff 33.33% 66.66%,#171796 66.66%); }
.flag-sr { background: linear-gradient(to bottom,#c6363c 0 33.33%,#0c4076 33.33% 66.66%,#fff 66.66%); }
.flag-bs { background: linear-gradient(120deg,#002395 0 43%,#fecb00 43% 65%,#002395 65%); }
.flag-sq { background: radial-gradient(ellipse at center,#151515 0 22%,transparent 24%),#e41e20; }
.flag-el { background: repeating-linear-gradient(to bottom,#0d5eaf 0 11.11%,#fff 11.11% 22.22%); }
.flag-cs { background: linear-gradient(145deg,#11457e 0 34%,transparent 35%),linear-gradient(to bottom,#fff 0 50%,#d7141a 50%); }
.flag-sk { background: linear-gradient(to bottom,#fff 0 33.33%,#0b4ea2 33.33% 66.66%,#ee1c25 66.66%); }
.flag-hu { background: linear-gradient(to bottom,#ce2939 0 33.33%,#fff 33.33% 66.66%,#477050 66.66%); }
.flag-fa { background: linear-gradient(to bottom,#239f40 0 33.33%,#fff 33.33% 66.66%,#da0000 66.66%); }
.flag-ku { background: radial-gradient(circle at center,#f7c600 0 13%,transparent 15%),linear-gradient(to bottom,#e3202a 0 33.33%,#fff 33.33% 66.66%,#229e45 66.66%); }
.profile-language-field { display: grid; grid-template-columns: 34px 1fr; align-items: center; border: 1px solid var(--line); border-radius: 8px; background: white; }
.profile-language-field > .language-flag { width: 24px; height: 16px; margin-left: 10px; }
.profile-language-field select { border: 0; box-shadow: none; }
.profile-language-field:focus-within { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(20,141,204,.12); }
.system-status { color: var(--muted); font-size: 12px; }
.system-status i { width: 8px; height: 8px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 4px #fff1d9; }
.system-status.ok i { background: var(--green); box-shadow: 0 0 0 4px #dff5ec; }
.system-status.error i { background: var(--red); box-shadow: 0 0 0 4px #fde5e5; }
.system-status.demo { color: #0b5f7a; }
.system-status.demo i { background: var(--blue); box-shadow: 0 0 0 4px #dff3fa; }

.auth-view { min-height: calc(100vh - 72px); display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(430px, .8fr); }
.auth-visual { color: white; background: var(--navy); padding: clamp(55px, 8vw, 120px); display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; }
.auth-visual::before { content: ""; position: absolute; width: 520px; height: 520px; border-radius: 50%; border: 1px solid rgba(98,200,232,.16); right: -150px; top: -210px; box-shadow: 0 0 0 75px rgba(98,200,232,.035), 0 0 0 150px rgba(98,200,232,.025); }
.kicker { margin: 0 0 13px; color: var(--cyan); font-weight: 850; letter-spacing: 1.7px; font-size: 10px; }
.kicker.dark { color: var(--blue); }
.auth-visual h1 { max-width: 760px; margin: 0; font-size: clamp(44px, 5.4vw, 78px); line-height: .98; letter-spacing: -3.5px; position: relative; }
.auth-visual h1 em { display: block; color: var(--cyan); font-family: Georgia, serif; font-weight: 400; }
.auth-lead { max-width: 650px; margin: 27px 0 0; font-size: 17px; line-height: 1.65; color: #c9dbe4; position: relative; }
.trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; max-width: 650px; margin-top: 48px; position: relative; }
.trust-grid div { padding: 18px; border: 1px solid rgba(255,255,255,.13); border-radius: 11px; background: rgba(255,255,255,.055); }
.trust-grid strong, .trust-grid span { display: block; }
.trust-grid strong { color: white; font-size: 18px; }
.trust-grid span { margin-top: 4px; color: #a9c0cc; font-size: 11px; }
.auth-card { align-self: center; width: min(510px, calc(100% - 50px)); margin: 40px auto; padding: clamp(30px, 3.4vw, 42px); border: 1px solid var(--line); border-radius: 16px; background: white; box-shadow: var(--shadow); }
.auth-card h2 { margin: 0; font-size: 31px; letter-spacing: -1.1px; color: var(--navy); }
.subtle { color: var(--muted); line-height: 1.55; font-size: 13px; }
.stack-form { display: grid; gap: 17px; margin-top: 27px; }
.stack-form.compact { gap: 13px; }
label > span { display: block; margin-bottom: 7px; color: var(--muted); font-size: 10px; font-weight: 850; letter-spacing: .65px; text-transform: uppercase; }
input, textarea, select { width: 100%; padding: 12px 13px; border: 1px solid var(--line); border-radius: 8px; color: var(--text); background: white; outline: none; transition: .15s; }
input:focus, textarea:focus, select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(20,141,204,.12); }
textarea { line-height: 1.5; resize: vertical; }
.primary, .secondary, .approve-button, .ghost { border: 1px solid transparent; border-radius: 8px; padding: 12px 16px; font-weight: 800; }
.primary { background: var(--blue); color: white; box-shadow: 0 8px 20px rgba(20,141,204,.2); }
.primary:hover { background: #055e8b; }
.primary:disabled { opacity: .55; cursor: wait; }
.secondary { color: var(--navy); background: white; border-color: var(--line); }
.approve-button { color: white; background: var(--green); }
.ghost { color: var(--navy); background: transparent; border-color: var(--line); }
.small { padding: 8px 11px; font-size: 11px; }
.wide-button { width: 100%; }
.text-button, .back-button { padding: 0; border: 0; color: var(--blue); background: transparent; font-weight: 800; font-size: 11px; }
.back-button { margin-bottom: 25px; color: var(--muted); }
.auth-card .text-button { display: block; margin: 15px 0 0 auto; }
.auth-separator { display: flex; align-items: center; gap: 11px; margin: 27px 0 14px; color: var(--muted); font-size: 10px; }
.auth-separator::before, .auth-separator::after { content: ""; height: 1px; flex: 1; background: var(--line); }
#loginPanel .stack-form { gap: 13px; margin-top: 22px; }
.auth-provider-separator { margin: 10px 0 8px; }
.google-login-control { display: grid; justify-items: center; gap: 5px; }
.google-login-button-host { width: 100%; height: 44px; min-height: 44px; max-height: 44px; display: none; justify-content: center; overflow: hidden; }
.google-login-control.ready .google-login-button-host { display: flex; }
.google-login-button-host > div,
.google-login-button-host > div > div,
.google-login-button-host [role="button"] { width: min(400px,100%) !important; height: 44px !important; min-height: 44px !important; max-height: 44px !important; }
.google-login-button-host [role="button"] { display: flex !important; align-items: center !important; justify-content: center !important; overflow: hidden !important; border: 1px solid #747775 !important; border-radius: 4px !important; background: #fff !important; color: #1f1f1f !important; font: 500 14px Arial,sans-serif !important; }
.google-login-button-host [role="button"] > div:last-child { position: relative !important; display: flex !important; width: 100% !important; height: 44px !important; align-items: center !important; justify-content: center !important; }
.google-login-button-host [role="button"] > div:last-child > div:first-child { position: absolute !important; left: 12px !important; width: 18px !important; height: 18px !important; }
.google-login-button-host [role="button"] > div:last-child > span { white-space: nowrap !important; }
.google-login-button-host [role="button"] > div:last-child > span:last-child:not(:first-child) { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; }
.google-login-button-host [role="button"] svg { display: block !important; width: 18px !important; height: 18px !important; max-width: 18px !important; max-height: 18px !important; }
.google-login-button-host [role="button"] svg:not(:root) { overflow: hidden !important; }
.google-login-control.ready .google-login-placeholder { display: none; }
.google-login-placeholder { width: 100%; min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 6px 16px; border: 1px solid #c9d2da; border-radius: 4px; color: #3c4043; background: #fff; font: 500 14px Arial,sans-serif; }
.google-login-placeholder:disabled { opacity: .68; cursor: wait; }
.google-login-placeholder svg { width: 18px; height: 18px; flex: 0 0 auto; }
.google-login-control > small { color: var(--muted); font-size: 9px; font-weight: 600; text-align: center; }
#loginPanel > .text-button { margin-top: 9px; }
#loginPanel > .auth-separator:not(.auth-provider-separator) { margin: 18px 0 10px; }
.two-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.check-row { display: flex; align-items: start; gap: 9px; }
.check-row input { width: 17px; margin-top: 2px; }
.check-row span { margin: 0; text-transform: none; letter-spacing: 0; font-weight: 600; line-height: 1.45; }
.check-row a { color: var(--blue); }
.waitlist-note { margin: -3px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; text-align: center; }
.demo-access { display: grid; gap: 12px; margin-top: 18px; padding: 15px; border: 1px solid #b9deef; border-radius: 11px; background: #eff9fd; }
.demo-access strong, .demo-access small { display: block; }
.demo-access strong { font-size: 11px; }
.demo-access small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.demo-access button { display: grid; align-content: center; flex: 1 1 135px; min-height: 50px; border: 0; border-radius: 7px; padding: 8px 10px; background: var(--navy); color: white; font-size: 10px; font-weight: 800; text-align: left; }
.demo-access button strong { color: inherit; font-size: 10px; }
.demo-access button small { color: rgba(255,255,255,.72); font-size: 8px; font-weight: 600; }
.demo-access-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.demo-access-actions .demo-admin-button { grid-column: 1 / -1; background: var(--blue); }
.demo-access-actions .demo-admin-button small { color: #fff; }
.demo-access-actions button:last-child { background: #17455e; }
.auth-message { padding: 16px; border-radius: 9px; background: #e9f7f0; color: #126a49; line-height: 1.55; font-size: 13px; }
.invitation-delivery { display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 24px; align-items: center; margin-bottom: 18px; }
.invitation-delivery img { width: 180px; aspect-ratio: 1; border-radius: 10px; border: 1px solid var(--line); background: #fff; }
.invitation-delivery h2 { margin: 4px 0 8px; }
.invitation-delivery p:not(.kicker) { color: var(--muted); line-height: 1.55; }
.invitation-delivery .secondary { display: inline-flex; margin-right: 12px; text-decoration: none; }

.app-view { --sidebar-width: 245px; min-height: calc(100vh - 72px); display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); transition: grid-template-columns .2s ease; }
.app-view.sidebar-collapsed { --sidebar-width: 76px; }
body.guided-demo-mode:not(.worker-mode) .sidebar nav [data-view="notes"],
body.guided-demo-mode:not(.worker-mode) #templatesNav,
body.guided-demo-mode:not(.worker-mode) #trashNav,
body.guided-demo-mode:not(.worker-mode) #connectorsNav,
body.guided-demo-mode:not(.worker-mode) #teamNav,
body.guided-demo-mode:not(.worker-mode) #profileNav,
body.guided-demo-mode:not(.worker-mode) #privacyNav,
body.guided-demo-mode:not(.worker-mode) [data-external-url="/email"] { display: none; }
.sidebar { min-height: calc(100vh - 72px); padding: 24px 16px 18px; color: white; background: var(--navy); display: flex; flex-direction: column; position: sticky; top: 72px; height: calc(100vh - 72px); transition: padding .2s ease; }
.mobile-nav-toggle { display: none; }
.company-switcher { padding: 15px; border: 1px solid rgba(255,255,255,.13); border-radius: 10px; background: rgba(255,255,255,.055); }
.company-switcher span, .company-switcher strong, .company-switcher small { display: block; }
.company-switcher span { color: #88a6b6; font-size: 9px; font-weight: 800; letter-spacing: .7px; text-transform: uppercase; }
.company-switcher strong { margin-top: 5px; font-size: 13px; }
.company-switcher small { margin-top: 3px; color: var(--cyan); font-size: 10px; }
.sidebar-collapse-toggle { width: 100%; min-height: 36px; margin-top: 12px; padding: 7px 10px; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,.12); border-radius: 8px; color: #a9c0cc; background: rgba(255,255,255,.04); text-align: left; font-size: 10px; font-weight: 800; transition: color .16s ease, background .16s ease; }
.sidebar-collapse-toggle:hover { color: white; background: rgba(98,200,232,.13); }
.sidebar-collapse-toggle > span:first-child { width: 18px; height: 18px; flex: 0 0 18px; display: grid; place-items: center; }
.sidebar-collapse-toggle svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.sidebar-collapse-label { overflow: hidden; white-space: nowrap; }
.sidebar nav { min-height: 0; display: grid; align-content: start; flex: 1 1 auto; gap: 5px; margin-top: 12px; padding-right: 3px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(98,200,232,.35) transparent; }
.sidebar nav button { display: flex; gap: 12px; align-items: center; padding: 12px 13px; border: 0; border-radius: 8px; color: #a9c0cc; background: transparent; text-align: left; font-size: 12px; font-weight: 750; }
.sidebar nav button span { width: 18px; text-align: center; font-size: 16px; }
.sidebar nav button span svg { width: 18px; height: 18px; display: block; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.sidebar nav button:hover, .sidebar nav button.active { color: white; background: rgba(98,200,232,.13); }
.sidebar nav button.active { box-shadow: inset 3px 0 var(--cyan); }
.sidebar-nav-group { min-width: 0; padding-top: 11px; border-top: 1px solid rgba(134,225,230,.15); }
.sidebar-nav-group:first-child { padding-top: 0; border-top: 0; }
.sidebar-nav-group:not(:has(> .sidebar-nav-items > button:not(.hidden))) { display: none; }
.sidebar-nav-group > summary { min-height: 36px; padding: 8px 12px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border-radius: 8px; color: #9ec2ca; font-size: 11px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; list-style: none; cursor: pointer; }
.sidebar-nav-group > summary::-webkit-details-marker { display: none; }
.sidebar-nav-group > summary:hover { color: #eafffc; background: rgba(96,222,212,.08); }
.sidebar-nav-group > summary:focus-visible { outline: 2px solid var(--cyan); outline-offset: -2px; }
.sidebar-nav-group:has(.sidebar-nav-items > button.active) > summary { color: #d9f9f5; }
.sidebar-nav-chevron { flex: 0 0 auto; font-size: 17px; line-height: 1; transition: transform .16s ease; }
.sidebar-nav-group:not([open]) .sidebar-nav-chevron { transform: rotate(-90deg); }
.sidebar-nav-items { display: grid; gap: 5px; }
.sidebar-nav-items > button { width: 100%; }
body.guided-demo-mode:not(.worker-mode) .sidebar-nav-group[data-sidebar-group="company"],
body.guided-demo-mode:not(.worker-mode) .sidebar-nav-group[data-sidebar-group="account"] { display: none; }
html[data-ui="operations"] .sidebar-nav-group { display: none; }
.sidebar-user { display: flex; align-items: center; gap: 10px; margin-top: auto; padding: 15px 6px 0; border-top: 1px solid rgba(255,255,255,.1); min-width: 0; }
.avatar { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: var(--navy); background: var(--cyan); font-size: 11px; font-weight: 900; }
.sidebar-user div { min-width: 0; }
.sidebar-user strong, .sidebar-user small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user strong { font-size: 11px; }
.sidebar-user small { margin-top: 2px; color: #89a3b1; font-size: 9px; }
.content-shell { padding: clamp(27px, 4vw, 54px); min-width: 0; }
.app-view.sidebar-collapsed .sidebar { padding-inline: 10px; }
.app-view.sidebar-collapsed .company-switcher { display: none; }
.app-view.sidebar-collapsed .sidebar-collapse-toggle { width: 44px; margin: 0 auto 2px; padding-inline: 12px; }
.app-view.sidebar-collapsed .sidebar-collapse-toggle svg { transform: rotate(180deg); }
.app-view.sidebar-collapsed .sidebar-collapse-label { display: none; }
.app-view.sidebar-collapsed .sidebar nav button { width: 46px; justify-content: center; gap: 0; margin-inline: auto; padding-inline: 12px; font-size: 0; }
.app-view.sidebar-collapsed .sidebar nav button span { flex: 0 0 18px; }
.app-view.sidebar-collapsed .sidebar-nav-group { padding-top: 7px; }
.app-view.sidebar-collapsed .sidebar-nav-group > summary { display: none; }
.app-view.sidebar-collapsed .sidebar-user { justify-content: center; padding-inline: 0; }
.app-view.sidebar-collapsed .sidebar-user div { display: none; }

@media (min-width: 801px) {
  body.workspace-mode { height: 100vh; min-height: 0; overflow: hidden; }
  body.workspace-mode #mainContent { height: calc(100vh - 72px); min-height: 0; }
  body.workspace-mode .app-view { height: 100%; min-height: 0; overflow: hidden; }
  body.workspace-mode .sidebar { position: relative; top: auto; height: 100%; min-height: 0; }
  body.workspace-mode .content-shell { height: 100%; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
  [data-content="projects"].project-detail-open { margin-top: calc(-1 * clamp(27px, 4vw, 54px)); }
  [data-content="projects"].project-detail-open > .page-heading,
  [data-content="projects"].project-detail-open > .project-master-form { display: none; }
  .project-hub-layout.project-open .project-cockpit-sticky { position: sticky; top: calc(-1 * clamp(27px, 4vw, 54px)); z-index: 24; }
  .project-hub-layout.project-open .project-chat { min-height: 0; grid-template-rows: auto minmax(0,1fr) auto; }
  .project-hub-layout.project-open .project-chat-messages { min-height: 0; }
}

.plan-viewer-dialog{width:min(1240px,96vw);height:min(900px,94vh);padding:0;overflow:hidden}.plan-viewer-toolbar{padding:10px 18px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--line)}.plan-viewer-toolbar .danger{margin-left:auto}.plan-viewer-workspace{min-height:0;height:calc(100% - 132px);display:grid;grid-template-columns:minmax(0,1fr) 330px}.plan-canvas-scroll{min-width:0;overflow:auto;padding:16px;background:#263238;text-align:center}.plan-canvas-stage{position:relative;display:inline-block;line-height:0;box-shadow:0 8px 30px #0008}.plan-canvas-stage canvas{display:block;background:white}.plan-pin-layer{position:absolute;inset:0;pointer-events:none}.plan-pin{position:absolute;width:31px;height:31px;transform:translate(-50%,-50%);display:grid;place-items:center;border:2px solid white;border-radius:50%;color:white;background:#1476a4;box-shadow:0 4px 12px #0008;font-size:14px;font-weight:900;line-height:1;z-index:2;pointer-events:auto}.plan-pin:hover,.plan-pin:focus-visible{z-index:3;transform:translate(-50%,-50%) scale(1.16)}.plan-pin.pin-type-note{background:#526b79}.plan-pin.pin-type-defect{background:#c94040}.plan-pin.pin-type-obstruction{background:#d47d0a}.plan-pin.pin-type-extra_work{background:#17835b}.plan-viewer-workspace>aside{overflow:auto;padding:16px;border-left:1px solid var(--line);background:white}.plan-marker-legend{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:17px}.plan-marker-legend span{padding:5px 8px;border-radius:99px;color:white;background:#1476a4;font-size:8px;font-weight:850}.plan-marker-legend .note{background:#526b79}.plan-marker-legend .defect{background:#c94040}.plan-marker-legend .obstruction{background:#d47d0a}.plan-marker-legend .extra_work{background:#17835b}.plan-pin-list,.plan-transfer-list{display:grid;gap:8px;margin-bottom:20px}.plan-pin-card{width:100%;padding:10px;display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center;border:1px solid var(--line);border-radius:10px;color:var(--text);background:#f7fafb;text-align:left}.plan-pin-card>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;color:white;background:#1476a4;font-weight:900}.plan-pin-card>span.note{background:#526b79}.plan-pin-card>span.defect{background:#c94040}.plan-pin-card>span.obstruction{background:#d47d0a}.plan-pin-card>span.extra_work{background:#17835b}.plan-pin-card strong,.plan-pin-card small{display:block}.plan-pin-card small{margin-top:3px;color:var(--muted);font-size:8px}.worker-project-document[type=button]{width:100%;border:0;text-align:left}
.plan-pdf-dropzone{min-height:116px;padding:18px;display:flex;align-items:center;justify-content:center;gap:14px;border:1.5px dashed #84b8cd;border-radius:13px;background:#f0f8fb;cursor:pointer}.plan-pdf-dropzone input{position:absolute;width:1px;height:1px;opacity:0}.plan-pdf-dropzone>span{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;color:white;background:#0a729e;font-size:11px;font-weight:900}.plan-pdf-dropzone strong,.plan-pdf-dropzone small{display:block}.plan-pdf-dropzone small{margin-top:5px;color:var(--muted);font-size:9px;line-height:1.4}
.plan-pin-card[data-open-plan],.plan-pin-card[data-open-offline-plan],.plan-transfer-list .plan-pin-card{grid-template-columns:1fr}
.project-plans-panel{display:grid;gap:16px}.project-plans-head{padding:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #cfe1e8;border-radius:14px;background:linear-gradient(135deg,#f4fafc,#fff)}.project-plans-head h3{margin:0;color:var(--navy);font-size:17px}.project-plans-head p{margin:5px 0 0;color:var(--muted);font-size:10px}.project-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-plan-card{min-width:0;padding:0;display:grid;grid-template-columns:92px minmax(0,1fr);overflow:hidden;border:1px solid #d6e4e9;border-radius:14px;color:var(--text);background:white;text-align:left;box-shadow:0 7px 20px rgba(8,43,62,.05)}.project-plan-card:hover{border-color:#8ec6d9;box-shadow:0 10px 26px rgba(8,43,62,.1)}.project-plan-card-mark{display:grid;place-items:center;color:white;background:linear-gradient(150deg,#092f46,#0b7d83);font-size:15px;font-weight:900}.project-plan-card-body{min-width:0;padding:15px}.project-plan-card-body>span{color:#0877a6;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.project-plan-card-body strong,.project-plan-card-body small{display:block}.project-plan-card-body strong{margin-top:5px;overflow:hidden;color:var(--navy);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.project-plan-card-body small{margin-top:5px;color:var(--muted);font-size:9px}.project-plan-card-body footer{margin-top:11px;display:flex;align-items:center;justify-content:space-between;gap:8px}.project-plan-card-body footer b{padding:5px 8px;border-radius:99px;color:#075d80;background:#e6f5fa;font-size:8px}.project-plan-empty{padding:35px 20px;border:1.5px dashed #b9d4de;border-radius:14px;background:#f8fbfc;text-align:center}.project-plan-empty strong,.project-plan-empty span{display:block}.project-plan-empty strong{color:var(--navy)}.project-plan-empty span{margin:7px auto 15px;max-width:520px;color:var(--muted);font-size:10px;line-height:1.5}
.plan-pin-layer{width:100%;height:100%;overflow:visible}.plan-pin-layer .plan-pin{position:static;width:auto;height:auto;display:block;border:0;background:transparent;box-shadow:none;transform:none;cursor:default;touch-action:none}.plan-pin-layer .plan-pin.can-move{cursor:grab}.plan-pin-layer .plan-pin.can-move:active{cursor:grabbing}.plan-pin-layer .plan-pin:hover,.plan-pin-layer .plan-pin:focus-visible{transform:none;outline:none}.plan-pin-layer .plan-pin circle{fill:#1476a4;stroke:#fff;stroke-width:2;filter:drop-shadow(0 4px 5px #0008)}.plan-pin-layer .plan-pin.pin-type-note circle{fill:#526b79}.plan-pin-layer .plan-pin.pin-type-defect circle{fill:#c94040}.plan-pin-layer .plan-pin.pin-type-obstruction circle{fill:#d47d0a}.plan-pin-layer .plan-pin.pin-type-extra_work circle{fill:#17835b}.plan-pin-layer .plan-pin text{fill:#fff;font-size:14px;font-weight:900;pointer-events:none}.plan-pin-layer .plan-pin:focus-visible circle{stroke:#7de3ff;stroke-width:4}.plan-pin-card{grid-template-columns:30px minmax(0,1fr) auto}.plan-pin-jump{min-width:0;padding:0;border:0;color:inherit;background:transparent;text-align:left}.plan-pin-delete{width:28px;height:28px;padding:0;border:0;border-radius:50%;color:#ae2e2e;background:#fff0f0;font-size:18px}.plan-assignee-fieldset{min-width:0;margin:0;padding:11px;border:1px solid var(--line);border-radius:10px}.plan-assignee-fieldset legend{padding:0 5px;color:var(--muted);font-size:9px;font-weight:800}.plan-assignee-picker{max-height:145px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;overflow:auto}.plan-assignee-picker>label{min-width:0;padding:8px;display:flex;align-items:center;gap:8px;border:1px solid #dce7eb;border-radius:9px;background:#f8fbfc;cursor:pointer}.plan-assignee-picker input{width:17px;height:17px;flex:0 0 auto;accent-color:#0877a6}.plan-assignee-picker span,.plan-assignee-picker small{display:block}.plan-assignee-picker span{min-width:0;color:var(--navy);font-size:9px;font-weight:800}.plan-assignee-picker small{margin-top:2px;overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.plan-tool-divider{width:1px;height:28px;margin:0 2px;background:var(--line)}.plan-draw-tool.active{border-color:#0879a4;color:white;background:#0879a4;box-shadow:0 0 0 3px #d9f0f7}.plan-canvas-stage.draw-point{cursor:crosshair}.plan-canvas-stage.draw-area{cursor:crosshair;user-select:none}.plan-area-draft{fill:rgba(0,151,197,.18);stroke:#00a7d4;stroke-width:2;stroke-dasharray:7 5;pointer-events:none}.plan-pin-layer .plan-pin .plan-area-shape{fill:rgba(20,118,164,.2);stroke:#1476a4;stroke-width:3;vector-effect:non-scaling-stroke;pointer-events:all}.plan-pin-layer .plan-pin.pin-type-note .plan-area-shape{fill:rgba(82,107,121,.2);stroke:#526b79}.plan-pin-layer .plan-pin.pin-type-defect .plan-area-shape{fill:rgba(201,64,64,.2);stroke:#c94040}.plan-pin-layer .plan-pin.pin-type-obstruction .plan-area-shape{fill:rgba(212,125,10,.2);stroke:#d47d0a}.plan-pin-layer .plan-pin.pin-type-extra_work .plan-area-shape{fill:rgba(23,131,91,.2);stroke:#17835b}.plan-pin-layer .plan-pin text.plan-area-title{fill:#0b4058;font-size:11px;font-weight:850;filter:drop-shadow(0 1px 0 #fff)}.plan-pin-layer .plan-pin.is-completed circle{fill:#16865f}.plan-pin-layer .plan-pin.is-completed .plan-area-shape{fill:rgba(22,134,95,.2);stroke:#16865f}.plan-pin-layer .plan-pin.is-completed text.plan-area-title{fill:#07563c}.plan-pin-layer .plan-pin.plan-area:focus-visible .plan-area-shape{stroke:#7de3ff;stroke-width:5}.plan-pin-card.completed{border-color:#9ed7c4;background:#eefaf6}.plan-pin-card.completed>span{background:#16865f}.plan-pin-card-actions{display:flex;align-items:center;gap:5px}.plan-pin-task-toggle{width:28px;height:28px;padding:0;border:0;border-radius:50%;color:#087350;background:#ddf5eb;font-size:14px;font-weight:900}.plan-pin-card.completed .plan-pin-task-toggle{color:#526b79;background:#e8eff1}.plan-pin-geometry-summary{padding:12px;display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;border:1px solid #cce3eb;border-radius:10px;background:#f0f9fc}.plan-pin-geometry-summary>span{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;color:white;background:#0879a4;font-size:16px;font-weight:900}.plan-pin-geometry-summary strong,.plan-pin-geometry-summary small{display:block}.plan-pin-geometry-summary strong{color:var(--navy);font-size:11px}.plan-pin-geometry-summary small{margin-top:3px;color:var(--muted);font-size:9px}.plan-link-mode{margin:0;padding:11px;border:1px solid var(--line);border-radius:10px}.plan-link-mode legend{padding:0 5px;color:var(--muted);font-size:9px;font-weight:800}.plan-link-mode>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.plan-link-mode label{min-width:0;padding:10px;display:flex;align-items:flex-start;gap:9px;border:1px solid #d9e5e9;border-radius:9px;background:#f8fbfc;cursor:pointer}.plan-link-mode label:has(input:checked){border-color:#1582a7;background:#eaf7fb;box-shadow:inset 0 0 0 1px #1582a7}.plan-link-mode label:has(input:disabled){opacity:.52;cursor:not-allowed}.plan-link-mode input{width:17px;height:17px;flex:0 0 auto;accent-color:#0879a4}.plan-link-mode strong,.plan-link-mode small{display:block}.plan-link-mode strong{color:var(--navy);font-size:10px}.plan-link-mode small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.4}.plan-existing-task-fields,.plan-new-work-item-fields{display:grid;gap:13px}.task-card-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.task-card-controls>.work-row-actions{margin:0}.task-plan-link{margin-left:auto}
@media(max-width:800px){.plan-viewer-dialog{width:100vw;height:100vh;max-height:none;border-radius:0}.plan-viewer-workspace{grid-template-columns:1fr;height:calc(100% - 174px)}.plan-viewer-workspace>aside{border-left:0;border-top:1px solid var(--line)}.plan-viewer-toolbar .danger{margin-left:0}.project-plans-head{align-items:stretch;flex-direction:column}.project-plans-head button{width:100%}.project-plan-grid{grid-template-columns:1fr}.project-plan-card{grid-template-columns:72px minmax(0,1fr)}}
.content-view { display: none; animation: rise .22s ease; }
.content-view.active { display: block; }
@keyframes rise { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.page-heading { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 30px; }
.page-heading h1 { margin: 0; color: var(--navy); font-size: clamp(30px, 4vw, 43px); letter-spacing: -1.8px; }
.page-heading p:last-child { margin: 8px 0 0; color: var(--muted); font-size: 13px; }
.action-primary { width: auto; white-space: nowrap; }
.heading-actions { display: flex; align-items: center; gap: 10px; }
.heading-actions button { width: auto; margin: 0; white-space: nowrap; }
.dashboard-actions { flex-wrap: wrap; justify-content: flex-end; }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.metric-grid article { display: flex; align-items: center; gap: 14px; padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: 0 8px 25px rgba(11,36,56,.045); }
.metric-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 10px; font-weight: 900; }
.metric-icon.blue { color: #087cb7; background: #e7f5fb; }
.metric-icon.green { color: var(--green); background: #e5f6ef; }
.metric-icon.orange { color: var(--orange); background: #fff3df; }
.metric-icon.navy { color: var(--navy); background: #e9eff2; }
.metric-grid small, .metric-grid strong { display: block; }
.metric-grid small { color: var(--muted); font-size: 9px; font-weight: 750; text-transform: uppercase; letter-spacing: .5px; }
.metric-grid strong { margin-top: 4px; color: var(--navy); font-size: 24px; }
.dashboard-grid { display: grid; grid-template-columns: 1.7fr .8fr; gap: 17px; margin-top: 17px; }
.surface { padding: 22px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: 0 9px 28px rgba(11,36,56,.045); }
.surface-head { display: flex; justify-content: space-between; gap: 20px; align-items: start; }
.surface h2 { margin: 0; color: var(--navy); font-size: 17px; }
.surface p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.report-list { display: grid; margin-top: 15px; }
.report-row { display: grid; grid-template-columns: minmax(160px, 1fr) 135px 100px 34px; gap: 12px; align-items: center; padding: 13px 4px; border-top: 1px solid #edf1f3; }
.report-row:first-child { border-top: 0; }
.report-row button { width: 32px; height: 32px; border: 0; border-radius: 7px; color: var(--blue); background: #eaf6fb; font-weight: 900; }
.report-main strong, .report-main small { display: block; }
.report-main strong { color: var(--navy); font-size: 12px; }
.report-main small, .report-cell { margin-top: 3px; color: var(--muted); font-size: 10px; }
.status-badge { display: inline-flex; align-items: center; gap: 5px; width: fit-content; padding: 5px 8px; border-radius: 99px; background: #eef2f4; color: #526875; font-size: 9px; font-weight: 850; }
.status-badge.review { color: #9a600b; background: #fff2dc; }
.status-badge.approved { color: #126a49; background: #e6f6ef; }
.status-badge.failed { color: #9b3131; background: #fdeaea; }
.quick-card { color: white; background: linear-gradient(145deg, var(--navy), var(--navy-soft)); border-color: transparent; }
.quick-card h2 { color: white; }
.quick-card p { color: #a9c0cc; line-height: 1.5; }
.audio-cta { width: 100%; display: flex; align-items: center; gap: 12px; margin: 20px 0 17px; padding: 15px; border: 1px solid rgba(255,255,255,.13); border-radius: 9px; color: white; background: rgba(255,255,255,.07); text-align: left; }
.audio-cta > span { color: var(--cyan); font-weight: 900; }
.audio-cta strong, .audio-cta small { display: block; }
.audio-cta strong { font-size: 11px; }
.audio-cta small { margin-top: 3px; color: #a9c0cc; font-size: 9px; }
.quick-card a { color: var(--cyan); text-decoration: none; font-size: 10px; font-weight: 800; }
.toolbar { display: grid; grid-template-columns: 1fr 180px; gap: 12px; margin-bottom: 15px; }
.table-surface { padding: 8px 18px; overflow-x: auto; }
.empty-state { padding: 45px 15px; color: var(--muted); text-align: center; font-size: 12px; }
.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.project-card { padding: 21px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.project-card .project-number { color: var(--blue); font-size: 9px; font-weight: 850; letter-spacing: .8px; }
.project-card h3 { margin: 8px 0 6px; color: var(--navy); font-size: 16px; }
.project-card p { min-height: 34px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.project-card .project-customer { min-height: 0; margin-top: 9px; color: #29445a; font-size: 9px; font-weight: 750; }
.project-card .project-manager { min-height: 0; margin-top: 4px; font-size: 9px; }
.project-card-actions { display: flex; gap: 7px; margin-top: 14px; }
.project-card-actions button { flex: 1; padding: 8px 9px; border: 1px solid #d6e3e9; border-radius: 7px; color: #29445a; background: #f7fafb; font-size: 9px; font-weight: 800; cursor: pointer; }
.project-card-actions button.primary-mini { border-color: #c7e1ed; color: #0877ae; background: #eef8fc; }
.project-card footer { display: flex; justify-content: space-between; margin-top: 18px; padding-top: 13px; border-top: 1px solid #edf1f3; color: var(--muted); font-size: 9px; }
.project-hub-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; align-items: start; }
.project-hub-layout.project-open { display: block; }
.project-hub-layout:not(.project-open) .project-cockpit { display: none; }
.project-hub-layout.project-open .project-rail { display: none; }
.project-rail { width: 100%; min-height: 500px; padding: clamp(22px,3vw,38px); overflow: visible; }
.project-selection-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.project-selection-heading h2 { max-width: 760px; margin: 5px 0 7px; color: var(--navy); font-size: clamp(25px,3vw,38px); letter-spacing: -1.2px; }
.project-selection-heading p:last-child { max-width: 680px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.project-selection-heading .action-primary { min-height: 48px; padding-inline: 22px; }
.project-selection-tools { margin-top: 26px; display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; }
.project-selection-search { min-height: 64px; padding: 0 20px; display: flex; align-items: center; gap: 13px; border: 2px solid #b8d5df; border-radius: 15px; background: #fbfdfe; box-shadow: 0 8px 24px rgba(8,43,62,.06); transition: border-color .15s ease,box-shadow .15s ease; }
.project-selection-search:focus-within { border-color: #159d91; box-shadow: 0 0 0 4px rgba(21,157,145,.11),0 12px 28px rgba(8,43,62,.08); }
.project-selection-search > span { color: #0d7d8c; font-size: 26px; line-height: 1; }
.project-selection-search input { width: 100%; min-width: 0; padding: 0; border: 0; outline: 0; color: var(--navy); background: transparent; font: inherit; font-size: 15px; }
.project-selection-search input::placeholder { color: #81949f; }
.project-presentation-toggle { width: auto; justify-self: start; padding: 9px 13px; border: 1px solid #b7dfd8; border-radius: 10px; background: #effaf7; color: #08776d; font-size: 9px; font-weight: 900; cursor: pointer; }
.project-selection-summary { margin: 24px 0 12px; display: flex; align-items: baseline; justify-content: space-between; gap: 15px; }
.project-selection-summary strong { color: var(--navy); font-size: 14px; }
.project-selection-summary span { color: var(--muted); font-size: 10px; }
#projectGrid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.project-rail-item { position: relative; width: 100%; min-height: 205px; padding: 0; display: grid; grid-template-rows: auto 1fr auto; overflow: hidden; border: 1px solid #d5e3e8; border-radius: 14px; color: inherit; background: white; text-align: left; cursor: pointer; box-shadow: 0 8px 22px rgba(8,43,62,.055); transition: transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.project-rail-item:hover,.project-rail-item:focus-visible { border-color: #75bfc2; outline: 0; box-shadow: 0 15px 34px rgba(8,43,62,.12); transform: translateY(-3px); }
.project-rail-item.active { border-color: #64b9bb; }
.project-selection-card-top { padding: 14px 17px; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #d9f5f2; background: linear-gradient(120deg,#083047,#137f82); }
.project-selection-card-top > span { display: flex; align-items: center; gap: 7px; font-size: 9px; font-weight: 900; letter-spacing: .45px; text-transform: uppercase; }
.project-selection-card-top > b { color: white; font-size: 9px; white-space: nowrap; }
.project-selection-card-main { padding: 18px 17px 15px; display: block; }
.project-selection-card-main > strong { display: block; color: var(--navy); font-size: 18px; line-height: 1.22; }
.project-selection-card-main > em { margin-top: 9px; display: block; color: #607682; font-size: 10px; font-style: normal; line-height: 1.45; }
.project-selection-card-meta { padding: 13px 17px; display: grid; grid-template-columns: minmax(0,1.6fr) repeat(2,minmax(65px,.7fr)); gap: 12px; border-top: 1px solid #e5ecef; background: #f8fafb; }
.project-selection-card-meta > span { min-width: 0; display: block; }
.project-selection-card-meta small,.project-selection-card-meta strong { display: block; }
.project-selection-card-meta small { color: #7b8e98; font-size: 8px; text-transform: uppercase; letter-spacing: .35px; }
.project-selection-card-meta strong { margin-top: 4px; overflow: hidden; color: #29485a; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.project-selection-card-meta .has-open strong { color: #a66708; }
.project-rail-status { width: 7px; height: 7px; border-radius: 50%; background: #9aabb5; }
.project-rail-status.active { background: #1ca56f; }
.project-rail-status.paused { background: var(--orange); }
.project-cockpit { min-height: 540px; padding: 0; overflow: hidden; }
.project-hub-layout.project-open .project-cockpit { width: 100%; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.project-cockpit-sticky { overflow: visible; border: 1px solid var(--line); border-radius: 14px 14px 0 0; background: white; box-shadow: 0 8px 24px rgba(8,43,62,.09); }
.project-cockpit-empty { min-height: 520px; display: grid; place-content: center; justify-items: center; padding: 40px; color: var(--muted); text-align: center; }
.project-cockpit-empty > span { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 18px; color: var(--blue); background: #eaf6fb; font-size: 28px; }
.project-cockpit-empty h2 { margin: 15px 0 4px; }
.project-cockpit-empty p { max-width: 480px; line-height: 1.55; }
.project-cockpit-hero { position: relative; padding: 24px 190px 24px 24px; display: flex; justify-content: space-between; align-items: end; gap: 20px; border-radius: 14px 14px 0 0; color: white; background: linear-gradient(120deg,#082b42,#147d83); }
.project-cockpit-title { min-width: 0; }
.project-cockpit-actions { position: absolute; z-index: 8; top: 16px; right: 24px; display: flex; align-items: center; gap: 8px; }
.project-cockpit-switch { position: static; margin: 0; padding: 8px 12px; border: 1px solid rgba(255,255,255,.42); border-radius: 8px; color: #e5f6f5; background: rgba(255,255,255,.08); font-size: 9px; font-weight: 850; white-space: nowrap; cursor: pointer; }
.project-cockpit-switch:hover { color: white; background: rgba(255,255,255,.16); }
.project-cockpit-title > span { color: #7be0d0; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .7px; }
.project-cockpit-hero h2 { margin: 6px 0; color: white; font-size: clamp(24px,3vw,35px); }
.project-cockpit-hero p { margin: 0; color: #c0d4dd; }
.project-cockpit-menu { position: relative; }
.project-cockpit-menu > summary { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.42); border-radius: 8px; color: white; background: rgba(255,255,255,.1); font-size: 22px; font-weight: 900; line-height: 1; list-style: none; cursor: pointer; }
.project-cockpit-menu > summary::-webkit-details-marker { display: none; }
.project-cockpit-menu > summary:hover,.project-cockpit-menu[open] > summary { background: rgba(255,255,255,.2); }
.project-cockpit-menu-popover { position: absolute; z-index: 40; top: calc(100% + 9px); right: 0; width: min(310px,calc(100vw - 34px)); padding: 7px; display: grid; gap: 3px; border: 1px solid #d6e3e8; border-radius: 12px; color: var(--text); background: white; box-shadow: 0 18px 48px rgba(4,24,38,.24); }
.project-cockpit-menu-popover button { width: 100%; min-height: 52px; padding: 9px 10px; display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 10px; align-items: center; border: 0; border-radius: 8px; color: #29445a; background: transparent; text-align: left; cursor: pointer; }
.project-cockpit-menu-popover button:hover,.project-cockpit-menu-popover button:focus-visible { outline: 0; background: #edf7f8; }
.project-cockpit-menu-popover button > span:first-child { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 8px; color: #087d83; background: #e7f6f5; font-size: 14px; }
.project-cockpit-menu-popover button strong,.project-cockpit-menu-popover button small { display: block; }
.project-cockpit-menu-popover button strong { color: #0b3044; font-size: 11px; }
.project-cockpit-menu-popover button small { margin-top: 3px; color: #6e838e; font-size: 9px; }
.project-cockpit-menu-popover button.danger > span:first-child { color: #b43d3d; background: #fff0f0; }
.project-cockpit-menu-popover button.danger strong { color: #a62f2f; }
.project-cockpit-menu-divider { height: 1px; margin: 4px 6px; background: #e3ebee; }
.project-attention { margin: 15px 18px 0; padding: 12px 14px; display: flex; justify-content: space-between; align-items: center; gap: 12px; border: 1px solid #efc774; border-radius: 11px; background: #fff8e8; }
.project-attention > div { display: flex; align-items: center; gap: 10px; }
.project-attention > div > span { width: 33px; height: 33px; display: grid; place-items: center; border-radius: 9px; color: white; background: var(--orange); font-weight: 900; }
.project-attention strong,.project-attention small { display: block; }
.project-attention strong { color: #704a0d; font-size: 11px; }
.project-attention small { margin-top: 3px; color: #896b38; font-size: 9px; }
.project-attention button { border: 0; color: #8b5909; background: transparent; font-weight: 850; }
.project-cockpit-metrics { padding: 15px 18px; display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; }
.project-cockpit-metrics article { padding: 11px; border: 1px solid var(--line); border-radius: 9px; background: #f9fbfc; }
.project-cockpit-metrics small,.project-cockpit-metrics strong { display: block; }
.project-cockpit-metrics small { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.project-cockpit-metrics strong { margin-top: 3px; color: var(--navy); font-size: 19px; }
.project-cockpit-grid { padding: 0 18px 18px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.project-cockpit-card { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 11px; background: white; }
.project-cockpit-card h3 { margin: 0; color: var(--navy); font-size: 14px; }
.project-cockpit-card .surface-head p { margin-top: 3px; }
.project-team-list { display: grid; margin-top: 10px; }
.project-team-list article { padding: 9px 0; display: grid; grid-template-columns: 35px 1fr auto; gap: 9px; align-items: center; border-top: 1px solid #e9eef1; }
.project-team-list article:first-child { border-top: 0; }
.project-team-list article > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--navy); font-size: 9px; font-weight: 900; }
.project-team-list strong,.project-team-list small { display: block; }
.project-team-list strong { color: var(--navy); font-size: 10px; }
.project-team-list small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.availability { padding: 5px 7px; border-radius: 99px; color: #4e6573; background: #eef2f4; font-size: 8px; font-style: normal; font-weight: 800; }
.availability.available { color: #106c4a; background: #e5f6ee; }
.availability.limited { color: #8b5b0a; background: #fff1d8; }
.cockpit-assign,.resource-matches { display: grid; grid-template-columns: 1fr auto; gap: 7px; margin-top: 10px; }
.cockpit-assign select,.resource-matches select { min-width: 0; padding: 8px; border: 1px solid var(--line); border-radius: 7px; font-size: 9px; }
.resource-request-list { display: grid; gap: 8px; margin-top: 11px; }
.resource-request { padding: 11px; border: 1px solid #e1e9ed; border-left: 4px solid #89a1ae; border-radius: 8px; }
.resource-request.urgency-high { border-left-color: var(--orange); background: #fffaf1; }
.resource-request.urgency-critical { border-left-color: #c44444; background: #fff4f4; }
.resource-request header { display: flex; justify-content: space-between; gap: 10px; }
.resource-request header span { color: var(--blue); font-size: 8px; font-weight: 900; text-transform: uppercase; }
.resource-request header em { font-size: 8px; font-style: normal; }
.resource-request h4 { margin: 7px 0 4px; color: var(--navy); font-size: 11px; }
.resource-request p { margin: 0; color: #3c5667; line-height: 1.45; }
.resource-request > small { display: block; margin-top: 7px; color: var(--muted); font-size: 8px; }
.resource-matches button,.resource-resolve { border: 0; border-radius: 7px; color: white; background: var(--navy); font-size: 8px; font-weight: 800; }
.resource-resolve { margin-top: 8px; padding: 7px 9px; color: #397060; background: #e8f6f1; }
.cockpit-photo-grid { margin-top: 11px; display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; }
.cockpit-photo-grid a { position: relative; min-height: 90px; overflow: hidden; border-radius: 8px; color: white; background: #eaf1f4; }
.cockpit-photo-grid img { width: 100%; height: 100%; min-height: 90px; object-fit: cover; }
.cockpit-photo-grid span { position: absolute; inset: auto 0 0; padding: 18px 7px 6px; background: linear-gradient(transparent,rgba(5,24,36,.78)); font-size: 8px; }
.cockpit-documents,.cockpit-activity { display: grid; margin-top: 9px; }
.cockpit-documents a,.cockpit-activity button { padding: 8px 0; display: grid; grid-template-columns: 32px 1fr auto; gap: 8px; align-items: center; border: 0; border-top: 1px solid #e9eef1; color: inherit; background: transparent; text-align: left; }
.cockpit-documents b,.cockpit-activity button > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 7px; color: var(--blue); background: #eaf6fb; font-size: 8px; }
.cockpit-documents strong,.cockpit-documents small,.cockpit-activity strong,.cockpit-activity small { display: block; }
.cockpit-documents strong,.cockpit-activity strong { color: var(--navy); font-size: 9px; }
.cockpit-documents small,.cockpit-activity small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.project-cockpit-tabs { display: flex; gap: 2px; padding: 0 18px; overflow-x: auto; overflow-y: hidden; border-bottom: 1px solid var(--line); background: white; scrollbar-width: thin; }
.project-cockpit-tabs button { position: relative; min-height: 50px; padding: 0 13px; display: inline-flex; align-items: center; gap: 7px; border: 0; color: #627785; background: transparent; font-size: 10px; font-weight: 800; white-space: nowrap; cursor: pointer; }
.project-cockpit-tabs button::after { content: ""; position: absolute; right: 12px; bottom: -1px; left: 12px; height: 3px; border-radius: 3px 3px 0 0; background: transparent; }
.project-cockpit-tabs button:hover { color: var(--navy); background: #f7fafb; }
.project-cockpit-tabs button.active { color: var(--blue); }
.project-cockpit-tabs button.active::after { background: var(--blue); }
.project-cockpit-tabs button b { min-width: 20px; padding: 3px 6px; border-radius: 99px; color: #5c707c; background: #edf2f4; font-size: 8px; text-align: center; }
.project-cockpit-tabs button.active b { color: #0876a7; background: #e5f4fa; }
.project-cockpit-tabs-loading { min-height: 50px; align-items: center; gap: 28px; }
.project-cockpit-tabs-loading > span { color: #8a9ba4; font-size: 10px; font-weight: 800; }
.project-cockpit-panel { min-height: 330px; padding: 18px; background: #f8fafb; }
.project-hub-layout.project-open .project-cockpit-panel { border: 1px solid var(--line); border-top: 0; border-radius: 0 0 14px 14px; }
.project-hub-layout.project-open .project-cockpit-chat-panel { min-height: 0; }
.project-hub-layout.project-open .project-chat { max-width: none; }
.project-hub-layout.project-open .project-chat-messages { max-height: none; }
.project-cockpit-panel > .project-attention { margin: 0 0 14px; }
.project-cockpit-panel > .project-cockpit-metrics { padding: 0; }
.project-cockpit-loading { min-height: 280px; display: grid; place-content: center; justify-items: center; color: var(--muted); text-align: center; }
.project-cockpit-loading > span { font-size: 27px; }
.project-cockpit-loading strong { margin-top: 12px; color: var(--navy); font-size: 14px; }
.project-cockpit-loading p { margin: 6px 0 0; font-size: 10px; }
.project-overview-actions { margin-top: 14px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.project-overview-actions button { min-width: 0; padding: 15px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 11px; align-items: center; border: 1px solid var(--line); border-radius: 11px; color: inherit; background: white; text-align: left; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.project-overview-actions button:hover { border-color: #bcd9e4; box-shadow: 0 8px 22px rgba(14,54,75,.07); transform: translateY(-1px); }
.project-overview-actions button > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 9px; color: var(--blue); background: #eaf6fb; font-size: 14px; }
.project-overview-actions strong,.project-overview-actions small { display: block; }
.project-overview-actions strong { color: var(--navy); font-size: 10px; }
.project-overview-actions small { margin-top: 4px; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.project-overview-actions b { color: #7d929d; font-size: 17px; }
.project-tab-card { min-width: 0; padding: 17px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.project-tab-card h3,.project-tab-heading h3 { margin: 0; color: var(--navy); font-size: 14px; }
.project-tab-card .surface-head p,.project-tab-heading p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.project-section-count { align-self: start; min-width: 28px; padding: 5px 8px; border-radius: 99px; color: #476170; background: #edf3f5; font-size: 8px; font-weight: 850; text-align: center; white-space: nowrap; }
.project-section-count.warning { color: #8b5909; background: #fff1d5; }
.project-team-list-spacious { max-width: 820px; }
.project-team-list-spacious article { padding: 13px 0; grid-template-columns: 42px 1fr auto; }
.project-team-list-spacious article > span { width: 40px; height: 40px; }
.project-team-list-spacious strong { font-size: 11px; }
.project-team-list-spacious small { font-size: 9px; }
.project-tab-card > .cockpit-assign { max-width: 820px; padding-top: 12px; border-top: 1px solid #e9eef1; }
.project-tasks-panel { display: grid; gap: 16px; }
.project-task-create { padding: 16px; display: grid; gap: 13px; border: 1px solid #cfe2e8; border-radius: 11px; background: #f6fafb; }
.project-task-create label > span { margin-bottom: 6px; display: block; color: #29445a; font-size: 9px; font-weight: 800; }
.project-task-create input,.project-task-create select,.project-task-create textarea { width: 100%; min-width: 0; padding: 10px; border: 1px solid #c9dbe2; border-radius: 8px; color: var(--navy); background: white; font: inherit; font-size: 10px; }
.project-task-create textarea { resize: vertical; }
.project-task-create .primary { justify-self: start; }
.project-task-form-grid { display: grid; grid-template-columns: minmax(260px,1fr) minmax(130px,.28fr) minmax(190px,.4fr); gap: 12px; }
.task-assignee-selector { min-width: 0; grid-column: 1 / -1; margin: 2px 0 0; padding: 14px; border: 1px solid #c9dbe2; border-radius: 11px; background: #fff; }
.task-assignee-selector legend { padding: 0 6px; color: #29445a; font-size: 10px; font-weight: 850; }
.task-assignee-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.task-assignee-search { width: min(430px,100%); position: relative; }
.project-task-create .task-assignee-search > span { width: 34px; height: 100%; margin: 0; position: absolute; inset: 0 auto 0 0; display: grid; place-items: center; color: #66808d; font-size: 17px; pointer-events: none; }
.project-task-create .task-assignee-search input { padding-left: 36px; }
.task-assignee-summary { flex: 0 0 auto; text-align: right; }
.task-assignee-summary strong,.task-assignee-summary small { display: block; }
.task-assignee-summary strong { color: var(--navy); font-size: 10px; }
.task-assignee-summary small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.task-assignee-selected { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; }
.task-assignee-selected button { max-width: 260px; padding: 6px 7px 6px 10px; display: flex; align-items: center; gap: 7px; border: 1px solid #9fcbd8; border-radius: 99px; color: #075778; background: #eaf7fb; font-size: 9px; font-weight: 800; cursor: pointer; }
.task-assignee-selected button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.task-assignee-selected button b { width: 17px; height: 17px; display: grid; place-items: center; border-radius: 50%; background: #cfeaf2; font-size: 13px; line-height: 1; }
.task-assignee-options { width: 100%; max-height: 210px; margin-top: 11px; padding-right: 3px; display: grid; grid-template-columns: repeat(auto-fill,minmax(220px,1fr)); gap: 8px; overflow-x: hidden; overflow-y: auto; }
.task-assignee-option { min-width: 0; min-height: 54px; padding: 8px 10px; position: relative; display: grid; grid-template-columns: 34px minmax(0,1fr) 22px; gap: 9px; align-items: center; border: 1px solid #d8e5e9; border-radius: 10px; background: #f8fbfc; cursor: pointer; transition: border-color .15s ease,background .15s ease,box-shadow .15s ease; }
.task-assignee-option:hover { border-color: #98c6d5; background: #f3fafc; }
.task-assignee-option.selected { border-color: #1483a8; background: #eaf7fb; box-shadow: inset 0 0 0 1px #1483a8; }
.task-assignee-option input { width: 1px; height: 1px; position: absolute; opacity: 0; pointer-events: none; }
.task-assignee-option:focus-within { outline: 3px solid rgba(11,133,176,.22); outline-offset: 2px; }
.task-assignee-avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #295c73; font-size: 9px; font-weight: 900; }
.task-assignee-option.selected .task-assignee-avatar { background: #0879a4; }
.task-assignee-person { min-width: 0; }
.task-assignee-person strong,.task-assignee-person small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.task-assignee-person strong { color: var(--navy); font-size: 10px; }
.task-assignee-person small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.task-assignee-check { width: 21px; height: 21px; display: grid; place-items: center; border: 1px solid #aac0c9; border-radius: 6px; color: transparent; background: #fff; font-size: 12px; font-weight: 900; }
.task-assignee-option.selected .task-assignee-check { border-color: #0879a4; color: #fff; background: #0879a4; }
.task-assignee-no-results { margin: 12px 0 0; padding: 12px; border-radius: 8px; color: var(--muted); background: #f5f8f9; font-size: 9px; text-align: center; }
.project-task-list-head { padding-top: 4px; border-top: 1px solid #e5edef; }
.project-task-list { display: grid; gap: 9px; }
.project-chat { max-width: 920px; min-height: 520px; margin: 0 auto; display: grid; grid-template-rows: auto minmax(250px,1fr) auto; overflow: hidden; border: 1px solid #d8e4e9; border-radius: 15px; background: #fff; box-shadow: 0 10px 30px rgba(8,43,62,.06); }
.project-chat-head { min-height: 70px; padding: 13px 17px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid #e3ecef; background: #fff; }
.project-chat-head > div:first-child { display: flex; align-items: center; gap: 10px; }
.project-chat-head h3,.project-chat-head p { margin: 0; }
.project-chat-head h3 { color: var(--navy); font-size: 14px; }
.project-chat-head p { margin-top: 3px; color: var(--muted); font-size: 9px; }
.project-chat-live-dot { width: 11px; height: 11px; flex: 0 0 auto; border: 3px solid #dff6ee; border-radius: 50%; background: #18a36f; }
.project-chat-team { display: flex; flex-direction: row-reverse; justify-content: flex-start; padding-left: 9px; }
.project-chat-team span,.project-chat-team b { width: 31px; height: 31px; margin-left: -8px; display: grid; place-items: center; border: 2px solid #fff; border-radius: 50%; color: white; background: var(--navy); font-size: 8px; font-weight: 900; text-transform: uppercase; }
.project-chat-team span:nth-child(even) { background: #177d83; }
.project-chat-team b { color: #3b5d6e; background: #e8f0f3; }
.project-chat-messages { min-height: 260px; max-height: 490px; padding: 18px; display: flex; flex-direction: column; gap: 13px; overflow-y: auto; background: linear-gradient(rgba(247,250,251,.93),rgba(247,250,251,.93)),radial-gradient(circle at 15px 15px,#dce9ed 1px,transparent 1.5px); background-size: auto,30px 30px; }
.project-chat-messages:focus-visible { outline: 3px solid rgba(8,121,164,.32); outline-offset: -3px; }
.project-chat-empty { min-height: 220px; margin: auto; display: grid; place-items: center; align-content: center; color: var(--muted); text-align: center; }
.project-chat-empty > span { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: #e8f3f6; font-size: 20px; }
.project-chat-empty strong { margin-top: 9px; color: var(--navy); font-size: 11px; }
.project-chat-empty p { max-width: 380px; margin: 5px 0 0; font-size: 9px; line-height: 1.5; }
.project-chat-message { max-width: min(72%,620px); display: grid; grid-template-columns: 31px minmax(0,1fr); gap: 8px; align-items: end; }
.project-chat-message.own { align-self: flex-end; grid-template-columns: minmax(0,1fr); }
.project-chat-message.own .project-chat-avatar { display: none; }
.project-chat-avatar { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--navy); font-size: 8px; font-weight: 900; }
.project-chat-message > div { min-width: 0; padding: 9px 11px; border: 1px solid #dce7eb; border-radius: 12px 12px 12px 3px; background: #fff; box-shadow: 0 3px 9px rgba(8,43,62,.04); }
.project-chat-message.own > div { border-color: #b7e1d9; border-radius: 12px 12px 3px 12px; background: #ddf5ef; }
.project-chat-message header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.project-chat-message header strong { color: #245064; font-size: 8px; }
.project-chat-message time { color: #4b6674; font-size: 7px; }
.project-chat-message p { margin: 5px 0 0; color: #183b4c; font-size: 10px; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
.project-chat-attachment { margin-top: 8px; padding: 8px; display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 8px; align-items: center; overflow: hidden; border-radius: 8px; color: var(--navy); background: rgba(255,255,255,.72); }
.project-chat-attachment > span { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 7px; color: var(--blue); background: #e9f5fa; }
.project-chat-attachment strong { overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.project-chat-attachment.photo { display: block; padding: 4px; }
.project-chat-attachment.photo img { width: min(320px,100%); max-height: 230px; display: block; border-radius: 6px; object-fit: cover; }
.project-chat-attachment.photo strong { padding: 6px 5px 3px; display: block; }
.project-chat-compose { padding: 11px 13px; border-top: 1px solid #dfe8ec; background: #fff; }
.project-chat-recipient { margin-bottom: 7px; display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 8px; }
.project-chat-recipient > span { color: #129680; }
.project-chat-recipient strong { color: var(--navy); font-size: 9px; }
.project-chat-recipient small { margin-left: auto; }
.project-chat-compose textarea { width: 100%; min-height: 58px; max-height: 150px; resize: vertical; padding: 10px 11px; border: 1px solid #cadbe2; border-radius: 10px; color: var(--navy); background: #fbfcfd; font: inherit; font-size: 10px; }
.project-chat-compose textarea:focus { outline: 0; border-color: #55b6a7; box-shadow: 0 0 0 3px rgba(22,155,134,.1); }
.project-chat-compose footer { margin-top: 7px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.project-chat-file { min-width: 0; max-width: 65%; padding: 7px 9px; overflow: hidden; border-radius: 8px; color: #31586b; background: #edf3f5; font-size: 8px; font-weight: 800; cursor: pointer; }
.project-chat-file span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-chat-file input { display: none; }
.project-chat-send { min-width: 95px; padding: 9px 13px; border: 0; border-radius: 9px; color: #fff; background: #08796f; font-size: 9px; font-weight: 900; cursor: pointer; }
.project-chat-send:disabled { opacity: .55; cursor: wait; }
.project-tab-heading { min-height: 52px; margin-bottom: 12px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.project-tab-filters { display: flex; align-items: center; gap: 8px; }
.project-date-filter { position: relative; flex: 0 0 auto; }
.project-date-filter summary { min-width: 190px; padding: 9px 11px; display: grid; grid-template-columns: 1fr auto; column-gap: 10px; border: 1px solid #cddde4; border-radius: 9px; color: var(--navy); background: white; list-style: none; cursor: pointer; box-shadow: 0 4px 14px rgba(9,43,64,.04); }
.project-date-filter summary::-webkit-details-marker { display: none; }
.project-date-filter summary > span { grid-column: 1; color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; }
.project-date-filter summary > strong { grid-column: 1; margin-top: 2px; font-size: 9px; }
.project-date-filter summary > b { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--blue); font-size: 13px; }
.project-date-filter[open] summary { border-color: #75bad4; box-shadow: 0 0 0 3px rgba(14,135,183,.09); }
.project-date-popover { position: absolute; z-index: 20; top: calc(100% + 7px); right: 0; width: 470px; padding: 14px; display: grid; grid-template-columns: 1fr 1.15fr; gap: 14px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: 0 18px 45px rgba(7,32,48,.18); }
.project-date-popover > p { grid-column: 1 / -1; margin: 0; color: var(--navy); font-size: 11px; font-weight: 850; }
.project-date-presets { display: grid; align-content: start; }
.project-date-presets button { min-height: 32px; padding: 7px 9px; display: flex; justify-content: space-between; gap: 8px; border: 0; border-radius: 7px; color: #435d6d; background: transparent; font-size: 9px; text-align: left; cursor: pointer; }
.project-date-presets button:hover,.project-date-presets button.active { color: var(--navy); background: #edf5f8; font-weight: 800; }
.project-date-presets button span { color: var(--blue); }
.project-custom-range { padding: 11px; display: grid; gap: 9px; border-radius: 9px; background: #f4f8fa; }
.project-custom-range > strong { color: var(--navy); font-size: 9px; }
.project-custom-range label { display: grid; grid-template-columns: 28px 1fr; gap: 7px; align-items: center; color: var(--muted); font-size: 8px; }
.project-custom-range input { min-width: 0; width: 100%; padding: 7px; border: 1px solid #ccdce3; border-radius: 7px; color: var(--navy); background: white; font: inherit; }
.project-member-filter { position: relative; flex: 0 0 auto; }
.project-member-filter summary { min-width: 190px; padding: 9px 11px; display: grid; grid-template-columns: 1fr auto; column-gap: 10px; border: 1px solid #cddde4; border-radius: 9px; color: var(--navy); background: white; list-style: none; cursor: pointer; box-shadow: 0 4px 14px rgba(9,43,64,.04); }
.project-member-filter summary::-webkit-details-marker { display: none; }
.project-member-filter summary > span { grid-column: 1; color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; }
.project-member-filter summary > strong { grid-column: 1; max-width: 165px; margin-top: 2px; overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.project-member-filter summary > b { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--blue); font-size: 13px; }
.project-member-filter[open] summary { border-color: #75bad4; box-shadow: 0 0 0 3px rgba(14,135,183,.09); }
.project-member-popover { position: absolute; z-index: 21; top: calc(100% + 7px); right: 0; width: 310px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: 0 18px 45px rgba(7,32,48,.18); }
.project-member-popover > header { padding: 0 0 10px; display: flex; align-items: start; justify-content: space-between; gap: 10px; border-bottom: 1px solid #e7edef; }
.project-member-popover > header strong,.project-member-popover > header small { display: block; }
.project-member-popover > header strong { color: var(--navy); font-size: 10px; }
.project-member-popover > header small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.project-member-popover > header button { padding: 3px; border: 0; color: var(--blue); background: transparent; font-size: 8px; font-weight: 800; cursor: pointer; }
.project-member-options { max-height: 265px; padding: 6px 0; display: grid; overflow-y: auto; }
.project-member-options label { padding: 8px 5px; display: grid; grid-template-columns: 18px 32px minmax(0,1fr); gap: 8px; align-items: center; border-radius: 8px; cursor: pointer; }
.project-member-options label:hover { background: #f3f8fa; }
.project-member-options input { width: 15px; height: 15px; accent-color: var(--blue); }
.project-member-options label > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--navy); font-size: 8px; font-weight: 900; }
.project-member-options label strong,.project-member-options label small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-member-options label strong { color: var(--navy); font-size: 9px; }
.project-member-options label small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.project-member-done { width: 100%; padding: 8px; border: 0; border-radius: 8px; color: white; background: var(--navy); font-size: 9px; font-weight: 850; cursor: pointer; }
.project-active-filters { margin: -3px 0 12px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.project-active-filters > span { margin-right: 2px; color: var(--muted); font-size: 8px; font-weight: 800; }
.project-active-filters button { padding: 5px 8px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid #cce0e7; border-radius: 99px; color: #24556d; background: #edf7fa; font-size: 8px; font-weight: 750; cursor: pointer; }
.project-active-filters button b { font-size: 11px; line-height: .7; }
.project-active-filters button.clear { border-color: transparent; color: var(--blue); background: transparent; }
.project-filter-result { margin-bottom: 11px; display: flex; align-items: center; gap: 7px; }
.project-filter-result span { padding: 5px 8px; border-radius: 99px; color: #476170; background: #eaf0f3; font-size: 8px; font-weight: 800; }
.project-filter-result small { margin-left: auto; color: var(--muted); font-size: 8px; }
.project-day-groups { display: grid; gap: 13px; }
.project-day-group { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: white; }
.project-day-group > header { min-height: 42px; padding: 10px 15px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #dfe8ec; background: #eef4f6; }
.project-day-group > header h4 { margin: 0; color: var(--navy); font-size: 11px; }
.project-day-group > header span { color: var(--muted); font-size: 8px; font-weight: 750; white-space: nowrap; }
.project-day-columns { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
.project-day-column { min-width: 0; padding: 13px 15px 15px; }
.project-day-column + .project-day-column { border-left: 1px solid #e4ebee; }
.project-day-column-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.project-day-column-title strong { color: var(--navy); font-size: 10px; }
.project-day-column-title span { min-width: 23px; padding: 4px 6px; border-radius: 99px; color: #526b78; background: #edf2f4; font-size: 8px; font-weight: 850; text-align: center; }
.project-day-column .cockpit-photo-grid,.project-day-column .cockpit-report-list { margin-top: 7px; }
.project-activity-days .project-day-group { padding-bottom: 5px; }
.project-activity-days .cockpit-activity { margin: 0; padding: 0 15px; }
.project-documents-card { margin-top: 13px; }
.project-site-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 12px; align-items: start; }
.project-documents-card { grid-column: 1 / -1; }
.cockpit-report-list { display: grid; margin-top: 10px; }
.cockpit-report-list button { padding: 10px 0; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 9px; align-items: center; border: 0; border-top: 1px solid #e9eef1; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.cockpit-report-list button:first-child { border-top: 0; }
.cockpit-report-list button > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 8px; color: var(--blue); background: #eaf6fb; }
.cockpit-report-list strong,.cockpit-report-list small { display: block; }
.cockpit-report-list strong { color: var(--navy); font-size: 10px; }
.cockpit-report-list small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.cockpit-report-list b { color: #82939c; }
.cockpit-photo-grid-large { grid-template-columns: repeat(3,minmax(0,1fr)); }
.cockpit-photo-grid-large a { aspect-ratio: 4 / 3; min-height: 105px; }
.cockpit-photo-grid-large span small { display: block; margin-top: 2px; color: rgba(255,255,255,.78); font-size: 7px; }
.cockpit-activity-large { margin-top: 0; }
.cockpit-activity-large button { min-height: 52px; padding: 10px 4px; grid-template-columns: 36px 1fr auto; cursor: pointer; }
.cockpit-activity-large button:first-child { border-top: 0; }
.cockpit-activity-large button > span { width: 34px; height: 34px; }
.cockpit-activity-large strong { font-size: 10px; }
.cockpit-activity-large small { font-size: 9px; }
.cockpit-activity-large b { padding-right: 4px; color: #82939c; }
.empty-state.compact { padding: 22px 8px; }
.loading-mark { animation: spin 1.2s linear infinite; }
.note-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.note-card { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: 0 8px 24px rgba(11,36,56,.04); cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
.note-card:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(11,36,56,.09); }
.note-card header { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.note-card h3 { margin: 8px 0 7px; color: var(--navy); font-size: 16px; line-height: 1.3; }
.note-card p { display: -webkit-box; min-height: 48px; margin: 0; overflow: hidden; color: var(--muted); font-size: 11px; line-height: 1.55; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.note-card footer { display: flex; justify-content: space-between; gap: 10px; margin-top: 16px; padding-top: 12px; border-top: 1px solid #edf1f3; color: var(--muted); font-size: 9px; }
.note-customer { color: var(--blue); font-size: 9px; font-weight: 850; letter-spacing: .4px; text-transform: uppercase; }
.status-badge.final { color: #126a49; background: #e6f6ef; }
.assignment-row { display: grid; grid-template-columns: 1fr auto; gap: 7px; margin-top: 15px; }
.assignment-row select, .role-select { padding: 8px; font-size: 10px; }
.assignment-row button { border: 0; border-radius: 6px; padding: 8px 10px; color: white; background: var(--navy); font-size: 9px; font-weight: 800; }
.inline-form { display: grid; grid-template-columns: 150px 1fr 1.3fr auto; gap: 12px; align-items: end; margin-bottom: 17px; }
.inline-form .primary { margin: 0; }
.project-master-form { display: grid; gap: 14px; margin-bottom: 18px; }
.project-master-form .primary { justify-self: start; }
.three-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.three-columns label > span { display: block; margin-bottom: 7px; color: #29445a; font-size: 10px; font-weight: 750; }
.project-files-dialog { width: min(880px, calc(100vw - 28px)); }
.photo-analysis-dialog { width: min(1080px, calc(100vw - 28px)); }
.photo-analysis-layout { display: grid; grid-template-columns: minmax(280px,.8fr) minmax(0,1.2fr); gap: 20px; padding: 0 22px 22px; }
.photo-analysis-layout > aside { align-self: start; overflow: hidden; border-radius: 15px; background: #102f42; }
.photo-analysis-layout > aside img { display: block; width: 100%; max-height: 620px; object-fit: contain; }
.photo-analysis-layout > section { display: grid; align-content: start; gap: 14px; }
.photo-analysis-start { display: grid; gap: 12px; padding: 16px; border: 1px solid #d5e4e8; border-radius: 14px; background: #f7fbfc; }
.photo-analysis-start label,.photo-finding label { display: grid; gap: 5px; }
.photo-analysis-start label > span,.photo-finding label > span { color: #526d7e; font-size: .76rem; font-weight: 750; }
.photo-analysis-summary { display: grid; grid-template-columns: auto 1fr; gap: 5px 10px; align-items: center; }
.photo-analysis-summary small { grid-column: 2; color: #6b8291; }
.photo-analysis-findings { display: grid; gap: 10px; }
.photo-finding { display: grid; gap: 9px; padding: 14px; border: 1px solid #d8e4e8; border-radius: 12px; background: white; }
.photo-finding.confirmed,.photo-finding.corrected { border-color: #b7ddd6; background: #f3fbf8; }
.photo-finding.rejected { opacity: .72; }
.photo-finding header,.photo-finding footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.photo-finding header span { color: #667f8e; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.photo-finding p { margin: 0; color: #29495c; line-height: 1.45; }
.photo-finding footer { justify-content: flex-end; }
.project-closeout-dialog { width: min(1120px, calc(100vw - 28px)); max-height: 95vh; }
.project-closeout-body { display: grid; gap: 16px; padding: 0 22px 24px; }
.closeout-status-card,.closeout-section { padding: 18px; border: 1px solid #d7e4e8; border-radius: 15px; background: white; }
.closeout-status-card { background: #f8fbfc; }
.closeout-status-head,.closeout-status-head > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.closeout-status-head > div > div { display: grid; gap: 3px; }
.closeout-status-head small { color: #667f8e; }
.closeout-ready-mark { width: 42px; height: 42px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 13px; color: white; background: #b86122; font-size: 18px; font-weight: 900; }
.closeout-ready-mark.ready { background: #0f766e; }
.closeout-blockers { display: grid; gap: 7px; margin: 14px 0; }
.closeout-blockers article { display: grid; grid-template-columns: minmax(150px,.35fr) 1fr; gap: 9px; padding: 9px 11px; border: 1px solid #ead7c6; border-radius: 9px; background: #fff9f3; }
.closeout-blockers span { color: #a2531d; font-size: .68rem; font-weight: 850; }
.closeout-blockers strong { color: #473a32; font-size: .83rem; }
.closeout-status-card > label { display: grid; gap: 6px; }
.closeout-status-card > label > span { color: #76563c; font-size: .76rem; font-weight: 750; }
.project-requirement-list { display: grid; gap: 9px; }
.project-requirement { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; align-items: center; padding: 13px; border: 1px solid #dce6ea; border-radius: 11px; }
.project-requirement > div:first-child { display: grid; gap: 3px; }
.project-requirement > div:first-child > span { color: #138078; font-size: .67rem; font-weight: 900; letter-spacing: .04em; }
.project-requirement small { color: #6a8291; line-height: 1.4; }
.project-requirement > div:last-child { display: flex; align-items: center; gap: 7px; }
.project-requirement select { max-width: 190px; }
.requirement-evidence-list { display: grid; gap: 7px; margin-top: 8px; }
.requirement-evidence-list article { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 10px; border: 1px solid #dce6ea; border-radius: 9px; background: #f7fbfc; }
.requirement-evidence-list article > div:first-child { display: grid; gap: 2px; min-width: 0; }
.requirement-evidence-list article > div:last-child { display: flex; gap: 6px; flex-wrap: wrap; }
.requirement-evidence-editor { margin-top: 8px; padding: 9px 10px; border-radius: 9px; background: #f3f8fa; }
.requirement-evidence-editor summary { cursor: pointer; font-weight: 800; color: #155e63; }
.requirement-evidence-editor[open] { display: grid; gap: 8px; }
.requirement-evidence-editor label { display: grid; gap: 5px; }
.acceptance-form { display: grid; gap: 13px; }
.acceptance-form > label,.acceptance-form fieldset { display: grid; gap: 6px; }
.acceptance-form fieldset { padding: 14px; border: 1px solid #dce6ea; border-radius: 11px; }
.acceptance-overview { display: grid; gap: 14px; }
.acceptance-overview > header { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.acceptance-overview h4 { margin: 4px 0 0; color: #173b51; font-size: 1.08rem; }
.acceptance-reservation { padding: 12px; border-left: 4px solid #d87a26; border-radius: 8px; background: #fff7ed; }
.acceptance-reservation p { margin: 5px 0 0; }
.acceptance-item-list { display: grid; gap: 8px; }
.acceptance-item-list > article { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 9px; padding: 11px; border: 1px solid #dde7eb; border-radius: 10px; }
.acceptance-item-list > article > div:first-child { display: grid; gap: 3px; }
.acceptance-item-list p { margin: 0; color: #536e7f; }
.acceptance-item-list > article > div:last-child { display: flex; gap: 6px; }
.acceptance-signatures { display: flex; flex-wrap: wrap; gap: 9px; }
.acceptance-signatures > span { display: grid; gap: 2px; padding: 9px 11px; border: 1px solid #bfe0d8; border-radius: 10px; background: #f1faf7; }
.acceptance-overview > footer { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.acceptance-editor,.acceptance-item-form { margin-top: 14px; padding: 13px; border: 1px solid #dce6ea; border-radius: 11px; background: #f8fbfc; }
.acceptance-editor summary { color: #173b51; font-weight: 800; cursor: pointer; }
.acceptance-editor[open] summary { margin-bottom: 13px; }
.acceptance-item-form > strong { color: #173b51; }
.handover-package { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px; border: 1px solid #d6e4e8; border-radius: 11px; background: #f8fbfc; }
.handover-package > div { display: grid; gap: 4px; }
.handover-package > div:last-child { display: flex; gap: 8px; }
.handover-package a { text-decoration: none; }
.closeout-generate { margin-top: 12px; }
.project-file-upload { display: grid; gap: 13px; padding-bottom: 20px; border-bottom: 1px solid #e3eaee; }
.file-source-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.file-source-card { display: flex; align-items: center; gap: 12px; min-height: 74px; padding: 13px; border: 1.5px dashed #b9cdd7; border-radius: 12px; color: #29445a; background: #f8fbfc; cursor: pointer; }
.file-source-card input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.file-source-card > span { width: 38px; height: 38px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; color: white; background: var(--blue); font-size: 16px; font-weight: 900; }
.file-source-card strong, .file-source-card small { display: block; }
.file-source-card strong { font-size: 11px; }
.file-source-card small { margin-top: 4px; color: var(--muted); font-size: 8.5px; line-height: 1.4; }
.selected-file-name { margin: -3px 0 0; color: var(--muted); font-size: 9px; }
.project-file-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.project-file-item { overflow: hidden; border: 1px solid #dce6eb; border-radius: 12px; background: #fff; }
.project-file-preview { height: 150px; display: grid; place-items: center; color: #567084; background: #edf3f6; font-size: 28px; font-weight: 900; }
.project-file-preview img { width: 100%; height: 100%; object-fit: cover; }
.project-file-body { padding: 12px; }
.project-file-body strong, .project-file-body small { display: block; }
.project-file-body strong { color: var(--navy); font-size: 11px; }
.project-file-body small { margin-top: 4px; color: var(--muted); font-size: 8.5px; line-height: 1.45; }
.project-file-body p { margin: 8px 0 0; color: #3e596b; font-size: 9px; line-height: 1.5; }
.project-file-actions { display: flex; gap: 8px; margin-top: 10px; }
.project-file-actions a, .project-file-actions button { padding: 7px 9px; border: 1px solid #d8e3e8; border-radius: 7px; color: #29445a; background: #f8fafb; font-size: 8.5px; font-weight: 800; text-decoration: none; cursor: pointer; }
.project-file-actions button { color: var(--red); }
.plan-upload-fields { display: grid; gap: 12px; padding: 14px; border: 1px solid #c9e3ee; border-radius: 10px; background: #f1f9fc; }
.plan-upload-fields > small { color: #567084; font-size: 9px; line-height: 1.5; }
.plan-version-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 9px; }
.plan-version-row span, .plan-version-row strong, .plan-version-row em { display: inline-flex; margin: 0; padding: 4px 7px; border-radius: 99px; font-size: 8px; font-style: normal; }
.plan-version-row span { color: #36566b; background: #edf3f6; }
.plan-version-row strong { color: #0877ae; background: #e8f6fb; }
.plan-version-row em { color: #126a49; background: #e6f6ef; }
.plan-version-row em.old { color: #7b5a22; background: #fff2dc; }
.contract-analysis-form { margin-top: 20px; padding: 18px; border: 1px solid #cbdde5; border-radius: 12px; background: #f8fbfc; }
.contract-analysis-form .surface-head h3 { margin: 0; color: var(--navy); font-size: 15px; }
.contract-analysis-form .surface-head p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.contract-analysis-form .subtle { margin: 0; color: #567084; font-size: 9px; line-height: 1.5; }
.project-economics { display: grid; gap: 12px; margin-top: 20px; padding: 18px; border: 1px solid #dce6eb; border-radius: 12px; background: #f8fafb; }
.project-economics .surface-head h3 { margin: 0; color: var(--navy); font-size: 15px; }
.project-economics .surface-head p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.economics-document { border: 1px solid #d7e3e8; border-radius: 10px; background: white; }
.economics-document > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px; cursor: pointer; }
.economics-document > summary span:first-child { min-width: 0; }
.economics-document > summary strong, .economics-document > summary small { display: block; }
.economics-document > summary strong { color: var(--navy); font-size: 11px; }
.economics-document > summary small { margin-top: 3px; color: var(--muted); font-size: 8.5px; }
.contract-item-list, .economic-activity-list { display: grid; gap: 10px; padding: 0 13px 13px; }
.contract-item-row { display: grid; gap: 10px; padding: 12px; border: 1px solid #e1e9ed; border-left: 4px solid var(--orange); border-radius: 9px; background: #fbfcfd; }
.contract-item-row.verified { border-left-color: var(--green); }
.contract-item-grid { display: grid; grid-template-columns: 120px minmax(180px, 1fr) 110px 90px; gap: 9px; }
.contract-item-grid.secondary-fields { grid-template-columns: 150px minmax(200px, 1fr); }
.contract-item-row input, .contract-item-row textarea { padding: 8px 9px; font-size: 10px; }
.contract-item-row label > span { margin-bottom: 4px; font-size: 8px; }
.contract-item-row footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }
.contract-item-row footer > small { margin-right: auto; color: var(--muted); font-size: 8.5px; }
.verified-toggle { display: flex; align-items: center; gap: 6px; color: #29445a; font-size: 9px; font-weight: 800; }
.verified-toggle input { width: 16px; height: 16px; padding: 0; accent-color: var(--green); }
.contract-item-row .primary-mini { padding: 8px 10px; border: 0; border-radius: 7px; color: white; background: var(--blue); font-size: 8.5px; font-weight: 800; }
.economic-activity-list article { padding: 11px; border: 1px solid #e3eaee; border-radius: 8px; }
.economic-activity-list strong, .economic-activity-list small { display: block; }
.economic-activity-list strong { color: var(--navy); font-size: 10.5px; }
.economic-activity-list small { margin-top: 3px; color: var(--muted); font-size: 8.5px; }
.economic-activity-list p { margin: 6px 0 0; color: #486171; font-size: 9px; line-height: 1.5; }
.economic-activity-editor { display: grid; gap: 11px; padding: 13px; border: 1px solid #e1e9ed; border-left: 4px solid var(--orange); border-radius: 9px; background: #fff; }
.economic-activity-editor.verified { border-left-color: var(--green); }
.economic-activity-editor > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.economic-activity-editor > header strong, .economic-activity-editor > header small { display: block; }
.economic-activity-editor > header small { margin-top: 3px; color: var(--muted); font-size: 8.5px; }
.economic-activity-editor input, .economic-activity-editor textarea, .economic-activity-editor select { padding: 8px 9px; font-size: 10px; }
.economic-activity-editor label > span { margin-bottom: 4px; font-size: 8px; }
.economic-activity-editor > footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }
.activity-worker-editor, .activity-evidence-editor { display: grid; gap: 8px; margin: 0; padding: 11px; border: 1px solid #dce6eb; border-radius: 8px; background: #f8fafb; }
.activity-worker-editor legend, .activity-evidence-editor legend { padding: 0 5px; color: var(--navy); font-size: 9px; font-weight: 800; }
.activity-worker-editor label { display: flex; align-items: center; gap: 7px; color: #29445a; font-size: 9px; }
.activity-worker-editor input { width: 16px; height: 16px; padding: 0; accent-color: var(--blue); }
.activity-evidence-editor label { display: grid; grid-template-columns: minmax(180px,1fr) 160px minmax(160px,1fr); align-items: center; gap: 8px; }
.activity-evidence-editor label > span { margin: 0; color: #29445a; font-size: 8.5px; overflow-wrap: anywhere; }
.notification-button { position: relative; }
.notification-button.has-unread { color: #083b59; border-color: #82c9e0; background: #e8f7fc; }
.notification-button.has-unread span { min-width: 18px; height: 18px; display: inline-grid; place-items: center; margin-left: 4px; padding: 0 5px; border-radius: 99px; color: white; background: var(--red); font-size: 8px; }
.worker-notification-button { display: none; }
.work-metrics { margin-bottom: 17px; }
.work-item-form { display: grid; gap: 14px; margin-bottom: 17px; }
.work-item-form .primary { justify-self: start; }
.work-center-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; align-items: start; }
.work-questions-card { grid-column: 1 / -1; }
.work-list { display: grid; gap: 11px; margin-top: 16px; }
.work-row, .work-question { display: grid; gap: 7px; padding: 14px; border: 1px solid #e1e9ed; border-left: 4px solid #a9bbc5; border-radius: 10px; background: #fbfcfd; }
.work-row.priority-high { border-left-color: var(--orange); }
.work-row.priority-critical { border-left-color: var(--red); }
.work-row.priority-low { border-left-color: #86bca8; }
.work-row header { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #587080; font-size: 9px; font-weight: 800; }
.work-row h3 { margin: 0; color: var(--navy); font-size: 13px; }
.work-row p { margin: 0; color: #486171; font-size: 10px; line-height: 1.5; white-space: pre-line; }
.work-row small, .work-question small { color: var(--muted); font-size: 9px; }
.work-row-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 3px; }
.work-row-actions button { padding: 7px 9px; border: 1px solid #cbdde5; border-radius: 7px; color: #29445a; background: white; font-size: 8.5px; font-weight: 800; cursor: pointer; }
.work-row-actions button:hover { color: white; border-color: var(--blue); background: var(--blue); }
.secondary.danger { color: #a33b3b; border-color: #e6b8b8; background: #fff8f8; }
.secondary.danger:hover { color: white; border-color: #ad3f3f; background: #ad3f3f; }
.project-cockpit-hero > div:last-child .secondary.danger { border-color: rgba(255,190,190,.58); color: #ffd8d8; background: rgba(120,20,20,.2); }
.work-row-actions .undo-action { color: #0c756a; border-color: #9fd5ce; background: #f0fbf9; }
.trash-surface { padding: 22px; }
.trash-list { display: grid; gap: 10px; }
.trash-row { padding: 15px; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 13px; align-items: center; border: 1px solid var(--line); border-radius: 12px; background: #fbfcfd; }
.trash-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 10px; color: #0a746a; background: #e7f6f3; font-size: 18px; font-weight: 900; }
.trash-row > div small, .trash-row > div strong, .trash-row > div em { display: block; }
.trash-row > div small { color: var(--muted); font-size: 9px; }
.trash-row > div strong { margin-top: 3px; color: var(--navy); font-size: 13px; }
.trash-row > div p { margin: 4px 0 0; color: #526b79; font-size: 10px; }
.trash-row > div em { margin-top: 3px; color: #8b6830; font-size: 8.5px; font-style: normal; }
.trash-permission { max-width: 145px; color: var(--muted); font-size: 9px; text-align: right; }
.work-question { border-left-color: var(--blue); }
.work-question strong { color: var(--navy); font-size: 11px; line-height: 1.45; }
.work-question textarea { margin-top: 3px; }
.work-question .primary-mini { justify-self: start; padding: 8px 10px; border: 0; border-radius: 7px; color: white; background: var(--blue); font-size: 9px; font-weight: 800; }
.status-badge.in_progress, .status-badge.needs_information { color: #9a600b; background: #fff2dc; }
.status-badge.completed, .status-badge.confirmed, .status-badge.resolved, .status-badge.closed { color: #126a49; background: #e6f6ef; }
.status-badge.rejected, .status-badge.cancelled { color: #9b3131; background: #fdeaea; }
.invite-form { grid-template-columns: 1fr 230px auto; }
.company-teams-section{margin-top:18px;padding:22px}.company-team-form{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:12px;align-items:end;margin:15px 0 18px}.company-team-form label>span{display:block;margin-bottom:7px;color:#29445a;font-size:10px;font-weight:750}.company-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.company-team-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:#f9fbfc}.company-team-card>header{display:flex;justify-content:space-between;gap:10px}.company-team-card h3{margin:3px 0 0;color:var(--navy)}.company-team-card header small{color:var(--muted)}.company-team-members{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.company-team-members>span{display:grid;grid-template-columns:1fr auto;gap:1px 8px;align-items:center;padding:8px 9px;border:1px solid #d6e5e9;border-radius:10px;background:white;font-size:10px;font-weight:750}.company-team-members>span small{grid-column:1;color:var(--muted);font-size:8px;font-weight:500}.company-team-members>span button{grid-row:1/3;grid-column:2;border:0;background:transparent;color:var(--red);font-size:18px}.company-team-card>form{display:grid;grid-template-columns:1fr auto;gap:8px}.company-team-card>form .secondary{margin:0}
.data-table { width: 100%; border-collapse: collapse; }
.data-table th, .data-table td { padding: 14px 10px; border-bottom: 1px solid #edf1f3; text-align: left; white-space: nowrap; }
.data-table th { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .6px; }
.data-table td { color: var(--text); font-size: 11px; }
.data-table td strong, .data-table td small { display: block; }
.data-table td small { color: var(--muted); margin-top: 3px; }
.table-action { padding: 7px 9px; border: 1px solid var(--line); border-radius: 6px; color: var(--navy); background: white; font-size: 9px; font-weight: 800; }
.table-action.approve { color: white; border-color: var(--green); background: var(--green); }
.pending-card { max-width: 680px; margin: 70px auto; padding: 50px; border: 1px solid #ecd59e; border-radius: 15px; background: #fffaf0; text-align: center; }
.pending-icon { width: 60px; height: 60px; margin: 0 auto 20px; display: grid; place-items: center; border-radius: 50%; background: #fff0cd; font-size: 24px; }
.pending-card h2 { color: var(--navy); }
.pending-card p:last-child { color: var(--muted); line-height: 1.6; }

.app-dialog { width: min(760px, calc(100% - 28px)); max-height: calc(100vh - 40px); padding: 0; border: 0; border-radius: 15px; box-shadow: 0 30px 100px rgba(5,24,38,.3); overflow: auto; }
.app-dialog.plan-viewer-dialog{width:min(1480px,calc(100vw - 24px));height:calc(100vh - 24px);max-height:none;overflow:hidden}.plan-viewer-dialog[open]{display:flex;flex-direction:column}.plan-viewer-dialog>.dialog-head{position:static;flex:0 0 auto;padding:15px 20px}.plan-viewer-dialog>.dialog-head h2{font-size:22px}.plan-viewer-dialog>.dialog-head .kicker{margin-bottom:5px}.plan-viewer-dialog>.plan-viewer-toolbar{flex:0 0 auto;padding:7px 12px}.plan-viewer-dialog>.plan-viewer-workspace{height:auto;flex:1 1 auto;grid-template-columns:minmax(0,1fr) clamp(250px,24vw,340px)}.plan-viewer-dialog .plan-canvas-scroll{padding:10px}.plan-viewer-dialog .plan-canvas-scroll>#planInteractionHint{margin:8px 0 0}
@media(max-width:800px){.app-dialog.plan-viewer-dialog{width:100vw;height:100vh;max-height:none;border-radius:0}.plan-viewer-dialog>.plan-viewer-workspace{display:block;overflow:auto}.plan-viewer-dialog .plan-canvas-scroll{min-height:58vh;max-height:70vh}.plan-viewer-dialog .plan-viewer-workspace>aside{overflow:visible}.plan-assignee-picker{grid-template-columns:1fr}}
@media(max-width:600px){.plan-link-mode>div{grid-template-columns:1fr}.plan-tool-divider{display:none}.plan-viewer-toolbar .plan-draw-tool{flex:1}.plan-pin-card{grid-template-columns:30px minmax(0,1fr) auto}}
.app-dialog::backdrop { background: rgba(5,24,38,.68); backdrop-filter: blur(3px); }
.dialog-head { display: flex; justify-content: space-between; align-items: start; gap: 20px; padding: 24px 28px; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 2; background: white; }
.dialog-head h2 { margin: 0; color: var(--navy); font-size: 25px; letter-spacing: -.8px; }
.dialog-head > button { width: 34px; height: 34px; border: 0; border-radius: 50%; color: var(--muted); background: #eff3f5; font-size: 21px; }
.dialog-body { display: grid; gap: 16px; padding: 26px 28px 30px; }
.audio-upload { display: flex; align-items: center; justify-content: center; gap: 14px; min-height: 115px; padding: 20px; border: 1.5px dashed #9cb9c7; border-radius: 10px; background: #f5fafc; cursor: pointer; }
.audio-upload input { position: absolute; opacity: 0; pointer-events: none; }
.audio-upload > span { color: var(--blue); font-size: 21px; font-weight: 900; }
.audio-upload strong, .audio-upload small { display: block; }
.audio-upload strong { font-size: 13px; }
.audio-upload small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.or-line { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .7px; }
.or-line::before, .or-line::after { content: ""; height: 1px; flex: 1; background: var(--line); }
.processing { display: flex; align-items: center; gap: 13px; padding: 14px; border-radius: 9px; background: #edf8fc; }
.processing i { width: 24px; height: 24px; border: 3px solid #bde2f2; border-top-color: var(--blue); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.processing strong, .processing small { display: block; }
.processing strong { font-size: 11px; }
.processing small { color: var(--muted); margin-top: 3px; font-size: 9px; }
.detail-meta { display: flex; flex-wrap: wrap; gap: 8px; padding: 13px; border-radius: 8px; background: #f1f5f7; }
.detail-meta span { padding-right: 9px; border-right: 1px solid var(--line); color: var(--muted); font-size: 10px; }
.dialog-body details { padding: 13px; border: 1px solid var(--line); border-radius: 8px; }
.dialog-body summary { color: var(--navy); cursor: pointer; font-size: 11px; font-weight: 800; }
.dialog-body details textarea { margin-top: 12px; }
.dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; margin-top: 5px; }
.dialog-actions .primary { margin: 0; }
.dialog-actions #downloadNotePdfButton { margin-right: auto; }
.compact-dialog { width: min(620px, calc(100% - 28px)); }
.dialog-intro { margin: 0; color: var(--muted); line-height: 1.55; }
.navigation-options { display: grid; gap: 10px; }
.navigation-options label { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #f8fbfc; cursor: pointer; }
.navigation-options input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--blue); }
.navigation-options span, .navigation-options strong, .navigation-options small { display: block; }
.navigation-options strong { color: var(--navy); font-size: 12px; }
.navigation-options small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.toast { position: fixed; right: 22px; bottom: 22px; z-index: 100; max-width: 420px; padding: 14px 17px; border-radius: 9px; color: white; background: var(--red); box-shadow: var(--shadow); font-size: 12px; line-height: 1.5; }
.toast.success { background: var(--green); }

@media (max-width: 1050px) {
  .auth-view { grid-template-columns: 1fr 470px; }
  .auth-visual { padding: 55px; }
  .trust-grid { grid-template-columns: 1fr; }
  .trust-grid div { padding: 11px 14px; }
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .note-grid { grid-template-columns: 1fr 1fr; }
  .card-grid { grid-template-columns: 1fr 1fr; }
  .work-center-grid { grid-template-columns: 1fr; }
  .work-questions-card { grid-column: auto; }
}

@media (max-width: 800px) {
  .portal-topbar { height: 64px; padding: 0 16px; }
  .system-status span { display: none; }
  .demo-mode-badge span { display: none; }
  .demo-mode-badge { padding: 7px; }
  body.guided-demo-mode .system-status { display: none; }
  .auth-view { display: block; }
  .auth-visual { min-height: 360px; padding: 50px 25px 75px; }
  .auth-visual h1 { font-size: 43px; letter-spacing: -2.2px; }
  .auth-lead { font-size: 14px; }
  .trust-grid { display: none; }
  .auth-card { margin: -42px auto 40px; position: relative; z-index: 2; }
  .app-view { display: block; }
  .sidebar-collapse-toggle { display: none; }
  .sidebar { min-height: auto; height: auto; padding: 9px 12px; position: sticky; top: 64px; z-index: 20; display: block; }
  .company-switcher, .sidebar-user { display: none; }
  .mobile-nav-toggle { width: 100%; min-height: 46px; display: grid; grid-template-columns: 28px minmax(0, 1fr) 24px; align-items: center; gap: 9px; padding: 9px 12px; border: 1px solid rgba(98,200,232,.28); border-radius: 10px; color: white; background: rgba(98,200,232,.12); text-align: left; font-weight: 850; }
  .mobile-nav-menu-icon { display: grid; gap: 4px; width: 20px; }
  .mobile-nav-menu-icon i { display: block; width: 20px; height: 2px; border-radius: 2px; background: var(--cyan); transition: transform .16s ease, opacity .16s ease; }
  .mobile-nav-current { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-nav-chevron { color: var(--cyan); text-align: center; font-size: 21px; line-height: 1; transition: transform .16s ease; }
  .sidebar.nav-open .mobile-nav-chevron { transform: rotate(180deg); }
  .sidebar.nav-open .mobile-nav-menu-icon i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .sidebar.nav-open .mobile-nav-menu-icon i:nth-child(2) { opacity: 0; }
  .sidebar.nav-open .mobile-nav-menu-icon i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .sidebar nav { position: absolute; top: calc(100% + 5px); left: 12px; right: 12px; display: none; max-height: min(65vh, 510px); margin: 0; padding: 8px; overflow-y: auto; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: 0 18px 46px rgba(4,24,38,.26); }
  .sidebar.nav-open nav { display: grid; gap: 3px; }
  .sidebar nav button { width: 100%; min-height: 44px; flex: none; padding: 10px 12px; color: #426074; background: transparent; font-size: 12px; }
  .sidebar nav button span { width: 25px; display: grid; place-items: center; color: var(--blue); font-size: 16px; }
  .app-view.sidebar-collapsed .sidebar nav button { width: 100%; margin: 0; padding: 10px 12px; justify-content: flex-start; gap: 12px; font-size: 12px; }
  .app-view.sidebar-collapsed .sidebar nav button span { width: 25px; font-size: 16px; }
  .sidebar nav button:hover, .sidebar nav button.active { color: var(--navy); background: #eaf6fb; }
  .sidebar nav button.active { box-shadow: inset 3px 0 var(--blue); }
  .sidebar-nav-group { padding-top: 8px; border-top-color: rgba(98,200,232,.18); }
  .sidebar-nav-group > summary { min-height: 44px; color: #a8c9d0; font-size: 11px; }
  .app-view.sidebar-collapsed .sidebar-nav-group > summary { display: flex; }
  .content-shell { padding: 25px 14px 55px; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .report-row { grid-template-columns: 1fr 92px 34px; }
  .report-cell.date-cell { display: none; }
  .inline-form, .invite-form, .company-team-form { grid-template-columns: 1fr; }
  .company-team-grid { grid-template-columns: 1fr; }
  .three-columns, .file-source-grid, .project-file-list { grid-template-columns: 1fr; }
  .contract-item-grid, .contract-item-grid.secondary-fields { grid-template-columns: 1fr; }
  .activity-evidence-editor label { grid-template-columns: 1fr; }
  .project-task-form-grid { grid-template-columns: 1fr; }
  .project-task-create .primary { width: 100%; }
  .card-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .task-assignee-toolbar { align-items: stretch; flex-direction: column; }
  .task-assignee-search { width: 100%; }
  .task-assignee-summary { text-align: left; }
  .task-assignee-options { grid-template-columns: 1fr; }
  .portal-brand > span:last-child { display: none; }
  .auth-card { width: calc(100% - 24px); padding: 27px 20px; }
  .two-columns, .toolbar { grid-template-columns: 1fr; }
  .portal-topbar { height: 58px; padding: 0 12px; }
  .brand-symbol { width: 32px; height: 32px; border-radius: 8px; }
  .sidebar { top: 58px; padding: 7px 8px; }
  .sidebar nav { left: 8px; right: 8px; }
  .sidebar nav button { min-height: 42px; padding: 8px 10px; font-size: 11px; }
  .content-shell { padding: 18px 10px 72px; }
  .page-heading { display: block; }
  .page-heading { margin-bottom: 18px; }
  .page-heading h1 { font-size: 31px; letter-spacing: -1.2px; }
  .page-heading p:last-child { font-size: 11px; }
  .heading-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
  .dashboard-actions > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .heading-actions button, .page-heading .action-primary { width: 100%; min-height: 44px; margin: 0; padding: 9px 8px; font-size: 11px; white-space: normal; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .metric-grid article { min-height: 86px; gap: 9px; padding: 12px; }
  .metric-icon { width: 36px; height: 36px; flex: 0 0 36px; }
  .metric-grid small { font-size: 8px; }
  .metric-grid strong { font-size: 21px; }
  .surface { padding: 16px; }
  .surface h2 { font-size: 15px; }
  .dialog-head, .dialog-body { padding-left: 18px; padding-right: 18px; }
  .dialog-actions { display: grid; grid-template-columns: 1fr; }
  .dialog-actions button { width: 100%; }
  .dialog-actions #downloadNotePdfButton { margin-right: 0; }
  input, textarea, select { font-size: 16px; }
  .android-app .assistant-fab { right: 10px; bottom: calc(18px + env(safe-area-inset-bottom, 0px)); padding: 11px 15px; font-size: 12px; }
  .android-app .content-shell { padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
  .android-app .portal-topbar { height: calc(58px + env(safe-area-inset-top, 0px)); padding-top: env(safe-area-inset-top, 0px); }
  .android-app .sidebar { top: calc(58px + env(safe-area-inset-top, 0px)); }
}

/* Persönliches Arbeitsprofil und Outlook-Rechte */
.profile-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: 22px; align-items: start; }
.profile-form, .profile-side .surface { padding: 26px; }
.profile-form > label, .assistant-action-form > label { display: grid; gap: 7px; margin-top: 16px; }
.profile-form label > span, .assistant-action-form label > span { font-size: .82rem; font-weight: 750; color: #29445a; }
.profile-side { display: grid; gap: 22px; }
.contact-list { display: grid; gap: 10px; margin-top: 18px; }
.contact-item { display: flex; justify-content: space-between; gap: 14px; padding: 13px 0; border-top: 1px solid #e4ebf0; }
.contact-item:first-child { border-top: 0; }
.contact-item strong, .contact-item small { display: block; }
.contact-item small { color: #688095; margin-top: 3px; }
.contact-item button { border: 0; background: transparent; color: #a33b3b; cursor: pointer; }
.permission-list { display: grid; gap: 12px; margin: 16px 0 20px; }
.permission-list .check-row { align-items: flex-start; padding: 12px; border: 1px solid #dfe8ee; border-radius: 12px; background: #f8fbfc; }
.permission-list .check-row span, .permission-list .check-row strong, .permission-list .check-row small { display: block; }
.permission-list .check-row small { margin-top: 3px; color: #668095; }
.outlook-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.permission-note { color: #688095; font-size: .82rem; line-height: 1.5; margin: 14px 0 0; }
.privacy-overview-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; }
.privacy-flow-card, .privacy-status-card, .privacy-guidance-card, .operations-status-card, .pilot-readiness-card { padding: 24px; }
.privacy-flow-card h2, .privacy-status-card h2, .privacy-guidance-card h2, .operations-status-card h2, .pilot-readiness-card h2 { margin: 0 0 18px; color: var(--navy); }
.operations-status-card, .pilot-readiness-card { grid-column: 1 / -1; }
.operations-status-card .surface-head h2 { margin-bottom: 4px; }
.pilot-readiness-card .surface-head h2 { margin-bottom: 4px; }
.pilot-readiness-summary { display: grid; grid-template-columns: 150px 1fr; gap: 18px; align-items: center; margin: 14px 0 18px; }
.pilot-readiness-score { padding: 18px; display: grid; place-items: center; border-radius: 14px; color: white; background: linear-gradient(145deg, var(--navy), #126d72); text-align: center; }
.pilot-readiness-score strong { font-size: 28px; }
.pilot-readiness-score small { margin-top: 3px; font-size: 10px; opacity: .8; }
.pilot-readiness-message { padding: 15px 17px; border: 1px solid #efd18d; border-radius: 12px; color: #725315; background: #fff9e8; line-height: 1.5; }
.pilot-readiness-message.ready { border-color: #a8d8c9; color: #176348; background: #effaf6; }
.pilot-checklist { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pilot-check { padding: 10px 12px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 10px; background: #f8fbfc; }
.pilot-check > span { width: 23px; height: 23px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: #8c5b00; background: #fff0c9; font-weight: 900; }
.pilot-check.ready > span { color: #fff; background: #18845f; }
.pilot-check strong, .pilot-check small { display: block; }
.pilot-check strong { color: var(--navy); font-size: 11px; }
.pilot-check small { margin-top: 2px; color: var(--muted); font-size: 8.5px; }
.pilot-settings-form { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.pilot-settings-form > label { display: grid; gap: 7px; margin-top: 13px; }
.pilot-settings-form label > span { color: #29445a; font-size: .82rem; font-weight: 750; }
.pilot-confirmation-grid { margin: 15px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.pilot-confirmation-grid .check-row { padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: #f8fbfc; }
.pilot-feedback-triage { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.pilot-feedback-triage > h3 { margin: 0 0 10px; color: var(--navy); }
.pilot-feedback-list { display: grid; gap: 9px; }
.pilot-feedback-item { padding: 12px 14px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; border: 1px solid var(--line); border-radius: 10px; background: #fafcfd; }
.pilot-feedback-item.severity-blocker, .pilot-feedback-item.severity-high { border-left: 4px solid #c94b45; }
.pilot-feedback-item strong, .pilot-feedback-item small { display: block; }
.pilot-feedback-item p { margin: 6px 0; color: #3e586a; font-size: 11px; line-height: 1.5; white-space: pre-wrap; }
.pilot-feedback-item small { color: var(--muted); font-size: 8.5px; }
.pilot-feedback-item select { min-width: 120px; }
.operations-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
.operations-summary div { padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #f7fafb; }
.operations-summary small, .operations-summary strong { display: block; }
.operations-summary small { color: var(--muted); font-size: .72rem; }
.operations-summary strong { margin-top: 5px; color: var(--navy); }
.operations-jobs { display: grid; gap: 9px; }
.operations-alerts { display: grid; gap: 9px; margin: 14px 0; }
.operations-alert { display: grid; gap: 4px; padding: 12px 14px; border: 1px solid #e5b35e; border-radius: 12px; background: #fff8e9; color: #74480a; }
.operations-alert.critical { border-color: #e29b9b; background: #fff0f0; color: #8a2525; }
.operations-job { display: grid; grid-template-columns: minmax(150px, .8fr) minmax(220px, 1.4fr) auto; align-items: center; gap: 14px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 9px; }
.operations-job.failed { border-color: #efc2bd; background: #fff8f7; }
.operations-job.stalled { border-color: #edcf93; background: #fffbf2; }
.operations-job strong, .operations-job small { display: block; }
.operations-job small { margin-top: 3px; color: var(--muted); }
.operations-job-progress { height: 7px; overflow: hidden; border-radius: 99px; background: #e3ebee; }
.operations-job-progress i { display: block; height: 100%; border-radius: inherit; background: var(--blue); }
.privacy-flow-card ol { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; counter-reset: privacy-step; }
.privacy-flow-card li { position: relative; min-height: 48px; padding-left: 52px; counter-increment: privacy-step; }
.privacy-flow-card li::before { content: counter(privacy-step); position: absolute; left: 0; top: 0; display: grid; width: 36px; height: 36px; place-items: center; border-radius: 10px; color: white; background: var(--navy); font-weight: 850; }
.privacy-flow-card li strong, .privacy-flow-card li span { display: block; }
.privacy-flow-card li span { margin-top: 3px; color: var(--muted); font-size: .86rem; line-height: 1.45; }
.privacy-status-list { display: grid; gap: 10px; }
.privacy-status-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.privacy-status-row:last-child { border-bottom: 0; }
.privacy-status-row span { color: var(--muted); font-size: .84rem; }
.privacy-status-row strong { max-width: 56%; color: var(--navy); font-size: .84rem; text-align: right; }
.privacy-status-row strong.good { color: #16825f; }
.privacy-status-row strong.warn { color: #a86c00; }
.privacy-requests-card { grid-column: 1 / -1; }
.privacy-request-list { display: grid; gap: 10px; margin-top: 18px; }
.privacy-request-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px; align-items: start; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: #f8fbfd; }
.privacy-request-row > div:first-child { display: grid; gap: 5px; }
.privacy-request-row p,.privacy-request-row em { margin: 0; white-space: pre-wrap; }
.privacy-request-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
@media (max-width: 760px) { .privacy-request-row { grid-template-columns: 1fr; } .privacy-request-actions { justify-content: flex-start; } }
.privacy-guidance-card { margin-top: 18px; }
.privacy-guidance-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.privacy-guidance-grid div { padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #f8fbfc; }
.privacy-guidance-grid strong { color: var(--navy); }
.privacy-guidance-grid p { margin: 7px 0 0; color: var(--muted); font-size: .84rem; line-height: 1.5; }
.privacy-legal-note { margin: 18px 0 0; padding: 14px 16px; border-radius: 10px; color: #6b561f; background: #fff4d8; font-size: .82rem; line-height: 1.5; }
.outlook-account-summary, .microsoft-dialog-account { display: flex; align-items: center; gap: 13px; margin: 17px 0; padding: 14px; border: 1px solid #dce7ec; border-radius: 12px; background: #f8fbfc; }
.outlook-account-summary strong, .outlook-account-summary small, .microsoft-dialog-account strong, .microsoft-dialog-account small { display: block; }
.outlook-account-summary strong, .microsoft-dialog-account strong { color: var(--navy); font-size: 12px; }
.outlook-account-summary small, .microsoft-dialog-account small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.4; overflow-wrap: anywhere; }
.outlook-logo { width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; color: white; background: linear-gradient(145deg, #1675d1, #0b54a0); font-weight: 900; box-shadow: 0 7px 18px rgba(17,102,190,.2); }
.outlook-logo.large { width: 48px; height: 48px; font-size: 18px; }
.outlook-capability-summary { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 17px; }
.outlook-capability-chip { padding: 6px 9px; border-radius: 999px; color: #647b8b; background: #eef3f5; font-size: 9px; font-weight: 750; }
.outlook-capability-chip.active { color: #126a49; background: #e4f6ef; }
.microsoft-dialog .dialog-body { gap: 8px; }
.microsoft-dialog-account { margin: 0 0 8px; }
.microsoft-dialog-tabs { display: flex; gap: 6px; margin: -2px 0 16px; padding: 4px; border-radius: 11px; background: #edf3f6; }
.microsoft-dialog-tabs button { flex: 1; padding: 9px 11px; border: 0; border-radius: 8px; color: #5b7385; background: transparent; font-size: 10px; font-weight: 800; cursor: pointer; }
.microsoft-dialog-tabs button.active { color: var(--navy); background: #fff; box-shadow: 0 3px 10px rgba(11,54,79,.1); }
.microsoft-dialog-tabs button span { display: inline-grid; min-width: 18px; height: 18px; margin-left: 4px; padding: 0 5px; place-items: center; border-radius: 999px; color: #fff; background: var(--blue); font-size: 8px; }
.microsoft-dialog-tabs button.needs-attention span { background: var(--orange); }
.microsoft-account-switch { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 12px 0; padding: 13px; border: 1px solid #dce7ec; border-radius: 12px; }
.microsoft-account-switch strong, .microsoft-account-switch small { display: block; }
.microsoft-account-switch strong { color: var(--navy); font-size: 10px; }
.microsoft-account-switch small { max-width: 350px; margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.demo-mail-warning { display: grid; gap: 4px; margin: 12px 0; padding: 12px 14px; border: 1px solid #f1d590; border-radius: 11px; color: #6d5010; background: #fff9e9; font-size: 9px; line-height: 1.5; }
.demo-mail-warning strong { font-size: 10px; }
.dialog-section-label { margin: 5px 0 0; color: #29445a; font-size: 11px; font-weight: 800; }
.microsoft-dialog-actions { display: flex; justify-content: flex-end; align-items: center; gap: 9px; margin-top: 10px; }
.microsoft-dialog-actions .danger { margin-right: auto; }
.demo-outbox-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 13px; }
.demo-outbox-head strong, .demo-outbox-head small { display: block; }
.demo-outbox-head strong { color: var(--navy); font-size: 12px; }
.demo-outbox-head small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.demo-outbox-list { display: grid; gap: 10px; max-height: 430px; overflow: auto; }
.demo-outbox-item { padding: 13px; border: 1px solid #dce7ec; border-radius: 11px; background: #f8fbfc; }
.demo-outbox-item header { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.demo-outbox-item strong, .demo-outbox-item small { display: block; }
.demo-outbox-item strong { color: var(--navy); font-size: 10px; }
.demo-outbox-item small { color: var(--muted); font-size: 8.5px; line-height: 1.5; }
.demo-outbox-item p { margin: 9px 0 0; padding-top: 9px; border-top: 1px solid #e2eaee; color: #304c60; font-size: 9px; line-height: 1.55; white-space: pre-wrap; }
.integration-action-history.needs-attention { border-color: #ebc66e; background: #fffaf0; }
.integration-action-resolution-note { display: grid; gap: 3px; margin-top: 10px; padding: 10px; border-radius: 9px; color: #6d5010; background: #fff1cf; font-size: 9px; line-height: 1.45; }
.integration-action-resolution-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.integration-action-resolution-actions button { font-size: 9px; }

.microsoft-connection-indicator { position: fixed; right: 24px; bottom: 82px; z-index: 59; display: flex; align-items: center; gap: 9px; max-width: 290px; padding: 10px 13px; border: 1px solid #cfe3dc; border-radius: 999px; color: #173b51; background: rgba(255,255,255,.97); box-shadow: 0 12px 30px rgba(7,35,54,.16); text-align: left; }
.microsoft-connection-indicator .connection-dot { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; background: #19a271; box-shadow: 0 0 0 4px #dcf4eb; }
.microsoft-connection-indicator.needs-attention { border-color: #ecd59e; background: #fffaf0; }
.microsoft-connection-indicator.needs-attention .connection-dot { background: var(--orange); box-shadow: 0 0 0 4px #fff0cd; }
.microsoft-connection-indicator strong, .microsoft-connection-indicator small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.microsoft-connection-indicator strong { font-size: 10px; }
.microsoft-connection-indicator small { max-width: 210px; margin-top: 2px; color: var(--muted); font-size: 8.5px; }
.signature-card canvas { display: block; width: 100%; height: 132px; margin-top: 16px; border: 1.5px dashed #9db5c3; border-radius: 12px; background: linear-gradient(#fff, #fbfdfe); cursor: crosshair; touch-action: none; }
.signature-card canvas:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(20,141,204,.12); }
.signature-preview-wrap { display: grid; place-items: center; min-height: 94px; margin-top: 16px; padding: 10px; border: 1px solid #dce6eb; border-radius: 12px; background: #fbfdfe; }
.signature-preview-wrap img { display: block; max-width: 100%; max-height: 76px; }
.signature-hint { min-height: 18px; }
.signature-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 13px; }
.text-button.danger { color: var(--red); padding: 10px 5px; }

.report-signature-panel { padding: 15px; border: 1px solid #d6e4e9; border-radius: 11px; background: #f7fbfc; }
.report-evidence-panel { padding: 15px; border: 1px solid #cddde3; border-radius: 11px; background: #f8fbfc; }
.report-evidence-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.report-evidence-head strong, .report-evidence-head small { display: block; }
.report-evidence-head small { margin-top: 3px; color: var(--muted); }
.report-evidence-list { display: grid; gap: 8px; max-height: 420px; overflow: auto; }
.report-evidence-item { padding: 11px; border: 1px solid #dce7eb; border-radius: 9px; background: #fff; }
.report-evidence-item.evidence-critical { border-left: 4px solid #e4a11b; }
.report-evidence-item.evidence-confirmed { border-left-color: #23855b; }
.report-evidence-item.evidence-rejected { border-left-color: #b63838; background: #fff8f8; }
.report-evidence-title, .report-evidence-meta, .report-evidence-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.report-evidence-title { justify-content: space-between; }
.report-evidence-title code { font-size: 11px; color: #315763; }
.report-evidence-value { margin: 7px 0 0; font-weight: 650; color: #17333c; }
.report-evidence-excerpt { margin: 7px 0 0; padding-left: 9px; border-left: 2px solid #b9cdd4; color: #526970; font-size: 12px; }
.report-evidence-meta { margin-top: 8px; color: var(--muted); font-size: 10px; }
.report-evidence-meta span { padding: 3px 6px; border-radius: 999px; background: #eef4f6; }
.report-evidence-actions { margin-top: 9px; }
.report-evidence-actions button { padding: 6px 9px; font-size: 10px; }
.evidence-empty { padding: 12px; border-radius: 8px; background: #fff6e5; color: #825600; }
.report-signature-head { display: flex; justify-content: space-between; align-items: center; gap: 15px; }
.report-signature-head strong, .report-signature-head small { display: block; }
.report-signature-head strong { color: var(--navy); font-size: 12px; }
.report-signature-head small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.report-signature-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 11px; }
.report-signature-item { padding: 10px 11px; border: 1px solid #dce7ec; border-radius: 8px; background: white; }
.report-signature-item strong, .report-signature-item small { display: block; }
.report-signature-item strong { color: #156b5c; font-size: 10px; }
.report-signature-item small { margin-top: 3px; color: var(--muted); font-size: 8.5px; }
.report-signature-empty { grid-column: 1 / -1; color: var(--muted); font-size: 10px; }
.review-needed-field { padding: 12px; border: 1px solid #e9c46a; border-radius: 9px; background: #fffaf0; }
.review-needed-field small { display: block; margin-top: 6px; color: #8a5a00; }

/* Persönlicher KI-Assistent */
.feedback-fab { position: fixed; right: 190px; bottom: 24px; z-index: 60; border: 1px solid #c7d9e1; border-radius: 999px; padding: 13px 17px; color: #173b51; background: rgba(255,255,255,.98); box-shadow: 0 12px 28px rgba(7,35,54,.18); font: inherit; font-weight: 800; cursor: pointer; }
.feedback-fab span { width: 20px; height: 20px; margin-right: 6px; display: inline-grid; place-items: center; border-radius: 50%; color: white; background: var(--orange); }
.assistant-fab { position: fixed; right: 24px; bottom: 24px; z-index: 60; border: 0; border-radius: 999px; padding: 14px 20px; background: #0b3855; color: white; box-shadow: 0 14px 34px rgba(7,35,54,.28); font: inherit; font-weight: 800; cursor: pointer; }
.assistant-fab.project-chat-hidden { display: none; }
.feedback-fab.project-chat-hidden { display: none; }
.microsoft-connection-indicator.project-chat-hidden { display: none; }
.assistant-fab span { color: #59d3bf; margin-right: 6px; }
.assistant-panel { position: fixed; z-index: 80; top: 70px; right: 0; bottom: 0; width: min(470px, 100vw); display: flex; flex-direction: column; background: #fff; border-left: 1px solid #dce5eb; box-shadow: -18px 0 42px rgba(7,35,54,.17); }
.assistant-panel.hidden { display: none; }
.assistant-panel > header { display: flex; justify-content: space-between; align-items: flex-start; padding: 22px 24px 16px; color: white; background: #0b2b40; }
.assistant-panel > header h2 { margin: 3px 0 0; font-size: 1.3rem; }
.assistant-panel > header .kicker { color: #6de0ca; margin: 0; }
.assistant-panel > header button { border: 0; background: transparent; color: white; font-size: 1.9rem; line-height: 1; cursor: pointer; }
.assistant-tabs { display: grid; grid-template-columns: repeat(4, 1fr); padding: 10px 12px 0; border-bottom: 1px solid #e1e8ed; }
.assistant-tabs button { padding: 11px 5px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #61798c; font: inherit; font-weight: 750; cursor: pointer; }
.assistant-tabs button.active { color: #0c6e62; border-bottom-color: #1db39d; }
.assistant-single-mode { display: flex; gap: 11px; align-items: center; padding: 13px 20px; color: #31556a; background: #edf7f5; border-bottom: 1px solid #d7e9e6; }
.assistant-single-mode > span { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; color: var(--navy); background: var(--cyan); font-weight: 900; }
.assistant-single-mode p, .assistant-single-mode strong, .assistant-single-mode small { display: block; margin: 0; }
.assistant-single-mode small { margin-top: 2px; color: #61798c; font-size: 10px; }
.assistant-tab { display: none; min-height: 0; flex: 1; overflow-y: auto; }
.assistant-tab.active { display: flex; flex-direction: column; }
.assistant-messages { flex: 1; min-height: 260px; overflow-y: auto; padding: 20px; background: #f5f8fa; }
.assistant-message { max-width: 88%; padding: 12px 14px; margin-bottom: 10px; border-radius: 15px; line-height: 1.5; white-space: pre-wrap; }
.assistant-message.bot { background: white; border: 1px solid #dfe7ec; border-bottom-left-radius: 4px; }
.assistant-message.user { margin-left: auto; color: white; background: #116f65; border-bottom-right-radius: 4px; }
.assistant-memory-candidates { display: grid; gap: 8px; max-height: 260px; overflow-y: auto; padding: 12px 16px; border-top: 1px solid #dce7eb; background: #fff8ed; }
.assistant-memory-candidates article { display: grid; gap: 9px; padding: 11px; border: 1px solid #ead6b8; border-radius: 11px; background: white; }
.assistant-memory-candidates article > div { display: grid; gap: 4px; }
.assistant-memory-candidates span { color: #9a5a1c; font-size: .65rem; font-weight: 900; text-transform: uppercase; }
.assistant-memory-candidates strong { color: #28485a; font-size: .82rem; }
.assistant-memory-candidates small { color: #6d8290; font-size: .7rem; }
.assistant-memory-candidates footer { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.assistant-memory-facts { border-top: 1px solid #dce7eb; background: #f7fafb; }
.assistant-memory-facts summary { padding: 10px 16px; color: #28485a; font-size: .75rem; font-weight: 800; cursor: pointer; }
.assistant-memory-facts summary span { display: inline-grid; min-width: 20px; margin-left: 5px; padding: 2px 5px; place-items: center; border-radius: 999px; color: white; background: #54717f; font-size: .62rem; }
.assistant-memory-facts > div { display: grid; gap: 7px; max-height: 220px; overflow-y: auto; padding: 0 14px 12px; }
.assistant-memory-facts article { display: flex; align-items: flex-start; justify-content: space-between; gap: 9px; padding: 9px 10px; border: 1px solid #dce7eb; border-radius: 9px; background: white; }
.assistant-memory-facts article > div { display: grid; gap: 3px; min-width: 0; }
.assistant-memory-facts article span,.assistant-memory-facts article small { color: #708692; font-size: .65rem; }
.assistant-memory-facts article strong { color: #28485a; font-size: .75rem; overflow-wrap: anywhere; }
.assistant-focus { animation: assistant-focus 1.15s ease 2; outline: 4px solid rgba(25,174,148,.3); outline-offset: 4px; }
@keyframes assistant-focus { 50% { outline-color: rgba(25,174,148,.85); box-shadow: 0 0 0 10px rgba(25,174,148,.12); } }
.assistant-compose { display: grid; gap: 10px; padding: 16px 20px 20px; border-top: 1px solid #e1e8ed; }
.assistant-action-form { display: block; padding: 20px 24px 30px; overflow-y: auto; }
.assistant-action-form .two-columns { margin-top: 16px; }
.assistant-action-form .two-columns label { display: grid; gap: 7px; }
.assistant-action-form > button { margin-top: 20px; width: 100%; }
.assistant-rule { padding: 12px 14px; border-radius: 10px; color: #365366; background: #edf7f5; font-size: .86rem; line-height: 1.45; }
.integration-action-preview { margin: 12px 0; padding: 13px; border: 1px solid #cfe2e9; border-radius: 11px; background: white; }
.integration-action-preview dl { margin: 0; display: grid; gap: 7px; }
.integration-action-preview dl div { display: grid; grid-template-columns: 88px 1fr; gap: 8px; }
.integration-action-preview dt { color: #61798c; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.integration-action-preview dd { margin: 0; color: var(--navy); font-size: 12px; font-weight: 750; overflow-wrap: anywhere; }
.integration-action-preview > p { margin: 12px 0 0; padding-top: 12px; border-top: 1px solid #e4ecef; color: #29445a; font-size: 12px; line-height: 1.55; white-space: pre-wrap; }
.voice-capture { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; align-items: center; gap: 11px; margin: 12px 0 4px; padding: 11px; border: 1px solid #dbe5ea; border-radius: 14px; background: #f7fafb; }
.voice-capture.compact { margin: 0; }
.voice-capture > div { min-width: 0; display: grid; gap: 2px; }
.voice-capture strong { color: #173b51; font-size: .86rem; }
.voice-capture small { color: #688095; font-size: .75rem; line-height: 1.35; }
.voice-record-button { width: 52px; height: 52px; display: grid; place-items: center; border: 0; border-radius: 50%; color: white; background: #087d70; box-shadow: 0 5px 15px rgba(8,125,112,.25); cursor: pointer; }
.voice-record-button span { width: 24px; height: 24px; display: block; overflow: hidden; color: transparent; background: white; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='2' width='6' height='12' rx='3'/%3E%3Cpath d='M5 10v2a7 7 0 0 0 14 0v-2M12 19v3M8 22h8'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='2' width='6' height='12' rx='3'/%3E%3Cpath d='M5 10v2a7 7 0 0 0 14 0v-2M12 19v3M8 22h8'/%3E%3C/svg%3E") center / contain no-repeat; }
.voice-record-button:hover { background: #06685e; }
.voice-capture.recording { border-color: #e58d8d; background: #fff4f4; }
.voice-capture.recording .voice-record-button { color: white; background: #c93c3c; animation: voice-pulse 1.2s ease infinite; }
.voice-capture.recording .voice-record-button span { width: 17px; height: 17px; border-radius: 3px; -webkit-mask: none; mask: none; }
.voice-capture.processing { position: relative; overflow: hidden; border-color: #65b7d5; background: #eef9fd; }
.voice-capture.processing::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: linear-gradient(90deg, transparent, var(--blue), #53d4c1, transparent); transform: translateX(-100%); animation: ai-scan 1.35s ease-in-out infinite; }
.voice-capture.processing .voice-record-button { opacity: .85; cursor: wait; animation: ai-orb-pulse 1.1s ease-in-out infinite; }
.voice-capture.ready { border-color: #71bca6; background: #effaf6; }
.voice-upload-button { position: relative; padding: 8px 9px; border: 1px solid #cfdae1; border-radius: 8px; color: #365366; background: white; font-size: .72rem; font-weight: 750; cursor: pointer; }
.voice-upload-button input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
@keyframes voice-pulse { 50% { transform: scale(1.08); box-shadow: 0 0 0 8px rgba(201,60,60,.13); } }
@keyframes ai-scan { 60%, 100% { transform: translateX(100%); } }
@keyframes ai-orb-pulse { 50% { transform: scale(.9); box-shadow: 0 0 0 9px rgba(20,141,204,.13); } }
.quick-action-form textarea { min-height: 150px; font-size: 1rem; line-height: 1.5; }
.quick-result { margin-top: 16px; padding: 13px 14px; border-radius: 10px; background: #fff6e5; color: #684b18; line-height: 1.45; }
.action-check { align-self: end; min-height: 45px; }
.confirmation-card { position: absolute; inset: auto 18px 18px; z-index: 2; padding: 19px; border: 1px solid #efbd6d; border-radius: 14px; background: #fffaf0; box-shadow: 0 12px 34px rgba(40,45,35,.18); }
.confirmation-card h3 { margin: 6px 0; font-size: 1rem; line-height: 1.45; }
.confirmation-card > div:last-child { display: flex; justify-content: flex-end; gap: 10px; margin-top: 16px; }

.ai-thinking { position: fixed; left: 267px; bottom: 22px; z-index: 95; display: flex; align-items: center; gap: 13px; max-width: min(430px, calc(100vw - 32px)); padding: 13px 16px; border: 1px solid rgba(92,202,185,.5); border-radius: 14px; color: white; background: rgba(8,43,63,.97); box-shadow: 0 18px 45px rgba(6,31,47,.28); backdrop-filter: blur(9px); }
.ai-thinking strong, .ai-thinking small { display: block; }
.ai-thinking strong { font-size: 11px; }
.ai-thinking small { margin-top: 3px; color: #acd0dc; font-size: 9px; }
.ai-thinking-orb { position: relative; width: 36px; height: 36px; flex: 0 0 auto; animation: ai-spin 2.1s linear infinite; }
.ai-thinking-orb i { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: #61d6c3; box-shadow: 0 0 10px rgba(97,214,195,.7); animation: ai-dot 1.05s ease-in-out infinite; }
.ai-thinking-orb i:nth-child(1) { top: 1px; left: 14px; }
.ai-thinking-orb i:nth-child(2) { right: 2px; bottom: 6px; animation-delay: -.35s; }
.ai-thinking-orb i:nth-child(3) { left: 2px; bottom: 6px; animation-delay: -.7s; }
@keyframes ai-spin { to { transform: rotate(360deg); } }
@keyframes ai-dot { 50% { transform: scale(.48); opacity: .45; } }

/* Firmen-PDF-Vorlagen */
.template-creation { margin-bottom: 22px; padding: 24px; }
.template-creation-tabs { display: flex; flex-wrap: wrap; gap: 9px; margin: 4px 0 18px; }
.template-creation-tabs button.active { color: white; border-color: #0b746b; background: #0b746b; }
.template-creation-form { display: grid; gap: 14px; padding-top: 16px; border-top: 1px solid #e1e8ed; }
.template-creation-form > p { margin: 0; }
.template-creation-form > button { justify-self: start; margin-top: 4px; }
.template-grid { display: grid; gap: 18px; }
.template-card { padding: 22px; }
.template-card-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.template-card h3 { margin: 4px 0 6px; color: #173b51; }
.template-card p { color: #61798c; line-height: 1.5; }
.template-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.template-meta span { padding: 5px 8px; border-radius: 999px; color: #466175; background: #edf3f6; font-size: .75rem; }
.template-use { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 12px; margin-top: 18px; padding-top: 18px; border-top: 1px solid #e1e8ed; }
.template-use label { display: grid; gap: 6px; }
.template-mapping { margin-top: 16px; border-top: 1px solid #e1e8ed; padding-top: 14px; }
.template-mapping summary { color: #0c6e62; font-weight: 800; cursor: pointer; }
.mapping-list { display: grid; gap: 9px; margin-top: 13px; }
.mapping-row { display: grid; grid-template-columns: minmax(140px, .75fr) minmax(180px, 1fr) minmax(160px, 1fr) minmax(240px, 1.5fr); align-items: end; gap: 10px; padding: 14px; border: 1px solid #dce6eb; border-radius: 12px; background: #f8fbfc; }
.mapping-row code { overflow-wrap: anywhere; color: #365366; }
.mapping-field-name { display: grid; gap: 5px; align-self: center; }
.mapping-field-name small { color: #718897; }
.mapping-row > label:not(.check-row) { display: grid; gap: 5px; }
.mapping-row > label > span { color: #5d7485; font-size: .76rem; font-weight: 750; }
.mapping-required { grid-column: 2 / -1; justify-self: start; margin-top: 2px; }
.template-admin-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 14px; }
.template-layout-callout { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; padding: 14px 16px; border: 1px solid #bfe0da; border-radius: 13px; background: #f2fbf8; }
.template-layout-callout div { display: grid; gap: 3px; }
.template-layout-callout strong { color: #0b665f; }
.template-layout-callout small { color: #61798c; }
.template-preview-dialog { width: min(1280px, 97vw); height: min(900px, 94vh); }
.template-preview-dialog[open] { display: flex; flex-direction: column; }
.template-preview-workspace { display:grid; grid-template-columns:minmax(260px,340px) minmax(0,1fr); gap:14px; flex:1; min-height:320px; padding:0 20px 14px; overflow:hidden; }
.template-preview-editor { min-height:0; display:flex; flex-direction:column; gap:14px; padding:16px; overflow:auto; border:1px solid #d4dfe6; border-radius:10px; background:#f8fbfc; }
.template-preview-editor > div:first-child { display:grid; gap:4px; }
.template-preview-editor > div:first-child strong { color:var(--navy); font-size:15px; }
.template-preview-editor > div:first-child small,.template-preview-empty small { color:var(--muted); line-height:1.45; }
.template-preview-field-list { display:grid; gap:11px; }
.template-preview-field-list label { display:grid; gap:5px; }
.template-preview-field-list label > span { display:flex; justify-content:space-between; gap:8px; color:#45606f; font-size:11px; font-weight:800; }
.template-preview-field-list label > span em { color:#a52d2d; font-style:normal; }
.template-preview-field-list textarea { min-height:76px; resize:vertical; }
.template-preview-field-list [aria-invalid="true"] { border-color:#d45151; box-shadow:0 0 0 3px rgba(212,81,81,.12); }
.template-preview-editor #refreshTemplatePreviewButton { margin-top:auto; }
.template-preview-body { position:relative; min-height:0; padding:0; }
.template-preview-editor.hidden + .template-preview-body { grid-column:1 / -1; }
.template-preview-body iframe { width:100%; height:100%; min-height:0; border:1px solid #d4dfe6; border-radius:10px; background:#eef2f4; }
.template-preview-empty { height:100%; min-height:0; display:grid; place-content:center; gap:7px; padding:24px; border:1px dashed #b9cbd4; border-radius:10px; color:var(--navy); background:#f5f9fa; text-align:center; }
.template-preview-actions { justify-content: flex-end; padding: 0 20px 20px; }
.template-preview-actions a { text-decoration: none; }
.worker-template-choices { display: grid; gap: 9px; margin: 14px 0; }
.worker-template-choices button { display: grid; gap: 3px; justify-items: start; width: 100%; text-align: left; }
.worker-template-choices button small { color: #6d8493; font-weight: 500; }
.template-completion { display: grid; gap: 6px; margin: 14px 0; }
.template-completion > div { height: 8px; overflow: hidden; border-radius: 999px; background: #dce8ec; }
.template-completion > div span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #0f766e, #38bda8); transition: width .25s ease; }
.template-completion small { color: #587181; font-weight: 700; }
.worker-template-values { margin: 12px 0; color: #365366; }
.worker-template-values summary { cursor: pointer; font-weight: 750; }
.worker-template-values dl { display: grid; gap: 6px; margin: 10px 0 0; }
.worker-template-values dl div { display: grid; grid-template-columns: minmax(120px, .8fr) minmax(0, 1.5fr); gap: 10px; padding: 7px 0; border-bottom: 1px solid #e1e8ed; }
.worker-template-values dt { font-weight: 750; }
.worker-template-values dd { margin: 0; overflow-wrap: anywhere; }
.template-report-fields { padding: 16px; border: 1px solid #cfe3df; border-radius: 14px; background: #f4fbf9; }
.template-report-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.template-report-field-grid label { display: grid; gap: 6px; }
.template-report-field-grid label span { color: #365366; font-size: .8rem; font-weight: 750; }
.pdf-layout-dialog { width: min(1280px, 97vw); height: min(940px, 96vh); }
.pdf-layout-dialog[open] { display: flex; flex-direction: column; }
.pdf-layout-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 0 20px 14px; border-bottom: 1px solid #e2e9ed; }
.pdf-layout-pages,.pdf-layout-toolbar-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.pdf-layout-pages button { min-height: 36px; padding: 7px 12px; border: 1px solid #d2e0e5; border-radius: 10px; color: #466175; background: white; font-weight: 750; }
.pdf-layout-pages button.active { color: white; border-color: #0b746b; background: #0b746b; }
.pdf-layout-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 18px; min-height: 0; flex: 1; padding: 18px 20px; overflow: auto; background: #edf3f5; }
.pdf-layout-canvas-wrap { min-width: 0; }
.pdf-layout-canvas { position: relative; width: min(100%, 760px); margin: 0 auto; overflow: hidden; border: 1px solid #c7d6dc; border-radius: 8px; background: white; box-shadow: 0 15px 40px rgba(7,36,55,.13); touch-action: none; }
.pdf-layout-canvas > img { display: block; width: 100%; height: 100%; object-fit: fill; user-select: none; pointer-events: none; }
.pdf-layout-field { position: absolute; display: flex; align-items: flex-start; min-width: 8px; min-height: 8px; padding: 2px 4px; overflow: visible; border: 2px solid #0b8e82; border-radius: 3px; color: #063b47; background: rgba(75,216,193,.22); cursor: move; touch-action: none; }
.pdf-layout-field.selected { border-color: #e48225; background: rgba(244,171,82,.24); box-shadow: 0 0 0 2px rgba(228,130,37,.22); }
.pdf-layout-field span { overflow: hidden; max-width: 100%; color: inherit; font-size: 9px; font-weight: 800; line-height: 1.15; white-space: nowrap; text-overflow: ellipsis; pointer-events: none; }
.pdf-layout-field i { position: absolute; right: -5px; bottom: -5px; width: 12px; height: 12px; border: 2px solid white; border-radius: 50%; background: #e48225; cursor: nwse-resize; }
.pdf-layout-inspector { display: grid; align-content: start; gap: 13px; padding: 18px; border: 1px solid #d4e0e5; border-radius: 14px; background: white; }
.pdf-layout-inspector label { display: grid; gap: 5px; }
.pdf-layout-inspector label > span { color: #466175; font-size: .76rem; font-weight: 750; }
.pdf-layout-inspector summary { cursor: pointer; color: #0c6e62; font-weight: 800; }
.pdf-layout-coordinate-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin-top: 10px; }
.pdf-layout-validation { display: flex; align-items: end; justify-content: space-between; gap: 16px; padding: 15px 20px 20px; border-top: 1px solid #e2e9ed; background: white; }
.pdf-layout-validation > label { display: grid; min-width: min(420px,45vw); gap: 5px; }
.pdf-layout-validation > label span { color: #466175; font-size: .76rem; font-weight: 750; }
.pdf-layout-validation > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }

@media (max-width: 850px) {
  .pdf-layout-workspace { grid-template-columns: 1fr; }
  .pdf-layout-inspector { order: -1; }
  .pdf-layout-validation,.pdf-layout-toolbar { align-items: stretch; flex-direction: column; }
  .pdf-layout-validation > label { min-width: 0; }
  .pdf-layout-validation > div { justify-content: stretch; }
  .pdf-layout-validation button { flex: 1; }
  .template-layout-callout { align-items: stretch; flex-direction: column; }
}

.platform-gates-surface { margin-top: 22px; }
.platform-gates-summary { margin: 16px 0 20px; }
.platform-gates-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.platform-gate-card { min-width: 0; padding: 17px; border: 1px solid #e1e9ed; border-radius: 16px; background: #f9fbfc; }
.platform-gate-card.ready { border-color: #9fd5ce; background: #f0fbf9; }
.platform-gate-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.platform-gate-card > header small { display: block; color: var(--muted); font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: 10px; overflow-wrap: anywhere; }
.platform-gate-card > header h3 { margin: 5px 0 0; font-size: 16px; }
.platform-gate-card details { margin-top: 14px; border-top: 1px solid #dce6ea; padding-top: 12px; }
.platform-gate-card summary { cursor: pointer; color: var(--blue); font-weight: 800; }
.platform-gate-form { display: grid; gap: 12px; margin-top: 14px; }
.platform-gate-form textarea { min-height: 280px; font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: 12px; line-height: 1.5; }
.platform-gate-errors { display: grid; gap: 5px; margin: 12px 0 0; padding-left: 19px; color: #8c3e25; font-size: 12px; line-height: 1.45; }

@media (max-width: 900px) {
  .platform-gates-grid { grid-template-columns: 1fr; }
}

@media (max-width: 980px) { .profile-layout { grid-template-columns: 1fr; } }
@media (max-width: 700px) {
  .assistant-panel { top: 62px; width: 100vw; }
  .assistant-fab { right: 14px; bottom: 14px; }
  .feedback-fab { right: 14px; bottom: 72px; padding: 10px 13px; font-size: 11px; }
  .profile-form, .profile-side .surface { padding: 18px; }
  .heading-actions { display: grid; grid-template-columns: 1fr; margin-top: 18px; }
  .heading-actions button { width: 100%; }
  .note-grid { grid-template-columns: 1fr; }
  .photo-analysis-layout { grid-template-columns: 1fr; padding: 0 14px 16px; }
  .project-closeout-body { padding: 0 14px 18px; }
  .closeout-status-head,.closeout-status-head > div,.project-requirement,.acceptance-item-list > article,.handover-package { align-items: stretch; grid-template-columns: 1fr; flex-direction: column; }
  .project-requirement > div:last-child,.handover-package > div:last-child { flex-wrap: wrap; }
  .voice-capture { grid-template-columns: 54px minmax(0, 1fr); }
  .voice-upload-button { grid-column: 2; justify-self: start; }
  .template-use, .mapping-row { grid-template-columns: 1fr; }
  .template-creation-form > button { width: 100%; }
  .mapping-required { grid-column: 1; }
  .template-report-field-grid, .worker-template-values dl div { grid-template-columns: 1fr; }
  .template-preview-workspace { grid-template-columns:1fr; overflow:auto; }
  .template-preview-editor { overflow:visible; }
  .template-preview-body iframe,.template-preview-empty { min-height:55vh; }
  .report-signature-head { align-items: stretch; flex-direction: column; }
  .report-signature-list { grid-template-columns: 1fr; }
  .ai-thinking { left: 14px; right: 14px; bottom: 76px; max-width: none; }
  .microsoft-dialog-actions { display: grid; grid-template-columns: 1fr; }
  .microsoft-dialog-actions button { width: 100%; }
  .microsoft-dialog-actions .danger { margin: 0; order: 3; }
  .microsoft-connection-indicator { right: 14px; bottom: 72px; max-width: calc(100vw - 28px); }
}

@media (prefers-reduced-motion: reduce) {
  .ai-thinking-orb, .ai-thinking-orb i, .voice-capture.processing .voice-record-button, .voice-capture.processing::after { animation-duration: 3s; animation-iteration-count: 1; }
}

/* Vereinfachter Arbeitschat für Monteure */
body.worker-mode .app-view { grid-template-columns: 1fr; }
body.worker-mode .sidebar { display: none; }
body.worker-mode .content-shell { width: min(1480px, 100%); margin: 0 auto; padding: clamp(18px, 3vw, 42px); }
body.worker-mode .microsoft-connection-indicator { display: none !important; }
.worker-mobile-nav { display: none; }
.worker-workspace { min-height: calc(100vh - 140px); }
.worker-header { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 24px; }
.worker-header h1 { margin: 4px 0 8px; color: var(--navy); font-size: clamp(30px, 4vw, 48px); letter-spacing: -1.8px; }
.worker-header > div > p:last-child { max-width: 720px; margin: 0; color: var(--muted); line-height: 1.55; }
.worker-project-picker { width: min(360px, 100%); display: grid; gap: 7px; }
.worker-project-picker span { color: var(--muted); font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .7px; }
.worker-project-picker select { width: 100%; padding: 12px 13px; border: 1px solid var(--line); border-radius: 10px; color: var(--navy); background: white; font-weight: 750; }
.worker-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, .75fr); gap: 18px; align-items: start; }
.worker-chat { min-height: 660px; padding: 0; display: flex; flex-direction: column; overflow: hidden; }
.worker-chat-head { padding: 17px 20px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: #f8fbfc; }
.worker-chat-head > div { display: flex; align-items: center; gap: 10px; }
.worker-chat-head strong, .worker-chat-head small { display: block; }
.worker-chat-head strong { color: var(--navy); font-size: 13px; }
.worker-chat-head small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.worker-ai-mark { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 10px; color: var(--navy); background: var(--cyan); font-weight: 900; }
.worker-ai-mark svg, .worker-camera-button svg, .worker-file-button svg, .worker-send-button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.worker-online { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 9px; font-weight: 750; }
.worker-online i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); }
.worker-messages { min-height: 290px; flex: 1; padding: 22px; display: flex; flex-direction: column; gap: 12px; overflow-y: auto; background: linear-gradient(180deg, #f5f9fa, #fff); }
.worker-message { max-width: min(82%, 650px); padding: 12px 14px; border-radius: 15px 15px 15px 4px; color: var(--text); background: white; box-shadow: 0 5px 17px rgba(7,35,54,.08); font-size: 13px; line-height: 1.55; white-space: pre-wrap; }
.worker-message.user { margin-left: auto; border-radius: 15px 15px 4px 15px; color: white; background: var(--navy); }
.worker-suggestions { padding: 0 18px 12px; display: flex; flex-wrap: wrap; gap: 7px; background: white; }
.worker-suggestions button { padding: 8px 10px; border: 1px solid #cfe1e8; border-radius: 99px; color: #31556a; background: #f5fafc; font-size: 9px; font-weight: 750; }
.worker-suggestions button:hover { border-color: var(--blue); color: var(--blue); }
.worker-inline-preview { margin: 0 18px 14px; padding: 16px; border: 1px solid #9ed3e6; border-radius: 12px; background: #eff9fd; min-height:0; overflow-y:auto; max-height:60dvh; overscroll-behavior:contain; }
.worker-chat:has(.worker-inline-preview:not(.hidden)) .worker-messages { flex:0 1 96px; min-height:0; }
.worker-chat-head, .worker-compose { flex-shrink:0; }
.worker-report-details > summary { padding:12px 0; cursor:pointer; font-weight:700; }
.worker-preview-head { display: flex; align-items: center; gap: 10px; }
.worker-preview-head > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; color: white; background: var(--blue); }
.worker-preview-head strong, .worker-preview-head small { display: block; }
.worker-preview-head strong { color: var(--navy); }
.worker-preview-head small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.worker-inline-preview > p { margin: 14px 0; color: #31556a; font-size: 12px; line-height: 1.55; white-space: pre-wrap; }
.worker-preview-warning { padding: 9px 10px; border-radius: 7px; background: #fff3dd; color: #875710 !important; }
.worker-report-preview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 12px 0; }
.worker-report-preview section { padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.worker-report-preview section > strong { color: var(--navy); font-size: 12px; }
.worker-report-preview p, .worker-report-preview ul { margin: 5px 0 0; font-size: 13px; }
.worker-report-preview ul { padding-left: 18px; }
.worker-report-questions { margin: 12px 0; padding: 12px; border: 1px solid #f0c36b; border-radius: 10px; background: #fff8e8; }
.worker-report-questions ol { margin: 8px 0; padding-left: 22px; }
.worker-report-questions small { color: var(--muted); }
.worker-report-complete { color: #13734a; font-weight: 800; }
.worker-workflow-question { display:grid; gap:9px; margin:14px 0; padding:16px; border:1px solid #45aeb9; border-radius:14px; background:#eefafb; box-shadow:0 8px 22px rgba(8,86,103,.08); }
.worker-workflow-question > div { display:flex; justify-content:space-between; gap:12px; color:#087986; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.worker-workflow-question > strong { font-size:16px; line-height:1.45; color:var(--text); }
.worker-workflow-question > small { color:var(--muted); }
.workflow-summary { margin:0; font-size:13px; color:var(--muted); }
.inline-processing-status { grid-column:1/-1; flex-basis:100%; padding:10px 12px; border-inline-start:3px solid #0b8496; color:var(--text); background:#eefafb; border-radius:6px; font-size:14px; overflow-wrap:anywhere; }
.worker-workflow-question details { font-size:14px; }
.worker-workflow-question summary { cursor:pointer; padding:8px 0; }
.worker-workflow-question li { margin:8px 0; overflow-wrap:anywhere; }
.submission-error { grid-column:1/-1; display:flex; align-items:center; gap:12px; padding:12px; border:1px solid #b42318; border-radius:10px; background:#fff4f2; color:#7a271a; overflow-wrap:anywhere; }
.submission-error button { flex-shrink:0; min-height:44px; }
.worker-workflow-answers button { min-height:44px; }
:where(button,a,input,textarea,select,summary):focus-visible { outline:3px solid #0b8496; outline-offset:3px; }
@media(max-width:600px) {
  .worker-workflow-question > div { flex-wrap:wrap; }
  .worker-workflow-answers > div { flex-wrap:wrap; }
  .submission-error { flex-wrap:wrap; }
  #workerInstruction { scroll-margin-bottom:100px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
}
.worker-workflow-answers { display:grid; gap:7px; margin:12px 0; }
.worker-workflow-answers > div { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 12px; padding:9px 11px; border-radius:10px; background:#edf8f4; color:#175f4e; font-size:13px; }
.worker-workflow-answers > div > span:last-child { display:flex; align-items:center; gap:6px; }
.worker-workflow-answers button { border:0; background:transparent; color:#087986; font-weight:800; cursor:pointer; }
.worker-workflow-controls { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-top:10px; padding-top:12px; border-top:1px solid var(--line); }
.worker-preview-actions { display: flex; justify-content: end; gap: 8px; }
.worker-compose { padding: 15px 18px 18px; border-top: 1px solid var(--line); background: white; }
.worker-compose > textarea { width: 100%; min-height: 82px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 12px; resize: vertical; outline: none; }
.worker-compose > textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(22,141,202,.11); }
.worker-compose-actions { display: grid; grid-template-columns: minmax(190px, 1fr) auto auto auto; gap: 9px; align-items: stretch; margin-top: 9px; }
.worker-voice { min-width: 0; }
.worker-camera-button, .worker-file-button { min-width: 75px; padding: 8px 12px; display: flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid var(--line); border-radius: 10px; color: var(--navy); background: white; cursor: pointer; font-size: 12px; font-weight: 850; }
.worker-camera-button { color: white; background: var(--navy); border-color: var(--navy); }
.worker-camera-button input, .worker-file-button input { display: none; }
.worker-send-button { padding: 0 16px; border: 0; border-radius: 10px; color: white; background: var(--blue); font-weight: 850; }
.worker-send-button span { margin-left: 7px; }
.worker-timeline { padding: 20px; }
.worker-timeline-list { display: grid; margin-top: 12px; }
.worker-timeline-list button { padding: 13px 2px; display: grid; grid-template-columns: 37px 1fr; gap: 10px; align-items: center; border: 0; border-top: 1px solid #e9eff2; color: inherit; background: transparent; text-align: left; }
.worker-timeline-list button:first-child { border-top: 0; }
.worker-timeline-list button:hover strong { color: var(--blue); }
.worker-timeline-list strong, .worker-timeline-list small { display: block; }
.worker-timeline-list strong { color: var(--navy); font-size: 11px; }
.worker-timeline-list small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.worker-timeline-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; color: var(--blue); background: #eaf6fb; font-weight: 900; }

/* Visuelle Projektübersicht für Monteure */
.worker-projects-workspace { min-height: calc(100vh - 140px); }
.worker-projects-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.worker-projects-heading h1 { margin: 4px 0 7px; color: var(--navy); font-size: clamp(30px, 4vw, 48px); letter-spacing: -1.7px; }
.worker-projects-heading p:last-child { max-width: 680px; margin: 0; color: var(--muted); line-height: 1.5; }
.worker-project-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(275px, 1fr)); gap: 18px; }
.worker-project-card { overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: white; box-shadow: var(--shadow); }
.worker-project-cover { position: relative; width: 100%; height: 190px; display: grid; place-items: center; overflow: hidden; border: 0; color: rgba(255,255,255,.75); background: linear-gradient(135deg, #0a3048, #168d8e); cursor: pointer; }
.worker-project-cover > span { font-size: 58px; }
.worker-project-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.worker-project-cover:hover img { transform: scale(1.025); }
.worker-project-cover::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(4,24,38,.62)); pointer-events: none; }
.worker-project-cover em { position: absolute; z-index: 1; left: 13px; bottom: 12px; padding: 6px 9px; border-radius: 99px; color: white; background: rgba(8,39,58,.8); font-size: 9px; font-style: normal; font-weight: 850; text-transform: uppercase; }
.worker-project-card-body { padding: 17px; }
.worker-project-card-body > span { color: var(--blue); font-size: 9px; font-weight: 900; letter-spacing: .7px; text-transform: uppercase; }
.worker-project-card-body h2 { margin: 5px 0 7px; color: var(--navy); font-size: 18px; }
.worker-project-card-body > p { min-height: 34px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.worker-project-card-metrics { margin: 14px 0; padding: 10px 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #e6edef; border-bottom: 1px solid #e6edef; }
.worker-project-card-metrics small { display: grid; gap: 2px; color: var(--muted); text-align: center; }
.worker-project-card-metrics strong { color: var(--navy); font-size: 16px; }
.worker-project-open-button { width: 100%; padding: 10px 0 2px; display: flex; justify-content: space-between; border: 0; color: #0d756b; background: transparent; font-weight: 850; text-align: left; }
.worker-project-detail { display: grid; gap: 17px; }
.worker-project-detail-hero { min-height: 260px; padding: 24px; display: flex; flex-direction: column; justify-content: space-between; border-radius: 18px; color: white; background-position: center; background-size: cover; box-shadow: var(--shadow); }
.worker-detail-back { align-self: flex-start; padding: 8px 11px; border: 1px solid rgba(255,255,255,.42); border-radius: 99px; color: white; background: rgba(4,25,39,.42); backdrop-filter: blur(8px); font: inherit; font-size: 10px; font-weight: 800; }
.worker-project-detail-hero span { font-size: 10px; font-weight: 850; letter-spacing: 1px; text-transform: uppercase; }
.worker-project-detail-hero h2 { margin: 6px 0 6px; max-width: 760px; font-size: clamp(29px, 4vw, 48px); letter-spacing: -1.5px; }
.worker-project-detail-hero p { margin: 0; color: rgba(255,255,255,.86); }
.worker-project-detail-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.worker-project-chat-button { border-color: #82cbbf; color: #087568; background: #e9f8f5; }
.worker-project-team-chat { max-width: none; }
.worker-project-chat-project { padding: 6px 9px; border-radius: 99px; color: #176174; background: #e6f2f5; font-size: 9px; font-weight: 900; }
.worker-project-detail.project-chat-focused { display: block; min-height: 0; }
.worker-project-detail.project-chat-focused > :not(#workerProjectTeamChat) { display: none !important; }
.worker-project-detail.project-chat-focused #workerProjectTeamChat { min-height: 0; }
.worker-project-detail.project-chat-focused .worker-project-team-chat { min-height: 0; margin: 0; grid-template-rows: auto minmax(0,1fr) auto; }
.worker-project-detail.project-chat-focused .project-chat-messages { min-height: 0; max-height: none; }
body.worker-project-chat-focused .worker-projects-heading { display: none; }
body.worker-project-chat-focused .worker-projects-workspace { min-height: 0; }
.worker-project-chat-focus-head { display: grid; grid-template-columns: auto minmax(0,1fr) auto; }
.worker-project-chat-back { min-height: 40px; padding: 7px 10px; display: flex; align-items: center; gap: 6px; border: 1px solid #c9dce3; border-radius: 10px; color: #174c61; background: #f5f9fa; font: inherit; cursor: pointer; }
.worker-project-chat-back span { font-size: 17px; line-height: 1; }
.worker-project-chat-back strong { font-size: 9px; }
.worker-project-chat-focus-title { min-width: 0; display: flex; align-items: center; gap: 10px; }
.worker-project-chat-focus-title > div { min-width: 0; }
.worker-project-chat-focus-title p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.worker-assignment-request { padding: 15px 17px; display: flex; justify-content: space-between; align-items: center; gap: 16px; border: 1px solid #efc46c; border-left: 5px solid var(--orange); border-radius: 12px; background: #fff9ea; }
.worker-assignment-request.urgency-critical { border-color: #e69c9c; border-left-color: #c74444; background: #fff4f4; }
.worker-assignment-request span { color: #a46609; font-size: 8px; font-weight: 900; letter-spacing: .8px; }
.worker-assignment-request h3 { margin: 4px 0; color: var(--navy); font-size: 15px; }
.worker-assignment-request p { margin: 0; color: #536b7a; font-size: 10px; }
.worker-assignment-request small { display: block; margin-top: 5px; color: var(--muted); font-size: 8px; }
.worker-assignment-request > div:last-child { display: flex; gap: 7px; flex: 0 0 auto; }
.worker-assignment-request > strong { color: #0d7450; font-size: 10px; }
.worker-project-stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 11px; }
.worker-project-stat-grid article { padding: 14px; display: grid; grid-template-columns: auto 1fr auto; gap: 9px; align-items: center; border: 1px solid var(--line); border-radius: 12px; background: white; }
.worker-project-stat-grid article > span { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 8px; color: var(--blue); background: #eaf6fb; font-weight: 900; }
.worker-project-stat-grid small { color: var(--muted); }
.worker-project-stat-grid strong { color: var(--navy); font-size: 20px; }
.worker-project-detail-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .8fr); gap: 17px; align-items: start; }
.worker-project-detail-grid > .surface { padding: 20px; }
.worker-project-plan-panel { grid-column: 1 / -1; overflow: hidden; border-color: #a9d8dd; background: linear-gradient(135deg,#f2fbfb,#fff); }
.worker-project-plan-card { width: 100%; margin-top: 14px; padding: 15px; display: grid; grid-template-columns: 54px minmax(0,1fr) auto; gap: 13px; align-items:center; border:1px solid #b8dce1; border-radius:14px; color:var(--text); background:white; text-align:left; box-shadow:0 7px 20px rgba(8,67,75,.07); }
.worker-project-plan-card > span:first-child { width:54px;height:54px;display:grid;place-items:center;border-radius:13px;color:white;background:linear-gradient(145deg,#0a435a,#0c8a83);font-size:12px;font-weight:900; }
.worker-project-plan-card > span:nth-child(2) { min-width:0; width:auto; display:block; }
.worker-project-plan-card strong,.worker-project-plan-card small { display:block; }
.worker-project-plan-card strong { overflow:hidden;color:var(--navy);font-size:13px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap; }
.worker-project-plan-card small { margin-top:4px;color:var(--muted);font-size:9px;line-height:1.45; }
.worker-project-plan-card em { color:#08796f;font-size:20px;font-style:normal;font-weight:900; }
.worker-plan-marker-list { margin-top:10px;display:grid;gap:7px; }
.worker-plan-marker { width:100%;padding:10px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;border:0;border-radius:11px;color:var(--text);background:#edf7f8;text-align:left; }
.worker-plan-marker > span:first-child { width:32px;height:32px;display:grid;place-items:center;border-radius:9px;color:white;background:#1476a4;font-weight:900; }
.worker-plan-marker > span:nth-child(2) { min-width:0; width:auto; display:block; }
.worker-plan-marker > span:first-child.note{background:#526b79}.worker-plan-marker > span:first-child.defect{background:#c94040}.worker-plan-marker > span:first-child.obstruction{background:#d47d0a}.worker-plan-marker > span:first-child.extra_work{background:#17835b}
.worker-plan-marker strong,.worker-plan-marker small{display:block}.worker-plan-marker strong{overflow:hidden;font-size:10px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.worker-plan-marker small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.45}.worker-plan-marker b{color:#0b7180;font-size:8px;white-space:nowrap}
.worker-project-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.worker-project-gallery > a { position: relative; min-height: 150px; overflow: hidden; border-radius: 10px; color: white; background: #0b2b40; }
.worker-project-gallery img { width: 100%; height: 100%; min-height: 150px; display: block; object-fit: cover; }
.worker-project-gallery > a::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(3,21,33,.8)); }
.worker-project-gallery > a > span { position: absolute; z-index: 1; left: 10px; right: 10px; bottom: 9px; font-size: 10px; font-weight: 800; }
.worker-project-gallery > a small { display: block; margin-top: 2px; color: rgba(255,255,255,.75); font-weight: 500; }
.worker-project-facts { margin: 0; display: grid; }
.worker-project-facts > div { padding: 10px 0; display: grid; grid-template-columns: 105px 1fr; gap: 10px; border-top: 1px solid #e8eef1; }
.worker-project-facts > div:first-child { border-top: 0; }
.worker-project-facts dt { color: var(--muted); font-size: 10px; font-weight: 750; }
.worker-project-facts dd { margin: 0; color: var(--navy); font-size: 11px; font-weight: 800; }
.worker-project-description { margin: 12px 0 0; padding: 12px; border-radius: 9px; color: #365366; background: #f2f7f8; font-size: 11px; line-height: 1.55; white-space: pre-wrap; }
.worker-project-description.muted { color: var(--muted); }
.worker-project-documents-panel, .worker-project-activity-panel { grid-column: span 1; }
.worker-project-document { width:100%;min-width:0;padding:11px 0;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;border:0;border-top:1px solid #e8eef1;color:inherit;background:transparent;text-align:left; }
.worker-project-document:first-of-type { border-top: 0; }
.worker-project-document > span { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 8px; color: #a54233; background: #fff0ed; font-size: 9px; font-weight: 900; }
.worker-project-document > div { min-width:0; }
.worker-project-document strong, .worker-project-document small { display: block; }
.worker-project-document strong { overflow:hidden;color:var(--navy);font-size:11px;text-overflow:ellipsis;white-space:nowrap; }
.worker-project-document small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.worker-project-document em { padding: 5px 7px; border-radius: 99px; color: #087568; background: #dff7f1; font-size: 8px; font-style: normal; font-weight: 900; text-transform: uppercase; }
.worker-project-activity-list { display: grid; }
.worker-project-activity-list button { padding: 10px 0; display: grid; grid-template-columns: 35px 1fr; gap: 9px; align-items: center; border: 0; border-top: 1px solid #e8eef1; color: inherit; background: transparent; text-align: left; }
.worker-project-activity-list button:first-child { border-top: 0; }
.worker-project-activity-list button > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 8px; color: var(--blue); background: #eaf6fb; }
.worker-project-activity-list strong, .worker-project-activity-list small { display: block; }
.worker-project-activity-list strong { color: var(--navy); font-size: 11px; }
.worker-project-activity-list small { margin-top: 3px; color: var(--muted); font-size: 9px; }

@media (max-width: 900px) {
  .project-hub-layout { grid-template-columns: 1fr; }
  .project-rail { position: static; max-height: none; }
  #projectGrid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .project-cockpit-grid { grid-template-columns: 1fr; }
  .project-cockpit-tabs { padding-inline: 12px; }
  .project-cockpit-panel { padding: 14px; }
  .project-overview-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .worker-header { display: grid; align-items: start; }
  .worker-project-picker { width: 100%; }
  .worker-layout { grid-template-columns: 1fr; }
  .worker-timeline { order: 2; }
  .worker-project-detail-grid { grid-template-columns: 1fr; }
  .worker-project-stat-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .report-evidence-list { max-height: none; overflow: visible; }
  .report-evidence-head { align-items: flex-start; }
  .report-evidence-title { align-items: flex-start; }
  .report-evidence-title code { overflow-wrap: anywhere; }
  .trash-surface { padding: 14px; }
  .trash-row { grid-template-columns: 38px 1fr; padding: 12px; }
  .trash-mark { width: 38px; height: 38px; }
  .trash-row > button, .trash-permission { grid-column: 2; justify-self: start; max-width: none; text-align: left; }
  .project-rail { min-height: 0; padding: 16px; }
  .project-selection-heading { align-items: stretch; flex-direction: column; }
  .project-selection-heading .action-primary { width: 100%; }
  .project-selection-tools { grid-template-columns: 1fr; }
  .project-selection-search { min-height: 56px; padding-inline: 14px; }
  .project-selection-search input { font-size: 12px; }
  .project-presentation-toggle { min-width: 0; }
  .project-selection-summary { align-items: flex-start; flex-direction: column; gap: 4px; }
  #projectGrid { grid-template-columns: 1fr; }
  .project-rail-item { min-height: 190px; }
  .project-cockpit-hero { padding: 18px; display: grid; grid-template-columns: minmax(0,1fr); justify-content: stretch; align-items: stretch; }
  .project-cockpit-actions { position: relative; width: 100%; margin-top: 14px; justify-self: stretch; justify-content: flex-end; }
  .project-cockpit-switch { position: static; }
  .project-cockpit-menu { position: static; }
  .project-attention { align-items: flex-start; }
  .project-cockpit-metrics { grid-template-columns: repeat(3,1fr); }
  .project-cockpit-grid { padding: 0 10px 10px; }
  .project-cockpit-tabs { padding: 0 8px; }
  .project-cockpit-tabs button { min-height: 46px; padding-inline: 10px; }
  .project-cockpit-tabs button b { display: none; }
  .project-cockpit-panel { padding: 10px; }
  .project-overview-actions { grid-template-columns: 1fr; }
  .project-chat { min-height: calc(100vh - 230px); border-radius: 10px; }
  .project-chat-head { padding: 11px; }
  .project-chat-messages { max-height: none; min-height: 300px; padding: 12px 9px; }
  .project-chat-message { max-width: 91%; }
  .project-chat-message p { font-size: 11px; }
  .project-chat-recipient small { display: none; }
  .project-tab-heading { align-items: stretch; flex-direction: column; }
  .project-tab-filters { width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .project-date-filter,.project-date-filter summary,.project-member-filter,.project-member-filter summary { min-width: 0; width: 100%; }
  .project-member-filter summary > strong { max-width: 120px; }
  .project-date-popover { right: 0; width: calc(200% + 8px); grid-template-columns: 1fr; }
  .project-member-popover { right: auto; left: 0; width: calc(200% + 8px); }
  .project-filter-result { flex-wrap: wrap; }
  .project-filter-result small { width: 100%; margin-left: 0; }
  .project-day-group > header { align-items: flex-start; }
  .project-day-columns { grid-template-columns: 1fr; }
  .project-day-column + .project-day-column { border-top: 1px solid #e4ebee; border-left: 0; }
  .project-activity-days .cockpit-activity { padding-inline: 10px; }
  .project-site-grid { grid-template-columns: 1fr; }
  .project-documents-card { grid-column: auto; }
  .project-team-list-spacious article { grid-template-columns: 40px minmax(0,1fr); }
  .project-team-list-spacious .availability { grid-column: 2; justify-self: start; }
  .project-tab-card > .cockpit-assign,.resource-matches { grid-template-columns: 1fr; }
  .cockpit-photo-grid { grid-template-columns: repeat(2,1fr); }
  .privacy-overview-grid, .privacy-guidance-grid { grid-template-columns: 1fr; }
  .pilot-readiness-summary, .pilot-checklist, .pilot-confirmation-grid { grid-template-columns: 1fr; }
  .pilot-readiness-card { padding: 18px; }
  .pilot-feedback-item { grid-template-columns: 1fr; }
  .operations-summary { grid-template-columns: 1fr 1fr; }
  .operations-job { grid-template-columns: 1fr; }
  .privacy-flow-card, .privacy-status-card, .privacy-guidance-card { padding: 18px; }
  .worker-report-preview { grid-template-columns: 1fr; }
  body.worker-mode .content-shell { padding: 16px 10px 94px; }
  body.worker-mode .feedback-fab { right: 14px; bottom: 84px; }
  body.worker-mode #workerHomeButton, body.worker-mode #workerProjectsButton, body.worker-mode #workerProfileButton { display: none; }
  body.worker-mode #resetDemoButton { display: none; }
  body.worker-mode .system-status { display: none; }
  body.worker-mode .portal-topbar { height: 66px; padding: 0 10px; }
  body.worker-mode .portal-brand { font-size: 0; gap: 0; }
  body.worker-mode .portal-brand .brand-symbol { width: 34px; height: 34px; font-size: 14px; }
  body.worker-mode .topbar-right { gap: 6px; }
  body.worker-mode .worker-language-switcher { min-width: 0; padding: 4px; border-radius: 9px; }
  body.worker-mode .worker-language-label { display: none; }
  body.worker-mode .worker-language-button { min-width: 130px; max-width: 47vw; padding: 7px; }
  body.worker-mode .worker-language-menu { width: auto; max-height: calc(100vh - 132px); grid-template-columns: 1fr; position: fixed; left: 10px; right: 10px; top: 60px; }
  body.worker-mode #logoutButton { padding: 8px; font-size: 9px; }
  body.worker-mode .worker-mobile-nav:not(.hidden) { position: fixed; z-index: 70; left: 9px; right: 9px; bottom: 9px; padding: 7px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; border: 1px solid rgba(255,255,255,.28); border-radius: 17px; background: rgba(7,36,55,.96); box-shadow: 0 14px 35px rgba(5,29,45,.28); backdrop-filter: blur(12px); }
  .worker-mobile-nav button { padding: 8px 5px; display: grid; place-items: center; gap: 3px; border: 0; border-radius: 11px; color: #bbced9; background: transparent; font: inherit; font-size: 9px; font-weight: 800; }
  .worker-mobile-nav button span { font-size: 16px; }
  .worker-mobile-nav button span svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .worker-mobile-nav button.active { color: white; background: #138f82; }
  .worker-header { margin: 0 5px 17px; gap: 15px; }
  .worker-header h1 { font-size: 31px; }
  .worker-header > div > p:last-child { font-size: 12px; }
  .worker-chat { min-height: calc(100vh - 230px); border-radius: 12px; }
  .worker-messages { padding: 15px 12px; }
  .worker-message { max-width: 92%; font-size: 12px; }
  .worker-suggestions { padding: 0 12px 10px; flex-wrap: nowrap; overflow-x: auto; }
  .worker-suggestions button { flex: 0 0 auto; }
  .worker-inline-preview { margin: 0 12px 12px; }
  .worker-compose { padding: 11px 12px 14px; position: sticky; bottom: 0; z-index: 4; }
  .worker-compose-actions { grid-template-columns: 58px 58px 58px 1fr; }
  .worker-voice { display: block; padding: 4px; margin: 0; text-align: center; }
  .worker-voice > div { display: none; }
  .worker-voice .voice-record-button { margin: auto; }
  .worker-camera-button span, .worker-file-button span { display: none; }
  .worker-send-button { min-height: 54px; }
  .worker-timeline { padding: 16px; }
  .worker-projects-heading { margin: 0 5px 17px; display: grid; }
  .worker-projects-heading h1 { font-size: 31px; }
  .worker-projects-heading > button { width: 100%; }
  .worker-project-card-grid { grid-template-columns: 1fr; }
  .worker-project-cover { height: 175px; }
  .worker-project-detail-hero { min-height: 225px; padding: 16px; }
  .worker-project-detail-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .worker-assignment-request { display: grid; }
  .worker-assignment-request > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
  .worker-project-detail-actions button:last-of-type { grid-column: 1 / -1; }
  .worker-project-detail-actions .worker-project-chat-button { grid-column: 1 / -1; }
  .worker-project-stat-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .worker-project-stat-grid article { padding: 10px; grid-template-columns: auto 1fr; }
  .worker-project-stat-grid article strong { grid-column: 2; grid-row: 2; }
  .worker-project-detail-grid > .surface { padding: 15px; }
  .worker-project-gallery { grid-template-columns: 1fr 1fr; }
  .worker-project-gallery > a, .worker-project-gallery img { min-height: 125px; }
  .worker-preview-actions { display: grid; grid-template-columns: 1fr; }
}

@scope (html[data-theme="dark"]) {

/* Sekundaere mobile Projektflaechen */
.worker-project-stat-grid article,
.worker-project-plan-panel,
.worker-project-plan-card {
  color: var(--text);
  border-color: var(--line);
  background: linear-gradient(145deg,rgba(17,42,51,.88),rgba(5,17,23,.96));
  box-shadow: inset 1px 1px 1px rgba(207,255,252,.06);
}
.worker-project-stat-grid article > span,
.worker-project-activity-list button > span { color: var(--cyan); background: rgba(96,222,212,.1); }
.worker-project-stat-grid strong,
.worker-project-plan-card strong,
.worker-project-facts dd,
.worker-project-document strong,
.worker-project-activity-list strong { color: var(--ink-bright); }
.worker-project-facts > div,
.worker-project-document,
.worker-project-activity-list button { border-color: rgba(134,225,230,.1); }
.worker-project-description { color: #b8ccd2; background: rgba(15,39,48,.58); }
.worker-project-chat-button { color: #bcf5ed; border-color: rgba(119,231,219,.38); background: rgba(35,91,89,.2); }
.worker-project-chat-project { color: #bdeee8; background: rgba(96,222,212,.12); }

/* NAVENTOR 2026 — visuelles System der aktuellen Markenwebsite.
   Ausschliesslich Darstellung: bestehende Struktur, IDs und Interaktionen bleiben unveraendert. */
:root {
  color-scheme: dark;
  --navy: #030b0f;
  --navy-soft: #0a1b23;
  --blue: #60ded4;
  --cyan: #77e7db;
  --paper: #030b0f;
  --white: #eef9fa;
  --text: #dcebee;
  --muted: #9bb3bd;
  --line: rgba(134,225,230,.18);
  --green: #55dca7;
  --orange: #f0b35a;
  --red: #ff7474;
  --ink-bright: #f2fbfc;
  --panel: rgba(8,24,31,.88);
  --panel-strong: #091920;
  --panel-soft: rgba(17,42,51,.72);
  --glow: rgba(96,222,212,.18);
  --shadow: 0 24px 70px rgba(0,0,0,.35);
}

html,
body {
  color: var(--text);
  background: var(--paper);
}

body {
  letter-spacing: -.008em;
}

::selection { color: #031014; background: var(--cyan); }
* { scrollbar-color: rgba(119,231,219,.34) rgba(255,255,255,.025); }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: rgba(255,255,255,.025); }
*::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 99px; background: rgba(119,231,219,.34); background-clip: padding-box; }

.portal-topbar {
  border-bottom-color: rgba(145,213,219,.14);
  color: var(--text);
  background: rgba(3,11,15,.92);
  box-shadow: 0 12px 35px rgba(0,0,0,.16);
  backdrop-filter: blur(18px) saturate(125%);
}
.portal-brand { color: var(--ink-bright); font-size: 18px; letter-spacing: .12em; }
.portal-brand > span:last-child > span { color: var(--cyan); }
.brand-symbol {
  color: #eafffc;
  background: linear-gradient(145deg,#169da1,#0b4453 70%,#07171e);
  border: 1px solid rgba(157,255,243,.36);
  box-shadow: inset 1px 1px 2px rgba(220,255,252,.32),0 0 24px rgba(72,225,214,.2);
}
.topbar-right .ghost,
.demo-mode-badge {
  color: #cae0e5;
  border-color: rgba(134,225,230,.24);
  background: rgba(18,43,52,.5);
}
.topbar-right .ghost:hover { color: #f2ffff; border-color: rgba(119,231,219,.55); background: rgba(36,82,90,.48); }
.demo-mode-badge { color: #a9e7e2; }
.system-status { color: var(--muted); }
.system-status.ok i { box-shadow: 0 0 0 4px rgba(85,220,167,.12),0 0 12px rgba(85,220,167,.48); }
.system-status.demo { color: #abd2da; }
.system-status.demo i { background: var(--cyan); box-shadow: 0 0 0 4px rgba(119,231,219,.11),0 0 12px rgba(119,231,219,.4); }

/* Anmeldung: derselbe atmosphaerische Industrie-Look wie auf naventor.de. */
.auth-view {
  background:
    radial-gradient(circle at 80% 18%,rgba(74,222,210,.08),transparent 32%),
    linear-gradient(135deg,#02080b,#06141a 58%,#030b0f);
}
.auth-visual {
  isolation: isolate;
  background:
    linear-gradient(90deg,rgba(3,11,15,.98),rgba(3,11,15,.78) 58%,rgba(3,11,15,.42)),
    linear-gradient(180deg,rgba(3,11,15,.14),rgba(3,11,15,.9)),
    url('/demo-assets/demo-001-elektromontage.png') center/cover;
}
.auth-visual::before {
  z-index: -1;
  inset: 0;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background: radial-gradient(circle at 72% 38%,rgba(72,236,220,.18),transparent 26%);
  box-shadow: none;
}
.auth-visual::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -8%;
  bottom: 16%;
  width: 58%;
  height: 1px;
  background: linear-gradient(90deg,transparent,var(--cyan),transparent);
  box-shadow: 0 0 26px var(--cyan);
  transform: rotate(-10deg);
  opacity: .55;
}
.auth-visual .kicker { color: var(--cyan); }
.auth-visual h1 { max-width: 710px; font-size: clamp(43px,5vw,72px); font-weight: 420; line-height: 1.03; letter-spacing: -.055em; }
.auth-visual h1 em { margin-top: 4px; color: var(--cyan); font-family: inherit; font-weight: 420; }
.auth-lead { max-width: 610px; color: #b1c6cd; font-size: 16px; }
.trust-grid div {
  border-color: rgba(134,225,230,.24);
  border-radius: 13px;
  background: linear-gradient(140deg,rgba(40,79,90,.42),rgba(5,17,23,.58));
  box-shadow: inset 1px 1px 1px rgba(205,255,250,.1);
  backdrop-filter: blur(12px);
}
.trust-grid strong { font-size: 16px; font-weight: 650; }
.trust-grid span { color: #9cb6bf; font-size: 12px; }
.auth-card {
  border-color: rgba(134,225,230,.24);
  border-radius: 22px;
  color: var(--text);
  background: linear-gradient(145deg,rgba(20,46,56,.94),rgba(5,17,23,.97));
  box-shadow: inset 1px 1px 1px rgba(207,255,252,.13),0 30px 90px rgba(0,0,0,.44),0 0 55px rgba(61,217,205,.05);
  backdrop-filter: blur(22px);
}
.auth-card h2 { color: var(--ink-bright); font-weight: 560; }
.kicker.dark { color: var(--cyan); }
.subtle { color: var(--muted); }
.auth-separator::before,.auth-separator::after { background: var(--line); }
.demo-access,
.registration-plan-card,
.billing-selection-card {
  border-color: var(--line);
  background: rgba(19,47,57,.52);
}
.demo-access button { border: 1px solid rgba(134,225,230,.22); background: rgba(15,42,51,.9); }
.demo-access-actions .demo-admin-button { color: #031014; border-color: #9cf4ea; background: linear-gradient(120deg,#72d3df,#8adeca); }
.demo-access-actions .demo-admin-button small { color: rgba(3,16,20,.7); }
.demo-access-actions button:last-child { background: #102d38; }

/* Eingaben und Schaltflaechen */
input,
textarea,
select,
.profile-language-field {
  color: var(--ink-bright);
  border-color: rgba(134,225,230,.22);
  background-color: rgba(3,13,18,.76);
}
input::placeholder,textarea::placeholder { color: #718a94; }
input:focus,textarea:focus,select:focus {
  border-color: var(--cyan);
  box-shadow: 0 0 0 3px rgba(96,222,212,.13),0 0 24px rgba(96,222,212,.06);
}
select { color-scheme: dark; }
label > span { color: #a9c1ca; font-size: 11px; }
.primary,
.action-primary,
.worker-send-button {
  color: #031014;
  border-color: rgba(170,255,246,.42);
  background: linear-gradient(120deg,#72d3df,#8adeca);
  box-shadow: inset 0 1px 2px rgba(232,255,252,.42),0 10px 30px rgba(66,215,204,.14);
}
.primary:hover,.action-primary:hover { color: #02090c; background: linear-gradient(120deg,#8ce6e8,#a0ecd8); }
.secondary,
.ghost,
.table-action {
  color: #d9e9ec;
  border-color: rgba(134,225,230,.23);
  background: rgba(16,39,48,.62);
}
.secondary:hover,.ghost:hover,.table-action:hover { color: white; border-color: rgba(119,231,219,.52); background: rgba(31,72,81,.58); }
.text-button,.back-button { color: var(--cyan); }

/* Portalrahmen und Navigation */
.app-view { background: #030b0f; }
.sidebar {
  border-right: 1px solid rgba(134,225,230,.13);
  background:
    radial-gradient(circle at 30% 0,rgba(54,161,158,.12),transparent 30%),
    linear-gradient(180deg,#06141a,#030c11);
}
.company-switcher {
  border-color: rgba(134,225,230,.2);
  border-radius: 13px;
  background: linear-gradient(145deg,rgba(36,76,87,.42),rgba(6,20,27,.38));
  box-shadow: inset 1px 1px 1px rgba(215,255,252,.08);
}
.company-switcher span { color: #7fa1ac; }
.company-switcher small { color: var(--cyan); }
.sidebar-collapse-toggle { border-color: rgba(134,225,230,.16); color: #92aeb8; background: rgba(255,255,255,.025); }
.sidebar-collapse-toggle:hover { background: rgba(96,222,212,.1); }
.sidebar nav button { color: #94acb6; font-size: 13px; font-weight: 650; }
.sidebar nav button:hover { color: #eafcfc; background: rgba(96,222,212,.07); }
.sidebar nav button.active {
  color: #ecffff;
  background: linear-gradient(90deg,rgba(57,151,154,.28),rgba(26,66,75,.46));
  box-shadow: inset 2px 0 var(--cyan),inset 0 1px 0 rgba(205,255,252,.06);
}
.sidebar-user { border-top-color: rgba(134,225,230,.14); }
.avatar { color: #031014; background: linear-gradient(140deg,#75e7db,#4fb4c4); box-shadow: 0 0 20px rgba(96,222,212,.18); }
.content-shell {
  color: var(--text);
  background:
    radial-gradient(circle at 82% 3%,rgba(45,132,135,.1),transparent 27%),
    radial-gradient(circle at 8% 70%,rgba(32,105,116,.07),transparent 25%),
    #030b0f;
}
.content-view { color: var(--text); }
.content-shell :is(h1,h2,h3,h4),
.app-dialog :is(h1,h2,h3,h4),
.assistant-panel :is(h1,h2,h3,h4) { color: var(--ink-bright); }
.page-heading h1 { color: var(--ink-bright); font-weight: 480; letter-spacing: -.045em; }
.page-heading p:last-child { color: var(--muted); font-size: 14px; }

/* Karten, Tabellen und Arbeitsflaechen */
.surface,
.metric-grid article,
.project-card,
.project-rail-item,
.project-cockpit-sticky,
.project-cockpit-card,
.project-plans-head,
.project-plan-card,
.company-team-card,
.report-signature-panel,
.report-evidence-panel,
.template-card,
.note-card,
.work-card,
.privacy-guidance-card,
.operations-status-card,
.pilot-readiness-card {
  color: var(--text);
  border-color: rgba(134,225,230,.17);
  background: linear-gradient(140deg,rgba(17,42,51,.82),rgba(5,17,23,.92));
  box-shadow: inset 1px 1px 1px rgba(207,255,252,.07),0 16px 45px rgba(0,0,0,.16);
}
.surface h2,.metric-grid strong,.report-main strong,.project-card h3,.project-card .project-customer { color: var(--ink-bright); }
.surface p,.report-main small,.report-cell,.project-card p { color: var(--muted); }
.metric-grid article { position: relative; overflow: hidden; border-radius: 15px; }
.metric-grid article::after { content:""; position:absolute; inset:auto -28px -42px auto; width:92px; height:92px; border-radius:50%; background:radial-gradient(circle,var(--glow),transparent 67%); }
.metric-grid small { color: #91acb6; font-size: 10px; letter-spacing: .1em; }
.metric-grid strong { font-weight: 560; }
.metric-icon { border: 1px solid rgba(134,225,230,.18); background: rgba(30,70,79,.46) !important; }
.metric-icon.blue,.metric-icon.navy { color: var(--cyan); }
.metric-icon.green { color: var(--green); }
.metric-icon.orange { color: var(--orange); }
.report-row,.data-table th,.data-table td,.contact-item { border-color: rgba(134,225,230,.1); }
.report-row:hover,.data-table tbody tr:hover { background: rgba(96,222,212,.035); }
.report-row button { color: var(--cyan); border: 1px solid rgba(134,225,230,.16); background: rgba(31,72,81,.42); }
.quick-card { border-color: rgba(134,225,230,.25); background: linear-gradient(145deg,#12323d,#06151c); }
.audio-cta { border-color: rgba(134,225,230,.2); background: linear-gradient(135deg,rgba(43,94,101,.36),rgba(10,29,36,.5)); }
.status-badge { color: #b9cbd1; background: rgba(125,157,166,.14); }
.status-badge.review { color: #ffd08a; background: rgba(240,179,90,.14); }
.status-badge.approved { color: #8ae8bd; background: rgba(85,220,167,.13); }
.status-badge.failed { color: #ff9b9b; background: rgba(255,116,116,.13); }
.data-table th { color: #91aab4; }
.data-table td { color: var(--text); }
.company-team-card,.project-card,.project-rail-item,.project-plan-card { border-radius: 15px; }
.company-team-members > span,.report-evidence-item,.report-signature-item { color: var(--text); border-color: var(--line); background: rgba(2,12,16,.56); }

/* Projekt-Cockpit */
.project-selection-search,
.project-selection-card-meta,
.project-cockpit-metrics article,
.project-overview-actions button,
.project-cockpit-panel,
.project-cockpit-tabs {
  color: var(--text);
  border-color: var(--line);
  background: rgba(6,20,27,.72);
}
.project-selection-search { border-width: 1px; box-shadow: inset 1px 1px 1px rgba(207,255,252,.06); }
.project-selection-search input { color: var(--ink-bright); }
.project-selection-heading h2,
.project-selection-summary strong { color: var(--ink-bright); }
.project-selection-heading p:last-child,
.project-selection-summary span { color: #a9bec6; }
.project-presentation-toggle { color: #a9eee6; border-color: rgba(119,231,219,.32); background: rgba(38,98,96,.2); }
.project-selection-card-top,
.project-cockpit-hero,
.worker-project-detail-hero {
  background:
    radial-gradient(circle at 88% 0,rgba(93,231,217,.2),transparent 35%),
    linear-gradient(120deg,#071923,#10444d);
}
.project-selection-card-main > strong,
.project-selection-card-meta strong,
.project-cockpit-metrics strong,
.project-cockpit-card h3,
.project-team-list strong { color: var(--ink-bright); }
.project-selection-card-main > em,.project-selection-card-meta small { color: var(--muted); }
.project-selection-card-meta .has-open strong { color: #ffc66f; }
.project-cockpit-menu-popover {
  color: var(--text);
  border-color: rgba(134,225,230,.24);
  background: #091920;
  box-shadow: 0 22px 55px rgba(0,0,0,.5),inset 1px 1px 1px rgba(207,255,252,.06);
}
.project-cockpit-menu-popover button { color: var(--text); }
.project-cockpit-menu-popover button:hover,.project-cockpit-menu-popover button:focus-visible { background: rgba(96,222,212,.1); }
.project-cockpit-menu-popover button > span:first-child { color: var(--cyan); background: rgba(96,222,212,.11); }
.project-cockpit-menu-popover button strong { color: var(--ink-bright); }
.project-cockpit-menu-popover button small { color: #9bb3bd; }
.project-cockpit-menu-popover button.danger > span:first-child { color: #ff9292; background: rgba(255,116,116,.12); }
.project-cockpit-menu-popover button.danger strong { color: #ff9b9b; }
.project-cockpit-menu-divider { background: rgba(134,225,230,.15); }
.project-cockpit-tabs button { color: #90aab4; }
.project-cockpit-tabs button:hover { color: white; background: rgba(96,222,212,.05); }
.project-cockpit-tabs button.active { color: var(--cyan); }
.project-cockpit-tabs button.active::after { background: var(--cyan); box-shadow: 0 0 12px rgba(119,231,219,.4); }
.project-cockpit-tabs button b { color: #a8bcc4; background: rgba(151,187,196,.12); }
.project-cockpit-tabs button.active b { color: #cafff8; background: rgba(96,222,212,.14); }
.project-attention { color: #f7d69d; border-color: rgba(240,179,90,.42); background: rgba(92,60,13,.22); }
.project-attention strong { color: #ffd99e; }
.project-attention small { color: #c6a873; }
.project-plan-card-mark { background: linear-gradient(150deg,#0a202a,#14666b); }
.project-plan-card-body strong,.project-plans-head h3 { color: var(--ink-bright); }
.project-plan-card-body footer b { color: #b6f3ed; background: rgba(96,222,212,.12); }
.project-plan-empty,.plan-pdf-dropzone { color: var(--text); border-color: rgba(134,225,230,.35); background: rgba(16,45,54,.5); }
.project-plan-empty strong { color: var(--ink-bright); }

/* Dialoge, Assistent und Plan-Zentrale */
.app-dialog {
  color: var(--text);
  border: 1px solid rgba(134,225,230,.2);
  background: #07151b;
  box-shadow: 0 35px 120px rgba(0,0,0,.68),0 0 70px rgba(62,216,204,.07);
}
.app-dialog::backdrop { background: rgba(0,7,10,.8); backdrop-filter: blur(7px); }
.dialog-head { border-bottom-color: var(--line); background: rgba(7,21,27,.96); backdrop-filter: blur(18px); }
.dialog-head h2 { color: var(--ink-bright); font-weight: 540; }
.dialog-head > button { color: #b1c7ce; background: rgba(123,161,170,.11); }
.dialog-body details,.navigation-options label,.audio-upload,.detail-meta,.processing { border-color: var(--line); background: rgba(15,39,48,.55); }
.dialog-body summary,.navigation-options strong { color: var(--ink-bright); }
.assistant-fab,.feedback-fab {
  color: #eafffc;
  border: 1px solid rgba(134,225,230,.24);
  background: linear-gradient(135deg,#123944,#071820);
  box-shadow: inset 1px 1px 1px rgba(207,255,252,.1),0 16px 42px rgba(0,0,0,.34),0 0 24px rgba(96,222,212,.08);
}
.assistant-panel { color: var(--text); border-left-color: var(--line); background: #07151b; }
.assistant-panel > header { border-bottom: 1px solid var(--line); background: linear-gradient(120deg,#071923,#10444d); }
.assistant-tabs { border-color: var(--line); }
.assistant-tabs button { color: #8ea8b2; }
.assistant-tabs button.active { color: var(--cyan); border-bottom-color: var(--cyan); }
.assistant-single-mode,.assistant-rule { color: #b8d2d7; border-color: var(--line); background: rgba(22,64,67,.33); }
.assistant-messages { background: #041015; }
.assistant-message.bot { color: var(--text); border-color: var(--line); background: rgba(17,42,51,.88); }
.assistant-message.user { color: #031014; background: linear-gradient(120deg,#72d3df,#8adeca); }
.assistant-compose { border-color: var(--line); background: #07151b; }
.plan-viewer-toolbar { border-color: var(--line); background: #07151b; }
.plan-canvas-scroll { background: #02090d; }
.plan-viewer-workspace > aside { color: var(--text); border-color: var(--line); background: #08171d; }
.plan-pin-card,.plan-assignee-picker > label,.plan-pin-geometry-summary,.plan-link-mode label { color: var(--text); border-color: var(--line); background: rgba(15,39,48,.62); }
.plan-pin-card strong,.plan-assignee-picker span,.plan-pin-geometry-summary strong,.plan-link-mode strong { color: var(--ink-bright); }
.plan-link-mode label:has(input:checked) { border-color: var(--cyan); background: rgba(47,131,129,.22); box-shadow: inset 0 0 0 1px rgba(119,231,219,.3); }
.plan-draw-tool.active { color: #031014; border-color: #a2f4eb; background: var(--cyan); box-shadow: 0 0 0 3px rgba(119,231,219,.12); }

/* Monteur-Arbeitsraum: dieselbe dunkle App-Sprache wie im Handy-Mock-up der Website. */
body.worker-mode .content-shell { background: radial-gradient(circle at 50% -5%,rgba(52,153,150,.13),transparent 27%),#030b0f; }
.worker-header h1,.worker-chat-head strong,.worker-preview-head strong,.worker-report-preview section > strong { color: var(--ink-bright); }
.worker-project-picker select,.worker-chat-head,.worker-suggestions,.worker-compose,.worker-report-preview section {
  color: var(--text);
  border-color: var(--line);
  background: rgba(8,24,31,.9);
}
.worker-messages { background: linear-gradient(180deg,#041015,#07171d); }
.worker-message { color: var(--text); border: 1px solid var(--line); background: rgba(17,42,51,.9); box-shadow: 0 8px 22px rgba(0,0,0,.18); }
.worker-message.user { color: #031014; background: linear-gradient(120deg,#72d3df,#8adeca); }
.worker-suggestions button { color: #b8d0d6; border-color: var(--line); background: rgba(23,55,64,.5); }
.worker-inline-preview,.worker-workflow-question { color: var(--text); border-color: rgba(119,231,219,.34); background: rgba(19,56,63,.5); }
.worker-compose > textarea { color: var(--ink-bright); border-color: var(--line); background: #030d12; }
.worker-camera-button,.worker-file-button { color: #d8ecee; border-color: var(--line); background: rgba(18,43,52,.82); }
.worker-camera-button { color: #eafffc; background: #103b45; }
.worker-send-button { color: #031014; }

@media (max-width: 800px) {
  .portal-topbar { background: rgba(3,11,15,.96); }
  .sidebar { border: 0; background: #051319; }
  .mobile-nav-toggle { border-color: rgba(134,225,230,.23); background: rgba(29,67,76,.48); }
  .sidebar nav { border-color: var(--line); background: rgba(6,20,27,.98); box-shadow: 0 22px 65px rgba(0,0,0,.52); }
  .sidebar nav button { color: #a4bac2; }
  .sidebar nav button span { color: var(--cyan); }
  .sidebar nav button:hover,.sidebar nav button.active { color: white; background: rgba(96,222,212,.1); }
}

@media (max-width: 600px) {
  body.worker-mode { background: #030b0f; }
  body.worker-mode .portal-topbar {
    border-bottom-color: var(--line);
    background: rgba(3,11,15,.96);
    box-shadow: 0 8px 26px rgba(0,0,0,.28);
  }
  body.worker-mode .worker-language-button,
  body.worker-mode .worker-project-picker select {
    color: var(--ink-bright);
    border-color: var(--line);
    background-color: rgba(14,35,43,.82);
    box-shadow: inset 1px 1px 1px rgba(207,255,252,.05);
  }
  body.worker-mode .worker-header .kicker { color: var(--cyan); }
  body.worker-mode .worker-header h1 { color: var(--ink-bright); font-weight: 520; }
  body.worker-mode .worker-project-picker span { color: #9bb3bd; }
  body.worker-mode .worker-today,
  body.worker-mode .worker-chat,
  body.worker-mode .worker-project-card,
  body.worker-mode.worker-project-chat-focused .worker-project-team-chat {
    border: 1px solid rgba(134,225,230,.17);
    background: linear-gradient(145deg,rgba(17,42,51,.9),rgba(5,17,23,.96));
    box-shadow: inset 1px 1px 1px rgba(207,255,252,.07),0 20px 54px rgba(0,0,0,.27);
  }
  body.worker-mode .worker-today-head {
    background: radial-gradient(circle at 90% 0,rgba(119,231,219,.2),transparent 38%),linear-gradient(145deg,#0b2630,#10484e);
  }
  body.worker-mode .worker-today-grid h3 { color: #92abb4; font-size: 10px; }
  body.worker-mode .navigator-list button { color: var(--text); border-color: var(--line); background: rgba(7,24,31,.72); }
  body.worker-mode .worker-chat-head { border-bottom-color: var(--line); background: rgba(8,24,31,.92); }
  body.worker-mode .worker-ai-mark { color: #031014; background: linear-gradient(145deg,#72d3df,#8adeca); }
  body.worker-mode .worker-messages { background: linear-gradient(180deg,#041015,#07171d); }
  body.worker-mode .worker-message { border-color: var(--line); background: rgba(20,46,56,.92); box-shadow: 0 6px 18px rgba(0,0,0,.2); }
  body.worker-mode .worker-message.user { color: #031014; background: linear-gradient(120deg,#72d3df,#8adeca); }
  body.worker-mode .worker-suggestions { border-color: var(--line); background: #07151b; }
  body.worker-mode .worker-compose { border-color: var(--line); background: #07151b; }
  body.worker-mode .worker-compose > textarea { border-color: var(--line); background: #030d12; }
  body.worker-mode .worker-file-button { color: #c4dadd; background: rgba(18,43,52,.75); }
  body.worker-mode .worker-camera-button { background: #123b45; }
  body.worker-mode .worker-mobile-nav:not(.hidden) {
    border-color: rgba(134,225,230,.2);
    background: rgba(6,20,27,.96);
    box-shadow: inset 1px 1px 1px rgba(207,255,252,.06),0 18px 50px rgba(0,0,0,.52);
    backdrop-filter: blur(18px);
  }
  body.worker-mode .worker-mobile-nav button { color: #90aab4; }
  body.worker-mode .worker-mobile-nav button.active { color: #dffffb; background: rgba(96,222,212,.12); }
  body.worker-mode .worker-mobile-nav .worker-mobile-chat-tab,
  body.worker-mode .worker-mobile-nav .worker-mobile-chat-tab.active { color: #031014; background: linear-gradient(145deg,#72d3df,#8adeca); box-shadow: 0 10px 26px rgba(96,222,212,.24); }
}

#salesDemoCaption { position: fixed; z-index: 200; left: 14px; right: 14px; bottom: 91px; padding: 13px 14px; border: 1px solid rgba(255,255,255,.22); border-radius: 16px; color: white; background: rgba(7,31,49,.94); box-shadow: 0 16px 36px rgba(2,18,29,.28); backdrop-filter: blur(12px); opacity: 0; transform: translateY(12px); transition: .25s ease; pointer-events: none; }
#salesDemoCaption.show { opacity: 1; transform: none; }
#salesDemoCaption strong, #salesDemoCaption span { display: block; }
#salesDemoCaption strong { font-size: 12px; letter-spacing: -.1px; }
#salesDemoCaption span { margin-top: 4px; color: #bcd4de; font-size: 9px; line-height: 1.45; }

/* Persönlicher Navigator */
.worker-today { margin: 18px 0; padding: 20px; border: 1px solid #dbe8ed; box-shadow: 0 12px 34px rgba(5, 37, 55, .08); }
.worker-today-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.worker-today-head span { color: var(--blue); font-size: 9px; font-weight: 900; letter-spacing: .16em; }
.worker-today-head h2 { margin: 5px 0 4px; color: var(--navy); font-size: 20px; }
.worker-today-head p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.worker-today-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 18px; }
.worker-today-grid h3 { margin: 0 0 8px; color: #55717e; font-size: 9px; letter-spacing: .05em; text-transform: uppercase; }
.navigator-list { display: grid; gap: 7px; }
.navigator-list button { width: 100%; display: grid; grid-template-columns: 45px 1fr 14px; gap: 10px; align-items: center; padding: 11px; border: 1px solid #e1eaee; border-radius: 10px; color: inherit; background: #fbfdfe; text-align: left; }
.navigator-list button:hover { border-color: #8bc8da; background: #f3fbfd; }
.navigator-list button > span:nth-child(2) { min-width: 0; }
.navigator-list strong,.navigator-list small { display: block; }
.navigator-list strong { overflow: hidden; color: var(--navy); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.navigator-list small { margin-top: 3px; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.navigator-list b { color: var(--blue); font-size: 16px; }
.navigator-time { color: var(--blue); font-size: 11px; font-weight: 900; }
.navigator-priority { width: 30px; height: 30px; display: grid !important; place-items: center; border-radius: 8px; color: #176980; background: #e7f6fa; font-weight: 900; }
.navigator-list button.priority-high .navigator-priority { color: #9a5c00; background: #fff2d9; }
.navigator-list button.priority-critical .navigator-priority { color: #b92727; background: #ffe4e4; }
.worker-today-conflicts { margin-top: 14px; padding: 13px 15px; border: 1px solid #f0c77b; border-radius: 10px; color: #714600; background: #fff8e9; }
.worker-today-conflicts > strong { font-size: 10px; }
.worker-today-conflicts p { margin: 6px 0 0; font-size: 9px; line-height: 1.5; }
.worker-today-conflicts small { display: block; color: #8d6b2e; }

/* Einzelhinweise */
.notification-dialog { width: min(680px, calc(100vw - 24px)); }
.notification-list { display: grid; gap: 10px; max-height: 65vh; overflow: auto; }
.notification-item { display: grid; grid-template-columns: 36px 1fr; gap: 12px; padding: 14px; border: 1px solid #e0eaee; border-radius: 11px; background: #fbfdfe; }
.notification-item > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; color: var(--blue); background: #e9f6fa; font-weight: 900; }
.notification-item.priority-high,.notification-item.priority-critical { border-color: #efc985; }
.notification-item.priority-critical > span { color: #b92727; background: #ffe4e4; }
.notification-item small,.notification-item strong,.notification-item em { display: block; }
.notification-item small { color: var(--muted); font-size: 8px; }
.notification-item strong { margin-top: 3px; color: var(--navy); font-size: 11px; }
.notification-item p { margin: 5px 0; color: #526c78; font-size: 9px; line-height: 1.5; }
.notification-item em { color: #8d6b2e; font-size: 8px; font-style: normal; }
.notification-item footer { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 9px; }

/* Connector-Zentrum */
.connector-page-heading { margin-bottom: 22px; }
.connector-page-heading p:last-child { font-size: 14px; }
.connector-workspace { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 22px; align-items: start; }
.connector-subnav { padding: 12px; position: sticky; top: 96px; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: 0 9px 28px rgba(11,36,56,.045); }
.connector-subnav-heading { display: grid; gap: 3px; padding: 8px 10px 14px; border-bottom: 1px solid #e7eef1; }
.connector-subnav-heading span { color: var(--blue); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.connector-subnav-heading strong { color: var(--navy); font-size: 17px; }
.connector-subnav nav { display: grid; gap: 5px; padding-top: 10px; }
.connector-subnav button { width: 100%; min-height: 58px; padding: 10px; display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 9px; align-items: center; border: 1px solid transparent; border-radius: 9px; color: #4d6676; background: transparent; text-align: left; }
.connector-subnav button > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; color: var(--blue); background: #edf7fb; font-size: 15px; font-weight: 900; }
.connector-subnav button div { min-width: 0; display: grid; gap: 2px; }
.connector-subnav button strong { color: inherit; font-size: 14px; }
.connector-subnav button small { overflow: hidden; color: #718694; font-size: 11px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.connector-subnav button:hover { border-color: #cbe1e9; background: #f5fafc; }
.connector-subnav button.active { color: var(--navy); border-color: #b9ddea; background: #eaf6fb; box-shadow: inset 3px 0 var(--blue); }
.connector-subnav button.active > span { color: white; background: var(--blue); }
.connector-subnav .connector-nav-mark { font-size: 13px; }
.connector-section-content { min-width: 0; }
.connector-section[hidden] { display: none; }
.connector-section.active { display: block; animation: rise .2s ease; }
.connector-section-heading { margin: 2px 0 20px; }
.connector-section-heading .kicker { margin-bottom: 8px; }
.connector-section-heading h2 { margin: 0; color: var(--navy); font-size: clamp(24px, 3vw, 34px); letter-spacing: -1px; }
.connector-section-heading > p:last-child { max-width: 720px; margin: 7px 0 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.connector-status-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 16px; }
.connector-status-grid article { display: grid; grid-template-columns: 46px 1fr auto; gap: 13px; align-items: center; padding: 18px; }
.connector-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; color: #fff; background: #1268b3; font-weight: 900; }
.connector-mark.import { background: #147d83; }
.connector-status-grid small { color: var(--blue); font-size: 8px; font-weight: 900; letter-spacing: .08em; }
.connector-status-grid h2 { margin: 3px 0; color: var(--navy); font-size: 14px; }
.connector-status-grid p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.connector-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 16px; margin-bottom: 16px; align-items: start; }
.connector-conflicts { margin-bottom: 16px; padding: 20px; }
.connector-conflict-list { display: grid; gap: 12px; }
.connector-conflict { display: grid; gap: 12px; padding: 15px; border: 1px solid #e2d3c4; border-radius: 12px; background: #fffaf5; }
.connector-conflict header,.connector-conflict footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.connector-conflict header > div { display: grid; gap: 3px; }
.connector-conflict header span,.connector-conflict header small { color: #7b6b5d; font-size: .72rem; }
.connector-conflict-values { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.connector-conflict label { display: grid; gap: 5px; }
.connector-conflict label > span { color: #6d5b4c; font-size: .74rem; font-weight: 750; }
.connector-conflict textarea[readonly] { color: #324f60; background: white; }
.connector-conflict footer { justify-content: flex-end; }
.connector-import-form,.connector-overview,.connector-policy-form,.connector-preview { padding: 20px; }
.connector-import-form,.connector-single-form { max-width: 920px; }
.connector-import-form + .connector-preview,.connector-preview + .connector-conflicts { margin-top: 16px; }
.connector-detail-card { max-width: 920px; display: grid; grid-template-columns: 52px minmax(0,1fr) auto; gap: 18px; align-items: start; padding: 26px; }
.connector-detail-card .connector-mark { width: 48px; height: 48px; }
.connector-detail-card small { color: var(--blue); font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.connector-detail-card h2 { margin: 4px 0 6px; font-size: 20px; }
.connector-detail-card p { max-width: 650px; font-size: 14px; line-height: 1.55; }
.connector-detail-card ul { margin: 16px 0 0; padding-left: 19px; color: #496575; font-size: 14px; line-height: 1.8; }
.connector-detail-card .primary { width: auto; margin: 0; white-space: nowrap; }
.profile-page-heading p:last-child { font-size: 14px; }
.profile-single-panel,
.profile-section-content .signature-card,
.profile-section-content .outlook-card,
.profile-section-content [data-profile-content="contacts"] > .surface { max-width: 920px; }
.profile-section-content [data-profile-content="contacts"] > .surface,
.profile-section-content .signature-card,
.profile-section-content .outlook-card { padding: 26px; }
.privacy-page-heading p:last-child { font-size: 14px; }
.privacy-section-content > .connector-section > .surface,
.privacy-section-content > .connector-section > .privacy-overview-grid { max-width: 1100px; }
.privacy-section-content .privacy-guidance-card { margin-top: 0; }
.privacy-section-content .privacy-requests-card,
.privacy-section-content #retentionPolicyCard,
.privacy-section-content .operations-status-card,
.privacy-section-content .pilot-readiness-card { padding: 26px; }
.connector-counts { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.connector-counts span { padding: 10px; border-radius: 9px; color: var(--muted); background: #f3f7f9; font-size: 8px; text-align: center; }
.connector-counts strong { display: block; margin-bottom: 2px; color: var(--navy); font-size: 18px; }
.connector-run-list { display: grid; gap: 7px; margin-top: 12px; }
.connector-run-list article { display: grid; grid-template-columns: 9px 1fr; gap: 8px; align-items: center; padding-top: 8px; border-top: 1px solid #e7eef1; }
.connector-run-list article > span { width: 8px; height: 8px; border-radius: 99px; background: #e1a341; }
.connector-run-list article > span.completed { background: #2da86b; }
.connector-run-list strong,.connector-run-list small { display: block; }
.connector-run-list strong { color: var(--navy); font-size: 9px; }
.connector-run-list small { color: var(--muted); font-size: 8px; }
.connector-preview { margin-bottom: 16px; }
.connector-mapping-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.connector-sample { margin: 16px 0 8px; overflow: auto; border: 1px solid #e2eaee; border-radius: 9px; }
.connector-sample table { width: 100%; border-collapse: collapse; font-size: 8px; white-space: nowrap; }
.connector-sample th,.connector-sample td { padding: 8px; border-bottom: 1px solid #edf2f4; text-align: left; }
.connector-sample th { color: var(--navy); background: #f3f7f9; }
.connector-errors { margin-top: 12px; padding: 12px; border-radius: 9px; color: #7d5103; background: #fff6e4; font-size: 9px; }
.connector-errors p { margin: 4px 0 0; }
.connector-policy-form fieldset { margin: 12px 0; padding: 12px; border: 1px solid #dce7eb; border-radius: 10px; }
.connector-policy-form legend { padding: 0 5px; color: var(--navy); font-size: 9px; font-weight: 800; }

@media (max-width: 900px) {
  .worker-today-grid,.connector-status-grid,.connector-layout,.connector-conflict-values { grid-template-columns: 1fr; }
  .connector-conflict header,.connector-conflict footer { align-items: stretch; flex-direction: column; }
  .connector-mapping-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 1100px) {
  .connector-workspace { grid-template-columns: 1fr; }
  .connector-subnav { position: static; overflow-x: auto; }
  .connector-subnav-heading { padding-bottom: 10px; }
  .connector-subnav nav { display: flex; width: max-content; min-width: 100%; }
  .connector-subnav button { width: 190px; flex: 1 0 190px; }
}

@media (max-width: 600px) {
  .worker-today { padding: 15px; }
  .worker-today-head { display: grid; }
  .worker-today-grid,.connector-mapping-grid { grid-template-columns: 1fr; }
  .connector-status-grid article { grid-template-columns: 42px 1fr; }
  .connector-status-grid article button { grid-column: 1 / -1; }
  .connector-subnav { margin: 0 -2px; padding: 9px; }
  .connector-subnav-heading { display: none; }
  .connector-subnav nav { padding-top: 0; }
  .connector-subnav button { width: 154px; min-height: 52px; flex-basis: 154px; grid-template-columns: 27px minmax(0,1fr); padding: 8px; }
  .connector-subnav button > span { width: 27px; height: 27px; }
  .connector-subnav button small { display: none; }
  .connector-section-heading { margin-top: 18px; }
  .connector-detail-card { grid-template-columns: 44px minmax(0,1fr); padding: 18px; }
  .connector-detail-card .primary { grid-column: 1 / -1; width: 100%; }
  .profile-section-content [data-profile-content="contacts"] > .surface,
  .profile-section-content .signature-card,
  .profile-section-content .outlook-card { padding: 18px; }
  .privacy-section-content .privacy-requests-card,
  .privacy-section-content #retentionPolicyCard,
  .privacy-section-content .operations-status-card,
  .privacy-section-content .pilot-readiness-card { padding: 18px; }
  .notification-item footer { display: grid; }
}

/* Mobile-first Monteur-App: Heute, Chat und Projekte als drei klare Arbeitsräume. */
@media (max-width: 600px) {
  body.worker-mode { background: #eef3f5; }
  body.worker-mode .portal-topbar {
    height: calc(64px + env(safe-area-inset-top, 0px));
    padding: env(safe-area-inset-top, 0px) 13px 0;
    border-bottom-color: rgba(7, 36, 55, .08);
    background: rgba(255,255,255,.97);
    box-shadow: 0 5px 20px rgba(6, 35, 53, .05);
  }
  body.worker-mode .portal-brand { gap: 8px; font-size: 14px; letter-spacing: -.25px; }
  body.worker-mode .portal-brand > span:last-child { display: inline; }
  body.worker-mode .portal-brand .brand-symbol { width: 35px; height: 35px; border-radius: 11px; }
  body.worker-mode .demo-mode-badge,
  body.worker-mode #notificationButton,
  body.worker-mode #resetDemoButton,
  body.worker-mode .system-status,
  body.worker-mode .feedback-fab { display: none !important; }
  body.worker-mode .topbar-right { margin-left: auto; gap: 5px; }
  body.worker-mode .worker-language-switcher { border: 0; padding: 0; background: transparent; box-shadow: none; }
  body.worker-mode .worker-language-button {
    min-width: 112px;
    max-width: 39vw;
    min-height: 44px;
    padding: 7px 8px;
    border: 1px solid #d9e5e9;
    border-radius: 11px;
    background: #f7fafb;
  }
  body.worker-mode .worker-language-button strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
  body.worker-mode #logoutButton { min-height: 44px; padding: 7px 9px; border-radius: 10px; font-size: 8px; }
  body.worker-mode .content-shell { padding: 16px 12px calc(96px + env(safe-area-inset-bottom, 0px)); }
  body.worker-mode.worker-project-chat-focused .content-shell { padding-top: 10px; }
  body.worker-mode.worker-project-chat-focused .worker-project-detail { gap: 0; }
  body.worker-mode.worker-project-chat-focused .worker-project-team-chat { border: 0; border-radius: 20px; box-shadow: 0 12px 34px rgba(6,35,53,.10); }
  body.worker-mode.worker-project-chat-focused .worker-project-chat-focus-head { min-height: 66px; padding: 9px; grid-template-columns: auto minmax(0,1fr); gap: 9px; }
  body.worker-mode.worker-project-chat-focused .worker-project-chat-back { width: 42px; min-height: 42px; justify-content: center; padding: 0; border: 0; border-radius: 13px; color: white; background: #0b5360; }
  body.worker-mode.worker-project-chat-focused .worker-project-chat-back strong { display: none; }
  body.worker-mode.worker-project-chat-focused .worker-project-chat-focus-title { gap: 8px; }
  body.worker-mode.worker-project-chat-focused .worker-project-chat-focus-title h3 { font-size: 14px; }
  body.worker-mode.worker-project-chat-focused .worker-project-chat-focus-title p { max-width: calc(100vw - 112px); font-size: 8px; }
  body.worker-mode.worker-project-chat-focused .worker-project-chat-project { display: none; }
  body.worker-mode.worker-project-chat-focused .project-chat-messages { min-height: 0; padding: 13px 10px; }
  body.worker-mode.worker-project-chat-focused .project-chat-compose { padding: 9px 10px 10px; }
  body.worker-mode.worker-project-chat-focused .project-chat-compose textarea { min-height: 52px; max-height: 86px; resize: none; font-size: 16px; }
  body.worker-mode.worker-project-chat-focused .project-chat-recipient { margin-bottom: 6px; }
  body.worker-mode.worker-project-chat-focused .project-chat-send { min-height: 40px; }

  body.worker-mode .worker-header { margin: 0 1px 13px; display: grid; gap: 12px; }
  body.worker-mode .worker-header .kicker { margin-bottom: 5px; color: #0e7169; font-size: 8px; letter-spacing: .13em; }
  body.worker-mode .worker-header h1 { margin: 0; font-size: 28px; line-height: 1.06; letter-spacing: -1.1px; }
  body.worker-mode .worker-header > div > p:last-child { display: none; }
  body.worker-mode .worker-project-picker { width: 100%; gap: 5px; }
  body.worker-mode .worker-project-picker span { padding-left: 3px; color: #3f5966; font-size: 8px; }
  body.worker-mode .worker-project-picker select {
    min-height: 48px;
    padding: 11px 42px 11px 13px;
    border-color: #d9e5e9;
    border-radius: 14px;
    background-color: white;
    box-shadow: 0 6px 18px rgba(6,35,53,.05);
    font-size: 13px;
  }

  body.worker-mode .worker-today {
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 22px;
    background: white;
    box-shadow: 0 15px 40px rgba(6,35,53,.10);
  }
  body.worker-mode .worker-today-head {
    padding: 19px 18px 17px;
    display: block;
    color: white;
    background: radial-gradient(circle at 90% 0, rgba(73,211,193,.22), transparent 38%), linear-gradient(145deg, #082e46, #0b5360);
  }
  body.worker-mode .worker-today-head span { color: #7ce0d0; font-size: 8px; }
  body.worker-mode .worker-today-head h2 { margin: 5px 0 5px; color: white; font-size: 21px; letter-spacing: -.45px; }
  body.worker-mode .worker-today-head p { color: #c7dce3; font-size: 11px; line-height: 1.55; }
  body.worker-mode .worker-today-head button { width: 100%; margin-top: 12px; border-color: rgba(255,255,255,.3); color: white; background: rgba(255,255,255,.1); }
  body.worker-mode .worker-today-head .worker-notification-button:not(.hidden) { display: flex; align-items: center; justify-content: center; gap: 7px; }
  body.worker-mode .worker-notification-button.has-unread b { min-width: 20px; height: 20px; display: inline-grid; place-items: center; padding: 0 6px; border-radius: 99px; color: #083b59; background: #7ce0d0; font-size: 9px; }
  body.worker-mode .worker-today-grid { margin: 0; padding: 17px 14px 14px; gap: 18px; }
  body.worker-mode .worker-today-grid section { min-width: 0; }
  body.worker-mode .worker-today-grid h3 { margin: 0 3px 8px; color: #536b77; font-size: 8px; letter-spacing: .11em; }
  body.worker-mode .navigator-list { gap: 8px; }
  body.worker-mode .navigator-list button {
    min-height: 68px;
    padding: 11px 10px;
    grid-template-columns: 44px minmax(0,1fr) 12px;
    border-color: #dfe9ec;
    border-radius: 14px;
    background: #f8fbfc;
  }
  body.worker-mode .navigator-list strong { font-size: 12px; line-height: 1.3; }
  body.worker-mode .navigator-list small { margin-top: 4px; font-size: 9px; line-height: 1.35; }
  body.worker-mode .navigator-time { color: #075f59; font-size: 12px; }
  body.worker-mode .navigator-priority { width: 34px; height: 34px; border-radius: 10px; }
  body.worker-mode #workerTodayTimeline .navigator-list button:nth-child(n+3),
  body.worker-mode #workerTodayAttention .navigator-list button:nth-child(n+3) { display: none; }
  body.worker-mode .worker-today-conflicts { margin: 0 14px 14px; border-radius: 12px; }

  body.worker-mode:not(.worker-chat-focused) .worker-layout { display: none; }
  body.worker-mode.worker-chat-focused .worker-header,
  body.worker-mode.worker-chat-focused .worker-today { display: none; }
  body.worker-mode.worker-chat-focused .worker-layout { display: block; }
  body.worker-mode .worker-timeline { display: none; }
  body.worker-mode .worker-chat {
    height: calc(100dvh - 176px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
    min-height: 0;
    max-height: 760px;
    border: 0;
    border-radius: 22px;
    box-shadow: 0 15px 40px rgba(6,35,53,.10);
  }
  body.worker-mode .worker-chat:has(.worker-inline-preview:not(.hidden)) .worker-suggestions { display:none; }
  body.worker-mode .worker-inline-preview { flex:1 1 auto; }
  body.worker-mode .worker-chat-head { padding: 13px 15px; background: white; }
  body.worker-mode .worker-ai-mark { width: 38px; height: 38px; border-radius: 12px; color: white; background: linear-gradient(145deg,#0b766d,#32bba7); }
  body.worker-mode .worker-chat-head strong { font-size: 13px; }
  body.worker-mode .worker-chat-head small { font-size: 9px; }
  body.worker-mode .worker-messages { min-height: 0; padding: 17px 13px; gap: 10px; background: linear-gradient(180deg,#f3f8f9,#fbfdfd); }
  body.worker-mode .worker-message { max-width: 89%; padding: 12px 13px; border-radius: 17px 17px 17px 5px; font-size: 12px; box-shadow: 0 4px 14px rgba(6,35,53,.07); }
  body.worker-mode .worker-message.user { border-radius: 17px 17px 5px 17px; background: linear-gradient(145deg,#0b5261,#08776f); }
  body.worker-mode .worker-suggestions { padding: 9px 12px 8px; border-top: 1px solid #e4ecef; }
  body.worker-mode .worker-suggestions button { min-height: 34px; padding: 8px 11px; border-radius: 12px; font-size: 9px; }
  body.worker-mode .worker-compose { padding: 10px 11px 12px; position: static; border-top-color: #e3ebee; }
  body.worker-mode .worker-compose > textarea {
    min-height: 54px;
    max-height: 88px;
    padding: 12px 13px;
    border-color: #d7e4e8;
    border-radius: 15px;
    background: #f8fbfc;
    resize: none;
    font-size: 16px;
  }
  body.worker-mode .worker-compose-actions { margin-top: 9px; grid-template-columns: 62px 52px 52px minmax(76px,1fr); gap: 8px; }
  body.worker-mode .worker-voice { width: 62px; height: 56px; padding: 2px; border: 0; background: transparent; }
  body.worker-mode .worker-voice .voice-record-button { width: 56px; height: 56px; box-shadow: 0 8px 20px rgba(8,125,112,.3); }
  body.worker-mode .worker-camera-button,
  body.worker-mode .worker-file-button { min-width: 0; width: 52px; height: 52px; padding: 0; border-radius: 16px; font-size: 20px; }
  body.worker-mode .worker-camera-button { color: white; background: #092f47; }
  body.worker-mode .worker-file-button { color: #31556a; background: #f4f8f9; }
  body.worker-mode .worker-send-button { min-height: 52px; border-radius: 16px; background: var(--blue); font-size: 11px; }
  body.worker-mode .worker-send-button { display: flex; align-items: center; justify-content: center; gap: 6px; }
  body.worker-mode .worker-send-button svg { width: 17px; height: 17px; }

  body.worker-mode .worker-mobile-nav:not(.hidden) {
    left: 10px;
    right: 10px;
    bottom: calc(9px + env(safe-area-inset-bottom, 0px));
    min-height: 68px;
    padding: 6px;
    border: 1px solid rgba(7,36,55,.12);
    border-radius: 21px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 14px 35px rgba(5,29,45,.20);
  }
  body.worker-mode .worker-mobile-nav button { min-height: 54px; border-radius: 16px; color: #536b77; font-size: 9px; }
  body.worker-mode .worker-mobile-nav button span { height: 23px; display: grid; place-items: center; }
  body.worker-mode .worker-mobile-nav button span svg { width: 21px; height: 21px; }
  body.worker-mode .worker-mobile-nav button.active { color: #086f67; background: #e3f5f1; }
  body.worker-mode .worker-mobile-nav .worker-mobile-chat-tab { margin-top: -18px; color: white; background: linear-gradient(145deg,#0a715f,#21aa98); box-shadow: 0 9px 21px rgba(8,125,112,.28); }
  body.worker-mode .worker-mobile-nav .worker-mobile-chat-tab.active { color: white; background: linear-gradient(145deg,#08675f,var(--blue)); }

  body.worker-mode .worker-projects-heading { margin: 0 1px 15px; }
  body.worker-mode .worker-projects-heading h1 { margin: 4px 0 6px; font-size: 28px; }
  body.worker-mode .worker-projects-heading p:last-child { font-size: 11px; }
  body.worker-mode .worker-projects-heading > button { min-height: 48px; border-radius: 14px; }
  body.worker-mode .worker-project-card { border: 0; border-radius: 20px; box-shadow: 0 12px 34px rgba(6,35,53,.10); }
  body.worker-mode .worker-project-cover { height: 190px; }
  body.worker-mode .worker-project-card-body { padding: 16px; }
  body.worker-mode .worker-project-card-body h2 { font-size: 19px; }
}

.share-page { min-height: 100vh; margin: 0; padding: clamp(18px,4vw,52px); background: #eef6f7; color: var(--ink); }
.share-shell { width: min(860px,100%); margin: 0 auto; padding: clamp(22px,4vw,48px); border-radius: 24px; background: white; box-shadow: 0 18px 55px rgba(5,35,52,.12); }
.share-content { display: grid; gap: 12px; margin: 24px 0; }
.share-content > div { padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: #f8fbfc; }
.share-content pre { margin: 7px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
.share-actions,.share-form > div { display: flex; flex-wrap: wrap; gap: 10px; }
.share-form { display: grid; gap: 14px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); }
.share-form label { display: grid; gap: 7px; }

/* Finaler mobiler Markenabgleich (muss nach den bestehenden Mobile-Layouts stehen). */
.share-page { color: var(--text); background: radial-gradient(circle at 50% 0,rgba(57,151,154,.12),transparent 30%),#030b0f; }
.share-shell,.share-content > div { color: var(--text); border: 1px solid var(--line); background: linear-gradient(145deg,rgba(17,42,51,.9),rgba(5,17,23,.97)); box-shadow: var(--shadow); }

@media (max-width: 600px) {
  body.worker-mode { color: var(--text); background: #030b0f; }
  body.worker-mode .portal-topbar {
    border-bottom-color: var(--line);
    background: rgba(3,11,15,.97);
    box-shadow: 0 8px 26px rgba(0,0,0,.3);
  }
  body.worker-mode .worker-language-button,
  body.worker-mode .worker-project-picker select {
    color: var(--ink-bright);
    border-color: var(--line);
    background-color: rgba(14,35,43,.9);
    box-shadow: inset 1px 1px 1px rgba(207,255,252,.05);
  }
  body.worker-mode .content-shell { background: radial-gradient(circle at 50% -5%,rgba(52,153,150,.14),transparent 28%),#030b0f; }
  body.worker-mode .worker-header .kicker { color: var(--cyan); }
  body.worker-mode .worker-header h1 { color: var(--ink-bright); font-weight: 520; }
  body.worker-mode .worker-project-picker span { color: #9bb3bd; }
  body.worker-mode .worker-today,
  body.worker-mode .worker-chat,
  body.worker-mode .worker-project-card,
  body.worker-mode.worker-project-chat-focused .worker-project-team-chat {
    border: 1px solid rgba(134,225,230,.17);
    background: linear-gradient(145deg,rgba(17,42,51,.92),rgba(5,17,23,.98));
    box-shadow: inset 1px 1px 1px rgba(207,255,252,.07),0 20px 54px rgba(0,0,0,.28);
  }
  body.worker-mode .worker-today-head { background: radial-gradient(circle at 90% 0,rgba(119,231,219,.2),transparent 38%),linear-gradient(145deg,#0b2630,#10484e); }
  body.worker-mode .worker-today-grid h3 { color: #92abb4; font-size: 10px; }
  body.worker-mode .navigator-list button { color: var(--text); border-color: var(--line); background: rgba(7,24,31,.76); }
  body.worker-mode .navigator-list strong { color: var(--ink-bright); }
  body.worker-mode .navigator-list small { color: var(--muted); }
  body.worker-mode .navigator-time { color: var(--cyan); }
  body.worker-mode .navigator-priority { color: #031014; background: #f5c77f; }
  body.worker-mode .worker-chat-head { border-bottom-color: var(--line); background: rgba(8,24,31,.94); }
  body.worker-mode .worker-ai-mark { color: #031014; background: linear-gradient(145deg,#72d3df,#8adeca); }
  body.worker-mode .worker-messages { background: linear-gradient(180deg,#041015,#07171d); }
  body.worker-mode .worker-message { color: var(--text); border-color: var(--line); background: rgba(20,46,56,.94); box-shadow: 0 6px 18px rgba(0,0,0,.2); }
  body.worker-mode .worker-message.user { color: #031014; background: linear-gradient(120deg,#72d3df,#8adeca); }
  body.worker-mode .worker-suggestions { border-color: var(--line); background: #07151b; }
  body.worker-mode .worker-suggestions button { color: #b8d0d6; border-color: var(--line); background: rgba(23,55,64,.55); }
  body.worker-mode .worker-compose { border-color: var(--line); background: #07151b; }
  body.worker-mode .worker-compose > textarea { color: var(--ink-bright); border-color: var(--line); background: #030d12; }
  body.worker-mode .worker-file-button { color: #c4dadd; border-color: var(--line); background: rgba(18,43,52,.78); }
  body.worker-mode .worker-camera-button { border-color: var(--line); background: #123b45; }
  body.worker-mode .worker-send-button { color: #031014; background: linear-gradient(120deg,#72d3df,#8adeca); }
  body.worker-mode .worker-mobile-nav:not(.hidden) {
    border-color: rgba(134,225,230,.2);
    background: rgba(6,20,27,.97);
    box-shadow: inset 1px 1px 1px rgba(207,255,252,.06),0 18px 50px rgba(0,0,0,.54);
    backdrop-filter: blur(18px);
  }
  body.worker-mode .worker-mobile-nav button { color: #90aab4; }
  body.worker-mode .worker-mobile-nav button.active { color: #dffffb; background: rgba(96,222,212,.12); }
  body.worker-mode .worker-mobile-nav .worker-mobile-chat-tab,
  body.worker-mode .worker-mobile-nav .worker-mobile-chat-tab.active { color: #031014; background: linear-gradient(145deg,#72d3df,#8adeca); box-shadow: 0 10px 26px rgba(96,222,212,.24); }
  body.worker-mode .worker-project-card-body h2,
  body.worker-mode .worker-project-card-metrics strong { color: var(--ink-bright); }
  body.worker-mode .worker-project-card-metrics { border-color: var(--line); }
}

/* Projektchat im dunklen Markenmodus, inklusive mobiler Fokusansicht. */
.project-chat,
.project-chat-head,
.project-chat-compose {
  color: var(--text);
  border-color: var(--line);
  background: #07151b;
}
.project-chat-head h3,.project-chat-empty strong,.project-chat-recipient strong { color: var(--ink-bright); }
.project-chat-head p,.project-chat-recipient { color: var(--muted); }
.project-chat-team span,.project-chat-team b { border-color: #07151b; background: #103d47; }
.project-chat-team b { color: #b6ccd2; background: #18323a; }
.project-chat-messages {
  background:
    linear-gradient(rgba(4,16,21,.94),rgba(4,16,21,.94)),
    radial-gradient(circle at 15px 15px,rgba(119,231,219,.14) 1px,transparent 1.5px);
  background-size: auto,30px 30px;
}
.project-chat-message > div { color: var(--text); border-color: var(--line); background: rgba(18,43,52,.94); box-shadow: 0 5px 16px rgba(0,0,0,.17); }
.project-chat-message.own > div { color: #031014; border-color: rgba(170,255,246,.45); background: linear-gradient(120deg,#72d3df,#8adeca); }
.project-chat-message header strong,.project-chat-message p { color: inherit; }
.project-chat-message time { color: #91aab4; }
.project-chat-message.own time { color: rgba(3,16,20,.65); }
.project-chat-attachment { color: inherit; background: rgba(3,13,18,.32); }
.project-chat-attachment > span { color: var(--cyan); background: rgba(96,222,212,.12); }
.project-chat-compose textarea { color: var(--ink-bright); border-color: var(--line); background: #030d12; }
.project-chat-file { color: #c7dde1; border: 1px solid var(--line); background: rgba(20,48,57,.86); font-size: 11px; }
.project-chat-send { color: #031014; border: 1px solid rgba(170,255,246,.38); background: linear-gradient(120deg,#72d3df,#8adeca); }

@media (max-width: 600px) {
  body.worker-mode.worker-project-chat-focused .worker-project-team-chat { border: 1px solid var(--line); background: #07151b; box-shadow: 0 16px 44px rgba(0,0,0,.32); }
  body.worker-mode.worker-project-chat-focused .worker-project-chat-focus-head { border-bottom: 1px solid var(--line); background: #0a2028; }
  body.worker-mode.worker-project-chat-focused .worker-project-chat-focus-title h3 { color: var(--ink-bright); }
  body.worker-mode.worker-project-chat-focused .worker-project-chat-focus-title p { color: #adc4ca; font-size: 10px; }
  body.worker-mode.worker-project-chat-focused .project-chat-compose { border-top: 1px solid var(--line); background: #07151b; }
  body.worker-mode.worker-project-chat-focused .project-chat-file { color: #d3e6e9; background: #102d36; }
}

/* Projektzentrale: konsistente, gut lesbare Innenansichten im NAVENTOR Dark UI. */
.sidebar nav button[data-nav-label="E-Mail-Assistent"] { display: none !important; }

.project-hub-layout.project-open .project-cockpit-panel {
  padding: clamp(18px, 2vw, 28px);
  color: #dcebee;
  border-color: rgba(134,225,230,.18);
  background:
    radial-gradient(circle at 88% 5%,rgba(62,178,171,.08),transparent 27%),
    #061218;
}

.project-hub-layout.project-open :is(.project-tab-card,.project-day-group,.project-task-create,.task-assignee-selector,.project-plans-head,.project-plan-card) {
  color: #dcebee;
  border-color: rgba(134,225,230,.18);
  background: linear-gradient(145deg,rgba(18,43,52,.94),rgba(7,22,28,.98));
  box-shadow: inset 1px 1px 1px rgba(213,255,251,.055),0 14px 34px rgba(0,0,0,.18);
}

.project-hub-layout.project-open :is(.project-tab-card,.project-tab-heading,.project-plans-head,.project-day-group,.project-task-create) :is(h3,h4),
.project-hub-layout.project-open .project-cockpit-loading strong {
  color: #f2fbfc;
}

.project-hub-layout.project-open :is(.project-tab-card,.project-tab-heading,.project-plans-head,.project-day-group,.project-task-create) p,
.project-hub-layout.project-open :is(.project-team-list,.cockpit-report-list,.cockpit-documents,.cockpit-activity) small,
.project-hub-layout.project-open .empty-state {
  color: #a9bec6;
}

/* Uebersicht */
.project-hub-layout.project-open .project-cockpit-metrics { gap: 10px; }
.project-hub-layout.project-open .project-cockpit-metrics article {
  min-height: 72px;
  padding: 14px 15px;
  border-color: rgba(134,225,230,.17);
  border-radius: 12px;
  background: linear-gradient(145deg,rgba(21,49,58,.9),rgba(8,25,31,.92));
}
.project-hub-layout.project-open .project-cockpit-metrics small { color: #94acb5; font-size: 9px; letter-spacing: .045em; }
.project-hub-layout.project-open .project-cockpit-metrics strong { margin-top: 7px; color: #f2fbfc; font-size: 22px; }
.project-hub-layout.project-open .project-overview-actions { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.project-hub-layout.project-open .project-overview-actions button {
  min-height: 78px;
  padding: 16px;
  border-color: rgba(134,225,230,.18);
  border-radius: 13px;
  background: linear-gradient(145deg,rgba(20,47,56,.88),rgba(8,25,31,.94));
  box-shadow: inset 1px 1px 1px rgba(213,255,251,.05);
}
.project-hub-layout.project-open .project-overview-actions button:hover {
  border-color: rgba(119,231,219,.52);
  background: linear-gradient(145deg,rgba(28,65,72,.94),rgba(10,31,38,.98));
  box-shadow: 0 12px 30px rgba(0,0,0,.2),0 0 22px rgba(96,222,212,.06);
}
.project-hub-layout.project-open .project-overview-actions button > span {
  color: #89eee4;
  border: 1px solid rgba(119,231,219,.16);
  background: rgba(96,222,212,.1);
}
.project-hub-layout.project-open .project-overview-actions strong { color: #f2fbfc; font-size: 12px; }
.project-hub-layout.project-open .project-overview-actions small { color: #9fb6bf; font-size: 10px; }
.project-hub-layout.project-open .project-overview-actions b { color: #78d8d0; }

/* Teilnehmer */
.project-hub-layout.project-open .project-team-list-spacious {
  max-width: none;
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.project-hub-layout.project-open .project-team-list-spacious article {
  min-width: 0;
  min-height: 78px;
  padding: 13px 14px;
  border: 1px solid rgba(134,225,230,.14);
  border-radius: 12px;
  background: rgba(4,17,22,.5);
}
.project-hub-layout.project-open .project-team-list-spacious article:first-child { border-top: 1px solid rgba(134,225,230,.14); }
.project-hub-layout.project-open .project-team-list article > span {
  color: #cffff9;
  background: linear-gradient(145deg,#196976,#0c3744);
  box-shadow: inset 1px 1px 1px rgba(220,255,252,.14);
}
.project-hub-layout.project-open .project-team-list strong { color: #effafb; font-size: 12px; }
.project-hub-layout.project-open .project-team-list small { margin-top: 5px; color: #9bb3bd; font-size: 10px; }
.project-hub-layout.project-open .availability { color: #bfd0d5; background: rgba(143,171,180,.13); }
.project-hub-layout.project-open .availability.available { color: #8ce8bd; background: rgba(85,220,167,.13); }
.project-hub-layout.project-open .availability.limited { color: #ffd08a; background: rgba(240,179,90,.14); }
.project-hub-layout.project-open .project-tab-card > .cockpit-assign {
  max-width: none;
  margin-top: 16px;
  padding: 15px;
  border: 1px solid rgba(134,225,230,.14);
  border-radius: 12px;
  background: rgba(4,17,22,.5);
}
.project-hub-layout.project-open :is(.cockpit-assign,.resource-matches) select {
  min-height: 42px;
  color: #e8f5f6;
  border-color: rgba(134,225,230,.22);
  background: #06151b;
  font-size: 11px;
}

/* Personalbedarf */
.project-hub-layout.project-open .resource-request-list { gap: 12px; margin-top: 17px; }
.project-hub-layout.project-open .resource-request {
  padding: 16px;
  color: #dcebee;
  border-color: rgba(134,225,230,.16);
  border-left-color: #7594a0;
  border-radius: 12px;
  background: rgba(5,18,24,.58);
}
.project-hub-layout.project-open .resource-request.urgency-high { border-left-color: #f0b35a; background: rgba(86,56,15,.2); }
.project-hub-layout.project-open .resource-request.urgency-critical { border-left-color: #ff7474; background: rgba(91,28,31,.2); }
.project-hub-layout.project-open .resource-request header span { color: #77e7db; font-size: 9px; }
.project-hub-layout.project-open .resource-request header em { color: #b8cdd3; font-size: 10px; }
.project-hub-layout.project-open .resource-request h4 { margin-top: 9px; color: #f2fbfc; font-size: 13px; }
.project-hub-layout.project-open .resource-request p { color: #bed0d5; font-size: 11px; }
.project-hub-layout.project-open .resource-request > small { color: #90aab4; font-size: 9px; }
.project-hub-layout.project-open .resource-matches button {
  min-height: 42px;
  padding: 8px 13px;
  color: #031014;
  background: linear-gradient(120deg,#72d3df,#8adeca);
}
.project-hub-layout.project-open .resource-resolve { color: #8ce8bd; border: 1px solid rgba(85,220,167,.2); background: rgba(85,220,167,.1); }

/* Aufgaben und Personenwahl */
.project-hub-layout.project-open .project-tasks-panel { gap: 20px; }
.project-hub-layout.project-open .project-task-create { padding: clamp(18px,2vw,24px); gap: 16px; }
.project-hub-layout.project-open .project-task-create label > span,
.project-hub-layout.project-open .task-assignee-selector legend { color: #b9ced4; font-size: 10px; letter-spacing: .035em; }
.project-hub-layout.project-open .project-task-create :is(input,select,textarea),
.project-hub-layout.project-open .project-custom-range input {
  min-height: 42px;
  color: #effafb;
  border-color: rgba(134,225,230,.22);
  background: #06151b;
  font-size: 12px;
}
.project-hub-layout.project-open .project-task-create textarea { min-height: 92px; }
.project-hub-layout.project-open .project-task-create :is(input,textarea)::placeholder { color: #76909a; }
.project-hub-layout.project-open .task-assignee-selector { padding: 16px; }
.project-hub-layout.project-open .task-assignee-summary strong { color: #eaf7f8; font-size: 11px; }
.project-hub-layout.project-open .task-assignee-summary small { color: #8fa8b1; font-size: 9px; }
.project-hub-layout.project-open .task-assignee-options { gap: 10px; margin-top: 14px; }
.project-hub-layout.project-open .task-assignee-option {
  min-height: 64px;
  padding: 10px 11px;
  border-color: rgba(134,225,230,.16);
  background: rgba(4,17,22,.62);
}
.project-hub-layout.project-open .task-assignee-option:hover { border-color: rgba(119,231,219,.46); background: rgba(26,61,69,.62); }
.project-hub-layout.project-open .task-assignee-option.selected { border-color: #60ded4; background: rgba(55,145,141,.18); box-shadow: inset 0 0 0 1px rgba(119,231,219,.26); }
.project-hub-layout.project-open .task-assignee-person strong { color: #f0fafb; font-size: 11px; }
.project-hub-layout.project-open .task-assignee-person small { color: #96adb6; font-size: 9px; }
.project-hub-layout.project-open .task-assignee-check { color: transparent; border-color: #66828c; background: #071820; }
.project-hub-layout.project-open .task-assignee-option.selected .task-assignee-check { color: #031014; border-color: #77e7db; background: #77e7db; }
.project-hub-layout.project-open .task-assignee-selected button { color: #cffff9; border-color: rgba(119,231,219,.34); background: rgba(46,125,122,.2); }
.project-hub-layout.project-open .task-assignee-selected button b { background: rgba(119,231,219,.14); }
.project-hub-layout.project-open .project-task-list-head { padding-top: 18px; border-top-color: rgba(134,225,230,.14); }
.project-hub-layout.project-open .project-task-list { gap: 12px; }
.project-hub-layout.project-open .work-row {
  padding: 16px;
  color: #dcebee;
  border-color: rgba(134,225,230,.15);
  border-left-color: #7594a0;
  border-radius: 12px;
  background: rgba(4,17,22,.62);
}
.project-hub-layout.project-open .work-row.priority-high { border-left-color: #f0b35a; }
.project-hub-layout.project-open .work-row.priority-critical { border-left-color: #ff7474; }
.project-hub-layout.project-open .work-row.priority-low { border-left-color: #55dca7; }
.project-hub-layout.project-open .work-row header { color: #a7bec6; font-size: 10px; }
.project-hub-layout.project-open .work-row h3 { color: #f2fbfc; font-size: 14px; }
.project-hub-layout.project-open .work-row p { color: #bed0d5; font-size: 11px; }
.project-hub-layout.project-open .work-row small { color: #8fa8b1; font-size: 9px; }
.project-hub-layout.project-open .work-row-actions button,
.project-hub-layout.project-open .task-plan-link { color: #d9eaed; border-color: rgba(134,225,230,.22); background: rgba(19,45,54,.86); }
.project-hub-layout.project-open .work-row-actions button:hover,
.project-hub-layout.project-open .task-plan-link:hover { color: #031014; border-color: #77e7db; background: #77e7db; }

/* Plaene */
.project-hub-layout.project-open .project-plans-head { padding: 20px; }
.project-hub-layout.project-open .project-plans-head h3 { color: #f2fbfc; font-size: 18px; }
.project-hub-layout.project-open .project-plans-head p { color: #a9bec6; font-size: 11px; }
.project-hub-layout.project-open .project-plan-card:hover { border-color: rgba(119,231,219,.5); box-shadow: 0 14px 34px rgba(0,0,0,.25); }
.project-hub-layout.project-open .project-plan-card-body > span { color: #77e7db; }
.project-hub-layout.project-open .project-plan-card-body strong { color: #f2fbfc; font-size: 13px; }
.project-hub-layout.project-open .project-plan-card-body small { color: #9bb3bd; font-size: 10px; }

/* Baustellenstand, Verlauf und Filter */
.project-hub-layout.project-open .project-tab-heading { margin-bottom: 16px; }
.project-hub-layout.project-open .project-tab-heading h3 { color: #f2fbfc; font-size: 17px; }
.project-hub-layout.project-open .project-tab-heading p { color: #9fb6bf; font-size: 10px; }
.project-hub-layout.project-open :is(.project-date-filter,.project-member-filter) summary {
  min-height: 49px;
  color: #effafb;
  border-color: rgba(134,225,230,.2);
  background: rgba(18,43,52,.86);
  box-shadow: inset 1px 1px 1px rgba(213,255,251,.05);
}
.project-hub-layout.project-open :is(.project-date-filter,.project-member-filter) summary > span { color: #8fa8b1; font-size: 8px; }
.project-hub-layout.project-open :is(.project-date-filter,.project-member-filter) summary > strong { color: #edf9fa; font-size: 10px; }
.project-hub-layout.project-open :is(.project-date-popover,.project-member-popover) {
  color: #dcebee;
  border-color: rgba(134,225,230,.2);
  background: #0a1b22;
  box-shadow: 0 24px 60px rgba(0,0,0,.5);
}
.project-hub-layout.project-open .project-date-popover > p,
.project-hub-layout.project-open .project-member-popover > header strong,
.project-hub-layout.project-open .project-member-options label strong,
.project-hub-layout.project-open .project-custom-range > strong { color: #f2fbfc; }
.project-hub-layout.project-open .project-date-presets button { color: #acc1c8; }
.project-hub-layout.project-open .project-date-presets button:hover,
.project-hub-layout.project-open .project-date-presets button.active,
.project-hub-layout.project-open .project-member-options label:hover { color: #f2fbfc; background: rgba(96,222,212,.1); }
.project-hub-layout.project-open .project-custom-range { background: rgba(4,17,22,.62); }
.project-hub-layout.project-open .project-member-popover > header { border-bottom-color: rgba(134,225,230,.14); }
.project-hub-layout.project-open .project-member-done { color: #031014; background: linear-gradient(120deg,#72d3df,#8adeca); }
.project-hub-layout.project-open .project-filter-result span,
.project-hub-layout.project-open .project-section-count { color: #bcd0d6; background: rgba(143,171,180,.13); }
.project-hub-layout.project-open .project-section-count.warning { color: #ffd08a; background: rgba(240,179,90,.14); }
.project-hub-layout.project-open .project-day-groups { gap: 15px; }
.project-hub-layout.project-open .project-day-group > header {
  min-height: 50px;
  padding: 12px 16px;
  border-bottom-color: rgba(134,225,230,.14);
  background: rgba(24,53,62,.72);
}
.project-hub-layout.project-open .project-day-group > header h4 { color: #effafb; font-size: 12px; }
.project-hub-layout.project-open .project-day-group > header span { color: #9db4bc; font-size: 9px; }
.project-hub-layout.project-open .project-day-column { padding: 16px; }
.project-hub-layout.project-open .project-day-column + .project-day-column { border-left-color: rgba(134,225,230,.14); }
.project-hub-layout.project-open .project-day-column-title strong { color: #eaf7f8; font-size: 11px; }
.project-hub-layout.project-open .project-day-column-title span { color: #b9cdd2; background: rgba(143,171,180,.13); }
.project-hub-layout.project-open :is(.cockpit-report-list button,.cockpit-documents a,.cockpit-activity button) {
  min-height: 58px;
  padding: 11px 4px;
  color: #dcebee;
  border-top-color: rgba(134,225,230,.12);
}
.project-hub-layout.project-open :is(.cockpit-report-list,.cockpit-documents,.cockpit-activity) :is(strong) { color: #edf9fa; font-size: 11px; }
.project-hub-layout.project-open :is(.cockpit-report-list,.cockpit-documents,.cockpit-activity) :is(small) { color: #94abb4; font-size: 9px; }
.project-hub-layout.project-open :is(.cockpit-report-list button > span,.cockpit-documents b,.cockpit-activity button > span) {
  color: #8af0e5;
  background: rgba(96,222,212,.1);
}
.project-hub-layout.project-open .project-documents-card { margin-top: 16px; }
.project-hub-layout.project-open .project-tab-card.empty-state {
  color: #a9bec6;
  border-style: dashed;
  background: rgba(15,39,48,.55);
}

@media (max-width: 1050px) {
  .project-hub-layout.project-open .project-overview-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .project-hub-layout.project-open .project-team-list-spacious { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .project-hub-layout.project-open .project-cockpit-panel { padding: 12px; }
  .project-hub-layout.project-open .project-overview-actions { grid-template-columns: 1fr; }
  .project-hub-layout.project-open .project-tab-filters { width: 100%; display: grid; grid-template-columns: 1fr; }
  .project-hub-layout.project-open :is(.project-date-filter,.project-member-filter) summary { width: 100%; min-width: 0; }
  .project-hub-layout.project-open .project-tab-heading { align-items: stretch; flex-direction: column; }
  .project-hub-layout.project-open .project-date-popover,
  .project-hub-layout.project-open .project-member-popover { position: fixed; inset: auto 12px 88px; width: auto; max-height: 70vh; overflow-y: auto; }
  .project-hub-layout.project-open .project-day-columns { grid-template-columns: 1fr; }
  .project-hub-layout.project-open .project-day-column + .project-day-column { border-top: 1px solid rgba(134,225,230,.14); border-left: 0; }
}

/* Unaufdringliches Aktions-Dock: am rechten Rand eingeklappt, per Hover/Fokus offen. */
@media (hover: hover) and (pointer: fine) {
  .assistant-fab,
  .feedback-fab,
  .microsoft-connection-indicator {
    right: -1px;
    opacity: .72;
    transform: translateX(calc(100% - 18px));
    transform-origin: right center;
    transition: transform .24s cubic-bezier(.2,.8,.2,1),opacity .18s ease,box-shadow .18s ease;
    transition-delay: .18s;
    will-change: transform;
  }

  .assistant-fab { bottom: 18px; }
  .feedback-fab { bottom: 72px; }
  .microsoft-connection-indicator { bottom: 126px; }

  .assistant-fab::after,
  .feedback-fab::after,
  .microsoft-connection-indicator::after {
    content: "";
    position: absolute;
    inset: -7px -1px -7px auto;
    width: 24px;
    border-radius: 999px 0 0 999px;
  }

  body:has(.assistant-fab:hover,.feedback-fab:hover,.microsoft-connection-indicator:hover,
           .assistant-fab:focus-visible,.feedback-fab:focus-visible,.microsoft-connection-indicator:focus-visible) :is(.assistant-fab,.feedback-fab,.microsoft-connection-indicator),
  .assistant-fab:hover,
  .feedback-fab:hover,
  .microsoft-connection-indicator:hover,
  .assistant-fab:focus-visible,
  .feedback-fab:focus-visible,
  .microsoft-connection-indicator:focus-visible {
    opacity: 1;
    transform: translateX(0);
    transition-delay: 0s;
  }

  body:has(.assistant-fab:hover,.feedback-fab:hover,.microsoft-connection-indicator:hover,
           .assistant-fab:focus-visible,.feedback-fab:focus-visible,.microsoft-connection-indicator:focus-visible) :is(.assistant-fab,.feedback-fab,.microsoft-connection-indicator) {
    box-shadow: inset 1px 1px 1px rgba(207,255,252,.1),-12px 16px 38px rgba(0,0,0,.32),0 0 24px rgba(96,222,212,.08);
  }
}

/* Mobile Projektansicht: Pläne, Einsatzorte und Dokumente als lesbare Karten. */
body.worker-mode .worker-project-plan-panel,
body.worker-mode .worker-project-documents-panel {
  min-width: 0;
  border-color: rgba(134,225,230,.18);
  background:
    radial-gradient(circle at 100% 0,rgba(96,222,212,.08),transparent 32%),
    linear-gradient(145deg,rgba(17,42,51,.94),rgba(5,17,23,.98));
  box-shadow: inset 1px 1px 1px rgba(207,255,252,.055),0 14px 34px rgba(0,0,0,.2);
}
body.worker-mode :is(.worker-project-plan-panel,.worker-project-documents-panel) .surface-head {
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(134,225,230,.11);
}
body.worker-mode :is(.worker-project-plan-panel,.worker-project-documents-panel) .surface-head h2 {
  margin: 0 0 5px;
  color: #f2fbfc;
  font-size: 18px;
  line-height: 1.25;
}
body.worker-mode :is(.worker-project-plan-panel,.worker-project-documents-panel) .surface-head p {
  color: #9db4bc;
  font-size: 10px;
  line-height: 1.5;
}
body.worker-mode .worker-project-plan-card {
  position: relative;
  margin-top: 0;
  padding: 15px;
  border-color: rgba(119,231,219,.25);
  border-radius: 15px;
  color: #dcebee;
  background:
    linear-gradient(90deg,rgba(96,222,212,.055),transparent 48%),
    rgba(4,18,24,.78);
  box-shadow: inset 1px 1px 1px rgba(213,255,251,.055);
  transition: border-color .18s ease,background .18s ease,transform .18s ease;
}
body.worker-mode .worker-project-plan-card:hover,
body.worker-mode .worker-project-plan-card:focus-visible {
  border-color: rgba(119,231,219,.55);
  background: rgba(12,37,45,.94);
  transform: translateY(-1px);
}
body.worker-mode .worker-project-plan-card > span:first-child {
  color: #dffffb;
  border: 1px solid rgba(151,255,244,.24);
  background: linear-gradient(145deg,#0b5260,#098b84);
  box-shadow: 0 8px 22px rgba(4,116,113,.2);
}
body.worker-mode .worker-project-plan-card strong {
  color: #f2fbfc;
  font-size: 14px;
}
body.worker-mode .worker-project-plan-card small {
  color: #9fb7bf;
  font-size: 10px;
}
body.worker-mode .worker-project-plan-card em { color: #77e7db; }
body.worker-mode .worker-plan-marker-list {
  position: relative;
  margin: 10px 0 0 18px;
  padding-left: 14px;
  gap: 8px;
}
body.worker-mode .worker-plan-marker-list::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 1px;
  background: linear-gradient(rgba(119,231,219,.42),rgba(119,231,219,.06));
}
body.worker-mode .worker-plan-marker {
  min-height: 54px;
  padding: 10px 12px;
  border: 1px solid rgba(134,225,230,.14);
  border-radius: 12px;
  color: #dcebee;
  background: linear-gradient(135deg,rgba(16,42,51,.88),rgba(7,23,30,.94));
  box-shadow: inset 1px 1px 1px rgba(207,255,252,.04);
  transition: border-color .18s ease,background .18s ease;
}
body.worker-mode .worker-plan-marker:hover,
body.worker-mode .worker-plan-marker:focus-visible {
  border-color: rgba(119,231,219,.44);
  background: rgba(21,53,62,.94);
}
body.worker-mode .worker-plan-marker > span:first-child {
  border: 1px solid rgba(255,255,255,.15);
  box-shadow: 0 6px 18px rgba(0,0,0,.22);
}
body.worker-mode .worker-plan-marker strong {
  color: #edf9fa;
  font-size: 12px;
}
body.worker-mode .worker-plan-marker small {
  color: #96afb8;
  font-size: 9px;
}
body.worker-mode .worker-plan-marker b {
  padding: 6px 8px;
  border: 1px solid rgba(119,231,219,.18);
  border-radius: 999px;
  color: #8dece3;
  background: rgba(96,222,212,.08);
  font-size: 9px;
}
body.worker-mode #workerProjectDocuments {
  min-width: 0;
  display: grid;
  gap: 9px;
}
body.worker-mode .worker-project-document,
body.worker-mode .worker-project-document:first-of-type {
  min-height: 62px;
  padding: 10px 12px;
  border: 1px solid rgba(134,225,230,.14);
  border-radius: 12px;
  color: #dcebee;
  background: linear-gradient(135deg,rgba(15,39,48,.9),rgba(6,20,27,.96));
  box-shadow: inset 1px 1px 1px rgba(207,255,252,.04);
  transition: border-color .18s ease,background .18s ease,transform .18s ease;
}
body.worker-mode .worker-project-document:hover,
body.worker-mode .worker-project-document:focus-visible {
  border-color: rgba(119,231,219,.43);
  background: rgba(19,49,58,.96);
  transform: translateY(-1px);
}
body.worker-mode .worker-project-document > span {
  color: #ffb5aa;
  border: 1px solid rgba(255,160,148,.18);
  background: rgba(190,67,55,.16);
}
body.worker-mode .worker-project-document strong {
  color: #edf9fa;
  font-size: 12px;
}
body.worker-mode .worker-project-document small {
  color: #93abb4;
  font-size: 9px;
}
body.worker-mode .worker-project-document em {
  color: #a9f0dd;
  border: 1px solid rgba(106,224,192,.18);
  background: rgba(46,172,137,.12);
}

@media (max-width: 600px) {
  body.worker-mode .worker-project-detail-grid > .surface { padding: 16px; }
  body.worker-mode :is(.worker-project-plan-panel,.worker-project-documents-panel) .surface-head { margin-bottom: 13px; padding-bottom: 12px; }
  body.worker-mode :is(.worker-project-plan-panel,.worker-project-documents-panel) .surface-head h2 { font-size: 17px; }
  body.worker-mode :is(.worker-project-plan-panel,.worker-project-documents-panel) .surface-head p { font-size: 10px; }
  body.worker-mode .worker-project-plan-card { grid-template-columns: 48px minmax(0,1fr) auto; gap: 11px; padding: 12px; }
  body.worker-mode .worker-project-plan-card > span:first-child { width: 48px; height: 48px; border-radius: 12px; font-size: 10px; }
  body.worker-mode .worker-project-plan-card strong { font-size: 14px; }
  body.worker-mode .worker-project-plan-card small { font-size: 10px; }
  body.worker-mode .worker-plan-marker-list { margin-left: 9px; padding-left: 10px; }
  body.worker-mode .worker-plan-marker { grid-template-columns: 38px minmax(0,1fr); min-height: 62px; padding: 11px; }
  body.worker-mode .worker-plan-marker > span:first-child { width: 38px; height: 38px; border-radius: 10px; }
  body.worker-mode .worker-plan-marker strong { font-size: 12px; }
  body.worker-mode .worker-plan-marker small { margin-top: 4px; font-size: 9px; }
  body.worker-mode .worker-plan-marker b { grid-column: 2; justify-self: start; margin-top: 1px; padding: 4px 7px; }
  body.worker-mode .worker-project-document { grid-template-columns: 42px minmax(0,1fr); min-height: 66px; }
  body.worker-mode .worker-project-document em,
  body.worker-mode .worker-project-document > b { grid-column: 2; justify-self: start; margin-top: -3px; }
}

/* Fortlaufende Projektakte, Zwischenstaende und Abschlussarchiv. */
.project-documentation-shell { display:grid; gap:16px; }
.project-documentation-hero {
  min-height:150px;
  padding:24px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  overflow:hidden;
  border:1px solid rgba(134,225,230,.22);
  border-radius:18px;
  background:
    radial-gradient(circle at 88% 14%,rgba(119,231,219,.2),transparent 25%),
    linear-gradient(125deg,#092631,#0e474b 72%,#126b68);
  box-shadow:inset 1px 1px 1px rgba(224,255,252,.1),0 18px 44px rgba(0,0,0,.24);
}
.project-documentation-hero > div:first-child { max-width:760px; }
.project-documentation-live { display:inline-flex; align-items:center; gap:7px; color:#bafff7; font-size:9px; font-weight:900; letter-spacing:.12em; }
.project-documentation-live i { width:8px;height:8px;border-radius:50%;background:#65e7c3;box-shadow:0 0 0 5px rgba(101,231,195,.12),0 0 16px rgba(101,231,195,.65); }
.project-documentation-hero h3 { margin:12px 0 7px; color:#f5ffff; font-size:clamp(24px,3vw,36px); font-weight:650; letter-spacing:-.03em; }
.project-documentation-hero p { max-width:720px; margin:0; color:#bad0d5; font-size:11px; line-height:1.55; }
.project-documentation-period { min-width:230px;padding:14px 16px;display:grid;gap:4px;border:1px solid rgba(170,255,246,.2);border-radius:13px;background:rgba(2,16,21,.35);backdrop-filter:blur(10px); }
.project-documentation-period small { color:#91abb4;font-size:8px;text-transform:uppercase;letter-spacing:.08em; }
.project-documentation-period strong { color:#f0fbfc;font-size:12px; }
.project-documentation-period span { color:#7ce0d7;font-size:9px; }
.project-documentation-metrics { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px; }
.project-documentation-metrics article { min-width:0;padding:14px;display:grid;grid-template-columns:34px 1fr;column-gap:10px;align-items:center;border:1px solid rgba(134,225,230,.16);border-radius:13px;background:linear-gradient(145deg,rgba(18,43,52,.94),rgba(7,22,28,.98));box-shadow:inset 1px 1px 1px rgba(213,255,251,.05); }
.project-documentation-metrics article > span { width:34px;height:34px;display:grid;grid-row:1 / 3;place-items:center;border-radius:10px;color:#83eee4;background:rgba(96,222,212,.1);font-weight:900; }
.project-documentation-metrics strong { color:#f2fbfc;font-size:20px;line-height:1; }
.project-documentation-metrics small { color:#94adb6;font-size:9px; }
.project-documentation-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.project-documentation-card { min-width:0;padding:18px;display:grid;gap:16px;border:1px solid rgba(134,225,230,.17);border-radius:15px;background:linear-gradient(145deg,rgba(17,42,51,.92),rgba(5,17,23,.97));box-shadow:inset 1px 1px 1px rgba(207,255,252,.05); }
.project-documentation-card > div:first-child { min-width:0;display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:center; }
.documentation-card-mark { width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(255,155,142,.2);border-radius:12px;color:#ffb6ab;background:rgba(190,67,55,.15);font-size:10px;font-weight:900; }
.documentation-card-mark.archive { color:#91eee5;border-color:rgba(119,231,219,.2);background:rgba(96,222,212,.1);font-size:20px; }
.project-documentation-card h4 { margin:0 0 4px;color:#effafb;font-size:14px; }
.project-documentation-card p { margin:0;color:#98b0b9;font-size:10px;line-height:1.5; }
.project-documentation-downloads > div:last-child,.documentation-snapshot-actions { display:flex;flex-wrap:wrap;align-items:center;gap:8px; }
.project-documentation-downloads a { text-decoration:none; }
.documentation-form-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
.documentation-form-grid label:first-child { grid-column:1 / -1; }
.documentation-form-grid label { min-width:0;display:grid;gap:6px; }
.documentation-form-grid label > span { color:#a9c0c7;font-size:9px;font-weight:800; }
.documentation-form-grid :is(input,select) { min-width:0;color:#eaf7f8;border-color:rgba(134,225,230,.18);background:#041116; }
.documentation-snapshot-actions > span { color:#819ca6;font-size:9px; }
.project-documentation-section { min-width:0;padding:20px;border:1px solid rgba(134,225,230,.17);border-radius:16px;background:linear-gradient(145deg,rgba(16,40,49,.91),rgba(5,17,23,.97));box-shadow:inset 1px 1px 1px rgba(207,255,252,.05); }
.project-documentation-section > .surface-head { padding-bottom:14px;border-bottom:1px solid rgba(134,225,230,.11); }
.project-documentation-section > .surface-head h3 { color:#f0fbfc;font-size:16px; }
.project-documentation-section > .surface-head p { color:#94adb6;font-size:10px; }
.documentation-timeline { position:relative;margin-top:14px;display:grid; }
.documentation-timeline::before { content:"";position:absolute;top:18px;bottom:18px;left:17px;width:1px;background:linear-gradient(rgba(119,231,219,.5),rgba(119,231,219,.06)); }
.documentation-timeline article { position:relative;min-width:0;padding:10px 0;display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px; }
.documentation-event-icon { z-index:1;width:35px;height:35px;display:grid;place-items:center;border:1px solid rgba(119,231,219,.2);border-radius:10px;color:#83eee4;background:#0d3139;font-size:11px;font-weight:900;box-shadow:0 6px 16px rgba(0,0,0,.22); }
.documentation-event-icon.task_completed,.documentation-event-icon.case_resolved { color:#8ff0cd;background:#113c35; }
.documentation-timeline article > div { min-width:0;padding-bottom:10px;border-bottom:1px solid rgba(134,225,230,.09); }
.documentation-timeline time { display:block;margin-bottom:4px;color:#78d8d0;font-size:8px;font-weight:800; }
.documentation-timeline strong { display:block;color:#edf9fa;font-size:11px; }
.documentation-timeline p { margin:4px 0 0;color:#9bb2ba;font-size:9px;line-height:1.5;overflow-wrap:anywhere; }
.documentation-snapshot-list { margin-top:14px;display:grid;gap:9px; }
.documentation-snapshot-list article { min-width:0;padding:13px;display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid rgba(134,225,230,.14);border-radius:12px;background:rgba(3,16,22,.58); }
.documentation-snapshot-type { width:54px;min-height:38px;display:grid;place-items:center;border:1px solid rgba(119,231,219,.2);border-radius:10px;color:#8cece3;background:rgba(96,222,212,.09);font-size:8px;font-weight:900;letter-spacing:.06em; }
.documentation-snapshot-type.final { color:#ffd595;border-color:rgba(245,190,107,.25);background:rgba(191,125,32,.12); }
.documentation-snapshot-list article > div:nth-child(2) { min-width:0; }
.documentation-snapshot-list small,.documentation-snapshot-list strong,.documentation-snapshot-list p { display:block; }
.documentation-snapshot-list small { color:#829da7;font-size:8px; }
.documentation-snapshot-list strong { margin-top:3px;color:#edf9fa;font-size:11px; }
.documentation-snapshot-list p { margin:3px 0 0;color:#98b0b8;font-size:9px;overflow-wrap:anywhere; }
.documentation-snapshot-list article > div:last-child { display:flex;gap:7px; }
.documentation-snapshot-list a { text-decoration:none;white-space:nowrap; }

@media (max-width: 1050px) {
  .project-documentation-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .project-documentation-grid { grid-template-columns:1fr; }
}
@media (max-width: 700px) {
  .project-documentation-hero { min-height:0;padding:18px;align-items:stretch;flex-direction:column; }
  .project-documentation-period { min-width:0; }
  .project-documentation-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-documentation-metrics article:last-child { grid-column:1 / -1; }
  .documentation-form-grid { grid-template-columns:1fr; }
  .documentation-snapshot-list article { grid-template-columns:46px minmax(0,1fr);align-items:start; }
  .documentation-snapshot-type { width:46px; }
  .documentation-snapshot-list article > div:last-child { grid-column:2;flex-wrap:wrap; }
}

/* Verwaltungsbereiche — durchgaengig lesbar im NAVENTOR-Dark-Theme.
   Nur Darstellung: Daten, Rollen und bestehende Interaktionen bleiben unveraendert. */

/* Papierkorb */
.trash-surface {
  overflow: hidden;
  border-radius: 18px;
  background:
    radial-gradient(circle at 92% 0,rgba(96,222,212,.07),transparent 26%),
    linear-gradient(145deg,rgba(17,42,51,.9),rgba(5,17,23,.96));
}
.trash-surface .surface-head { margin-bottom: 18px; }
.trash-surface .surface-head h2 { margin-bottom: 5px; color: var(--ink-bright); font-size: 19px; }
.trash-surface .surface-head p { max-width: 920px; color: #a9bec6; font-size: 11px; line-height: 1.55; }
.trash-list { min-width: 0; gap: 11px; }
.trash-row {
  min-width: 0;
  padding: 14px 16px;
  border-color: rgba(134,225,230,.15);
  background: linear-gradient(135deg,rgba(13,34,42,.9),rgba(5,18,24,.96));
  box-shadow: inset 1px 1px 1px rgba(207,255,252,.045);
}
.trash-row > div { min-width: 0; }
.trash-mark { color: var(--cyan); background: rgba(96,222,212,.1); }
.trash-row > div small { color: #829da7; font-size: 9px; }
.trash-row > div strong { color: var(--ink-bright); font-size: 12px; overflow-wrap: anywhere; }
.trash-row > div p { color: #a9bec6; font-size: 10px; overflow-wrap: anywhere; }
.trash-row > div em { color: #e2bc78; font-size: 9px; }
.trash-row > button { min-width: 128px; flex: none; white-space: nowrap; }
.trash-permission { color: #98b0b8; }

/* Gemeinsame Seitennavigation fuer Schnittstellen, Profil und Datenschutz */
.connector-workspace { grid-template-columns: 250px minmax(0,1fr); gap: 26px; }
.connector-subnav {
  overflow: hidden;
  border-color: rgba(134,225,230,.18);
  background:
    radial-gradient(circle at 10% 0,rgba(96,222,212,.08),transparent 34%),
    linear-gradient(145deg,rgba(16,40,49,.96),rgba(5,17,23,.98));
  box-shadow: inset 1px 1px 1px rgba(207,255,252,.07),0 18px 44px rgba(0,0,0,.2);
}
.connector-subnav-heading { border-bottom-color: rgba(134,225,230,.13); }
.connector-subnav-heading span { color: var(--cyan); }
.connector-subnav-heading strong { color: var(--ink-bright); }
.connector-subnav button { color: #b0c5cc; }
.connector-subnav button > span { color: var(--cyan); background: rgba(96,222,212,.09); }
.connector-subnav button small { color: #829ba5; }
.connector-subnav button:hover { color: #f2fbfc; border-color: rgba(119,231,219,.24); background: rgba(96,222,212,.07); }
.connector-subnav button.active {
  color: #f4ffff;
  border-color: rgba(119,231,219,.36);
  background: linear-gradient(90deg,rgba(57,151,154,.23),rgba(26,66,75,.32));
  box-shadow: inset 3px 0 var(--cyan),inset 0 1px 0 rgba(207,255,252,.05);
}
.connector-subnav button.active > span { color: #031014; background: linear-gradient(135deg,#70dedb,#71e7cb); }
.connector-section-heading h2 { color: var(--ink-bright); font-weight: 520; }
.connector-section-heading > p:last-child { color: #9fb6bf; }
.connector-section-content :is(h2,h3,h4) { color: var(--ink-bright); }
.connector-section-content :is(p,small) { color: #9fb5bd; }

/* Schnittstellen */
.connector-status-grid article { border-radius: 16px; }
.connector-status-grid h2 { color: var(--ink-bright); font-size: 15px; }
.connector-status-grid p { color: #9fb5bd; font-size: 10px; }
.connector-status-grid small { color: var(--cyan); }
.connector-import-form,
.connector-single-form,
.connector-detail-card { max-width: none; }
.connector-detail-card ul { color: #b2c6cc; }
.connector-counts { grid-template-columns: repeat(4,minmax(0,1fr)); }
.connector-counts span {
  min-width: 0;
  padding: 13px 10px;
  color: #90aab3;
  border: 1px solid rgba(134,225,230,.12);
  background: rgba(3,14,19,.58);
}
.connector-counts strong { color: var(--ink-bright); font-size: 20px; }
.connector-run-list article { border-top-color: rgba(134,225,230,.1); }
.connector-run-list strong { color: #e9f6f8; font-size: 10px; }
.connector-run-list small { color: #8fa7b0; }
.connector-conflict {
  border-color: rgba(240,179,90,.3);
  background: rgba(111,69,20,.12);
}
.connector-conflict header span,
.connector-conflict header small,
.connector-conflict label > span { color: #e2bd83; }
.connector-conflict textarea[readonly] { color: var(--text); background: rgba(3,13,18,.7); }
.connector-sample { border-color: rgba(134,225,230,.15); }
.connector-sample th,
.connector-sample td { border-bottom-color: rgba(134,225,230,.1); }
.connector-sample th { color: #dff3f5; background: rgba(31,69,78,.54); }
.connector-errors { color: #f0c986; border: 1px solid rgba(240,179,90,.28); background: rgba(111,69,20,.14); }
.connector-policy-form fieldset { border-color: rgba(134,225,230,.18); }
.connector-policy-form legend { color: #c6dde2; }

/* Mein Profil */
.profile-single-panel,
.profile-section-content .signature-card,
.profile-section-content .outlook-card,
.profile-section-content [data-profile-content="contacts"] > .surface { max-width: none; }
.profile-form label > span,
.assistant-action-form label > span { color: #b8cdd3; }
.profile-language-field { border-color: rgba(134,225,230,.22); background: rgba(3,13,18,.76); }
.profile-language-field select { color: var(--ink-bright); background: transparent; }
.outlook-account-summary,
.microsoft-dialog-account {
  border-color: rgba(134,225,230,.16);
  background: rgba(3,14,19,.56);
}
.outlook-account-summary strong,
.microsoft-dialog-account strong { color: var(--ink-bright); }
.outlook-capability-chip { color: #a9bec6; background: rgba(127,157,166,.13); }
.outlook-capability-chip.active { color: #8ae8bd; background: rgba(85,220,167,.13); }
.signature-preview-wrap { border-color: rgba(134,225,230,.17); background: rgba(3,14,19,.56); }
.contact-item strong { color: var(--ink-bright); }
.contact-item small,
.permission-note { color: #9eb5bd; }
.permission-list .check-row {
  color: var(--text);
  border-color: rgba(134,225,230,.15);
  background: rgba(3,14,19,.56);
}
.permission-list .check-row strong { color: var(--ink-bright); }
.permission-list .check-row small { color: #91aab3; }

/* Datenschutz */
.privacy-section-content > .connector-section > .surface,
.privacy-section-content > .connector-section > .privacy-overview-grid { max-width: none; }
.privacy-flow-card h2,
.privacy-status-card h2,
.privacy-guidance-card h2,
.operations-status-card h2,
.pilot-readiness-card h2 { color: var(--ink-bright); }
.privacy-flow-card li strong { color: #eaf7f8; }
.privacy-flow-card li::before { color: #031014; background: linear-gradient(135deg,#70dedb,#71e7cb); }
.privacy-status-row strong { color: #eaf7f8; }
.privacy-status-row strong.good { color: #71dfad; }
.privacy-status-row strong.warn { color: #f0c375; }
.privacy-request-row,
.privacy-guidance-grid div,
.pilot-check,
.operations-summary div,
.pilot-feedback-item {
  border-color: rgba(134,225,230,.14);
  background: rgba(3,14,19,.58);
}
.privacy-guidance-grid strong,
.pilot-check strong,
.operations-summary strong,
.pilot-feedback-triage > h3 { color: var(--ink-bright); }
.privacy-legal-note,
.pilot-readiness-message {
  color: #efd092;
  border: 1px solid rgba(240,179,90,.28);
  background: rgba(111,69,20,.14);
}
.pilot-readiness-message.ready { color: #91e8bf; border-color: rgba(85,220,167,.28); background: rgba(33,111,80,.14); }
.pilot-confirmation-grid .check-row { border-color: rgba(134,225,230,.15); background: rgba(3,14,19,.55); }
.pilot-settings-form label > span { color: #b8cdd3; }
.pilot-feedback-item p { color: #b2c5cb; }
.operations-alert { color: #efc77e; border-color: rgba(240,179,90,.32); background: rgba(111,69,20,.14); }
.operations-alert.critical,
.operations-job.failed { color: #ffabab; border-color: rgba(255,116,116,.3); background: rgba(116,31,31,.14); }
.operations-job.stalled { border-color: rgba(240,179,90,.3); background: rgba(111,69,20,.12); }
.operations-job-progress { background: rgba(151,181,190,.16); }

/* Firmeneinrichtung */
.onboarding-view .onboarding-progress-copy strong { color: var(--ink-bright); }
.onboarding-view .onboarding-progress-copy span { color: #92aab3; }
.onboarding-view .onboarding-progress { background: rgba(128,160,170,.15); }
.onboarding-view .onboarding-progress i { background: linear-gradient(90deg,#62d9df,#77e7c9); box-shadow: 0 0 16px rgba(96,222,212,.28); }
.onboarding-view .onboarding-steps,
.onboarding-view .onboarding-stage,
.onboarding-view .onboarding-help {
  border-color: rgba(134,225,230,.17);
  background:
    radial-gradient(circle at 92% 0,rgba(96,222,212,.06),transparent 28%),
    linear-gradient(145deg,rgba(16,40,49,.92),rgba(5,17,23,.97));
}
.onboarding-view .onboarding-steps button { color: #aec3ca; }
.onboarding-view .onboarding-steps button > span { color: #a9c1ca; border-color: rgba(134,225,230,.25); }
.onboarding-view .onboarding-steps button small { color: #819aa4; }
.onboarding-view .onboarding-steps button:hover { color: #f2fbfc; background: rgba(96,222,212,.06); }
.onboarding-view .onboarding-steps button.active { color: #f5ffff; background: rgba(96,222,212,.12); }
.onboarding-view .onboarding-steps button.active > span,
.onboarding-view .onboarding-steps button.complete > span { color: #031014; border-color: #77e7db; background: #77e7db; }
.onboarding-view .onboarding-form header,
.onboarding-view .onboarding-form-actions { border-color: rgba(134,225,230,.13); }
.onboarding-view .onboarding-form header > span { color: var(--cyan); }
.onboarding-view .onboarding-form header p,
.onboarding-view .onboarding-form-actions span { color: #9fb5bd; }
.onboarding-view .onboarding-help p { color: #b9cdd3; }
.onboarding-view .role-policy-control,
.onboarding-view .knowledge-source-grid > form,
.onboarding-view .knowledge-sources article,
.onboarding-view .knowledge-candidates article,
.onboarding-view .seat-summary article,
.onboarding-view .onboarding-inline-action,
.onboarding-view .import-status-grid article,
.onboarding-view .device-check-grid article,
.onboarding-view .onboarding-connection-status,
.onboarding-view .system-scope-grid fieldset,
.onboarding-view .onboarding-system-grid label,
.onboarding-view .system-test-flow li {
  color: var(--text);
  border-color: rgba(134,225,230,.16);
  background: rgba(3,14,19,.48);
}
.onboarding-view :is(.role-policy-control,.system-scope-grid) legend { color: #bbd0d6; }
.onboarding-view .role-policy-control label,
.onboarding-view .system-scope-grid label { color: #b0c4ca; }
.onboarding-view .role-policy-control label {
  display: grid;
  grid-template-columns: 20px minmax(0,1fr);
  align-items: center;
  justify-content: start;
  gap: 10px;
  min-height: 34px;
  text-align: left;
}
.onboarding-view .role-policy-control input[type="checkbox"],
.onboarding-view .system-scope-grid input[type="checkbox"],
.onboarding-view .onboarding-system-grid input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0;
  justify-self: start;
  accent-color: #60ded4;
}
.onboarding-view .role-policy-control label > span { min-width: 0; justify-self: start; color: inherit; }
.onboarding-view .role-policy-control label:has(input:checked),
.onboarding-view .system-scope-grid label:has(input:checked) { color: #85e9df; }
.onboarding-view .onboarding-system-grid label:has(input:checked) { border-color: rgba(119,231,219,.48); background: rgba(96,222,212,.1); }
.onboarding-view .knowledge-candidates article p { color: #a9bec6; }
.onboarding-view .confirmed-knowledge { color: #98ebc3; background: rgba(40,132,94,.15); }
.onboarding-view .knowledge-candidates .knowledge-conflict { color: #efc77e; background: rgba(111,69,20,.16); }
.onboarding-view .seat-summary strong,
.onboarding-view .import-status-grid strong { color: var(--ink-bright); }
.onboarding-view .pwa-install-card,
.onboarding-view .readiness-list > div,
.onboarding-view .billing-selection-card,
.onboarding-view .system-permission-note,
.onboarding-view .pending-billing-summary > * {
  color: var(--text);
  border: 1px solid rgba(134,225,230,.15);
  background: rgba(19,47,57,.48);
}
.onboarding-view .readiness-list > div.ready { background: rgba(40,132,94,.15); }
.onboarding-view .pwa-install-card p,
.onboarding-view .readiness-list small,
.onboarding-view .system-permission-note p,
.onboarding-view .import-status-grid small,
.onboarding-view .import-status-grid span { color: #9fb5bd; }
.onboarding-view .onboarding-inline-action > span { color: #c7dce1; }

/* Profil und Datenschutz: Bereichsauswahl oben statt einer schmalen Seitenleiste. */
.profile-workspace,
.privacy-workspace { display: block; }
.profile-workspace > .connector-subnav,
.privacy-workspace > .connector-subnav {
  position: static;
  width: 100%;
  margin: 0 0 24px;
  padding: 8px;
  overflow: visible;
}
.profile-workspace .connector-subnav-heading,
.privacy-workspace .connector-subnav-heading { display: none; }
.profile-workspace .connector-subnav nav,
.privacy-workspace .connector-subnav nav {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
  width: 100%;
  padding: 0;
}
.profile-workspace .connector-subnav button,
.privacy-workspace .connector-subnav button {
  width: auto;
  min-width: 170px;
  min-height: 54px;
  min-width: 0;
  grid-template-columns: 30px minmax(0,1fr);
}
.profile-workspace .connector-subnav button small,
.privacy-workspace .connector-subnav button small {
  white-space: normal;
  overflow-wrap: anywhere;
}
.profile-section-content,
.privacy-section-content { width: 100%; min-width: 0; }
.profile-section-content > .connector-section,
.privacy-section-content > .connector-section { width: 100%; }
.profile-section-content .profile-form,
.privacy-section-content > .connector-section > .surface,
.privacy-section-content > .connector-section > .privacy-overview-grid { width: 100%; }

@media (max-width: 1100px) {
  .connector-workspace { grid-template-columns: 1fr; }
  .connector-subnav { overflow-x: auto; }
  .connector-counts { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .trash-surface { padding: 16px; }
  .trash-row { grid-template-columns: 38px minmax(0,1fr); padding: 13px; }
  .trash-mark { width: 38px; height: 38px; }
  .trash-row > button,
  .trash-row > .trash-permission { grid-column: 1 / -1; width: 100%; max-width: none; text-align: left; }
  .connector-status-grid { grid-template-columns: 1fr; }
  .connector-counts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .privacy-overview-grid,
  .privacy-guidance-grid,
  .pilot-checklist,
  .pilot-confirmation-grid,
  .operations-summary { grid-template-columns: 1fr; }
  .pilot-readiness-summary { grid-template-columns: 1fr; }
  .operations-job { grid-template-columns: 1fr; }
  .onboarding-view .role-decision-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .connector-counts { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .profile-workspace > .connector-subnav,
  .privacy-workspace > .connector-subnav { margin-bottom: 18px; }
  .profile-workspace .connector-subnav button,
  .privacy-workspace .connector-subnav button {
    min-width: 145px;
  }
}

/* Die obere Bereichsauswahl gilt unveraendert im hellen Design. */
html[data-theme="light"] .profile-workspace > .connector-subnav,
html[data-theme="light"] .privacy-workspace > .connector-subnav {
  border-color: var(--line);
  background: #fff;
  box-shadow: 0 9px 28px rgba(11,36,56,.045);
}
html[data-theme="light"] .profile-workspace .connector-subnav button,
html[data-theme="light"] .privacy-workspace .connector-subnav button {
  color: #4d6676;
}
html[data-theme="light"] .profile-workspace .connector-subnav button > span,
html[data-theme="light"] .privacy-workspace .connector-subnav button > span {
  color: var(--blue);
  background: #edf7fb;
}
html[data-theme="light"] .profile-workspace .connector-subnav button small,
html[data-theme="light"] .privacy-workspace .connector-subnav button small {
  color: #718694;
}
html[data-theme="light"] .profile-workspace .connector-subnav button:hover,
html[data-theme="light"] .privacy-workspace .connector-subnav button:hover {
  color: #4d6676;
  border-color: #cbe1e9;
  background: #f5fafc;
}
html[data-theme="light"] .profile-workspace .connector-subnav button.active,
html[data-theme="light"] .privacy-workspace .connector-subnav button.active {
  color: var(--navy);
  border-color: #b9ddea;
  background: #eaf6fb;
  box-shadow: inset 3px 0 var(--blue);
}
html[data-theme="light"] .profile-workspace .connector-subnav button.active > span,
html[data-theme="light"] .privacy-workspace .connector-subnav button.active > span {
  color: #fff;
  background: var(--blue);
}
html[data-theme="light"] .profile-section-content :is(h2,h3,h4),
html[data-theme="light"] .privacy-section-content :is(h2,h3,h4) {
  color: var(--navy);
}
html[data-theme="light"] .profile-section-content :is(p,small),
html[data-theme="light"] .privacy-section-content :is(p,small) {
  color: var(--muted);
}

/* Prüfzentrum — klare dunkle Arbeitskarten statt heller Alt-Komponenten. */
[data-content="work-center"] .page-heading {
  margin-bottom: 24px;
  align-items: end;
}
[data-content="work-center"] .page-heading > div { min-width: 0; }
[data-content="work-center"] .page-heading h1 { margin-bottom: 8px; }
[data-content="work-center"] .page-heading p:last-child { max-width: 820px; line-height: 1.55; }
[data-content="work-center"] #showWorkItemForm {
  min-height: 48px;
  padding-inline: 20px;
  white-space: nowrap;
}
[data-content="work-center"] .work-metrics {
  gap: 14px;
  margin-bottom: 18px;
}
[data-content="work-center"] .work-metrics article {
  min-height: 88px;
  padding: 18px 20px;
  border-radius: 16px;
}
[data-content="work-center"] .work-metrics .metric-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  font-size: 17px;
}
[data-content="work-center"] .work-metrics small {
  color: #94adb6;
  font-size: 9px;
  letter-spacing: .095em;
}
[data-content="work-center"] .work-metrics strong {
  margin-top: 4px;
  color: var(--ink-bright);
  font-size: 24px;
}

[data-content="work-center"] .work-item-form {
  padding: 24px;
  gap: 17px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 90% 0,rgba(96,222,212,.08),transparent 28%),
    linear-gradient(145deg,rgba(17,42,51,.92),rgba(5,17,23,.97));
}
[data-content="work-center"] .work-item-form .surface-head {
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(134,225,230,.12);
}
[data-content="work-center"] .work-item-form .surface-head h2 { color: var(--ink-bright); }
[data-content="work-center"] .work-item-form .surface-head p { color: #9eb5bd; }
[data-content="work-center"] .work-item-form label > span,
[data-content="work-center"] .work-item-form legend { color: #b8cdd3; }
[data-content="work-center"] .work-item-form .check-row {
  width: fit-content;
  padding: 10px 12px;
  align-items: center;
  border: 1px solid rgba(134,225,230,.15);
  border-radius: 10px;
  background: rgba(3,14,19,.48);
}
[data-content="work-center"] .work-item-form .check-row input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--cyan);
}
[data-content="work-center"] .plan-assignee-fieldset { border-color: rgba(134,225,230,.17); }
[data-content="work-center"] .plan-assignee-picker > label {
  border-color: rgba(134,225,230,.14);
  background: rgba(3,14,19,.56);
}
[data-content="work-center"] .plan-assignee-picker > label:hover {
  border-color: rgba(119,231,219,.42);
  background: rgba(31,72,81,.55);
}
[data-content="work-center"] .plan-assignee-picker span { color: #eaf7f8; }

[data-content="work-center"] .work-center-grid {
  gap: 18px;
  align-items: stretch;
}
[data-content="work-center"] .work-center-grid > .surface {
  min-width: 0;
  padding: 20px;
  overflow: hidden;
  border-radius: 17px;
  background:
    radial-gradient(circle at 100% 0,rgba(96,222,212,.055),transparent 25%),
    linear-gradient(145deg,rgba(16,40,49,.9),rgba(5,17,23,.97));
}
[data-content="work-center"] .work-center-grid > .surface > .surface-head {
  min-height: 50px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(134,225,230,.11);
}
[data-content="work-center"] .work-center-grid .surface-head h2 {
  margin-bottom: 5px;
  color: var(--ink-bright);
  font-size: 18px;
}
[data-content="work-center"] .work-center-grid .surface-head p {
  color: #93aeb7;
  font-size: 10px;
  line-height: 1.45;
}
[data-content="work-center"] .work-list { gap: 10px; margin-top: 14px; }
[data-content="work-center"] .work-row,
[data-content="work-center"] .work-question {
  min-width: 0;
  gap: 8px;
  padding: 15px;
  border-color: rgba(134,225,230,.13);
  border-left-color: #6f8c95;
  background: linear-gradient(135deg,rgba(12,32,40,.94),rgba(4,16,22,.97));
  box-shadow: inset 1px 1px 1px rgba(207,255,252,.04);
}
[data-content="work-center"] .work-row.priority-high { border-left-color: var(--orange); }
[data-content="work-center"] .work-row.priority-critical { border-left-color: var(--red); }
[data-content="work-center"] .work-row.priority-low { border-left-color: var(--green); }
[data-content="work-center"] .work-row header {
  color: #96afb8;
  font-size: 9px;
  line-height: 1.4;
}
[data-content="work-center"] .work-row header > span { min-width: 0; overflow-wrap: anywhere; }
[data-content="work-center"] .work-row .status-badge { flex: none; white-space: nowrap; }
[data-content="work-center"] .work-row h3 {
  color: var(--ink-bright);
  font-size: 13px;
  line-height: 1.35;
}
[data-content="work-center"] .work-row p {
  color: #b9ccd2;
  font-size: 10px;
  line-height: 1.55;
}
[data-content="work-center"] .work-row small,
[data-content="work-center"] .work-question small { color: #8da6af; }
[data-content="work-center"] .work-row-actions { gap: 8px; margin-top: 5px; }
[data-content="work-center"] .work-row-actions button {
  min-height: 31px;
  padding: 7px 10px;
  color: #d9eaed;
  border-color: rgba(134,225,230,.21);
  background: rgba(18,43,52,.78);
}
[data-content="work-center"] .work-row-actions button:hover {
  color: #031014;
  border-color: var(--cyan);
  background: var(--cyan);
}
[data-content="work-center"] .work-row-actions .undo-action {
  color: #99ece2;
  border-color: rgba(119,231,219,.34);
  background: rgba(42,118,115,.16);
}

[data-content="work-center"] .work-questions-card { margin-top: 0; }
[data-content="work-center"] .work-question {
  border-left-color: var(--cyan);
}
[data-content="work-center"] .work-question strong {
  color: var(--ink-bright);
  font-size: 11px;
  line-height: 1.5;
}
[data-content="work-center"] .work-question textarea {
  min-height: 76px;
  resize: vertical;
}
[data-content="work-center"] .work-question .primary-mini {
  min-height: 32px;
  padding-inline: 12px;
  color: #031014;
  border: 1px solid rgba(170,255,246,.35);
  background: linear-gradient(120deg,#72d3df,#8adeca);
}
[data-content="work-center"] .empty-state {
  margin-top: 14px;
  color: #93acb5;
  border: 1px dashed rgba(134,225,230,.18);
  background: rgba(3,14,19,.46);
}

@media (max-width: 900px) {
  [data-content="work-center"] .work-center-grid { grid-template-columns: 1fr; }
  [data-content="work-center"] .work-questions-card { grid-column: auto; }
}

@media (max-width: 700px) {
  [data-content="work-center"] .page-heading { align-items: stretch; }
  [data-content="work-center"] #showWorkItemForm { width: 100%; }
  [data-content="work-center"] .work-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  [data-content="work-center"] .work-metrics article { min-height: 94px; padding: 15px; }
  [data-content="work-center"] .work-metrics small { line-height: 1.25; hyphens: auto; overflow-wrap: anywhere; }
  [data-content="work-center"] .work-center-grid > .surface,
  [data-content="work-center"] .work-item-form { padding: 16px; }
  [data-content="work-center"] .work-row header { align-items: flex-start; }
}

/* Bericht bearbeiten — ruhige, gut lesbare Prüf- und Beweisansicht. */
#detailDialog {
  width: min(1040px,calc(100vw - 32px));
  max-height: calc(100vh - 28px);
  border: 1px solid rgba(134,225,230,.18);
  border-radius: 20px;
  background: #06161c;
  box-shadow: 0 34px 100px rgba(0,0,0,.58),0 0 0 1px rgba(207,255,252,.025);
}
#detailDialog .dialog-head {
  padding: 22px 26px;
  border-bottom-color: rgba(134,225,230,.14);
  background:
    radial-gradient(circle at 88% 0,rgba(96,222,212,.08),transparent 30%),
    rgba(7,21,27,.97);
}
#detailDialog .dialog-head .kicker { color: var(--cyan); }
#detailDialog .dialog-head h2 { margin-top: 4px; font-size: 26px; }
#detailDialog .dialog-body {
  gap: 19px;
  padding: 24px 26px 28px;
}
#detailDialog .dialog-body > label,
#detailDialog .dialog-body .two-columns > label { gap: 7px; }
#detailDialog .dialog-body label > span {
  color: #b8cdd3;
  font-size: 10px;
  letter-spacing: .055em;
}
#detailDialog :is(input,textarea,select) {
  color: #edf9fa;
  border-color: rgba(134,225,230,.2);
  background: rgba(2,12,16,.72);
}
#detailDialog :is(input,textarea)::placeholder { color: #718a94; }
#detailDialog .detail-meta {
  gap: 7px;
  padding: 12px 14px;
  border: 1px solid rgba(134,225,230,.13);
  border-radius: 11px;
  background: rgba(19,47,57,.46);
}
#detailDialog .detail-meta span {
  color: #a6bdc4;
  border-right-color: rgba(134,225,230,.15);
}

#detailDialog .review-needed-field {
  padding: 15px;
  border-color: rgba(240,179,90,.42);
  border-radius: 12px;
  background: linear-gradient(135deg,rgba(113,69,18,.18),rgba(55,38,17,.12));
  box-shadow: inset 3px 0 #f0b35a;
}
#detailDialog .review-needed-field > span { color: #f0ce91; }
#detailDialog .review-needed-field textarea {
  border-color: rgba(240,179,90,.28);
  background: rgba(22,17,10,.58);
}
#detailDialog .review-needed-field small {
  margin-top: 2px;
  color: #e6ba70;
  line-height: 1.45;
}
#detailDialog .dialog-body > details {
  padding: 13px 15px;
  border-color: rgba(134,225,230,.15);
  border-radius: 11px;
  background: rgba(15,39,48,.5);
}
#detailDialog .dialog-body > details summary { color: #dcebee; }

#detailDialog .report-evidence-panel,
#detailDialog .report-signature-panel {
  padding: 18px;
  border-color: rgba(134,225,230,.17);
  border-radius: 15px;
  background:
    radial-gradient(circle at 100% 0,rgba(96,222,212,.055),transparent 26%),
    linear-gradient(145deg,rgba(15,39,48,.84),rgba(4,16,22,.9));
  box-shadow: inset 1px 1px 1px rgba(207,255,252,.045);
}
#detailDialog .report-evidence-head,
#detailDialog .report-signature-head {
  align-items: flex-start;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(134,225,230,.12);
}
#detailDialog .report-evidence-head strong,
#detailDialog .report-signature-head strong {
  color: var(--ink-bright);
  font-size: 17px;
  line-height: 1.3;
}
#detailDialog .report-evidence-head small,
#detailDialog .report-signature-head small {
  margin-top: 4px;
  color: #94adb6;
  font-size: 10px;
  line-height: 1.45;
}
#detailDialog #confirmCriticalEvidenceButton,
#detailDialog #applySignatureButton {
  min-width: 210px;
  min-height: 42px;
  white-space: normal;
}
#detailDialog .report-evidence-list {
  max-height: none;
  margin-top: 14px;
  padding: 0;
  overflow: visible;
}
#detailDialog .report-evidence-sources {
  padding: 12px 14px;
  border-color: rgba(134,225,230,.14);
  background: rgba(2,12,16,.46);
}
#detailDialog .report-evidence-sources summary { color: #cfe3e7; }
#detailDialog .report-evidence-item {
  min-width: 0;
  padding: 14px;
  border-color: rgba(134,225,230,.14);
  border-radius: 11px;
  background: linear-gradient(135deg,rgba(10,29,36,.96),rgba(3,14,19,.98));
}
#detailDialog .report-evidence-item.evidence-critical { border-left-color: #f0b35a; }
#detailDialog .report-evidence-item.evidence-confirmed {
  border-left-color: #55dca7;
  background: linear-gradient(135deg,rgba(26,73,58,.34),rgba(3,18,18,.97));
}
#detailDialog .report-evidence-item.evidence-rejected {
  border-left-color: #ff7474;
  background: linear-gradient(135deg,rgba(87,30,31,.28),rgba(20,9,12,.96));
}
#detailDialog .report-evidence-title { align-items: flex-start; gap: 10px; }
#detailDialog .report-evidence-title strong {
  min-width: 0;
  color: var(--ink-bright);
  font-size: 15px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
#detailDialog .report-evidence-title code {
  color: #78abb7;
  font-size: 9px;
  overflow-wrap: anywhere;
}
#detailDialog .report-evidence-value {
  color: #dcebee;
  font-size: 13px;
  line-height: 1.45;
}
#detailDialog .report-evidence-excerpt {
  color: #aac1c8;
  border-left-color: rgba(119,231,219,.38);
}
#detailDialog .report-evidence-meta {
  gap: 6px;
  color: #91aab3;
  font-size: 9px;
}
#detailDialog .report-evidence-meta span {
  max-width: 100%;
  padding: 5px 8px;
  color: #a9c1c8;
  border: 1px solid rgba(134,225,230,.12);
  background: rgba(113,147,157,.1);
  overflow-wrap: anywhere;
}
#detailDialog .report-evidence-actions { gap: 8px; margin-top: 11px; }
#detailDialog .report-evidence-actions button {
  min-height: 32px;
  padding: 7px 10px;
  border-radius: 8px;
}
#detailDialog .report-evidence-actions .secondary {
  color: #dcebee;
  border-color: rgba(134,225,230,.22);
  background: rgba(18,43,52,.78);
}
#detailDialog .evidence-empty {
  color: #efca86;
  border: 1px solid rgba(240,179,90,.25);
  background: rgba(111,69,20,.14);
}
#detailDialog .report-evidence-panel > .permission-note,
#detailDialog .report-signature-panel > .permission-note {
  margin: 14px 0 0;
  color: #9cb3bb;
  font-size: 10px;
  line-height: 1.55;
}

#detailDialog .report-signature-list { gap: 9px; margin-top: 14px; }
#detailDialog .report-signature-item {
  padding: 12px;
  border-color: rgba(134,225,230,.14);
  background: rgba(2,12,16,.52);
}
#detailDialog .report-signature-item strong { color: #85e7b7; }
#detailDialog .report-signature-empty {
  padding: 11px 0;
  color: #9eb5bd;
}
#detailDialog #openSignatureProfileButton { margin-top: 8px; color: var(--cyan); }

#detailDialog .dialog-actions {
  gap: 10px;
  margin-top: 2px;
  padding-top: 18px;
  border-top: 1px solid rgba(134,225,230,.14);
}
#detailDialog .dialog-actions button { min-height: 43px; padding-inline: 16px; }
#detailDialog #trashReportButton { margin-right: auto; }
#detailDialog #submitReportButton { color: #dcebee; border-color: rgba(134,225,230,.28); background: rgba(18,43,52,.78); }
#detailDialog #saveReportButton { min-width: 190px; }

@media (max-width: 700px) {
  #detailDialog {
    width: 100vw;
    max-width: none;
    max-height: 100vh;
    border: 0;
    border-radius: 0;
  }
  #detailDialog .dialog-head,
  #detailDialog .dialog-body { padding-left: 16px; padding-right: 16px; }
  #detailDialog .report-evidence-head,
  #detailDialog .report-signature-head { align-items: stretch; flex-direction: column; }
  #detailDialog #confirmCriticalEvidenceButton,
  #detailDialog #applySignatureButton { width: 100%; min-width: 0; }
  #detailDialog .report-evidence-title { flex-direction: column; }
  #detailDialog .report-evidence-panel,
  #detailDialog .report-signature-panel { padding: 15px; }
  #detailDialog .dialog-actions { grid-template-columns: 1fr; }
  #detailDialog #trashReportButton { margin-right: 0; }
  #detailDialog #saveReportButton { min-width: 0; }
}

/* PDF-Feldeditor: ruhiger Live-Arbeitsbereich mit gesammelt bestätigten Feldern. */
.pdf-layout-dialog {
  width: min(1500px,calc(100vw - 24px));
  height: calc(100vh - 24px);
  max-height: none;
  overflow: hidden;
  border-radius: 18px;
}
.pdf-layout-dialog[open] { display: flex; flex-direction: column; }
.pdf-layout-dialog > .dialog-head {
  position: static;
  flex: 0 0 auto;
  padding: 20px 26px 18px;
  background:
    radial-gradient(circle at 82% 0,rgba(96,222,212,.12),transparent 36%),
    linear-gradient(120deg,#071923,#0c343d);
}
.pdf-layout-dialog > .dialog-head h2 { margin-top: 4px; font-size: 28px; }
.pdf-layout-dialog > .dialog-head .subtle { margin-top: 7px; color: #abc1c9; }
.pdf-layout-toolbar {
  flex: 0 0 auto;
  padding: 13px 20px;
  border-bottom-color: rgba(134,225,230,.16);
  background: #06141a;
}
.pdf-layout-pages { gap: 7px; }
.pdf-layout-pages button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 8px 13px;
  color: #b8ccd3;
  border-color: rgba(134,225,230,.18);
  background: rgba(16,39,48,.7);
  font-size: 12px;
}
.pdf-layout-pages button small {
  min-width: 21px;
  padding: 3px 6px;
  border-radius: 99px;
  color: #9fb8c0;
  background: rgba(140,180,189,.13);
  font-size: 9px;
}
.pdf-layout-pages button.active {
  color: #031014;
  border-color: #8cece2;
  background: linear-gradient(120deg,#72d3df,#8adeca);
  box-shadow: 0 8px 24px rgba(74,218,207,.16);
}
.pdf-layout-pages button.active small { color: #063237; background: rgba(3,16,20,.12); }
.pdf-layout-toolbar-actions { justify-content: flex-end; }
.pdf-layout-toolbar-actions button { min-height: 40px; }
.pdf-layout-workspace {
  min-height: 0;
  grid-template-columns: minmax(560px,1fr) minmax(350px,410px);
  gap: 16px;
  flex: 1 1 auto;
  padding: 16px;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 8%,rgba(55,153,155,.09),transparent 34%),
    #030d12;
}
.pdf-layout-canvas-wrap {
  min-height: 0;
  padding: 14px;
  overflow: auto;
  border: 1px solid rgba(134,225,230,.15);
  border-radius: 15px;
  background: rgba(8,27,34,.78);
  box-shadow: inset 1px 1px 1px rgba(207,255,252,.05);
}
.pdf-layout-live-head {
  width: min(100%,900px);
  margin: 0 auto 11px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.pdf-layout-live-head > div { display: flex; align-items: center; gap: 8px; }
.pdf-layout-live-head > div > span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 4px rgba(85,220,167,.1),0 0 12px rgba(85,220,167,.42);
}
.pdf-layout-live-head strong { color: var(--ink-bright); font-size: 13px; }
.pdf-layout-live-head small { color: #8de5d9; font-size: 10px; }
.pdf-layout-canvas {
  width: min(100%,900px);
  margin-inline: auto;
  border: 1px solid rgba(174,218,224,.72);
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 22px 70px rgba(0,0,0,.44),0 0 0 6px rgba(255,255,255,.035);
}
.pdf-layout-help {
  width: min(100%,900px);
  margin: 12px auto 0;
  color: #91abb4;
  font-size: 10px;
  line-height: 1.5;
  text-align: center;
}
.pdf-layout-field {
  align-items: center;
  padding: 3px 6px;
  overflow: visible;
  border: 2px solid #0a9d91;
  border-radius: 4px;
  color: #062d36;
  background: rgba(105,229,213,.3);
  box-shadow: 0 2px 8px rgba(3,34,42,.13);
}
.pdf-layout-field:hover { background: rgba(105,229,213,.42); }
.pdf-layout-field.selected {
  z-index: 2;
  border-color: #f0a33e;
  background: rgba(255,196,105,.38);
  box-shadow: 0 0 0 3px rgba(240,163,62,.2),0 5px 18px rgba(31,34,27,.18);
}
.pdf-layout-field > b {
  position: absolute;
  left: -11px;
  top: -11px;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border: 2px solid white;
  border-radius: 50%;
  color: white;
  background: #087f78;
  box-shadow: 0 4px 10px rgba(0,0,0,.22);
  font-size: 9px;
  line-height: 1;
  pointer-events: none;
}
.pdf-layout-field.selected > b { color: #392000; background: #f0a33e; }
.pdf-layout-field > span {
  width: 100%;
  overflow: hidden;
  color: #082e38;
  font-weight: 850;
  line-height: 1.15;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pdf-layout-field.is-required::after {
  content: "*";
  position: absolute;
  right: 3px;
  top: 0;
  color: #a34900;
  font-size: 11px;
  font-weight: 900;
}
.pdf-layout-field > i {
  right: -7px;
  bottom: -7px;
  width: 15px;
  height: 15px;
  border-width: 3px;
  background: #f0a33e;
  box-shadow: 0 3px 8px rgba(0,0,0,.2);
}
.pdf-layout-inspector {
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 0;
  overflow: auto;
  border-color: rgba(134,225,230,.16);
  border-radius: 15px;
  color: var(--text);
  background: linear-gradient(145deg,rgba(15,39,48,.96),rgba(5,18,24,.98));
  box-shadow: inset 1px 1px 1px rgba(207,255,252,.06);
}
.pdf-layout-field-overview { padding: 16px 16px 0; }
.pdf-layout-field-overview > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pdf-layout-field-overview > div > span {
  color: #99b1ba;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.pdf-layout-field-overview > div > strong {
  min-width: 25px;
  padding: 4px 7px;
  border-radius: 99px;
  color: #bdf8f0;
  background: rgba(96,222,212,.13);
  font-size: 10px;
  text-align: center;
}
.pdf-layout-field-overview nav { display: grid; gap: 7px; margin-top: 10px; }
.pdf-layout-field-list-item {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: 28px minmax(0,1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 9px;
  border: 1px solid rgba(134,225,230,.13);
  border-radius: 10px;
  color: var(--text);
  background: rgba(2,12,16,.54);
  text-align: left;
  box-shadow: none;
}
.pdf-layout-field-list-item:hover { border-color: rgba(119,231,219,.34); background: rgba(24,61,69,.58); }
.pdf-layout-field-list-item.selected { border-color: rgba(119,231,219,.58); background: rgba(40,105,103,.28); box-shadow: inset 3px 0 var(--cyan); }
.pdf-layout-field-list-item > b {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: #cffff8;
  background: rgba(96,222,212,.13);
  font-size: 10px;
}
.pdf-layout-field-list-item > span { min-width: 0; }
.pdf-layout-field-list-item > span strong,
.pdf-layout-field-list-item > span small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pdf-layout-field-list-item > span strong { color: var(--ink-bright); font-size: 11px; }
.pdf-layout-field-list-item > span small { margin-top: 3px; color: #8fa8b1; font-size: 9px; }
.pdf-layout-field-list-item > i { color: #efbb6b; font-size: 8px; font-style: normal; font-weight: 750; }
.pdf-layout-field-properties {
  display: grid;
  gap: 13px;
  margin: 0 12px 12px;
  padding: 16px;
  border: 1px solid rgba(134,225,230,.14);
  border-radius: 12px;
  background: rgba(2,12,16,.48);
}
.pdf-layout-field-properties .surface-head h3 { margin: 3px 0 0; color: var(--ink-bright); font-size: 17px; }
.pdf-layout-field-properties .surface-head p { margin: 4px 0 0; color: #668894; font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: 9px; }
.pdf-layout-section-label { color: var(--cyan); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.pdf-layout-field-properties label { display: grid; gap: 6px; }
.pdf-layout-field-properties label > span { color: #abc1c9; font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.pdf-layout-field-properties label > small { color: #78959f; font-size: 9px; line-height: 1.45; }
.pdf-layout-field-properties :is(input,select,textarea) {
  min-height: 42px;
  color: #f2fbfc;
  border-color: rgba(134,225,230,.22);
  background: #031116;
}
.pdf-layout-field-properties textarea { min-height: 72px; }
.pdf-layout-field-properties .check-row {
  grid-template-columns: 19px 1fr;
  align-items: start;
  padding: 10px;
  border: 1px solid rgba(134,225,230,.12);
  border-radius: 9px;
  background: rgba(17,45,53,.44);
}
.pdf-layout-field-properties .check-row input { min-height: 0; accent-color: var(--cyan); }
.pdf-layout-field-properties .check-row span { letter-spacing: 0; line-height: 1.45; text-transform: none; }
.pdf-layout-field-properties details { padding-top: 3px; border-top: 1px solid rgba(134,225,230,.12); }
.pdf-layout-field-properties summary { padding-top: 10px; color: #9cebe2; }
.pdf-layout-inspector-empty { margin: 0 12px 12px; padding: 28px 18px; border: 1px dashed rgba(134,225,230,.2); border-radius: 12px; text-align: center; }
.pdf-layout-inspector-empty strong { color: var(--ink-bright); }
.pdf-layout-inspector-empty p { margin: 6px 0 0; color: #8fa8b1; font-size: 10px; }
.pdf-layout-validation {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(210px,.8fr) minmax(300px,1fr) auto;
  align-items: end;
  gap: 14px;
  padding: 13px 20px 16px;
  border-top-color: rgba(134,225,230,.16);
  background: #06141a;
}
.pdf-layout-batch-state { min-width: 0; display: grid; gap: 3px; }
.pdf-layout-batch-state strong { color: #bdf8f0; font-size: 12px; }
.pdf-layout-batch-state small { color: #829da6; font-size: 9px; line-height: 1.4; }
.pdf-layout-validation > label { min-width: 0; gap: 6px; }
.pdf-layout-validation > label span { color: #9fb7c0; font-size: 9px; letter-spacing: .05em; text-transform: uppercase; }
.pdf-layout-validation > label select { min-height: 42px; }
.pdf-layout-validation > div:last-child { align-items: center; flex-wrap: nowrap; }
.pdf-layout-validation > div:last-child button { min-height: 42px; white-space: nowrap; }
.pdf-layout-validation #pdfLayoutSaveButton:disabled {
  color: #8aa1a9;
  border-color: rgba(134,225,230,.12);
  background: rgba(17,39,47,.58);
  box-shadow: none;
  opacity: 1;
}

@media (max-width: 1050px) {
  .pdf-layout-workspace { grid-template-columns: minmax(480px,1fr) 340px; }
  .pdf-layout-validation { grid-template-columns: 1fr 1fr; }
  .pdf-layout-validation > div:last-child { grid-column: 1 / -1; justify-content: stretch; }
  .pdf-layout-validation > div:last-child button { flex: 1; }
}

@media (max-width: 820px) {
  .pdf-layout-dialog { width: 100vw; height: 100vh; border: 0; border-radius: 0; }
  .pdf-layout-dialog > .dialog-head { padding: 16px; }
  .pdf-layout-dialog > .dialog-head h2 { font-size: 23px; }
  .pdf-layout-toolbar { align-items: stretch; flex-direction: column; padding: 10px 12px; }
  .pdf-layout-toolbar-actions button { flex: 1; }
  .pdf-layout-workspace { display: block; padding: 10px; overflow: auto; }
  .pdf-layout-canvas-wrap { min-height: 56vh; }
  .pdf-layout-inspector { margin-top: 10px; max-height: none; overflow: visible; }
  .pdf-layout-validation { grid-template-columns: 1fr; padding: 12px; }
  .pdf-layout-validation > div:last-child { grid-column: auto; flex-wrap: wrap; }
  .pdf-layout-validation > div:last-child button { flex: 1 1 160px; }
}

/* Profil: eigene, kontrastreiche Sprachauswahl statt uneinheitlichem Browser-Menü. */
.profile-language-form-field { min-width: 0; display: grid; gap: 6px; }
.profile-language-form-field > span { color: #b8cdd3; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.profile-language-picker { position: relative; min-width: 0; }
.profile-language-trigger {
  width: 100%;
  min-height: 52px;
  display: grid;
  grid-template-columns: 30px minmax(0,1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 8px 12px;
  border: 1px solid rgba(134,225,230,.24);
  border-radius: 9px;
  color: var(--text);
  background: #031116;
  text-align: left;
  box-shadow: inset 1px 1px 1px rgba(207,255,252,.04);
}
.profile-language-trigger:hover { border-color: rgba(119,231,219,.5); background: #071a20; }
.profile-language-trigger[aria-expanded="true"] {
  border-color: var(--cyan);
  box-shadow: 0 0 0 3px rgba(96,222,212,.13),0 10px 30px rgba(0,0,0,.2);
}
.profile-language-trigger > .language-flag { width: 25px; height: 17px; margin: 0; }
.profile-language-trigger > span { min-width: 0; }
.profile-language-trigger > span small,
.profile-language-trigger > span strong { display: block; }
.profile-language-trigger > span small {
  margin-bottom: 2px;
  color: #7f9ba5;
  font-size: .75rem;
  font-weight: 700;
}
.profile-language-trigger > span strong {
  overflow: hidden;
  color: var(--ink-bright);
  font-size: .95rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-language-trigger > b { color: var(--cyan); font-size: 1rem; transition: transform .16s ease; }
.profile-language-trigger[aria-expanded="true"] > b { transform: rotate(180deg); }
.profile-language-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0 !important;
  opacity: 0;
  pointer-events: none;
}
.profile-language-menu {
  position: absolute;
  z-index: 80;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  padding: 10px;
  border: 1px solid rgba(134,225,230,.3);
  border-radius: 13px;
  background: #07171d;
  box-shadow: 0 22px 70px rgba(0,0,0,.58),inset 1px 1px 1px rgba(207,255,252,.06);
}
.profile-language-search {
  min-width: 0;
  display: grid;
  grid-template-columns: 24px minmax(0,1fr);
  align-items: center;
  gap: 5px;
  margin-bottom: 9px;
  padding: 0 9px;
  border: 1px solid rgba(134,225,230,.2);
  border-radius: 9px;
  background: #020d11;
}
.profile-language-search:focus-within { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(96,222,212,.1); }
.profile-language-search > span { color: #82aaaF; font-size: 1rem; }
.profile-language-search > input {
  min-width: 0;
  height: 42px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  font-size: .9rem;
}
.profile-language-search > input:focus { border: 0; box-shadow: none; }
.profile-language-options {
  max-height: 300px;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 6px;
  overflow: auto;
  overscroll-behavior: contain;
}
.profile-language-option {
  min-width: 0;
  min-height: 45px;
  display: grid;
  grid-template-columns: 25px minmax(0,1fr) 20px;
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  border: 1px solid rgba(134,225,230,.1);
  border-radius: 9px;
  color: #c6d9de;
  background: rgba(2,12,16,.62);
  text-align: left;
  box-shadow: none;
}
.profile-language-option:hover,
.profile-language-option:focus-visible { color: white; border-color: rgba(119,231,219,.42); background: rgba(30,75,81,.62); }
.profile-language-option[aria-selected="true"] {
  color: #dcfffa;
  border-color: rgba(119,231,219,.62);
  background: linear-gradient(120deg,rgba(38,109,106,.52),rgba(19,61,69,.72));
  box-shadow: inset 3px 0 var(--cyan);
}
.profile-language-option > .language-flag { width: 24px; height: 16px; }
.profile-language-option > strong { overflow: hidden; font-size: .875rem; text-overflow: ellipsis; white-space: nowrap; }
.profile-language-option > i { color: var(--cyan); font-style: normal; font-weight: 900; opacity: 0; }
.profile-language-option[aria-selected="true"] > i { opacity: 1; }
.profile-language-empty { grid-column: 1 / -1; margin: 0; padding: 22px 12px; color: #8fa8b1; font-size: .875rem; text-align: center; }

@media (max-width: 620px) {
  .profile-language-options { grid-template-columns: 1fr; }
  .profile-language-menu { position: fixed; inset: auto 12px 12px; max-height: min(70vh,520px); }
  .profile-language-options { max-height: calc(min(70vh,520px) - 72px); }
}

/* Persönliche Hinweise: klare Prioritäten und gut lesbare Aktionen. */
.notification-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.notification-button.has-unread {
  color: #eafffc;
  border-color: rgba(255,116,116,.45);
  background: rgba(98,36,41,.3);
}
.notification-button.has-unread span {
  min-width: 0;
  height: auto;
  display: inline;
  margin: 0;
  padding: 0;
  color: inherit;
  background: transparent;
  font-size: inherit;
}
.notification-button b {
  min-width: 25px;
  height: 25px;
  display: inline-grid;
  place-items: center;
  padding: 0 7px;
  border-radius: 99px;
  color: #2d090c;
  background: #ff8585;
  font-size: .75rem;
}
.notification-dialog {
  width: min(780px,calc(100vw - 24px));
  height: min(860px,calc(100vh - 28px));
  max-height: none;
  overflow: hidden;
  border-radius: 18px;
}
.notification-dialog[open] { display: flex; flex-direction: column; }
.notification-dialog-head {
  position: static;
  flex: 0 0 auto;
  padding: 22px 24px 19px;
  background:
    radial-gradient(circle at 88% 0,rgba(96,222,212,.14),transparent 36%),
    linear-gradient(120deg,#071923,#0c343d);
}
.notification-dialog-head h2 { margin: 4px 0 0; font-size: 1.75rem; line-height: 1.15; }
.notification-dialog-head .subtle { margin: 7px 0 0; color: #a9c0c8; font-size: .9rem; }
.notification-summary {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px;
  padding: 13px 18px;
  border-bottom: 1px solid rgba(134,225,230,.12);
  background: #06141a;
}
.notification-summary > div {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid rgba(134,225,230,.13);
  border-radius: 10px;
  background: rgba(16,43,52,.58);
}
.notification-summary span { color: #9fb7c0; font-size: .8rem; font-weight: 700; }
.notification-summary strong { color: var(--ink-bright); font-size: 1rem; }
.notification-summary .urgent { border-color: rgba(240,179,90,.32); background: rgba(93,60,18,.2); }
.notification-summary .urgent span,
.notification-summary .urgent strong { color: #ffd18c; }
.notification-list {
  min-height: 0;
  max-height: none;
  flex: 1 1 auto;
  gap: 10px;
  padding: 14px 18px 18px;
  overflow: auto;
  background: #030d12;
  overscroll-behavior: contain;
}
.notification-item {
  grid-template-columns: 46px minmax(0,1fr);
  gap: 13px;
  padding: 15px;
  border: 1px solid rgba(134,225,230,.15);
  border-left: 4px solid #5a8792;
  border-radius: 13px;
  color: var(--text);
  background: linear-gradient(135deg,rgba(14,37,45,.96),rgba(5,18,24,.98));
  box-shadow: inset 1px 1px 1px rgba(207,255,252,.05),0 10px 28px rgba(0,0,0,.14);
}
.notification-item.priority-high { border-color: rgba(240,179,90,.24); border-left-color: #f0b35a; }
.notification-item.priority-critical { border-color: rgba(255,116,116,.25); border-left-color: #ff7474; background: linear-gradient(135deg,rgba(67,27,31,.42),rgba(8,18,23,.98)); }
.notification-item > .notification-item-icon {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(134,225,230,.16);
  border-radius: 12px;
  color: var(--cyan);
  background: rgba(96,222,212,.1);
  font-size: 1rem;
}
.notification-item.priority-high > .notification-item-icon { color: #ffd18c; border-color: rgba(240,179,90,.25); background: rgba(240,179,90,.12); }
.notification-item.priority-critical > .notification-item-icon { color: #ff9e9e; border-color: rgba(255,116,116,.28); background: rgba(255,116,116,.12); }
.notification-item-content { min-width: 0; }
.notification-item-content > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.notification-item-content > header time { color: #829da6; font-size: .75rem; white-space: nowrap; }
.notification-priority {
  display: inline-flex;
  width: fit-content;
  padding: 4px 8px;
  border-radius: 99px;
  color: #bdf8f0;
  background: rgba(96,222,212,.11);
  font-size: .72rem;
  font-weight: 850;
}
.priority-high .notification-priority { color: #ffd18c; background: rgba(240,179,90,.12); }
.priority-critical .notification-priority { color: #ffaaaa; background: rgba(255,116,116,.13); }
.notification-item h3 {
  margin: 9px 0 0;
  color: var(--ink-bright);
  font-size: 1rem;
  line-height: 1.35;
}
.notification-item p {
  margin: 6px 0 0;
  color: #b0c5cc;
  font-size: .875rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.notification-item em {
  width: fit-content;
  margin-top: 9px;
  padding: 5px 8px;
  border-radius: 7px;
  color: #efc985;
  background: rgba(240,179,90,.1);
  font-size: .75rem;
}
.notification-item footer {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 8px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(134,225,230,.1);
}
.notification-item footer button { min-height: 40px; padding: 8px 11px; font-size: .78rem; }
.notification-item footer .notification-open-action { color: #cffff8; border-color: rgba(119,231,219,.3); }
.notification-item footer .primary { min-width: 112px; }
.notification-empty {
  min-height: 300px;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 7px;
  text-align: center;
}
.notification-empty > span { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 15px; color: #0b3c34; background: #73dfb2; font-size: 1.2rem; font-weight: 900; }
.notification-empty strong { margin-top: 5px; color: var(--ink-bright); font-size: 1rem; }
.notification-empty p { margin: 0; color: #8fa8b1; font-size: .875rem; }

}

/* Monteur-App: projektzentrierte Handy-Navigation. */
.visually-hidden { 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; }
.worker-profile-avatar { display: none; }
.worker-home-project { display: grid; gap: 12px; margin-bottom: 18px; padding: 18px; border: 1px solid var(--line); border-radius: 19px; background: var(--panel, #fff); }
.worker-home-project-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); font-size: .7rem; font-weight: 850; letter-spacing: .1em; }
.worker-home-project-top #workerHomeProjectState { padding: 4px 9px; border-radius: 99px; color: #0b6d63; background: #dff6ef; font-size: .68rem; letter-spacing: 0; }
.worker-home-project .worker-project-picker { width: 100%; }
.worker-home-project .worker-project-picker select { width: 100%; min-height: 44px; font-size: .95rem; }
.worker-home-project-summary { min-width: 0; display: grid; gap: 12px; }
.worker-home-project-info { min-width: 0; }
.worker-home-project-info strong { display: block; color: var(--text); font-size: 1.1rem; line-height: 1.25; }
.worker-home-project-info small { display: block; margin-top: 4px; color: var(--muted); font-size: .78rem; line-height: 1.4; }
.worker-home-project-facts { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 10px; }
.worker-home-project-facts span { display: inline-flex; gap: 5px; align-items: center; padding: 5px 9px; border: 1px solid var(--line); border-radius: 99px; color: var(--muted); font-size: .74rem; }
.worker-home-project-facts b { color: var(--text); font-size: .82rem; }
.worker-home-project-summary img,
.worker-home-project-placeholder { width: 100%; height: 118px; border-radius: 12px; object-fit: cover; }
.worker-home-project-placeholder { display: grid; place-items: center; border: 1px solid var(--line); color: var(--cyan); background: linear-gradient(135deg, #0c313e, #0a1e28 72%); font-size: .9rem; font-weight: 850; letter-spacing: .14em; }
.worker-home-project-empty { margin: 0; color: var(--muted); }
.worker-home-project-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.worker-home-project-actions button { min-height: 43px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid var(--line); border-radius: 10px; color: var(--text); background: transparent; font-weight: 750; }
.worker-home-project-actions button:first-child { border-color: transparent; color: #031014; background: var(--cyan); }
.worker-home-project-actions button:disabled { cursor: not-allowed; opacity: .5; }
.worker-quick-access,.worker-task-screen,.worker-more-screen { display: none; }
.worker-action-dialog { width: min(460px, calc(100% - 24px)); padding: 18px; border: 1px solid var(--line); border-radius: 20px; color: var(--text); background: var(--panel-strong, #fff); box-shadow: 0 26px 80px rgba(0,0,0,.38); }
.worker-action-dialog::backdrop { background: rgba(0,8,12,.68); backdrop-filter: blur(4px); }
.worker-action-head { display: flex; justify-content: space-between; align-items: start; gap: 12px; }
.worker-action-head h2 { margin: 4px 0 14px; color: var(--text); font-size: 1.3rem; }
.worker-action-head > button { width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; color: var(--text); background: transparent; font-size: 1.25rem; }
.worker-action-list { display: grid; gap: 8px; }
.worker-action-list button { min-height: 66px; display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 11px; align-items: center; padding: 10px; border: 1px solid var(--line); border-radius: 12px; color: var(--text); background: var(--panel-soft, #f7fafb); text-align: left; }
.worker-action-list button > span:first-child { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; color: var(--cyan); background: rgba(96,222,212,.1); font-size: 1.3rem; }
.worker-action-list strong,.worker-action-list small { display: block; }
.worker-action-list small { margin-top: 3px; color: var(--muted); font-size: .76rem; }

@media (max-width: 600px) {
  body.worker-mode { --worker-card: #fff; --worker-card-soft: #f7fbfc; --worker-card-line: #d9e5e9; --worker-fg: #142d3b; --worker-subtle: #607783; }
  html[data-theme="dark"] body.worker-mode { --worker-card: #10252e; --worker-card-soft: #0a1a21; --worker-card-line: rgba(134,225,230,.2); --worker-fg: #f1fafa; --worker-subtle: #a5bdc5; }
  body.worker-mode .portal-topbar { height: 62px; padding: 0 15px; }
  body.worker-mode .portal-brand { gap: 8px; font-size: .88rem; letter-spacing: .12em; }
  body.worker-mode .portal-brand > span:last-child { display: inline; }
  body.worker-mode .topbar-right { gap: 8px; }
  body.worker-mode .worker-language-switcher,
  body.worker-mode #uiPreviewToggle,
  body.worker-mode #notificationButton,
  body.worker-mode #openPilotFeedbackButton,
  body.worker-mode #workerHomeButton,
  body.worker-mode #workerProjectsButton,
  body.worker-mode #workerProfileButton,
  body.worker-mode #logoutButton,
  body.worker-mode #resetDemoButton,
  body.worker-mode .system-status,
  body.worker-mode .demo-mode-badge { display: none !important; }
  body.worker-mode .worker-profile-avatar:not(.hidden) { width: 36px; height: 36px; display: grid; place-items: center; padding: 0; border: 1px solid var(--worker-card-line); border-radius: 50%; color: var(--worker-fg); background: var(--worker-card); font-size: .75rem; font-weight: 850; }
  body.worker-mode .content-shell { padding: 17px 14px calc(98px + env(safe-area-inset-bottom, 0px)); }
  body.worker-mode .worker-header { margin: 0 0 18px; }
  body.worker-mode .worker-header .kicker { margin: 0 0 7px; font-size: .7rem; letter-spacing: .12em; }
  body.worker-mode .worker-header h1 { font-size: clamp(1.85rem, 8vw, 2.35rem); line-height: 1.13; letter-spacing: -.04em; }
  body.worker-mode .worker-header > div > p:last-child { display: block !important; margin: 8px 0 0; color: var(--worker-subtle); font-size: .82rem; line-height: 1.45; }
  body.worker-mode .worker-home-project { gap: 10px; margin: 0 0 22px; padding: 16px; border-color: var(--worker-card-line); border-radius: 18px; color: var(--worker-fg); background: var(--worker-card); box-shadow: 0 12px 38px rgba(0,0,0,.09); }
  body.worker-mode .worker-home-project-top { color: var(--worker-subtle); font-size: .69rem; }
  body.worker-mode .worker-home-project-top #workerHomeProjectState { color: #116851; background: #dcf5eb; }
  html[data-theme="dark"] body.worker-mode .worker-home-project-top #workerHomeProjectState { color: #9ef0d6; background: rgba(85,220,167,.13); }
  body.worker-mode .worker-home-project .worker-project-picker select { min-height: 43px; padding: 8px 36px 8px 11px; border-color: var(--worker-card-line); border-radius: 10px; color: var(--worker-fg); background-color: var(--worker-card-soft); font-size: .86rem; font-weight: 750; }
  body.worker-mode .worker-home-project-info strong { color: var(--worker-fg); font-size: 1.08rem; }
  body.worker-mode .worker-home-project-info small { color: var(--worker-subtle); }
  body.worker-mode .worker-home-project-facts span { border-color: var(--worker-card-line); color: var(--worker-subtle); }
  body.worker-mode .worker-home-project-facts b { color: var(--worker-fg); }
  body.worker-mode .worker-home-project-summary img,
  body.worker-mode .worker-home-project-placeholder { height: 112px; }
  body.worker-mode .worker-home-project-actions button { min-height: 46px; border-color: var(--worker-card-line); color: var(--worker-fg); font-size: .82rem; }
  body.worker-mode .worker-home-project-actions button:first-child { border-color: transparent; color: #031014; background: var(--cyan); }
  html[data-theme="light"] body.worker-mode .worker-home-project-actions button:first-child { color: white; background: #086a88; }
  body.worker-mode .worker-quick-access { display: block; margin-bottom: 23px; }
  body.worker-mode .worker-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 12px; margin: 0 0 12px; }
  body.worker-mode .worker-section-heading h2 { margin: 0; color: var(--worker-fg); font-size: 1.14rem; line-height: 1.25; }
  body.worker-mode .worker-section-heading > button { min-height: 34px; border: 0; color: var(--cyan); background: transparent; font-size: .8rem; font-weight: 750; }
  html[data-theme="light"] body.worker-mode .worker-section-heading > button { color: #0b6c83; }
  body.worker-mode .worker-quick-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
  body.worker-mode .worker-quick-grid button { min-width: 0; min-height: 88px; display: grid; place-items: center; align-content: center; gap: 8px; padding: 9px 3px; border: 1px solid var(--worker-card-line); border-radius: 13px; color: var(--worker-fg); background: var(--worker-card); }
  body.worker-mode .worker-quick-grid button strong { font-size: .73rem; font-weight: 740; }
  body.worker-mode .worker-quick-icon { width: 30px; height: 30px; display: grid; place-items: center; color: var(--cyan); }
  html[data-theme="light"] body.worker-mode .worker-quick-icon { color: #116e83; }
  body.worker-mode .worker-quick-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  body.worker-mode .worker-home-messages { width: 100%; min-height: 65px; display: grid; grid-template-columns: 40px minmax(0,1fr) 14px; gap: 10px; align-items: center; margin-top: 10px; padding: 10px; border: 1px solid var(--worker-card-line); border-radius: 13px; color: var(--worker-fg); background: var(--worker-card); text-align: left; }
  body.worker-mode .worker-home-messages-icon { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 10px; color: var(--cyan); background: rgba(96,222,212,.1); }
  html[data-theme="light"] body.worker-mode .worker-home-messages-icon { color: #116e83; background: #e8f6f7; }
  body.worker-mode .worker-home-messages-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  body.worker-mode .worker-home-messages strong,
  body.worker-mode .worker-home-messages small { display: block; }
  body.worker-mode .worker-home-messages strong { font-size: .86rem; }
  body.worker-mode .worker-home-messages small { margin-top: 3px; color: var(--worker-subtle); font-size: .72rem; }
  body.worker-mode .worker-today { margin: 0; border-color: var(--worker-card-line); border-radius: 16px; background: var(--worker-card); box-shadow: 0 12px 38px rgba(0,0,0,.08); }
  body.worker-mode .worker-today-head { padding: 16px; background: transparent; }
  body.worker-mode .worker-today-head span { color: var(--cyan); font-size: .7rem; }
  html[data-theme="light"] body.worker-mode .worker-today-head span { color: #0b6c83; }
  body.worker-mode .worker-today-head h2 { color: var(--worker-fg); font-size: 1.1rem; }
  body.worker-mode .worker-today-head p { color: var(--worker-subtle); font-size: .78rem; }
  body.worker-mode .worker-today-grid { padding: 0 13px 14px; }
  body.worker-mode .worker-today-grid h3 { color: var(--worker-subtle); font-size: .74rem; }
  body.worker-mode:not(.worker-chat-focused) .worker-layout { display: none; }
  body.worker-mode.worker-chat-focused .worker-header,
  body.worker-mode.worker-chat-focused .worker-today { display: none; }
  body.worker-mode.worker-chat-focused .worker-layout { display: block; }
  html[data-theme="light"] body.worker-mode .worker-today { padding: 0; overflow: hidden; }
  html[data-theme="light"] body.worker-mode .worker-today-head { display: block; padding: 18px 16px 16px; border-bottom: 1px solid var(--worker-card-line); }
  html[data-theme="light"] body.worker-mode .worker-today-head h2 { margin: 5px 0 6px; font-size: 1.25rem; line-height: 1.2; }
  html[data-theme="light"] body.worker-mode .worker-today-head p { margin: 0; line-height: 1.5; }
  html[data-theme="light"] body.worker-mode .worker-today-head .worker-notification-button:not(.hidden) { width: 100%; min-height: 58px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto 14px; align-items: center; gap: 10px; margin-top: 14px; padding: 9px 11px; border: 1px solid #d7e5e9; border-radius: 12px; color: var(--worker-fg); background: #f3fafb; text-align: left; }
  html[data-theme="light"] body.worker-mode .worker-notification-button > i { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; color: #754100; background: #ffe2a8; font-style: normal; font-weight: 900; }
  html[data-theme="light"] body.worker-mode .worker-notification-button > span { min-width: 0; }
  html[data-theme="light"] body.worker-mode .worker-notification-button > span small,
  html[data-theme="light"] body.worker-mode .worker-notification-button > span strong { display: block; }
  html[data-theme="light"] body.worker-mode .worker-notification-button > span small { color: var(--worker-subtle); font-size: .68rem; }
  html[data-theme="light"] body.worker-mode .worker-notification-button > span strong { margin-top: 2px; color: var(--worker-fg); font-size: .84rem; }
  html[data-theme="light"] body.worker-mode .worker-notification-button.has-unread b { min-width: 29px; height: 27px; display: grid; place-items: center; padding: 0 7px; border-radius: 99px; color: #754100; background: #ffe2a8; font-size: .76rem; }
  html[data-theme="light"] body.worker-mode .worker-notification-button > em { color: #0b6c83; font-size: 1rem; font-style: normal; }
  html[data-theme="light"] body.worker-mode .worker-today-grid { display: grid; grid-template-columns: 1fr; gap: 20px; margin: 0; padding: 16px 13px 18px; }
  html[data-theme="light"] body.worker-mode .worker-today-grid section { min-width: 0; }
  html[data-theme="light"] body.worker-mode .worker-today-grid h3 { margin: 0 2px 9px; color: #47616d; font-size: .78rem; font-weight: 800; letter-spacing: 0; text-transform: none; }
  html[data-theme="light"] body.worker-mode .worker-today-grid .empty-state.compact { min-height: 70px; display: grid; place-items: center; margin: 0; padding: 13px; border: 1px dashed #c9dbe1; border-radius: 11px; color: #617b87; background: var(--worker-card-soft); font-size: .78rem; line-height: 1.45; text-align: center; }
  html[data-theme="light"] body.worker-mode .navigator-list { display: grid; gap: 8px; }
  html[data-theme="light"] body.worker-mode .navigator-list button { width: 100%; min-width: 0; min-height: 66px; display: grid; grid-template-columns: 36px minmax(0,1fr) 12px; align-items: center; gap: 10px; padding: 10px; border: 1px solid var(--worker-card-line); border-radius: 12px; color: var(--worker-fg); background: var(--worker-card-soft); text-align: left; box-shadow: none; }
  html[data-theme="light"] body.worker-mode .navigator-list button > span:nth-child(2) { min-width: 0; }
  html[data-theme="light"] body.worker-mode .navigator-list strong,
  html[data-theme="light"] body.worker-mode .navigator-list small { display: block; overflow-wrap: anywhere; }
  html[data-theme="light"] body.worker-mode .navigator-list strong { color: var(--worker-fg); font-size: .8rem; font-weight: 800; line-height: 1.3; }
  html[data-theme="light"] body.worker-mode .navigator-list small { margin-top: 4px; color: var(--worker-subtle); font-size: .69rem; line-height: 1.35; }
  html[data-theme="light"] body.worker-mode .navigator-list b { color: #0b6c83; font-size: 1rem; }
  html[data-theme="light"] body.worker-mode .navigator-priority,
  html[data-theme="light"] body.worker-mode .navigator-time { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; color: #0b6c83; background: #e7f5f7; font-size: .84rem; font-weight: 850; }
  html[data-theme="light"] body.worker-mode .navigator-list button.priority-high .navigator-priority { color: #9a5c00; background: #fff2d9; }
  html[data-theme="light"] body.worker-mode .navigator-list button.priority-critical .navigator-priority { color: #b92727; background: #ffe4e4; }
  html[data-theme="light"] body.worker-mode #workerTodayTimeline .navigator-list button:nth-child(n+3),
  html[data-theme="light"] body.worker-mode #workerTodayAttention .navigator-list button:nth-child(n+3) { display: none; }
  body.worker-mode .worker-mobile-nav:not(.hidden) { left: 0 !important; right: 0 !important; bottom: 0 !important; width: auto !important; max-width: none !important; min-height: calc(70px + env(safe-area-inset-bottom, 0px)); display: grid !important; grid-template-columns: repeat(5,minmax(0,1fr)) !important; gap: 0 !important; padding: 4px 7px calc(4px + env(safe-area-inset-bottom, 0px)) !important; border: 0 !important; border-top: 1px solid var(--worker-card-line) !important; border-radius: 0 !important; background: var(--worker-card) !important; box-shadow: 0 -8px 32px rgba(0,0,0,.13) !important; }
  body.worker-mode .worker-mobile-nav button { min-width: 0; min-height: 58px; padding: 5px 1px; gap: 1px; border-radius: 10px; color: var(--worker-subtle); font-size: .67rem; font-weight: 700; }
  body.worker-mode .worker-mobile-nav button span { height: 26px; font-size: inherit; }
  body.worker-mode .worker-mobile-nav button span svg { width: 23px; height: 23px; }
  body.worker-mode .worker-mobile-nav button.active { color: var(--worker-fg); background: transparent; }
  body.worker-mode .worker-mobile-nav button.active svg { stroke: var(--cyan); }
  html[data-theme="light"] body.worker-mode .worker-mobile-nav button.active svg { stroke: #086a88; }
  body.worker-mode .worker-mobile-nav .worker-mobile-add-tab,
  body.worker-mode .worker-mobile-nav .worker-mobile-add-tab.active { margin: 0; color: var(--worker-fg); background: transparent; box-shadow: none; }
  body.worker-mode .worker-mobile-nav .worker-mobile-add-tab > span:first-child { width: 38px; height: 38px; margin-top: 0; border: 1px solid rgba(158,244,232,.5); border-radius: 50%; color: #031014; background: var(--cyan); box-shadow: 0 4px 12px rgba(96,222,212,.22); }
  body.worker-mode .worker-mobile-nav .worker-mobile-add-tab > span:first-child svg { width: 22px; height: 22px; }
  html[data-theme="light"] body.worker-mode .worker-mobile-nav .worker-mobile-add-tab > span:first-child { color: white; background: #086a88; border-color: #086a88; }
  body.worker-mode.worker-chat-focused .worker-home-project,
  body.worker-mode.worker-chat-focused .worker-quick-access,
  body.worker-mode.worker-tasks-focused .worker-header,
  body.worker-mode.worker-tasks-focused .worker-home-project,
  body.worker-mode.worker-tasks-focused .worker-quick-access,
  body.worker-mode.worker-tasks-focused .worker-today,
  body.worker-mode.worker-more-focused .worker-header,
  body.worker-mode.worker-more-focused .worker-home-project,
  body.worker-mode.worker-more-focused .worker-quick-access,
  body.worker-mode.worker-more-focused .worker-today { display: none; }
  body.worker-mode.worker-tasks-focused .worker-task-screen,
  body.worker-mode.worker-more-focused .worker-more-screen { display: block; }
  body.worker-mode .worker-task-screen .kicker,
  body.worker-mode .worker-more-screen .kicker { margin: 0 0 5px; color: var(--cyan); font-size: .68rem; }
  body.worker-mode .worker-task-screen h2,
  body.worker-mode .worker-more-screen h2 { font-size: 1.85rem; }
  body.worker-mode #workerTaskList { display: grid; gap: 11px; }
  body.worker-mode .worker-task-card { padding: 15px; border: 1px solid var(--worker-card-line); border-radius: 15px; color: var(--worker-fg); background: var(--worker-card); }
  body.worker-mode .worker-task-card.priority-high,
  body.worker-mode .worker-task-card.priority-critical { border-left: 3px solid var(--orange); }
  body.worker-mode .worker-task-card-top { display: flex; justify-content: space-between; gap: 10px; align-items: center; color: var(--worker-subtle); font-size: .73rem; }
  body.worker-mode .worker-task-card h3 { margin: 9px 0 4px; color: var(--worker-fg); font-size: 1rem; line-height: 1.3; }
  body.worker-mode .worker-task-card p { margin: 0 0 7px; color: var(--worker-subtle); font-size: .84rem; line-height: 1.45; }
  body.worker-mode .worker-task-card > small { color: var(--worker-subtle); font-size: .72rem; }
  body.worker-mode .worker-task-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
  body.worker-mode .worker-task-actions button { min-height: 38px; padding: 7px 10px; border: 1px solid var(--worker-card-line); border-radius: 9px; color: var(--worker-fg); background: transparent; font-size: .75rem; font-weight: 700; }
  body.worker-mode .worker-task-actions button:last-child { color: #031014; background: var(--cyan); border-color: transparent; }
  body.worker-mode .worker-task-empty { padding: 27px 18px; border: 1px solid var(--worker-card-line); border-radius: 14px; color: var(--worker-fg); background: var(--worker-card); }
  body.worker-mode .worker-task-empty p { color: var(--worker-subtle); }
  body.worker-mode .worker-more-list { display: grid; gap: 9px; }
  body.worker-mode .worker-more-list button { min-height: 70px; display: grid; grid-template-columns: 38px minmax(0,1fr) 12px; gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid var(--worker-card-line); border-radius: 13px; color: var(--worker-fg); background: var(--worker-card); text-align: left; }
  body.worker-mode .worker-more-list button > span:first-child { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 10px; color: var(--cyan); background: rgba(96,222,212,.1); font-size: 1.2rem; }
  body.worker-mode .worker-more-list strong,
  body.worker-mode .worker-more-list small { display: block; }
  body.worker-mode .worker-more-list strong { font-size: .86rem; }
  body.worker-mode .worker-more-list small { margin-top: 3px; color: var(--worker-subtle); font-size: .73rem; }
  .worker-action-dialog { position: fixed; inset: auto 0 0; width: 100%; max-width: none; max-height: min(80dvh,620px); margin: auto 0 0; padding: 19px 17px calc(22px + env(safe-area-inset-bottom, 0px)); border-radius: 20px 20px 0 0; }
}

@scope (html[data-theme="dark"]) {
@media (max-width: 600px) {
  body.worker-mode .worker-today-head .worker-notification-button:not(.hidden) {
    min-height: 58px;
    display: grid;
    grid-template-columns: 34px minmax(0,1fr) auto 14px;
    gap: 10px;
    padding: 9px 11px;
    border-color: rgba(255,255,255,.2);
    border-radius: 12px;
    background: rgba(3,17,22,.24);
    text-align: left;
  }
  body.worker-mode .worker-notification-button > i {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: #533000;
    background: #f4bf68;
    font-style: normal;
    font-weight: 900;
  }
  body.worker-mode .worker-notification-button > span { min-width: 0; color: inherit; }
  body.worker-mode .worker-notification-button > span small,
  body.worker-mode .worker-notification-button > span strong { display: block; }
  body.worker-mode .worker-notification-button > span small { color: #9ebbc3; font-size: .7rem; font-weight: 650; }
  body.worker-mode .worker-notification-button > span strong { margin-top: 2px; color: white; font-size: .9rem; }
  body.worker-mode .worker-notification-button.has-unread b {
    min-width: 32px;
    height: 30px;
    padding: 0 8px;
    color: #2d1b00;
    background: #ffd085;
    font-size: .8rem;
  }
  body.worker-mode .worker-notification-button > em { color: #a9d8d5; font-size: 1.1rem; font-style: normal; }
  .notification-dialog { width: 100vw; height: 100vh; border: 0; border-radius: 0; }
  .notification-dialog-head { padding: 17px 16px 15px; }
  .notification-dialog-head h2 { font-size: 1.35rem; }
  .notification-dialog-head .subtle { font-size: .82rem; }
  .notification-summary { gap: 6px; padding: 10px; }
  .notification-summary > div { display: grid; justify-items: center; gap: 3px; padding: 8px 5px; text-align: center; }
  .notification-summary span { font-size: .68rem; }
  .notification-list { gap: 9px; padding: 10px; }
  .notification-item { grid-template-columns: 38px minmax(0,1fr); gap: 10px; padding: 12px; }
  .notification-item > .notification-item-icon { width: 38px; height: 38px; }
  .notification-item-content > header { align-items: flex-start; flex-direction: column; gap: 5px; }
  .notification-item h3 { font-size: .95rem; }
  .notification-item p { font-size: .82rem; }
  .notification-item footer { grid-template-columns: 1fr 1fr; }
  .notification-item footer .primary { grid-column: 1 / -1; }
}

}

@media (max-width: 720px) {
  .theme-toggle { width: 36px; min-width: 36px; padding: 5px; justify-content: center; }
  .theme-toggle-track { width: 24px; flex-basis: 24px; grid-template-columns: 1fr; }
  .theme-toggle-track svg { position: absolute; }
  .theme-toggle-track i { display: none; }
  html[data-theme="light"] .theme-toggle-moon,
  html[data-theme="dark"] .theme-toggle-sun { display: none; }
  html[data-theme="dark"] .theme-toggle-moon { color: #77e7db; }
  #themeToggleLabel { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

@media (max-width: 560px) {
  .portal-topbar .demo-mode-badge,
  .portal-topbar .system-status { display: none !important; }
  .portal-topbar .topbar-right { gap: 6px; }
}

@media (max-width: 380px) {
  .portal-topbar #resetDemoButton { display: none !important; }
}
/* Report evidence remains visible next to the user's final confirmation. */
.worker-report-photos { margin: 16px 0; padding: 16px; border: 1px solid #27a9bb; border-radius: 14px; background: var(--surface, #f0fafb); overflow-wrap: anywhere; }
.worker-report-photos p { margin: 8px 0; }
.worker-report-photos select { display: block; width: 100%; max-width: 100%; margin-top: 6px; }
.worker-report-photo-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0; }
.worker-report-photo-list a { display: flex; flex-direction: column; width: 130px; max-width: 100%; font-size: .8rem; }
.worker-report-photo-list img { width: 100%; height: 100px; object-fit: cover; border-radius: 8px; }
.worker-report-photo-pending { margin-top: 12px; }
.worker-report-photo-pending > img { display: block; max-width: 100%; max-height: 240px; border-radius: 8px; object-fit: contain; }

.ai-mode-badge { display: inline-flex; align-items: center; white-space: nowrap; border: 1px solid #65bcb4; border-radius: 999px; padding: 5px 10px; color: #d3fff8; font-size: .75rem; font-weight: 750; }
.ai-disabled .ai-mode-badge { border-color: #9aacb8; color: #e5edf1; }
html[data-theme="light"] .ai-mode-badge { border-color: #8fc9c5; color: #075d63; background: #effaf8; }
html[data-theme="light"] .ai-disabled .ai-mode-badge { border-color: #c5d6df; color: #335664; background: #f5f9fa; }
@media (max-width: 1450px) { .portal-topbar .ai-mode-badge { display: none; } }
.ai-mode-banner { margin-bottom: 20px; border: 1px solid #84cfc5; border-radius: 15px; padding: 15px 20px; background: #ecfaf7; color: #123d3f; line-height: 1.5; }
.ai-mode-banner strong { display: block; font-size: 1.05rem; }
.ai-disabled .ai-mode-banner { border-color: #c5d6df; background: #f1f6f8; color: #263b4a; }
.ai-disabled [data-ai-only], .ai-disabled [data-worker-open-chat], .ai-disabled [data-photo-analysis], .ai-disabled #assistantToggle, .ai-disabled #assistantPanel { display: none !important; }
body:not(.ai-disabled) [data-core-only] { display: none !important; }
body.free-core-plan [data-profile-section="contacts"],
body.free-core-plan [data-profile-content="contacts"],
body.free-core-plan [data-profile-section="outlook"],
body.free-core-plan [data-profile-content="outlook"],
body.free-core-plan #microsoftConnectionIndicator,
body.free-core-plan .free-core-ai-field,
body.free-core-plan .onboarding-view .billing-selection-card,
body.free-core-plan .onboarding-view [data-role-policy="microsoftConnectRoles"],
body.free-core-plan .onboarding-view [data-role-policy="externalActionRoles"] { display: none !important; }

/* The project documentation tab needs its own light-theme layout: the original
   component rules live inside the dark-theme @scope above. */
html[data-theme="light"] .project-documentation-shell { display: grid; gap: 16px; }
html[data-theme="light"] .project-documentation-hero { min-height: 150px; padding: 24px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; overflow: hidden; border: 1px solid #c9e1e5; border-radius: 18px; background: radial-gradient(circle at 90% 12%,#d5f6ef,transparent 34%),linear-gradient(125deg,#f0fbfa,#def3f4); box-shadow: 0 12px 30px rgba(22,69,79,.08); }
html[data-theme="light"] .project-documentation-hero > div:first-child { max-width: 760px; }
html[data-theme="light"] .project-documentation-live { display: inline-flex; align-items: center; gap: 7px; color: #086f70; font-size: 10px; font-weight: 850; letter-spacing: .1em; }
html[data-theme="light"] .project-documentation-live i { width: 8px; height: 8px; border-radius: 50%; background: #16a889; box-shadow: 0 0 0 5px rgba(22,168,137,.12); }
html[data-theme="light"] .project-documentation-hero h3 { margin: 12px 0 7px; color: #143744; font-size: clamp(24px,3vw,36px); letter-spacing: -.03em; }
html[data-theme="light"] .project-documentation-hero p { max-width: 720px; margin: 0; color: #496572; font-size: 13px; line-height: 1.5; }
html[data-theme="light"] .project-documentation-period { min-width: 230px; padding: 14px 16px; display: grid; gap: 4px; border: 1px solid #c1dfe1; border-radius: 13px; background: rgba(255,255,255,.78); }
html[data-theme="light"] .project-documentation-period small { color: #617c86; font-size: 10px; text-transform: uppercase; letter-spacing: .07em; }
html[data-theme="light"] .project-documentation-period strong { color: #183b48; font-size: 14px; }
html[data-theme="light"] .project-documentation-period span { color: #087a78; font-size: 11px; }
html[data-theme="light"] .project-documentation-metrics { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
html[data-theme="light"] .project-documentation-metrics article { min-width: 0; padding: 14px; display: grid; grid-template-columns: 36px minmax(0,1fr); column-gap: 10px; align-items: center; border: 1px solid #d8e7eb; border-radius: 13px; background: #fff; box-shadow: 0 5px 15px rgba(24,65,78,.04); }
html[data-theme="light"] .project-documentation-metrics article > span { width: 36px; height: 36px; display: grid; grid-row: 1 / 3; place-items: center; border-radius: 10px; color: #087d82; background: #e5f6f5; font-weight: 900; }
html[data-theme="light"] .project-documentation-metrics strong { color: #173b48; font-size: 21px; line-height: 1; }
html[data-theme="light"] .project-documentation-metrics small { color: #58717c; font-size: 11px; }
html[data-theme="light"] .project-documentation-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
html[data-theme="light"] .project-documentation-card { min-width: 0; padding: 18px; display: grid; gap: 16px; align-content: start; border: 1px solid #d8e7eb; border-radius: 15px; background: #fff; box-shadow: 0 5px 18px rgba(24,65,78,.04); }
html[data-theme="light"] .project-documentation-card > div:first-child { min-width: 0; display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 12px; align-items: center; }
html[data-theme="light"] .documentation-card-mark { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid #f5d8cf; border-radius: 12px; color: #a34e37; background: #fff0eb; font-size: 10px; font-weight: 900; }
html[data-theme="light"] .documentation-card-mark.archive { color: #087d82; border-color: #c6e8e3; background: #e8f8f5; font-size: 20px; }
html[data-theme="light"] .project-documentation-card h4 { margin: 0 0 4px; color: #193d49; font-size: 16px; }
html[data-theme="light"] .project-documentation-card p { margin: 0; color: #617984; font-size: 12px; line-height: 1.5; }
html[data-theme="light"] .project-documentation-downloads > div:last-child,
html[data-theme="light"] .documentation-snapshot-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
html[data-theme="light"] .project-documentation-downloads a { text-decoration: none; }
html[data-theme="light"] .documentation-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
html[data-theme="light"] .documentation-form-grid label:first-child { grid-column: 1 / -1; }
html[data-theme="light"] .documentation-form-grid label { min-width: 0; display: grid; gap: 6px; }
html[data-theme="light"] .documentation-form-grid label > span { color: #526c78; font-size: 10px; font-weight: 800; }
html[data-theme="light"] .documentation-form-grid :is(input,select) { min-width: 0; color: #193d49; border-color: #cddfe4; background: #fff; }
html[data-theme="light"] .documentation-snapshot-actions > span { color: #66808b; font-size: 11px; }
html[data-theme="light"] .project-documentation-section { min-width: 0; padding: 20px; border: 1px solid #d8e7eb; border-radius: 16px; background: #fff; box-shadow: 0 5px 18px rgba(24,65,78,.04); }
html[data-theme="light"] .project-documentation-section > .surface-head { padding-bottom: 14px; border-bottom: 1px solid #e3edf0; }
html[data-theme="light"] .project-documentation-section > .surface-head h3 { color: #193d49; font-size: 16px; }
html[data-theme="light"] .project-documentation-section > .surface-head p { color: #617984; font-size: 11px; }
html[data-theme="light"] .documentation-timeline { position: relative; margin-top: 14px; display: grid; }
html[data-theme="light"] .documentation-timeline::before { content: ""; position: absolute; top: 18px; bottom: 18px; left: 17px; width: 1px; background: #c5e6e2; }
html[data-theme="light"] .documentation-timeline article { position: relative; min-width: 0; padding: 10px 0; display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 12px; }
html[data-theme="light"] .documentation-event-icon { z-index: 1; width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid #bde4df; border-radius: 10px; color: #087d82; background: #e8f8f5; font-size: 11px; font-weight: 900; }
html[data-theme="light"] .documentation-timeline article > div { min-width: 0; padding-bottom: 10px; border-bottom: 1px solid #e5eef0; }
html[data-theme="light"] .documentation-timeline time { display: block; margin-bottom: 4px; color: #087a78; font-size: 10px; font-weight: 800; }
html[data-theme="light"] .documentation-timeline strong { display: block; color: #193d49; font-size: 12px; }
html[data-theme="light"] .documentation-timeline p { margin: 4px 0 0; color: #617984; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
html[data-theme="light"] .documentation-snapshot-list { margin-top: 14px; display: grid; gap: 9px; }
html[data-theme="light"] .documentation-snapshot-list article { min-width: 0; padding: 13px; display: grid; grid-template-columns: 54px minmax(0,1fr) auto; gap: 12px; align-items: center; border: 1px solid #dce9ec; border-radius: 12px; background: #f9fcfc; }
html[data-theme="light"] .documentation-snapshot-type { width: 54px; min-height: 38px; display: grid; place-items: center; border: 1px solid #bde4df; border-radius: 10px; color: #087d82; background: #e8f8f5; font-size: 9px; font-weight: 900; }
html[data-theme="light"] .documentation-snapshot-type.final { color: #986105; border-color: #f1d9aa; background: #fff6df; }
html[data-theme="light"] .documentation-snapshot-list article > div:nth-child(2) { min-width: 0; }
html[data-theme="light"] .documentation-snapshot-list :is(small,strong,p) { display: block; }
html[data-theme="light"] .documentation-snapshot-list small { color: #66808b; font-size: 10px; }
html[data-theme="light"] .documentation-snapshot-list strong { margin-top: 3px; color: #193d49; font-size: 12px; }
html[data-theme="light"] .documentation-snapshot-list p { margin: 3px 0 0; color: #617984; font-size: 10px; overflow-wrap: anywhere; }
html[data-theme="light"] .documentation-snapshot-list article > div:last-child { display: flex; gap: 7px; }
html[data-theme="light"] .documentation-snapshot-list a { text-decoration: none; white-space: nowrap; }
@media (max-width: 1050px) {
  html[data-theme="light"] .project-documentation-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
  html[data-theme="light"] .project-documentation-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  html[data-theme="light"] .project-documentation-hero { min-height: 0; padding: 18px; align-items: stretch; flex-direction: column; }
  html[data-theme="light"] .project-documentation-period { min-width: 0; }
  html[data-theme="light"] .project-documentation-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html[data-theme="light"] .project-documentation-metrics article:last-child { grid-column: 1 / -1; }
  html[data-theme="light"] .documentation-form-grid { grid-template-columns: 1fr; }
  html[data-theme="light"] .documentation-snapshot-list article { grid-template-columns: 46px minmax(0,1fr); align-items: start; }
  html[data-theme="light"] .documentation-snapshot-type { width: 46px; }
  html[data-theme="light"] .documentation-snapshot-list article > div:last-child { grid-column: 2; flex-wrap: wrap; }
}
