:root {
  --bg: #07090d;
  --surface: #0d1218;
  --surface-2: #121922;
  --surface-3: #18212c;
  --text: #f5f7fa;
  --muted: #8d98a6;
  --muted-2: #626e7d;
  --line: #252e3a;
  --red: #ed1c24;
  --red-dark: #a90c14;
  --cyan: #16bfe8;
  --green: #69d789;
  --yellow: #e8bd49;
  --blue: #4e91ef;
  --radius: 12px;
  --max: 1440px;
  --font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
*:where(:not(html, body)) { min-width: 0; }
html { scroll-behavior: smooth; background: var(--bg); }
body { margin: 0; overflow-x: clip; background: var(--bg); color: var(--text); font-family: var(--font); font-size: 16px; line-height: 1.6; }
body, button, input, textarea, select { font-family: var(--font); }
img, video, iframe { display: block; max-width: 100%; }
a, p, h1, h2, h3, strong, small, span { overflow-wrap: break-word; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }

.inner-page { min-height: 100vh; background: var(--bg); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 10px 16px; border: 1px solid transparent; border-radius: 7px; background: transparent; color: #fff; font-size: 12px; font-weight: 800; transition: border-color .2s, background .2s, transform .2s; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { border-color: var(--red); background: var(--red); box-shadow: 0 12px 32px rgba(237, 28, 36, .2); }
.btn-primary:hover { border-color: #ff343b; background: #ff343b; }
.btn-ghost { border-color: #333d49; background: rgba(255, 255, 255, .02); }
.btn-ghost:hover, .btn-glass:hover { border-color: #697586; background: rgba(255, 255, 255, .06); }
.btn-glass { border-color: rgba(255, 255, 255, .28); background: rgba(7, 9, 13, .48); backdrop-filter: blur(12px); }
.btn-light { background: #fff; color: #11151a; }
.btn-large { min-height: 50px; padding: 13px 20px; font-size: 13px; }
.text-link, .mini-link { color: #e9edf2; font-size: 12px; font-weight: 800; }
.text-link { display: inline-block; margin-top: 18px; padding-bottom: 3px; border-bottom: 1px solid var(--red); }
.mini-link:hover, .text-link:hover { color: #fff; }

/* Public navigation */
.site-header { position: absolute; z-index: 30; top: 0; left: 0; width: 100%; padding: 0 5vw; background: linear-gradient(180deg, rgba(5, 7, 10, .9), transparent); }
.site-header.compact { position: relative; background: #07090d; border-bottom: 1px solid var(--line); }
.nav-wrap { width: min(100%, var(--max)); height: 88px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 25px; border-bottom: 1px solid rgba(255, 255, 255, .16); }
.brand { flex: none; }
.brand img { width: 196px; height: auto; }
.desktop-nav { display: flex; align-items: center; gap: 34px; margin-left: auto; }
.desktop-nav a { position: relative; padding: 33px 0; color: #aeb6c1; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 25px; height: 2px; background: var(--red); transition: right .2s; }
.desktop-nav a:hover { color: #fff; }
.desktop-nav a:hover::after { right: 0; }
.nav-actions { display: flex; gap: 8px; }
.mobile-menu { display: none; position: relative; }
.mobile-menu summary { list-style: none; display: flex; align-items: center; gap: 8px; padding: 9px 11px; border: 1px solid #36404d; border-radius: 7px; background: rgba(8, 10, 14, .8); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu-panel { position: absolute; z-index: 60; top: 52px; right: 0; width: 330px; padding: 15px; border: 1px solid #303946; border-radius: 10px; background: #0a0e13; box-shadow: 0 25px 60px rgba(0, 0, 0, .65); }
.mobile-menu-panel nav { display: flex; flex-direction: column; }
.mobile-menu-panel nav a { padding: 12px 5px; border-bottom: 1px solid #202833; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.mobile-menu-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }

/* Cinematic video hero */
.hero { position: relative; overflow: hidden; }
.hero-cinematic { min-height: min(920px, 100svh); height: 100svh; display: flex; align-items: flex-end; padding: 150px max(6vw, 24px) clamp(78px, 11vh, 125px); isolation: isolate; background: #06080b; }
.hero-media { position: absolute; z-index: -2; inset: 0; overflow: hidden; background: #050609 url('/assets/media/emw-outro-poster.webp') center/cover no-repeat; }
.hero-media video { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.11); filter: saturate(.92) contrast(1.06); }
.hero-cinematic::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(5, 7, 10, .96) 0%, rgba(5, 7, 10, .78) 37%, rgba(5, 7, 10, .2) 72%), linear-gradient(0deg, rgba(5, 7, 10, .78), transparent 53%, rgba(5, 7, 10, .16)); }
.hero-copy { width: min(820px, 76vw); }
.hero-region, .section-kicker, .eyebrow { display: flex; align-items: center; gap: 11px; color: #aeb7c2; font-size: 10px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.hero-region::before, .section-kicker::before { content: ""; width: 30px; height: 2px; background: var(--red); }
.hero h1 { margin: 25px 0 28px; font-size: clamp(58px, 7.2vw, 112px); line-height: .9; letter-spacing: -.058em; text-transform: uppercase; text-wrap: balance; }
.hero h1 span { color: var(--red); }
.hero-copy > p { max-width: 670px; margin: 0; color: #bcc4ce; font-size: 17px; line-height: 1.72; text-shadow: 0 2px 18px #000; }
.hero-play-fallback { position: absolute; z-index: 3; right: max(5vw, 18px); bottom: 22px; min-height: 38px; padding: 8px 12px; border: 1px solid rgba(255, 255, 255, .3); border-radius: 30px; background: rgba(7, 9, 13, .68); backdrop-filter: blur(12px); color: #fff; font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.hero-play-fallback[hidden] { display: none; }
.hero-play-fallback span { margin-right: 5px; color: var(--red); }

/* Public content */
.section { width: min(100%, var(--max)); margin: auto; padding: 110px 5vw; }
.section-kicker { margin-bottom: 24px; color: #8c96a4; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.section-head .section-kicker { margin-bottom: 12px; }
.section-head h2, .about-main h2, .story-section h2, .social-section h2 { margin: 0; font-size: clamp(42px, 5vw, 74px); line-height: .98; letter-spacing: -.048em; text-transform: uppercase; }
.section-aside { max-width: 390px; margin: 0; color: var(--muted); font-size: 13px; }
.about-grid { display: grid; grid-template-columns: .32fr 1.25fr .72fr; gap: 58px; }
.about-main p { max-width: 720px; color: var(--muted); }
.about-main .lead { color: #d9dee4; font-size: 20px; }
.quote-card { align-self: end; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg, #161d26, #0d1218); box-shadow: 0 25px 65px rgba(0, 0, 0, .35); }
.photo-quote > img { width: 100%; height: 190px; object-fit: cover; }
.quote-card blockquote { margin: 27px 28px 18px; color: #edf0f4; font-size: 18px; line-height: 1.5; }
.quote-card > span { display: block; margin: 0 28px 28px; color: #7c8795; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.video-section, .original-media { border-top: 1px solid var(--line); }
.video-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.video-frame { aspect-ratio: 16/9; background: #000; }
.video-frame iframe { width: 100%; height: 100%; border: 0; }
.video-copy { padding: clamp(28px, 4vw, 52px); display: flex; flex-direction: column; justify-content: center; }
.tag, .required { align-self: flex-start; padding: 5px 7px; border-radius: 4px; background: var(--red); color: #fff; font-size: 8px; font-weight: 900; letter-spacing: .13em; }
.video-copy h3 { margin: 19px 0 8px; font-size: 31px; line-height: 1.08; }
.video-copy p { color: var(--muted); font-size: 13px; }
.stills-grid { height: 650px; display: grid; grid-template-columns: 1.25fr .75fr; grid-template-rows: 1fr 1fr; gap: 12px; }
.stills-grid figure { position: relative; margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.stills-grid .still-main { grid-row: 1 / 3; }
.stills-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s, filter .5s; }
.stills-grid figure:hover img { transform: scale(1.025); filter: brightness(1.06); }
.stills-grid figcaption { position: absolute; left: 15px; bottom: 15px; padding: 8px 10px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 6px; background: rgba(6, 8, 12, .78); backdrop-filter: blur(10px); text-transform: uppercase; }
.stills-grid figcaption strong, .stills-grid figcaption span { display: block; }
.stills-grid figcaption strong { font-size: 10px; }
.stills-grid figcaption span { color: #b5bdc8; font-size: 8px; letter-spacing: .1em; }
.behind-scenes { min-height: 450px; margin-top: 65px; display: grid; grid-template-columns: .8fr 1.25fr .75fr; gap: 12px; }
.behind-copy { padding: 38px; display: flex; flex-direction: column; justify-content: end; border: 1px solid var(--line); border-radius: 9px; background: linear-gradient(145deg, #151c25, #0d1218); }
.behind-copy h3 { margin: 8px 0 18px; font-size: clamp(28px, 3vw, 44px); line-height: 1.03; letter-spacing: -.04em; text-transform: uppercase; }
.behind-copy p { color: var(--muted); font-size: 13px; }
.behind-photo { margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; }
.behind-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.behind-photo-wide img { object-position: center 58%; }
.behind-photo:hover img { transform: scale(1.025); }
.archive-heading { margin: 50px 0 14px; display: flex; align-items: baseline; justify-content: space-between; }
.archive-heading strong { font-size: 19px; text-transform: uppercase; }
.archive-heading span { color: var(--muted-2); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.archive-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(300px, 31%); gap: 10px; overflow-x: auto; padding-bottom: 12px; scroll-snap-type: x proximity; scrollbar-color: #3b4654 #10151c; }
.archive-rail figure { aspect-ratio: 16/9; margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; scroll-snap-align: start; }
.archive-rail img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.archive-rail figure:hover img { transform: scale(1.025); }
.story-section { width: 100%; max-width: none; padding-inline: max(5vw, calc((100vw - var(--max)) / 2 + 5vw)); border-block: 1px solid var(--line); background: #0c1117; }
.story-section h2 span { color: var(--red); }
.timeline { margin-top: 58px; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #343d49; }
.timeline article { position: relative; padding: 30px 25px 0 0; }
.timeline article::before { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: #566171; }
.timeline .timeline-alert::before { background: var(--red); box-shadow: 0 0 18px var(--red); }
.timeline strong { display: block; font-size: 38px; }
.timeline article > span { color: #b9c1cc; font-size: 9px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.timeline p { max-width: 240px; color: var(--muted); font-size: 13px; }
.timeline-alert strong { color: var(--red); }
.social-section { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.social-list { border-top: 1px solid var(--line); }
.social-list a { display: grid; grid-template-columns: 45px 1fr auto; gap: 15px; align-items: center; padding: 19px 4px; border-bottom: 1px solid var(--line); transition: padding .2s, background .2s; }
.social-list a:hover { padding-left: 11px; background: var(--surface); }
.social-mark { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid #394451; border-radius: 50%; font-size: 9px; font-weight: 900; }
.social-list strong, .social-list small { display: block; }
.social-list small { color: var(--muted-2); font-size: 11px; }
.cta-section { position: relative; width: min(calc(100% - 40px), var(--max)); margin: 0 auto 65px; overflow: hidden; display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: center; padding: 65px 6vw; background: linear-gradient(120deg, #e51b23, #9e0812); }
.cta-section::after { content: "EMW"; position: absolute; right: -20px; bottom: -100px; color: rgba(255, 255, 255, .06); font-size: 240px; font-weight: 900; letter-spacing: -.08em; }
.cta-section > div { position: relative; z-index: 1; min-width: 0; }
.cta-section h2 { margin: 16px 0; font-size: clamp(44px, 5vw, 75px); line-height: .94; letter-spacing: -.05em; text-transform: uppercase; }
.cta-section p { max-width: 480px; margin: 0 0 24px; font-size: 17px; }
.footer { padding: 65px 5vw 22px; border-top: 1px solid var(--line); background: #050609; }
.footer-grid { width: min(100%, var(--max)); margin: auto; display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 45px; }
.footer-logo { width: 200px; }
.footer p { color: #6f7a88; font-size: 12px; }
.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; gap: 9px; color: #87919e; font-size: 12px; }
.footer-title { margin-bottom: 7px; color: #fff; font-size: 9px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.footer-grid a:hover { color: #fff; }
.footer-bottom { width: min(100%, var(--max)); margin: 45px auto 0; padding-top: 18px; display: flex; justify-content: space-between; border-top: 1px solid #1e252e; color: #5c6774; font-size: 9px; letter-spacing: .09em; text-transform: uppercase; }

/* Forms, legal pages and login */
.page-intro { max-width: 1040px; margin: auto; padding: 95px 22px 50px; text-align: center; }
.page-intro .eyebrow { justify-content: center; color: var(--cyan); }
.page-intro h1 { margin: 18px 0; font-size: clamp(42px, 6vw, 76px); line-height: 1; letter-spacing: -.05em; text-transform: uppercase; }
.page-intro p { max-width: 700px; margin: auto; color: var(--muted); font-size: 17px; }
.form-shell { max-width: 1040px; margin: 0 auto 105px; padding: 0 22px; display: grid; grid-template-columns: .72fr 1.28fr; gap: 25px; }
.info-panel, .form-card, .legal-card { padding: 32px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.info-panel h2, .form-card h2 { margin-top: 0; font-size: 23px; }
.info-panel p, .info-panel li, .legal-card p, .legal-card li { color: var(--muted); font-size: 13px; }
.info-panel ul { padding-left: 20px; }
.check-list { padding: 0 !important; list-style: none; }
.check-list li { display: flex; gap: 9px; margin: 11px 0; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.field { display: flex; flex-direction: column; gap: 6px; }
.field.full { grid-column: 1 / -1; }
.field label { color: #929daa; font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.field input, .field textarea, .field select { width: 100%; padding: 12px 13px; border: 1px solid #323c49; border-radius: 7px; outline: 0; background: #090c11; color: #fff; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(22, 191, 232, .08); }
.field textarea { min-height: 125px; resize: vertical; }
.upload-box { padding: 22px; border: 1px dashed #3d4856; border-radius: 8px; background: #090d12; color: #7e8997; text-align: center; font-size: 11px; }
.form-note { color: #76818f; font-size: 11px; }
.form-submit { justify-content: flex-end; align-self: end; }
.legal-wrap { max-width: 900px; margin: 0 auto 110px; padding: 0 22px; }
.legal-card h2 { margin-top: 32px; }
.legal-warning { padding: 16px 18px; border-left: 3px solid var(--yellow); border-radius: 5px; background: #282311; color: #ead88f !important; }
.global-flash { max-width: 1040px; margin: 16px auto; padding: 12px 16px; border: 1px solid #31546b; border-radius: 8px; background: #10212b; color: #c8edff; font-size: 12px; }
.global-flash.success { border-color: #2c6a41; background: #10281a; color: #bcefc7; }
.global-flash.error { border-color: #74323a; background: #321519; color: #ffc2c6; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; }
.login-wrap { min-height: calc(100vh - 89px); display: grid; grid-template-columns: 1fr 1fr; }
.login-visual { padding: 65px; display: flex; align-items: end; background: linear-gradient(0deg, rgba(5, 7, 10, .82), rgba(5, 7, 10, .18)), url('/assets/media/emw-einsatz-regen.jpeg') center/cover; }
.login-visual h1 { margin: 18px 0; font-size: clamp(42px, 4vw, 60px); line-height: .94; letter-spacing: -.045em; text-transform: uppercase; }
.login-panel { padding: 42px; display: grid; place-items: center; }
.login-card { width: min(430px, 100%); }
.login-card > img { width: 205px; margin-bottom: 34px; }
.login-card h2 { margin: 0 0 4px; font-size: 31px; }
.login-card > p { margin-top: 0; color: var(--muted); }
.discord-btn { width: 100%; margin-top: 12px; border-color: #5865f2; background: #5865f2; }
.discord-btn:hover { background: #6975f5; }
.login-links { margin-top: 18px; display: flex; justify-content: space-between; color: #87929f; font-size: 11px; }

/* Persistent management attention */
.management-alerts { display: grid; gap: 9px; }
.management-alerts a { padding: 14px 16px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 12px; align-items: center; border: 1px solid #7b343c; border-radius: 10px; background: linear-gradient(105deg,#39161b,#191016); box-shadow: 0 14px 36px rgba(237,28,36,.1); }
.management-alerts a:nth-child(2) { border-color: #5b4678; background: linear-gradient(105deg,#251c35,#141119); }
.management-alert-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 9px; background: var(--red); color: #fff; font-size: 17px; font-weight: 900; }
.management-alerts a:nth-child(2) .management-alert-icon { background: #7f5fc0; }
.management-alerts small, .management-alerts strong { display: block; }
.management-alerts small { color: #d48c91; font-size: 7px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.management-alerts a:nth-child(2) small { color: #aa91d5; }
.management-alerts strong { margin-top: 2px; font-size: 11px; }
.management-alerts a > b { color: #ffadb2; font-size: 9px; white-space: nowrap; }
.management-alerts a:nth-child(2) > b { color: #c6acef; }
.management-alerts a.team-case-alert { border-color: #3f596e; background: linear-gradient(105deg,#13222d,#10151b); }
.management-alerts a.team-case-alert .management-alert-icon { background: #34749a; }
.management-alerts a.team-case-alert small { color: #86b9d7; }
.management-alerts a.team-case-alert > b { color: #9fd7f4; }
.public-management-alerts { position: relative; z-index: 20; width: min(calc(100% - 28px),var(--max)); margin: 14px auto; }
.portal-management-alerts { margin-bottom: 18px; grid-template-columns: repeat(2,minmax(0,1fr)); }

/* Portal shell */
.portal-body { background: #080b0f; }
.portal { --accent: var(--cyan); min-height: 100vh; background: radial-gradient(circle at 82% -5%, rgba(22, 191, 232, .09), transparent 30%), #090c11; color: #e9edf2; }
.portal-admin { --accent: var(--red); background: radial-gradient(circle at 82% -5%, rgba(237, 28, 36, .09), transparent 30%), #090c11; }
.portal-management { --accent: #9b7cff; background: radial-gradient(circle at 82% -5%, rgba(155, 124, 255, .09), transparent 30%), #090c11; }
.portal-topbar { position: sticky; z-index: 12; top: 0; height: 80px; padding: 0 28px; display: flex; align-items: center; border-bottom: 1px solid #202833; background: rgba(9, 12, 17, .94); backdrop-filter: blur(16px); }
.portal-brand { display: flex; align-items: center; gap: 12px; }
.portal-brand img { width: 44px; height: 37px; object-fit: contain; }
.portal-brand > span { display: flex; flex-direction: column; line-height: 1.16; }
.portal-brand strong { font-size: 14px; }
.portal-brand small { color: #697585; font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.portal-switcher { margin-left: clamp(30px,5vw,90px); padding: 4px; display: flex; gap: 3px; border: 1px solid #29333f; border-radius: 9px; background: #0b1016; }
.portal-switcher a { padding: 8px 13px; border-radius: 6px; color: #747f8c; font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.portal-switcher a { position: relative; }
.area-count { min-width: 17px; height: 17px; margin-left: 6px; padding: 0 5px; display: inline-grid; place-items: center; border-radius: 20px; background: var(--red); color: #fff; font-size: 7px; }
.portal-switcher a:hover { color: #fff; background: #171e27; }
.portal-switcher a.active { color: #fff; background: #17212a; box-shadow: inset 0 -2px var(--cyan); }
.portal-switcher a.switch-management.active { background: #1e1a2b; box-shadow: inset 0 -2px #9b7cff; }
.portal-switcher a.switch-admin.active { background: #2b171b; box-shadow: inset 0 -2px var(--red); }
.portal-area-pill { margin-left: auto; margin-right: 22px; padding: 6px 10px; border: 1px solid #303947; border-radius: 25px; color: var(--accent); background: #111720; font-size: 8px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.user-menu { display: flex; align-items: center; gap: 10px; }
.mail-top-button { position: relative; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #303a46; border-radius: 9px; background: #111720; color: #a8b1bc; }
.mail-top-button:hover { border-color: var(--accent); color: #fff; }
.mail-top-button b { position: absolute; top: -6px; right: -6px; min-width: 19px; height: 19px; padding: 0 5px; display: grid; place-items: center; border: 2px solid #090c11; border-radius: 20px; background: var(--red); color: #fff; font-size: 8px; }
.avatar { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg, var(--accent), #171c24); font-size: 11px; font-weight: 900; }
.user-meta { line-height: 1.2; }
.user-meta strong, .user-meta small { display: block; }
.user-meta strong { font-size: 11px; }
.user-meta small { color: #727e8c; font-size: 9px; }
.portal-logout { width: 31px; height: 31px; margin-left: 4px; display: grid; place-items: center; border: 1px solid #2d3642; border-radius: 7px; color: #87919e; }
.portal-logout:hover { border-color: var(--accent); color: #fff; }
.portal-layout { display: block; }
.sidebar { position: sticky; top: 80px; height: calc(100vh - 80px); padding: 24px 15px 18px; display: flex; flex-direction: column; border-right: 1px solid #202833; background: linear-gradient(180deg,#0c1117,#080b0f); }
.sidebar-context { padding: 2px 11px 20px; }
.sidebar-context span, .sidebar-context strong { display: block; }
.sidebar-context span { color: #596575; font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.sidebar-context strong { margin-top: 3px; font-size: 17px; }
.portal-nav { display: flex; flex-direction: column; gap: 5px; }
.portal-nav a { position: relative; min-height: 52px; padding: 9px 11px 9px 15px; display: grid; grid-template-columns: 1fr auto; align-content: center; align-items: center; border: 1px solid transparent; border-radius: 9px; transition: background .2s,border-color .2s,transform .2s; }
.portal-nav a::before { content: ""; position: absolute; left: 7px; width: 3px; height: 3px; border-radius: 50%; background: #465260; transition: height .2s,background .2s; }
.portal-nav a > span { color: #96a1ae; font-size: 11px; }
.portal-nav a > small { color: #4f5b69; font-size: 8px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.portal-nav a:hover { transform: translateX(2px); border-color: #2b3541; background: #111821; }
.portal-nav a.active { border-color: #35424f; background: linear-gradient(90deg,rgba(255,255,255,.07),rgba(255,255,255,.025)); box-shadow: 0 8px 22px rgba(0,0,0,.16); }
.portal-nav a.active::before { height: 25px; border-radius: 4px; background: var(--accent); }
.portal-nav a.active > span { color: #fff; }
.portal-nav a.active > small { color: var(--accent); }
.sidebar-bottom { margin-top: auto; padding-top: 11px; border-top: 1px solid #202833; }
.sidebar-bottom a { padding: 8px 11px; display: flex; justify-content: space-between; color: #76818f; font-size: 10px; }
.sidebar-bottom a:hover { color: #fff; }
.portal-mobile-menu { display: none; }
.portal-desktop-menu { position: sticky; z-index: 11; top: 80px; padding: 9px clamp(14px,3vw,42px); border-bottom: 1px solid #202a35; background: rgba(9,13,18,.96); backdrop-filter: blur(16px); }
.portal-top-nav { width: min(100%,1600px); margin: auto; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(112px,1fr); gap: 6px; overflow-x: auto; scrollbar-width: thin; }
.portal-top-nav a { position: relative; min-height: 68px; padding: 8px 10px; display: grid; grid-template-columns: 31px minmax(0,1fr); grid-template-rows: auto auto; column-gap: 8px; align-content: center; border: 1px solid transparent; border-radius: 9px; color: #818d9a; }
.portal-top-nav a:hover { border-color: #2e3945; background: #111821; color: #fff; }
.portal-top-nav a.active { border-color: #35424f; background: linear-gradient(135deg,rgba(255,255,255,.08),#111820); color: #fff; box-shadow: inset 0 -2px var(--accent); }
.portal-nav-icon { grid-row: 1 / 3; width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid #303b47; border-radius: 8px; background: #0b1016; color: #7c8996; }
.portal-nav-icon svg { width: 17px; height: 17px; }
.portal-top-nav a.active .portal-nav-icon { border-color: color-mix(in srgb,var(--accent) 55%,#303b47); color: var(--accent); background: color-mix(in srgb,var(--accent) 9%,#0b1016); }
.portal-top-nav a > span { align-self: end; font-size: 9px; font-weight: 850; white-space: nowrap; }
.portal-top-nav a > small { align-self: start; color: #566270; font-size: 7px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.portal-dropdown-nav { width: min(100%,1600px); margin: auto; display: grid; grid-template-columns: repeat(5,minmax(130px,1fr)); gap: 7px; }
.portal-group-home, .portal-nav-dropdown > summary { min-height: 62px; padding: 8px 11px; display: grid; grid-template-columns: 32px minmax(0,1fr) auto; gap: 9px; align-items: center; border: 1px solid #2b3641; border-radius: 9px; background: #0e141b; color: #8e99a6; list-style: none; cursor: pointer; }
.portal-nav-dropdown > summary::-webkit-details-marker { display: none; }
.portal-group-home:hover, .portal-nav-dropdown > summary:hover, .portal-nav-dropdown[open] > summary { border-color: #42505e; background: #151c24; color: #fff; }
.portal-group-home.active, .portal-nav-dropdown.has-active > summary { border-color: color-mix(in srgb,var(--accent) 45%,#35414d); color: #fff; box-shadow: inset 0 -2px var(--accent); }
.portal-group-home > span strong, .portal-group-home > span small, .portal-nav-dropdown summary span strong, .portal-nav-dropdown summary span small { display: block; }
.portal-group-home strong, .portal-nav-dropdown summary strong { font-size: 9px; }
.portal-group-home small, .portal-nav-dropdown summary small { color: #5f6b78; font-size: 7px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.portal-nav-dropdown { position: relative; }
.portal-nav-dropdown summary em { color: #606c79; font-size: 14px; font-style: normal; transition: transform .2s; }
.portal-nav-dropdown[open] summary em { transform: rotate(180deg); }
.portal-nav-dropdown > div { position: absolute; z-index: 30; top: calc(100% + 8px); left: 0; width: min(340px,90vw); padding: 8px; display: grid; gap: 5px; border: 1px solid #35414d; border-radius: 11px; background: #0a0f15; box-shadow: 0 25px 65px rgba(0,0,0,.65); }
.portal-nav-dropdown:nth-last-child(-n+2) > div { right: 0; left: auto; }
.portal-nav-dropdown > div > a { min-height: 56px; padding: 8px 10px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 10px; align-items: center; border: 1px solid transparent; border-radius: 8px; }
.portal-nav-dropdown > div > a:hover { border-color: #303b47; background: #131a22; }
.portal-nav-dropdown > div > a.active { border-color: color-mix(in srgb,var(--accent) 40%,#303b47); background: color-mix(in srgb,var(--accent) 7%,#121922); }
.portal-nav-dropdown > div > a span strong, .portal-nav-dropdown > div > a span small { display: block; }
.portal-nav-dropdown > div > a strong { font-size: 10px; }
.portal-nav-dropdown > div > a small { margin-top: 2px; color: #687482; font-size: 7px; text-transform: uppercase; }
.portal-content { width: 100%; max-width: 1600px; margin: auto; padding: 42px clamp(22px, 4vw, 65px) 75px; }
.portal-heading { margin-bottom: 28px; display: flex; align-items: end; justify-content: space-between; }
.portal-heading h1 { margin: 5px 0; font-size: clamp(33px, 4vw, 49px); line-height: 1; letter-spacing: -.04em; }
.portal-heading p { margin: 0; color: #778391; font-size: 11px; }
.portal-eyebrow, .panel-kicker { display: block; color: var(--accent); font-size: 8px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.portal-date { padding: 5px 9px; border: 1px solid #29333f; border-radius: 20px; color: #84909d; font-size: 10px; }
.panel { min-width: 0; padding: 21px; border: 1px solid var(--line); border-radius: 11px; background: linear-gradient(145deg, #10161e, #0d1218); }
.panel-head { margin-bottom: 17px; display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.panel-head h2 { margin: 0; font-size: 16px; }
.panel-head > span { color: #727e8c; font-size: 9px; }
.dashboard-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 16px; }
.notice-box { margin-bottom: 16px; padding: 15px 18px; display: flex; align-items: flex-start; gap: 12px; border: 1px solid #28536a; border-radius: 9px; background: #10202a; }
.notice-box.important { border-color: #733039; background: #321519; }
.notice-icon { flex: none; width: 29px; height: 29px; display: grid; place-items: center; border: 1px solid #36718d; border-radius: 50%; color: #8bdfff; font-weight: 900; }
.notice-box.important .notice-icon { border-color: #8b3941; color: #ff999e; }
.notice-box strong, .notice-box span { display: block; }
.notice-box span { color: #8ea5b2; font-size: 11px; }
.event-list { display: flex; flex-direction: column; gap: 9px; }
.event { padding: 11px; display: grid; grid-template-columns: 50px 1fr auto; align-items: center; gap: 12px; border: 1px solid #28323e; border-radius: 8px; background: #0b1016; }
.date-tile { padding-right: 9px; border-right: 1px solid #2d3743; text-align: center; }
.date-tile strong { display: block; font-size: 19px; line-height: 1; }
.date-tile span { color: var(--red); font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.event-info strong, .event-info small { display: block; }
.event-info strong { font-size: 12px; }
.event-info small { color: #75818f; font-size: 9px; }
.event-info p { margin: 7px 0; color: var(--muted); font-size: 11px; }
.event-balance { padding-left: 13px; border-left: 1px solid #29333f; text-align: right; }
.event-balance b, .event-balance span { display: block; }
.event-balance b { font-size: 16px; }
.event-balance span { color: #6e7a88; font-size: 7px; font-weight: 800; text-transform: uppercase; }
.event-full { align-items: start; }
.rsvp { display: flex; gap: 5px; }
.rsvp button { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid #34404d; border-radius: 6px; background: #151b23; color: #7e8996; }
.rsvp button.yes:hover, .rsvp button.yes.selected { border-color: #327844; background: #12301b; color: #a9edb8; }
.rsvp button.no:hover, .rsvp button.no.selected { border-color: #7b3238; background: #351418; color: #ffafb4; }
.response-details { margin-top: 7px; color: #94adbc; font-size: 10px; }
.response-details summary { cursor: pointer; }
.response-details div { margin-top: 6px; padding: 8px 9px; border: 1px solid #293440; border-radius: 6px; background: #101720; }
.empty-state { padding: 45px 18px; color: #75818f; text-align: center; }

/* Member hub */
.member-welcome { min-height: 235px; margin-bottom: 18px; padding: 32px 35px; display: grid; grid-template-columns: 1.05fr .95fr; gap: 36px; align-items: center; overflow: hidden; border: 1px solid #28343f; border-radius: 13px; background: linear-gradient(100deg, rgba(8, 12, 17, .98) 0%, rgba(8, 12, 17, .8) 58%, rgba(8, 12, 17, .4)), url('/assets/media/emw-blaulichtbalken.jpeg') right center / 52% auto no-repeat; }
.member-welcome h2 { margin: 10px 0; font-size: clamp(31px, 4vw, 49px); line-height: 1; letter-spacing: -.04em; text-transform: uppercase; }
.member-welcome p { color: #929daa; font-size: 12px; }
.member-metrics { padding: 8px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; border: 1px solid rgba(255, 255, 255, .11); border-radius: 10px; background: rgba(7, 10, 14, .68); backdrop-filter: blur(13px); }
.member-metrics div { min-height: 82px; padding: 12px; border-radius: 7px; background: rgba(255, 255, 255, .035); }
.member-metrics strong, .member-metrics span { display: block; }
.member-metrics strong { font-size: 26px; line-height: 1; }
.member-metrics span { margin-top: 9px; color: #87929f; font-size: 7px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.member-metrics .metric-alert { background: #32171b; }
.member-metrics .metric-alert strong { color: #ff6e74; }
.member-dashboard { grid-template-columns: minmax(0, 1.4fr) minmax(285px, .6fr); }
.panel-count { padding: 4px 7px; border: 1px solid #303a47; border-radius: 20px; }
.required-panel.has-required { border-color: #603138; }
.poll-callout h3 { margin: 18px 0 7px; font-size: 22px; line-height: 1.08; }
.poll-callout p { color: var(--muted); font-size: 11px; }
.all-done { padding: 28px 8px; text-align: center; }
.all-done > span { width: 46px; height: 46px; margin: 0 auto 12px; display: grid; place-items: center; border-radius: 50%; background: #17301f; color: #8be5a2; }
.all-done strong, .all-done p { display: block; }
.all-done p { color: #768290; font-size: 10px; }
.hub-actions { margin-top: 16px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.hub-actions a { min-height: 140px; padding: 20px; display: grid; grid-template-columns: 1fr auto; align-content: space-between; border: 1px solid #28323e; border-radius: 10px; background: #0e141b; transition: transform .2s, border-color .2s; }
.hub-actions a:hover { transform: translateY(-2px); border-color: #3a4d5c; }
.hub-action-label { grid-column: 1 / -1; color: var(--accent); font-size: 7px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.hub-actions strong { margin-top: 22px; font-size: 15px; }
.hub-actions small { grid-column: 1; color: #727e8c; font-size: 9px; }
.hub-actions b { grid-column: 2; grid-row: 2 / 4; align-self: end; color: #606c79; }
.mail-dashboard-alert { margin-bottom: 16px; padding: 15px 18px; display: grid; grid-template-columns: 42px 1fr auto; gap: 13px; align-items: center; border: 1px solid #74323a; border-radius: 10px; background: linear-gradient(100deg,#36171c,#1c1116); box-shadow: 0 10px 35px rgba(237,28,36,.08); }
.mail-dashboard-alert > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--red); }.mail-dashboard-alert strong,.mail-dashboard-alert small { display: block; }.mail-dashboard-alert small { margin-top: 3px; color: #c08d91; font-size: 9px; }.mail-dashboard-alert > b { color: #ffafb4; font-size: 9px; }

/* Tables, polls and case handling */
.table-wrap { max-width: 100%; overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.data-table th { padding: 10px; border-bottom: 1px solid #29333f; color: #687483; font-size: 8px; font-weight: 900; letter-spacing: .1em; text-align: left; text-transform: uppercase; }
.data-table td { padding: 13px 10px; border-bottom: 1px solid #232c37; }
.status { display: inline-flex; align-items: center; gap: 6px; padding: 4px 7px; border-radius: 15px; background: #131a21; }
.status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--state, #aaa); }
.status.active { --state: #2f954d; }
.status.very { --state: #81db49; }
.status.occasional { --state: var(--yellow); }
.status.inactive { --state: #da414a; }
.status.away { --state: var(--blue); }
.member-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.member-card { padding: 13px; display: flex; align-items: center; gap: 11px; border: 1px solid #28323e; border-radius: 8px; background: #0b1016; }
.member-card strong, .member-card small { display: block; }
.member-card small { color: #7b8794; font-size: 9px; text-transform: uppercase; }
.poll-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.poll-card { border-left: 3px solid var(--red); }
.poll-card h3 { margin: 12px 0 6px; font-size: 17px; }
.poll-card p { color: var(--muted); font-size: 11px; }
.poll-image { width: 100%; margin: 13px 0; border-radius: 7px; }
.poll-option { margin: 8px 0; display: flex; align-items: center; gap: 8px; font-size: 11px; }
.poll-option input { accent-color: var(--red); }
.poll-option small { color: #758190; }
.ticket { padding: 14px 0; display: grid; grid-template-columns: 1fr auto; gap: 9px; border-bottom: 1px solid #26303b; }
.ticket h3 { margin: 0; font-size: 12px; }
.ticket p { margin: 3px 0; color: #747f8d; font-size: 10px; }
.ticket-state { align-self: start; padding: 4px 7px; border-radius: 12px; background: #2b2412; color: #e8c963; font-size: 8px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.ticket-state.open { background: #2d171a; color: #f78c93; }
.ticket-state.closed { background: #132a1a; color: #91dfa2; }
.thread > summary { display: grid; grid-template-columns: 1fr auto; gap: 9px; cursor: pointer; list-style: none; }
.thread > summary::-webkit-details-marker, .management-item > summary::-webkit-details-marker { display: none; }
.thread-body { margin-top: 9px; padding: 13px; border: 1px solid #27313d; border-radius: 8px; background: #0b0f15; }
.thread-message { margin-top: 11px; padding: 11px; border-left: 2px solid var(--accent); background: #111821; }
.thread-message strong, .thread-message small { display: block; }
.thread-message small { color: #6e7a88; font-size: 8px; }
.management-stack { display: flex; flex-direction: column; gap: 15px; }
.management-item { border: 1px solid #29333e; border-radius: 8px; background: #0d1218; }
.management-item[open] { border-color: #3b4654; background: #111720; }
.management-item > summary { padding: 15px; display: flex; align-items: center; justify-content: space-between; gap: 14px; cursor: pointer; list-style: none; }
.management-item > summary strong { font-size: 11px; }
.management-body { padding: 17px; border-top: 1px solid #29333e; }
.management-body p { color: #929daa; font-size: 11px; }
.management-body .field { margin-bottom: 11px; }
.toggle-row { margin: 15px 0; display: flex; align-items: center; gap: 9px; color: #c6cdd5; font-size: 12px; }
.toggle-row input { accent-color: var(--red); }
.cloud-frame, .upload-portal { min-height: 320px; padding: 24px; display: grid; place-items: center; border: 1px dashed #394554; border-radius: 9px; background: #0b1016; text-align: center; }
.cloud-frame p, .upload-portal p { max-width: 430px; color: #7d8996; }

/* Profiles, directory and private messages */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.nav-badge { min-width: 18px; height: 18px; margin-left: 7px; padding: 0 5px; display: inline-grid; place-items: center; border-radius: 20px; background: var(--red); color: #fff; font-size: 8px; }
.member-directory-head, .messages-intro { margin-bottom: 16px; padding: 28px; display: flex; align-items: end; justify-content: space-between; gap: 22px; border: 1px solid #2d3743; border-radius: 12px; background: radial-gradient(circle at 90% 0, rgba(237,28,36,.13), transparent 32%), #0d1218; }
.member-directory-head h2, .messages-intro h2 { margin: 7px 0; font-size: clamp(27px,4vw,43px); letter-spacing: -.04em; }
.member-directory-head p, .messages-intro p { max-width: 620px; margin: 0; color: #818d9a; font-size: 11px; }
.filter-tabs { margin-bottom: 16px; padding: 5px; display: flex; gap: 5px; overflow-x: auto; border: 1px solid #28323d; border-radius: 9px; background: #0b1016; }
.filter-tabs a { padding: 9px 13px; white-space: nowrap; border-radius: 6px; color: #788492; font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.filter-tabs a.active { background: #222b35; color: #fff; }
.profile-card-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; }
.directory-card { min-height: 235px; padding: 19px; display: flex; flex-direction: column; align-items: flex-start; border: 1px solid #29333f; border-radius: 11px; background: linear-gradient(145deg,#111821,#0b1016); transition: transform .2s,border-color .2s; }
.directory-card:hover { transform: translateY(-3px); border-color: #5b3339; }
.profile-avatar { width: 48px; height: 48px; flex: 0 0 auto; display: grid; place-items: center; object-fit: cover; border: 1px solid #394552; border-radius: 50%; background: #171e27; color: #fff; }
.profile-initials { background: linear-gradient(135deg,var(--red),#202832); font-size: 13px; font-weight: 900; }
.directory-card .profile-avatar { width: 64px; height: 64px; margin-bottom: 24px; }
.directory-role { color: #ff7c82; font-size: 7px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.internal-rank { width: fit-content; padding: 4px 8px; display: inline-flex; align-items: center; border: 1px solid #3a4551; border-radius: 20px; background: #151c24; color: #a9b4bf; font-size: 7px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.internal-rank.probation { border-color: #735d2d; background: #271f10; color: #e9c86c; }
.internal-rank.junior { border-color: #35536a; background: #10202b; color: #83cbed; }
.internal-rank.professional { border-color: #37634a; background: #10251a; color: #8edba6; }
.internal-rank.senior { border-color: #69333a; background: #2b1519; color: #ff8d94; }
.directory-card .internal-rank { margin-bottom: 8px; }
.directory-card > strong { margin-top: 5px; font-size: 17px; }
.directory-card > small { margin-top: 4px; color: #788593; font-size: 9px; }
.directory-card > b { margin-top: auto; padding-top: 18px; color: #8d99a6; font-size: 8px; text-transform: uppercase; }
.member-profile-page { overflow: hidden; border: 1px solid #2c3743; border-radius: 15px; background: #0b1016; box-shadow: 0 28px 70px rgba(0,0,0,.25); }
.profile-cover { position: relative; min-height: 245px; overflow: hidden; background: url('/assets/media/emw-einsatz-regen.jpeg') center 48%/cover no-repeat; }
.profile-cover-shade { position: absolute; inset: 0; background: linear-gradient(0deg,#0b1016 0%,rgba(8,11,15,.18) 70%),linear-gradient(90deg,rgba(7,10,14,.7),transparent); }
.profile-cover-label { position: absolute; top: 24px; right: 27px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.22); border-radius: 20px; background: rgba(7,10,14,.5); backdrop-filter: blur(10px); color: #dce1e6; font-size: 7px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.profile-overview { position: relative; z-index: 2; min-height: 135px; padding: 24px 30px 27px 190px; display: flex; align-items: center; gap: 22px; }
.profile-picture-wrap { position: absolute; z-index: 4; left: 31px; top: -72px; width: 132px; height: 132px; padding: 5px; border-radius: 50%; background: #0b1016; box-shadow: 0 12px 35px rgba(0,0,0,.42); }
.profile-picture { width: 100%; height: 100%; display: grid; place-items: center; object-fit: cover; border: 2px solid #3a4652; border-radius: 50%; }
.profile-picture-initials { background: linear-gradient(135deg,var(--red),#202a35); font-size: 32px; font-weight: 950; }
.profile-picture-wrap > i { position: absolute; right: 8px; bottom: 10px; width: 19px; height: 19px; border: 4px solid #0b1016; border-radius: 50%; background: var(--green); }
.profile-title { flex: 1; }
.profile-rank-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.profile-title h2 { margin: 4px 0 0; font-size: clamp(31px,4vw,50px); line-height: 1; letter-spacing: -.045em; }
.profile-title p { margin: 6px 0 0; color: #7e8a97; font-size: 10px; }
.profile-online-state { display: inline-flex; align-items: center; gap: 5px; }
.profile-online-state::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #64707d; }
.profile-online-state.online { color: #83d99c; }
.profile-online-state.online::before { background: var(--green); box-shadow: 0 0 10px var(--green); }
.profile-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.profile-content-grid { padding: 0 30px 30px; display: grid; grid-template-columns: minmax(260px,.62fr) minmax(0,1.38fr); gap: 14px; }
.profile-about-card { min-height: 250px; padding: 25px; }
.profile-about-card p { margin: 22px 0 0; color: #bac1c9; font-size: 12px; line-height: 1.8; }
.profile-empty-copy { color: #6f7b88 !important; }
.profile-fact-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.profile-fact-list article { min-height: 115px; padding: 17px; display: grid; grid-template-columns: 33px 1fr; gap: 13px; align-items: center; border: 1px solid #2a3540; border-radius: 10px; background: linear-gradient(145deg,#111821,#0c1117); }
.profile-fact-list article > span { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid #3a4653; border-radius: 8px; color: #75818e; font-size: 8px; font-weight: 900; }
.profile-fact-list small, .profile-fact-list strong { display: block; }
.profile-fact-list small { margin-bottom: 5px; color: #697583; font-size: 7px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.profile-fact-list strong { font-size: 11px; line-height: 1.55; }
.message-dialog { width: min(600px,calc(100% - 28px)); max-height: calc(100svh - 28px); padding: 0; overflow: auto; border: 1px solid #394552; border-radius: 14px; background: #0d131a; color: #fff; box-shadow: 0 35px 100px rgba(0,0,0,.75); }
.message-dialog::backdrop { background: rgba(3,5,8,.78); backdrop-filter: blur(8px); }
.message-dialog form { padding: 25px; }
.message-dialog header { margin-bottom: 18px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.message-dialog h2 { margin: 5px 0 0; font-size: 27px; letter-spacing: -.035em; }
.message-dialog header > button { width: 34px; height: 34px; border: 1px solid #38434f; border-radius: 8px; background: #111821; color: #a9b2bc; font-size: 20px; }
.message-dialog-recipient { margin-bottom: 17px; padding: 12px; display: flex; align-items: center; gap: 11px; border: 1px solid #29343f; border-radius: 9px; background: #090e13; }
.message-dialog-recipient > img, .message-dialog-recipient > span { width: 42px; height: 42px; display: grid; place-items: center; object-fit: cover; border-radius: 50%; background: linear-gradient(135deg,var(--red),#202a35); font-size: 11px; font-weight: 900; }
.message-dialog-recipient strong, .message-dialog-recipient small { display: block; }
.message-dialog-recipient small { color: #74808d; font-size: 8px; }
.message-dialog .field { margin-top: 13px; }
.message-dialog footer { margin-top: 20px; display: flex; justify-content: flex-end; gap: 8px; }

/* Internal ranks, probation and warnings */
.rank-admin-layout { display: grid; grid-template-columns: minmax(250px,.38fr) minmax(0,1.62fr); gap: 15px; align-items: start; }
.rank-member-list { position: sticky; top: 166px; max-height: calc(100svh - 190px); padding: 16px; overflow-y: auto; }
.rank-member-list > a, .rank-member-row { padding: 11px 7px; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 10px; align-items: center; border-top: 1px solid #28323d; }
.rank-member-list > a:first-of-type { border-top: 0; }
.rank-member-list > a.active { margin-inline: -5px; padding-inline: 12px; border: 1px solid #55456e; border-radius: 9px; background: #171421; }
.rank-member-list strong, .rank-member-list small, .rank-member-row strong, .rank-member-row small { display: block; }
.rank-member-list strong, .rank-member-row strong { font-size: 10px; }
.rank-member-list small, .rank-member-row small { margin-top: 2px; color: #707c89; font-size: 7px; }
.rank-member-list > a > b { padding: 3px 5px; border-radius: 12px; background: #39171c; color: #ff959b; font-size: 6px; text-transform: uppercase; }
.rank-admin-main { display: flex; flex-direction: column; gap: 14px; }
.rank-member-hero { min-height: 150px; padding: 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; background: radial-gradient(circle at 90% 0,rgba(155,124,255,.16),transparent 35%),#0e131a; }
.rank-member-hero h2 { margin: 8px 0 2px; font-size: clamp(30px,4vw,48px); line-height: 1; letter-spacing: -.045em; }
.rank-member-hero p { margin: 0; color: #768290; font-size: 9px; }
.rank-action-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.rank-action-grid > .panel { padding: 21px; }
.rank-action-grid .field { margin-top: 11px; }
.rank-date-summary { padding: 12px; border: 1px solid #2b3641; border-radius: 8px; background: #090e13; color: #7b8794; font-size: 10px; }
.rank-date-summary strong { color: #fff; }
.early-probation-form { margin-top: 20px; padding-top: 18px; border-top: 1px solid #2b3540; }
.warning-form { border-color: #4e3f26; }
.dismissal-form { border-color: #542c32; background: linear-gradient(145deg,#191015,#0d1218); }
.dismissal-form > .btn { color: #ff9298; }
.confirm-danger { margin: 13px 0; display: flex; align-items: flex-start; gap: 8px; color: #ddb6b8; font-size: 9px; }
.confirm-danger input { margin-top: 3px; accent-color: var(--red); }
.two-warning-alert { padding: 15px 17px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border: 1px solid #7a333b; border-radius: 10px; background: #321519; }
.two-warning-alert strong, .two-warning-alert span { display: block; }
.two-warning-alert strong { color: #ff979d; font-size: 11px; }
.two-warning-alert span { color: #bc898d; font-size: 9px; }
.scheduled-dismissal { padding: 17px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-color: #6b3038; background: #251318; }
.scheduled-dismissal strong, .scheduled-dismissal span { display: block; }
.scheduled-dismissal strong { color: #ff9298; }
.scheduled-dismissal span { margin-top: 4px; color: #a98084; font-size: 9px; }
.warning-history { padding: 17px 0; border-top: 1px solid #2a3440; }
.warning-history:first-of-type { border-top: 0; }
.warning-history.revoked { opacity: .66; }
.warning-history header { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.warning-history header > div { display: flex; align-items: center; gap: 9px; }
.warning-history header strong { font-size: 10px; }
.warning-history header small { color: #6f7b88; font-size: 8px; }
.warning-history p { color: #aeb6bf; font-size: 10px; }
.revocation-copy { padding: 10px; border-radius: 7px; background: #10251a; color: #8fbd9b !important; }
.warning-history form { margin-top: 10px; }
.text-danger { padding: 0; border: 0; background: transparent; color: #d76d73; font-size: 8px; text-decoration: underline; }
.rank-history-row { padding: 12px 0; display: grid; grid-template-columns: 75px 1fr; gap: 12px; border-top: 1px solid #28323d; }
.rank-history-row > span { color: #677381; font-size: 8px; }
.rank-history-row strong, .rank-history-row small { display: block; }
.rank-history-row strong { font-size: 10px; }
.rank-history-row small { margin-top: 3px; color: #798592; font-size: 8px; }
.rank-member-row { border: 1px solid #2a3540; border-radius: 9px; background: #0b1016; }
.profile-form { padding: 27px; }
.avatar-upload-row { margin: 25px 0; padding: 20px; display: flex; align-items: center; gap: 22px; border: 1px solid #28323e; border-radius: 9px; background: #0a0f15; }
.avatar-upload-row .field { flex: 1; margin: 0; }
.field small { display: block; margin-top: 5px; color: #707c89; font-size: 8px; }
.form-actions { margin-top: 18px; display: flex; gap: 8px; }
.messages-layout { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(280px,.8fr); gap: 16px; }
.conversation-list, .new-message-list { padding: 21px; }
.conversation-row { padding: 13px 5px; display: grid; grid-template-columns: 48px 1fr auto; gap: 12px; align-items: center; border-top: 1px solid #252e39; }
.conversation-row:first-of-type { border-top: 0; }
.conversation-row > span:nth-child(2) { min-width: 0; }
.conversation-row strong, .conversation-row small { display: block; }
.conversation-row small { margin-top: 3px; overflow: hidden; color: #788492; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.conversation-row time { color: #687482; font-size: 8px; }
.conversation-row.unread strong::after { content: ""; width: 7px; height: 7px; margin-left: 7px; display: inline-block; border-radius: 50%; background: var(--red); box-shadow: 0 0 10px rgba(237,28,36,.65); }
.member-picker { max-height: 550px; overflow-y: auto; }
.member-picker a { padding: 10px 3px; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 10px; border-top: 1px solid #252e39; }
.member-picker .profile-avatar { width: 42px; height: 42px; }
.member-picker strong, .member-picker small { display: block; }
.member-picker strong { font-size: 10px; }.member-picker small { margin-top: 2px; color: #737f8c; font-size: 7px; }.member-picker b { color: #697582; }
.chat-shell { padding: 0; overflow: hidden; }
.chat-head { min-height: 76px; padding: 13px 18px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid #29333e; background: #10161e; }
.chat-head div strong, .chat-head div a { display: block; }.chat-head div strong { font-size: 12px; }.chat-head div a { margin-top: 2px; color: #7d8996; font-size: 8px; }.chat-back { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #35404c; border-radius: 50%; }
.chat-thread { min-height: 420px; max-height: 60vh; padding: 24px; display: flex; flex-direction: column; gap: 9px; overflow-y: auto; background: radial-gradient(circle at 50% 0,rgba(36,47,59,.22),transparent 38%),#090d12; }
.chat-empty { margin: auto; display: grid; gap: 4px; color: #788491; text-align: center; }.chat-empty strong { color: #fff; }
.chat-bubble { max-width: min(72%,620px); padding: 11px 13px; border: 1px solid #313c48; border-radius: 13px 13px 13px 3px; background: #151d26; }
.chat-bubble.mine { align-self: flex-end; border-color: #693038; border-radius: 13px 13px 3px 13px; background: #36181d; }
.chat-bubble p { margin: 0; color: #e6e9ed; font-size: 11px; line-height: 1.55; }.chat-bubble time { margin-top: 6px; display: block; color: #818b97; font-size: 7px; text-align: right; }
.chat-composer { padding: 14px; display: grid; grid-template-columns: 1fr auto; gap: 10px; border-top: 1px solid #29333e; background: #10161e; }.chat-composer textarea { width: 100%; min-height: 50px; max-height: 150px; resize: vertical; }.chat-composer .btn { align-self: stretch; }

/* Public team page */
.team-portrait-hero { width: min(1380px,calc(100% - 10vw)); min-height: 570px; margin: 28px auto 45px; display: grid; grid-template-columns: minmax(0,.88fr) minmax(440px,1.12fr); overflow: hidden; border: 1px solid #2a333e; border-radius: 18px; background: radial-gradient(circle at 8% 0,rgba(237,28,36,.16),transparent 35%),#0c1117; box-shadow: 0 35px 90px rgba(0,0,0,.32); }
.team-portrait-copy { padding: clamp(34px,5vw,76px); display: flex; flex-direction: column; justify-content: center; }
.team-portrait-copy h1 { margin: 15px 0 24px; font-size: clamp(54px,7vw,92px); line-height: .88; letter-spacing: -.066em; }
.team-portrait-copy > p { max-width: 620px; margin: 0; color: #9ba5b1; font-size: clamp(13px,1.35vw,17px); line-height: 1.65; }
.team-portrait-facts { margin-top: 40px; display: flex; flex-wrap: wrap; gap: 9px; }
.team-portrait-facts span { padding: 10px 13px; border: 1px solid #303a46; border-radius: 999px; background: rgba(8,11,15,.55); color: #7f8b98; font-size: 9px; }
.team-portrait-facts b { margin-right: 4px; color: #fff; font-size: 12px; }
.team-portrait-hero figure { min-height: 570px; margin: 0; position: relative; overflow: hidden; }
.team-portrait-hero figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#0c1117 0%,transparent 25%),linear-gradient(0deg,rgba(5,7,10,.82),transparent 45%); }
.team-portrait-hero figure img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 58%; transition: transform .7s ease; }
.team-portrait-hero:hover figure img { transform: scale(1.025); }
.team-portrait-hero figcaption { position: absolute; z-index: 1; right: 28px; bottom: 26px; display: flex; flex-direction: column; text-align: right; }
.team-portrait-hero figcaption span { color: #a9b2bd; font-size: 8px; letter-spacing: .13em; text-transform: uppercase; }.team-portrait-hero figcaption b { margin-top: 3px; font-size: 13px; }
.public-team-wrap { max-width: 1280px; margin: 0 auto; padding: 10px 5vw 110px; }
.team-category-tabs { position: sticky; z-index: 3; top: 82px; width: fit-content; margin: 0 auto 15px; padding: 5px; display: flex; gap: 4px; border: 1px solid #303a46; border-radius: 40px; background: rgba(9,13,18,.91); box-shadow: 0 14px 35px rgba(0,0,0,.28); backdrop-filter: blur(16px); }
.team-category-tabs a { padding: 10px 16px; border-radius: 30px; color: #8a95a2; font-size: 8px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; transition: color .2s,background .2s; }
.team-category-tabs a:hover { background: #202832; color: #fff; }
.public-team-heading { margin: 66px 0 24px; display: flex; align-items: end; justify-content: space-between; gap: 20px; border-bottom: 1px solid #2c3540; }
.public-team-heading span { padding-bottom: 15px; color: #7e8996; font-size: 8px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }.public-team-heading h2 { margin: 0; padding-bottom: 15px; font-size: clamp(24px,4vw,40px); letter-spacing: -.04em; }
.leadership-grid, .public-member-grid, .management-team-grid { display: grid; gap: 14px; }
.leadership-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.public-member-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }.management-team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.public-member-card { min-height: 250px; padding: 22px; display: flex; flex-direction: column; overflow: hidden; position: relative; border: 1px solid #2b3540; border-radius: 14px; background: radial-gradient(circle at 92% 5%,rgba(89,108,128,.12),transparent 34%),linear-gradient(155deg,#111820,#090d12); transition: transform .25s,border-color .25s,background .25s; }
.public-member-card:hover { transform: translateY(-4px); border-color: #46515e; background-color: #111821; }
.public-member-card header { display: flex; align-items: center; justify-content: space-between; }
.public-member-card header i { width: 7px; height: 7px; border-radius: 50%; background: #3f4a57; box-shadow: 0 0 0 7px rgba(63,74,87,.1); }
.public-member-avatar { width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid #384452; border-radius: 17px; background: linear-gradient(145deg,#202a35,#111820); color: #fff; font-size: 18px; font-weight: 950; letter-spacing: -.05em; }
.leadership-card { min-height: 300px; border-color: #3c292e; background: radial-gradient(circle at 100% 0,rgba(237,28,36,.2),transparent 40%),linear-gradient(155deg,#151218,#090d12); }.leadership-card .public-member-avatar { border-color: #6f3138; background: linear-gradient(145deg,#4c1c22,#1c1014); }.leadership-card header i { background: #ed1c24; box-shadow: 0 0 0 7px rgba(237,28,36,.1); }
.management-card { min-height: 275px; border-color: #393249; background: radial-gradient(circle at 100% 0,rgba(151,116,255,.17),transparent 40%),linear-gradient(155deg,#13131c,#090d12); }.management-card .public-member-avatar { border-color: #554574; background: linear-gradient(145deg,#322646,#17121f); }.management-card header i { background: #9879e8; box-shadow: 0 0 0 7px rgba(151,116,255,.1); }
.public-member-copy { margin-top: auto; padding-top: 38px; }.public-role { color: #ef6b72; font-size: 7px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }.management-card .public-role { color: #bca6f2; }.public-member-card h3 { margin: 6px 0 18px; font-size: clamp(25px,2.6vw,34px); letter-spacing: -.045em; }
.public-region { padding-top: 14px; border-top: 1px solid #2b3540; }.public-region b { padding: 5px 7px; border-radius: 4px; background: #1d2934; color: #9fc4dc; font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }.public-region p { margin: 10px 0 0; color: #8995a1; font-size: 9px; line-height: 1.6; }
.team-join-card { margin-top: 76px; min-height: 390px; padding: clamp(28px,6vw,70px); overflow: hidden; position: relative; border-radius: 16px; background: radial-gradient(circle at 86% 0,rgba(255,255,255,.13),transparent 32%),linear-gradient(130deg,#ed1c24,#a7070e); }.team-join-card::after { content: "EMW"; position: absolute; right: -2vw; bottom: -8vw; color: rgba(255,255,255,.1); font-size: clamp(130px,25vw,330px); font-weight: 950; letter-spacing: -.1em; }.team-join-card > * { position: relative; z-index: 1; }.team-join-card > span { font-size: 9px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }.team-join-card h2 { max-width: 720px; margin: 15px 0; font-size: clamp(48px,8vw,94px); line-height: .88; letter-spacing: -.06em; }.team-join-card p { max-width: 670px; margin-bottom: 26px; color: rgba(255,255,255,.82); }.team-join-card .btn { background: #fff; color: #0b0d11; }

/* Mailbox */
.mail-hero { margin-bottom: 16px; min-height: 190px; padding: 30px; display: flex; align-items: end; justify-content: space-between; gap: 30px; overflow: hidden; border: 1px solid #30404d; border-radius: 13px; background: radial-gradient(circle at 88% 10%,rgba(20,190,232,.14),transparent 34%),linear-gradient(135deg,#101820,#0b1016); }
.mail-hero h2 { margin: 8px 0 5px; font-size: clamp(37px,6vw,66px); line-height: .92; letter-spacing: -.055em; }
.mail-hero p { max-width: 620px; margin: 0; color: #86929f; font-size: 11px; }
.mail-hero-actions { display: flex; align-items: center; gap: 11px; }
.mail-unread-total { padding: 11px 14px; border: 1px solid #33404d; border-radius: 8px; background: rgba(7,10,14,.45); color: #84909d; font-size: 9px; white-space: nowrap; }
.mail-unread-total b { margin-right: 4px; color: #fff; font-size: 16px; }
.mail-layout { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 16px; }
.mail-folders { align-self: start; padding: 10px; }
.mail-folders > a { padding: 12px; display: grid; grid-template-columns: 26px 1fr auto; align-items: center; border-radius: 7px; color: #7f8b98; }
.mail-folders > a:hover { background: #151c24; color: #fff; }
.mail-folders > a.active { background: #1b242d; color: #fff; box-shadow: inset 2px 0 var(--accent); }
.mail-folders > a span { font-size: 15px; }
.mail-folders > a strong { font-size: 10px; }
.mail-folders > a b { min-width: 20px; height: 20px; display: grid; place-items: center; border-radius: 20px; background: var(--red); color: #fff; font-size: 8px; }
.mail-folders > small { margin: 16px 10px 7px; display: block; color: #5f6b78; font-size: 8px; line-height: 1.5; }
.mail-list { padding: 20px; }
.mail-row { display: grid; grid-template-columns: 1fr auto; align-items: center; border-top: 1px solid #242e38; transition: background .2s; }
.mail-row:hover { background: #111820; }
.mail-row.unread { background: linear-gradient(90deg,rgba(237,28,36,.09),transparent 65%); box-shadow: inset 2px 0 var(--red); }
.mail-row-main { min-width: 0; padding: 13px 10px; display: grid; grid-template-columns: 40px minmax(0,1fr) auto; align-items: center; gap: 12px; }
.mail-kind { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #35414d; border-radius: 9px; background: #151c24; color: #94a0ad; font-size: 11px; font-weight: 900; }
.mail-kind.poll { border-color: #703039; background: #32161a; color: #ff9096; }
.mail-kind.meeting { border-color: #2c5c73; background: #102631; color: #85d9ff; }
.mail-kind.meeting_decline { border-color: #705428; background: #2d2413; color: #f1ca75; }
.mail-kind.rank { border-color: #3d654b; background: #10251a; color: #8edba6; }
.mail-kind.warning, .mail-kind.dismissal { border-color: #7b333b; background: #35161b; color: #ff969c; }
.mail-kind.management_case { border-color: #594574; background: #21192e; color: #c2a7ec; }
.mail-row.warning.unread, .mail-row.dismissal.unread { border-color: #673038; background: linear-gradient(90deg,rgba(237,28,36,.08),transparent); }
.mail-row-copy { min-width: 0; }
.mail-row-copy strong, .mail-row-copy b, .mail-row-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mail-row-copy strong { color: #83909d; font-size: 8px; }
.mail-row-copy b { margin: 3px 0; font-size: 11px; }
.mail-row-copy small { color: #65717e; font-size: 9px; }
.mail-row.unread .mail-row-copy b { color: #fff; }
.mail-row time { color: #626e7b; font-size: 8px; white-space: nowrap; }
.mail-row > form button { width: 32px; height: 32px; border: 0; border-radius: 7px; background: transparent; color: #626f7c; cursor: pointer; }
.mail-row > form button:hover { background: #242d37; color: #fff; }
.mail-compose { max-width: 980px; margin: auto; padding: 28px; }
.mail-compose-head { margin-bottom: 26px; display: flex; justify-content: space-between; align-items: flex-start; }
.mail-compose-head h2 { margin: 6px 0 0; font-size: 28px; }
.mail-compose-head > a { color: #798592; font-size: 9px; }
.rich-field textarea, .mail-reply textarea { border-radius: 0 0 8px 8px; }
.editor-toolbar { min-height: 44px; padding: 6px; display: flex; align-items: center; gap: 4px; overflow-x: auto; border: 1px solid #323d49; border-bottom: 0; border-radius: 8px 8px 0 0; background: #151c24; }
.editor-toolbar button { min-width: 32px; height: 30px; padding: 0 8px; border: 0; border-radius: 5px; background: transparent; color: #b0b8c1; cursor: pointer; }
.editor-toolbar button:hover { background: #28323d; color: #fff; }
.editor-toolbar > span { width: 1px; height: 22px; margin: 0 4px; flex: 0 0 auto; background: #35404c; }
.mail-compose-actions { margin-top: 20px; display: flex; justify-content: flex-end; gap: 8px; }
.mail-reader { padding: 0; overflow: hidden; }
.mail-reader-head { min-height: 150px; padding: 26px; display: grid; grid-template-columns: 40px 1fr auto; gap: 16px; align-items: center; border-bottom: 1px solid #29333e; background: radial-gradient(circle at 90% 0,rgba(20,190,232,.11),transparent 35%),#10161e; }
.mail-reader-head h2 { margin: 6px 0; font-size: clamp(25px,4vw,40px); letter-spacing: -.035em; }
.mail-reader-head p { margin: 0; color: #74808d; font-size: 9px; }
.mail-type-label { color: var(--accent); font-size: 8px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.mail-thread { padding: 26px; display: flex; flex-direction: column; gap: 13px; background: #090d12; }
.mail-thread-item { max-width: 850px; padding: 18px; border: 1px solid #303b47; border-radius: 10px; background: #121922; }
.mail-thread-item.mine { align-self: flex-end; border-color: #3d4e5b; background: #17212a; }
.mail-thread-item > div { display: flex; justify-content: space-between; gap: 25px; }
.mail-thread-item strong { font-size: 10px; }
.mail-thread-item time { color: #6d7986; font-size: 8px; }
.mail-thread-item p { margin: 13px 0 0; color: #d0d5da; font-size: 11px; line-height: 1.75; }
.mail-thread-item code { padding: 2px 5px; border-radius: 4px; background: #070a0e; color: #8ee4ff; }
.mail-reply { padding: 25px 26px 28px; border-top: 1px solid #29333e; background: linear-gradient(180deg,#101720,#0d131a); }
.mail-reply-heading { margin-bottom: 14px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.mail-reply-heading label { margin-top: 5px; display: block; color: #f4f6f8; font-size: 17px; font-weight: 850; letter-spacing: -.02em; }
.mail-reply-heading small, .mail-reply-actions > span { color: #6f7c89; font-size: 8px; }
.mail-reply-editor { overflow: hidden; border: 1px solid #34414e; border-radius: 10px; background: #090e14; box-shadow: inset 0 1px rgba(255,255,255,.02); transition: border-color .2s,box-shadow .2s; }
.mail-reply-editor:focus-within { border-color: #526273; box-shadow: 0 0 0 3px rgba(77,104,128,.12); }
.mail-reply-editor .editor-toolbar { border: 0; border-bottom: 1px solid #2d3844; border-radius: 0; background: #151d26; }
.mail-reply textarea { width: 100%; min-height: 150px; margin: 0; padding: 17px 18px; display: block; resize: vertical; border: 0; border-radius: 0; outline: 0; background: #090e14; color: #e8edf2; font: inherit; font-size: 11px; line-height: 1.7; }
.mail-reply textarea::placeholder { color: #5e6b78; }
.mail-reply-actions { margin-top: 13px; display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.mail-reply .btn { margin: 0; min-width: 170px; }

/* Team meetings and management tools */
.meeting-intro { margin-bottom: 16px; min-height: 245px; padding: 34px; display: grid; grid-template-columns: 1fr 220px; gap: 35px; align-items: center; overflow: hidden; border: 1px solid #2e414e; border-radius: 13px; background: linear-gradient(105deg,rgba(8,13,18,.96),rgba(8,13,18,.67)),url('/assets/media/emw-blaulichtbalken.jpeg') right center/50% auto no-repeat; }
.meeting-intro h2 { margin: 10px 0; font-size: clamp(35px,5vw,58px); line-height: .94; letter-spacing: -.05em; }
.meeting-intro p { max-width: 720px; color: #909ba7; font-size: 11px; }
.meeting-rule { padding: 20px; border: 1px solid rgba(255,255,255,.13); border-radius: 10px; background: rgba(8,11,15,.72); backdrop-filter: blur(14px); }
.meeting-rule span, .meeting-rule strong, .meeting-rule small { display: block; }
.meeting-rule span { color: var(--accent); font-size: 7px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.meeting-rule strong { margin: 7px 0; font-size: 26px; }
.meeting-rule small { color: #7f8a97; font-size: 8px; }
.meeting-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.meeting-card { padding: 25px; }
.meeting-card > header { display: flex; align-items: center; gap: 15px; }
.meeting-date { width: 64px; height: 68px; flex: 0 0 auto; display: grid; place-items: center; align-content: center; border: 1px solid #34424e; border-radius: 9px; background: #0a0f15; }
.meeting-date strong { font-size: 27px; line-height: 1; }
.meeting-date span { margin-top: 3px; color: var(--red); font-size: 8px; font-weight: 900; }
.required-pill { padding: 4px 7px; border-radius: 20px; background: #3a171b; color: #ff8990; font-size: 7px; font-weight: 900; text-transform: uppercase; }
.meeting-card h3 { margin: 7px 0 2px; font-size: 18px; }
.meeting-card header p { margin: 0; color: #75818e; font-size: 9px; }
.meeting-description { min-height: 55px; margin: 20px 0; color: #9ca6b0; font-size: 11px; line-height: 1.6; }
.meeting-response-counts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.meeting-response-counts details { padding: 12px; border: 1px solid #2d3742; border-radius: 8px; background: #0b1016; }
.meeting-response-counts summary { cursor: pointer; list-style: none; }
.meeting-response-counts summary::-webkit-details-marker { display: none; }
.meeting-response-counts b, .meeting-response-counts span { display: block; }
.meeting-response-counts b { font-size: 18px; }
.meeting-response-counts span { color: #75818e; font-size: 7px; text-transform: uppercase; }
.meeting-response-counts p { color: #8f9aa6; font-size: 9px; }
.meeting-rsvp { margin-top: 20px; padding-top: 20px; border-top: 1px solid #2a3440; }
.rsvp-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.rsvp-choice label { padding: 13px; display: flex; gap: 9px; align-items: center; border: 1px solid #34404c; border-radius: 8px; cursor: pointer; }
.rsvp-choice input { position: absolute; opacity: 0; }
.rsvp-choice span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; background: #202a34; }
.rsvp-choice strong { font-size: 10px; }
.rsvp-choice label.selected.yes { border-color: #2f7543; background: #10261a; }
.rsvp-choice label.selected.no { border-color: #773139; background: #311418; }
.meeting-reason { margin-top: 12px; }
.meeting-rsvp .btn { width: 100%; }
.management-feature-head { min-height: 190px; margin-bottom: 16px; padding: 30px; display: flex; align-items: center; justify-content: space-between; gap: 25px; overflow: hidden; border: 1px solid #39334c; border-radius: 13px; background: radial-gradient(circle at 90% 0,rgba(155,124,255,.18),transparent 34%),linear-gradient(135deg,#15131e,#0d1218); }
.management-feature-head h2 { margin: 8px 0; font-size: clamp(35px,5vw,57px); line-height: .95; letter-spacing: -.05em; }
.management-feature-head p { max-width: 760px; margin: 0; color: #8c879d; font-size: 11px; }
.management-feature-icon { width: 82px; height: 82px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid #55476e; border-radius: 18px; background: rgba(22,18,34,.7); color: #b49aff; font-size: 28px; font-weight: 900; }
.meeting-fixed-note { margin: 18px 0; padding: 13px; border: 1px solid #593239; border-radius: 8px; background: #251418; }
.meeting-fixed-note b, .meeting-fixed-note span { display: block; }
.meeting-fixed-note b { color: #ff8e94; font-size: 9px; text-transform: uppercase; }
.meeting-fixed-note span { margin-top: 4px; color: #a7898c; font-size: 9px; }
.meeting-admin-item summary div strong, .meeting-admin-item summary div small { display: block; }
.meeting-admin-item summary div small { margin-top: 3px; color: #717d8a; font-size: 8px; }
.meeting-admin-actions { margin-bottom: 14px; display: flex; gap: 7px; }
.meeting-response-admin { display: flex; flex-direction: column; gap: 7px; }
.meeting-response-admin article { padding: 11px; display: grid; grid-template-columns: 30px 1fr; gap: 10px; border: 1px solid #2d3943; border-radius: 7px; background: #0b1016; }
.meeting-response-admin article.no { border-color: #663038; background: #251418; }
.meeting-response-admin article > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: #193222; color: #8ce2a2; }
.meeting-response-admin article.no > span { background: #3b181d; color: #ff979c; }
.meeting-response-admin strong, .meeting-response-admin small { display: block; }
.meeting-response-admin small { color: #6f7a87; font-size: 8px; }
.meeting-response-admin p { margin: 7px 0 0; color: #c5a7aa !important; }
.management-quick { margin: 0 0 16px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.management-quick a { min-height: 92px; padding: 14px; display: grid; grid-template-columns: 34px 1fr auto; gap: 10px; align-items: center; border: 1px solid #332e45; border-radius: 9px; background: #11121a; }
.management-quick a:hover { border-color: #5a4b76; background: #171522; }
.management-quick > a > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 7px; background: #251f35; color: #b59aff; font-weight: 900; }
.management-quick small, .management-quick strong { display: block; }
.management-quick small { color: #776e8e; font-size: 7px; text-transform: uppercase; }
.management-quick strong { margin-top: 3px; font-size: 10px; }
.management-quick b { color: #756b8d; }
.management-notice-row { padding: 14px 0; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-top: 1px solid #29333e; }
.management-notice-row h3 { margin: 7px 0 3px; font-size: 12px; }
.management-notice-row p { margin: 0; color: #727e8b; font-size: 8px; }
.management-notice-row > div:last-child { display: flex; gap: 6px; }
.activity-editor-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.activity-editor-card { padding: 15px; border: 1px solid #2d3742; border-radius: 9px; background: #0b1016; }
.activity-editor-card header { margin-bottom: 15px; display: flex; align-items: center; gap: 10px; }
.activity-editor-card header strong, .activity-editor-card header small { display: block; }
.activity-editor-card header small { margin-top: 2px; color: #707c88; font-size: 7px; }
.activity-editor-card .field { margin-bottom: 9px; }
.activity-editor-card .btn { width: 100%; }
.management-maintenance-card { max-width: 720px; padding: 30px; }
.maintenance-status-large { margin-bottom: 24px; padding: 20px; display: flex; align-items: center; gap: 14px; border: 1px solid #303b46; border-radius: 9px; background: #0a0f15; }
.maintenance-status-large i { width: 13px; height: 13px; border-radius: 50%; }
.maintenance-status-large .state-ok { background: var(--green); box-shadow: 0 0 15px var(--green); }
.maintenance-status-large .state-warn { background: var(--red); box-shadow: 0 0 15px var(--red); }
.maintenance-status-large span, .maintenance-status-large strong { display: block; }
.maintenance-status-large span { color: #717d89; font-size: 7px; text-transform: uppercase; }
.maintenance-status-large strong { margin-top: 3px; font-size: 17px; }
.management-maintenance-card > p { color: #8a95a1; font-size: 11px; }

/* Admin and management */
.control-overview, .management-overview { min-height: 205px; margin-bottom: 16px; padding: 34px; display: grid; grid-template-columns: 1fr auto; gap: 35px; align-items: end; overflow: hidden; border: 1px solid #3c2930; border-radius: 13px; background: radial-gradient(circle at 88% 10%, rgba(237, 28, 36, .17), transparent 28%), linear-gradient(135deg, #171117, #10161d); }
.control-overview h2, .management-overview h2 { max-width: 760px; margin: 10px 0; font-size: clamp(30px, 4vw, 48px); line-height: 1; letter-spacing: -.04em; }
.control-overview p, .management-overview p { max-width: 680px; color: var(--muted); font-size: 12px; }
.system-state { min-width: 175px; padding: 16px; border: 1px solid #343e4a; border-radius: 9px; background: rgba(7, 9, 13, .58); }
.system-state i, .system-state span, .system-state strong { display: block; }
.system-state i { width: 8px; height: 8px; margin-bottom: 15px; border-radius: 50%; }
.system-state .state-ok { background: var(--green); box-shadow: 0 0 14px var(--green); }
.system-state .state-warn { background: #ff676e; box-shadow: 0 0 14px #ff676e; }
.system-state span { color: #7c8794; font-size: 7px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.system-state strong { margin-top: 2px; font-size: 13px; }
.admin-cards { margin-bottom: 17px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 11px; }
.admin-stat { position: relative; overflow: hidden; padding: 19px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.admin-stat span, .admin-stat strong { display: block; }
.admin-stat span { color: #717d8b; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.admin-stat strong { margin-top: 3px; font-size: 28px; }
.admin-stat i { position: absolute; right: 0; bottom: 0; width: 42px; height: 2px; background: var(--accent); }
.admin-workspace { margin-top: 18px; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(290px, .5fr); gap: 16px; }
.workspace-heading h2 { margin: 3px 0 14px; font-size: 23px; }
.control-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }
.control-links a { min-height: 100px; padding: 16px; display: grid; grid-template-columns: 1fr auto; align-content: center; border: 1px solid #28323e; border-radius: 9px; background: #0e141b; transition: transform .2s, border-color .2s; }
.control-links a:hover { transform: translateY(-2px); border-color: #633139; }
.control-links span, .control-links strong { display: block; grid-column: 1; }
.control-links span { color: #6e7a88; font-size: 7px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.control-links strong { margin-top: 3px; font-size: 13px; }
.control-links b { grid-column: 2; grid-row: 1 / 3; align-self: center; color: #687482; }
.maintenance-control { align-self: start; padding: 25px; }
.maintenance-icon { width: 42px; height: 42px; margin-bottom: 23px; display: grid; place-items: center; border: 1px solid #3d3035; border-radius: 9px; background: #1e1518; color: #ff7e84; }
.maintenance-control p { color: #7c8795; font-size: 10px; }
.modern-toggle { position: relative; margin: 22px 0; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 0 11px; }
.modern-toggle input { position: absolute; opacity: 0; }
.modern-toggle > span { position: relative; grid-row: 1 / 3; width: 44px; height: 24px; border-radius: 30px; background: #2b3440; transition: background .2s; }
.modern-toggle > span::after { content: ""; position: absolute; left: 4px; top: 4px; width: 16px; height: 16px; border-radius: 50%; background: #8b96a3; transition: left .2s; }
.modern-toggle input:checked + span { background: var(--red); }
.modern-toggle input:checked + span::after { left: 24px; background: #fff; }
.modern-toggle b { font-size: 10px; }
.management-overview { align-items: center; border-color: #332d4c; background: radial-gradient(circle at 88% 10%, rgba(155, 124, 255, .17), transparent 28%), #11131c; }
.management-metrics { display: flex; gap: 7px; }
.management-metrics div { width: 120px; min-height: 90px; padding: 14px; border: 1px solid #39324b; border-radius: 8px; background: rgba(8, 10, 15, .52); }
.management-metrics strong, .management-metrics span { display: block; }
.management-metrics strong { font-size: 26px; }
.management-metrics span { color: #887fa5; font-size: 7px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }

/* Maintenance */
.maintenance-page { position: relative; min-height: 100svh; padding: 0; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, .52fr); grid-template-rows: auto 1fr auto; isolation: isolate; background: #07090d; }
.maintenance-backdrop { position: absolute; z-index: -2; inset: 0; background: url('/assets/media/emw-einsatz-regen.jpeg') center/cover no-repeat; filter: saturate(.75); }
.maintenance-page::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(5, 7, 10, .98), rgba(5, 7, 10, .9) 48%, rgba(5, 7, 10, .4) 80%), linear-gradient(0deg, rgba(5, 7, 10, .85), transparent 50%); }
.maintenance-header { grid-column: 1 / -1; height: 105px; margin: 0 5vw; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255, 255, 255, .16); }
.maintenance-header img { width: 200px; }
.maintenance-header > span { padding: 7px 11px; border: 1px solid rgba(255, 255, 255, .2); border-radius: 25px; background: rgba(8, 10, 14, .45); font-size: 8px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.maintenance-header > span i { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--red); box-shadow: 0 0 12px var(--red); }
.maintenance-content { max-width: 900px; align-self: center; padding: 60px 4vw 60px 7vw; }
.maintenance-content h1 { margin: 28px 0; font-size: clamp(60px, 8.5vw, 128px); line-height: .82; letter-spacing: -.065em; text-transform: uppercase; }
.maintenance-content h1 em { color: var(--red); font-style: normal; }
.maintenance-content > p { max-width: 600px; color: #afb8c2; font-size: 16px; }
.maintenance-actions { margin-top: 29px; display: flex; gap: 9px; }
.maintenance-socials { align-self: center; margin-right: 5vw; padding: 25px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 12px; background: rgba(9, 12, 17, .67); backdrop-filter: blur(16px); }
.maintenance-socials > span { display: block; margin-bottom: 12px; color: #778391; font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.maintenance-socials > div { display: flex; flex-direction: column; }
.maintenance-socials a { padding: 13px 4px; display: grid; grid-template-columns: 36px 1fr auto; gap: 11px; align-items: center; border-top: 1px solid rgba(255, 255, 255, .1); }
.maintenance-socials b { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid #37414d; border-radius: 50%; font-size: 8px; }
.maintenance-socials strong { font-size: 11px; }
.maintenance-socials i { color: #6e7987; font-style: normal; }
.maintenance-footer { grid-column: 1 / -1; min-height: 65px; margin: 0 5vw; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid rgba(255, 255, 255, .16); color: #687382; font-size: 8px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.maintenance-footer nav { display: flex; gap: 22px; }
.maintenance-footer a:hover { color: #fff; }

.screen-watermark { position: fixed; z-index: 999; right: 14px; bottom: 11px; padding: 4px 7px; pointer-events: none; border: 1px solid rgba(255, 255, 255, .14); border-radius: 4px; color: rgba(255, 255, 255, .22); font-size: 8px; letter-spacing: .14em; }
.protected-view { user-select: none; -webkit-user-select: none; }

/* Central admin member management */
.admin-members-hero { min-height: 245px; margin-bottom: 16px; padding: clamp(28px,4vw,52px); display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; overflow: hidden; border: 1px solid #633038; border-radius: 15px; background: radial-gradient(circle at 90% 0,rgba(255,255,255,.1),transparent 30%),linear-gradient(125deg,#54151c,#1b1014 63%,#10151c); }
.admin-members-hero h2 { max-width: 850px; margin: 8px 0; font-size: clamp(38px,5vw,68px); line-height: .91; letter-spacing: -.055em; }.admin-members-hero p { max-width: 750px; margin: 0; color: #c09ca0; font-size: 11px; }
.admin-member-create { margin-bottom: 16px; padding: 0; overflow: hidden; }.admin-member-create > summary { padding: 20px 22px; display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; }.admin-member-create > summary::-webkit-details-marker { display: none; }.admin-member-create > summary span { display: flex; flex-direction: column; }.admin-member-create > summary small { color: #778491; font-size: 8px; text-transform: uppercase; letter-spacing: .12em; }.admin-member-create > summary strong { font-size: 14px; }.admin-member-create > summary b { color: #ff858b; font-size: 9px; }.admin-member-create[open] > summary { border-bottom: 1px solid #2b3540; background: #131a22; }
.admin-member-form { padding: 24px; }.admin-member-form .modern-toggle,.admin-member-edit .modern-toggle { margin: 5px 0 20px; }
.admin-member-layout { display: grid; grid-template-columns: minmax(245px,.31fr) minmax(0,1fr); gap: 16px; align-items: start; }
.admin-member-list { max-height: calc(100vh - 155px); padding: 13px; position: sticky; top: 128px; overflow-y: auto; }.admin-member-list > a { padding: 10px; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 10px; border-radius: 9px; color: #7e8996; }.admin-member-list > a:hover { background: #151d26; color: #fff; }.admin-member-list > a.active { background: linear-gradient(90deg,#39181d,#1a151a); color: #fff; box-shadow: inset 2px 0 var(--red); }.admin-member-list .profile-avatar { width: 42px; height: 42px; }.admin-member-list strong,.admin-member-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.admin-member-list strong { font-size: 10px; }.admin-member-list small { color: #6f7b88; font-size: 7px; }.admin-member-list > a > b { padding: 4px 6px; border-radius: 4px; background: #27202a; color: #b89ec1; font-size: 6px; text-transform: uppercase; }
.admin-member-main { min-width: 0; display: grid; gap: 16px; }.admin-member-profile-head { min-height: 170px; padding: 28px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; background: radial-gradient(circle at 92% 0,rgba(237,28,36,.12),transparent 34%),#10161e; }.admin-member-profile-head h2 { margin: 5px 0; font-size: clamp(34px,5vw,56px); letter-spacing: -.05em; }.admin-member-profile-head p { margin: 0; color: #84909d; font-size: 10px; }
.admin-member-edit { padding: 24px; }.admin-member-tools { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.admin-member-unlinked { padding: 24px; border-style: dashed; }.admin-member-unlinked strong { display: block; margin-bottom: 5px; }.admin-member-unlinked p { margin: 0; color: #7d8996; font-size: 10px; }
.admin-member-delete { padding: 20px 22px; display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 18px; border-color: #583039; background: rgba(75,20,28,.16); }.admin-member-delete div { display: flex; flex-direction: column; }.admin-member-delete div span { color: #a47d82; font-size: 8px; }.admin-member-delete label { color: #c09da1; font-size: 8px; }.admin-member-delete .btn { color: #ff8d93; }

@media (max-width: 1050px) {
  .desktop-nav { display: none; }
  .mobile-menu { display: block; }
  .nav-actions { margin-left: auto; }
  .about-grid { grid-template-columns: 1fr 2fr; }
  .quote-card { grid-column: 2; }
  .video-grid, .social-section { grid-template-columns: 1fr; }
  .behind-scenes { min-height: auto; grid-template-columns: 1fr 1fr; }
  .behind-copy { grid-column: 1 / -1; min-height: 240px; }
  .behind-photo { aspect-ratio: 4 / 3; }
  .archive-rail { grid-auto-columns: 48%; }
  .dashboard-grid, .member-dashboard { grid-template-columns: 1fr; }
  .admin-workspace { grid-template-columns: 1fr; }
  .control-overview, .management-overview { grid-template-columns: 1fr; }
  .management-metrics { justify-content: flex-start; }
  .maintenance-page { grid-template-columns: 1fr; }
  .maintenance-socials { max-width: 620px; margin: 0 7vw 45px; }
  .maintenance-content { padding-inline: 7vw; }
  .team-portrait-hero { width: calc(100% - 10vw); grid-template-columns: 1fr; }
  .team-portrait-hero figure { min-height: 500px; }
  .team-portrait-hero figure::after { background: linear-gradient(0deg,rgba(5,7,10,.8),transparent 45%); }
  .public-member-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .profile-card-grid, .leadership-grid, .public-member-grid, .management-team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hub-actions { grid-template-columns: repeat(2,1fr); }
  .management-quick, .activity-editor-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rank-admin-layout { grid-template-columns: 1fr; }
  .rank-member-list { position: static; max-height: 360px; }
  .admin-member-layout { grid-template-columns: 1fr; }
  .admin-member-list { position: static; max-height: 390px; }
}

@media (max-width: 760px) {
  body { width: 100%; overflow-x: clip; }
  .inner-page, .section, .footer, .portal, .portal-content { max-width: 100%; }
  .site-header, .site-header.compact { padding-inline: 14px; }
  .nav-wrap { height: 70px; }
  .brand img { width: 142px; }
  .nav-actions { display: none; }
  .mobile-menu-panel { position: fixed; top: 70px; left: 14px; right: 14px; width: auto; }
  .mobile-menu-actions { grid-template-columns: 1fr; }
  .hero-cinematic { min-height: 690px; height: 88svh; padding: 110px 17px 62px; }
  .hero-media video { object-position: center; transform: scale(1.2); }
  .hero-cinematic::after { background: linear-gradient(0deg, rgba(5, 7, 10, .97) 0%, rgba(5, 7, 10, .82) 48%, rgba(5, 7, 10, .22) 100%); }
  .hero-copy { width: 100%; }
  .hero-region { max-width: 100%; font-size: 8px; letter-spacing: .08em; }
  .hero-region::before { width: 20px; }
  .hero h1 { margin-block: 20px; font-size: clamp(28px, 8.8vw, 42px); line-height: .96; letter-spacing: -.05em; }
  .hero-copy > p { font-size: 14px; line-height: 1.58; }
  .section { padding: 70px 16px; }
  .section-head { align-items: flex-start; flex-direction: column; gap: 12px; }
  .section-head h2, .about-main h2, .story-section h2, .social-section h2 { font-size: clamp(34px, 10vw, 40px); }
  .section-head .btn, .section-aside { display: none; }
  .about-grid { grid-template-columns: 1fr; gap: 23px; }
  .quote-card { grid-column: auto; }
  .stills-grid { height: auto; grid-template-columns: 1fr; grid-template-rows: none; }
  .stills-grid .still-main { grid-row: auto; }
  .stills-grid figure { aspect-ratio: 16 / 10; }
  .behind-scenes { grid-template-columns: 1fr; }
  .behind-copy { grid-column: auto; min-height: 220px; padding: 26px; }
  .behind-photo { aspect-ratio: 16 / 11; }
  .archive-heading { display: block; }
  .archive-heading span { display: block; margin-top: 3px; }
  .archive-rail { grid-auto-columns: 84%; }
  .timeline { grid-template-columns: 1fr; border-top: 0; }
  .timeline article { padding-top: 20px; border-top: 1px solid #343d49; }
  .social-section { gap: 35px; }
  .cta-section { width: calc(100% - 24px); margin-bottom: 50px; padding: 38px 20px; grid-template-columns: 1fr; gap: 18px; }
  .cta-section::after { display: none; }
  .cta-section h2 { font-size: clamp(34px, 10vw, 43px); }
  .footer { padding-inline: 18px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .footer-bottom { display: block; }
  .footer-bottom span { display: block; margin-top: 6px; }
  .page-intro { padding: 65px 16px 40px; }
  .page-intro h1 { font-size: clamp(32px, 9.6vw, 47px); overflow-wrap: anywhere; }
  .form-shell { grid-template-columns: 1fr; padding-inline: 14px; margin-bottom: 75px; }
  .form-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .info-panel, .form-card, .legal-card { padding: 22px; }
  .legal-wrap { padding-inline: 14px; }
  .login-wrap { grid-template-columns: 1fr; }
  .login-visual { display: none; }
  .login-panel { min-height: calc(100vh - 71px); padding: 32px 18px; }
  .login-card > img { width: min(190px, 70vw); }
  .portal-topbar { height: 112px; padding: 14px 12px 54px; align-items: center; }
  .portal-brand img { width: 38px; }
  .portal-brand strong { font-size: 12px; }
  .portal-brand small, .portal-area-pill, .user-meta { display: none; }
  .portal-switcher { position: absolute; left: 12px; right: 12px; bottom: 8px; margin: 0; overflow-x: auto; }
  .portal-switcher a { flex: 1; min-width: max-content; text-align: center; }
  .mail-top-button { width: 36px; height: 36px; }
  .portal-layout { display: block; }
  .sidebar { display: none; }
  .portal-desktop-menu { display: none; }
  .portal-mobile-menu { position: sticky; z-index: 11; top: 112px; display: block; border-bottom: 1px solid #242e39; background: rgba(10,14,19,.97); backdrop-filter: blur(16px); }
  .portal-mobile-menu > summary { min-height: 58px; padding: 10px 14px; display: flex; align-items: center; justify-content: space-between; gap: 14px; list-style: none; cursor: pointer; }
  .portal-mobile-menu > summary::-webkit-details-marker { display: none; }
  .portal-mobile-menu > summary span, .portal-mobile-menu > summary small, .portal-mobile-menu > summary strong { display: block; }
  .portal-mobile-menu > summary small { color: var(--accent); font-size: 7px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
  .portal-mobile-menu > summary strong { font-size: 12px; }
  .portal-mobile-menu > summary > b { padding: 7px 10px; border: 1px solid #35404c; border-radius: 7px; color: #a7b1bc; font-size: 8px; text-transform: uppercase; }
  .portal-mobile-menu[open] > summary > b { border-color: var(--accent); color: #fff; }
  .portal-mobile-menu > div { max-height: calc(100svh - 170px); padding: 4px 12px 14px; overflow-y: auto; border-top: 1px solid #202933; }
  .portal-mobile-nav { padding-top: 10px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .portal-mobile-nav a { min-height: 72px; padding: 10px; display: grid; grid-template-columns: 34px minmax(0,1fr); grid-template-rows: auto auto; column-gap: 9px; align-content: center; border: 1px solid #293440; border-radius: 9px; background: #10161e; }
  .portal-mobile-nav a.active { border-color: var(--accent); background: linear-gradient(135deg,rgba(255,255,255,.08),#10161e); box-shadow: inset 0 -2px var(--accent); }
  .portal-mobile-nav .portal-nav-icon { grid-row: 1 / 3; width: 34px; height: 34px; }
  .portal-mobile-nav a > span { align-self: end; color: #d8dde3; font-size: 10px; font-weight: 800; }
  .portal-mobile-nav a > small { align-self: start; margin-top: 2px; color: #657180; font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
  .portal-mobile-groups { display: flex; flex-direction: column; gap: 7px; }
  .portal-mobile-groups .portal-group-home, .portal-mobile-groups .portal-nav-dropdown > summary { width: 100%; min-height: 64px; }
  .portal-mobile-groups .portal-nav-dropdown { width: 100%; }
  .portal-mobile-groups .portal-nav-dropdown > div { position: static; width: 100%; margin-top: 5px; box-shadow: none; }
  .portal-mobile-groups .portal-nav-dropdown > div > a { min-height: 58px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; grid-template-rows: auto; }
  .portal-mobile-groups .portal-nav-dropdown > div > a .portal-nav-icon { grid-row: auto; }
  .portal-mobile-groups .portal-nav-dropdown > div > a span strong, .portal-mobile-groups .portal-nav-dropdown > div > a span small { display: block; }
  .portal-mobile-shortcuts { margin-top: 9px; padding-top: 9px; display: flex; justify-content: space-between; border-top: 1px solid #27313c; color: #8a96a3; font-size: 9px; }
  .portal-content { padding: 26px 13px 60px; }
  .portal-heading { margin-bottom: 22px; }
  .portal-heading h1 { font-size: 34px; }
  .portal-date { display: none; }
  .member-welcome { min-height: auto; padding: 25px 21px; grid-template-columns: 1fr; background: linear-gradient(100deg, rgba(8, 12, 17, .97), rgba(8, 12, 17, .65)), url('/assets/media/emw-blaulichtbalken.jpeg') center/cover; }
  .member-metrics { grid-template-columns: repeat(3, 1fr); }
  .hub-actions { grid-template-columns: 1fr; }
  .hub-actions a { min-height: 120px; }
  .admin-cards { grid-template-columns: repeat(2, 1fr); }
  .control-links { grid-template-columns: 1fr; }
  .control-overview, .management-overview { padding: 25px 21px; }
  .management-metrics { display: grid; grid-template-columns: repeat(3, 1fr); }
  .management-metrics div { width: auto; min-width: 0; }
  .portal-management-alerts { grid-template-columns: 1fr; }
  .management-alerts a { grid-template-columns: 36px minmax(0,1fr); padding: 12px; }
  .management-alert-icon { width: 36px; height: 36px; }
  .management-alerts a > b { grid-column: 2; }
  .public-management-alerts { width: calc(100% - 24px); }
  .management-item > summary { display: grid; grid-template-columns: 1fr auto; align-items: start; }
  .poll-grid, .member-grid { grid-template-columns: 1fr; }
  .maintenance-header { height: 80px; margin-inline: 17px; }
  .maintenance-header img { width: 150px; }
  .maintenance-content { padding: 55px 19px 40px; align-self: end; }
  .maintenance-content h1 { margin-block: 23px; font-size: clamp(55px, 18vw, 84px); }
  .maintenance-content > p { font-size: 13px; }
  .maintenance-actions { flex-direction: column; }
  .maintenance-socials { margin: 0 17px 32px; padding: 19px; }
  .maintenance-footer { min-height: 88px; margin-inline: 17px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 10px; }
  .maintenance-footer nav { flex-wrap: wrap; gap: 13px; }
  .member-directory-head, .messages-intro { padding: 22px; align-items: flex-start; flex-direction: column; }
  .profile-card-grid, .messages-layout { grid-template-columns: 1fr; }
  .profile-cover { min-height: 190px; }
  .profile-cover-label { top: 14px; right: 14px; }
  .profile-overview { padding: 72px 18px 22px; align-items: flex-start; flex-direction: column; gap: 14px; }
  .profile-picture-wrap { left: 18px; top: -58px; width: 112px; height: 112px; }
  .profile-title h2 { font-size: 34px; }
  .profile-actions { width: 100%; }
  .profile-actions .btn { flex: 1; }
  .profile-content-grid { padding: 0 14px 14px; grid-template-columns: 1fr; }
  .profile-about-card { min-height: auto; }
  .profile-fact-list { grid-template-columns: 1fr; }
  .message-dialog form { padding: 19px; }
  .message-dialog footer { align-items: stretch; flex-direction: column-reverse; }
  .message-dialog footer .btn { width: 100%; }
  .avatar-upload-row { align-items: flex-start; flex-direction: column; }
  .chat-thread { min-height: 48vh; padding: 16px 12px; }
  .chat-bubble { max-width: 88%; }
  .chat-composer { grid-template-columns: 1fr; }
  .team-portrait-hero { width: calc(100% - 28px); margin-top: 16px; border-radius: 13px; }
  .team-portrait-copy { padding: 34px 20px; }.team-portrait-copy h1 { font-size: clamp(48px,14vw,70px); }.team-portrait-copy > p { font-size: 12px; }.team-portrait-facts { margin-top: 28px; }.team-portrait-facts span { width: 100%; }
  .team-portrait-hero figure { min-height: 410px; }.team-portrait-hero figcaption { right: 18px; bottom: 18px; }
  .public-team-wrap { padding-inline: 16px; }
  .public-team-heading { display: block; }
  .public-team-heading span { display: block; padding-bottom: 5px; }
  .team-category-tabs { top: 75px; width: 100%; justify-content: center; overflow-x: auto; }
  .team-category-tabs a { padding-inline: 12px; white-space: nowrap; }
  .leadership-grid, .public-member-grid, .management-team-grid { grid-template-columns: 1fr; }
  .public-member-card, .leadership-card { min-height: 245px; }
  .team-join-card { min-height: 440px; margin-top: 45px; }
  .team-join-card h2 { font-size: clamp(46px,15vw,70px); }
  .admin-members-hero { min-height: 280px; padding: 25px 20px; align-items: flex-start; flex-direction: column; }.admin-members-hero .btn { width: 100%; }.admin-member-create > summary { align-items: flex-start; flex-direction: column; }.admin-member-form,.admin-member-edit { padding: 18px; }.admin-member-profile-head { padding: 20px; align-items: flex-start; flex-direction: column; }.admin-member-profile-head .btn { width: 100%; }.admin-member-tools { grid-template-columns: 1fr; }.admin-member-delete { grid-template-columns: 1fr; align-items: flex-start; }.admin-member-delete .btn { width: 100%; }
  .mail-hero { padding: 22px; align-items: flex-start; flex-direction: column; }
  .mail-hero-actions { width: 100%; justify-content: space-between; }
  .mail-layout { grid-template-columns: 1fr; }
  .mail-folders { display: flex; overflow-x: auto; }
  .mail-folders > a { min-width: max-content; grid-template-columns: 24px auto auto; gap: 5px; }
  .mail-folders > small { display: none; }
  .mail-reader-head { grid-template-columns: 34px 1fr; }
  .mail-reader-head > .btn { grid-column: 2; justify-self: start; }
  .mail-thread { padding: 16px 12px; }
  .mail-thread-item { max-width: 92%; }
  .mail-reply { padding: 20px 13px 22px; }
  .mail-reply-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
  .mail-reply textarea { min-height: 175px; padding: 15px; font-size: 16px; }
  .mail-reply-actions { align-items: stretch; flex-direction: column; }
  .mail-reply-actions .btn { width: 100%; }
  .meeting-intro { padding: 24px; grid-template-columns: 1fr; }
  .meeting-rule { max-width: 300px; }
  .meeting-grid, .activity-editor-grid { grid-template-columns: 1fr; }
  .management-quick { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .management-feature-head { padding: 23px; align-items: flex-start; }
  .management-feature-icon { width: 58px; height: 58px; border-radius: 12px; font-size: 20px; }
  .rank-action-grid { grid-template-columns: 1fr; }
  .rank-member-hero, .scheduled-dismissal, .two-warning-alert { align-items: flex-start; flex-direction: column; }
  .rank-member-hero .btn, .scheduled-dismissal .btn { width: 100%; }
  .warning-history header { align-items: flex-start; flex-direction: column; }
  .warning-history header > div { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 420px) {
  .brand img { width: 130px; }
  .mobile-menu summary span { display: none; }
  .hero-cinematic { min-height: 650px; }
  .hero h1 { font-size: clamp(27px, 8.6vw, 35px); }
  .hero-region { font-size: 7px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > div:first-child { grid-column: auto; }
  .member-metrics, .management-metrics { grid-template-columns: 1fr; }
  .member-metrics div { min-height: 62px; }
  .admin-stat { padding: 15px; }
  .event { grid-template-columns: 42px 1fr; }
  .event-balance, .rsvp { grid-column: 2; border-left: 0; padding-left: 0; text-align: left; }
  .maintenance-header > span { padding: 8px; font-size: 0; }
  .maintenance-header > span i { margin: 0; }
  .mail-dashboard-alert { grid-template-columns: 38px 1fr; }
  .mail-dashboard-alert > b { grid-column: 2; }
  .mail-hero-actions { align-items: stretch; flex-direction: column; }
  .mail-row-main { grid-template-columns: 36px minmax(0,1fr); }
  .mail-row time { display: none; }
  .mail-kind { width: 34px; height: 34px; }
  .mail-row > form { padding-right: 3px; }
  .mail-compose { padding: 18px; }
  .mail-compose-actions { flex-direction: column-reverse; }
  .mail-compose-actions .btn { width: 100%; }
  .rsvp-choice { grid-template-columns: 1fr; }
  .management-quick { grid-template-columns: 1fr; }
  .portal-mobile-nav { grid-template-columns: 1fr; }
  .management-notice-row { align-items: flex-start; flex-direction: column; }
}

/* Telegram integration */
.telegram-feature-head { background:linear-gradient(135deg,rgba(36,161,222,.16),rgba(13,18,26,.96) 52%); }
.telegram-feature-head .management-feature-icon,.telegram-group-mark,.telegram-connect-icon { background:linear-gradient(145deg,#2aabee,#167bb2); color:#fff; box-shadow:0 16px 36px rgba(36,161,222,.2); }
.telegram-command-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.85fr) auto; gap:22px; align-items:center; margin-bottom:22px; padding:24px; border:1px solid rgba(42,171,238,.34); border-radius:20px; background:linear-gradient(135deg,rgba(42,171,238,.14),rgba(14,20,29,.96)); }
.telegram-command-card h2 { margin:4px 0 8px; }.telegram-command-card p { margin:0; color:var(--muted); }
.telegram-command-card code { overflow:auto; padding:15px 17px; border:1px solid rgba(255,255,255,.12); border-radius:12px; background:#070b11; color:#c6ecff; font-size:13px; white-space:nowrap; }
.telegram-admin-grid { align-items:start; }.telegram-admin-list { display:grid; gap:12px; }
.telegram-admin-item { display:grid; grid-template-columns:48px minmax(0,1fr); gap:14px; padding:16px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.018); }
.telegram-admin-item.is-disabled { opacity:.58; }.telegram-group-mark { display:grid; place-items:center; width:48px; height:48px; border-radius:14px; font-size:13px; font-weight:900; letter-spacing:.06em; }
.telegram-admin-copy>div:first-child { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; }.telegram-admin-copy h3 { margin:0; font-size:16px; }.telegram-admin-copy p { margin:8px 0; color:var(--muted); font-size:13px; }.telegram-admin-copy>small { color:#788697; }
.telegram-status { display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border-radius:999px; font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }.telegram-status.connected { color:#73e6ad; background:rgba(48,198,127,.11); }.telegram-status.pending { color:#ffcb77; background:rgba(255,176,46,.12); }.telegram-status.available { color:#83d6ff; background:rgba(42,171,238,.12); }
.telegram-row-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }.telegram-row-actions form { margin:0; }.telegram-row-actions .btn { min-height:38px; padding:8px 11px; font-size:11px; }.telegram-row-actions .danger { color:#ff8b91; }
.telegram-webhook-panel { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:22px; }.telegram-webhook-panel h2 { margin:4px 0; }.telegram-webhook-panel p { margin:0; color:var(--muted); }
.telegram-setup-guide { margin-top:22px; border-color:rgba(42,171,238,.22); }.telegram-setup-guide h2 { margin:5px 0 18px; }.telegram-setup-guide ol { margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;list-style:none;counter-reset:telegram-step; }.telegram-setup-guide li { position:relative;min-height:122px;padding:17px 15px 15px 50px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.02);counter-increment:telegram-step; }.telegram-setup-guide li:before { content:counter(telegram-step);position:absolute;left:14px;top:15px;width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#2aabee;color:#fff;font-size:10px;font-weight:900; }.telegram-setup-guide li b,.telegram-setup-guide li span { display:block; }.telegram-setup-guide li b { font-size:11px; }.telegram-setup-guide li span { margin-top:6px;color:#748190;font-size:9px;line-height:1.5; }.telegram-setup-guide li code { color:#9edfff;font-size:8px; }.telegram-setup-guide > p { margin:16px 0 0;padding:13px 15px;border-radius:10px;background:rgba(255,176,46,.08);color:#c6aa77;font-size:10px;line-height:1.6; }
.telegram-hero { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:30px; align-items:end; min-height:260px; margin-bottom:22px; padding:36px; border:1px solid rgba(42,171,238,.28); border-radius:24px; background:radial-gradient(circle at 85% 12%,rgba(42,171,238,.27),transparent 35%),linear-gradient(135deg,#121a24,#090d13 68%); }
.telegram-hero:after { content:'TG'; position:absolute; right:-25px; top:-50px; color:rgba(255,255,255,.025); font-size:220px; font-weight:950; line-height:1; }.telegram-hero h2 { margin:8px 0 12px; font-size:clamp(34px,5vw,62px); line-height:.95; letter-spacing:-.05em; }.telegram-hero p { max-width:720px; margin:0; color:#aeb8c4; line-height:1.65; }
.telegram-shield { position:relative; z-index:1; display:grid; min-width:190px; padding:20px; border:1px solid rgba(255,255,255,.1); border-radius:18px; background:rgba(5,10,16,.6); backdrop-filter:blur(14px); }.telegram-shield b { display:grid; place-items:center; width:34px; height:34px; margin-bottom:16px; border-radius:50%; background:#30c67f; color:#06140d; }.telegram-shield span { color:#8090a1; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }.telegram-shield strong { margin-top:5px; color:#8af0bd; }
.telegram-connect-card { display:grid; grid-template-columns:64px minmax(0,1fr) auto; gap:20px; align-items:center; margin-bottom:26px; }.telegram-connect-icon { display:grid; place-items:center; width:64px; height:64px; border-radius:19px; font-weight:900; }.telegram-connect-card h2 { margin:4px 0 7px; }.telegram-connect-card p { margin:0; color:var(--muted); }
.member-telegram-guide { margin-bottom:22px;border-color:rgba(42,171,238,.2);border-radius:20px; }.member-telegram-steps { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px; }.member-telegram-steps article { min-height:155px;padding:17px;display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;align-content:start;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02); }.member-telegram-steps article > b { width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#2aabee;color:#fff;font-size:12px; }.member-telegram-steps strong { font-size:11px; }.member-telegram-steps p { margin:7px 0 0;color:#7b8795;font-size:9px;line-height:1.6; }.telegram-help-note { margin:13px 0;padding:13px 15px;border-radius:11px;background:rgba(42,171,238,.07);color:#9fc5d8;font-size:10px;line-height:1.6; }.telegram-empty { grid-column:1/-1;min-height:220px;display:grid;place-items:center;align-content:center;gap:8px;border:1px dashed #354452;border-radius:18px; }.telegram-empty strong,.telegram-empty span { display:block; }.telegram-empty strong { color:#d9e0e7;font-size:16px; }.telegram-empty span { max-width:520px;line-height:1.6; }.telegram-empty .btn { margin-top:8px; }
.telegram-hub-action { border-color:rgba(42,171,238,.25)!important;background:radial-gradient(circle at 90% 10%,rgba(42,171,238,.16),transparent 40%),#0e141b!important; }.telegram-hub-action .hub-action-label { color:#65caff; }
.telegram-account-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:26px; padding:16px 20px; border:1px solid rgba(48,198,127,.22); border-radius:16px; background:rgba(48,198,127,.055); }.telegram-account-bar>div { display:flex; align-items:center; gap:12px; }.telegram-account-bar p { display:grid; margin:0; }.telegram-account-bar small { color:#7f9189; }.telegram-online-dot { width:11px; height:11px; border-radius:50%; background:#30c67f; box-shadow:0 0 0 6px rgba(48,198,127,.1); }
.telegram-groups-section { margin-top:14px; }.section-line-head { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:15px; }.section-line-head h2 { margin:4px 0 0; font-size:25px; }.section-line-head>span { color:var(--muted); font-size:12px; }
.telegram-group-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.telegram-group-card { display:flex; flex-direction:column; min-height:270px; padding:23px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(145deg,rgba(18,25,35,.98),rgba(9,13,19,.98)); }.telegram-group-top { display:flex; align-items:start; justify-content:space-between; gap:14px; }.telegram-group-card h3 { margin:25px 0 9px; font-size:22px; }.telegram-group-card>p { margin:0 0 22px; color:var(--muted); line-height:1.6; }.telegram-group-footer { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-top:auto; padding-top:18px; border-top:1px solid var(--line); }.telegram-group-footer>small { color:#758394; }.telegram-group-footer form { margin:0; }.telegram-joined { color:#76e9b0; font-size:12px; font-weight:800; }

@media(max-width:900px){.telegram-command-card { grid-template-columns:1fr; }.telegram-webhook-panel { align-items:flex-start; flex-direction:column; }.telegram-setup-guide ol { grid-template-columns:1fr; }.telegram-setup-guide li { min-height:auto; }.member-telegram-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }.telegram-hero { grid-template-columns:1fr; align-items:start; padding:28px; }.telegram-shield { width:min(100%,280px); }.telegram-connect-card { grid-template-columns:54px 1fr; }.telegram-connect-icon { width:54px; height:54px; }.telegram-connect-card form { grid-column:1/-1; }.telegram-connect-card .btn { width:100%; }.telegram-group-grid { grid-template-columns:1fr; }}
@media(max-width:560px){.telegram-command-card,.telegram-hero,.telegram-group-card { padding:19px; border-radius:17px; }.telegram-command-card code { width:100%; }.telegram-command-card .btn { width:100%; }.telegram-account-bar { align-items:flex-start; flex-direction:column; }.telegram-account-bar .btn { width:100%; }.telegram-account-bar form { width:100%; }.telegram-group-footer { align-items:stretch; flex-direction:column; }.telegram-group-footer .btn { width:100%; }.telegram-row-actions { display:grid; grid-template-columns:1fr; }.telegram-row-actions form,.telegram-row-actions .btn { width:100%; }}

/* Portal v14 — responsive workspace navigation */
.portal-body { min-width:0; background:#070a0f; }
.portal { --portal-glow:rgba(22,191,232,.18); background:radial-gradient(circle at 50% -230px,var(--portal-glow),transparent 440px),#080b10; }
.portal-admin { --portal-glow:rgba(237,28,36,.2); }
.portal-management { --portal-glow:rgba(155,124,255,.2); }
.portal-topbar { height:86px; padding:0 max(18px,env(safe-area-inset-left)); border-color:rgba(255,255,255,.075); background:rgba(7,10,15,.9); box-shadow:0 18px 55px rgba(0,0,0,.22); }
.portal-topbar-inner { width:min(100%,1640px); height:100%; margin:auto; display:flex; align-items:center; gap:24px; }
.portal-brand { min-width:max-content; gap:11px; }
.portal-brand-mark { width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.1); border-radius:14px; background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02)); box-shadow:inset 0 1px rgba(255,255,255,.08); }
.portal-brand img { width:39px; height:35px; }
.portal-brand > span:last-child { gap:2px; }
.portal-brand small { color:#697688; font-size:7px; letter-spacing:.14em; order:0; }
.portal-brand strong { font-size:14px; letter-spacing:-.015em; order:1; }
.portal-switcher { margin:0 auto; padding:5px; gap:4px; border-color:rgba(255,255,255,.09); border-radius:14px; background:rgba(255,255,255,.025); box-shadow:inset 0 1px rgba(255,255,255,.035); }
.portal-switcher a { min-height:42px; padding:6px 13px 6px 8px; display:flex; align-items:center; gap:8px; border:1px solid transparent; border-radius:10px; color:#778393; font-size:8px; letter-spacing:.06em; }
.portal-switcher a > i { width:29px; height:29px; display:grid; place-items:center; border-radius:8px; color:#6d7988; background:rgba(255,255,255,.04); }
.portal-switcher a > i svg { width:16px; height:16px; }
.portal-switcher a.active { border-color:rgba(22,191,232,.28); background:rgba(22,191,232,.09); box-shadow:none; }
.portal-switcher a.switch-management.active { border-color:rgba(155,124,255,.35); background:rgba(155,124,255,.11); box-shadow:none; }
.portal-switcher a.switch-admin.active { border-color:rgba(237,28,36,.38); background:rgba(237,28,36,.11); box-shadow:none; }
.portal-switcher a.active > i { color:#fff; background:var(--accent); }
.portal-account-actions { display:flex; align-items:center; gap:8px; }
.task-top-button,.mail-top-button { position:relative; width:43px; height:43px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.1); border-radius:12px; background:rgba(255,255,255,.035); color:#8995a3; }
.task-top-button:hover,.mail-top-button:hover { border-color:var(--accent); color:#fff; background:rgba(255,255,255,.07); }
.task-top-button.has-items { border-color:rgba(237,28,36,.45); color:#ff8f95; background:rgba(237,28,36,.1); }
.task-top-button span,.mail-top-button span { width:20px; height:20px; display:grid; place-items:center; }
.task-top-button svg,.mail-top-button svg { width:19px; height:19px; }
.task-top-button b,.mail-top-button b { position:absolute; top:-6px; right:-5px; min-width:20px; height:20px; padding:0 5px; display:grid; place-items:center; border:2px solid #080b10; border-radius:999px; background:var(--red); color:#fff; font-size:8px; }
.portal-user-dropdown { position:relative; }
.portal-user-dropdown > summary { min-height:48px; padding:4px 9px 4px 4px; display:flex; align-items:center; gap:9px; border:1px solid rgba(255,255,255,.1); border-radius:14px; background:rgba(255,255,255,.035); list-style:none; cursor:pointer; }
.portal-user-dropdown > summary::-webkit-details-marker { display:none; }
.portal-user-dropdown .avatar { flex:none; width:38px; height:38px; }
.portal-user-dropdown summary > i { margin-left:5px; color:#647180; font-style:normal; }
.portal-user-dropdown[open] > summary { border-color:color-mix(in srgb,var(--accent) 50%,#303b48); background:#121922; }
.portal-user-dropdown > div { position:absolute; z-index:50; top:calc(100% + 10px); right:0; width:270px; padding:8px; display:grid; gap:4px; border:1px solid #323d49; border-radius:15px; background:#0b1017; box-shadow:0 30px 80px rgba(0,0,0,.65); }
.portal-user-dropdown > div > a { min-height:58px; padding:9px 10px; display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px; align-items:center; border:1px solid transparent; border-radius:10px; }
.portal-user-dropdown > div > a:hover { border-color:#303b48; background:#141b24; }
.portal-user-dropdown > div svg { width:18px; height:18px; color:#7f8b99; }
.portal-user-dropdown > div span strong,.portal-user-dropdown > div span small { display:block; }
.portal-user-dropdown > div span strong { font-size:11px; }.portal-user-dropdown > div span small { margin-top:2px; color:#697686; font-size:8px; }
.portal-user-dropdown > div .logout-entry { margin-top:3px; border-top-color:#39252a; color:#ff989e; }
.portal-desktop-menu { top:86px; padding:12px clamp(18px,3vw,48px); border-color:rgba(255,255,255,.07); background:rgba(9,13,19,.94); }
.portal-dropdown-nav { max-width:1544px; gap:9px; }
.portal-group-home,.portal-nav-dropdown > summary { min-height:58px; padding:8px 12px; border-color:rgba(255,255,255,.075); border-radius:13px; background:rgba(255,255,255,.027); }
.portal-group-home:hover,.portal-nav-dropdown > summary:hover,.portal-nav-dropdown[open] > summary { border-color:#3d4957; background:#141c25; }
.portal-group-home.active,.portal-nav-dropdown.has-active > summary { border-color:color-mix(in srgb,var(--accent) 42%,#313d49); background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 9%,#121923),#0f151d); box-shadow:inset 3px 0 var(--accent); }
.portal-group-home .portal-nav-icon,.portal-nav-dropdown > summary .portal-nav-icon { border:0; background:transparent; }
.portal-nav-dropdown > div { top:calc(100% + 10px); width:min(370px,92vw); padding:9px; border-radius:15px; background:#0c1118; box-shadow:0 28px 75px rgba(0,0,0,.68); }
.portal-nav-dropdown > div > a { border-radius:10px; }
.portal-content { max-width:1544px; padding:38px clamp(18px,3.5vw,56px) max(86px,env(safe-area-inset-bottom)); }
.portal-heading { padding:0 3px; }
.portal-heading h1 { font-size:clamp(34px,4vw,52px); }
.portal-management-alerts { grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr)); gap:11px; }
.management-alerts a { min-height:76px; padding:14px 16px; border-radius:14px; }
.management-alerts a.contact-alert { border-color:#275166; background:linear-gradient(105deg,#102632,#10171d); }
.management-alerts a.contact-alert .management-alert-icon { background:#24779d; }
.management-alerts a.contact-alert small,.management-alerts a.contact-alert > b { color:#88d9ff; }
.management-alerts a.application-alert { border-color:#5b4678; background:linear-gradient(105deg,#251c35,#141119); }
.management-alerts a.application-alert .management-alert-icon { background:#7f5fc0; }
.management-alerts a.application-alert small,.management-alerts a.application-alert > b { color:#c6acef; }
.protected-view { -webkit-user-select:none; user-select:none; }
.protected-view input,.protected-view textarea,.protected-view select,[contenteditable="true"] { -webkit-user-select:text; user-select:text; }
.capture-shield { position:fixed; z-index:99999; inset:0; display:none; place-items:center; align-content:center; gap:10px; background:#020304; color:#fff; text-align:center; }
.capture-shield img { width:96px; filter:grayscale(1); opacity:.4; }.capture-shield strong,.capture-shield span { display:block; }.capture-shield span { color:#69727c; font-size:11px; }
.protected-view.is-obscured .capture-shield { display:grid; }
.screen-watermark { right:12px; bottom:max(11px,env(safe-area-inset-bottom)); padding:5px 8px; background:rgba(4,7,10,.65); }
.portal-command-hero { position:relative; isolation:isolate; min-height:330px; margin-bottom:25px; padding:clamp(28px,4vw,55px); display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,310px); gap:42px; align-items:end; overflow:hidden; border:1px solid rgba(255,255,255,.11); border-radius:25px; background:radial-gradient(circle at 82% 12%,color-mix(in srgb,var(--accent) 27%,transparent),transparent 36%),linear-gradient(135deg,#141b24,#090d13 70%); box-shadow:0 25px 70px rgba(0,0,0,.25); }
.portal-command-hero:after { content:"EMW"; position:absolute; z-index:-1; right:-28px; bottom:-55px; color:rgba(255,255,255,.025); font-size:clamp(130px,18vw,280px); font-weight:950; letter-spacing:-.12em; line-height:.8; }
.admin-command-hero { border-color:rgba(237,28,36,.25); }.management-command-hero { border-color:rgba(155,124,255,.3); }
.command-hero-copy h2 { max-width:900px; margin:10px 0 15px; font-size:clamp(38px,5.3vw,74px); line-height:.91; letter-spacing:-.065em; }
.command-hero-copy h2 em { color:var(--accent); font-style:normal; }.command-hero-copy > p { max-width:650px; margin:0; color:#9aa6b4; font-size:13px; line-height:1.7; }
.command-hero-actions { margin-top:27px; display:flex; flex-wrap:wrap; gap:9px; }
.command-status-card { position:relative; padding:24px; display:grid; align-content:end; min-height:210px; border:1px solid rgba(255,255,255,.11); border-radius:20px; background:rgba(4,8,13,.65); box-shadow:inset 0 1px rgba(255,255,255,.05); backdrop-filter:blur(18px); }
.command-status-card > strong { margin-top:25px; font-size:65px; line-height:.8; letter-spacing:-.08em; }.command-status-card > small { margin-top:10px; color:#748190; font-size:9px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }.command-status-card > a { margin-top:25px; padding-top:15px; display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.09); color:#c9d0d8; font-size:10px; font-weight:800; }
.live-indicator { display:flex; align-items:center; gap:8px; color:#76e9af; font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }.live-indicator i { width:8px;height:8px;border-radius:50%;background:#30c67f;box-shadow:0 0 0 6px rgba(48,198,127,.1); }.live-indicator.is-warning { color:#ff9b80; }.live-indicator.is-warning i { background:#ed1c24;box-shadow:0 0 0 6px rgba(237,28,36,.12); }
.portal-section-head { margin:34px 2px 15px; display:flex; align-items:end; justify-content:space-between; gap:18px; }.portal-section-head h2 { margin:5px 0 0;font-size:24px; }.portal-section-head > span { color:#657282;font-size:9px; }
.admin-metric-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.admin-metric-grid .admin-stat { min-height:150px; display:grid; grid-template-columns:1fr auto; align-content:space-between; }.admin-metric-grid .admin-stat > span { grid-column:1/-1; }.admin-metric-grid .admin-stat > i { align-self:end; color:#667383; font-size:8px; font-style:normal; font-weight:800; text-transform:uppercase; }.admin-metric-grid .admin-stat.has-work { border-color:rgba(237,28,36,.35); background:linear-gradient(145deg,rgba(237,28,36,.1),#10161e); }.admin-metric-grid .admin-stat.has-work strong { color:#ff858b; }
.attention-worklist { margin:20px 0; padding:22px; display:grid; grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr); gap:22px; align-items:center; border:1px solid rgba(237,28,36,.32); border-radius:19px; background:linear-gradient(125deg,rgba(237,28,36,.12),rgba(12,17,24,.98) 55%); }.management-attention { border-color:rgba(155,124,255,.34); background:linear-gradient(125deg,rgba(155,124,255,.14),rgba(12,17,24,.98) 55%); }
.attention-title { display:flex;align-items:center;gap:14px; }.attention-title > span { flex:none;width:45px;height:45px;display:grid;place-items:center;border-radius:14px;background:var(--accent);font-size:20px;font-weight:950; }.attention-title small { color:var(--accent);font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase; }.attention-title h2 { margin:3px 0 0;font-size:21px; }
.attention-items { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }.attention-items > a { min-height:75px;padding:11px 14px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(3,7,11,.52); }.attention-items > a:hover { border-color:var(--accent); }.attention-items > a > b { width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:rgba(237,28,36,.16);color:#ff9298;font-size:19px; }.attention-items span strong,.attention-items span small { display:block; }.attention-items span strong { font-size:11px; }.attention-items span small { margin-top:3px;color:#6f7c8c;font-size:8px; }.attention-items > a > i { color:var(--accent);font-style:normal; }
.admin-workspace-v2 { margin-top:18px; grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr); }.admin-workspace-v2 .panel { border-radius:18px; }.admin-workspace-v2 .control-links a { min-height:100px;border-radius:13px; }
.member-metrics-v2 { margin:-8px 0 20px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;border:0;background:transparent;backdrop-filter:none; }.member-metrics-v2 > a { min-height:105px;padding:17px;display:grid;grid-template-columns:1fr auto;align-content:space-between;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:linear-gradient(145deg,#111821,#0c1118); }.member-metrics-v2 > a strong { font-size:32px; }.member-metrics-v2 > a span { grid-column:1;font-size:8px; }.member-metrics-v2 > a i { grid-column:2;grid-row:1/3;align-self:end;color:#667382;font-style:normal; }.member-metrics-v2 > a.metric-alert { border-color:rgba(237,28,36,.32);background:linear-gradient(145deg,rgba(237,28,36,.1),#0e1218); }.member-metrics-v2 > a.metric-alert strong { color:#ff7c83; }
.management-stack > .panel { scroll-margin-top:175px; }

@media(max-width:980px){
  .portal-topbar { height:128px; padding:0 12px; }
  .portal-topbar-inner { height:74px; align-self:flex-start; gap:9px; }
  .portal-brand { margin-right:auto; }.portal-brand-mark { width:42px; height:42px; border-radius:12px; }.portal-brand img { width:34px; }
  .portal-brand small { display:none; }.portal-brand strong { font-size:12px; }
  .portal-switcher { position:absolute; left:12px; right:12px; bottom:9px; height:44px; margin:0; overflow-x:auto; scrollbar-width:none; }
  .portal-switcher::-webkit-scrollbar { display:none; }.portal-switcher a { flex:1; justify-content:center; min-width:max-content; min-height:34px; padding:4px 10px; }
  .portal-switcher a > i { width:25px; height:25px; }.portal-switcher a > i svg { width:14px;height:14px; }
  .user-meta,.portal-user-dropdown summary > i { display:none; }
  .portal-user-dropdown > summary { min-height:43px; padding:2px; border:0; background:transparent; }.portal-user-dropdown .avatar { width:41px;height:41px; }
  .portal-user-dropdown > div { position:fixed; top:68px; right:12px; left:12px; width:auto; }
  .portal-desktop-menu { display:none; }
  .portal-mobile-menu { top:128px; z-index:20; display:block; border-color:rgba(255,255,255,.08); background:rgba(8,12,17,.96); }
  .portal-mobile-menu > summary { min-height:62px; padding:10px 15px; }
  .portal-mobile-menu > summary > b { width:78px; height:36px; padding:8px 10px; display:grid; grid-template-columns:14px 1fr; grid-template-rows:repeat(3,2px); align-content:center; gap:3px 8px; border-radius:10px; }
  .portal-mobile-menu > summary > b i { width:14px; height:2px; display:block; border-radius:3px; background:currentColor; }
  .portal-mobile-menu > summary > b em { grid-column:2; grid-row:1/4; align-self:center; font-style:normal; font-size:8px; }
  .portal-mobile-menu > div { max-height:calc(100svh - 190px); padding:7px 12px max(18px,env(safe-area-inset-bottom)); }
  .portal-mobile-groups .portal-group-home,.portal-mobile-groups .portal-nav-dropdown > summary { min-height:60px; border-radius:12px; }
  .portal-mobile-groups .portal-nav-dropdown > div { padding:6px; border-radius:12px; background:#0c1219; }
  .portal-content { padding:28px 14px 88px; }
  .portal-command-hero { min-height:290px;grid-template-columns:minmax(0,1fr) 230px;gap:25px;padding:30px; }
  .admin-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.attention-worklist { grid-template-columns:1fr; }.admin-workspace-v2 { grid-template-columns:1fr; }
}
@media(max-width:560px){
  .portal-topbar { height:122px; }.portal-mobile-menu { top:122px; }
  .task-top-button,.mail-top-button { width:39px;height:39px;border-radius:11px; }
  .portal-switcher a { padding-inline:7px; }.portal-switcher a > i { display:none; }
  .portal-switcher a span { font-size:7px; }
  .portal-heading { align-items:flex-start; }.portal-heading h1 { font-size:35px; overflow-wrap:anywhere; }
  .portal-management-alerts { grid-template-columns:1fr; }
  .management-alerts a { min-height:72px; grid-template-columns:38px minmax(0,1fr); }.management-alerts a > b { grid-column:2; }
  .portal-command-hero { min-height:auto;grid-template-columns:1fr;gap:24px;padding:24px 20px;border-radius:19px; }.command-hero-copy h2 { font-size:clamp(38px,12vw,54px); }.command-hero-copy > p { font-size:11px; }.command-hero-actions { align-items:stretch;flex-direction:column; }.command-hero-actions .btn { width:100%; }.command-status-card { min-height:155px;padding:19px; }.command-status-card > strong { margin-top:18px;font-size:52px; }.command-status-card > a { margin-top:18px; }
  .member-metrics-v2,.admin-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.member-metrics-v2 > a { min-height:100px;padding:14px; }.admin-metric-grid .admin-stat { min-height:125px; }
  .portal-section-head { align-items:flex-start;flex-direction:column;gap:5px; }.attention-worklist { padding:18px;border-radius:16px; }.attention-title { align-items:flex-start; }.attention-items { grid-template-columns:1fr; }
}

/* Portal v15 — komplett neue Command-Shelf-Navigation */
.portal-topbar { height:78px; }
.portal-topbar-inner { max-width:1580px; gap:18px; }
.portal-context { margin-left:18px; padding-left:20px; display:flex; align-items:center; gap:11px; border-left:1px solid rgba(255,255,255,.09); }
.portal-context-dot { width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 13%,transparent); }
.portal-context div { display:grid;gap:2px; }.portal-context small { color:#596675;font-size:7px;font-weight:900;letter-spacing:.12em;text-transform:uppercase; }.portal-context strong { font-size:11px; }
.portal-account-actions { margin-left:auto; }
.workspace-menu-title { margin:6px 9px 2px;color:#596675;font-size:7px;font-weight:900;letter-spacing:.13em;text-transform:uppercase; }
.portal-user-dropdown > div .workspace-entry { grid-template-columns:24px minmax(0,1fr) auto; }.portal-user-dropdown > div .workspace-entry.active { border-color:color-mix(in srgb,var(--accent) 38%,#303b48);background:color-mix(in srgb,var(--accent) 8%,#111821); }.workspace-entry > b { min-width:21px;height:21px;padding:0 6px;display:grid;place-items:center;border-radius:99px;background:var(--red);font-size:8px; }
.portal-command-shelf { position:sticky;z-index:18;top:78px;padding:11px clamp(16px,3vw,42px);border-bottom:1px solid rgba(255,255,255,.075);background:rgba(8,12,17,.94);box-shadow:0 18px 45px rgba(0,0,0,.2);backdrop-filter:blur(18px); }
.portal-command-shelf-inner { width:min(100%,1580px);margin:auto;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center; }
.portal-command-shelf-title { min-width:110px;padding-right:16px;border-right:1px solid rgba(255,255,255,.08); }.portal-command-shelf-title small,.portal-command-shelf-title strong { display:block; }.portal-command-shelf-title small { color:var(--accent);font-size:7px;font-weight:900;letter-spacing:.12em;text-transform:uppercase; }.portal-command-shelf-title strong { margin-top:3px;font-size:12px; }
.portal-command-nav { min-width:0;display:flex;gap:7px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#34404d transparent; }
.portal-command-nav > a { position:relative;flex:1 0 116px;min-width:116px;max-width:180px;min-height:61px;padding:9px 11px;display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:center;border:1px solid rgba(255,255,255,.075);border-radius:12px;background:rgba(255,255,255,.026);color:#84909e;transition:border-color .18s,background .18s,color .18s,transform .18s; }
.portal-command-nav > a:hover { transform:translateY(-1px);border-color:#3b4856;background:#141b24;color:#fff; }.portal-command-nav > a.active { border-color:color-mix(in srgb,var(--accent) 45%,#35414d);background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 11%,#121922),#10161e);color:#fff;box-shadow:inset 0 -3px var(--accent); }
.portal-command-icon { width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.045); }.portal-command-icon svg { width:17px;height:17px; }.portal-command-nav > a.active .portal-command-icon { color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,#111821); }
.portal-command-label { min-width:0;display:grid;gap:2px; }.portal-command-label strong { overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap; }.portal-command-label small { overflow:hidden;color:#596675;font-size:7px;font-weight:750;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap; }
.portal-command-nav .nav-badge { position:absolute;top:5px;right:5px;min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border-radius:99px;background:var(--red);color:#fff;font-size:7px; }
.portal-desktop-menu,.portal-mobile-menu,.portal-switcher { display:none!important; }
.portal-mobile-dock,.portal-menu-sheet { display:none; }
.portal-content { padding-top:34px; }

/* Startseite v15 */
.hero-copy .hero-actions { margin-top:30px;display:flex;flex-wrap:wrap;gap:10px; }.hero-copy .btn-glass { border-color:rgba(255,255,255,.28);background:rgba(7,10,14,.42);backdrop-filter:blur(14px); }
.latest-upload-grid { position:relative;border-radius:22px;background:linear-gradient(145deg,#121820,#0a0e14);box-shadow:0 30px 80px rgba(0,0,0,.3); }.latest-upload-grid:before { content:"";position:absolute;z-index:2;top:-1px;left:7%;width:28%;height:2px;background:linear-gradient(90deg,transparent,var(--red),transparent); }.latest-upload-grid .video-copy { background:radial-gradient(circle at 85% 10%,rgba(237,28,36,.13),transparent 34%); }.latest-upload-grid .video-copy h3 { font-size:clamp(30px,3vw,47px);letter-spacing:-.04em; }.live-tag { display:flex;align-items:center;gap:7px; }.live-tag i { width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.14); }
.behind-copy { background:radial-gradient(circle at 15% 15%,rgba(22,191,232,.08),transparent 34%),linear-gradient(145deg,#151c25,#0d1218); }.behind-copy p { max-width:300px;color:#c3cad3;font-size:15px; }

@media(max-width:980px){
  .portal-topbar { height:68px;padding:0 10px; }.portal-topbar-inner { height:68px;align-self:auto;gap:7px; }.portal-brand { margin-right:auto; }.portal-brand-mark { width:40px;height:40px; }.portal-brand > span:last-child { display:none; }
  .portal-context { margin:0 auto 0 5px;padding-left:12px;gap:8px; }.portal-context div small { display:none; }.portal-context strong { max-width:28vw;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap; }.portal-context-dot { width:7px;height:7px;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 13%,transparent); }
  .portal-command-shelf { display:none; }
  .portal-user-dropdown > div { top:62px; }
  .portal-mobile-dock { position:fixed;z-index:80;right:10px;bottom:max(9px,env(safe-area-inset-bottom));left:10px;height:68px;padding:6px;display:grid;grid-template-columns:repeat(5,1fr);gap:3px;border:1px solid rgba(255,255,255,.13);border-radius:19px;background:rgba(10,14,20,.92);box-shadow:0 22px 65px rgba(0,0,0,.65);backdrop-filter:blur(22px); }
  .portal-mobile-dock > a,.portal-mobile-dock > button { position:relative;min-width:0;padding:5px 2px;display:grid;place-items:center;align-content:center;gap:4px;border:0;border-radius:13px;background:transparent;color:#6f7b89; }.portal-mobile-dock > a.active { color:#fff;background:color-mix(in srgb,var(--accent) 14%,#111821); }.portal-mobile-dock > a.active:after { content:"";position:absolute;bottom:2px;width:17px;height:2px;border-radius:9px;background:var(--accent); }
  .portal-mobile-dock span { width:22px;height:22px;display:grid;place-items:center; }.portal-mobile-dock svg { width:19px;height:19px; }.portal-mobile-dock small { max-width:100%;overflow:hidden;font-size:7px;font-weight:850;text-overflow:ellipsis;white-space:nowrap; }.portal-mobile-dock b { position:absolute;top:3px;right:calc(50% - 20px);min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border-radius:99px;background:var(--red);color:#fff;font-size:7px; }
  .portal-mobile-dock button > span { gap:3px;align-content:center; }.portal-mobile-dock button i { width:4px;height:4px;display:block;border-radius:50%;background:currentColor; }.portal-mobile-dock button > span { grid-auto-flow:column; }
  .portal-menu-sheet[hidden] { display:none; }.portal-menu-sheet:not([hidden]) { position:fixed;z-index:200;inset:0;display:block; }.portal-sheet-backdrop { position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(0,0,0,.72);backdrop-filter:blur(5px); }
  .portal-menu-sheet > section { position:absolute;right:0;bottom:0;left:0;max-height:min(88svh,820px);padding:0 14px max(18px,env(safe-area-inset-bottom));overflow:auto;border:1px solid #303b47;border-bottom:0;border-radius:26px 26px 0 0;background:#0b1017;box-shadow:0 -30px 90px rgba(0,0,0,.7); }
  .portal-menu-sheet > section > header { position:sticky;z-index:2;top:0;padding:18px 2px 14px;display:flex;align-items:center;justify-content:space-between;background:#0b1017; }.portal-menu-sheet header small,.portal-menu-sheet header strong { display:block; }.portal-menu-sheet header small { color:var(--accent);font-size:7px;font-weight:900;letter-spacing:.13em;text-transform:uppercase; }.portal-menu-sheet header strong { margin-top:3px;font-size:18px; }.portal-menu-sheet header button { width:38px;height:38px;border:1px solid #35404c;border-radius:12px;background:#141b23;color:#fff;font-size:24px; }
  .portal-sheet-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px; }.portal-sheet-grid > a { position:relative;min-height:105px;padding:13px;display:grid;align-content:space-between;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:linear-gradient(145deg,#121922,#0e141b); }.portal-sheet-grid > a.active { border-color:var(--accent);box-shadow:inset 0 -3px var(--accent); }.portal-sheet-grid .portal-command-icon { color:#8b97a5; }.portal-sheet-grid .portal-command-label strong,.portal-sheet-grid .portal-command-label small { display:block; }.portal-sheet-grid .portal-command-label strong { font-size:10px; }.portal-sheet-grid .portal-command-label small { margin-top:3px;color:#5f6b79;font-size:7px;text-transform:uppercase; }.portal-sheet-grid .nav-badge { position:absolute;top:10px;right:10px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:99px;background:var(--red);font-size:7px; }
  .portal-menu-sheet footer { margin-top:13px;padding:14px 2px;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.08);color:#778493;font-size:9px; }
  .portal-body.menu-open { overflow:hidden; }.portal-content { padding-top:24px;padding-bottom:105px; }
  .management-stack > .panel { scroll-margin-top:82px; }
}
@media(max-width:620px){
  .portal-context { display:none; }.task-top-button,.mail-top-button { width:38px;height:38px; }.portal-user-dropdown .avatar { width:38px;height:38px; }
  .portal-sheet-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.portal-sheet-grid > a { min-height:98px; }
  .portal-mobile-dock { right:7px;left:7px;height:65px;border-radius:17px; }.portal-mobile-dock small { font-size:6.5px; }
  .hero-copy .hero-actions { align-items:stretch;flex-direction:column;margin-top:24px; }.hero-copy .hero-actions .btn { width:100%; }.latest-upload-grid { border-radius:14px; }.latest-upload-grid .video-copy { padding:24px 19px 27px; }
  .member-telegram-guide { padding:18px;border-radius:16px; }.member-telegram-steps { grid-template-columns:1fr; }.member-telegram-steps article { min-height:auto; }.telegram-empty { padding:30px 18px; }
}

/* Portal v16 — klassische moderne Dropdown-Navigation */
.portal-topbar { height:82px;padding:0 clamp(14px,2.4vw,38px);overflow:visible; }
.portal-topbar-inner { width:min(100%,1580px);max-width:1580px;height:82px;gap:20px;overflow:visible; }
.portal-brand { margin-right:clamp(12px,2vw,34px); }.portal-brand-mark { width:44px;height:44px;border-radius:13px; }.portal-brand img { width:36px;height:32px; }.portal-brand strong { font-size:13px; }.portal-brand small { font-size:6.5px; }
.portal-desktop-primary { min-width:0;flex:1;display:flex;justify-content:center;align-self:stretch; }
.portal-modern-nav { min-width:0;display:flex;align-items:stretch;justify-content:center;gap:2px; }
.portal-modern-nav > .portal-primary-home,.portal-modern-nav > .portal-mega-dropdown > summary { position:relative;height:82px;padding:0 13px;display:flex;align-items:center;gap:8px;border:0;background:transparent;color:#8793a1;list-style:none;cursor:pointer;white-space:nowrap; }
.portal-modern-nav > .portal-primary-home:after,.portal-modern-nav > .portal-mega-dropdown > summary:after { content:"";position:absolute;right:13px;bottom:0;left:13px;height:3px;border-radius:4px 4px 0 0;background:transparent; }
.portal-modern-nav > .portal-primary-home:hover,.portal-modern-nav > .portal-mega-dropdown > summary:hover,.portal-modern-nav > .portal-mega-dropdown[open] > summary { color:#fff;background:linear-gradient(180deg,transparent,rgba(255,255,255,.035)); }
.portal-modern-nav > .portal-primary-home.active,.portal-modern-nav > .portal-mega-dropdown.has-active > summary { color:#fff; }.portal-modern-nav > .portal-primary-home.active:after,.portal-modern-nav > .portal-mega-dropdown.has-active > summary:after,.portal-modern-nav > .portal-mega-dropdown[open] > summary:after { background:var(--accent); }
.portal-modern-nav summary::-webkit-details-marker { display:none; }.portal-modern-nav > a > span,.portal-modern-nav > details > summary > span { width:25px;height:25px;display:grid;place-items:center;color:#687584; }.portal-modern-nav svg { width:16px;height:16px; }.portal-modern-nav > a.active > span,.portal-modern-nav > details.has-active > summary > span,.portal-modern-nav > details[open] > summary > span { color:var(--accent); }
.portal-modern-nav > a > strong,.portal-modern-nav > details > summary > strong { font-size:9px;font-weight:850;letter-spacing:.02em; }.portal-modern-nav > details > summary > i { margin-left:1px;color:#53606f;font-size:11px;font-style:normal;transition:transform .18s; }.portal-modern-nav > details[open] > summary > i { transform:rotate(180deg); }
.portal-modern-nav > a > b,.portal-modern-nav > details > summary > b { min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border-radius:99px;background:var(--red);color:#fff;font-size:7px; }
.portal-mega-dropdown { position:relative; }.portal-mega-panel { position:absolute;z-index:150;top:calc(100% + 10px);left:50%;width:420px;padding:10px;transform:translateX(-50%);border:1px solid #34404c;border-radius:18px;background:rgba(10,15,21,.98);box-shadow:0 35px 90px rgba(0,0,0,.72);backdrop-filter:blur(22px); }
.portal-modern-nav > .portal-mega-dropdown:nth-last-child(-n+2) .portal-mega-panel { right:0;left:auto;transform:none; }.portal-mega-panel > header { padding:12px 12px 14px;border-bottom:1px solid rgba(255,255,255,.08); }.portal-mega-panel > header small,.portal-mega-panel > header strong { display:block; }.portal-mega-panel > header small { color:var(--accent);font-size:7px;font-weight:900;letter-spacing:.14em;text-transform:uppercase; }.portal-mega-panel > header strong { margin-top:4px;font-size:15px; }
.portal-mega-panel > div { padding-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px; }.portal-mega-panel > div > a { position:relative;min-height:70px;padding:10px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid transparent;border-radius:12px;background:rgba(255,255,255,.018); }.portal-mega-panel > div > a:hover { border-color:#35414e;background:#141c25; }.portal-mega-panel > div > a.active { border-color:color-mix(in srgb,var(--accent) 40%,#34404c);background:color-mix(in srgb,var(--accent) 8%,#121922); }.portal-mega-panel > div > a > span { width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.045);color:#83909e; }.portal-mega-panel > div > a > span svg { width:18px;height:18px; }.portal-mega-panel > div > a > div { min-width:0; }.portal-mega-panel > div > a strong,.portal-mega-panel > div > a small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.portal-mega-panel > div > a strong { font-size:10px; }.portal-mega-panel > div > a small { margin-top:3px;color:#657282;font-size:7px;text-transform:uppercase; }.portal-mega-panel > div > a > i { color:#596675;font-style:normal; }.portal-mega-panel > div > a > b { position:absolute;top:7px;right:7px;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;border-radius:99px;background:var(--red);font-size:7px; }
.portal-mobile-trigger { display:none; }.portal-command-shelf,.portal-mobile-dock,.portal-menu-sheet { display:none!important; }.portal-content { padding-top:38px; }

@media(max-width:1180px){
  .portal-topbar,.portal-topbar-inner { height:70px; }.portal-topbar { padding:0 12px; }.portal-topbar-inner { gap:8px; }.portal-brand { margin-right:auto; }.portal-brand-mark { width:40px;height:40px; }.portal-brand > span:last-child { display:flex; }.portal-brand small { display:none; }.portal-brand strong { font-size:11px; }
  .portal-desktop-primary { display:none; }.portal-mobile-trigger { position:static;display:block;order:2; }.portal-account-actions { order:3;margin-left:0; }.portal-mobile-trigger > summary { width:72px;height:40px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.11);border-radius:11px;background:rgba(255,255,255,.035);color:#a4aeba;list-style:none;cursor:pointer; }.portal-mobile-trigger > summary::-webkit-details-marker { display:none; }.portal-mobile-trigger > summary > span { width:16px;display:grid;gap:3px; }.portal-mobile-trigger > summary > span i { width:16px;height:2px;display:block;border-radius:3px;background:currentColor; }.portal-mobile-trigger > summary > strong { font-size:8px;text-transform:uppercase; }.portal-mobile-trigger[open] > summary { border-color:var(--accent);color:#fff;background:color-mix(in srgb,var(--accent) 10%,#111821); }
  .portal-mobile-panel { position:fixed;z-index:180;top:70px;right:0;left:0;max-height:calc(100svh - 70px);padding:14px clamp(14px,4vw,35px) max(22px,env(safe-area-inset-bottom));overflow-y:auto;border-top:1px solid #303a46;background:rgba(8,12,17,.985);box-shadow:0 35px 80px rgba(0,0,0,.72);backdrop-filter:blur(22px); }
  .portal-mobile-panel > header { padding:5px 1px 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08); }.portal-mobile-panel > header small,.portal-mobile-panel > header strong { display:block; }.portal-mobile-panel > header small { color:var(--accent);font-size:7px;font-weight:900;letter-spacing:.14em;text-transform:uppercase; }.portal-mobile-panel > header strong { margin-top:3px;font-size:19px; }.portal-mobile-panel > header button { width:38px;height:38px;border:1px solid #35404c;border-radius:11px;background:#141b23;color:#fff;font-size:23px; }
  .portal-mobile-modern-nav { padding:13px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }.portal-mobile-modern-nav > .portal-primary-home,.portal-mobile-modern-nav > .portal-mega-dropdown { min-width:0; }
  .portal-mobile-modern-nav > .portal-primary-home,.portal-mobile-modern-nav > .portal-mega-dropdown > summary { min-height:62px;padding:10px 13px;display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;gap:9px;align-items:center;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:linear-gradient(145deg,#121922,#0d131a);color:#929eab;list-style:none; }.portal-mobile-modern-nav summary::-webkit-details-marker { display:none; }.portal-mobile-modern-nav > .portal-primary-home.active,.portal-mobile-modern-nav > .portal-mega-dropdown.has-active > summary,.portal-mobile-modern-nav > .portal-mega-dropdown[open] > summary { border-color:color-mix(in srgb,var(--accent) 43%,#34404c);color:#fff;box-shadow:inset 3px 0 var(--accent); }.portal-mobile-modern-nav > a > span,.portal-mobile-modern-nav > details > summary > span { width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.045); }.portal-mobile-modern-nav svg { width:18px;height:18px; }.portal-mobile-modern-nav > a > strong,.portal-mobile-modern-nav > details > summary > strong { font-size:10px; }.portal-mobile-modern-nav > details > summary > i { color:#627080;font-style:normal; }.portal-mobile-modern-nav > details[open] > summary > i { transform:rotate(180deg); }.portal-mobile-modern-nav > a > b,.portal-mobile-modern-nav > details > summary > b { min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border-radius:99px;background:var(--red);font-size:7px; }
  .portal-mobile-modern-nav .portal-mega-panel { position:static;width:100%;margin-top:7px;padding:8px;transform:none;border-radius:14px;box-shadow:none; }.portal-mobile-modern-nav .portal-mega-panel > header { display:none; }.portal-mobile-modern-nav .portal-mega-panel > div { grid-template-columns:repeat(2,minmax(0,1fr)); }.portal-mobile-modern-nav .portal-mega-panel > div > a { min-height:66px; }
  .portal-mobile-panel > footer { padding:14px 2px 3px;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.08);color:#7d8997;font-size:9px; }.portal-mobile-trigger[open] ~ .portal-account-actions .portal-user-dropdown { display:none; }
  .portal-content { padding-top:27px;padding-bottom:max(75px,env(safe-area-inset-bottom)); }
}
@media(max-width:650px){
  .portal-brand > span:last-child { display:none; }.portal-mobile-trigger > summary { width:42px;padding:0; }.portal-mobile-trigger > summary > strong { display:none; }.task-top-button { display:none; }.portal-account-actions { gap:5px; }.portal-mobile-panel { padding-inline:11px; }
  .portal-mobile-modern-nav { grid-template-columns:1fr; }.portal-mobile-modern-nav .portal-mega-panel > div { grid-template-columns:1fr; }.portal-mobile-modern-nav .portal-mega-panel > div > a { min-height:61px; }
  .portal-heading { margin-bottom:20px; }.portal-heading h1 { font-size:32px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

@media print {
  .protected-view > * { display: none !important; }
  .protected-view::after { content: "Ausdrucke und Bildschirmkopien dieses Bereichs sind nicht freigegeben."; display: block !important; padding: 50px; color: #000; font: 18px Arial, sans-serif; }
}
