:root { color-scheme: dark; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --bg:#06101d; --panel:#0c1b2e; --line:rgba(151,187,226,.16); --muted:#8fa3bc; --text:#f5f8fc; --blue:#409cff; --green:#5de3af; }
* { box-sizing:border-box; }
html, body, #app { min-width:320px; min-height:100%; margin:0; }
body { min-height:100vh; color:var(--text); background:radial-gradient(circle at 50% -15%, #153356 0, var(--bg) 42%); }
button, input, select, textarea { font:inherit; }
button { color:inherit; cursor:pointer; }
svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.eyebrow { color:#76b9ff; font-size:10px; font-weight:850; letter-spacing:.19em; }
.login { width:min(1100px, calc(100% - 40px)); min-height:100vh; margin:auto; display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:clamp(50px,10vw,130px); }
.login h1 { margin:18px 0 24px; font-size:clamp(62px,9vw,108px); line-height:.84; letter-spacing:-.06em; }
.login h1 em { color:transparent; font-style:normal; background:linear-gradient(90deg,#55adff,#626fff); background-clip:text; }
.login section p { max-width:560px; color:#a7b8cc; font-size:18px; line-height:1.7; }
.login-card { padding:40px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(155deg,rgba(18,38,64,.96),rgba(8,21,37,.96)); box-shadow:0 35px 90px rgba(0,0,0,.3); }
.mark { width:52px; height:52px; display:grid; place-items:center; margin-bottom:28px; color:#85c3ff; border:1px solid rgba(91,167,255,.3); border-radius:14px; background:rgba(42,117,206,.12); font-weight:900; }
.login-card h2 { margin:10px 0; font-size:28px; }
.login-card p { color:var(--muted); line-height:1.6; }
.login-card button, .primary { width:100%; min-height:52px; margin-top:18px; border:0; border-radius:10px; background:linear-gradient(105deg,#258feb,#4b60ff); font-weight:800; }
.notice, .form-error { margin-top:16px; padding:11px 13px; color:#ffc1c9; border:1px solid rgba(255,101,122,.25); border-radius:9px; background:rgba(151,34,51,.15); font-size:13px; }
.loading { min-height:100vh; display:grid; place-content:center; justify-items:center; }
.loading h1 { font-size:25px; }
.spinner { width:42px; height:42px; border:3px solid rgba(74,151,237,.17); border-top-color:var(--blue); border-radius:50%; animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.office-shell { min-height:100vh; display:grid; grid-template-columns:250px minmax(0,1fr); }
aside { position:sticky; top:0; height:100vh; display:flex; flex-direction:column; padding:30px 22px; border-right:1px solid var(--line); background:rgba(5,14,25,.82); backdrop-filter:blur(18px); }
.brand { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; }
.brand > span { width:40px; height:40px; display:grid; place-items:center; border:1px solid rgba(76,153,255,.35); border-radius:11px; background:rgba(45,124,218,.13); font-weight:900; }
.brand strong, .brand small { display:block; }
.brand small { margin-top:2px; color:var(--muted); font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
nav { display:grid; gap:8px; margin-top:56px; }
nav a { position:relative; display:flex; align-items:center; gap:11px; padding:13px 14px; color:#96abc2; border:1px solid transparent; border-radius:10px; background:transparent; font-size:13px; font-weight:750; text-decoration:none; }
nav a:hover { color:#eaf4ff; background:rgba(40,111,196,.08); }
nav a.active { color:#eaf4ff; border-color:rgba(78,155,246,.18); background:rgba(40,111,196,.13); }
nav a svg { color:#73b7ff; }
.nav-badge { min-width:19px; height:19px; display:grid; place-items:center; margin-left:auto; padding:0 5px; color:#071423; border-radius:999px; background:#6cb7ff; font-size:9px; font-weight:900; }
.secure { display:flex; align-items:center; gap:9px; margin-top:auto; padding:13px; color:#87e8c2; border:1px solid rgba(93,227,175,.16); border-radius:10px; background:rgba(42,145,109,.07); font-size:11px; }
.workspace { width:min(1260px, 100%); margin:0 auto; padding:48px clamp(28px,5vw,70px); }
header { display:flex; align-items:center; justify-content:space-between; gap:30px; }
header h1 { margin:9px 0 0; font-size:clamp(34px,4vw,50px); letter-spacing:-.045em; }
.account { display:flex; align-items:center; gap:12px; }
.account span, .account small { display:block; text-align:right; }
.account span { font-size:12px; font-weight:750; }
.account small { margin-top:2px; color:var(--muted); font-size:9px; letter-spacing:.12em; }
.account button { width:40px; height:40px; display:grid; place-items:center; padding:0; color:#adc0d7; border:1px solid var(--line); border-radius:10px; background:rgba(10,24,42,.7); }
.metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:38px 0; }
.metrics article,.metrics .metric-link { min-height:112px; display:flex; flex-direction:column; justify-content:center; padding:22px; color:inherit; border:1px solid var(--line); border-radius:14px; background:rgba(12,27,46,.73); text-decoration:none; }
.metrics .metric-link { transition:transform .18s ease,border-color .18s ease,background .18s ease; }
.metrics .metric-link:hover { transform:translateY(-2px); border-color:rgba(79,158,248,.42); background:rgba(18,43,73,.88); }
.metrics span { color:var(--muted); font-size:11px; }
.metrics strong { margin-top:9px; font-size:25px; }
.metrics .online { color:var(--green); }
.metrics .request-summary strong { color:#62aaff; }
.metrics .request-summary small { margin-top:4px; color:var(--muted); font-size:10px; }
.toolbar { display:flex; justify-content:space-between; gap:16px; margin-bottom:18px; }
.toolbar label { min-width:260px; display:flex; align-items:center; gap:10px; padding:0 14px; border:1px solid var(--line); border-radius:10px; background:rgba(10,24,42,.75); }
.toolbar label svg { color:#6785a8; }
.toolbar input { width:100%; height:46px; color:var(--text); border:0; outline:0; background:none; }
.toolbar > button { display:flex; align-items:center; gap:8px; padding:0 18px; border:0; border-radius:10px; background:linear-gradient(105deg,#258feb,#4b60ff); font-size:13px; font-weight:800; }
.customer-list { overflow:hidden; border:1px solid var(--line); border-radius:15px; background:rgba(9,22,38,.68); }
.customer-row { width:100%; display:grid; grid-template-columns:auto minmax(190px,1fr) 110px 130px 130px 24px; align-items:center; gap:18px; padding:18px 20px; color:inherit; text-align:left; border:0; border-bottom:1px solid var(--line); background:transparent; transition:background .18s ease,transform .18s ease; }
.customer-row:hover { background:rgba(40,111,196,.1); }
.customer-row:last-child { border-bottom:0; }
.customer-symbol { width:40px; height:40px; display:grid; place-items:center; color:#72b6ff; border-radius:10px; background:rgba(45,123,217,.13); }
.customer-name strong, .customer-name small { display:block; }
.customer-name strong { font-size:14px; }
.customer-name small, .customer-row > span { margin-top:4px; color:var(--muted); font-size:11px; }
.customer-row code { color:#79a8d8; font-size:11px; }
.customer-row .status { color:#d9e5f3; }
.status i { width:6px; height:6px; display:inline-block; margin-right:7px; border-radius:50%; background:var(--green); }
.customer-row.archived { opacity:.64; }
.customer-row.archived .status i { background:#8092a8; }
.row-arrow { color:#6faeff!important; font-size:22px!important; }
.empty { padding:60px; color:var(--muted); text-align:center; }
dialog { width:min(760px,calc(100% - 28px)); max-height:calc(100vh - 32px); padding:0; overflow:auto; color:var(--text); border:1px solid rgba(143,181,223,.22); border-radius:18px; background:#0b1a2c; box-shadow:0 40px 110px rgba(0,0,0,.55); }
dialog::backdrop { background:rgba(2,8,15,.72); backdrop-filter:blur(5px); }
dialog form { padding:30px; }
.dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.dialog-head h2 { margin:8px 0 0; font-size:27px; }
.close { border:0; }
.dialog-head .close { width:38px; height:38px; display:grid; place-items:center; padding:0; color:var(--muted); border:1px solid var(--line); border-radius:9px; background:rgba(8,20,35,.7); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:28px; }
.form-grid label { display:grid; gap:7px; color:#aebdd0; font-size:11px; font-weight:700; }
.form-grid .wide { grid-column:1/-1; }
.form-grid input, .form-grid select, .form-grid textarea { width:100%; min-height:46px; padding:0 13px; color:var(--text); border:1px solid var(--line); border-radius:9px; outline:0; background:#071423; }
.form-grid textarea { padding:12px 13px; resize:vertical; line-height:1.5; }
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus { border-color:rgba(69,153,250,.55); box-shadow:0 0 0 3px rgba(45,126,224,.1); }
.checkbox-label { grid-template-columns:auto 1fr!important; align-items:center; align-self:end; min-height:46px; padding:0 13px; border:1px solid var(--line); border-radius:9px; background:#071423; }
.checkbox-label input { width:17px; min-height:17px; margin:0; accent-color:var(--blue); }
.dialog-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:28px; padding-top:20px; border-top:1px solid var(--line); }
.dialog-actions button { width:auto; min-height:44px; margin:0; padding:0 18px; border-radius:9px; font-size:12px; font-weight:800; }
.dialog-actions .secondary { color:#b7c5d7; border:1px solid var(--line); background:transparent; }
.dialog-actions .primary { border:0; }
.danger-confirm { color:#ffd8dd; border:1px solid rgba(255,102,123,.34); background:rgba(150,34,51,.25); }
.dialog-actions button:disabled { opacity:.6; cursor:wait; }

.back { display:flex; align-items:center; gap:7px; margin:0 0 22px; padding:0; color:#9eb4cc; border:0; background:none; font-size:12px; font-weight:750; }
.back:hover { color:#fff; }
.back svg { width:17px; height:17px; }
.success-banner { margin:24px 0 -14px; padding:12px 15px; color:#9af0ce; border:1px solid rgba(93,227,175,.24); border-radius:10px; background:rgba(42,145,109,.1); font-size:12px; }
.profile-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:38px 0 20px; padding:25px 28px; border:1px solid var(--line); border-radius:15px; background:linear-gradient(125deg,rgba(18,43,73,.9),rgba(9,24,42,.76)); }
.profile-hero code { color:#78b9fb; font-size:12px; font-weight:800; letter-spacing:.12em; }
.profile-hero p { margin:8px 0 0; color:var(--muted); font-size:13px; }
.profile-actions { display:flex; align-items:center; gap:10px; }
.profile-actions button,.section-heading button { min-height:42px; display:flex; align-items:center; gap:8px; padding:0 15px; border-radius:9px; font-size:12px; font-weight:800; }
.secondary-action,.section-heading button { color:#e9f4ff; border:1px solid rgba(77,156,247,.28); background:rgba(40,111,196,.14); }
.archive-action { color:#ffc2ca; border:1px solid rgba(255,102,123,.25); background:rgba(145,35,52,.14); }
.archived-badge,.primary-badge,.count-badge { display:inline-flex; align-items:center; justify-content:center; padding:6px 9px; color:#9fb1c6; border:1px solid var(--line); border-radius:999px; background:rgba(8,20,35,.6); font-size:8px; font-weight:850; letter-spacing:.12em; }
.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.detail-panel,.note-panel { padding:26px; border:1px solid var(--line); border-radius:15px; background:rgba(11,27,47,.72); }
.detail-panel h2,.content-section h2 { margin:8px 0 22px; font-size:23px; }
.detail-values { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.detail-value span,.project-meta span { display:block; color:#7189a5; font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.detail-value strong,.project-meta strong { display:block; margin-top:6px; color:#e8f1fb; font-size:12px; }
.quick-links { display:grid; gap:9px; }
.quick-link { min-width:0; display:flex; align-items:center; gap:10px; padding:10px 12px; color:#cfe3f7; border:1px solid rgba(107,160,218,.14); border-radius:9px; background:rgba(5,16,29,.44); text-decoration:none; font-size:11px; }
.quick-link:hover { color:#fff; border-color:rgba(79,158,248,.42); background:rgba(39,104,181,.14); }
.quick-link svg { width:17px; height:17px; flex:0 0 auto; color:#69b2ff; }
.quick-link span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.muted-copy { color:var(--muted); font-size:12px; }
.note-panel { margin-top:16px; }
.note-panel p { margin:12px 0 0; color:#b4c4d7; line-height:1.65; white-space:pre-wrap; }
.content-section { margin-top:38px; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:14px; }
.section-heading h2 { margin-bottom:0; }
.contact-list,.project-list,.portal-user-list { display:grid; gap:10px; }
.contact-card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:15px; padding:17px 18px; border:1px solid var(--line); border-radius:12px; background:rgba(9,22,38,.68); }
.contact-avatar,.project-icon { width:42px; height:42px; display:grid; place-items:center; color:#74b9ff; border-radius:11px; background:rgba(45,123,217,.13); }
.contact-main > div:first-child { display:flex; align-items:center; gap:10px; }
.contact-main strong { font-size:13px; }
.contact-main small { display:block; margin-top:5px; color:var(--muted); font-size:10px; }
.primary-badge { padding:4px 7px; color:#77dcb9; border-color:rgba(84,219,172,.2); background:rgba(43,135,103,.1); font-size:7px; }
.contact-links { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.contact-links .quick-link { padding:6px 8px; }
.contact-actions { display:flex; gap:7px; }
.icon-button { width:38px; height:38px; display:grid; place-items:center; padding:0; color:#a8bdd4; border:1px solid var(--line); border-radius:9px; background:rgba(6,17,30,.65); }
.icon-button:hover { color:#fff; border-color:rgba(79,158,248,.4); }
.icon-button.danger:hover { color:#ff9caa; border-color:rgba(255,102,123,.35); }
.portal-user-card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:15px; padding:17px 18px; border:1px solid var(--line); border-radius:12px; background:rgba(9,22,38,.68); }
.portal-user-icon { width:42px; height:42px; display:grid; place-items:center; color:#74b9ff; border-radius:11px; background:rgba(45,123,217,.13); }
.portal-user-main { min-width:0; }
.portal-user-main > div:first-child { display:flex; align-items:center; flex-wrap:wrap; gap:9px; }
.portal-user-main strong { font-size:13px; }
.portal-user-main > a { display:block; width:max-content; max-width:100%; margin-top:7px; overflow:hidden; color:#7fc0ff; text-overflow:ellipsis; white-space:nowrap; font-size:11px; text-decoration:none; }
.portal-user-main > a:hover { color:#fff; text-decoration:underline; }
.portal-user-main small { display:block; margin-top:6px; color:var(--muted); font-size:9px; line-height:1.5; }
.portal-user-actions { display:flex; gap:7px; }
.access-status { padding:4px 7px; border:1px solid var(--line); border-radius:999px; font-size:7px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.access-status.status-active { color:#77dcb9; border-color:rgba(84,219,172,.2); background:rgba(43,135,103,.1); }
.access-status.status-invited { color:#8fc7ff; border-color:rgba(87,166,255,.22); background:rgba(45,123,217,.1); }
.access-status.status-blocked { color:#ff9caa; border-color:rgba(255,102,123,.24); background:rgba(151,34,51,.12); }
.delivery-warning { margin:8px 0 0; color:#ffb2bd; font-size:9px; }
.dialog-intro { max-width:620px; margin:20px 0 -8px; color:#aebed0; font-size:12px; line-height:1.65; }
.field-help { color:var(--muted); font-size:9px; font-weight:500; line-height:1.55; }
.security-note { display:flex; align-items:flex-start; gap:10px; margin-top:18px; padding:12px 14px; color:#9fdcc9; border:1px solid rgba(84,219,172,.18); border-radius:9px; background:rgba(43,135,103,.08); font-size:10px; line-height:1.55; }
.security-note svg { width:17px; height:17px; flex:0 0 auto; color:#5de3b4; }
.project-card { display:grid; grid-template-columns:auto minmax(0,1fr) minmax(260px,auto) auto; align-items:center; gap:16px; padding:20px 22px; border:1px solid var(--line); border-radius:12px; background:rgba(9,22,38,.68); }
.project-card.archived { opacity:.68; background:rgba(9,22,38,.42); }
.project-copy { min-width:0; }
.project-copy > div { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.project-copy > strong,.project-copy > small { display:block; }
.project-copy > strong { margin-top:7px; font-size:14px; }
.project-copy > small { max-width:620px; margin-top:6px; color:var(--muted); font-size:10px; line-height:1.5; }
.project-copy p { margin:9px 0 0; color:#b7c9dc; font-size:10px; line-height:1.5; }
.project-copy p b { color:#77baff; }
.project-meta { min-width:260px; display:grid; grid-template-columns:repeat(3,minmax(72px,1fr)); gap:18px; }
.project-meta .visible { color:var(--green); }
.project-actions { display:flex; gap:7px; }
.content-section h2 .count-badge { margin-left:8px; vertical-align:middle; }
.project-dialog { width:min(840px,calc(100% - 28px)); }
.portal-visibility-field { align-self:stretch; min-height:62px; padding-top:10px; padding-bottom:10px; }
.portal-visibility-field span,.portal-visibility-field small { display:block; }
.portal-visibility-field small { margin-top:4px; }
.empty.compact { padding:36px; border:1px dashed var(--line); border-radius:12px; background:rgba(9,22,38,.4); }
.confirm-dialog { width:min(520px,calc(100% - 28px)); }
.confirm-copy { margin:25px 0 4px; color:#aebed0; line-height:1.65; }
.service-request-list { display:grid; gap:10px; }
.service-request-card { width:100%; display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:14px; padding:17px 18px; color:inherit; text-align:left; border:1px solid var(--line); border-radius:12px; background:rgba(9,22,38,.68); transition:border-color .18s ease,transform .18s ease; }
.service-request-card:hover { transform:translateY(-2px); border-color:rgba(79,158,248,.4); }
.request-icon { width:42px; height:42px; display:grid; place-items:center; color:#74b9ff; border-radius:11px; background:rgba(45,123,217,.13); }
.request-main { min-width:0; display:grid; gap:5px; }
.request-main small { color:#76b9ff; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.request-main strong { overflow:hidden; text-overflow:ellipsis; font-size:13px; white-space:nowrap; }
.request-main em { color:var(--muted); font-size:9px; font-style:normal; }
.request-priority,.request-status { padding:5px 8px; border:1px solid var(--line); border-radius:999px; color:#a9bfd7; background:rgba(8,20,35,.55); font-size:8px; font-weight:800; white-space:nowrap; }
.request-priority.high { color:#ffbf85; border-color:rgba(255,164,80,.24); background:rgba(159,83,27,.1); }
.request-status.status-new { color:#8fc7ff; }
.request-status.status-waiting_customer { color:#ffd68e; }
.request-status.status-resolved { color:#77dcb9; }
.request-status.status-closed { color:#899bb0; }
.request-dialog form { padding:28px; }
.request-settings { display:grid; grid-template-columns:1fr 1fr 1fr auto; align-items:end; gap:10px; margin:22px 0; padding:15px; border:1px solid var(--line); border-radius:11px; background:rgba(5,16,29,.42); }
.request-settings label,.reply-label { display:grid; gap:7px; color:#aebdd0; font-size:10px; font-weight:700; }
.request-settings select { width:100%; height:40px; padding:0 10px; color:var(--text); border:1px solid var(--line); border-radius:8px; outline:0; background:#071423; }
.request-settings button { height:40px; padding:0 13px; color:#dcecff; border:1px solid rgba(77,156,247,.28); border-radius:8px; background:rgba(40,111,196,.14); font-size:10px; font-weight:800; }
.office-message-thread { max-height:42vh; display:grid; gap:10px; margin:20px 0; overflow-y:auto; }
.office-message { max-width:88%; padding:13px 15px; border:1px solid var(--line); border-radius:13px; background:rgba(23,51,84,.28); }
.office-message.from-florevision { margin-left:auto; border-bottom-right-radius:4px; background:rgba(41,111,201,.18); }
.office-message.from-customer { border-bottom-left-radius:4px; }
.office-message header { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.office-message header strong { font-size:11px; }
.office-message time { color:var(--muted); font-size:9px; }
.office-message p { margin:8px 0 0; color:#d8e4f3; font-size:11px; line-height:1.6; white-space:pre-wrap; }
.reply-label { margin-top:18px; }
.reply-label textarea { width:100%; padding:12px 13px; color:var(--text); border:1px solid var(--line); border-radius:9px; outline:0; resize:vertical; background:#071423; line-height:1.5; }
.closed-request { margin-top:18px; padding:12px 14px; color:#9db0c6; border:1px solid var(--line); border-radius:9px; background:rgba(5,16,29,.42); font-size:11px; }

.inbox-metrics { margin-bottom:22px; }
.priority-number { color:#ffbf85; }
.inbox-panel { overflow:hidden; border:1px solid var(--line); border-radius:16px; background:rgba(8,20,35,.66); }
.inbox-toolbar { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px; border-bottom:1px solid var(--line); }
.inbox-toolbar h2 { margin:7px 0 0; font-size:24px; }
.inbox-toolbar label { width:min(410px,45%); display:flex; align-items:center; gap:10px; padding:0 14px; border:1px solid var(--line); border-radius:10px; background:rgba(5,16,29,.62); }
.inbox-toolbar label svg { color:#6785a8; }
.inbox-toolbar input { width:100%; height:44px; color:var(--text); border:0; outline:0; background:none; }
.inbox-filterbar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 18px; border-bottom:1px solid var(--line); background:rgba(5,16,29,.3); }
.inbox-filterbar > strong { color:#7690ae; font-size:10px; white-space:nowrap; }
.inbox-filters { display:flex; flex-wrap:wrap; gap:7px; }
.inbox-filters button { display:flex; align-items:center; gap:7px; padding:8px 10px; color:#91a7c0; border:1px solid transparent; border-radius:8px; background:transparent; font-size:10px; font-weight:750; }
.inbox-filters button:hover { color:#e7f3ff; background:rgba(40,111,196,.08); }
.inbox-filters button.active { color:#eaf5ff; border-color:rgba(77,156,247,.26); background:rgba(40,111,196,.15); }
.inbox-filters button span { min-width:19px; height:19px; display:grid; place-items:center; color:#8fbce8; border-radius:999px; background:rgba(75,139,211,.13); font-size:8px; }
.inbox-list { display:grid; }
.inbox-request-row { position:relative; width:100%; display:grid; grid-template-columns:auto minmax(240px,1fr) 150px 150px 58px; align-items:center; gap:17px; padding:19px 22px; color:inherit; text-align:left; border:0; border-bottom:1px solid var(--line); background:transparent; transition:background .18s ease; }
.inbox-request-row:last-child { border-bottom:0; }
.inbox-request-row:hover { background:rgba(39,104,181,.1); }
.inbox-request-row.is-new::before { content:""; position:absolute; inset:12px auto 12px 0; width:3px; border-radius:0 4px 4px 0; background:#5aaaff; box-shadow:0 0 18px rgba(90,170,255,.6); }
.inbox-request-row:disabled { opacity:.65; cursor:wait; }
.inbox-request-copy { min-width:0; display:grid; gap:5px; }
.inbox-customer-line { display:flex; align-items:center; flex-wrap:wrap; gap:9px; }
.inbox-customer-line strong { font-size:12px; }
.inbox-customer-line code { color:#74a8dc; font-size:9px; letter-spacing:.08em; }
.inbox-request-copy > small { color:#71b5f9; font-size:8px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.inbox-request-copy > b { overflow:hidden; text-overflow:ellipsis; font-size:14px; white-space:nowrap; }
.inbox-request-copy > em { overflow:hidden; color:#8fa5bd; text-overflow:ellipsis; font-size:10px; font-style:normal; white-space:nowrap; }
.inbox-request-meta { display:grid; gap:5px; color:#8298b1; font-size:9px; }
.inbox-request-meta mark { width:max-content; padding:4px 6px; color:#80ddb9; border-radius:999px; background:rgba(54,155,117,.12); font-size:7px; font-weight:800; }
.inbox-request-badges { display:flex; align-items:flex-start; flex-direction:column; gap:6px; }
.inbox-open { justify-self:end; color:#72b7fb; font-size:10px; font-weight:800; white-space:nowrap; }
.inbox-empty { border:0; }

.workspace-warning { display:flex; align-items:flex-start; gap:10px; margin-top:18px; padding:13px 15px; color:#ffd5a3; border:1px solid rgba(255,187,92,.22); border-radius:10px; background:rgba(139,83,24,.12); font-size:10px; line-height:1.55; }
.workspace-warning svg { width:18px; height:18px; flex:0 0 auto; }
.project-workspace-hero { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:32px; margin-top:30px; padding:30px; border:1px solid var(--line); border-radius:17px; background:linear-gradient(135deg,rgba(17,42,72,.92),rgba(8,23,41,.72)); }
.project-workspace-hero h2 { max-width:800px; margin:10px 0 10px; font-size:clamp(30px,4vw,48px); letter-spacing:-.045em; }
.project-workspace-hero p { max-width:760px; margin:0; color:#aebfd2; font-size:12px; line-height:1.7; }
.project-workspace-meta { min-width:330px; display:grid; grid-template-columns:repeat(3,minmax(88px,1fr)); align-self:stretch; gap:10px; }
.project-workspace-meta span { display:flex; flex-direction:column; justify-content:center; min-height:86px; padding:14px; color:#7189a5; border:1px solid rgba(111,161,217,.13); border-radius:11px; background:rgba(5,16,29,.38); font-size:8px; letter-spacing:.12em; text-transform:uppercase; }
.project-workspace-meta strong { margin-top:8px; color:#e9f3ff; font-size:12px; letter-spacing:0; text-transform:none; }
.project-workspace-meta .visible { color:var(--green); }
.workspace-summary-grid { display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:14px; margin-top:16px; }
.summary-panel { min-height:145px; padding:22px; border:1px solid var(--line); border-radius:14px; background:rgba(9,22,38,.66); }
.summary-panel > .eyebrow { display:block; margin-bottom:16px; }
.summary-panel p { margin:0; color:#d7e5f4; font-size:12px; line-height:1.65; white-space:pre-wrap; }
.progress-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; }
.progress-heading strong { color:#7fc0ff; font-size:30px; }
.progress-heading small { color:var(--muted); font-size:9px; text-align:right; }
.progress-bar { height:8px; margin-top:24px; overflow:hidden; border-radius:999px; background:rgba(86,129,178,.16); }
.progress-bar i { height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,#2c8ff2,#5de3b4); box-shadow:0 0 18px rgba(70,163,245,.45); transition:width .35s ease; }
.portal-summary strong { display:block; margin:5px 0 9px; color:#eaf4ff; font-size:16px; }
.portal-summary small { color:var(--muted); font-size:9px; line-height:1.55; }
.milestone-list { display:grid; gap:10px; }
.milestone-card { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:16px; padding:18px 19px; overflow:hidden; border:1px solid var(--line); border-left:3px solid #73869c; border-radius:12px; background:rgba(9,22,38,.68); }
.milestone-card.status-in_progress { border-left-color:#54a8ff; }
.milestone-card.status-done { border-left-color:#5de3b4; }
.milestone-number { color:#6d89a8; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:10px; letter-spacing:.1em; }
.milestone-copy { min-width:0; }
.milestone-copy > div { display:flex; align-items:center; flex-wrap:wrap; gap:9px; }
.milestone-copy strong { font-size:13px; }
.portal-badge,.internal-badge { padding:4px 7px; border:1px solid rgba(94,174,255,.22); border-radius:999px; color:#85c4ff; background:rgba(45,123,217,.1); font-size:7px; font-weight:850; letter-spacing:.1em; }
.internal-badge { color:#8398b0; border-color:var(--line); background:rgba(5,16,29,.42); }
.milestone-copy p { margin:8px 0 0; color:#aec0d4; font-size:10px; line-height:1.55; white-space:pre-wrap; }
.milestone-copy small { display:block; margin-top:8px; color:#728ba7; font-size:8px; }
.milestone-actions { display:flex; gap:7px; }
.project-timeline { position:relative; display:grid; gap:0; }
.project-timeline::before { content:""; position:absolute; top:17px; bottom:17px; left:7px; width:1px; background:linear-gradient(#4ca3ff,rgba(83,148,218,.12)); }
.timeline-entry { position:relative; display:grid; grid-template-columns:15px minmax(0,1fr); gap:16px; padding:0 0 18px; }
.timeline-entry:last-child { padding-bottom:0; }
.timeline-dot { z-index:1; width:15px; height:15px; margin-top:3px; border:4px solid #0b1c30; border-radius:50%; background:#5aafff; box-shadow:0 0 0 1px rgba(91,170,255,.35); }
.timeline-entry > div { padding:17px 19px; border:1px solid var(--line); border-radius:12px; background:rgba(9,22,38,.62); }
.timeline-entry header { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:10px; }
.timeline-entry header span { color:#6eb6ff; font-size:8px; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.timeline-entry time,.timeline-entry small { color:#7189a5; font-size:8px; }
.timeline-entry strong { display:block; font-size:13px; }
.timeline-entry p { margin:8px 0; color:#b4c5d8; font-size:10px; line-height:1.6; white-space:pre-wrap; }
.timeline-entry small { display:block; margin-top:9px; }

/* Kompakte Verwaltungsoberfläche */
body { background:#07111f; }
.office-shell { grid-template-columns:230px minmax(0,1fr); }
aside { padding:25px 18px; background:#07101d; backdrop-filter:none; }
nav { margin-top:38px; }
.nav-section { margin:0 13px 3px; color:#55708e; font-size:8px; font-weight:850; letter-spacing:.18em; }
.workspace { width:min(1440px,100%); padding:34px clamp(24px,4vw,56px) 54px; }
.workspace > header { padding-bottom:20px; border-bottom:1px solid var(--line); }
header h1 { font-size:clamp(29px,3vw,39px); }
.metrics { gap:10px; margin:24px 0 31px; }
.metrics article,.metrics .metric-link { min-height:88px; padding:16px 18px; border-radius:10px; background:#0b192b; }
.metrics strong { margin-top:6px; font-size:22px; }
.management-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:14px; }
.management-heading h2 { margin:6px 0 0; font-size:22px; }
.management-heading p { max-width:560px; margin:0; color:var(--muted); font-size:11px; line-height:1.55; text-align:right; }
.toolbar { margin-bottom:12px; }
.toolbar label,.toolbar > button { border-radius:8px; }
.toolbar > button { min-height:44px; }
.admin-list { overflow:hidden; border:1px solid var(--line); border-radius:11px; background:#091727; }
.admin-list-head { display:grid; align-items:center; gap:16px; min-height:38px; padding:0 16px; color:#627d9b; border-bottom:1px solid var(--line); background:#071321; font-size:8px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.customer-admin-list #customer-list { display:grid; }
.customer-list-head,.customer-row { grid-template-columns:40px minmax(190px,1fr) 110px 130px 130px 24px; }
.customer-row { gap:16px; padding:14px 16px; }
.customer-symbol { width:36px; height:36px; border-radius:8px; }
.customer-name strong { font-size:13px; }
.customer-row:hover { background:rgba(48,118,199,.09); transform:none; }
.project-list { display:block; }
.project-list-head,.project-card { grid-template-columns:minmax(280px,1fr) 130px 120px 120px 170px; }
.project-card { width:100%; gap:16px; padding:15px 16px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
.project-card:last-child { border-bottom:0; }
.project-card:hover { background:rgba(48,118,199,.08); }
.project-card.archived { background:rgba(5,15,27,.35); }
.project-copy > strong { margin-top:5px; font-size:13px; }
.project-copy > small { margin-top:4px; }
.project-cell span { display:none; color:#7189a5; font-size:8px; letter-spacing:.09em; text-transform:uppercase; }
.project-cell strong { display:block; color:#dce8f5; font-size:10px; font-weight:700; }
.project-cell .visible { color:var(--green); }
.project-actions { justify-content:flex-end; }
.table-action { min-height:34px; display:inline-flex; align-items:center; justify-content:center; padding:0 13px; color:#dff0ff; border:1px solid rgba(77,156,247,.28); border-radius:8px; background:rgba(40,111,196,.15); font-size:9px; font-weight:850; }
.table-action:hover { border-color:rgba(79,158,248,.52); background:rgba(40,111,196,.25); }
.project-actions .icon-button { width:34px; height:34px; }
.update-admin-list { margin-top:2px; }
.update-list-head,.update-row { grid-template-columns:150px minmax(260px,1fr) 130px 86px; }
.update-row { display:grid; align-items:center; gap:16px; padding:15px 16px; border-bottom:1px solid var(--line); }
.update-row:last-child { border-bottom:0; }
.update-row:hover { background:rgba(48,118,199,.07); }
.update-row > time { color:#8ca2bb; font-size:9px; }
.update-copy { min-width:0; }
.update-copy > div { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.update-copy > span { color:#69b3fc; font-size:8px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.update-copy strong { font-size:12px; }
.update-copy p { margin:6px 0 0; color:#9fb2c8; font-size:10px; line-height:1.55; white-space:pre-wrap; }
.visibility-chip { width:max-content; display:inline-flex; align-items:center; gap:6px; padding:5px 8px; color:#8ca2bb; border:1px solid var(--line); border-radius:999px; background:rgba(5,16,29,.38); font-size:8px; font-weight:800; }
.visibility-chip.portal { color:#76dcb8; border-color:rgba(84,219,172,.2); background:rgba(43,135,103,.1); }
.visibility-chip i { width:5px; height:5px; border-radius:50%; background:currentColor; }
.update-actions { display:flex; justify-content:flex-end; gap:7px; }
.update-actions .icon-button { width:34px; height:34px; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid #67b5ff; outline-offset:2px; }

@media (max-width:1000px) { .metrics { grid-template-columns:repeat(2,1fr); } .detail-grid { grid-template-columns:1fr; } .project-card { grid-template-columns:auto minmax(0,1fr) auto; } .project-meta { grid-column:2; grid-row:2; } .project-actions { grid-column:3; grid-row:1/3; } .request-settings { grid-template-columns:1fr 1fr; } .project-workspace-hero { grid-template-columns:1fr; } .project-workspace-meta { min-width:0; } .workspace-summary-grid { grid-template-columns:1fr 1fr; } .portal-summary { grid-column:1/-1; } }
@media (max-width:1100px) { .inbox-request-row { grid-template-columns:auto minmax(220px,1fr) 135px 140px; } .inbox-open { display:none; } }
@media (max-width:900px) { .office-shell { grid-template-columns:1fr; } aside { position:static; width:100%; height:auto; flex-direction:row; align-items:center; gap:20px; padding:16px 22px; border-right:0; border-bottom:1px solid var(--line); } nav { display:flex; margin:0 0 0 auto; } .secure { display:none; } .customer-row { grid-template-columns:auto 1fr 100px 24px; } .customer-row .status,.customer-city { display:none; } .inbox-request-row { grid-template-columns:auto minmax(0,1fr) auto; } .inbox-request-meta { display:none; } .inbox-request-badges { align-items:flex-end; } }
@media (max-width:650px) { .login { grid-template-columns:1fr; padding:50px 0; } .login h1 { font-size:64px; } .workspace { padding:32px 16px; } header { align-items:flex-start; } .account > span { display:none; } .metrics { grid-template-columns:1fr; } .toolbar { flex-direction:column; } .toolbar label, .toolbar > button { width:100%; min-height:46px; } .customer-row { grid-template-columns:auto minmax(0,1fr) 18px; gap:12px; } .customer-row code { grid-column:2; } .customer-row .row-arrow { grid-column:3; grid-row:1/3; } .form-grid { grid-template-columns:1fr; } .form-grid .wide { grid-column:auto; } aside { gap:12px; padding:14px 16px; } .brand div { display:none; } nav a { width:42px; height:42px; justify-content:center; gap:0; padding:0; font-size:0; } nav a span { display:none; } nav a svg { width:19px; height:19px; } .nav-badge { position:absolute; top:-5px; right:-5px; min-width:17px; height:17px; font-size:7px; } .profile-hero { align-items:flex-start; flex-direction:column; padding:21px; } .profile-actions { width:100%; } .profile-actions button { flex:1; justify-content:center; } .detail-values { grid-template-columns:1fr; } .detail-panel,.note-panel { padding:21px; } .section-heading { align-items:flex-start; flex-direction:column; } .section-heading button { width:100%; justify-content:center; } .contact-card,.portal-user-card { grid-template-columns:auto 1fr; align-items:start; } .contact-actions,.portal-user-actions { grid-column:2; } .contact-links { flex-direction:column; } .portal-user-actions .icon-button { flex:1; } .project-card { grid-template-columns:1fr; } .project-icon { display:none; } .project-meta { min-width:0; grid-column:1; grid-row:auto; grid-template-columns:1fr; padding-top:14px; border-top:1px solid var(--line); } .project-actions { grid-column:1; grid-row:auto; } .project-actions .icon-button { flex:1; } .service-request-card { grid-template-columns:auto minmax(0,1fr); } .request-priority,.request-status { grid-column:2; justify-self:start; } .request-settings { grid-template-columns:1fr; } .office-message { max-width:96%; } .inbox-toolbar { align-items:stretch; flex-direction:column; padding:20px; } .inbox-toolbar label { width:100%; } .inbox-filterbar { align-items:flex-start; flex-direction:column; } .inbox-filters { width:100%; flex-wrap:nowrap; padding-bottom:4px; overflow-x:auto; } .inbox-filters button { flex:0 0 auto; } .inbox-request-row { grid-template-columns:auto minmax(0,1fr); align-items:start; padding:17px 16px; } .inbox-request-badges { grid-column:2; align-items:flex-start; flex-direction:row; flex-wrap:wrap; } .inbox-request-copy > em { max-width:100%; } .project-workspace-hero { padding:22px; } .project-workspace-meta { grid-template-columns:1fr; } .workspace-summary-grid { grid-template-columns:1fr; } .portal-summary { grid-column:auto; } .milestone-card { grid-template-columns:auto minmax(0,1fr); align-items:start; } .milestone-actions { grid-column:2; } }
@media (max-width:1000px) and (min-width:901px) { .project-list-head,.project-card { grid-template-columns:minmax(240px,1fr) 105px 100px 105px 155px; } .update-list-head,.update-row { grid-template-columns:125px minmax(220px,1fr) 115px 82px; } }
@media (max-width:900px) { .workspace { width:100%; } .nav-section,.admin-list-head { display:none; } .management-heading { align-items:flex-start; flex-direction:column; } .management-heading p { text-align:left; } .project-card { grid-template-columns:minmax(220px,1fr) repeat(3,minmax(90px,auto)); } .project-actions { grid-column:1/-1; grid-row:auto; justify-content:flex-start; padding-top:11px; border-top:1px solid var(--line); } .update-row { grid-template-columns:120px minmax(0,1fr) auto; } .update-actions { grid-column:2/4; justify-content:flex-start; } }
@media (max-width:650px) { .workspace { padding-top:24px; } .workspace > header { padding-bottom:16px; } .metrics { gap:8px; margin:18px 0 26px; } .metrics article,.metrics .metric-link { min-height:78px; } .management-heading h2 { font-size:20px; } .customer-admin-list { border-radius:9px; } .project-card { grid-template-columns:1fr 1fr; gap:13px; } .project-copy { grid-column:1/-1; } .project-cell { padding-top:10px; border-top:1px solid var(--line); } .project-cell span { display:block; margin-bottom:5px; } .project-actions { grid-column:1/-1; } .table-action { flex:1; } .update-row { grid-template-columns:1fr; gap:10px; } .update-row > time::before { content:"Zeitpunkt"; display:block; margin-bottom:4px; color:#7189a5; font-size:8px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; } .update-actions { grid-column:auto; justify-content:flex-start; padding-top:9px; border-top:1px solid var(--line); } .update-actions .icon-button { flex:1; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }

/* Verwaltungsoberfläche 2026
   Bewusst kompakt, flach und funktional: klare Listen statt Dashboard-Kacheln. */
:root {
  --bg:#0d1117;
  --panel:#141a22;
  --panel-strong:#10161e;
  --line:#2a3441;
  --muted:#93a0af;
  --text:#e8edf3;
  --blue:#75a7d8;
  --green:#7dbb9b;
}

body { background:#0d1117; font-size:13px; }
.eyebrow { color:#8eabc7; font-size:9px; letter-spacing:.14em; }

/* Florevision-gebrandeter Einstieg */
.login {
  width:min(1160px,calc(100% - 48px));
  min-height:100vh;
  position:relative;
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.65fr);
  gap:clamp(50px,8vw,110px);
  padding:112px 0 82px;
}
.login::before { content:""; position:fixed; inset:0; z-index:-1; background:linear-gradient(135deg,#08111e 0 52%,#0d1827 52% 100%); }
.login-brand { position:absolute; top:34px; left:0; display:flex; align-items:center; gap:11px; color:var(--text); text-decoration:none; }
.login-brand-mark { width:48px; height:48px; display:block; flex:0 0 48px; }
.login-brand-mark img,.mark img,.office-brand-mark img { width:100%; height:100%; display:block; object-fit:contain; }
.login-brand strong,.login-brand small { display:block; }
.login-brand strong { font-size:15px; letter-spacing:.03em; }
.login-brand small { margin-top:2px; color:#8ea3b9; font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
.login h1 { max-width:680px; margin:18px 0 22px; font-size:clamp(48px,6.4vw,82px); line-height:.95; letter-spacing:-.055em; }
.login h1 em { color:#6ca9e6; background:none; }
.login section p { max-width:570px; color:#a7b4c3; font-size:17px; line-height:1.65; }
.login-features { display:flex; flex-wrap:wrap; gap:16px 28px; margin-top:30px; color:#bdc9d5; font-size:11px; }
.login-features span { display:flex; align-items:center; gap:8px; }
.login-features svg { width:17px; height:17px; color:#6fa6da; }
.login-card { padding:34px; border-color:#314051; border-radius:8px; background:#121c28; box-shadow:0 28px 70px rgba(0,0,0,.3); }
.mark { width:52px; height:52px; margin-bottom:24px; border:0; border-radius:0; background:transparent; }
.login-card h2 { margin:9px 0; font-size:25px; }
.login-card button,.primary { min-height:46px; border-radius:4px; background:#286da8; box-shadow:none; }
.login-card button:hover { background:#327ab7; }
.login-privacy { display:block; margin-top:14px; color:#768698; font-size:10px; text-align:center; }
.login-footer { position:absolute; right:0; bottom:28px; left:0; display:flex; justify-content:space-between; color:#708092; font-size:10px; }
.login-footer a { color:#91a8bf; text-decoration:none; }

/* Office-Rahmen */
.office-shell { grid-template-columns:216px minmax(0,1fr); background:#0d1117; }
.office-shell aside { padding:18px 14px; border-right-color:#2a3441; background:#111720; backdrop-filter:none; }
.office-shell .brand { padding:0 7px 17px; border-bottom:1px solid #29323e; }
.office-shell .brand > .office-brand-mark { width:38px; height:38px; display:block; flex:0 0 38px; border:0; border-radius:0; background:transparent; }
.office-shell .brand strong { font-size:12px; }
.office-shell .brand small { font-size:8px; }
.office-shell nav { gap:3px; margin-top:21px; }
.nav-section { margin:0 9px 7px; color:#657383; font-size:8px; letter-spacing:.14em; }
.office-shell nav a { min-height:36px; gap:9px; padding:8px 10px; border-radius:4px; color:#aab4c0; font-size:11px; font-weight:650; }
.office-shell nav a svg { width:16px; height:16px; color:#8496a9; }
.office-shell nav a:hover { background:#19212b; }
.office-shell nav a.active { color:#fff; border-color:#344151; background:#202a36; box-shadow:inset 2px 0 #719bc4; }
.nav-badge { min-width:17px; height:17px; border-radius:3px; background:#7398bd; font-size:8px; }
.secure { padding:10px; color:#9eb9a9; border-color:#34433b; border-radius:4px; background:#17211d; font-size:9px; }

/* Dichte Seitenköpfe und Kennzahlen */
.workspace { width:100%; max-width:none; padding:22px 28px 42px; }
.workspace > header { min-height:60px; align-items:flex-start; padding:0 0 16px; border-bottom:1px solid #2a3441; }
.workspace header h1 { margin-top:5px; font-size:26px; letter-spacing:-.025em; }
.account { gap:8px; }
.account button { width:34px; height:34px; border-radius:4px; background:#151d27; }
.metrics { gap:0; margin:16px 0 22px; border:1px solid #2a3441; border-radius:4px; background:#121820; }
.metrics article,.metrics .metric-link { min-height:68px; padding:12px 15px; border:0; border-right:1px solid #2a3441; border-radius:0; background:transparent; }
.metrics > :last-child { border-right:0; }
.metrics .metric-link:hover { transform:none; border-color:#2a3441; background:#18212b; }
.metrics span { font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.metrics strong { margin-top:5px; font-size:18px; font-weight:700; }
.metrics .online,.metrics .request-summary strong { color:#aebdcb; }
.management-heading { margin-bottom:10px; }
.management-heading h2,.inbox-toolbar h2 { margin:4px 0 0; font-size:18px; }
.management-heading p { margin:4px 0 0; font-size:10px; }

/* Werkzeugleisten und Tabellen */
.toolbar { gap:8px; margin-bottom:8px; }
.toolbar label,.inbox-toolbar label { min-width:300px; border-color:#33404e; border-radius:3px; background:#10161e; }
.toolbar input,.inbox-toolbar input { height:38px; font-size:11px; }
.toolbar > button,.section-heading button,.profile-actions button { min-height:38px; padding:0 13px; border-radius:3px; background:#26394c; font-size:10px; }
.admin-list,.customer-admin-list,.project-admin-list,.update-admin-list { border-color:#2d3744; border-radius:3px; background:#111820; }
.admin-list-head { min-height:32px; padding:0 12px; border-bottom-color:#36414e; background:#1a222c; color:#8996a5; font-size:8px; }
.customer-row { min-height:48px; gap:12px; padding:8px 12px; border-bottom-color:#27313d; }
.customer-row:hover { background:#18212b; }
.customer-symbol,.contact-avatar,.project-icon,.portal-user-icon,.request-icon { width:30px; height:30px; border-radius:3px; color:#9ab5cf; background:#1b2a39; }
.customer-symbol svg,.contact-avatar svg,.project-icon svg,.portal-user-icon svg,.request-icon svg { width:15px; height:15px; }
.customer-name strong { font-size:11px; }
.customer-name small,.customer-row > span,.customer-row code { font-size:9px; }
.row-arrow { color:#8297aa!important; font-size:17px!important; }
.empty { padding:38px; }

/* Datensatz- und Projektseiten */
.profile-hero,.project-workspace-hero { margin:16px 0 12px; padding:14px 16px; border-color:#2d3744; border-radius:4px; background:#141c25; }
.profile-hero p { margin-top:4px; font-size:10px; }
.profile-actions { gap:6px; }
.detail-grid { gap:8px; }
.detail-panel,.note-panel { padding:16px; border-color:#2d3744; border-radius:4px; background:#121920; }
.detail-panel h2,.content-section h2 { margin:5px 0 14px; font-size:16px; }
.detail-values { gap:13px; }
.detail-value span,.project-meta span { font-size:8px; }
.detail-value strong,.project-meta strong { margin-top:4px; font-size:10px; }
.quick-links { gap:5px; }
.quick-link { min-height:32px; padding:6px 8px; border-color:#2b3744; border-radius:3px; background:#0f151c; font-size:9px; }
.note-panel { margin-top:8px; }
.note-panel p { margin-top:7px; font-size:10px; }
.content-section { margin-top:22px; }
.section-heading { margin-bottom:7px; }
.section-heading h2 { font-size:17px; }
.contact-list,.project-list,.portal-user-list,.service-request-list { gap:4px; }
.contact-card,.portal-user-card,.service-request-card { gap:10px; padding:9px 11px; border-color:#2b3541; border-radius:3px; background:#111820; }
.contact-main strong,.portal-user-main strong { font-size:10px; }
.contact-main small,.portal-user-main small,.portal-user-main > a { font-size:8px; }
.contact-links { gap:4px; margin-top:6px; }
.icon-button { width:30px; height:30px; border-radius:3px; background:#121920; }
.icon-button svg { width:14px; height:14px; }
.project-card { gap:10px; padding:10px 12px; border-color:#2b3541; border-radius:3px; background:#111820; }
.project-copy > strong { margin-top:4px; font-size:11px; }
.project-copy > small,.project-copy p { margin-top:4px; font-size:8px; }
.project-meta { gap:10px; }
.table-action { min-height:30px; border-radius:3px; font-size:9px; }
.project-workspace-hero { grid-template-columns:minmax(0,1fr) auto; gap:18px; }
.project-workspace-hero h2 { margin:5px 0; font-size:25px; letter-spacing:-.025em; }
.project-workspace-hero p { font-size:10px; }
.project-workspace-meta { min-width:320px; gap:0; border:1px solid #2d3744; }
.project-workspace-meta > div { padding:10px; border-right:1px solid #2d3744; }
.workspace-summary-grid { gap:8px; }
.workspace-summary-grid > article,.milestone-card,.update-row { border-color:#2b3541; border-radius:3px; background:#111820; }
.milestone-card { padding:10px 12px; }
.update-row { padding:9px 11px; }

/* Kommunikation */
.inbox-panel { border-color:#2d3744; border-radius:3px; background:#111820; }
.inbox-toolbar { padding:14px; border-bottom-color:#2d3744; }
.inbox-filterbar { padding:8px 12px; border-bottom-color:#2d3744; background:#151d26; }
.inbox-filters button { padding:5px 7px; border-radius:3px; font-size:9px; }
.inbox-list-head,.inbox-request-row { grid-template-columns:38px minmax(210px,1.2fr) minmax(142px,.72fr) minmax(145px,.7fr) 142px 90px 126px 66px; }
.inbox-list-head { min-height:34px; display:grid; align-items:center; padding:0 14px; color:#71849a; border-bottom:1px solid #34404d; background:#0d131a; font-size:8px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.inbox-list-head > span:not(:first-child) { padding:0 14px; }
.inbox-request-row { min-height:76px; gap:0; padding:0 14px; border-bottom-color:#293440; background:transparent; }
.inbox-request-row:hover { background:#18212b; }
.inbox-request-row:focus-visible { z-index:1; outline:2px solid #76a8df; outline-offset:-2px; }
.inbox-request-row .request-icon { align-self:center; }
.inbox-request-summary { min-width:0; align-self:stretch; display:grid; align-content:center; gap:6px; padding:10px 14px; text-align:left; }
.inbox-request-summary > b,.inbox-request-summary > em,.inbox-request-customer > strong,.inbox-request-customer > code,.inbox-request-context > strong,.inbox-request-context > small { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.inbox-request-summary > b { color:#e8edf3; font-size:12px; }
.inbox-request-summary > em { color:#8c9daf; font-size:9px; font-style:normal; }
.inbox-request-customer,.inbox-request-context,.inbox-request-meta,.inbox-request-priority-cell,.inbox-request-status-cell { min-width:0; min-height:54px; align-self:stretch; display:flex; justify-content:center; flex-direction:column; gap:5px; padding:10px 14px; border-left:1px solid #293440; text-align:left; }
.inbox-request-customer strong { color:#e4ebf3; font-size:10px; }
.inbox-request-customer code { color:#77a9da; font-size:8px; }
.inbox-request-context strong { color:#77a9da; font-size:8px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.inbox-request-context small { color:#8c9daf; font-size:8px; }
.inbox-request-meta { gap:5px; }
.inbox-request-meta time { color:#d2dae3; font-size:9px; }
.inbox-request-meta > span { color:#8294a7; font-size:8px; }
.inbox-request-meta mark { border-radius:2px; }
.inbox-request-priority-cell,.inbox-request-status-cell { align-items:flex-start; }
.inbox-open { align-self:stretch; display:flex; align-items:center; justify-content:flex-end; padding-left:12px; border-left:1px solid #293440; }
.request-status,.request-priority,.access-status,.archived-badge,.primary-badge,.count-badge { border-radius:3px; }

/* Modale Eingabemasken folgen dem Verwaltungsraster */
dialog { border-color:#3a4654; border-radius:5px; background:#141b23; box-shadow:0 20px 60px rgba(0,0,0,.5); }
dialog form,.request-dialog form { padding:22px; }
.dialog-head h2 { margin-top:5px; font-size:20px; }
.dialog-head .close { width:32px; height:32px; border-radius:3px; background:#10161d; }
.form-grid { gap:11px; margin-top:20px; }
.form-grid label,.request-settings label,.reply-label { font-size:9px; }
.form-grid input,.form-grid select,.form-grid textarea,.request-settings select,.reply-label textarea { min-height:39px; border-color:#34404e; border-radius:3px; background:#0e141b; }
.checkbox-label { min-height:39px; border-radius:3px; background:#0e141b; }
.dialog-actions { gap:7px; margin-top:20px; padding-top:14px; }
.dialog-actions button { min-height:36px; border-radius:3px; font-size:10px; }

@media (max-width:900px) {
  .office-shell aside { padding:9px 12px; background:#111720; }
  .office-shell .brand { padding:0; border:0; }
  .office-shell nav { margin-top:0; }
  .workspace { padding:18px 16px 32px; }
  .project-workspace-meta { min-width:0; }
  .inbox-list-head { display:none; }
  .inbox-request-row { grid-template-columns:38px minmax(0,1fr) auto; align-items:start; gap:0; padding:12px 14px; }
  .inbox-request-row .request-icon { grid-column:1; grid-row:1/7; align-self:start; }
  .inbox-request-summary { grid-column:2; grid-row:1; padding:0 12px 10px; }
  .inbox-request-customer,.inbox-request-context,.inbox-request-meta,.inbox-request-priority-cell,.inbox-request-status-cell { min-height:0; grid-column:2; align-self:auto; display:flex; align-items:center; flex-direction:row; justify-content:flex-start; gap:7px; padding:6px 12px; border:0; border-top:1px solid #293440; }
  .inbox-request-customer { grid-row:2; }
  .inbox-request-context { grid-row:3; }
  .inbox-request-meta { grid-row:4; }
  .inbox-request-priority-cell { grid-row:5; }
  .inbox-request-status-cell { grid-row:6; }
  .inbox-request-customer::before,.inbox-request-context::before,.inbox-request-meta::before,.inbox-request-priority-cell::before,.inbox-request-status-cell::before { content:attr(data-label); width:66px; flex:0 0 66px; color:#65788d; font-size:7px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
  .inbox-request-meta mark { margin-left:auto; }
  .inbox-open { grid-column:3; grid-row:1; align-self:start; padding:2px 0 0 12px; border:0; }
}

@media (max-width:650px) {
  .login { width:min(100% - 32px,560px); grid-template-columns:1fr; gap:32px; padding:94px 0 78px; }
  .login::before { background:#091321; }
  .login-brand { top:24px; }
  .login h1 { font-size:48px; }
  .login section p { font-size:14px; }
  .login-features { margin-top:22px; }
  .login-card { padding:25px; }
  .login-footer { bottom:20px; }
  .metrics { grid-template-columns:1fr 1fr; }
  .metrics article,.metrics .metric-link { border-bottom:1px solid #2a3441; }
  .metrics > :nth-child(2) { border-right:0; }
  .metrics > :nth-child(3),.metrics > :nth-child(4) { border-bottom:0; }
  .project-workspace-hero { grid-template-columns:1fr; }
  .inbox-request-row { grid-template-columns:30px minmax(0,1fr); }
  .inbox-open { grid-column:2; grid-row:7; justify-content:flex-start; margin-top:5px; padding:8px 12px 0; border-top:1px solid #293440; }
}

/* Konsolidierte Responsive-Regeln: Office auf Desktop, Tablet und Smartphone */
.office-shell,.workspace,.workspace > *,
.customer-row > *, .project-card > *, .inbox-request-row > *,
.contact-card > *, .portal-user-card > *, .service-request-card > * { min-width:0; }

@media (max-width:1180px) {
  .inbox-list-head { display:none; }
  .inbox-request-row {
    grid-template-columns:38px minmax(0,1fr) minmax(190px,.7fr) 74px;
    grid-template-areas:
      "icon summary customer open"
      "icon context activity open"
      "icon priority status open";
    min-height:0;
    padding:10px 12px;
  }
  .inbox-request-row .request-icon { grid-area:icon; align-self:start; margin-top:2px; }
  .inbox-request-summary { grid-area:summary; align-self:auto; padding:2px 12px 10px; }
  .inbox-request-customer { grid-area:customer; }
  .inbox-request-context { grid-area:context; }
  .inbox-request-meta { grid-area:activity; }
  .inbox-request-priority-cell { grid-area:priority; }
  .inbox-request-status-cell { grid-area:status; }
  .inbox-request-customer,.inbox-request-context,.inbox-request-meta,
  .inbox-request-priority-cell,.inbox-request-status-cell {
    min-height:0;
    align-self:auto;
    display:flex;
    align-items:center;
    flex-direction:row;
    justify-content:flex-start;
    gap:7px;
    padding:7px 12px;
    border:0;
    border-top:1px solid #293440;
  }
  .inbox-request-customer::before,.inbox-request-context::before,
  .inbox-request-meta::before,.inbox-request-priority-cell::before,
  .inbox-request-status-cell::before {
    content:attr(data-label);
    width:72px;
    flex:0 0 72px;
    color:#65788d;
    font-size:7px;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  .inbox-request-meta mark { margin-left:auto; }
  .inbox-open { grid-area:open; align-self:stretch; justify-content:flex-end; padding:0 0 0 12px; }
}

@media (max-width:900px) {
  .office-shell { display:block; }
  .office-shell aside {
    position:sticky;
    top:0;
    z-index:30;
    width:100%;
    height:auto;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:14px;
    padding:9px 14px;
    border-right:0;
    border-bottom:1px solid #2d3744;
    background:rgba(14,20,28,.97);
    backdrop-filter:blur(14px);
  }
  .office-shell .brand { min-width:0; }
  .office-shell .brand > .office-brand-mark { width:34px; height:34px; flex-basis:34px; }
  .office-shell .brand strong { font-size:11px; }
  .office-shell .brand small { font-size:7px; }
  .office-shell nav { justify-self:end; display:flex; gap:5px; margin:0; }
  .office-shell nav a { min-height:38px; padding:8px 10px; border-radius:3px; }
  .office-shell .nav-section,.office-shell .secure { display:none; }
  .workspace { width:100%; padding:18px 16px 34px; }
  .workspace > header { gap:14px; padding-bottom:14px; }
  .workspace > header h1 { font-size:clamp(23px,5vw,31px); }
  .account > span { max-width:160px; }
  .management-heading { align-items:flex-start; flex-direction:column; }
  .management-heading p { text-align:left; }
  .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .metrics > :nth-child(2) { border-right:0; }
  .metrics > :nth-child(-n+2) { border-bottom:1px solid #2a3441; }
  .metrics > :nth-child(n+3) { border-bottom:0; }
  .detail-grid { grid-template-columns:1fr; }
  .project-workspace-hero { grid-template-columns:1fr; }
  .project-workspace-meta { min-width:0; }
  .workspace-summary-grid { grid-template-columns:1fr 1fr; }
  .portal-summary { grid-column:1/-1; }
}

@media (max-width:720px) {
  html,body,#app { min-width:0; }
  body { overflow-x:hidden; }
  .login {
    width:min(100% - 28px,560px);
    min-height:100dvh;
    grid-template-columns:1fr;
    align-content:start;
    gap:28px;
    padding:88px 0 28px;
  }
  .login-brand { top:20px; }
  .login-brand-mark { width:42px; height:42px; flex-basis:42px; }
  .login-intro { padding-top:12px; }
  .login h1 { margin:13px 0 18px; font-size:clamp(46px,13vw,66px); line-height:.9; }
  .login section p { font-size:14px; line-height:1.6; }
  .login-features { margin-top:20px; }
  .login-card { padding:24px; border-radius:10px; }
  .login-card h2 { font-size:24px; }
  .login-card button { min-height:48px; }
  .login-footer { position:static; margin-top:2px; padding-top:18px; border-top:1px solid var(--line); }

  .office-shell aside { grid-template-columns:36px minmax(0,1fr); padding:8px 12px; }
  .office-shell .brand { width:36px; }
  .office-shell .brand > div { display:none; }
  .office-shell nav a { width:42px; height:42px; justify-content:center; gap:0; padding:0; font-size:0; }
  .office-shell nav a span { display:none; }
  .office-shell nav a svg { width:18px; height:18px; }
  .nav-badge { position:absolute; top:-4px; right:-4px; min-width:17px; height:17px; margin:0; font-size:7px; }
  .workspace { padding:14px 12px 30px; }
  .workspace > header { align-items:center; }
  .workspace > header .eyebrow { font-size:8px; }
  .workspace > header h1 { margin-top:5px; font-size:22px; line-height:1.08; }
  .account > span { display:none; }
  .account button { width:42px; height:42px; }

  .metrics { gap:0; margin:12px 0 20px; }
  .metrics article,.metrics .metric-link { min-height:72px; padding:10px 12px; }
  .metrics strong { font-size:17px; }
  .toolbar,.inbox-toolbar { align-items:stretch; flex-direction:column; }
  .toolbar label,.inbox-toolbar label { width:100%; min-width:0; }
  .toolbar > button { width:100%; min-height:44px; justify-content:center; }

  .customer-admin-list { overflow:visible; border:0; background:transparent; }
  .customer-list-head { display:none; }
  #customer-list { display:grid; gap:7px; }
  .customer-row {
    grid-template-columns:32px minmax(0,1fr) 18px;
    grid-template-rows:auto auto auto auto;
    gap:4px 10px;
    padding:11px 12px;
    border:1px solid #2d3744;
    border-radius:3px;
    background:#111820;
  }
  .customer-row:last-child { border-bottom:1px solid #2d3744; }
  .customer-symbol { grid-column:1; grid-row:1/5; align-self:start; }
  .customer-name { grid-column:2; grid-row:1; }
  .customer-row code,.customer-row .status,.customer-row .customer-city {
    grid-column:2/4;
    display:flex;
    align-items:center;
    gap:8px;
    margin:0;
    padding-top:5px;
    border-top:1px solid #27313d;
  }
  .customer-row code { grid-row:2; }
  .customer-row .status { grid-row:3; }
  .customer-row .customer-city { grid-row:4; color:var(--muted); }
  .customer-row code::before,.customer-row .status::before,.customer-row .customer-city::before {
    content:attr(data-label);
    width:78px;
    flex:0 0 78px;
    color:#65788d;
    font-family:Inter,ui-sans-serif,system-ui,sans-serif;
    font-size:7px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .customer-row .row-arrow { grid-column:3; grid-row:1; align-self:center; }

  .profile-hero { align-items:stretch; flex-direction:column; padding:14px; }
  .profile-actions { width:100%; }
  .profile-actions button { min-height:44px; flex:1; justify-content:center; }
  .detail-panel,.note-panel { padding:14px; }
  .detail-values { grid-template-columns:1fr 1fr; }
  .section-heading { align-items:stretch; flex-direction:column; gap:10px; }
  .section-heading button { width:100%; min-height:44px; justify-content:center; }
  .contact-card,.portal-user-card { grid-template-columns:32px minmax(0,1fr); align-items:start; }
  .contact-actions,.portal-user-actions { grid-column:2; }
  .contact-links { flex-direction:column; }
  .contact-links .quick-link { width:100%; }
  .portal-user-actions .icon-button { min-width:44px; min-height:44px; flex:1; }

  .project-list-head,.update-list-head { display:none; }
  .project-card { grid-template-columns:1fr 1fr; gap:10px; padding:12px; }
  .project-copy { grid-column:1/-1; }
  .project-cell { padding-top:8px; border-top:1px solid #2d3744; }
  .project-cell span { display:block; margin-bottom:4px; }
  .project-actions { grid-column:1/-1; grid-row:auto; justify-content:stretch; padding-top:10px; border-top:1px solid #2d3744; }
  .project-actions .table-action { flex:1; min-height:42px; }
  .project-actions .icon-button { width:42px; height:42px; flex:0 0 42px; }
  .update-row { grid-template-columns:1fr; gap:8px; padding:12px; }
  .update-row > time::before { content:"Zeitpunkt"; display:block; margin-bottom:4px; color:#7189a5; font-size:7px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
  .update-actions { grid-column:auto; justify-content:flex-start; padding-top:8px; border-top:1px solid #2d3744; }
  .update-actions .icon-button { width:42px; height:42px; }
  .project-workspace-hero { padding:14px; }
  .project-workspace-hero h2 { font-size:23px; }
  .project-workspace-meta { grid-template-columns:1fr; }
  .project-workspace-meta > div { border-right:0; border-bottom:1px solid #2d3744; }
  .project-workspace-meta > div:last-child { border-bottom:0; }
  .workspace-summary-grid { grid-template-columns:1fr; }
  .portal-summary { grid-column:auto; }
  .milestone-card { grid-template-columns:32px minmax(0,1fr); align-items:start; }
  .milestone-actions { grid-column:2; }

  .inbox-toolbar { gap:13px; padding:12px; }
  .inbox-filterbar { align-items:flex-start; flex-direction:column; gap:8px; padding:8px 10px; }
  .inbox-filters { width:100%; flex-wrap:nowrap; padding-bottom:5px; overflow-x:auto; overscroll-behavior-inline:contain; }
  .inbox-filters button { flex:0 0 auto; min-height:36px; }
  .inbox-request-row {
    grid-template-columns:30px minmax(0,1fr);
    grid-template-areas:
      "icon summary"
      "icon customer"
      "icon context"
      "icon activity"
      "icon priority"
      "icon status"
      ". open";
    padding:12px 10px;
  }
  .inbox-request-summary { padding:0 10px 9px; }
  .inbox-request-customer,.inbox-request-context,.inbox-request-meta,
  .inbox-request-priority-cell,.inbox-request-status-cell { padding:6px 10px; }
  .inbox-request-customer::before,.inbox-request-context::before,
  .inbox-request-meta::before,.inbox-request-priority-cell::before,
  .inbox-request-status-cell::before { width:70px; flex-basis:70px; }
  .inbox-request-meta { align-items:flex-start; flex-wrap:wrap; }
  .inbox-request-meta mark { width:max-content; max-width:100%; margin:0; }
  .inbox-open { align-self:auto; justify-content:flex-start; margin-top:5px; padding:9px 10px 0; border:0; border-top:1px solid #293440; }

  dialog,.project-dialog,.confirm-dialog,.request-dialog {
    width:calc(100% - 16px);
    max-height:calc(100dvh - 16px);
    margin:auto;
    border-radius:5px;
  }
  dialog form,.request-dialog form { padding:16px; }
  .dialog-head { gap:12px; }
  .dialog-head h2 { font-size:19px; line-height:1.15; }
  .dialog-head .close { width:40px; height:40px; flex:0 0 40px; }
  .form-grid,.request-settings { grid-template-columns:1fr; }
  .form-grid .wide { grid-column:auto; }
  .form-grid input,.form-grid select,.form-grid textarea,
  .request-settings select,.reply-label textarea { font-size:16px; }
  .dialog-actions { display:grid; grid-template-columns:1fr 1fr; }
  .dialog-actions button { width:100%; min-height:44px; padding:0 10px; }
  .office-message { max-width:100%; }
}

@media (max-width:420px) {
  .login { width:calc(100% - 24px); padding-top:78px; }
  .login-brand { top:16px; }
  .login-brand > span:last-child small { max-width:190px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .login h1 { font-size:43px; }
  .login-card { padding:20px; }
  .login-footer { align-items:flex-start; flex-direction:column; gap:7px; }
  .workspace { padding-inline:9px; }
  .metrics span { font-size:8px; }
  .detail-values { grid-template-columns:1fr; }
  .profile-actions { flex-direction:column; }
  .project-card { grid-template-columns:1fr; }
  .project-copy,.project-actions { grid-column:1; }
  .inbox-request-customer,.inbox-request-context,.inbox-request-meta,
  .inbox-request-priority-cell,.inbox-request-status-cell { align-items:flex-start; flex-wrap:wrap; }
  .inbox-request-customer::before,.inbox-request-context::before,
  .inbox-request-meta::before,.inbox-request-priority-cell::before,
  .inbox-request-status-cell::before { width:100%; flex:0 0 100%; }
  .dialog-actions { grid-template-columns:1fr; }
}

@media (max-height:620px) and (orientation:landscape) {
  .login { align-content:start; padding-top:74px; }
  .login-intro { padding-top:0; }
  .login-footer { position:static; }
}

/* Arbeitsübersicht, Filter und Sortierung */
.notification-button {
  position:relative;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  color:#aab9c8;
  border:1px solid #2f3a47;
  border-radius:4px;
  background:#151d27;
  text-decoration:none;
}
.notification-button:hover { color:#fff; background:#1d2732; }
.notification-button svg { width:16px; height:16px; }
.notification-button b {
  position:absolute;
  top:-6px;
  right:-6px;
  min-width:17px;
  height:17px;
  display:grid;
  place-items:center;
  padding:0 4px;
  color:#0b1118;
  border:2px solid #0d1117;
  border-radius:999px;
  background:#8fb5d9;
  font-size:7px;
  font-weight:900;
}

.page-summary {
  display:flex;
  align-items:stretch;
  margin:16px 0 22px;
  border:1px solid #2a3441;
  border-radius:4px;
  background:#121820;
}
.page-summary > div { min-width:150px; padding:12px 15px; border-right:1px solid #2a3441; }
.page-summary > div:last-child { border-right:0; }
.page-summary strong,.page-summary span { display:block; }
.page-summary strong { color:#e4ebf2; font-size:18px; }
.page-summary span { margin-top:5px; color:#8d9baa; font-size:8px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.management-heading > strong { color:#91a0af; font-size:10px; font-weight:650; }

.admin-toolbar { align-items:stretch; }
.admin-toolbar .toolbar-search { min-width:260px; flex:1 1 360px; }
.admin-toolbar .toolbar-select,.request-controls label {
  min-width:155px;
  display:grid;
  align-content:center;
  gap:2px;
  padding:4px 9px;
  color:#74869a;
  border:1px solid #33404e;
  border-radius:3px;
  background:#10161e;
  font-size:7px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.admin-toolbar .toolbar-select select,.request-controls select {
  width:100%;
  height:22px;
  padding:0;
  color:#dce5ee;
  border:0;
  outline:0;
  background:transparent;
  font-size:10px;
  font-weight:650;
  letter-spacing:0;
  text-transform:none;
}
.request-controls { display:flex; justify-content:flex-end; gap:7px; padding:8px 12px; border-bottom:1px solid #2d3744; background:#0f151c; }
.request-controls label { min-width:180px; }

.dashboard-grid { display:grid; grid-template-columns:minmax(0,1fr) 270px; align-items:start; gap:12px; }
.dashboard-panel { overflow:hidden; border:1px solid #2d3744; border-radius:4px; background:#111820; }
.panel-heading { min-height:59px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 14px; border-bottom:1px solid #2d3744; background:#151d26; }
.panel-heading h2 { margin:4px 0 0; font-size:15px; }
.panel-heading > a { color:#8fb3d5; font-size:9px; font-weight:700; text-decoration:none; }
.panel-heading > a:hover { color:#fff; }
.dashboard-request-list { display:grid; }
.dashboard-request-row {
  width:100%;
  min-height:62px;
  display:grid;
  grid-template-columns:8px minmax(190px,1fr) 145px 150px 62px;
  align-items:center;
  gap:12px;
  padding:9px 13px;
  color:inherit;
  text-align:left;
  border:0;
  border-bottom:1px solid #293440;
  background:transparent;
}
.dashboard-request-row:last-child { border-bottom:0; }
.dashboard-request-row:hover { background:#18212b; }
.activity-state { width:6px; height:6px; border-radius:50%; background:#536170; }
.activity-state.new { background:#82b5e5; box-shadow:0 0 0 3px rgba(104,163,219,.12); }
.dashboard-request-main { min-width:0; }
.dashboard-request-main strong,.dashboard-request-main small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-request-main strong { font-size:11px; }
.dashboard-request-main small { margin-top:5px; color:#8798aa; font-size:8px; }
.dashboard-request-type { color:#8fb2d3; font-size:8px; font-weight:750; }
.dashboard-request-row time { color:#a1afbd; font-size:8px; }
.dashboard-request-row .inbox-open { min-height:0; align-self:center; padding:0; border:0; }
.office-shell .workspace .dashboard-side { position:static; height:auto; display:grid; gap:12px; padding:0; border:0; background:transparent; backdrop-filter:none; }
.attention-panel > a { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 14px; color:#c3ced9; border-bottom:1px solid #293440; text-decoration:none; }
.attention-panel > a:last-child { border-bottom:0; }
.attention-panel > a:hover { background:#18212b; }
.attention-panel > a span { font-size:9px; }
.attention-panel > a strong { color:#e8edf3; font-size:14px; }
.quick-actions { display:grid; }
.quick-actions > button,.quick-actions > a { min-height:39px; display:flex; align-items:center; gap:9px; padding:0 14px; color:#c3ced9; text-align:left; border:0; border-bottom:1px solid #293440; background:transparent; font-size:9px; font-weight:700; text-decoration:none; }
.quick-actions > :last-child { border-bottom:0; }
.quick-actions > button:hover,.quick-actions > a:hover { color:#fff; background:#18212b; }
.quick-actions svg { width:15px; height:15px; color:#89a9c7; }
.dashboard-metrics .urgent strong { color:#9bc8ef; }
.dashboard-metrics .metric-link small { margin-top:3px; color:#75879a; font-size:8px; }

@media (max-width:1050px) {
  .dashboard-grid { grid-template-columns:1fr; }
  .office-shell .workspace .dashboard-side { grid-template-columns:1fr 1fr; }
}

@media (max-width:720px) {
  .admin-toolbar { flex-direction:column; }
  .admin-toolbar .toolbar-search,.admin-toolbar .toolbar-select { width:100%; min-width:0; flex:auto; }
  .admin-toolbar .toolbar-select { min-height:45px; }
  .request-controls { display:grid; grid-template-columns:1fr 1fr; }
  .request-controls label { min-width:0; }
  .office-shell .workspace .dashboard-side { grid-template-columns:1fr; }
  .dashboard-request-row { grid-template-columns:8px minmax(0,1fr) 54px; gap:9px; }
  .dashboard-request-main { grid-column:2; }
  .dashboard-request-type { grid-column:2; }
  .dashboard-request-row time { grid-column:2; }
  .dashboard-request-row .inbox-open { grid-column:3; grid-row:1/4; }
  .page-summary { display:grid; grid-template-columns:repeat(3,1fr); }
  .page-summary > div { min-width:0; padding:10px; }
}

@media (max-width:440px) {
  .request-controls { grid-template-columns:1fr; }
}

/* Deutlicher Arbeitsstatus in der Anfrage-Inbox */
.inbox-request-row.needs-attention {
  min-height:88px;
  background:linear-gradient(90deg,rgba(52,112,166,.2),rgba(25,48,71,.13) 48%,rgba(17,24,32,.3));
  box-shadow:inset 4px 0 #78b4e8;
}
.inbox-request-row.needs-attention:hover { background:linear-gradient(90deg,rgba(59,126,187,.28),rgba(31,61,89,.2) 48%,#18212b); }
.inbox-request-row.needs-attention .request-icon { color:#b8dcfb; border:1px solid rgba(118,177,229,.28); background:#1d3850; }
.inbox-request-row.needs-attention .inbox-request-summary > b { color:#fff; }
.attention-flag {
  width:max-content;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 7px;
  color:#c7e6ff;
  border:1px solid rgba(118,177,229,.36);
  border-radius:3px;
  background:rgba(44,102,155,.28);
  font-size:7px;
  font-weight:900;
  letter-spacing:.1em;
  line-height:1;
  text-transform:uppercase;
}
.attention-flag i { width:6px; height:6px; border-radius:50%; background:#8ec8f7; box-shadow:0 0 7px rgba(120,186,242,.8); }

/* Management-Dashboard: Auswertungen statt doppelter Listen */
.analytics-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr); align-items:start; gap:12px; }
.analytics-grid .panel-heading > strong { color:#94a8bb; font-size:9px; font-weight:700; }
.activity-chart { height:235px; display:grid; grid-template-columns:repeat(14,minmax(12px,1fr)); align-items:end; gap:7px; padding:28px 18px 16px; }
.activity-column { height:100%; display:grid; grid-template-rows:18px minmax(0,1fr) 18px; align-items:end; justify-items:center; gap:5px; }
.activity-column > span { color:#a8b7c6; font-size:8px; font-weight:750; }
.activity-column > i { width:min(26px,72%); min-height:2px; align-self:end; border-radius:2px 2px 0 0; background:linear-gradient(#74afe4,#386b98); box-shadow:0 0 0 1px rgba(123,180,229,.12); }
.activity-column > small { color:#687b8f; font-size:7px; white-space:nowrap; }
.status-analytics { min-height:295px; }
.status-stack { height:13px; display:flex; margin:26px 18px 20px; overflow:hidden; border-radius:2px; background:#202a34; }
.status-stack > i { min-width:0; height:100%; display:block; }
.status-stack .status-new,.analytics-legend .status-new { background:#6bafe9; }
.status-stack .status-in_progress,.analytics-legend .status-in_progress { background:#7d8ed1; }
.status-stack .status-waiting_customer,.analytics-legend .status-waiting_customer { background:#d3a760; }
.status-stack .status-resolved,.analytics-legend .status-resolved { background:#70b792; }
.status-stack .status-closed,.analytics-legend .status-closed { background:#586777; }
.analytics-legend { display:grid; gap:0; padding:0 18px 18px; }
.analytics-legend > span { min-height:36px; display:grid; grid-template-columns:8px minmax(0,1fr) 28px 38px; align-items:center; gap:9px; border-bottom:1px solid #28323d; }
.analytics-legend > span:last-child { border-bottom:0; }
.analytics-legend > span > i { width:7px; height:7px; border-radius:2px; }
.analytics-legend b { color:#bbc6d1; font-size:9px; font-weight:650; }
.analytics-legend strong { color:#eef3f8; font-size:10px; text-align:right; }
.analytics-legend small { color:#75879a; font-size:8px; text-align:right; }
.category-analytics,.workload-analytics { min-height:260px; }
.horizontal-bars { display:grid; gap:18px; padding:24px 18px; }
.horizontal-bars > div { display:grid; grid-template-columns:112px minmax(0,1fr) 24px; align-items:center; gap:12px; }
.horizontal-bars span { color:#aebbc8; font-size:9px; }
.horizontal-bars > div > i { height:8px; overflow:hidden; border-radius:2px; background:#202a34; }
.horizontal-bars > div > i > b { height:100%; display:block; min-width:2px; border-radius:inherit; background:linear-gradient(90deg,#477ba9,#7caed9); }
.horizontal-bars strong { color:#e8edf3; font-size:10px; text-align:right; }
.workload-list { display:grid; }
.workload-list > a { min-height:43px; display:grid; grid-template-columns:22px minmax(0,1fr) 130px 28px; align-items:center; gap:10px; padding:0 14px; color:inherit; border-bottom:1px solid #293440; text-decoration:none; }
.workload-list > a:last-child { border-bottom:0; }
.workload-list > a:hover { background:#18212b; }
.workload-list > a > span { width:20px; height:20px; display:grid; place-items:center; color:#72869a; border:1px solid #2f3c49; border-radius:3px; font-size:8px; }
.workload-list > a > strong { min-width:0; overflow:hidden; color:#dce4ec; text-overflow:ellipsis; white-space:nowrap; font-size:9px; }
.workload-list > a > small { color:#788b9e; font-size:8px; text-align:right; }
.workload-list > a > b { color:#a9cceb; font-size:13px; text-align:right; }
.dashboard-metrics article small { margin-top:3px; color:#75879a; font-size:8px; }

@media (max-width:1050px) {
  .analytics-grid { grid-template-columns:1fr; }
  .status-analytics { min-height:0; }
}

@media (max-width:720px) {
  .inbox-request-row.needs-attention { min-height:0; }
  .attention-flag { margin-bottom:1px; }
  .activity-chart { height:205px; gap:3px; padding-inline:10px; }
  .activity-column > i { width:70%; }
  .activity-column > small { font-size:6px; transform:rotate(-45deg); transform-origin:center; }
  .horizontal-bars > div { grid-template-columns:88px minmax(0,1fr) 20px; gap:8px; }
  .workload-list > a { grid-template-columns:22px minmax(0,1fr) 24px; }
  .workload-list > a > small { grid-column:2; grid-row:2; padding-bottom:7px; text-align:left; }
  .workload-list > a > b { grid-column:3; grid-row:1/3; }
}

/* Lesbare native Auswahlmenüs in der dunklen Verwaltungsoberfläche */
select { color-scheme:dark; }
select option {
  color:#e8edf3;
  background:#141b23;
}
select option:checked {
  color:#fff;
  background:#28445f;
}

/* Erledigte Vorgänge bleiben als Historie verfügbar, treten aber zurück. */
.inbox-request-row:has(.request-status.status-resolved),
.inbox-request-row:has(.request-status.status-closed) {
  opacity:.48;
  background:#0d131a;
  filter:saturate(.55);
}
.inbox-request-row:has(.request-status.status-resolved):hover,
.inbox-request-row:has(.request-status.status-closed):hover {
  opacity:.78;
  background:#161e27;
}

/* Archivierte Kunden bleiben standardmäßig ausgeblendet. */
.toolbar .archive-toggle {
  min-width:max-content;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 12px;
  color:#aebbc8;
  border:1px solid #33404e;
  border-radius:3px;
  background:#10161e;
  font-size:9px;
  font-weight:700;
  white-space:nowrap;
}
.archive-toggle input {
  width:15px;
  height:15px;
  margin:0;
  accent-color:#6ea9dc;
}

@media (max-width:720px) {
  .toolbar .archive-toggle { width:100%; min-height:44px; justify-content:flex-start; }
}
