:root{--bg:#f5f7fb;--panel:#fff;--text:#172033;--muted:#64748b;--line:#dbe3ef;--primary:#2563eb;--primary2:#1d4ed8;--danger:#dc2626;--ok:#15803d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.topbar{height:64px;background:#0f172a;color:white;display:flex;align-items:center;padding:0 24px;gap:24px}.brand{font-size:20px;font-weight:800}.brand span{font-size:12px;color:#93c5fd}nav{display:flex;gap:14px;flex:1}nav a,.user a{color:#dbeafe;text-decoration:none}.user{font-size:14px;color:#cbd5e1}.container{max-width:1240px;margin:24px auto;padding:0 18px}h1{margin:0 0 18px}h2{margin-top:26px}.page-head{display:flex;align-items:center;justify-content:space-between}.grid.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:18px 0}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 8px 20px rgba(15,23,42,.05)}.card strong{display:block;font-size:30px}.card span,.muted,.hint{color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 8px 20px rgba(15,23,42,.04)}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}th{background:#f8fafc;color:#334155}.pill{display:inline-block;border:1px solid var(--line);background:#f8fafc;border-radius:999px;padding:3px 8px;font-size:12px}.btn{display:inline-block;border:1px solid var(--line);background:white;color:var(--text);padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:700;cursor:pointer}.btn.primary{background:var(--primary);border-color:var(--primary);color:white}.btn.primary:hover{background:var(--primary2)}.form{display:flex;flex-direction:column;gap:14px}.form.wide{max-width:860px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px}label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px}input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:white}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.alert{padding:10px 12px;border-radius:10px;margin-bottom:14px}.alert.error{background:#fee2e2;color:#991b1b}.alert.ok{background:#dcfce7;color:#166534}.auth-body{display:grid;place-items:center;min-height:100vh;background:linear-gradient(135deg,#e0f2fe,#f8fafc)}.auth-card{width:min(420px,92vw);background:white;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 18px 45px rgba(15,23,42,.12)}@media(max-width:800px){.topbar{height:auto;align-items:flex-start;flex-direction:column;padding:16px}.split,.row{grid-template-columns:1fr}nav{flex-wrap:wrap}.container{margin:16px auto}}
.filters{display:grid;grid-template-columns:2fr repeat(4,minmax(130px,1fr));gap:10px;margin:14px 0 18px;align-items:end}.small{padding:6px 9px;font-size:12px}.detail-layout{align-items:start}.meta{display:grid;grid-template-columns:140px 1fr;gap:8px 12px}.meta dt{font-weight:800;color:#334155}.meta dd{margin:0}.inline-form{display:flex;gap:10px;align-items:center;margin-top:18px}.comment{border-top:1px solid var(--line);padding:12px 0}.comment:first-of-type{border-top:0}.comment span{display:block;color:var(--muted);font-size:12px}.board{display:grid;grid-template-columns:repeat(7,minmax(220px,1fr));gap:14px;overflow-x:auto;padding-bottom:12px}.board-col{background:#eef2f7;border:1px solid var(--line);border-radius:16px;padding:12px;min-height:260px}.board-col h2{font-size:14px;margin:0 0 12px}.task-card{background:white;border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px;box-shadow:0 8px 18px rgba(15,23,42,.05)}.task-card p{margin:6px 0}.task-card form{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:10px}.empty{font-style:italic}.status-done{background:#dcfce7;color:#166534}.status-blocked{background:#fee2e2;color:#991b1b}.status-in_progress{background:#dbeafe;color:#1d4ed8}.status-in_review{background:#fef9c3;color:#854d0e}.status-cancelled{background:#e5e7eb;color:#374151}@media(max-width:900px){.filters{grid-template-columns:1fr}.inline-form{flex-direction:column;align-items:stretch}}

.actions{display:flex;gap:10px;align-items:center}.progress{height:9px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-top:6px}.progress i{display:block;height:100%;background:var(--primary);border-radius:999px}.btn.danger{background:#fee2e2;border-color:#fecaca;color:#991b1b}.form.compact{margin-top:14px}.check-item{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}.check{width:30px;height:30px;border-radius:999px;border:1px solid var(--line);background:white;cursor:pointer}.check.done{background:#dcfce7;color:#166534;border-color:#86efac}.check-item span{font-size:14px}.status-backlog{background:#f1f5f9;color:#334155}.status-todo{background:#f8fafc;color:#334155}.status-critical,.priority-critical{background:#fee2e2;color:#991b1b}@media(max-width:700px){.actions{flex-direction:column;align-items:stretch}.actions .btn{text-align:center}}

.doc-content{line-height:1.65;white-space:normal}.actions form{margin:0}input[type=file]{background:#f8fafc}.card table{box-shadow:none}

/* v0.5: Benachrichtigungen, Meine Aufgaben, Beobachter */
.badge{display:inline-block;min-width:1.35rem;padding:.1rem .35rem;border-radius:999px;background:#b91c1c;color:#fff;font-size:.75rem;text-align:center;margin-left:.25rem}
tr.unread{background:#fff7ed;font-weight:600}
.tag-list{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.75rem}
.tag{display:inline-flex;align-items:center;border:1px solid #d1d5db;border-radius:999px;padding:.2rem .55rem;background:#f9fafb;font-size:.9rem}


/* v0.6: Kalender, Tags, gespeicherte Filter */
.filters.v06{grid-template-columns:2fr repeat(6,minmax(120px,1fr)) auto auto}.save-filter input{max-width:260px}.compact-split{grid-template-columns:1fr 1fr;align-items:start}.tag form{display:inline;margin-left:.25rem}.link-danger{border:0;background:transparent;color:#991b1b;font-weight:800;cursor:pointer;padding:0 .2rem}.priority-low{background:#f1f5f9;color:#475569}.priority-medium{background:#dbeafe;color:#1d4ed8}.priority-high{background:#fef3c7;color:#92400e}.priority-critical{background:#fee2e2;color:#991b1b}.calendar-filter{grid-template-columns:minmax(180px,260px) minmax(180px,260px) auto}.calendar-list{display:grid;gap:14px}.calendar-day h2{margin-top:0}.calendar-item{display:grid;grid-template-columns:auto minmax(200px,1fr) minmax(220px,1fr);gap:10px;align-items:center;border-top:1px solid var(--line);padding:10px 0}.calendar-item:first-of-type{border-top:0}.calendar-item.milestone{background:#f8fafc;border-radius:10px;padding-left:10px;padding-right:10px}@media(max-width:1100px){.filters.v06{grid-template-columns:1fr 1fr}.compact-split{grid-template-columns:1fr}.calendar-item{grid-template-columns:1fr}}@media(max-width:700px){.filters.v06,.calendar-filter{grid-template-columns:1fr}}

/* v0.7: erweiterte Boards, WIP und Projektrollen */
.board.v07{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));align-items:start}.board.v07 .board-col{min-height:320px}.board-col.over-wip{border-color:#f59e0b;background:#fffbeb}.board-col.drop-target{outline:3px dashed var(--primary);outline-offset:3px}.task-card.dragging{opacity:.55;transform:scale(.98)}.board-filter{grid-template-columns:minmax(260px,480px) auto}.board-move-form{opacity:.9}.inline-mini{display:flex;gap:8px;align-items:center}.inline-mini select{min-width:150px}.checkline{display:flex;flex-direction:row;align-items:center;gap:8px}.checkline input{width:auto}@media(max-width:900px){.board-filter{grid-template-columns:1fr}.inline-mini{flex-direction:column;align-items:stretch}}

/* v0.8: Agile Backlog, Epics und Sprints */
details{margin:.25rem 0}summary.btn{list-style:none;display:inline-block}summary.btn::-webkit-details-marker{display:none}.inline-mini input[type=number]{max-width:90px}.card .inline-mini{flex-wrap:wrap}.agile-meta{display:flex;gap:.5rem;flex-wrap:wrap}.pill.sprint-active,.status-active{background:#dcfce7;color:#166534}.pill.sprint-planned,.status-planned{background:#dbeafe;color:#1d4ed8}.pill.sprint-closed,.status-closed{background:#e5e7eb;color:#374151}.pill.epic-open{background:#f8fafc;color:#334155}.pill.epic-in_progress{background:#dbeafe;color:#1d4ed8}.pill.epic-done{background:#dcfce7;color:#166534}@media(max-width:1000px){table{display:block;overflow-x:auto}.inline-mini{align-items:stretch}}

/* v0.25: UI- und Navigationskonsolidierung */
.topbar.v025{height:auto;min-height:64px;display:block;padding:0;background:#0f172a;color:#fff;box-shadow:0 10px 30px rgba(15,23,42,.18)}
.topbar.v025 .topbar-main{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 24px;border-bottom:1px solid rgba(148,163,184,.22)}
.topbar.v025 .brand{color:#fff;text-decoration:none;font-size:20px;font-weight:900;letter-spacing:.01em;white-space:nowrap}.topbar.v025 .brand span{font-size:12px;color:#93c5fd;margin-left:4px}.topbar.v025 .user{font-size:14px;color:#cbd5e1;white-space:nowrap}.topbar.v025 .user a{color:#dbeafe;text-decoration:none}
.main-nav{display:flex;align-items:stretch;gap:0;padding:0 18px 10px;overflow-x:auto;flex:1}.main-nav a{color:#dbeafe;text-decoration:none;border-radius:9px;padding:7px 9px;font-size:13px;line-height:1.1;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.main-nav a:hover{background:rgba(59,130,246,.22);color:#fff}.main-nav a.active,.main-nav .nav-home.active{background:#2563eb;color:#fff}.main-nav .nav-home{align-self:flex-start;margin:12px 10px 0 0;font-weight:800;background:rgba(15,23,42,.35)}
.nav-section{border-left:1px solid rgba(148,163,184,.22);padding:8px 10px 0;min-width:max-content}.nav-section strong{display:block;color:#93c5fd;text-transform:uppercase;font-size:10px;letter-spacing:.07em;margin:0 0 5px 8px}.nav-section div{display:flex;gap:4px;flex-wrap:wrap;max-width:360px}.nav-section .badge{background:#dc2626;color:#fff;font-size:10px;padding:.05rem .3rem;margin-left:2px}.breadcrumbs{display:flex;align-items:center;gap:8px;margin:-6px 0 16px;color:var(--muted);font-size:13px}.breadcrumbs a{color:var(--muted);text-decoration:none}.breadcrumbs strong{color:#334155}.container{max-width:1320px}.page-head{gap:16px}.page-head h1{line-height:1.15}.page-head .actions{flex-wrap:wrap}.module-hint{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:14px;padding:12px 14px;margin:10px 0 18px}
@media(max-width:1100px){.topbar.v025 .topbar-main{align-items:flex-start;flex-direction:column;padding:14px 16px}.main-nav{padding:0 10px 12px}.nav-section div{max-width:520px}.topbar.v025 .user{white-space:normal}}
@media(max-width:720px){.main-nav{display:block;overflow-x:visible}.main-nav .nav-home{display:inline-flex;margin:10px 6px}.nav-section{border-left:0;border-top:1px solid rgba(148,163,184,.22);padding:10px 6px}.nav-section div{max-width:none}.topbar.v025 .topbar-main{gap:8px}.breadcrumbs{flex-wrap:wrap}}


/* v0.25.1: ausklappbares Hauptmenü für begrenzten oberen Rand */
.topbar.v025{position:sticky;top:0;z-index:1000}
.topbar.v025 .topbar-main{min-height:58px;padding:12px 22px}
.dropdown-nav{display:flex;align-items:center;gap:8px;padding:9px 18px 10px;overflow:visible;min-height:48px;background:#0f172a;border-top:0}
.dropdown-nav .nav-home{margin:0;padding:10px 13px;border-radius:11px;font-weight:800;background:rgba(15,23,42,.35);color:#dbeafe;text-decoration:none;white-space:nowrap}
.dropdown-nav .nav-home:hover,.dropdown-nav .nav-home.active{background:#2563eb;color:#fff}
.nav-dropdown{position:relative;display:inline-flex;align-items:center;min-width:0;padding:0;border-left:0}
.nav-dropbtn{border:1px solid rgba(148,163,184,.24);background:rgba(15,23,42,.28);color:#dbeafe;border-radius:11px;padding:10px 12px;font:inherit;font-size:13px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;line-height:1}
.nav-dropbtn i{font-style:normal;color:#93c5fd;font-size:12px;transition:transform .16s ease}
.nav-dropdown.active .nav-dropbtn,.nav-dropdown.open .nav-dropbtn,.nav-dropdown:hover .nav-dropbtn{background:#1e293b;border-color:rgba(147,197,253,.42);color:#fff}
.nav-dropdown.open .nav-dropbtn i,.nav-dropdown:hover .nav-dropbtn i{transform:rotate(180deg)}
.nav-menu{position:absolute;top:calc(100% + 8px);left:0;display:none;min-width:230px;max-width:min(360px,calc(100vw - 28px));background:#fff;color:#172033;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 45px rgba(15,23,42,.22);padding:8px;z-index:1010}
.nav-menu:before{content:"";position:absolute;top:-8px;left:18px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #fff}
.nav-dropdown:hover .nav-menu,.nav-dropdown.open .nav-menu{display:grid;grid-template-columns:1fr;gap:4px}
.nav-menu a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 11px;border-radius:11px;color:#172033;text-decoration:none;font-size:14px;line-height:1.2;white-space:normal}
.nav-menu a:hover{background:#eff6ff;color:#1d4ed8}
.nav-menu a.active{background:#2563eb;color:#fff;font-weight:800}
.nav-menu .badge{background:#dc2626;color:#fff;font-size:10px;padding:.05rem .35rem;margin-left:6px}
.breadcrumbs{margin:0 0 16px}
@media(max-width:900px){.topbar.v025 .topbar-main{padding:12px 16px}.dropdown-nav{padding:8px 12px;overflow-x:auto;overflow-y:visible;scrollbar-width:thin}.nav-menu{position:fixed;top:112px;left:12px;right:12px;max-width:none;width:auto}.nav-menu:before{display:none}.topbar.v025 .user{font-size:13px}}
@media(max-width:620px){.topbar.v025 .topbar-main{gap:8px}.dropdown-nav{display:flex}.dropdown-nav .nav-home,.nav-dropbtn{padding:9px 10px}.nav-menu{top:108px}.brand{font-size:18px}}

/* v0.25.2: echtes ausrollendes Hauptmenü ohne sichtbare Linklisten */
.topbar.v0252{height:auto;min-height:0;display:block;padding:0;background:#0f172a;color:#fff;box-shadow:0 10px 30px rgba(15,23,42,.18);position:sticky;top:0;z-index:1000}
.topbar.v0252 .topbar-main{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px;padding:12px 22px;border-bottom:1px solid rgba(148,163,184,.22)}
.topbar.v0252 .brand{color:#fff;text-decoration:none;font-size:20px;font-weight:900;letter-spacing:.01em;white-space:nowrap}.topbar.v0252 .brand span{font-size:12px;color:#93c5fd;margin-left:4px}.topbar.v0252 .user{font-size:14px;color:#cbd5e1;white-space:nowrap}.topbar.v0252 .user a{color:#dbeafe;text-decoration:none}
.rollout-nav{display:flex;align-items:center;gap:8px;padding:9px 18px 10px;overflow:visible;min-height:48px;background:#0f172a;position:relative}
.rollout-nav .nav-home{display:inline-flex;align-items:center;margin:0;padding:10px 13px;border-radius:11px;font-weight:800;background:rgba(15,23,42,.35);color:#dbeafe;text-decoration:none;white-space:nowrap;border:1px solid rgba(148,163,184,.16)}
.rollout-nav .nav-home:hover,.rollout-nav .nav-home.active{background:#2563eb;color:#fff;border-color:#2563eb}
.rollout-group{position:relative;display:inline-block;margin:0;padding:0;border:0}
.rollout-group summary{list-style:none;border:1px solid rgba(148,163,184,.24);background:rgba(15,23,42,.28);color:#dbeafe;border-radius:11px;padding:10px 12px;font:inherit;font-size:13px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;line-height:1;user-select:none}
.rollout-group summary::-webkit-details-marker{display:none}.rollout-group summary i{font-style:normal;color:#93c5fd;font-size:12px;transition:transform .16s ease}.rollout-group[open] summary i{transform:rotate(180deg)}
.rollout-group.active summary,.rollout-group[open] summary,.rollout-group summary:hover{background:#1e293b;border-color:rgba(147,197,253,.42);color:#fff}
.rollout-panel{position:absolute;top:calc(100% + 8px);left:0;display:grid;grid-template-columns:1fr;gap:4px;min-width:235px;max-width:min(370px,calc(100vw - 28px));background:#fff;color:#172033;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 45px rgba(15,23,42,.22);padding:8px;z-index:1200}
.rollout-panel:before{content:"";position:absolute;top:-8px;left:18px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #fff}.rollout-panel a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 11px;border-radius:11px;color:#172033;text-decoration:none;font-size:14px;line-height:1.2;white-space:normal}.rollout-panel a:hover{background:#eff6ff;color:#1d4ed8}.rollout-panel a.active{background:#2563eb;color:#fff;font-weight:800}.rollout-panel .badge{background:#dc2626;color:#fff;font-size:10px;padding:.05rem .35rem;margin-left:6px}
/* Sicherheitsnetz: alte v0.25-Linklisten im Kopfbereich nicht mehr anzeigen */
.topbar.v0252 .main-nav,.topbar.v0252 .dropdown-nav,.topbar.v0252 .nav-section{display:none!important}.topbar.v0252 .rollout-nav{display:flex!important}
@media(max-width:900px){.topbar.v0252 .topbar-main{padding:12px 16px}.rollout-nav{padding:8px 12px;overflow-x:auto;overflow-y:visible;scrollbar-width:thin}.rollout-panel{position:fixed;top:112px;left:12px;right:12px;max-width:none;width:auto}.rollout-panel:before{display:none}.topbar.v0252 .user{font-size:13px;white-space:normal}}
@media(max-width:620px){.topbar.v0252 .topbar-main{gap:8px}.rollout-nav .nav-home,.rollout-group summary{padding:9px 10px}.rollout-panel{top:108px}.topbar.v0252 .brand{font-size:18px}}

/* v0.26: Diagnostics & Maintenance */
.text-danger{color:#991b1b;font-weight:700}.log-card{margin-bottom:16px}.log-output{max-height:420px;overflow:auto;background:#0f172a;color:#e5e7eb;border-radius:12px;padding:14px;font-size:12px;line-height:1.45;white-space:pre-wrap}.maintenance-warning{border-left:5px solid #f59e0b;background:#fffbeb}.status-ok{color:#166534;font-weight:700}.status-warning{color:#92400e;font-weight:700}.status-error{color:#991b1b;font-weight:700}code{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:1px 5px}.v026 .rollout-panel{min-width:230px}
