/* 1. Design-Tokens */
:root{color-scheme:dark;--bg:#101923;--surface:#1a2936;--header:#15212b;--line:#314352;--text:#eaf2f6;--muted:#a2b5c2;--accent:#46a3d7;--danger:#ed6565}
/* 2. Basis */
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,sans-serif}a{color:var(--accent)}
/* 3. Einzige obere Navigation */
.topbar{display:flex;align-items:center;min-height:66px;padding:10px clamp(14px,2vw,32px);gap:0;background:var(--header);border-bottom:1px solid var(--line);position:relative;z-index:10}
.brand{display:inline-flex;align-items:center;gap:11px;white-space:nowrap;color:var(--text);text-decoration:none;flex-shrink:0}
.brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:8px;background:var(--accent);color:#0c2333;font-weight:900;font-size:22px}.brand-name{font-size:19px;font-weight:750;letter-spacing:.025em}.brand-name b{color:var(--accent)}
.topnav{display:flex;align-items:center;gap:5px;margin-left:110px;min-width:0}
.topnav>a,.nav-trigger{display:inline-flex;align-items:center;gap:9px;border:0;background:transparent;padding:10px 12px;border-radius:7px;color:var(--muted);font:600 14px/1.4 system-ui,sans-serif;text-decoration:none;white-space:nowrap;cursor:pointer}
.topnav>a:hover,.topnav>a.active,.nav-trigger:hover,.nav-trigger.active,.nav-dropdown:focus-within .nav-trigger, .nav-dropdown.is-open .nav-trigger{background:var(--surface);color:var(--text)}
.nav-dropdown{position:relative}.nav-menu{position:absolute;top:100%;left:0;min-width:220px;padding:6px;background:var(--header);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 26px #0008;display:none;z-index:20}
.nav-dropdown.is-open .nav-menu{display:block}
.nav-menu a{display:block;padding:10px 12px;color:var(--text);text-decoration:none;border-radius:5px;white-space:nowrap}.nav-menu a:hover,.nav-menu a[aria-current=page]{background:var(--surface)}
.topbar-account{display:flex;align-items:center;gap:14px;margin-left:auto;flex-shrink:0}.topbar-account form{margin:0}.account-name{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;text-decoration:none}.account-dot{width:8px;height:8px;border-radius:50%;background:#67c69b}
.logout-button{padding:8px 12px;background:transparent;border:1px solid var(--line);font-size:13px}
/* 4. Inhalt und Komponenten */
main{max-width:1320px;margin:auto;padding:24px}h1{font-size:25px}h2{font-size:18px}p{color:var(--muted)}.panel,.card{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:20px;margin:16px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.grid .card{margin:0}
label{display:block;margin:12px 0;font-weight:600}input,select,textarea{display:block;width:100%;padding:10px;margin-top:5px;background:var(--bg);color:var(--text);border:1px solid #496073;border-radius:6px;font:inherit}input[type=checkbox]{display:inline;width:auto}button,.button{display:inline-block;padding:10px 16px;color:var(--text);background:#34495a;border:1px solid #587187;border-radius:7px;cursor:pointer;text-decoration:none;font:inherit}.primary{background:#176fa5;border-color:#238ecb}button:hover,.button:hover{filter:brightness(1.12)}
.notice{padding:12px;border-left:4px solid var(--accent);background:#203a48;margin:15px 0}.error{padding:12px;border-left:4px solid var(--danger);background:#432328;margin:15px 0}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;padding:10px 8px;vertical-align:top}th{color:var(--muted)}small{color:var(--muted)}code{word-break:break-all}footer{padding:16px 24px;text-align:center;font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.warn{border-left:4px solid #e5b35b;padding:12px;background:#392d22}.status{font-weight:700}.empty{padding:30px;text-align:center;color:#a9c7ce;border:1px dashed var(--line);border-radius:10px}.login-panel{max-width:430px}
/* 5. Responsive und Barrierefreiheit */
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:850px){.topbar{flex-wrap:wrap;gap:8px}.topnav{order:3;width:100%;margin-left:0;flex-wrap:wrap}.topbar-account{margin-left:auto}.nav-menu{min-width:190px}}@media(max-width:550px){main{padding:12px}table{font-size:13px}.brand-name{font-size:16px}.topnav>a,.nav-trigger{padding:8px 10px;font-size:13px}.topbar-account{gap:7px}.nav-menu{left:auto;right:0}}

/* Kompakte Bearbeitungsformulare */
.inline-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inline-actions form{display:inline-flex;align-items:center;gap:7px;margin:0}.inline-actions input,.inline-actions select{width:auto;max-width:210px;margin:0}.button-danger{border-color:var(--danger);color:#ffc6c6}.user-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.user-edit-grid label{margin:0}.user-edit-grid input,.user-edit-grid select{max-width:100%}

/* Rotorsoft status dot in existing topbar */
.soap-indicator{display:inline-block;flex:none;width:15px;height:15px;border-radius:50%;background:#81909e;border:2px solid #263745;box-shadow:0 0 0 3px #81909e22}
.soap-indicator-ok{background:#2dbf79}.soap-indicator-error{background:#ed5656}.soap-indicator-neutral{background:#f4a33c}.soap-indicator-disabled{background:#89939a}

/* SOAP-Status direkt bei Benutzerkonto, rechts in der Topbar */
.topnav{margin-right:auto}.soap-status-link{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;margin-left:18px;margin-right:18px;color:var(--muted);font-size:12px;font-weight:700;text-decoration:none}.soap-status-link:hover{color:var(--text)}.soap-indicator-ok{box-shadow:0 0 0 3px #2dbf7933}.soap-indicator-error{box-shadow:0 0 0 3px #ed565633}.soap-indicator-neutral{box-shadow:0 0 0 3px #f4a33c33}
