:root {
  --bg: #f4f6fa;
  --surface: #ffffff;
  --surface-2: #eef2f7;
  --surface-3: #e5eaf1;
  --text: #172033;
  --muted: #667085;
  --border: #dce3ed;
  --accent: #2f80ed;
  --accent-hover: #2469c6;
  --danger: #c4322a;
  --success: #16875d;
  --shadow: 0 14px 38px rgba(16, 24, 40, .10);
  --header-height: 72px;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  color-scheme: light;
}
html[data-theme="dark"] {
  --bg: #081120;
  --surface: #101c2f;
  --surface-2: #17253a;
  --surface-3: #20314a;
  --text: #f4f7fb;
  --muted: #9eacc0;
  --border: #263a55;
  --accent: #4da3ff;
  --accent-hover: #77b8ff;
  --danger: #ff7168;
  --success: #42c995;
  --shadow: 0 16px 42px rgba(0, 0, 0, .30);
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { min-width: 320px; }
body { margin: 0; min-height: 100vh; background: var(--bg); color: var(--text); }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
[hidden] { display: none !important; }
.app-shell, .public-shell { min-height: 100vh; }
.main-column { min-width: 0; }

/* Header – genau eine Desktop- und eine Mobile-Navigation */
.site-header {
  position: sticky;
  inset: 0 0 auto 0;
  z-index: 100;
  min-height: var(--header-height);
  background: color-mix(in srgb, var(--surface) 94%, transparent);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.header-inner {
  width: min(1500px, 100%);
  height: var(--header-height);
  margin: 0 auto;
  padding: 0 28px;
  display: flex;
  align-items: center;
  gap: 28px;
}
.site-brand {
  flex: 0 0 auto;
  font-size: 21px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .02em;
  color: var(--text);
}
.desktop-navigation {
  align-self: stretch;
  display: flex;
  align-items: stretch;
  gap: 3px;
  min-width: 0;
}
.desktop-navigation a {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 12px;
  border-radius: 9px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 650;
  white-space: nowrap;
}
.desktop-navigation a:hover { color: var(--text); background: var(--surface-2); }
.desktop-navigation a.active { color: var(--text); }
.desktop-navigation a.active::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: var(--accent);
}
.desktop-header-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 9px;
  flex: 0 0 auto;
}
.header-icon-button {
  position: relative;
  width: 40px;
  height: 40px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 10px;
  background: var(--surface-2);
  color: var(--text);
  cursor: pointer;
}
.header-icon-button:hover { border-color: var(--border); background: var(--surface-3); }
.theme-icon { font-size: 18px; line-height: 1; }
.notification-badge {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  display: grid;
  place-items: center;
  border: 2px solid var(--surface);
  border-radius: 999px;
  background: #e03f38;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
}
.user-dropdown { position: relative; }
.user-dropdown-trigger {
  max-width: 240px;
  height: 42px;
  padding: 0 12px 0 7px;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: var(--surface-2);
  cursor: pointer;
}
.user-dropdown-trigger:hover { background: var(--surface-3); }
.user-avatar {
  width: 29px;
  height: 29px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: var(--accent);
  color: #fff;
  font-weight: 850;
}
.user-label { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; }
.dropdown-arrow { color: var(--muted); font-size: 11px; }
.user-dropdown-panel {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: 240px;
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface);
  box-shadow: var(--shadow);
  z-index: 120;
}
.user-dropdown-header { display: grid; gap: 3px; padding: 10px 11px 12px; overflow: hidden; }
.user-dropdown-header small { color: var(--muted); overflow: hidden; text-overflow: ellipsis; }
.user-dropdown-panel > a, .dropdown-action {
  width: 100%;
  min-height: 40px;
  padding: 9px 11px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 0;
  border-radius: 8px;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.user-dropdown-panel > a:hover, .dropdown-action:hover { background: var(--surface-2); }
.dropdown-divider { height: 1px; margin: 6px 4px; background: var(--border); }
.menu-badge { min-width: 20px; height: 20px; padding: 0 6px; display: inline-grid; place-items: center; border-radius: 999px; background: var(--accent); color: #fff; font-size: 11px; font-weight: 800; }
.mobile-menu-toggle { display: none; }
.mobile-menu { display: none; }

/* Inhalte */
.content { width: min(1060px, 100%); margin: 0 auto; padding: 52px 24px 70px; }
.page-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 24px; }
.page-header h1 { margin: 0 0 7px; font-size: clamp(28px, 4vw, 40px); }
.page-header p, .muted { margin: 0; color: var(--muted); }
.button { min-height: 40px; padding: 10px 17px; display: inline-flex; justify-content: center; align-items: center; border: 0; border-radius: 9px; background: var(--accent); color: #fff; cursor: pointer; font-weight: 750; }
.button:hover { background: var(--accent-hover); }
.button.small { min-height: 38px; padding: 8px 14px; }
.button.secondary { background: var(--surface-2); color: var(--text); }
.panel, .stat-card, .auth-card, .card, .feature-card { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; box-shadow: var(--shadow); }
.hero { padding: 42px 0 54px; }
.hero h1 { margin: 0 0 18px; font-size: clamp(42px, 7vw, 68px); line-height: 1.05; }
.hero p { max-width: 750px; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.6; }
.stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.stat-card { padding: 20px; display: grid; gap: 8px; }
.stat-card span { color: var(--muted); }
.stat-card strong { font-size: 30px; }
.stat-card a { color: var(--accent); font-size: 14px; }
.dashboard-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 18px; margin-top: 18px; }
.panel { padding: 22px; }
.panel h2 { margin-top: 0; }
.quick-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.quick-grid a { padding: 18px; border-radius: 11px; background: var(--surface-2); font-weight: 700; }
.check-list { padding-left: 20px; line-height: 1.9; }
.auth-wrap { min-height: calc(100vh - var(--header-height) - 100px); display: grid; place-items: center; padding: 35px 0; }
.auth-card { width: min(430px, 100%); padding: 32px; }
.auth-card.wide { width: min(570px, 100%); }
.auth-card h1 { margin: 0 0 8px; text-align: center; }
.auth-card > .muted { margin-bottom: 24px; text-align: center; }
.step-pill { display: table; margin: 0 auto 12px; padding: 6px 10px; border-radius: 999px; background: var(--surface-2); color: var(--accent); font-weight: 700; font-size: 13px; }
.form-stack, .form-grid { display: grid; gap: 16px; }
.form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-stack label, .form-grid label { display: grid; gap: 7px; font-weight: 600; }
.form-stack input, .form-stack textarea, .form-stack select, .form-grid input, .form-grid textarea, .form-grid select { width: 100%; padding: 11px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg); color: var(--text); }
.form-stack small, .form-grid small { color: var(--muted); font-weight: 400; }
.form-stack ul.errorlist, .form-grid ul.errorlist { margin: 0; padding-left: 18px; color: var(--danger); font-weight: 400; }
.form-actions { grid-column: 1 / -1; }
.form-panel { max-width: 900px; }
.list-panel { padding: 0; overflow: hidden; }
.notification-item { display: flex; justify-content: space-between; gap: 20px; padding: 18px 22px; border-bottom: 1px solid var(--border); }
.notification-item:last-child { border-bottom: 0; }
.notification-item.unread { border-left: 4px solid var(--accent); background: color-mix(in srgb, var(--accent) 6%, var(--surface)); }
.notification-item p { margin: 6px 0; color: var(--muted); }
.empty-state { padding: 45px; color: var(--muted); text-align: center; }
.messages { display: grid; gap: 8px; margin-bottom: 18px; }
.message { padding: 12px 14px; border-radius: 9px; background: var(--surface-2); }
.message.success { border-left: 4px solid var(--success); }
.private-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 18px; margin-bottom: 24px; border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--border)); border-radius: 14px; background: color-mix(in srgb, var(--accent) 8%, var(--surface)); }
.private-toolbar div { display: grid; gap: 4px; }
.private-toolbar span { color: var(--muted); }
.portal-section { margin-top: 28px; }
.section-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.section-heading h2 { margin: 0; }
.section-heading span { color: var(--muted); font-size: 14px; }
.card-grid, .feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.card, .feature-card { position: relative; padding: 20px; }
.card h3, .feature-card h2 { margin: 0 0 8px; }
.card p, .feature-card p { color: var(--muted); line-height: 1.55; }
.private-card { border-color: color-mix(in srgb, var(--accent) 35%, var(--border)); }
.privacy-label, .status-pill { display: table; margin-bottom: 12px; padding: 5px 9px; border-radius: 999px; background: color-mix(in srgb, var(--accent) 12%, var(--surface-2)); color: var(--accent); font-size: 12px; font-weight: 700; }
.feature-card > span:first-child { display: block; margin-bottom: 14px; font-size: 34px; }
.feature-card strong { display: block; margin-top: 14px; font-size: 22px; }

/* Cookie-Hinweis */
.cookie-banner { position: fixed; left: 24px; right: 24px; bottom: 22px; z-index: 200; max-width: 1120px; margin: 0 auto; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border: 1px solid var(--border); border-radius: 15px; background: var(--surface); box-shadow: var(--shadow); }
.cookie-copy p { margin: 6px 0 0; color: var(--muted); line-height: 1.5; }
.cookie-actions { display: flex; align-items: center; gap: 16px; white-space: nowrap; }
.cookie-actions a { color: var(--accent); font-weight: 650; }
.danger-text { color: var(--danger) !important; }

@media (max-width: 1120px) {
  .header-inner { gap: 15px; padding-inline: 18px; }
  .desktop-navigation a { padding-inline: 8px; font-size: 13px; }
  .desktop-navigation a.active::after { left: 8px; right: 8px; }
  .user-label { max-width: 90px; }
}
@media (max-width: 940px) {
  :root { --header-height: 64px; }
  .desktop-navigation, .desktop-header-actions { display: none !important; }
  .mobile-menu-toggle {
    margin-left: auto;
    width: 42px;
    height: 42px;
    padding: 9px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--surface-2);
    cursor: pointer;
  }
  .mobile-menu-toggle span { width: 100%; height: 2px; border-radius: 2px; background: var(--text); transition: transform .18s, opacity .18s; }
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .mobile-menu {
    position: absolute;
    top: var(--header-height);
    left: 12px;
    right: 12px;
    max-height: calc(100vh - var(--header-height) - 16px);
    overflow-y: auto;
    padding: 10px;
    display: grid;
    gap: 3px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--surface);
    box-shadow: var(--shadow);
  }
  .mobile-menu a, .mobile-menu-action { width: 100%; min-height: 44px; padding: 11px 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); text-align: left; font-weight: 650; cursor: pointer; }
  .mobile-menu a:hover, .mobile-menu a.active, .mobile-menu-action:hover { color: var(--text); background: var(--surface-2); }
  .mobile-menu-divider { height: 1px; margin: 6px 2px; background: var(--border); }
  .mobile-menu form { margin: 0; }
  .mobile-login-link { color: var(--accent) !important; }
  .card-grid, .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .content { padding: 38px 15px 60px; }
  .hero { padding: 34px 0 44px; }
  .stat-grid, .dashboard-grid, .form-grid, .quick-grid, .card-grid, .feature-grid { grid-template-columns: 1fr; }
  .page-header, .private-toolbar { flex-direction: column; align-items: stretch; }
  .notification-item { flex-direction: column; }
  .cookie-banner { left: 10px; right: 10px; bottom: 10px; display: grid; gap: 16px; }
  .cookie-actions { justify-content: space-between; white-space: normal; }
}

/* Games module 0.2.8 */
.games-subnav { display:flex; flex-wrap:wrap; gap:8px; margin:-6px 0 28px; padding:8px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.games-subnav a { padding:10px 16px; border-radius:9px; color:var(--muted); font-weight:700; }
.games-subnav a:hover, .games-subnav a.active { color:var(--text); background:var(--surface-2); }
.games-subnav a.active { box-shadow:inset 0 -2px var(--accent); }
.pagination { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:14px; margin-top:20px; color:var(--muted); }
.pagination > :last-child { justify-self:end; }
.status-pill.inline { display:inline-flex; margin:0 0 0 8px; vertical-align:middle; font-size:11px; }
.games-stats .stat-card small { color:var(--muted); line-height:1.4; }
.game-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.game-card { display:flex; gap:16px; padding:18px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.game-card img, .game-icon-placeholder { width:64px; height:64px; flex:0 0 64px; border-radius:13px; object-fit:cover; }
.game-icon-placeholder { display:grid; place-items:center; background:var(--surface-2); font-size:30px; }
.game-card h3 { margin:2px 0 7px; }.game-card p { margin:0 0 8px; color:var(--muted); line-height:1.45; }.game-card small{color:var(--accent);font-weight:700}
.search-panel { display:grid; grid-template-columns:auto minmax(240px,1fr) auto; align-items:center; gap:14px; margin-bottom:18px; padding:16px 18px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.search-panel label { font-weight:750; }.search-panel input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text)}.search-panel span{color:var(--muted);white-space:nowrap}
.server-live-list { display:grid; gap:12px; }.server-live-card{display:flex;gap:18px;align-items:center;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.game-list-icon{width:68px;height:68px;flex:0 0 68px;border-radius:14px;object-fit:cover}.game-list-icon.placeholder{display:grid;place-items:center;background:var(--surface-2);font-size:30px}.server-live-main{min-width:0;flex:1}.server-title-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.server-title-line h2{margin:0;font-size:18px}.server-address{margin-top:5px;color:var(--accent);font-family:Consolas,monospace}.server-live-card p{margin:8px 0 0;color:var(--muted)}
.server-status{padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;background:var(--surface-2)}.server-status.online{color:var(--success)}.server-status.offline{color:var(--danger)}.server-status.maintenance{color:#d99b22}
.forum-list,.review-list{display:grid;gap:10px}.forum-row{display:flex;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid var(--border);border-radius:13px;background:var(--surface)}.forum-row:hover,.review-card:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));transform:translateY(-1px)}.forum-row h2{margin:0 0 5px;font-size:18px}.forum-row p{margin:0;color:var(--muted)}.forum-meta{display:grid;grid-template-columns:auto auto;align-content:center;text-align:right;column-gap:7px}.forum-meta strong{font-size:20px}.forum-meta span,.forum-meta small{color:var(--muted)}.forum-meta small{grid-column:1/-1;margin-top:4px}
.discussion-posts{display:grid;gap:14px;margin-bottom:26px}.discussion-post{display:grid;grid-template-columns:190px minmax(0,1fr);border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden}.discussion-post aside{display:grid;align-content:start;justify-items:start;gap:7px;padding:20px;background:var(--surface-2)}.discussion-post aside small{color:var(--muted)}.user-avatar.large{width:48px;height:48px;font-size:18px}.discussion-body{padding:22px;line-height:1.65}.discussion-body p:first-child{margin-top:0}.reply-form{max-width:none}
.map-placeholder{text-align:center;padding:70px 25px}.map-placeholder>div{font-size:70px}.map-placeholder p{color:var(--muted)}
.review-card{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface);transition:.16s}.review-card img,.review-icon-placeholder{width:76px;height:76px;border-radius:14px;object-fit:cover}.review-icon-placeholder{display:grid;place-items:center;background:var(--surface-2);font-size:30px;color:var(--accent)}.review-card h3{margin:2px 0 5px}.review-card p{margin:0 0 9px;color:var(--muted)}.review-byline{display:flex;flex-wrap:wrap;gap:7px 14px;color:var(--muted);font-size:13px}.review-byline span+span:before{content:"·";margin-right:14px}.review-list.compact .review-card{grid-template-columns:54px 1fr}.review-list.compact .review-icon-placeholder{width:54px;height:54px}
.review-header{display:grid;grid-template-columns:100px minmax(0,1fr) auto;align-items:center;gap:22px;margin-bottom:22px}.review-header>img,.review-icon-placeholder.large{width:100px;height:100px;border-radius:18px;object-fit:cover}.review-header h1{margin:0 0 6px}.review-subtitle{margin:0 0 10px;color:var(--muted);font-size:18px}.header-actions{display:flex;gap:9px;align-items:center}.header-actions form{margin:0}
.editor-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:20px;margin-top:22px;align-items:start}.block-toolbox{position:sticky;top:92px}.block-toolbox h2{margin-top:0}.review-canvas{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px}.review-canvas.public{margin-top:26px}.review-block{max-width:100%;padding:18px;border-radius:14px;background:var(--surface)}.review-canvas.public .review-block{border:1px solid var(--border)}.width-25{width:calc(25% - 11px)}.width-33{width:calc(33.333% - 10px)}.width-50{width:calc(50% - 7px)}.width-66{width:calc(66.666% - 5px)}.width-75{width:calc(75% - 4px)}.width-100{width:100%}.align-left{margin-right:auto}.align-center{margin-left:auto;margin-right:auto}.align-right{margin-left:auto}.review-text{line-height:1.7}.review-text p:first-child{margin-top:0}.review-text p:last-child{margin-bottom:0}.review-block figure{margin:0}.review-block figure img{display:block;max-width:100%;height:auto;border-radius:10px}.review-block figcaption{margin-top:8px;color:var(--muted);font-size:13px;text-align:center}
.editor-block{position:relative;border:1px dashed color-mix(in srgb,var(--accent) 55%,var(--border));padding-top:46px}.editor-block.dragging{opacity:.45}.block-handle{position:absolute;left:10px;top:9px;padding:4px 10px;border-radius:7px;background:var(--surface-2);cursor:grab;font-weight:900;letter-spacing:-3px}.block-settings{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.block-settings summary{cursor:pointer;color:var(--accent);font-weight:700}.block-settings form{margin-top:12px}.button.danger{background:var(--danger);color:white}.danger-zone{margin-top:30px;padding-top:20px;border-top:1px solid var(--border)}
@media(max-width:940px){.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-layout{grid-template-columns:1fr}.block-toolbox{position:static}.width-25,.width-33{width:calc(50% - 7px)}.search-panel{grid-template-columns:1fr}.discussion-post{grid-template-columns:150px 1fr}}
@media(max-width:650px){.game-grid{grid-template-columns:1fr}.server-live-card{align-items:flex-start}.game-list-icon{width:52px;height:52px;flex-basis:52px}.server-title-line{align-items:flex-start;flex-direction:column}.forum-row{flex-direction:column}.forum-meta{text-align:left;grid-template-columns:auto 1fr}.discussion-post{grid-template-columns:1fr}.discussion-post aside{grid-template-columns:auto 1fr;align-items:center}.discussion-post aside small{grid-column:2}.review-header{grid-template-columns:76px 1fr}.review-header>img,.review-icon-placeholder.large{width:76px;height:76px}.review-header>.button{grid-column:1/-1}.width-25,.width-33,.width-50,.width-66,.width-75{width:100%}.header-actions{grid-column:1/-1;flex-wrap:wrap}}

/* Benutzerverwaltung 0.2.9 */
.administration-stats { margin-bottom:28px; }
.user-search { grid-template-columns:auto minmax(220px,1fr) 180px auto; }
.user-search select { padding:11px 12px; border:1px solid var(--border); border-radius:9px; background:var(--bg); color:var(--text); }
.user-table-wrap { padding:0; overflow-x:auto; }
.user-table { width:100%; border-collapse:collapse; min-width:760px; }
.user-table th,.user-table td { padding:15px 18px; text-align:left; border-bottom:1px solid var(--border); }
.user-table th { color:var(--muted); font-size:13px; }
.user-table tbody tr:last-child td { border-bottom:0; }
.user-cell { display:flex; align-items:center; gap:11px; }
.user-cell > div { display:grid; gap:3px; }
.user-cell small { color:var(--muted); }
.account-status { display:inline-flex; margin:2px 5px 2px 0; padding:5px 8px; border-radius:999px; background:var(--surface-2); font-size:11px; font-weight:800; }
.account-status.active { color:var(--success); }
.account-status.blocked { color:var(--danger); }
.account-status.staff { color:var(--accent); }
.management-actions { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:22px; }
.management-actions h2 { margin:0 0 6px; }
.management-actions p { margin:0; color:var(--muted); }
.audit-row { display:grid; grid-template-columns:150px 60px minmax(0,1fr); gap:12px; padding:13px 18px; border-bottom:1px solid var(--border); }
.audit-row:last-child { border-bottom:0; }
.audit-row span,.audit-row code { color:var(--muted); }
@media(max-width:940px){.user-search{grid-template-columns:1fr 1fr}.management-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.user-search{grid-template-columns:1fr}.audit-row{grid-template-columns:1fr}.management-actions .header-actions{width:100%;display:grid}.management-actions .button{width:100%}}

/* Rollen und Berechtigungen 0.2.10 */
.role-grid { display:grid; gap:14px; }
.role-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.role-card-heading h2 { margin:0 0 5px; }
.role-card-heading span { color:var(--muted); font-size:13px; }
.permission-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:16px; }
.permission-tags span { padding:6px 9px; border-radius:8px; background:var(--surface-2); color:var(--muted); font-size:12px; }
.permission-tags em { color:var(--muted); }
.role-form { display:grid; gap:18px; }
.role-form > p:first-of-type { display:grid; gap:7px; max-width:520px; font-weight:700; }
.role-form > p:first-of-type input { padding:11px 12px; border:1px solid var(--border); border-radius:8px; background:var(--bg); color:var(--text); }
.role-form #id_permissions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 18px; max-height:600px; overflow:auto; padding:16px; border:1px solid var(--border); border-radius:12px; background:var(--bg); }
.role-form #id_permissions label { display:flex; align-items:flex-start; gap:9px; padding:7px; border-radius:7px; line-height:1.35; }
.role-form #id_permissions label:hover { background:var(--surface-2); }
.role-form #id_permissions input { margin-top:3px; accent-color:var(--accent); }
.form-grid #id_groups { display:grid; gap:7px; padding:12px; border:1px solid var(--border); border-radius:9px; }
.form-grid #id_groups label { display:flex; align-items:center; gap:8px; }
@media(max-width:700px){.role-form #id_permissions{grid-template-columns:1fr}.role-card-heading{flex-direction:column}}

/* Sitzungen und Kontosicherheit 0.2.11 */
.security-list { margin-top:12px; }
.security-row { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px 18px; border-bottom:1px solid var(--border); }
.security-row:last-child { border-bottom:0; }
.security-row > div { display:grid; gap:5px; }
.security-row small { color:var(--muted); }
.token-reveal { margin-bottom:24px; border-color:color-mix(in srgb,var(--success) 45%,var(--border)); }
.token-reveal p { color:var(--muted); }
.token-reveal code { display:block; padding:14px; overflow-wrap:anywhere; border-radius:9px; background:var(--bg); color:var(--success); user-select:all; }
.inline-form { display:flex; align-items:end; gap:14px; margin-bottom:12px; }
.inline-form p { flex:1; display:grid; gap:7px; margin:0; font-weight:700; }
.inline-form input { width:100%; padding:11px 12px; border:1px solid var(--border); border-radius:8px; background:var(--bg); color:var(--text); }
.security-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:16px; }
.compact-events { display:grid; gap:9px; max-height:360px; overflow:auto; }
.compact-events > div { display:flex; align-items:center; gap:9px; }
.compact-events small { color:var(--muted); }
@media(max-width:700px){.security-grid{grid-template-columns:1fr}.inline-form,.security-row{align-items:stretch;flex-direction:column}.security-row .button{width:100%}}

/* Benachrichtigungen 0.2.12 */
.notification-copy { display:grid; gap:5px; min-width:0; }
.notification-copy > div { display:flex; align-items:center; gap:7px; }
.notification-kind,.unread-label { display:inline-flex; padding:4px 7px; border-radius:999px; background:var(--surface-2); color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.notification-kind.forum { color:var(--accent); }
.notification-kind.review { color:#a873e8; }
.notification-kind.security { color:var(--danger); }
.unread-label { background:var(--accent); color:#fff; }
.notification-actions { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.notification-actions form { margin:0; }
@media(max-width:700px){.notification-actions{width:100%}.notification-actions .button{flex:1}}

/* Globale Suche 0.2.13 */
.global-search-panel { display:grid; grid-template-columns:auto minmax(240px,1fr) 190px auto; align-items:end; gap:14px; }
.global-search-panel label { font-weight:750; align-self:center; }
.global-search-panel input,.global-search-panel select { width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:9px; background:var(--bg); color:var(--text); }
.search-results { display:grid; gap:10px; }
.search-result-card { display:grid; gap:7px; padding:18px 20px; border:1px solid var(--border); border-radius:13px; background:var(--surface); transition:.16s; }
.search-result-card:hover { border-color:color-mix(in srgb,var(--accent) 55%,var(--border)); transform:translateY(-1px); }
.search-result-card > div { display:flex; align-items:center; gap:8px; }
.search-result-card h3 { margin:0; }
.search-result-card p { margin:0; color:var(--muted); line-height:1.5; }
.search-result-kind { display:inline-flex; padding:4px 8px; border-radius:999px; background:var(--surface-2); color:var(--accent); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.privacy-label.inline { display:inline-flex; margin:0; }
@media(max-width:940px){.global-search-panel{grid-template-columns:1fr 1fr}.global-search-panel label{grid-column:1/-1}}
@media(max-width:650px){.global-search-panel{grid-template-columns:1fr}}

/* Datencloud Phase 1 – 0.2.14 */
.cloud-breadcrumbs { display:flex; flex-wrap:wrap; gap:7px; margin:-8px 0 18px; color:var(--muted); }
.cloud-breadcrumbs a:hover { color:var(--accent); }
.cloud-toolbar { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.cloud-toolbar .inline-form { margin:0; }
.cloud-usage { display:grid; gap:10px; margin:14px 0; }
.cloud-usage > div:first-child { display:flex; justify-content:space-between; gap:14px; }
.cloud-usage span { color:var(--muted); }
.usage-track { height:9px; overflow:hidden; border-radius:99px; background:var(--surface-2); }
.usage-track span { display:block; height:100%; border-radius:inherit; background:var(--accent); }
.cloud-list { padding:0; }
.cloud-list-head,.cloud-row { display:grid; grid-template-columns:minmax(220px,1.7fr) 110px 150px 100px; align-items:center; gap:14px; padding:14px 18px; border-bottom:1px solid var(--border); }
.cloud-list-head { color:var(--muted); font-size:12px; font-weight:800; text-transform:uppercase; }
.cloud-row:last-child { border-bottom:0; }
.cloud-row > span { color:var(--muted); font-size:13px; }
.cloud-name { display:flex; align-items:center; gap:10px; min-width:0; }
.cloud-name a { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:700; }
.parent-row { color:var(--accent); }
.cloud-actions { position:relative; }
.cloud-actions summary { cursor:pointer; color:var(--accent); font-weight:700; }
.cloud-actions > div { position:absolute; z-index:20; top:calc(100% + 8px); right:0; width:280px; display:grid; gap:8px; padding:12px; border:1px solid var(--border); border-radius:11px; background:var(--surface); box-shadow:var(--shadow); }
.cloud-actions form { display:grid; grid-template-columns:1fr auto; gap:7px; }
.cloud-actions input,.cloud-actions select { min-width:0; padding:8px; border:1px solid var(--border); border-radius:7px; background:var(--bg); color:var(--text); }
.cloud-actions button,.cloud-actions a { padding:8px 9px; border:0; border-radius:7px; background:var(--surface-2); color:var(--text); cursor:pointer; text-align:left; }
.cloud-summary { margin-top:20px; grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:940px){.cloud-toolbar{grid-template-columns:1fr}.cloud-list-head{display:none}.cloud-row{grid-template-columns:minmax(0,1fr) 90px 90px}.cloud-row>span:nth-of-type(2){display:none}}
@media(max-width:650px){.cloud-row{grid-template-columns:minmax(0,1fr) auto}.cloud-row>span{display:none}.cloud-summary{grid-template-columns:1fr}.cloud-actions>div{position:fixed;left:12px;right:12px;bottom:12px;top:auto;width:auto}.cloud-usage>div:first-child{flex-direction:column}.cloud-toolbar .inline-form{align-items:stretch}}

/* Kalender 0.2.16 */
.calendar-toolbar { display:grid; grid-template-columns:1fr auto auto auto; align-items:center; gap:18px; margin-bottom:16px; }
.calendar-toolbar > a { font-size:22px; color:var(--accent); }
.calendar-view-switch { display:flex; gap:5px; }
.calendar-view-switch a { padding:8px 12px; border-radius:8px; color:var(--muted); font-weight:700; }
.calendar-view-switch a.active { background:var(--surface-2); color:var(--text); }
.month-calendar { overflow-x:auto; border:1px solid var(--border); border-radius:15px; background:var(--surface); }
.calendar-weekdays,.calendar-week { min-width:840px; display:grid; grid-template-columns:repeat(7,minmax(120px,1fr)); }
.calendar-weekdays span { padding:10px 12px; color:var(--muted); font-size:12px; font-weight:800; text-align:center; }
.calendar-day { min-height:125px; padding:9px; border-top:1px solid var(--border); border-right:1px solid var(--border); }
.calendar-day:nth-child(7n) { border-right:0; }
.calendar-day.outside { background:var(--surface-2); opacity:.55; }
.calendar-day.today .day-number { background:var(--accent); color:#fff; }
.day-number { width:27px; height:27px; display:grid; place-items:center; margin-left:auto; border-radius:8px; font-size:12px; font-weight:800; }
.day-events { display:grid; gap:4px; margin-top:6px; }
.day-events a { padding:5px 7px; overflow:hidden; border-left:3px solid var(--event-color); border-radius:5px; background-color:var(--surface-2); background-image:linear-gradient(90deg,#101722e8,#101722b8),var(--event-background,none); background-position:center; background-size:cover; color:var(--text); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.day-events a small { margin-left:5px; color:#c8d2df; }
.week-calendar { display:grid; gap:11px; }
.week-day { display:grid; grid-template-columns:150px 1fr; gap:20px; }
.week-day.today { border-color:var(--accent); }
.week-day header { display:grid; align-content:start; gap:4px; }
.week-day header span { color:var(--muted); }
.week-day > div { display:grid; gap:8px; }
.week-event { display:grid; grid-template-columns:110px 1fr auto; gap:12px; padding:10px 12px; border-left:4px solid var(--event-color); border-radius:8px; background-color:var(--surface-2); background-image:linear-gradient(90deg,#101722f2,#101722b8),var(--event-background,none); background-position:center; background-size:cover; color:var(--text); }
.week-event > span { display:grid; gap:2px; }
.week-event > span small { color:#c8d2df; }
.week-event small { color:var(--muted); }
@media(max-width:700px){.calendar-toolbar{grid-template-columns:1fr auto auto auto}.week-day{grid-template-columns:1fr}.week-event{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}}

/* Git-Projekte 0.2.17 */
.repository-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.repository-card { display:grid; gap:9px; padding:20px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.repository-card:hover { border-color:color-mix(in srgb,var(--accent) 55%,var(--border)); }
.repository-card > div { display:flex; justify-content:space-between; gap:10px; }
.repository-card .privacy-label { margin:0; }
.repo-branch { color:var(--muted); font-family:Consolas,monospace; font-size:12px; }
.repository-card h3 { margin:0; }
.repository-card p,.repository-card small { margin:0; color:var(--muted); }
.repo-meta { display:flex; flex-wrap:wrap; gap:28px; margin-bottom:18px; }
.repo-meta > * { display:grid; gap:4px; color:var(--muted); }
.repo-meta strong { color:var(--text); }
.repo-readme { min-height:260px; }
.repo-readme h2,.repo-commits h2 { margin-top:0; }
.repo-readme p { line-height:1.7; }
.repo-commits { margin-top:16px; }
.repo-commits > div { display:grid; grid-template-columns:95px 1fr; gap:12px; padding:11px 0; border-bottom:1px solid var(--border); }
.repo-commits > div:last-child { border-bottom:0; }
.repo-commits span { display:grid; gap:4px; }
.repo-commits small { color:var(--muted); }
.repository-member { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid var(--border); }
.repository-member span { display:grid; gap:3px; }
.repository-member small { color:var(--muted); }
.repository-member button { border:0; background:transparent; cursor:pointer; }
.repo-member-form { margin-top:18px; padding-top:16px; border-top:1px solid var(--border); }
.git-project-search { display:flex; align-items:center; flex-wrap:wrap; gap:9px; padding:13px 16px; margin-bottom:18px; }.git-project-search input { flex:1 1 320px; min-width:0; padding:10px 12px; border:1px solid var(--border); border-radius:8px; background:var(--bg); color:var(--text); }.git-repo-header { margin-bottom:8px; }.git-repo-tabs { display:flex; gap:5px; margin:0 0 14px; overflow:auto; border-bottom:1px solid var(--border); }.git-repo-tabs a { display:flex; align-items:center; gap:7px; padding:10px 14px; border-bottom:2px solid transparent; color:var(--muted); white-space:nowrap; }.git-repo-tabs a.active { border-color:#f08c46; color:var(--text); font-weight:800; }.git-repo-tabs span { min-width:20px; padding:2px 5px; border-radius:999px; background:var(--surface-2); text-align:center; font-size:11px; }.git-code-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:9px; padding:11px 13px; margin-bottom:10px; }.git-code-toolbar > form { margin-right:auto; }.git-code-toolbar label,.git-commit-filter label { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:13px; }.git-code-toolbar select,.git-commit-filter select { min-width:150px; padding:8px; border:1px solid var(--border); border-radius:7px; background:var(--bg); color:var(--text); }.git-branch-create { position:relative; }.git-branch-create > summary { padding:7px 10px; border:1px solid var(--border); border-radius:7px; cursor:pointer; list-style:none; }.git-branch-create > form { position:absolute; z-index:10; top:42px; right:0; width:300px; padding:14px; border:1px solid var(--border); border-radius:9px; background:var(--surface); box-shadow:0 10px 30px #0008; }.git-branch-create p { display:grid; gap:5px; margin:0 0 9px; }.git-branch-create input,.git-branch-create select { width:100%; padding:8px; border:1px solid var(--border); border-radius:6px; background:var(--bg); color:var(--text); }.git-breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:7px; padding:9px 4px; color:var(--muted); }.git-breadcrumbs a { color:var(--accent); }.git-file-browser { overflow:hidden; }.git-file-browser-head,.git-file-browser > a { display:grid; grid-template-columns:minmax(220px,1fr) 180px; align-items:center; gap:10px; padding:10px 14px; border-bottom:1px solid var(--border); }.git-file-browser-head { color:var(--muted); background:var(--surface-2); font-size:12px; }.git-file-browser > a { grid-template-columns:28px minmax(220px,1fr) 180px; color:var(--text); }.git-file-browser > a:hover { background:color-mix(in srgb,var(--accent) 8%,var(--surface)); }.git-file-browser > a small { color:var(--muted); text-align:right; }.git-file-kind { color:#66a5ff; text-align:center; }.git-file-view { overflow:hidden; }.git-file-view > header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 15px; border-bottom:1px solid var(--border); background:var(--surface-2); }.git-file-view > header span { display:grid; gap:3px; min-width:0; }.git-file-view > header strong { overflow-wrap:anywhere; }.git-file-view > header small { color:var(--muted); }.git-file-view pre { max-height:70vh; margin:0; padding:17px; overflow:auto; background:#080c12; color:#d8e1ed; line-height:1.55; tab-size:4; }.git-file-view code { font-family:Consolas,"Courier New",monospace; white-space:pre; }.git-file-form { display:grid; gap:12px; padding:18px; }.git-file-form p { display:grid; gap:6px; margin:0; }.git-file-form input,.git-file-form textarea { width:100%; padding:9px; border:1px solid var(--border); border-radius:7px; background:var(--bg); color:var(--text); }.git-file-form textarea { font-family:Consolas,"Courier New",monospace; line-height:1.5; resize:vertical; tab-size:4; }.git-commit-filter { padding:12px 15px; margin-bottom:10px; }.git-commit-list { overflow:hidden; }.git-commit-list article { display:grid; grid-template-columns:105px minmax(0,1fr); gap:14px; padding:14px 16px; border-bottom:1px solid var(--border); }.git-commit-list article:last-child { border-bottom:0; }.git-commit-list article > div { display:grid; gap:4px; }.git-commit-list article span { color:var(--muted); font-size:12px; }.git-commit-list article ul { display:flex; flex-wrap:wrap; gap:6px; padding:0; margin:5px 0 0; list-style:none; }.git-commit-list article li { padding:3px 7px; border-radius:5px; background:var(--surface-2); color:var(--muted); font-size:11px; }.git-commit-list article li b { color:var(--accent); }.git-members { margin-top:18px; padding:16px; }.git-members .section-heading { margin-bottom:4px; }
@media(max-width:700px){.repository-grid{grid-template-columns:1fr}.git-code-toolbar{align-items:stretch;flex-direction:column}.git-code-toolbar>form{width:100%;margin-right:0}.git-code-toolbar label,.git-code-toolbar select{width:100%}.git-branch-create>form{position:fixed;top:20%;right:5vw;left:5vw;width:auto}.git-file-browser-head{display:none}.git-file-browser>a{grid-template-columns:25px minmax(0,1fr)}.git-file-browser>a small{grid-column:2;text-align:left}.git-file-view>header{align-items:stretch;flex-direction:column}.git-commit-list article{grid-template-columns:1fr}.git-project-search{align-items:stretch;flex-direction:column}}

/* Karten Phase 1 – 0.2.18 */
.map-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.map-card { overflow:hidden; border:1px solid var(--border); border-radius:15px; background:var(--surface); }
.map-card-preview { height:210px; overflow:hidden; background:var(--surface-2); }
.map-card-preview img { width:100%; height:100%; object-fit:cover; transition:transform .2s; }
.map-card:hover img { transform:scale(1.03); }
.map-card > div:last-child { padding:18px; }
.map-card h2 { margin:8px 0 5px; }
.map-card p { margin:0; color:var(--muted); }
.map-library-toolbar { display:grid; gap:13px; margin-bottom:16px; padding:14px 16px; }.map-library-search { display:flex; align-items:center; flex-wrap:wrap; gap:9px; }.map-library-search input[type=search] { flex:1 1 320px; min-width:0; padding:10px 12px; border:1px solid var(--border); border-radius:8px; background:var(--bg); color:var(--text); }.map-library-options { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }.map-library-options > span { margin-right:auto; color:var(--muted); font-weight:700; }.map-view-switch { display:flex; overflow:hidden; border:1px solid var(--border); border-radius:8px; }.map-view-switch a { width:40px; height:36px; display:grid; place-items:center; color:var(--muted); background:var(--surface-2); }.map-view-switch a + a { border-left:1px solid var(--border); }.map-view-switch a.active { color:#fff; background:#245f9f; }.map-view-icon { width:18px; height:18px; display:grid; gap:3px; }.grid-icon { grid-template-columns:1fr 1fr; }.grid-icon i { border-radius:2px; background:currentColor; }.list-icon { grid-template-rows:repeat(3,1fr); }.list-icon i { border-radius:2px; background:currentColor; }.map-page-size label { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:13px; }.map-page-size select { padding:7px 28px 7px 8px; border:1px solid var(--border); border-radius:7px; background:var(--bg); color:var(--text); }.map-game-category { margin-bottom:14px; border:1px solid var(--border); border-radius:13px; background:var(--surface); }.map-game-category > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 17px; cursor:pointer; list-style:none; user-select:none; }.map-game-category > summary::-webkit-details-marker { display:none; }.map-game-category > summary span { display:grid; gap:3px; }.map-game-category > summary small { color:var(--muted); }.map-game-category > summary i { width:10px; height:10px; border-right:2px solid var(--muted); border-bottom:2px solid var(--muted); transform:rotate(45deg); transition:transform .18s; }.map-game-category:not([open]) > summary i { transform:rotate(-45deg); }.map-game-category > .map-card-grid { padding:0 14px 14px; }.map-library[data-view=list] .map-card-grid { grid-template-columns:1fr; gap:7px; }.map-library[data-view=list] .map-card { display:block; border-radius:9px; }.map-library[data-view=list] .map-card-preview { display:none; }.map-library[data-view=list] .map-card-content { display:grid; grid-template-columns:auto minmax(180px,1fr) auto; align-items:center; gap:12px; padding:11px 13px; }.map-library[data-view=list] .map-card h2 { margin:0; font-size:16px; }.map-library[data-view=list] .map-card p { text-align:right; }.map-library[data-view=list] .privacy-label { margin:0; }
.map-layout { display:grid; grid-template-columns:290px minmax(0,1fr); gap:16px; align-items:start; }
.map-sidebar { max-height:calc(100vh - 110px); overflow:auto; }
.map-sidebar h2 { margin-top:0; }
.map-filter-list { display:grid; gap:6px; }
.map-filter-list label { display:grid; grid-template-columns:auto 28px 1fr auto; align-items:center; gap:8px; padding:7px; border-radius:8px; }
.map-filter-list label:hover { background:var(--surface-2); }
.map-filter-list img { width:28px; height:28px; object-fit:contain; }
.map-filter-list strong { color:var(--muted); }
.map-sidebar details { margin-top:14px; padding-top:12px; border-top:1px solid var(--border); }
.map-sidebar summary { cursor:pointer; color:var(--accent); font-weight:700; }
.map-sidebar details form { margin-top:12px; }
.map-viewer { position:relative; min-height:620px; overflow:hidden; border:1px solid var(--border); border-radius:15px; background:#050912; }
.map-controls { position:absolute; z-index:5; top:12px; right:12px; display:flex; gap:6px; }
.map-controls button { min-width:38px; height:38px; padding:0 11px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); cursor:pointer; }
.map-viewport { width:100%; height:620px; overflow:hidden; cursor:grab; touch-action:none; }
.map-viewport.dragging { cursor:grabbing; }
.map-stage { position:relative; width:max-content; transform-origin:0 0; will-change:transform; }
.map-stage > img { display:block; max-width:none; width:auto; height:620px; user-select:none; pointer-events:none; }
.map-marker { position:absolute; width:var(--marker-size); height:var(--marker-size); padding:0; transform:translate(-50%,-50%); border:0; background:transparent; cursor:pointer; }
.map-marker img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 2px 3px rgba(0,0,0,.75)); }
.map-marker span { position:absolute; left:50%; top:100%; transform:translateX(-50%); padding:2px 5px; border-radius:4px; background:rgba(0,0,0,.72); color:#fff; font-size:10px; white-space:nowrap; }.map-marker span[hidden] { display:none; }
@media(max-width:940px){.map-layout{grid-template-columns:1fr}.map-sidebar{max-height:none}.map-card-grid{grid-template-columns:1fr}.map-viewer,.map-viewport{min-height:500px;height:500px}.map-stage>img{height:500px}}@media(max-width:700px){.map-library-toolbar{padding:12px}.map-library-search,.map-library-options{align-items:stretch;flex-direction:column}.map-library-options>span{margin-right:0}.map-view-switch{align-self:flex-start}.map-page-size label{justify-content:space-between}.map-library[data-view=list] .map-card-content{grid-template-columns:1fr auto}.map-library[data-view=list] .privacy-label{grid-row:1/3}.map-library[data-view=list] .map-card p{text-align:left}.map-game-category>summary{padding:12px 14px}.map-game-category>.map-card-grid{padding:0 9px 9px}}

/* Kartenbibliothek-Editor 0.2.19 */
.izav-map-viewer { position:fixed; z-index:1000; inset:0; overflow:hidden; background:#070a10; color:#eef2f7; }
.map-topbar { position:absolute; z-index:30; top:0; left:0; right:0; height:58px; display:flex; align-items:center; gap:12px; padding:0 14px; background:rgba(13,18,27,.94); border-bottom:1px solid #293140; box-shadow:0 3px 18px #0007; }
.map-topbar .map-home { width:36px; height:36px; display:grid; place-items:center; border-radius:8px; background:#202837; font-size:21px; }
.map-topbar > div { display:grid; margin-right:auto; }.map-topbar span { color:#8491a4; font-size:11px; }.map-topbar output { color:#9da8b8; font-size:12px; }
.map-topbar button,.map-drawer button,.map-savebar button,.map-point-editor button { padding:8px 11px; border:1px solid #354052; border-radius:7px; background:#202837; color:#eef2f7; cursor:pointer; }
.map-topbar .map-edit-button,.map-savebar .primary { border-color:#216fea; background:#216fea; }
.map-settings-button { padding:8px 11px; border:1px solid #354052; border-radius:7px; background:#202837; color:#eef2f7; font-size:13px; }
.map-canvas { position:absolute; inset:58px 0 0; overflow:hidden; cursor:grab; touch-action:none; }.map-canvas.dragging { cursor:grabbing; }
.izav-map-viewer .map-stage { position:absolute; width:max-content; transform-origin:0 0; will-change:transform; }
.izav-map-viewer .map-stage > img { display:block; width:auto; height:auto; max-width:none; max-height:none; pointer-events:none; user-select:none; }
.izav-map-viewer [data-marker-layer] { position:absolute; inset:0; }
.map-tile-layer { position:absolute; inset:0; overflow:hidden; background:#090d14; }
.map-tile-layer img { position:absolute; display:block; max-width:none; user-select:none; pointer-events:none; }
.map-thumb-placeholder { display:grid; place-items:center; background:#0a0f17; color:#66a5ff; font-size:24px; }
.izav-map-viewer .map-marker { z-index:2; }.izav-map-viewer.editing .map-marker { cursor:move; }.izav-map-viewer .map-marker.selected img { filter:drop-shadow(0 0 7px #51a5ff); }
.map-empty-hint { position:absolute; left:50%; bottom:16px; transform:translateX(-50%); padding:7px 12px; border-radius:20px; background:#101620cc; color:#94a0b2; font-size:12px; pointer-events:none; }
.map-point-info { position:absolute; left:50%; bottom:17px; width:min(720px,calc(100vw - 40px)); display:flex; align-items:flex-start; gap:13px; transform:translateX(-50%); padding:11px 14px; border:1px solid #334055; border-radius:10px; background:#101620ed; box-shadow:0 4px 18px #0009; font-size:13px; }.map-point-info[hidden] { display:none; }.map-point-info > div { min-width:0; flex:1; }.map-point-info strong { display:block; margin-bottom:5px; color:#fff; font-size:15px; }.map-point-info p { max-height:140px; margin:0; overflow:auto; color:#c4cedc; line-height:1.5; overflow-wrap:anywhere; white-space:pre-wrap; }.map-point-info-image { flex:0 0 88px; width:88px; height:72px; padding:0; overflow:hidden; border:1px solid #41516a; border-radius:7px; background:#080c12; cursor:zoom-in; }.map-point-info-image img { width:100%; height:100%; object-fit:cover; }
.map-drawer { position:absolute; z-index:20; top:58px; bottom:0; width:285px; padding:18px; overflow:auto; background:rgba(15,20,29,.97); transition:transform .2s ease; box-shadow:0 0 22px #0009; }
.map-left-drawer { left:0; transform:translateX(-100%); }.map-right-drawer { right:0; transform:translateX(100%); }.left-open .map-left-drawer,.right-open .map-right-drawer { transform:none; }
.map-edge-toggle { position:absolute; z-index:21; top:50%; width:25px; height:58px; border:1px solid #344052; background:#151c28e8; color:#cbd4e1; cursor:pointer; }.map-edge-toggle.left { left:0; border-radius:0 8px 8px 0; }.map-edge-toggle.right { right:0; border-radius:8px 0 0 8px; }
.left-open .map-edge-toggle.left,.right-open .map-edge-toggle.right { display:none; }
.map-drawer h2 { margin:0; font-size:17px; }.map-drawer > input { width:100%; margin:10px 0 14px; padding:9px; border:1px solid #303b4d; border-radius:7px; background:#090d14; color:#eef2f7; }.map-label-toggle { width:100%; margin-top:14px; padding:8px 10px; border:1px solid #354052; border-radius:7px; background:#202837; color:#eef2f7; text-align:left; cursor:pointer; }.map-label-toggle[aria-pressed=true] { border-color:#3b75c4; color:#84b8ff; background:#15243a; }
.map-switch-list { display:grid; gap:5px; }.map-switch-list > a { display:flex; gap:10px; padding:9px; border-radius:8px; }.map-switch-list > a:hover,.map-switch-list > a.active { background:#202837; }.map-thumb { flex:0 0 58px; width:58px; height:42px; overflow:hidden; border-radius:5px; }.map-thumb img { width:100%; height:100%; object-fit:cover; }.map-left-drawer a span:last-child { display:grid; min-width:0; }.map-left-drawer strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.map-left-drawer small { color:#8491a4; }
.map-drawer-title { display:flex; align-items:center; justify-content:space-between; }.map-drawer-title button { border:0; background:none; font-size:20px; }
.map-icon-list { display:grid; gap:5px; }.map-icon-row { border-radius:8px; background:#171e2a; }.map-icon-row[draggable=true] { cursor:grab; }.map-icon-row label { display:grid; grid-template-columns:auto 34px 1fr auto; align-items:center; gap:8px; padding:8px; }.map-icon-row img { width:32px; height:32px; object-fit:contain; }.map-icon-row strong { color:#7f8a9b; font-size:12px; }
.map-category-create { display:grid; grid-template-columns:1fr auto; gap:7px; margin-top:10px; }.map-category-create[hidden] { display:none; }.map-category-create input,.map-category-create button { min-width:0; padding:7px 8px; border:1px solid #354052; border-radius:6px; background:#080c12; color:#eef2f7; }.map-category-create button { background:#202837; cursor:pointer; }.map-category-create small { grid-column:1/-1; color:#82c9a6; line-height:1.35; }.map-legend-list { display:grid; gap:9px; }.map-legend-category { overflow:hidden; border:1px solid #2c3749; border-radius:9px; background:#111824; }.map-legend-category > header { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 9px; background:#192231; }.map-legend-category > header label { display:flex; align-items:center; gap:7px; min-width:0; }.map-legend-category > header strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.map-legend-category > header button { padding:0 5px; border:0; background:transparent; color:#ff8c94; font-size:18px; cursor:pointer; }.map-legend-category.uncategorized > header { color:#8f9caf; background:#121a26; }.map-legend-category-content { display:grid; gap:5px; min-height:34px; padding:6px; }.map-legend-category-content > small { padding:7px; color:#79869a; text-align:center; }.map-legend-category.drop-target { border-color:#4f9cff; box-shadow:0 0 0 2px #2c83ff55; }.map-legend-item[draggable=true] { cursor:grab; }.map-group-row { border-radius:7px; background:#171e2a; }.map-group-row label { display:grid; grid-template-columns:auto auto 1fr auto; align-items:center; gap:8px; padding:8px; font-size:12px; }.map-group-row strong { color:#7f8a9b; }
.map-icon-size { display:grid; grid-template-columns:1fr 42px; align-items:center; gap:8px; padding:0 9px 9px 49px; }.map-icon-size input { width:100%; accent-color:#2c83ff; }.map-icon-size output { color:#9ba6b7; font-size:11px; }
.map-editor-tools { margin-top:14px; padding-top:14px; border-top:1px solid #2a3444; }.map-editor-tools p { color:#8793a5; font-size:12px; line-height:1.45; }.map-upload { display:block; padding:10px; border:1px dashed #3b75c4; border-radius:8px; text-align:center; color:#66a5ff; cursor:pointer; }.map-upload input { display:none; }.map-sync { display:flex; gap:8px; margin-top:13px; font-size:12px; }
.map-point-editor { position:absolute; z-index:25; right:300px; bottom:70px; width:300px; display:grid; gap:10px; padding:16px; border:1px solid #334055; border-radius:10px; background:#111722f5; box-shadow:0 8px 30px #000a; }.map-point-editor[hidden] { display:none; }.map-point-editor h3 { margin:0 0 3px; }.map-point-editor label { display:grid; gap:5px; color:#9da8b8; font-size:12px; }.map-point-editor input[type=text],.map-point-editor textarea { padding:8px; border:1px solid #354052; border-radius:6px; background:#080c12; color:#eef2f7; }.map-point-editor .danger { color:#ff7f87; }
.map-marker-image-editor { display:grid; grid-template-columns:1fr auto; align-items:center; gap:7px; padding:9px; border:1px solid #2d394c; border-radius:7px; }.map-marker-image-editor > strong { grid-column:1/-1; color:#9da8b8; font-size:12px; }.map-marker-image-editor > img { width:64px; height:48px; object-fit:cover; border-radius:5px; }.map-marker-image-upload,.map-marker-image-editor button { display:block; padding:7px 8px; border:1px solid #354052; border-radius:6px; background:#202837; color:#eef2f7; text-align:center; cursor:pointer; }.map-marker-image-upload input { display:none; }.map-marker-image-upload:has(input:disabled) { opacity:.5; cursor:not-allowed; }.map-marker-image-editor small { grid-column:1/-1; color:#8793a5; line-height:1.35; }.map-image-lightbox { width:auto; max-width:94vw; height:auto; max-height:92vh; padding:0; overflow:visible; border:1px solid #45536a; border-radius:12px; background:#080c12; box-shadow:0 20px 70px #000; }.map-image-lightbox[open] { position:fixed; inset:50% auto auto 50%; margin:0; transform:translate(-50%,-50%); }.map-image-lightbox::backdrop { background:#000c; }.map-image-lightbox > img { display:block; max-width:90vw; max-height:86vh; border-radius:11px; object-fit:contain; }.map-image-lightbox > button { position:absolute; z-index:2; top:-14px; right:-14px; width:34px; height:34px; border:1px solid #69768a; border-radius:50%; background:#161d29; color:#fff; font-size:22px; line-height:1; cursor:pointer; }
.map-savebar { position:absolute; z-index:30; left:50%; bottom:14px; display:flex; align-items:center; gap:9px; transform:translateX(-50%); padding:9px 11px; border:1px solid #334055; border-radius:10px; background:#111722f5; box-shadow:0 5px 22px #0009; }.map-savebar[hidden] { display:none; }.map-savebar span { margin-right:8px; color:#9da8b8; font-size:12px; }
@media(max-width:700px){.map-topbar output{display:none}.map-drawer{width:min(285px,85vw)}.map-point-editor{right:12px;left:12px;bottom:75px;width:auto}.map-savebar span{display:none}}

/* Game-Verwaltung 0.2.20 */
.game-management-card { position:relative; }
.game-management-card > div { min-width:0; }
.game-card-title { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.game-card-title h3 { margin-right:auto; }
.game-management-card .button { margin-top:14px; }
.game-form-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr); gap:18px; align-items:start; }
.game-icon-explanation { display:grid; justify-items:center; gap:12px; text-align:center; }
.game-icon-explanation img,.game-icon-explanation .game-icon-placeholder { width:112px; height:112px; border-radius:22px; object-fit:cover; }
.game-icon-explanation h2,.game-icon-explanation p { margin:0; }
.game-icon-explanation p { color:var(--muted); line-height:1.55; }
@media(max-width:760px){.game-form-layout{grid-template-columns:1fr}}
.map-transfer-tools { display:grid; gap:9px; margin-top:13px; }.map-transfer-tools > a { padding:9px; border-radius:7px; background:#202837; color:#66a5ff; text-align:center; }.map-transfer-tools form { display:grid; gap:7px; }.map-transfer-tools label { display:grid; gap:6px; color:#9da8b8; font-size:12px; }.map-transfer-tools input { max-width:100%; }.map-transfer-tools button { padding:8px; border:1px solid #354052; border-radius:7px; background:#202837; color:#eef2f7; cursor:pointer; }
.danger-zone { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:18px; border-color:color-mix(in srgb,var(--danger) 50%,var(--border)); }.danger-zone h2,.danger-zone p { margin:0; }.danger-zone p { margin-top:5px; color:var(--muted); }
.map-icon-management { display:grid; gap:12px; }.map-icon-management-row { display:grid; grid-template-columns:76px minmax(0,1fr) auto; align-items:center; gap:18px; }.map-icon-management-row > img { width:70px; height:70px; object-fit:contain; }.map-icon-management-row .form-grid { grid-template-columns:1.2fr 1.4fr 100px 100px auto; align-items:end; }.map-icon-management-row .form-grid p { margin:0; }.map-icon-management-row label { display:grid; gap:5px; }.map-icon-management-row input { width:100%; }.map-icon-management-row > form:last-child { margin:0; }@media(max-width:950px){.map-icon-management-row{grid-template-columns:60px 1fr}.map-icon-management-row>form:last-child{grid-column:2}.map-icon-management-row .form-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.danger-zone,.map-icon-management-row{align-items:stretch;grid-template-columns:1fr;flex-direction:column}.map-icon-management-row>form:last-child{grid-column:auto}.map-icon-management-row .form-grid{grid-template-columns:1fr}}
.tile-precompute { display:grid; gap:7px; margin-top:13px; padding:11px; border:1px solid #2f3a4c; border-radius:8px; background:#0c1119; }.tile-precompute > div { display:flex; justify-content:space-between; gap:8px; font-size:12px; }.tile-precompute progress { width:100%; accent-color:#2c83ff; }.tile-precompute button { padding:8px; border:1px solid #354052; border-radius:7px; background:#202837; color:#eef2f7; cursor:pointer; }.tile-precompute button:disabled { opacity:.55; cursor:wait; }.tile-precompute small { color:#ff8b91; overflow-wrap:anywhere; }
.batch-marker-form { padding:0; overflow:hidden; }.batch-toolbar { display:flex; align-items:center; gap:12px; padding:14px 18px; border-bottom:1px solid var(--border); }.batch-toolbar label { margin-right:auto; }.batch-toolbar select { padding:9px; border:1px solid var(--border); border-radius:7px; background:var(--bg); color:var(--text); }.batch-marker-list { display:grid; }.batch-marker-list > label { display:grid; grid-template-columns:auto 38px minmax(0,1fr) auto; align-items:center; gap:12px; padding:11px 18px; border-bottom:1px solid var(--border); }.batch-marker-list > label:last-child { border-bottom:0; }.batch-marker-list img { width:36px; height:36px; object-fit:contain; }.batch-marker-list span { display:grid; }.batch-marker-list small,.batch-marker-list > label > span:last-child { color:var(--muted); font-size:12px; }@media(max-width:600px){.batch-toolbar{align-items:stretch;flex-direction:column}.batch-toolbar label{margin:0}.batch-marker-list>label{grid-template-columns:auto 32px 1fr}.batch-marker-list>label>span:last-child{display:none}}
.map-statistics { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:18px; }.map-statistics > div { display:grid; gap:5px; }.map-statistics span,.archived-map-list small { color:var(--muted); font-size:12px; }.archived-map-list > div { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 18px; border-bottom:1px solid var(--border); }.archived-map-list > div:last-child { border-bottom:0; }.archived-map-list span { display:grid; gap:4px; }@media(max-width:700px){.map-statistics{grid-template-columns:1fr 1fr}.archived-map-list>div{align-items:stretch;flex-direction:column}}
.marker-searchbar { display:grid; grid-template-columns:1fr 220px; gap:10px; padding:14px 18px; border-bottom:1px solid var(--border); }.marker-searchbar input,.marker-searchbar select { padding:9px; border:1px solid var(--border); border-radius:7px; background:var(--bg); color:var(--text); }@media(max-width:600px){.marker-searchbar{grid-template-columns:1fr}}
.marker-group-create,.activity-filter { display:flex; align-items:center; gap:9px; margin-bottom:12px; }.marker-group-create input[type=text],.marker-group-create input:not([type]) ,.activity-filter select { padding:9px; border:1px solid var(--border); border-radius:7px; background:var(--bg); color:var(--text); }.marker-group-create input:first-of-type { flex:1; }.activity-filter { margin:0 0 12px; }
.map-group-list { display:grid; gap:5px; margin-bottom:10px; }.map-group-list label { display:flex; align-items:center; gap:8px; padding:7px 8px; border-radius:7px; background:#111824; font-size:12px; }.map-group-dot { width:10px; height:10px; border-radius:50%; background:var(--group-color); }.map-comment-form { display:grid; gap:7px; margin-top:14px; padding-top:14px; border-top:1px solid #2a3444; }.map-comment-form textarea { resize:vertical; padding:8px; border:1px solid #354052; border-radius:7px; background:#080c12; color:#eef2f7; }.map-comment-form button { padding:8px; border:1px solid #354052; border-radius:7px; background:#202837; color:#eef2f7; }
.marker-group-management { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }.marker-group-management > div,.marker-group-management form { display:flex; align-items:center; gap:7px; }.marker-group-management > div { padding:9px; }.marker-group-management input { padding:7px; border:1px solid var(--border); border-radius:6px; background:var(--bg); color:var(--text); }
.map-comment-list { display:grid; gap:9px; }.map-comment-list > div { display:grid; gap:6px; padding:10px; border-radius:8px; background:var(--surface-2); }.map-comment-list form { display:flex; gap:7px; }.map-comment-list textarea { flex:1; min-height:55px; padding:7px; border:1px solid var(--border); border-radius:6px; background:var(--bg); color:var(--text); }
.map-activity-chart { margin:18px 0; }.map-activity-chart > div { height:190px; display:grid; grid-template-columns:repeat(7,1fr); align-items:end; gap:12px; }.map-activity-chart span { height:100%; display:grid; grid-template-rows:1fr auto auto; align-items:end; justify-items:center; gap:4px; }.map-activity-chart i { width:min(42px,70%); min-height:4px; border-radius:6px 6px 2px 2px; background:var(--accent); }.map-activity-chart small { color:var(--muted); }
.viewer-comments { display:grid; gap:6px; margin-top:12px; }.viewer-comments > div { display:grid; gap:2px; padding:8px; border-radius:7px; background:#111824; font-size:12px; }.viewer-comments span,.viewer-comments small { color:#9da8b8; }.map-activity-chart select { padding:7px; border:1px solid var(--border); border-radius:7px; background:var(--bg); color:var(--text); }
.revision-list > .revision-row { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:12px 14px; padding:16px 18px; border-bottom:1px solid var(--border); }.revision-list > .revision-row:last-child { border-bottom:0; }.revision-summary { display:grid; min-width:0; gap:4px; }.revision-list small { color:var(--muted); }
.revision-actions,.revision-actions form { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }.revision-actions { grid-column:2; justify-content:flex-start; }.revision-actions form:first-child { flex:1 1 680px; }.revision-actions form:first-child input { flex:1 1 170px; min-width:0; }.revision-actions input[name=title] { padding:7px; border:1px solid var(--border); border-radius:6px; background:var(--bg); color:var(--text); }.revision-actions label { white-space:nowrap; font-size:12px; }.revision-preview-list { display:grid; margin-bottom:14px; }.revision-preview-list > div { display:flex; justify-content:space-between; gap:12px; padding:11px 14px; border-bottom:1px solid var(--border); }.revision-preview-list span { color:var(--muted); }@media(max-width:850px){.revision-list>.revision-row{grid-template-columns:1fr}.revision-actions{grid-column:1}.revision-actions,.revision-actions form{align-items:stretch;flex-direction:column}}
.revision-toolbar { display:grid; grid-template-columns:minmax(0,2fr) minmax(320px,1fr); gap:14px; }.revision-import,.revision-search { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:14px; }.revision-search input[type=search] { flex:1 1 240px; }.revision-import { justify-content:space-between; }.revision-list em { color:var(--muted); font-size:12px; }.revision-diff-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:14px 0; }.revision-diff-grid h2 { margin-top:0; font-size:15px; }.revision-diff-grid .diff-added { border-color:#299866; background:#123326; }.revision-diff-grid .diff-removed { border-color:#c4515b; background:#361b20; }.revision-diff-grid .diff-changed { border-color:#d99c36; background:#392b16; }.shortcut-help { width:min(430px,90vw); padding:22px; border:1px solid #354052; border-radius:12px; background:#111722; color:#eef2f7; }.shortcut-help::backdrop { background:#000a; }.shortcut-help dl { display:grid; grid-template-columns:110px 1fr; gap:9px; }.shortcut-help dt { font-weight:800; color:#66a5ff; }.shortcut-help dt input { width:48px; text-align:center; text-transform:uppercase; }.shortcut-help dd { margin:0; }.shortcut-actions { display:flex; gap:8px; }.shortcut-help button { width:100%; padding:9px; border:1px solid #354052; border-radius:7px; background:#202837; color:#eef2f7; }@media(max-width:700px){.revision-diff-grid,.revision-toolbar{grid-template-columns:1fr}}
.revision-tags { color:#66a5ff!important; }.shortcut-warning { color:#ff9aa4; }
.revision-checksum { display:flex!important; align-items:center; flex-wrap:wrap; gap:5px!important; }.revision-checksum code { color:#84b8ff; }.revision-checksum a,.revision-checksum button { color:var(--accent); }.revision-checksum button { padding:0; border:0; background:none; font:inherit; cursor:pointer; }.revision-full-checksum { flex:1 0 100%; max-width:680px; padding:5px 7px; margin-top:4px; overflow-wrap:anywhere; border:1px solid transparent; border-radius:5px; background:var(--surface-2); cursor:text; user-select:all; }.revision-full-checksum[hidden] { display:none; }.revision-checksum.checksum-selected .revision-full-checksum { border-color:var(--success); box-shadow:0 0 0 2px color-mix(in srgb,var(--success) 18%,transparent); }.revision-copy-status { flex:1 0 100%; color:var(--success); font-weight:700; }.import-shortcut-help { padding:10px 14px; margin-bottom:14px; }.import-shortcut-help summary { cursor:pointer; font-weight:700; }.import-shortcut-help small { display:block; margin-top:9px; color:var(--muted); }.import-conflict-help { display:grid; grid-template-columns:130px 1fr; gap:6px 12px; margin:12px 0; }.import-conflict-help dt { color:var(--accent); font-weight:700; }.import-conflict-help dd { margin:0; color:var(--muted); }.import-help-actions { display:flex; align-items:center; gap:10px; margin-top:10px; }.import-help-actions span { color:var(--success); font-size:12px; }.import-treatment-tools { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:10px 14px; margin-bottom:10px; }.import-treatment-tools .active { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 20%,var(--surface-2)); }.revision-preview-list > div > span { display:grid; gap:3px; }.import-resolution { color:#82c9a6; }.notification-preferences { display:grid; grid-template-columns:minmax(240px,1fr) auto auto; align-items:center; gap:18px; padding:15px 18px; margin-bottom:18px; }.notification-preferences > div { display:grid; gap:4px; }.notification-preferences span { color:var(--muted); }.notification-preferences label { display:flex; align-items:center; gap:8px; }.notification-filter { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:12px 18px; margin-bottom:10px; }.notification-filter select { padding:8px; border:1px solid var(--border); border-radius:7px; background:var(--bg); color:var(--text); }.notification-filter-count { margin-left:auto; color:var(--muted); font-weight:700; }.notification-unread-summary { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0 0 12px; }.notification-unread-summary > strong { color:var(--danger); }.notification-unread-summary a { display:inline-flex; align-items:center; gap:6px; padding:5px 9px; border:1px solid color-mix(in srgb,var(--danger) 45%,var(--border)); border-radius:999px; background:color-mix(in srgb,var(--danger) 9%,var(--surface)); }.notification-unread-summary b { display:grid; min-width:20px; height:20px; place-items:center; border-radius:999px; background:var(--danger); color:#fff; font-size:11px; }.filtered-notifications-action { display:flex; justify-content:flex-end; margin:0 0 18px; }@media(max-width:800px){.notification-preferences{grid-template-columns:1fr;align-items:stretch}.notification-filter,.import-help-actions,.import-treatment-tools{align-items:stretch;flex-direction:column}.import-conflict-help{grid-template-columns:1fr}.notification-filter-count{margin-left:0}.filtered-notifications-action .button{width:100%}}
.map-statistics { grid-template-columns:repeat(3,1fr); }.revision-tags { display:flex!important; flex-wrap:wrap; gap:5px!important; }.revision-tags a { padding:3px 7px; border:1px solid #3568a8; border-radius:999px; color:#84b8ff; text-decoration:none; background:#15243a; }
.revision-bulk-actions,.saved-filter-actions,.import-selection-tools { display:flex; gap:8px; align-items:center; padding:10px 14px; }.revision-structure-diff { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:14px; }.revision-structure-diff section { display:grid; gap:5px; }.revision-structure-diff h2 { margin:0; font-size:15px; }@media(max-width:700px){.revision-structure-diff{grid-template-columns:1fr}}
.import-duplicate { background:#351a20; }.import-conflict { background:#382b17; }.saved-filter-actions { flex-wrap:wrap; }.saved-filter-actions input,.saved-filter-actions select { padding:7px; border:1px solid var(--border); border-radius:6px; background:var(--bg); color:var(--text); }
.saved-view-list { display:flex; flex-wrap:wrap; gap:7px; padding:0 4px 12px; }.saved-view-list span { display:flex; border:1px solid var(--border); border-radius:999px; overflow:hidden; }.saved-view-list a { padding:5px 9px; color:var(--text); text-decoration:none; }.saved-view-list a.active { background:#214c82; }.saved-view-list form,.saved-view-list button { margin:0; }.saved-view-list button { height:100%; border:0; border-left:1px solid var(--border); background:transparent; color:var(--muted); }@media print{.print-hidden,.site-header,.site-footer,.flash-messages{display:none!important}body{background:#fff;color:#111}.panel{border:1px solid #bbb;background:#fff;color:#111}}
.saved-view-share { display:flex; }.saved-view-share input { width:90px; border:0; border-left:1px solid var(--border); padding:4px 6px; background:var(--bg); color:var(--text); }
.saved-view-rename { display:flex; }.saved-view-rename input { width:110px; border:0; border-left:1px solid var(--border); padding:4px 6px; background:var(--bg); color:var(--text); }.saved-view-rename button { padding-inline:8px; }
.undo-operation-list { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:12px 15px; margin-bottom:12px; }.undo-operation-list form { display:flex; align-items:center; gap:6px; }
.revision-header-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }.revision-header-actions form { margin:0; }

/* Git-Issues 0.3.1 */
.git-issue-filters { display:grid; grid-template-columns:minmax(240px,1fr) repeat(3,minmax(135px,auto)) auto auto; align-items:end; gap:10px; padding:14px; margin-bottom:10px; }
.git-issue-filters label { display:grid; gap:5px; color:var(--muted); font-size:12px; }
.git-issue-filters input,.git-issue-filters select { width:100%; min-height:39px; padding:8px 10px; border:1px solid var(--border); border-radius:7px; background:var(--bg); color:var(--text); }
.git-issue-list { overflow:hidden; }
.git-issue-list article { display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:start; gap:10px; padding:14px 16px; border-bottom:1px solid var(--border); }
.git-issue-list article:last-child { border-bottom:0; }
.git-issue-list article > div { display:grid; gap:4px; }
.git-issue-list article a { color:var(--text); }
.git-issue-list article a:hover { color:var(--accent); }
.git-issue-list small,.git-issue-assignees,.git-issue-comments { color:var(--muted); font-size:12px; }
.git-issue-comments { padding-top:3px; white-space:nowrap; }
.git-issue-state { font-size:17px; line-height:1.1; text-align:center; }
.git-issue-state.open,.git-issue-badge.open { color:#5cce8a; }
.git-issue-state.closed,.git-issue-badge.closed { color:#b48cff; }
.git-issue-header h1 span { color:var(--muted); font-weight:500; }
.git-issue-badge { display:inline-flex; align-items:center; padding:4px 9px; border:1px solid currentColor; border-radius:999px; background:var(--surface-2); font-size:12px; font-weight:800; }
.git-issue-layout { display:grid; grid-template-columns:minmax(0,1fr) 260px; align-items:start; gap:16px; }
.git-issue-timeline { display:grid; gap:12px; }
.git-issue-post { overflow:hidden; }
.git-issue-post > header { display:flex; align-items:center; gap:8px; padding:11px 14px; border-bottom:1px solid var(--border); background:var(--surface-2); }
.git-issue-post > header span { flex:1; color:var(--muted); font-size:12px; }
.git-issue-post > header form { margin:0; }
.git-issue-post > div { min-height:70px; padding:16px; overflow-wrap:anywhere; line-height:1.6; }
.git-issue-post > div > :first-child { margin-top:0; }
.git-issue-post > div > :last-child { margin-bottom:0; }
.git-issue-comment-form { display:grid; gap:9px; padding:16px; }
.git-issue-comment-form label { font-weight:800; }
.git-issue-comment-form textarea { width:100%; padding:10px; border:1px solid var(--border); border-radius:7px; background:var(--bg); color:var(--text); resize:vertical; }
.git-issue-comment-form button { justify-self:end; }
.git-issue-sidebar { display:grid; gap:0; padding:0; overflow:hidden; }
.git-issue-sidebar section { display:grid; gap:7px; padding:13px 15px; border-bottom:1px solid var(--border); }
.git-issue-sidebar section > strong { color:var(--muted); font-size:12px; }
.git-issue-sidebar .git-issue-badge { justify-self:start; }
.git-issue-sidebar > a,.git-issue-sidebar > form { margin:12px 12px 0; }
.git-issue-sidebar > form:last-child,.git-issue-sidebar > a:last-child { margin-bottom:12px; }
.git-issue-sidebar form .button { width:100%; }
.git-issue-form { display:grid; gap:15px; padding:18px; }
.git-issue-form > p { display:grid; gap:6px; margin:0; }
.git-issue-form input[type=text],.git-issue-form textarea { width:100%; padding:10px; border:1px solid var(--border); border-radius:7px; background:var(--bg); color:var(--text); }
.git-issue-form textarea { resize:vertical; line-height:1.5; }
.git-issue-form fieldset { padding:13px; border:1px solid var(--border); border-radius:8px; }
.git-issue-form legend { padding:0 6px; font-weight:800; }
.git-issue-form fieldset > div { display:flex; flex-wrap:wrap; gap:8px; }
.git-issue-form fieldset label { display:flex; align-items:center; gap:7px; padding:7px 10px; border-radius:7px; background:var(--surface-2); }
@media(max-width:1050px){.git-issue-filters{grid-template-columns:1fr 1fr 1fr}.git-issue-search{grid-column:1/-1}}
@media(max-width:760px){.git-issue-layout{grid-template-columns:1fr}.git-issue-sidebar{grid-row:1}.git-issue-filters{grid-template-columns:1fr}.git-issue-search{grid-column:auto}.git-issue-list article{grid-template-columns:22px minmax(0,1fr)}.git-issue-comments{grid-column:2}.git-issue-post>header{align-items:flex-start;flex-wrap:wrap}.git-issue-post>header span{flex-basis:70%}}

/* Pull Requests 0.3.2 */
.git-pr-filters { display:grid; grid-template-columns:minmax(260px,1fr) repeat(3,minmax(140px,auto)) auto auto; align-items:end; gap:10px; padding:14px; margin-bottom:10px; }
.git-pr-filters label { display:grid; gap:5px; color:var(--muted); font-size:12px; }
.git-pr-filters input,.git-pr-filters select { width:100%; min-height:39px; padding:8px 10px; border:1px solid var(--border); border-radius:7px; background:var(--bg); color:var(--text); }
.git-pr-list { overflow:hidden; }
.git-pr-list article { display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:start; gap:10px; padding:14px 16px; border-bottom:1px solid var(--border); }
.git-pr-list article:last-child { border-bottom:0; }
.git-pr-list article > div { display:grid; gap:4px; }
.git-pr-list article a { color:var(--text); }
.git-pr-list article a:hover { color:var(--accent); }
.git-pr-list small,.git-pr-activity { color:var(--muted); font-size:12px; }
.git-pr-activity { padding-top:3px; white-space:nowrap; }
.git-pr-state { font-size:19px; line-height:1; text-align:center; }
.git-pr-state.open,.git-pr-badge.open { color:#5cce8a; }
.git-pr-state.closed,.git-pr-badge.closed { color:#ea737d; }
.git-pr-state.merged,.git-pr-badge.merged { color:#b48cff; }
.git-pr-header h1 span { color:var(--muted); font-weight:500; }
.git-pr-badge { display:inline-flex; padding:4px 9px; border:1px solid currentColor; border-radius:999px; background:var(--surface-2); font-size:12px; font-weight:800; }
.git-pr-form { display:grid; gap:15px; padding:18px; }
.git-pr-form > p,.git-pr-branches p { display:grid; gap:6px; margin:0; }
.git-pr-form input,.git-pr-form textarea,.git-pr-form select { width:100%; padding:10px; border:1px solid var(--border); border-radius:7px; background:var(--bg); color:var(--text); }
.git-pr-form textarea { resize:vertical; line-height:1.5; }
.git-pr-branches { display:grid; grid-template-columns:1fr auto 1fr; align-items:end; gap:12px; }
.git-pr-branches > span { padding-bottom:10px; color:var(--muted); font-size:20px; }
.git-pr-compare { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:13px 16px; margin-bottom:12px; }
.git-pr-compare > span { display:flex; align-items:center; gap:6px; }
.git-pr-compare > b { color:var(--muted); }
.git-pr-change-count { margin-left:auto; color:var(--muted); font-size:12px; }
.git-pr-note { padding:11px 15px; margin-bottom:12px; border-color:#a57932; color:#e4bc72; font-size:13px; }
.git-pr-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; align-items:start; gap:16px; }
.git-pr-main,.git-pr-reviews,.git-pr-discussion,.git-pr-files,.git-pr-sidebar { display:grid; gap:12px; }
.git-pr-reviews article { display:grid; grid-template-columns:auto 1fr auto; gap:7px 12px; padding:13px 15px; }
.git-pr-reviews article > span { color:var(--muted); }
.git-pr-reviews article > p { grid-column:1/-1; margin:0; }
.git-pr-reviews article > small { color:var(--muted); }
.git-pr-reviews .review-approved { border-left:4px solid #4ebd7b; }
.git-pr-reviews .review-changes_requested { border-left:4px solid #df6973; }
.git-pr-reviews .review-outdated { opacity:.58; border-left-color:var(--muted); }
.git-pr-file { overflow:hidden; }
.git-pr-file summary { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; padding:11px 14px; cursor:pointer; background:var(--surface-2); }
.git-pr-file summary > strong { overflow-wrap:anywhere; }
.git-pr-file summary > b { color:var(--danger); }
.git-pr-file.has-conflict { border-color:var(--danger); }
.git-pr-file-action { padding:3px 7px; border-radius:5px; font-size:11px; font-weight:800; }
.git-pr-file-action.added { background:#17452d; color:#7cdfa2; }
.git-pr-file-action.modified { background:#40341b; color:#e7bd6b; }
.git-pr-file-action.deleted { background:#4b2025; color:#ff939c; }
.git-pr-file-action.target_only { background:#263244; color:#aebcd0; }
.git-pr-diff { max-height:520px; margin:0; overflow:auto; background:#080c12; }
.git-pr-diff code { display:block; min-height:20px; padding:1px 12px; color:#cbd4e0; font-family:Consolas,"Courier New",monospace; white-space:pre; }
.git-pr-diff code.added { background:#143725; color:#9be5b7; }
.git-pr-diff code.removed { background:#401d22; color:#ffb0b7; }
.git-pr-diff code.hunk { background:#182b48; color:#8fbaff; }
.git-pr-diff code.meta { color:#7f8ea3; }
.git-pr-target-only { margin:0; padding:13px 15px; color:var(--muted); }
.git-pr-sidebar { position:sticky; top:78px; }
.git-pr-sidebar > section,.git-pr-review-form { display:grid; gap:10px; padding:15px; }
.git-pr-sidebar section > small { color:var(--muted); overflow-wrap:anywhere; }
.git-pr-sidebar form { margin:0; }
.git-pr-sidebar .button { width:100%; }
.git-pr-review-form p { display:grid; gap:5px; margin:0; }
.git-pr-review-form select,.git-pr-review-form textarea { width:100%; padding:8px; border:1px solid var(--border); border-radius:7px; background:var(--bg); color:var(--text); }
.git-pr-review-form textarea { resize:vertical; }
.git-pr-ready { color:#69ce8f; }
.git-pr-blocker { margin:0; color:#ef858e; font-size:12px; line-height:1.45; }
.git-pr-merge-box p { margin:0; }
@media(max-width:1050px){.git-pr-filters{grid-template-columns:1fr 1fr 1fr}.git-pr-search{grid-column:1/-1}.git-pr-layout{grid-template-columns:minmax(0,1fr) 245px}}
@media(max-width:800px){.git-pr-layout{grid-template-columns:1fr}.git-pr-sidebar{position:static;grid-row:1}.git-pr-filters{grid-template-columns:1fr}.git-pr-search{grid-column:auto}.git-pr-list article{grid-template-columns:24px minmax(0,1fr)}.git-pr-activity{grid-column:2}.git-pr-branches{grid-template-columns:1fr}.git-pr-branches>span{padding:0;text-align:center}.git-pr-file summary{grid-template-columns:auto minmax(0,1fr)}.git-pr-file summary>b{grid-column:2}}

/* Git-Abschluss 0.3.3 */
.git-repository-search { display:flex; align-items:center; gap:10px; padding:13px; margin-bottom:16px; }
.git-repository-search input { flex:1 1 300px; min-width:0; padding:10px 12px; border:1px solid var(--border); border-radius:8px; background:var(--bg); color:var(--text); }
.git-repository-search select { min-width:220px; padding:10px; border:1px solid var(--border); border-radius:8px; background:var(--bg); color:var(--text); }
.git-overview-stats { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-bottom:18px; }
.git-overview-stats > a { display:grid; gap:4px; padding:15px; color:var(--text); }
.git-overview-stats strong { font-size:24px; }
.git-overview-stats span { color:var(--muted); font-size:12px; }
.git-overview-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr); align-items:start; gap:18px; }
.git-overview-grid > section,.git-overview-grid > aside { display:grid; gap:12px; }
.git-overview-grid .repo-readme { margin:0; }
.git-overview-side-list { display:grid; gap:0; padding:14px; }
.git-overview-side-list > .section-heading { margin-bottom:5px; }
.git-overview-side-list > a { display:grid; gap:3px; padding:9px 0; border-bottom:1px solid var(--border); color:var(--text); }
.git-overview-side-list > a:last-child { border-bottom:0; }
.git-overview-side-list small { color:var(--muted); }
.git-activity-list { overflow:hidden; }
.git-activity-list > a { display:grid; grid-template-columns:110px minmax(0,1fr) auto; align-items:center; gap:12px; padding:11px 14px; border-bottom:1px solid var(--border); color:var(--text); }
.git-activity-list > a:last-child { border-bottom:0; }
.git-activity-list > a:hover { background:color-mix(in srgb,var(--accent) 7%,var(--surface)); }
.git-activity-list > a > div { display:grid; gap:3px; }
.git-activity-list small,.git-activity-list time { color:var(--muted); font-size:12px; }
.git-activity-kind { padding:4px 7px; border-radius:5px; background:var(--surface-2); color:var(--muted); font-size:11px; font-weight:800; text-align:center; }
.git-activity-kind.code { color:#84b8ff; }
.git-activity-kind.branches { color:#d5a4ff; }
.git-activity-kind.issues { color:#76d99b; }
.git-activity-kind.pull_requests { color:#df9dff; }
.git-activity-filters { display:flex; align-items:center; flex-wrap:wrap; gap:6px; padding:9px; margin-bottom:10px; }
.git-activity-filters a { padding:7px 10px; border-radius:6px; color:var(--muted); }
.git-activity-filters a.active { background:var(--surface-2); color:var(--text); font-weight:800; }
.git-commit-detail-head { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:16px; margin-bottom:18px; }
.git-commit-detail-head > div { display:grid; gap:4px; }
.git-commit-detail-head span { color:var(--muted); }
.git-full-hash { grid-column:1/-1; }
.git-full-hash code { overflow-wrap:anywhere; color:var(--accent); }
.git-commit-change-list { overflow:hidden; }
.git-commit-change-list > div { display:grid; grid-template-columns:90px minmax(0,1fr) minmax(120px,auto) auto; align-items:center; gap:10px; padding:11px 14px; border-bottom:1px solid var(--border); }
.git-commit-change-list > div:last-child { border-bottom:0; }
.git-commit-change-list small,.git-commit-change-list .muted { color:var(--muted); font-size:12px; }
.git-branch-list { overflow:hidden; margin-bottom:18px; }
.git-branch-list article { display:grid; grid-template-columns:minmax(0,1fr) auto auto auto; align-items:center; gap:9px; padding:12px 14px; border-bottom:1px solid var(--border); }
.git-branch-list article:last-child { border-bottom:0; }
.git-branch-list article > div { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.git-branch-list article small { flex-basis:100%; color:var(--muted); }
.git-branch-list form { margin:0; }
.git-branch-protected { color:var(--muted); font-size:11px; }
.git-branch-compare { display:grid; gap:10px; }
.git-branch-compare-form { display:grid; grid-template-columns:1fr auto 1fr auto; align-items:end; gap:10px; padding:13px; }
.git-branch-compare-form label { display:grid; gap:5px; color:var(--muted); font-size:12px; }
.git-branch-compare-form select { width:100%; padding:9px; border:1px solid var(--border); border-radius:7px; background:var(--bg); color:var(--text); }
.git-branch-compare-form > span { padding-bottom:9px; color:var(--muted); }
.git-branch-compare-summary { display:flex; flex-wrap:wrap; gap:8px; }
.git-branch-compare-summary span { padding:5px 9px; border-radius:6px; background:var(--surface-2); font-size:12px; }
.git-branch-compare-summary .added { color:#7cdfa2; }
.git-branch-compare-summary .modified { color:#e7bd6b; }
.git-branch-compare-summary .deleted { color:#ff939c; }
.git-search-result-count { color:var(--muted); }
.git-search-sections { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.git-search-results { overflow:hidden; }
.git-search-results > a { display:grid; gap:3px; padding:11px 14px; border-bottom:1px solid var(--border); color:var(--text); }
.git-search-results > a:last-child { border-bottom:0; }
.git-search-results > a:hover { background:color-mix(in srgb,var(--accent) 7%,var(--surface)); }
.git-search-results small { color:var(--muted); }
@media(max-width:1050px){.git-overview-stats{grid-template-columns:repeat(3,1fr)}.git-overview-grid{grid-template-columns:1fr}.git-search-sections{grid-template-columns:1fr}.git-commit-change-list>div{grid-template-columns:80px minmax(0,1fr) auto}.git-commit-change-list>div>a,.git-commit-change-list>div>.muted{grid-column:2/-1}}
@media(max-width:720px){.git-repository-search{align-items:stretch;flex-direction:column}.git-repository-search select{min-width:0}.git-overview-stats{grid-template-columns:1fr 1fr}.git-activity-list>a{grid-template-columns:90px minmax(0,1fr)}.git-activity-list time{grid-column:2}.git-commit-detail-head{grid-template-columns:1fr}.git-full-hash{grid-column:auto}.git-branch-list article{grid-template-columns:1fr 1fr}.git-branch-list article>div{grid-column:1/-1}.git-branch-compare-form{grid-template-columns:1fr}.git-branch-compare-form>span{text-align:center;padding:0}.git-commit-change-list>div{grid-template-columns:1fr}.git-commit-change-list>div>a,.git-commit-change-list>div>.muted{grid-column:auto}}

/* Kalender-Kategorien 0.4.0 */
.calendar-category-controls { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:14px; padding:12px 14px; margin-bottom:14px; }
.calendar-category-controls > div:first-child { display:grid; gap:3px; }
.calendar-category-controls small { color:var(--muted); }
.calendar-category-controls > form { display:contents; }
.calendar-category-toggle-list { display:flex; align-items:stretch; flex-wrap:wrap; gap:7px; }
.calendar-category-toggle { position:relative; display:grid; grid-template-columns:auto auto; gap:4px 8px; min-width:150px; padding:8px 10px; overflow:hidden; border-left:4px solid var(--category-color); border-radius:7px; background-color:var(--surface-2); background-image:linear-gradient(90deg,#111925f0,#111925bc),var(--category-image,none); background-position:center; background-size:cover; }
.calendar-category-toggle strong { grid-column:1/-1; grid-row:1; color:#fff; }
.calendar-category-toggle label { grid-row:2; color:#d2dae5; font-size:11px; }
.calendar-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.calendar-category-card { display:grid; gap:11px; padding:0 15px 15px; overflow:hidden; }
.calendar-category-card-visual { min-height:115px; display:flex; align-items:flex-end; gap:8px; padding:15px; margin:0 -15px; border-bottom:4px solid var(--category-color); background-color:var(--surface-2); background-image:linear-gradient(0deg,#08101ae8,#08101a35),var(--category-image,none); background-position:center; background-size:cover; }
.calendar-category-card-visual > span { width:12px; height:12px; border-radius:50%; background:var(--category-color); box-shadow:0 0 0 3px #fff3; }
.calendar-category-card-visual strong { color:#fff; font-size:19px; text-shadow:0 1px 5px #000; }
.calendar-category-card > p,.calendar-category-card > small { margin:0; color:var(--muted); }
.calendar-category-preferences { display:grid; gap:6px; padding:9px; border-radius:7px; background:var(--surface-2); }
.calendar-category-preferences label { display:flex; align-items:center; gap:7px; font-size:12px; }
.calendar-category-actions { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; }
.calendar-category-form-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); align-items:start; gap:18px; }
.calendar-category-preview { min-height:260px; display:grid; align-content:end; gap:10px; border-bottom:5px solid var(--category-color); background-color:var(--surface-2); background-image:linear-gradient(0deg,#08101af2,#08101a38),var(--category-image,none); background-position:center; background-size:cover; }
.calendar-category-preview > div { display:grid; gap:4px; }
.calendar-category-preview strong { color:#fff; font-size:24px; text-shadow:0 2px 7px #000; }
.calendar-category-preview span,.calendar-category-preview p { color:#d5dde7; }
.calendar-event-header { padding:16px; border-left:5px solid var(--event-color,var(--accent)); border-radius:12px; }
.calendar-event-header.has-category-background { background-image:linear-gradient(90deg,var(--bg) 15%,color-mix(in srgb,var(--bg) 78%,transparent)),var(--event-background); background-position:center; background-size:cover; }
.calendar-category-badge { display:inline-flex; margin-left:7px; padding:4px 9px; border-radius:999px; background:var(--event-color,var(--accent)); color:#fff; font-size:11px; font-weight:800; }
.calendar-series-badge { display:inline-flex; margin-left:7px; padding:4px 9px; border-radius:999px; background:var(--panel-soft); color:var(--text); font-size:11px; font-weight:800; }
.calendar-series-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:flex-start; }
.calendar-series-actions .danger-zone { margin-top:0; }
.calendar-sharing-layout { grid-template-columns:minmax(0,1fr) minmax(360px,.9fr); }
.calendar-sharing-panel { display:grid; align-content:start; gap:14px; }
.calendar-sharing-panel h2,.calendar-sharing-panel p { margin-top:0; }
.calendar-invite-form { padding:12px; border:1px solid var(--border); border-radius:9px; background:var(--surface-2); }
.calendar-participant-list { display:grid; gap:8px; }
.calendar-participant-list > article { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; padding:10px; border:1px solid var(--border); border-radius:8px; background:var(--surface-2); }
.calendar-participant-main { display:grid; gap:4px; min-width:0; }
.calendar-participant-main small { color:var(--muted); }
.calendar-right-badges { display:flex; flex-wrap:wrap; gap:5px; }
.calendar-right-badges span { padding:3px 7px; border-radius:999px; background:color-mix(in srgb,var(--accent) 14%,var(--surface)); color:var(--text); font-size:10px; font-weight:700; }
.calendar-permission-form { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:7px; }
.calendar-permission-form label { display:flex; align-items:center; gap:4px; font-size:11px; }
.calendar-invitation-response > div:first-child { display:grid; gap:5px; }
@media(max-width:1000px){.calendar-category-grid{grid-template-columns:1fr 1fr}.calendar-category-controls{grid-template-columns:1fr}.calendar-category-controls>form{display:grid;gap:10px}.calendar-category-form-layout{grid-template-columns:1fr}}
@media(max-width:1000px){.calendar-sharing-layout{grid-template-columns:1fr}}
@media(max-width:650px){.calendar-category-grid{grid-template-columns:1fr}.calendar-category-toggle-list{display:grid;grid-template-columns:1fr}.calendar-category-actions{align-items:stretch;flex-direction:column}.calendar-category-actions>*{width:100%}.calendar-participant-list>article{grid-template-columns:1fr}.calendar-permission-form{justify-content:flex-start}.calendar-invitation-response{align-items:flex-start;flex-direction:column}}
