/* Donations stylesheet is linked via views/layouts/app.php; no relative @import here. */
:root{--bg:#070b14;--panel:#0e1422;--panel2:#121a2a;--line:#202b40;--text:#f4f7fb;--muted:#8d99ad;--accent:#7c5cff;--accent2:#22d3ee;--good:#34d399;--danger:#fb7185;--shadow:0 22px 70px rgba(0,0,0,.28)}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 82% 0%,rgba(124,92,255,.12),transparent 32%),var(--bg);color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}button,input{font:inherit}.ambient{position:fixed;border-radius:50%;filter:blur(90px);opacity:.12;pointer-events:none}.ambient-a{width:340px;height:340px;background:var(--accent);right:-80px;top:180px}.ambient-b{width:300px;height:300px;background:var(--accent2);left:-100px;bottom:10px}.app-shell{display:grid;grid-template-columns:258px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:26px 18px 18px;border-right:1px solid var(--line);background:rgba(7,11,20,.86);backdrop-filter:blur(20px);display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 24px}.brand img{width:36px;height:36px}.brand span{display:flex;align-items:baseline;gap:6px}.brand b{font-size:19px}.brand em{font-style:normal;font-size:10px;letter-spacing:.16em;color:var(--accent2);font-weight:800}.primary-nav{display:flex;flex-direction:column;gap:4px;overflow:auto;padding-right:3px}.nav-item{display:flex;align-items:center;gap:11px;color:#aeb8c8;padding:10px 12px;border-radius:10px;font-size:14px;transition:.18s}.nav-item:hover,.nav-item.active{background:#151d2d;color:#fff}.nav-item.active{box-shadow:inset 2px 0 var(--accent2)}.nav-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:#1a2436;color:#cbd5e1;font-size:11px;font-weight:800}.admin-link{margin-top:auto;border:1px solid var(--line)}.sidebar-user{margin-top:12px;padding:13px 8px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center}.avatar{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:grid;place-items:center;font-size:11px;font-weight:900}.sidebar-user strong,.sidebar-user small{display:block}.sidebar-user strong{font-size:13px}.sidebar-user small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.icon-button,.ghost{border:0;background:transparent;color:var(--muted);cursor:pointer}.main{min-width:0}.topbar{height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:rgba(7,11,20,.56);backdrop-filter:blur(18px);position:sticky;top:0;z-index:8}.breadcrumbs{font-size:13px;color:var(--muted)}.breadcrumbs span{padding:0 8px;color:#465166}.top-actions{display:flex;align-items:center;gap:13px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 18px var(--good)}.menu-button{display:none;background:none;border:0;color:white;font-size:20px}.content-wrap{padding:32px;max-width:1580px;margin:auto}.hero-card{min-height:300px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(120deg,#111827 0%,#101629 52%,#0c1324 100%);box-shadow:var(--shadow);display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;position:relative;padding:50px}.hero-card h1{font-size:clamp(34px,4.2vw,68px);line-height:.95;letter-spacing:-.045em;margin:13px 0 17px;max-width:780px}.hero-card h1 span{color:var(--accent2)}.hero-card p{color:var(--muted);font-size:16px;max-width:610px;line-height:1.65}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.19em;color:var(--accent2)}.hero-actions{display:flex;gap:10px;margin-top:26px}.button,.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid transparent;min-height:42px;padding:0 17px;font-weight:750;cursor:pointer}.primary{background:linear-gradient(135deg,var(--accent),#5b78ff);color:white;box-shadow:0 10px 28px rgba(124,92,255,.22)}.secondary{background:#141c2b;border-color:var(--line);color:#dbe4ef}.hero-graphic{display:grid;place-items:center}.hero-graphic img{width:min(430px,100%);filter:drop-shadow(0 25px 50px rgba(0,0,0,.25))}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.stat-card,.panel,.module-strip,.feature-card{border:1px solid var(--line);background:rgba(14,20,34,.84);border-radius:16px}.stat-card{padding:19px 20px}.stat-card span,.stat-card small{display:block;color:var(--muted);font-size:12px}.stat-card strong{display:block;font-size:34px;margin:3px 0;letter-spacing:-.04em}.two-col{display:grid;grid-template-columns:1.08fr .92fr;gap:18px}.panel{padding:22px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.panel-head h2{margin:4px 0 0;font-size:21px}.panel-head>a,.panel-head>span{font-size:12px;color:var(--muted)}.news-stack,.match-stack,.item-list{display:flex;flex-direction:column}.news-row,.match-row,.list-item{display:grid;align-items:center;border-top:1px solid var(--line);padding:16px 0}.news-row:first-child,.match-row:first-child,.list-item:first-child{border-top:0}.news-row{grid-template-columns:52px 1fr;gap:15px}.news-date{font-size:23px;font-weight:900}.news-date small{display:block;font-size:9px;color:var(--muted)}.tag{display:inline-flex;font-size:9px;letter-spacing:.09em;font-weight:900;color:#b9c4d5;background:#192235;border:1px solid #263249;padding:4px 7px;border-radius:999px}.news-row h3,.match-row h3{margin:5px 0;font-size:15px}.news-row p,.list-item p{margin:3px 0;color:var(--muted);font-size:12px;line-height:1.5}.news-row small,.match-row small,.list-item small{color:#647189;font-size:10px}.match-row{grid-template-columns:1fr auto}.match-row h3 b{color:var(--muted);font-size:11px}.score{font-size:24px;font-weight:900;letter-spacing:.02em}.score i{font-style:normal;color:var(--muted);padding:0 5px}.module-strip{margin-top:18px;padding:22px}.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.module-tile{padding:17px;border:1px solid var(--line);border-radius:13px;background:#0d1422;min-height:155px;transition:.18s;display:flex;flex-direction:column}.module-tile:hover{transform:translateY(-2px);border-color:#3b4b6b;background:#111a2a}.tile-icon{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#25324a,#141d2d);display:grid;place-items:center;font-weight:900;margin-bottom:14px}.module-tile strong{font-size:14px}.module-tile small{color:var(--muted);line-height:1.45;margin-top:6px}.module-tile>span{margin-top:auto;color:var(--accent2);font-size:11px;font-weight:800}.page-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.page-head h1{font-size:40px;letter-spacing:-.04em;margin:7px 0}.page-head p{color:var(--muted);max-width:720px;margin:0}.module-panel{padding:0;overflow:hidden}.toolbar{display:flex;gap:8px;padding:16px;border-bottom:1px solid var(--line)}.searchbox{background:#0b111d;border:1px solid var(--line);border-radius:10px;padding:0 13px;display:flex;align-items:center;gap:8px;flex:1;color:var(--muted)}.searchbox input{height:42px;background:transparent;border:0;outline:0;color:white;width:100%}.list-item{grid-template-columns:42px 1fr auto;gap:14px;padding:17px 20px}.list-avatar{width:42px;height:42px;border-radius:11px;background:#172134;display:grid;place-items:center;font-weight:900}.list-top{display:flex;align-items:center;gap:8px}.list-top h3{font-size:14px;margin:0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}.feature-card{padding:18px}.feature-card b{font-size:13px}.feature-card p{color:var(--muted);font-size:12px;line-height:1.55;margin:7px 0 0}.empty{padding:42px;text-align:center;color:var(--muted);display:grid;gap:6px}.admin-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.admin-badge{font-size:10px;border:1px solid rgba(52,211,153,.35);color:var(--good);padding:7px 10px;border-radius:999px;background:rgba(52,211,153,.07)}.switch-list{display:flex;flex-direction:column}.switch-row{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-top:1px solid var(--line)}.switch-row:first-child{border-top:0}.switch-row b,.switch-row small{display:block}.switch-row b{font-size:13px}.switch-row small{font-size:10px;color:var(--muted);margin-top:3px}.switch{position:relative;width:40px;height:23px}.switch input{opacity:0;position:absolute}.switch i{position:absolute;inset:0;border-radius:999px;background:#263148;cursor:pointer}.switch i:after{content:"";position:absolute;width:17px;height:17px;left:3px;top:3px;border-radius:50%;background:#9aa7ba;transition:.2s}.switch input:checked+i{background:var(--accent)}.switch input:checked+i:after{transform:translateX(17px);background:white}.save-button{width:100%;margin-top:15px}.security-list>div{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.security-list>div:first-child{border-top:0}.security-list p{margin:0}.security-list b,.security-list small{display:block}.security-list b{font-size:13px}.security-list small{font-size:10px;color:var(--muted);margin-top:3px}.ok{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:rgba(52,211,153,.11);color:var(--good);font-weight:900}.admin-shortcuts{margin-top:18px}.shortcut-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.shortcut-grid>div{background:#0b111d;border:1px solid var(--line);border-radius:11px;padding:15px}.shortcut-grid b,.shortcut-grid span{display:block}.shortcut-grid b{font-size:12px}.shortcut-grid span{font-size:10px;color:var(--muted);margin-top:5px}.toast{padding:12px 14px;border-radius:10px;margin-bottom:15px;font-size:13px}.toast.error{background:rgba(251,113,133,.11);border:1px solid rgba(251,113,133,.25);color:#fecdd3}.toast.success{background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.25);color:#a7f3d0}.login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.login-art{position:relative;overflow:hidden;padding:70px clamp(40px,7vw,110px);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#0b1020,#11162c)}.login-art:before{content:"";position:absolute;inset:-30%;background:radial-gradient(circle,rgba(124,92,255,.20),transparent 36%);transform:translate(20%,-10%)}.login-mark{position:absolute;top:38px;left:48px;width:42px}.login-art h1{font-size:clamp(46px,6vw,86px);line-height:.9;letter-spacing:-.055em;max-width:850px;margin:18px 0;position:relative}.login-art h1 span{color:var(--accent2)}.login-art>p{max-width:610px;color:var(--muted);font-size:17px;line-height:1.65;position:relative}.login-orbit{position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-160px;bottom:-140px}.login-orbit:before,.login-orbit:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.06);border-radius:50%}.login-orbit:before{inset:55px}.login-orbit:after{inset:115px}.login-orbit span{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--accent2);box-shadow:0 0 20px var(--accent2)}.login-orbit span:nth-child(1){left:80px;top:63px}.login-orbit span:nth-child(2){right:36px;top:170px;background:var(--accent)}.login-orbit span:nth-child(3){left:138px;bottom:10px}.login-orbit span:nth-child(4){left:190px;top:185px;background:white}.mini-stats{display:flex;gap:38px;margin-top:52px;position:relative}.mini-stats b,.mini-stats small{display:block}.mini-stats b{font-size:18px}.mini-stats small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:4px}.login-panel{display:grid;place-items:center;padding:40px;background:#080d17}.login-box{width:min(420px,100%)}.login-box h2{font-size:36px;letter-spacing:-.04em;margin:9px 0}.login-box>p{color:var(--muted);margin-bottom:29px}.login-box label{display:block;font-size:11px;color:#b7c0cf;margin-top:14px}.login-box input{width:100%;height:49px;margin-top:7px;border-radius:10px;border:1px solid var(--line);background:#0d1421;color:white;padding:0 13px;outline:0}.login-box input:focus{border-color:var(--accent)}.login-box .primary{width:100%;height:50px;margin-top:19px;justify-content:space-between}.login-foot{margin-top:30px;font-size:9px;color:#59657a;text-align:center;letter-spacing:.09em}@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-270px;width:258px;transition:.2s}.sidebar.open{left:0}.menu-button{display:block}.hero-card{grid-template-columns:1fr}.hero-graphic{display:none}.module-grid{grid-template-columns:repeat(3,1fr)}.admin-grid,.two-col{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-art{display:none}}@media(max-width:720px){.content-wrap{padding:18px}.topbar{padding:0 18px}.hero-card{padding:28px}.stat-grid{grid-template-columns:repeat(2,1fr)}.module-grid,.shortcut-grid,.feature-grid{grid-template-columns:1fr}.page-head{align-items:start;gap:15px;flex-direction:column}.page-head h1{font-size:34px}.toolbar{flex-wrap:wrap}.searchbox{flex-basis:100%}}

/* v0.2 community core */
a{color:inherit}.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.content-card{padding:22px;border:1px solid var(--line);border-radius:14px;background:#0b111d}.content-card h2{margin:12px 0 8px;font-size:20px}.content-card p,.card-meta{color:var(--muted)}.card-meta{font-size:11px;margin-top:18px}.form-panel{max-width:1000px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label,.stack-form label,.reply-box label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#b9c2d0}.form-grid .wide{grid-column:1/-1}.form-grid input,.form-grid textarea,.form-grid select,.stack-form input,.stack-form select,.reply-box textarea,.inline-form select{width:100%;border:1px solid var(--line);border-radius:10px;background:#0b111d;color:#fff;padding:11px 12px;font:inherit;outline:none}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus,.stack-form input:focus,.stack-form select:focus,.reply-box textarea:focus{border-color:var(--accent)}.form-actions,.action-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:18px}.danger{border:1px solid rgba(251,113,133,.35);background:rgba(251,113,133,.1);color:#fecdd3;padding:10px 14px;border-radius:9px;cursor:pointer}.article-head{max-width:880px;margin:20px auto 28px}.article-head h1{font-size:48px;letter-spacing:-.045em;margin:14px 0}.article-head>p{font-size:18px;color:var(--muted)}.prose{max-width:880px;margin:auto;font-size:15px;line-height:1.8}.forum-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:18px}.forum-category,.topic-row{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid var(--line)}.forum-category:first-of-type,.topic-row:first-of-type{border-top:0}.forum-category b,.forum-category small,.topic-row b,.topic-row small{display:block}.forum-category small,.topic-row small{color:var(--muted);margin-top:5px}.forum-category>span,.topic-row>span{text-align:right;color:var(--muted);font-size:11px}.post-stack{display:grid;gap:12px}.forum-post{display:grid;grid-template-columns:150px 1fr;border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden}.forum-post aside{padding:20px;background:#0b111d;text-align:center;border-right:1px solid var(--line)}.forum-post aside b,.forum-post aside small{display:block;margin-top:8px}.forum-post aside small,.forum-post>div>small{color:var(--muted)}.forum-post>div{padding:22px}.forum-post p{line-height:1.7}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.avatar.large{width:56px;height:56px;margin:auto}.avatar.xlarge{width:72px;height:72px;flex:0 0 72px}.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.member-card{display:flex;gap:16px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--panel);transition:.2s}.member-card:hover{transform:translateY(-2px);border-color:#34425a}.member-card h3{margin:0 0 8px}.member-card p{color:var(--muted);font-size:12px;line-height:1.5}.member-card small{color:var(--muted)}.profile-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px}.profile-avatar{width:100px;height:100px;font-size:26px}.profile-hero h1{font-size:38px;margin:8px 0}.profile-hero p{color:var(--muted)}.profile-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;margin-top:18px}.prose-text{line-height:1.7;color:#cbd5e1}.detail-list{display:grid;grid-template-columns:110px 1fr;gap:12px}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th,.data-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.data-table th{color:var(--muted);font-size:10px;text-transform:uppercase}.data-table td small{display:block;color:var(--muted);margin-top:3px}.inline-form{display:flex;gap:7px;align-items:center}.stack-form{display:grid;gap:13px}.role-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.role-tabs a{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#0b111d}.role-tabs a.active{border-color:var(--accent);background:rgba(124,92,255,.12)}.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.permission-card{display:flex;gap:10px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#0b111d}.permission-card input{margin-top:3px}.permission-card b,.permission-card small{display:block}.permission-card small{color:var(--muted);margin-top:4px;font-family:monospace}.shortcut-link{display:block;background:#0b111d;border:1px solid var(--line);border-radius:11px;padding:15px}.shortcut-link b,.shortcut-link span{display:block}.shortcut-link span{font-size:10px;color:var(--muted);margin-top:5px}
@media(max-width:900px){.content-grid,.forum-layout,.member-grid,.profile-grid{grid-template-columns:1fr}.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-hero{grid-template-columns:auto 1fr}.profile-hero>.button{grid-column:1/-1}.forum-post{grid-template-columns:100px 1fr}}@media(max-width:600px){.form-grid,.permission-grid{grid-template-columns:1fr}.forum-post{grid-template-columns:1fr}.forum-post aside{border-right:0;border-bottom:1px solid var(--line)}.inline-form{flex-direction:column;align-items:stretch}.article-head h1{font-size:34px}}

/* v0.3 teams & matchcenter */
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.team-card{display:grid;grid-template-columns:96px 1fr;gap:20px;padding:24px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#0d1422,#10182a);transition:.2s}.team-card:hover{transform:translateY(-2px);border-color:#35445f}.team-card h2{margin:9px 0 8px}.team-card p{color:var(--muted);line-height:1.55}.team-card small{color:var(--muted)}.team-emblem{width:78px;height:78px;border-radius:20px;display:grid;place-items:center;font-size:18px;font-weight:950;letter-spacing:.06em;background:linear-gradient(135deg,rgba(124,92,255,.28),rgba(34,211,238,.17));border:1px solid #35425a}.team-emblem.large{width:112px;height:112px;font-size:24px}.team-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px}.team-hero h1{font-size:42px;margin:6px 0}.team-hero p{color:var(--muted)}.roster-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.roster-row{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:11px;background:#0b111d}.roster-row b,.roster-row small{display:block}.roster-row small{color:var(--muted);margin-top:4px}.compact-match,.map-row,.manage-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.compact-match:first-of-type,.map-row:first-of-type,.manage-row:first-of-type{border-top:0}.compact-match b,.compact-match small,.manage-row b,.manage-row small,.map-row b,.map-row small{display:block}.compact-match small,.manage-row small,.map-row small{color:var(--muted);margin-top:4px}.compact-match strong,.map-row strong{font-size:20px}.danger-zone{display:flex;justify-content:flex-end;margin-top:18px}.match-board{display:grid;gap:12px}.match-card{padding:20px 24px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(120deg,#0d1422,#111827);transition:.2s}.match-card:hover{border-color:#35445f;transform:translateY(-1px)}.match-card>div:first-child{display:flex;justify-content:space-between;gap:15px;color:var(--muted)}.match-versus{display:grid;grid-template-columns:1fr 180px 1fr;align-items:center;text-align:center;margin-top:20px}.match-versus>div:first-child{text-align:right}.match-versus>div:last-child{text-align:left}.match-versus b,.match-versus span{display:block}.match-versus span{font-size:9px;color:var(--muted);letter-spacing:.12em;margin-top:4px}.match-versus strong{font-size:32px}.match-versus i,.big-versus i{font-style:normal;color:var(--muted)}.match-hero{padding:30px}.match-hero>div:first-child{display:flex;justify-content:space-between;color:var(--muted)}.big-versus{display:grid;grid-template-columns:1fr 220px 1fr;align-items:center;text-align:center;margin:35px 0 20px}.big-versus>div:first-child{text-align:right}.big-versus>div:last-child{text-align:left}.big-versus span,.big-versus b{display:block}.big-versus span{font-size:11px;color:var(--muted)}.big-versus b{font-size:28px;margin-top:5px}.big-versus strong{font-size:48px}.map-add{display:grid;grid-template-columns:2fr .7fr .7fr .7fr auto;gap:8px;margin-top:15px}.map-add input{min-width:0;border:1px solid var(--line);border-radius:9px;background:#0b111d;color:white;padding:10px}.match-report{margin-top:18px}.status-live{color:#fecaca;border-color:rgba(248,113,113,.3);background:rgba(248,113,113,.1)}.status-finished{color:#a7f3d0}.status-cancelled{opacity:.7}@media(max-width:900px){.team-grid{grid-template-columns:1fr}.team-hero{grid-template-columns:auto 1fr}.team-hero>.action-row{grid-column:1/-1}.match-versus,.big-versus{grid-template-columns:1fr 120px 1fr}.map-add{grid-template-columns:1fr 1fr}.map-add button{grid-column:1/-1}.roster-list{grid-template-columns:1fr}}@media(max-width:600px){.team-card{grid-template-columns:1fr}.team-hero{grid-template-columns:1fr}.match-versus,.big-versus{grid-template-columns:1fr;text-align:center;gap:12px}.match-versus>div:first-child,.match-versus>div:last-child,.big-versus>div:first-child,.big-versus>div:last-child{text-align:center}.map-add{grid-template-columns:1fr}}

/* v0.4 calendar, gallery, downloads & polls */
.calendar-toolbar{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 0 14px}.calendar-toolbar strong{min-width:180px;text-align:center;font-size:18px}.calendar-grid{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel)}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{background:#0b111d;border-bottom:1px solid var(--line)}.calendar-weekdays b{padding:11px;text-align:center;font-size:10px;color:var(--muted);letter-spacing:.08em}.calendar-day{min-height:126px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}.calendar-day:nth-child(7n){border-right:0}.calendar-day.today{box-shadow:inset 0 0 0 1px var(--accent2);background:rgba(34,211,238,.035)}.muted-day{opacity:.25}.day-number{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}.today .day-number{color:var(--accent2);font-weight:900}.event-chip{display:block;margin:5px 0;padding:6px 7px;border-radius:7px;background:rgba(124,92,255,.12);border:1px solid rgba(124,92,255,.2);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-chip small{color:var(--accent2);margin-right:4px}.more-events{color:var(--muted)}.checkline{justify-content:center}.checkline input{width:auto!important}.gallery-albums,.poll-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.album-card,.poll-card{padding:22px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,#0d1422,#101827);transition:.2s}.album-card:hover,.poll-card:hover{transform:translateY(-2px);border-color:#35445f}.album-visual{height:130px;border-radius:12px;background:radial-gradient(circle at 70% 30%,rgba(34,211,238,.16),transparent 40%),linear-gradient(135deg,rgba(124,92,255,.17),rgba(34,211,238,.07));display:grid;place-items:center;font-size:42px;margin-bottom:17px;color:#a8b4c7}.album-card h2,.poll-card h2{margin:10px 0 8px}.album-card p,.poll-card p{color:var(--muted);line-height:1.5}.album-card small,.poll-card small{color:var(--muted)}.gallery-upload{display:grid;grid-template-columns:1.1fr 1fr 1.4fr auto;gap:9px;margin-bottom:18px}.gallery-upload input{min-width:0;border:1px solid var(--line);border-radius:9px;background:#0b111d;color:#fff;padding:10px}.image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.image-card{border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden}.image-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#090e18}.image-card>div{padding:14px}.image-card b,.image-card small{display:block}.image-card small{color:var(--muted);margin-top:4px}.image-card p{color:var(--muted);font-size:12px}.link-danger{border:0;background:none;color:#fda4af;padding:8px 0 0;cursor:pointer}.download-list{display:grid;gap:12px}.download-card{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:18px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.file-icon{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,rgba(124,92,255,.2),rgba(34,211,238,.13));display:grid;place-items:center;font-size:24px}.download-card h2{margin:8px 0 5px}.download-card p,.download-card small{color:var(--muted)}.download-actions{display:flex;gap:8px}.poll-detail{max-width:900px;margin:auto}.poll-options{display:grid;gap:10px}.vote-option{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:11px;background:#0b111d;cursor:pointer}.vote-option:hover{border-color:#3b4b68}.vote-option input{accent-color:var(--accent)}.poll-results{display:grid;gap:18px}.result-row>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px}.result-row span{color:var(--muted);font-size:11px}.result-track{height:10px;border-radius:999px;background:#09101c;overflow:hidden}.result-track i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:999px}.muted-text{color:var(--muted);margin-right:auto}.status-active{color:#a7f3d0}.status-closed{color:#cbd5e1}.status-draft{color:#fde68a}
@media(max-width:1000px){.gallery-albums,.poll-grid,.image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-upload{grid-template-columns:1fr 1fr}.gallery-upload button{grid-column:1/-1}.download-card{grid-template-columns:56px 1fr}.download-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:720px){.calendar-grid{overflow:auto}.calendar-weekdays,.calendar-days{min-width:760px}.gallery-albums,.poll-grid,.image-grid{grid-template-columns:1fr}.gallery-upload{grid-template-columns:1fr}.download-card{grid-template-columns:1fr}.file-icon{width:48px;height:48px}.download-actions{justify-content:flex-start;flex-wrap:wrap}}


/* =========================================================
   v0.5.1 CLASSIC CLANPAGE THEME
   Inspired by mid-2000s esports/community portals, rebuilt
   with semantic CSS, responsive navigation and modern a11y.
   ========================================================= */
:root{
 --classic-bg:#0a0c0f;--classic-frame:#171b20;--classic-panel:#20262d;
 --classic-panel2:#15191e;--classic-line:#343c45;--classic-line2:#090b0d;
 --classic-text:#d8dde2;--classic-muted:#8e989f;--classic-accent:#8cc63f;
 --classic-accent2:#c9ef72;--classic-steel:#69747d;
}
body.classic-site{background:#080a0d radial-gradient(circle at 50% -20%,#303740 0,#0b0e12 48%,#060709 100%);color:var(--classic-text);font-family:Tahoma,Verdana,"Segoe UI",sans-serif;font-size:12px}
.classic-site .ambient,.classic-site .app-shell,.classic-site .sidebar,.classic-site .topbar{display:none!important}
.site-frame{width:min(1180px,calc(100% - 28px));margin:18px auto 30px;background:#11151a;border:1px solid #3b4249;box-shadow:0 0 0 1px #000,0 20px 70px #000;border-radius:3px;overflow:visible}
.utility-bar{height:30px;background:linear-gradient(#272d33,#15191d);border-bottom:1px solid #050607;display:flex;align-items:center;justify-content:space-between;padding:0 12px;color:#8f999f;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.utility-left{display:flex;gap:12px;align-items:center}.utility-left span{color:var(--classic-accent2);font-weight:bold}.utility-left i{font-style:normal;color:#6d767c}
.utility-right{display:flex;align-items:center;gap:8px}.utility-right a,.utility-right button{color:#aeb6bc;background:none;border:0;padding:4px 8px;font:inherit;text-transform:uppercase;cursor:pointer}.utility-right form{margin:0}.utility-right .admin-entry{background:linear-gradient(#9bcf4b,#5f8d20);border:1px solid #b6e769;color:#10150a;font-weight:bold;box-shadow:inset 0 1px rgba(255,255,255,.3)}
.clan-header{height:150px;position:relative;overflow:hidden;background:
 linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.24)),
 repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 1px,transparent 1px 9px),
 radial-gradient(circle at 80% 50%,#56636e 0,#252c33 24%,#11161b 54%,#090b0e 80%);
 border-top:1px solid #46505a;border-bottom:1px solid #050607;display:flex;align-items:center;justify-content:space-between;padding:0 28px}
.clan-header:after{content:"";position:absolute;inset:auto 0 0;height:5px;background:linear-gradient(90deg,#4e741d,var(--classic-accent),#253216)}
.classic-brand{display:flex;align-items:center;gap:15px;position:relative;z-index:2}.classic-brand img{width:66px;height:66px;object-fit:contain;object-position:center;filter:drop-shadow(0 4px 5px #000)}.classic-brand span{display:grid}.classic-brand strong{font:900 34px/30px Arial,sans-serif;letter-spacing:-2px;color:#f0f2f3;text-shadow:0 2px #000}.classic-brand em{font:900 22px/22px Arial,sans-serif;color:var(--classic-accent);font-style:normal;letter-spacing:5px}.classic-brand small{margin-top:7px;color:#7f8a91;font-size:9px;letter-spacing:2px}
.header-art{position:relative;z-index:2;text-align:right;font:bold 22px Arial,sans-serif;letter-spacing:-1px;color:#7c868d;text-shadow:0 2px #000}.header-art b,.header-art span{display:block}.header-art span{color:var(--classic-accent);font-size:31px}
.horizontal-nav{height:38px;background:linear-gradient(#30363c 0,#1f2429 48%,#15191d 51%,#20252a 100%);border-top:1px solid #50575d;border-bottom:1px solid #020304;display:flex;padding-left:11px;position:relative;z-index:30}
.horizontal-nav .nav-root,.nav-group>button{height:37px;display:flex;align-items:center;padding:0 16px;border:0;border-right:1px solid #0a0c0e;border-left:1px solid #394047;background:transparent;color:#c4c9cd;font:bold 10px Tahoma,sans-serif;letter-spacing:.05em;cursor:pointer;text-shadow:0 1px #000}
.horizontal-nav .nav-root:hover,.nav-group:hover>button{background:linear-gradient(#719e32,#456b17);color:#fff}
.nav-group{position:relative}.submenu{display:none;position:absolute;left:0;top:38px;width:190px;background:#1a1f24;border:1px solid #454c52;border-top:2px solid var(--classic-accent);box-shadow:0 12px 25px #000;z-index:80}.nav-group:hover .submenu,.nav-group:focus-within .submenu{display:block}.submenu a{display:block;padding:10px 12px;border-bottom:1px solid #2b3136;color:#aeb5ba;font-size:11px}.submenu a:hover{background:#293029;color:#dfffa8;padding-left:16px}
.classic-content{min-height:600px;padding:14px;background:#11151a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M0 8L8 0' stroke='%23ffffff' stroke-opacity='.015'/%3E%3C/svg%3E")}
.section-bar{height:29px;background:linear-gradient(#30373e,#1d2227);border:1px solid #424a51;border-bottom-color:#07090b;display:flex;align-items:center;justify-content:space-between;padding:0 10px;margin-bottom:10px;box-shadow:inset 0 1px rgba(255,255,255,.05)}.section-bar span{color:#dfe3e6;font:bold 10px Tahoma,sans-serif}.section-bar span:before{content:"// ";color:var(--classic-accent)}.section-bar small{color:#687178;font-size:9px}
.classic-site .page-head{background:linear-gradient(#242a30,#171b1f);border:1px solid #343b42;border-radius:0;padding:12px 14px;margin:0 0 10px;align-items:center}.classic-site .page-head h1{font:bold 20px Arial,sans-serif;letter-spacing:-.02em;margin:2px 0;color:#eef1f2}.classic-site .page-head p{font-size:11px;color:#879198}.classic-site .eyebrow{color:var(--classic-accent);font-size:9px}
.classic-site .panel,.classic-site .stat-card,.classic-site .module-strip,.classic-site .feature-card{background:#181d22;border:1px solid #343b42;border-radius:0;box-shadow:inset 0 1px rgba(255,255,255,.025)}
.classic-site .panel{padding:13px}.classic-site .panel-head{margin:-13px -13px 12px;padding:7px 9px;background:linear-gradient(#2b3238,#1c2126);border-bottom:1px solid #07090a}.classic-site .panel-head h2{font:bold 11px Tahoma;margin:2px 0;color:#e2e6e8;text-transform:uppercase}.classic-site .panel-head .eyebrow{display:none}
.classic-site .primary,.classic-site .button{background:linear-gradient(#8fbe47,#577d20);border:1px solid #9bc851;border-radius:2px;color:#11170c;box-shadow:inset 0 1px rgba(255,255,255,.28);min-height:30px;padding:0 11px;font:bold 10px Tahoma}.classic-site .secondary,.classic-site .ghost{background:linear-gradient(#343b42,#20252a);border:1px solid #464e55;border-radius:2px;color:#c5ccd1;min-height:28px;padding:0 10px}
.classic-site input,.classic-site textarea,.classic-site select{background:#0f1316;border:1px solid #3c444b;color:#dce1e4;border-radius:1px;padding:8px;outline:none}.classic-site input:focus,.classic-site textarea:focus,.classic-site select:focus{border-color:#739d37}
.classic-site .hero-card{min-height:220px;border-radius:0;border:1px solid #343b42;background:linear-gradient(115deg,#1b2127,#0c1014);padding:28px}.classic-site .hero-card h1{font:bold 34px Arial,sans-serif;letter-spacing:-1px}.classic-site .hero-card h1 span{color:var(--classic-accent)}.classic-site .hero-card p{font-size:12px}.classic-site .stat-grid{gap:8px;margin:9px 0}.classic-site .stat-card{padding:12px}.classic-site .stat-card strong{font-size:25px;color:#dfe5e8}.classic-site .stat-card span{font-size:9px;text-transform:uppercase}.classic-site .two-col{gap:9px}.classic-site .module-grid{grid-template-columns:repeat(5,1fr);gap:7px}.classic-site .module-tile{background:#151a1f;border:1px solid #333a40;border-radius:0;min-height:120px;padding:12px}.classic-site .module-tile:hover{transform:none;background:#202720;border-color:#638b2d}.classic-site .tile-icon{border-radius:0;background:#252c32}.classic-site .module-tile>span{color:var(--classic-accent)}
.classic-footer{height:52px;background:linear-gradient(#191e22,#0e1114);border-top:1px solid #3a4147;padding:0 14px;display:flex;align-items:center;justify-content:space-between;color:#667078;font-size:9px}.classic-footer span{color:#91bd4d;font-weight:bold;letter-spacing:1px}

/* Admincenter is intentionally a separate visual application. */
body.admin-mode{background:#0e1115;color:#dce2e6;font-family:"Segoe UI",Arial,sans-serif}
.admin-shell-v2{min-height:100vh;background:#0e1115}.admin-top{height:62px;background:#171c21;border-bottom:1px solid #343b42;display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:60}.admin-brand{display:flex;align-items:center;gap:10px}.admin-brand img{width:34px;height:34px}.admin-brand span{display:grid}.admin-brand b{font-size:13px;letter-spacing:.04em}.admin-brand small{font-size:9px;color:#8cc63f;letter-spacing:.16em}.admin-top-actions{display:flex;gap:8px}.admin-top-actions a{padding:7px 10px;background:#252b31;border:1px solid #3b434a;color:#b9c1c7;font-size:11px}
.admin-body{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 62px)}.admin-sidebar{background:#15191e;border-right:1px solid #333a40;padding:13px 0}.admin-sidebar>span{display:block;color:#677078;font-size:9px;font-weight:bold;letter-spacing:.13em;padding:18px 15px 6px}.admin-sidebar>a{display:block;padding:9px 15px;border-left:3px solid transparent;color:#aeb7bd;font-size:11px}.admin-sidebar>a:hover{background:#20262b;border-left-color:#8cc63f;color:#fff}.admin-sidebar>a b{color:#dce2e5}
.admin-workspace{padding:22px;min-width:0;max-width:1500px}.admin-breadcrumb{height:34px;border-bottom:1px solid #30363c;margin-bottom:16px;color:#7d878e;font-size:10px;display:flex;gap:8px;align-items:start}.admin-breadcrumb b{color:#8cc63f}.admin-mode .page-head h1{font-size:28px}.admin-mode .panel{border-radius:2px;background:#171c21;border-color:#353d44}.admin-mode .primary{background:#6e9e2d;border-radius:2px}.admin-mode .admin-grid{grid-template-columns:1.25fr .75fr}

@media(max-width:900px){
 .site-frame{width:100%;margin:0;border-left:0;border-right:0}.utility-left i,.header-art{display:none}.clan-header{height:105px;padding:0 16px}.classic-brand strong{font-size:26px}.classic-brand img{width:52px;height:52px}
 .horizontal-nav{height:auto;flex-wrap:wrap;padding:0}.horizontal-nav .nav-root,.nav-group>button{height:36px;padding:0 10px}.submenu{position:fixed;left:10px;right:10px;top:auto;width:auto}
 .classic-site .module-grid{grid-template-columns:repeat(2,1fr)}.classic-site .stat-grid{grid-template-columns:repeat(2,1fr)}.classic-site .two-col{grid-template-columns:1fr}
 .admin-body{grid-template-columns:1fr}.admin-sidebar{position:static;border-right:0;border-bottom:1px solid #333a40;display:flex;flex-wrap:wrap;padding:6px}.admin-sidebar>span{width:100%;padding:10px 8px 3px}.admin-sidebar>a{padding:7px 9px;border-left:0;border-bottom:2px solid transparent}.admin-workspace{padding:14px}
}

.admin-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}
.admin-link-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.admin-link-list a{display:flex;flex-direction:column;gap:4px;padding:12px;background:#11161a;border:1px solid #323940;color:#cbd2d7}
.admin-link-list a:hover{border-color:#729f35;background:#1b2218}.admin-link-list b{font-size:12px}.admin-link-list span{font-size:10px;color:#78838a}
@media(max-width:900px){.admin-category-grid,.admin-link-list{grid-template-columns:1fr}}

.classic-home-grid{display:grid;grid-template-columns:190px minmax(0,1fr) 220px;gap:9px}
.classic-side{display:flex;flex-direction:column;gap:9px}.classic-center{display:flex;flex-direction:column;gap:9px}
.classic-home-grid .panel{margin:0}.mini-stat{display:grid;grid-template-columns:42px 1fr;align-items:center;border-top:1px solid #2d3439;padding:7px 0}.mini-stat:first-of-type{border-top:0}.mini-stat b{font:bold 16px Arial;color:#9fc95c}.mini-stat span{color:#89939a;font-size:10px}
.classic-linklist{display:flex;flex-direction:column}.classic-linklist a{padding:6px 3px;border-bottom:1px dotted #353c42;color:#aeb6bb;font-size:10px}.classic-linklist a:hover{color:#bde77b;padding-left:6px}
.welcome-box h1{font:bold 21px Arial;margin:3px 0 7px;color:#e5e8ea}.welcome-box p{color:#8f989f;line-height:1.6;margin:0}
.classic-news{padding:9px 0 12px;border-bottom:1px solid #2e353b}.classic-news:last-child{border-bottom:0}.classic-news-title{background:#121619;border-left:3px solid #729d35;padding:6px 8px;display:flex;justify-content:space-between;align-items:center}.classic-news-title a{font:bold 12px Arial;color:#dce1e4}.classic-news-title small{color:#68737a;font-size:9px}.classic-news p{color:#949da3;line-height:1.55;margin:8px 4px}.readmore{display:block;text-align:right;color:#91bd50;font-size:9px}
.classic-matchlist{display:flex;flex-direction:column}.classic-matchlist a{display:grid;grid-template-columns:45px 1fr auto;gap:7px;align-items:center;padding:8px 2px;border-bottom:1px solid #2c3338}.classic-matchlist span{color:#6f7a80;font-size:9px}.classic-matchlist b{font-size:10px;color:#bfc6ca}.classic-matchlist em{font:bold 11px Arial;color:#9dc555;font-style:normal}
@media(max-width:980px){.classic-home-grid{grid-template-columns:1fr}.classic-side{display:grid;grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.classic-side{grid-template-columns:1fr}.classic-news-title{align-items:flex-start;gap:5px;flex-direction:column}}

.classic-login-wrap{width:min(900px,calc(100% - 28px));margin:70px auto;background:#11151a;border:1px solid #3c444b;box-shadow:0 0 0 1px #000,0 25px 80px #000}
.classic-login-header{height:115px;display:flex;align-items:center;gap:16px;padding:0 28px;background:linear-gradient(90deg,#0c0f12,#252d34 70%,#11161a);border-bottom:4px solid #729d35}.classic-login-header img{width:62px;height:62px}.classic-login-header div{display:grid}.classic-login-header strong{font:900 30px Arial;color:#edf0f2;letter-spacing:-1px}.classic-login-header span{font-size:9px;letter-spacing:2px;color:#879199}
.classic-login-nav{height:31px;padding:8px 14px;background:linear-gradient(#30373d,#171b1f);border-bottom:1px solid #050607;color:#9ea7ad;font:bold 9px Tahoma;letter-spacing:.08em}
.classic-login-body{display:grid;grid-template-columns:1fr 290px;gap:18px;padding:22px;background:#12171b}.login-info{padding:15px}.login-info h1{font:bold 27px Arial;margin:6px 0 10px;color:#e6eaec}.login-info p{color:#89939a;line-height:1.7;max-width:480px}.login-specs{display:flex;gap:6px;margin-top:18px}.login-specs span{border:1px solid #384047;background:#1d2328;color:#91bd50;padding:6px 8px;font:bold 9px Tahoma}
.classic-login-panel{background:#181d22;border:1px solid #373e44;padding:12px}.classic-login-panel .panel-head{margin:-12px -12px 14px;padding:8px;background:linear-gradient(#2d343a,#1c2125);border-bottom:1px solid #07090a}.classic-login-panel h2{margin:0;font:bold 11px Tahoma;text-transform:uppercase}.classic-login-panel form{display:grid;gap:10px}.classic-login-panel label{display:grid;gap:5px;color:#8b959c;font-size:9px;text-transform:uppercase}.classic-login-panel input{width:100%;background:#0c1013;border:1px solid #3c444b;color:#e4e7e9;padding:9px}.classic-login-panel .primary{margin-top:3px}.classic-login-panel small{display:block;margin-top:12px;color:#586269;font-size:8px;text-align:center}.classic-login-wrap footer{height:34px;background:#0d1013;border-top:1px solid #333a40;padding:11px 14px;color:#5f696f;font-size:8px;text-align:right}
@media(max-width:700px){.classic-login-wrap{margin:20px auto}.classic-login-body{grid-template-columns:1fr}.classic-login-header{height:90px}.classic-login-header strong{font-size:24px}}

/* v0.6 Theme Manager */
.theme-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:15px;margin-bottom:16px}
.theme-side-stack{display:flex;flex-direction:column;gap:15px}
.theme-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.theme-card{background:#11161a;border:1px solid #343c43;overflow:hidden}
.theme-card.active{border-color:#76a83b;box-shadow:inset 0 0 0 1px rgba(140,198,63,.18)}
.theme-preview{height:170px;background:#090c0e;position:relative;overflow:hidden;border-bottom:1px solid #30373d}
.theme-preview img{width:100%;height:100%;object-fit:cover;display:block}.theme-preview-empty{height:100%;display:grid;place-items:center;color:#59636a;font-size:10px;letter-spacing:.13em}
.theme-live{position:absolute;right:8px;top:8px;padding:5px 8px;background:#78aa39;color:#10160a;font:bold 9px Tahoma;border:1px solid #a7d764}
.theme-card-body{padding:12px}.theme-card-body h3{margin:0 0 3px;font-size:14px}.theme-card-body small{color:#747f86;font-size:9px}.theme-card-body p{min-height:34px;color:#8e989f;font-size:10px;line-height:1.5}
.theme-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.theme-actions form{margin:0}.theme-actions .button,.theme-actions button{min-height:29px}
.theme-more{margin-top:10px;border-top:1px solid #2e353a;padding-top:8px}.theme-more summary{cursor:pointer;color:#7f8b92;font-size:9px}.theme-more form{margin-top:8px}
.inline-form{display:flex;gap:6px}.inline-form input{min-width:0;flex:1}.danger-button{background:#4a2025;border:1px solid #74343b;color:#f0c5c8;padding:7px 10px;cursor:pointer}
.theme-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.theme-settings-grid label,.theme-side-stack label{display:grid;gap:5px;color:#8f999f;font-size:10px}.theme-settings-grid .wide{grid-column:1/-1}
.theme-editor-actions{display:flex;gap:8px}.code-editor{width:100%;min-height:340px;background:#0a0d10!important;color:#cbd6bd!important;font:12px/1.55 Consolas,"Courier New",monospace!important;tab-size:2}
.theme-format-doc pre{background:#0a0d10;border:1px solid #2f373d;padding:14px;color:#aeb9bf;overflow:auto;font:11px/1.5 Consolas,monospace}
.theme-format-doc p{color:#7f8a91;font-size:10px}.theme-preview-banner{height:32px;background:#3e5c1d;color:#e4ffc0;border-bottom:1px solid #89bd45;display:flex;align-items:center;justify-content:center;gap:10px;font-size:10px;letter-spacing:.03em}
.theme-preview-banner a{background:#19220f;border:1px solid #709a36;padding:4px 8px;color:#dfffae}
@media(max-width:1100px){.theme-admin-grid{grid-template-columns:1fr}.theme-side-stack{display:grid;grid-template-columns:1fr 1fr}.theme-settings-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.theme-card-grid,.theme-side-stack,.theme-settings-grid{grid-template-columns:1fr}.theme-settings-grid .wide{grid-column:auto}}

/* v0.6.1 Site settings */
.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:15px;align-items:start}
.settings-main,.settings-side{display:flex;flex-direction:column;gap:15px}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.settings-grid label,.settings-side label{display:grid;gap:6px;color:#9aa4ab;font-size:10px;font-weight:600}
.settings-grid label.wide{grid-column:1/-1}
.settings-grid input,.settings-grid textarea,.settings-side input{width:100%;background:#0d1115;border:1px solid #394149;color:#e1e5e8;padding:9px;border-radius:2px}
.settings-grid textarea{resize:vertical}
.settings-grid small,.settings-side small{color:#69747b;font-size:9px;font-weight:400;line-height:1.45}
.site-logo-preview{height:170px;background:#0b0f12;border:1px solid #323940;display:grid;place-items:center;margin-bottom:12px;padding:16px}
.site-logo-preview img{max-width:100%;max-height:135px;object-fit:contain}
.community-preview{background:linear-gradient(135deg,#11161a,#242c32);border-left:4px solid var(--classic-accent,#8cc63f);padding:18px}
.community-preview span{font-size:9px;color:#7f8a91;letter-spacing:.13em}.community-preview h3{font:bold 22px Arial;margin:7px 0 0;color:#edf0f2}.community-preview b{display:block;color:var(--classic-accent,#8cc63f);font-size:12px;letter-spacing:.18em;margin-top:3px}.community-preview p{color:#8d979e;font-size:10px;margin:10px 0 0}
.settings-save{width:100%;min-height:40px}.muted-note{color:#6e7980;font-size:9px;line-height:1.5}.logo-danger-zone{margin-top:15px;display:flex;justify-content:space-between;align-items:center}.logo-danger-zone b{font-size:12px}.logo-danger-zone p{color:#778188;font-size:10px;margin:4px 0 0}
.header-art small{display:block;margin-top:5px;color:#7c878d;font-size:9px;letter-spacing:.25em}
.home-slogan{color:#91bd50!important;font-size:10px!important;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:950px){.settings-layout{grid-template-columns:1fr}.settings-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-save{grid-column:1/-1}}
@media(max-width:650px){.settings-grid,.settings-side{grid-template-columns:1fr}.settings-grid label.wide{grid-column:auto}.logo-danger-zone{align-items:flex-start;gap:12px;flex-direction:column}}

/* v0.7 System settings, registration and maintenance */
.settings-grid select{width:100%;background:#0d1115;border:1px solid #394149;color:#e1e5e8;padding:9px;border-radius:2px}
.setting-info{background:#11161a;border:1px solid #313940;padding:10px;color:#77838a;font-size:9px;line-height:1.5}
.register-link{display:block;margin:11px 0 3px;text-align:center;color:#9bc858;font-size:10px}
.registration-closed{background:#20181a;border:1px solid #583238;padding:12px;margin-bottom:12px}.registration-closed b{color:#e7bec3}.registration-closed p{color:#9d8588;font-size:10px;line-height:1.5}
.maintenance-page{width:min(720px,calc(100% - 28px));margin:90px auto;background:#151a1f;border:1px solid #3a4249;box-shadow:0 25px 80px #000;padding:40px;text-align:center}
.maintenance-code{font:900 80px/1 Arial;color:#30383f;text-shadow:0 1px #59646d;margin-bottom:-12px}.maintenance-page h1{font:bold 28px Arial;color:#edf0f2;margin:12px 0}.maintenance-page p{color:#929ca3;font-size:12px;line-height:1.7;max-width:540px;margin:0 auto}.maintenance-actions{display:flex;justify-content:center;gap:8px;margin:24px 0}.maintenance-actions form{margin:0}.maintenance-page>small{color:#657078;font-size:9px}
.footer-meta{display:flex;align-items:center;gap:14px}.footer-social{display:flex;gap:7px}.footer-social a{color:#84908f;border-left:1px solid #333a40;padding-left:7px}.footer-social a:hover{color:var(--classic-accent)}
@media(max-width:700px){.classic-footer{height:auto;min-height:52px;gap:8px;align-items:flex-start;flex-direction:column;padding:10px 14px}.footer-meta{align-items:flex-start;flex-direction:column;gap:6px}.footer-social{flex-wrap:wrap}.maintenance-page{margin:20px auto;padding:25px}.maintenance-code{font-size:58px}}

/* v0.7.1 Public site + animated integrated login */
.utility-auth,.utility-login{border:0;font:inherit;cursor:pointer}
.utility-auth{color:#aeb6bc;background:transparent;padding:4px 8px;text-transform:uppercase}
.utility-login{padding:5px 11px!important}
.classic-inline-login{border:0;background:none;padding:0;color:var(--classic-accent);font:inherit;text-decoration:underline;cursor:pointer}
.auth-open{overflow:hidden}
.auth-overlay{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:18px;visibility:hidden;pointer-events:none}
.auth-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.76);backdrop-filter:blur(3px);opacity:0;transition:opacity .28s ease}
.auth-modal{position:relative;width:min(510px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#151a1f;border:1px solid #4a535a;box-shadow:0 28px 90px rgba(0,0,0,.75),0 0 0 1px #000;transform:translateY(28px) scale(.96);opacity:0;transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .24s ease}
.auth-overlay.open{visibility:visible;pointer-events:auto}
.auth-overlay.open .auth-backdrop{opacity:1}
.auth-overlay.open .auth-modal{transform:translateY(0) scale(1);opacity:1}
.auth-close{position:absolute;right:10px;top:9px;z-index:3;width:28px;height:28px;border:1px solid #4a5359;background:#181d21;color:#aeb6bb;font:20px/20px Arial;cursor:pointer}
.auth-close:hover{color:#fff;border-color:var(--classic-accent)}
.auth-brand-strip{min-height:78px;display:flex;align-items:center;gap:12px;padding:14px 48px 14px 17px;background:linear-gradient(100deg,#0c1013,#283139);border-bottom:4px solid var(--classic-accent)}
.auth-brand-strip img{width:47px;height:47px;object-fit:contain}
.auth-brand-strip div{display:grid}.auth-brand-strip b{font:bold 17px Arial;color:#eef1f2}.auth-brand-strip small{margin-top:4px;color:#818c93;font-size:9px}
.auth-tabs{display:flex;height:36px;background:linear-gradient(#30373d,#191e22);border-bottom:1px solid #07090a}
.auth-tabs button{flex:1;border:0;border-right:1px solid #0a0c0e;background:transparent;color:#8f999f;font:bold 9px Tahoma;letter-spacing:.08em;cursor:pointer}
.auth-tabs button.active{background:linear-gradient(#6f9f32,#456b18);color:#fff}
.auth-pane{display:none;padding:22px}.auth-pane.active{display:block;animation:authPaneIn .24s ease both}
@keyframes authPaneIn{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
.auth-pane h2{font:bold 23px Arial;color:#e8ecee;margin:5px 0 7px}.auth-pane>p{color:#879198;font-size:10px;line-height:1.6;margin:0 0 17px}
.auth-form{display:grid;gap:11px}.auth-form label{display:grid;gap:5px;color:#89949a;font-size:9px;text-transform:uppercase;font-weight:bold}
.auth-form input{width:100%;background:#0b0f12;border:1px solid #3c444b;color:#e4e8ea;padding:10px;outline:none}.auth-form input:focus{border-color:var(--classic-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--classic-accent) 40%,transparent)}
.auth-form>small{color:#68737a;font-size:9px;line-height:1.5}.auth-form .primary{margin-top:3px;min-height:36px}
.public-login-note{padding:15px;background:#12171a;border:1px dashed #3a4349;text-align:center}.public-login-note p{color:#8b959c;font-size:10px;line-height:1.55;margin:0 0 10px}
.admin-login-required{width:min(520px,calc(100% - 30px));margin:80px auto;padding:25px;background:#171c21;border:1px solid #353d44;color:#dfe4e7}
@media(max-width:560px){.auth-overlay{padding:8px}.auth-modal{max-height:calc(100vh - 16px)}.auth-pane{padding:17px}.auth-brand-strip{min-height:68px}.utility-left i{display:none}}
@media(prefers-reduced-motion:reduce){.auth-backdrop,.auth-modal{transition:none}.auth-pane.active{animation:none}}

/* v0.8 Community interactions */
.notification-link{display:inline-flex!important;align-items:center;gap:5px}.notification-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:#8cc63f;color:#101509;font:bold 9px Arial}
.message-list,.notification-list{display:flex;flex-direction:column}.message-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px;border-bottom:1px solid #2f363c;color:#b8c0c5}.message-row:hover{background:#1e252a}.message-row.unread{border-left:3px solid var(--classic-accent);background:#182018}.message-row div{display:grid;gap:3px}.message-row small,.message-row>span{color:#737e84;font-size:9px}.message-body p{white-space:normal;line-height:1.7;color:#bdc5ca}
.notification-row{border-bottom:1px solid #2d343a}.notification-row>button{width:100%;display:flex;gap:10px;text-align:left;padding:11px;background:none;border:0;color:#b7c0c5;cursor:pointer}.notification-row>button:hover{background:#1d2328}.notification-row.unread{background:#172018}.notification-dot{width:7px;height:7px;border-radius:50%;background:#4d565d;margin-top:6px;flex:0 0 auto}.notification-row.unread .notification-dot{background:var(--classic-accent);box-shadow:0 0 8px color-mix(in srgb,var(--classic-accent) 60%,transparent)}.notification-row div{display:grid;gap:3px}.notification-row p{margin:0;color:#8b969c;font-size:10px}.notification-row small{color:#667178;font-size:9px}
.news-comments{margin-top:12px}.comment-stack{display:flex;flex-direction:column}.comment-row{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:11px 0;border-bottom:1px solid #2f363c}.comment-avatar{width:34px;height:34px;border:1px solid #465057;background:#222a30;display:grid;place-items:center;color:#98c45a;font:bold 10px Arial}.comment-row>div:last-child{display:grid;gap:3px}.comment-row small{color:#6e797f;font-size:9px}.comment-row p{margin:5px 0;color:#aeb6bb;line-height:1.55}.comment-form{display:grid;gap:8px;margin-top:12px}
.forum-subscribe{margin-top:8px}.application-admin-list{display:grid;gap:12px}.application-admin-list details{margin:8px 0;color:#8d989e}.application-admin-list summary{cursor:pointer;color:#9fc65f}
.award-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.award-card{display:grid;grid-template-columns:54px 1fr;gap:12px;background:#171c21;border:1px solid #343c42;padding:14px}.award-icon{width:48px;height:48px;display:grid;place-items:center;background:linear-gradient(#313941,#191e22);border:1px solid #4a545b;color:var(--classic-accent);font-size:24px}.award-card h3{margin:0 0 4px;font:bold 13px Arial;color:#e4e8ea}.award-card b{color:#9bc75b;font-size:10px}.award-card p{color:#879198;font-size:10px;line-height:1.5}.award-card small{color:#626d74;font-size:9px}
.award-admin-row{display:grid;grid-template-columns:55px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #30373d}.award-admin-row>div:last-child{display:grid;gap:6px}.award-admin-row small{color:#758087}.mini-award-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mini-award-grid article{display:grid;grid-template-columns:36px 1fr;gap:8px;padding:9px;background:#12171b;border:1px solid #30373a}.mini-award-grid article>span{font-size:22px;color:var(--classic-accent)}.mini-award-grid b{font-size:10px}.mini-award-grid small{display:block;color:#768087;font-size:9px;margin-top:3px}
@media(max-width:900px){.award-grid,.mini-award-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.award-grid,.mini-award-grid{grid-template-columns:1fr}.message-row{align-items:flex-start;flex-direction:column}}

/* v0.9 Admin depth, moderation and configurable homepage */
.admin-task-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
.admin-task-grid>a{display:grid;gap:3px;padding:14px;background:linear-gradient(#1d2328,#14191d);border:1px solid #343c42;color:#b8c1c6}
.admin-task-grid>a:hover{border-color:var(--classic-accent,#8cc63f);background:#1c2519}
.admin-task-grid strong{font:700 27px Arial;color:#dfe4e7}.admin-task-grid span{font-size:9px;color:#79848b;text-transform:uppercase;letter-spacing:.04em}
.admin-dashboard-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px;margin-bottom:14px}
.admin-task-list{display:flex;flex-direction:column}.admin-task-list a{display:flex;align-items:center;justify-content:space-between;padding:10px;border-bottom:1px solid #2f363b;color:#b9c1c6}.admin-task-list a:hover{background:#1d2428}.admin-task-list span{font-size:9px;color:#8eb95a}
.recent-audit{display:flex;flex-direction:column}.recent-audit>div{display:flex;justify-content:space-between;gap:10px;padding:8px 2px;border-bottom:1px solid #2d343a}.recent-audit b{font-size:10px}.recent-audit span{color:#747f86;font-size:9px;text-align:right}
.moderation-user{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #30373d}.moderation-user>div{display:grid;gap:3px}.moderation-user small{color:#737e85;font-size:9px}
.category-admin-row{padding:12px 0;border-bottom:1px solid #30373d}.category-admin-row .form-grid{grid-template-columns:1fr 1.6fr 90px auto}.category-meta{display:flex;justify-content:space-between;align-items:center;margin-top:7px;color:#717c83;font-size:9px}
.homepage-widget-admin{display:flex;flex-direction:column;gap:8px}.homepage-widget-row{display:grid;grid-template-columns:minmax(180px,1.5fr) 180px 120px 100px;gap:12px;align-items:center;padding:11px;background:#11161a;border:1px solid #30383e}.homepage-widget-row>div{display:grid;gap:3px}.homepage-widget-row small{color:#68747b;font-size:9px}.homepage-widget-row label{display:grid;gap:4px;color:#7e8990;font-size:9px}.widget-enabled{display:flex!important;align-items:center;gap:6px!important;color:#aeb6bb!important}.widget-enabled input{width:auto!important}
.classic-memberlist,.classic-serverlist{display:flex;flex-direction:column}.classic-memberlist a,.classic-serverlist a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 2px;border-bottom:1px dotted #343c42;color:#aeb6bb}.classic-memberlist a:hover,.classic-serverlist a:hover{color:#c9ef72}.classic-memberlist b,.classic-serverlist b{font-size:10px}.classic-memberlist small,.classic-serverlist small{color:#707b82;font-size:9px}.classic-serverlist a{justify-content:flex-start}.classic-serverlist a>div{display:grid;gap:2px}.server-dot{width:7px;height:7px;border-radius:50%;background:#6b3a3f;flex:0 0 auto}.server-dot.online{background:#83b845;box-shadow:0 0 7px rgba(131,184,69,.45)}
.configurable-home .home-column{min-width:0}
@media(max-width:1100px){.admin-task-grid{grid-template-columns:repeat(3,1fr)}.category-admin-row .form-grid{grid-template-columns:1fr 1fr}.homepage-widget-row{grid-template-columns:1fr 150px 100px 90px}}
@media(max-width:760px){.admin-task-grid,.admin-dashboard-grid{grid-template-columns:1fr}.homepage-widget-row,.category-admin-row .form-grid{grid-template-columns:1fr}.recent-audit>div{flex-direction:column}.moderation-user{align-items:flex-start;flex-direction:column}}

/* v1.0 CMS foundation */
.cms-page{max-width:940px;margin:0 auto}.cms-page-body{font-size:12px;line-height:1.8;color:#b5bec4;white-space:normal}
.nav-admin-row{display:grid;grid-template-columns:1fr auto;gap:9px;padding:10px 0;border-bottom:1px solid #30373d;align-items:start}
.nav-admin-form{display:grid;grid-template-columns:1.1fr 1fr 120px 1.4fr 85px 85px 90px auto;gap:7px;align-items:center}
.nav-admin-form input,.nav-admin-form select{min-width:0}
.compact-check{display:flex!important;align-items:center;gap:4px!important;color:#8d989e;font-size:9px}.compact-check input{width:auto!important}
.navigation-help{padding:9px;background:#0e1316;border:1px solid #30383d;color:#768188;font-size:9px;line-height:1.55}
.contact-admin-list{display:grid;gap:11px}.contact-request.unread{border-left:4px solid var(--classic-accent)}.contact-request>p{color:#aeb7bc;line-height:1.65}
.admin-task-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1250px){.nav-admin-form{grid-template-columns:repeat(4,1fr)}.admin-task-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.nav-admin-row,.nav-admin-form{grid-template-columns:1fr}.admin-task-grid{grid-template-columns:1fr}}

/* v1.1 BBCode editor + full-width content fields */
.bbcode-editor{width:100%;display:block;background:#0d1115;border:1px solid #394149}
.bbcode-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:6px;background:linear-gradient(#2b3238,#1b2025);border-bottom:1px solid #080a0c}
.bbcode-tool{min-width:30px;height:28px;padding:0 8px;border:1px solid #485159;background:linear-gradient(#343c43,#21272c);color:#cbd2d6;font:700 10px Tahoma,Arial,sans-serif;cursor:pointer;text-shadow:0 1px #000}
.bbcode-tool:hover,.bbcode-tool:focus{border-color:var(--classic-accent);color:#fff;background:#293126;outline:none}
.bbcode-toolbar .bbcode-tool:first-child{font-weight:900}
.bbcode-editor textarea{display:block;width:100%!important;min-height:150px;margin:0!important;border:0!important;border-radius:0!important;background:#0c1013!important;color:#dce2e5!important;padding:12px!important;resize:vertical;line-height:1.55}
.bbcode-editor textarea:focus{outline:1px solid var(--classic-accent);outline-offset:-1px;box-shadow:none!important}
.bbcode-help{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px;background:#12171b;border-top:1px solid #2d343a;color:#68737a}
.bbcode-help span{color:var(--classic-accent);font:bold 9px Tahoma;text-transform:uppercase;letter-spacing:.08em}
.bbcode-help small{font-size:9px;text-align:right}

/* Large text content must never be squeezed beside ordinary controls. */
.form-grid>label:has(textarea:not([data-bbcode="off"])),
.settings-grid>label:has(textarea:not([data-bbcode="off"])),
.form-grid>label:has(.bbcode-editor),
.settings-grid>label:has(.bbcode-editor){grid-column:1/-1!important}
.form-grid .bbcode-editor,.settings-grid .bbcode-editor,.stack .bbcode-editor{width:100%;min-width:0}
.form-panel textarea:not([data-bbcode="off"]){min-height:170px}
.two-col:has(.bbcode-editor){grid-template-columns:1fr!important}
.two-col:has(.bbcode-editor)>.panel{grid-column:1/-1!important}
.split-grid:has(.bbcode-editor){grid-template-columns:1fr!important}
.split-grid:has(.bbcode-editor)>.panel{grid-column:1/-1!important}
.reply-box:has(.bbcode-editor),.comment-form:has(.bbcode-editor){width:100%}
.comment-form .bbcode-editor textarea{min-height:120px}
.reply-box .bbcode-editor textarea{min-height:160px}

/* Rendered BBCode */
.prose,.prose-text,.cms-page-body,.message-body,.comment-row p,.forum-post>div>p,.list-card p{overflow-wrap:anywhere}
.bb-quote{margin:10px 0;padding:10px 12px;border-left:3px solid var(--classic-accent);background:#11161a;color:#aeb8bd}
.bb-code{margin:10px 0;padding:11px;overflow:auto;background:#080b0d;border:1px solid #343c42;color:#c9d4c0;font:11px/1.55 Consolas,"Courier New",monospace;white-space:pre-wrap}
.bb-link{color:var(--classic-accent);text-decoration:underline;text-underline-offset:2px}
.bb-list{margin:8px 0 8px 22px;padding:0}.bb-list li{margin:4px 0}
.bb-align{display:block;width:100%}.bb-center{text-align:center}.bb-left{text-align:left}.bb-right{text-align:right}
.bb-hr{border:0;border-top:1px solid #3b4349;margin:14px 0}

@media(max-width:650px){
 .bbcode-toolbar{gap:3px}.bbcode-tool{height:30px;padding:0 7px}
 .bbcode-help{align-items:flex-start;flex-direction:column;gap:3px}.bbcode-help small{text-align:left}
}

/* Class-based fallback for browsers/layouts where :has() is unavailable. */
.form-grid>.bbcode-field,.settings-grid>.bbcode-field{grid-column:1/-1!important}
.two-col.has-rich-editor,.split-grid.has-rich-editor{grid-template-columns:1fr!important}
.two-col.has-rich-editor>.panel,.split-grid.has-rich-editor>.panel{grid-column:1/-1!important}

/* v1.2 Forum hierarchy: section -> board -> thread */
.forum-directory{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}
.forum-section{background:#171c21;border:1px solid #343c42;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.forum-section-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 15px;background:linear-gradient(#2a3137,#1d2227);border-bottom:1px solid #080a0c}
.forum-section-head h2{margin:0;color:#e4e8ea;font:bold 14px Arial}.forum-section-head p{margin:4px 0 0;color:#78838a;font-size:9px}.forum-section-head>span{color:#90bd51;font:bold 9px Tahoma;text-transform:uppercase}
.forum-board-list{display:flex;flex-direction:column}
.forum-board-row{display:grid;grid-template-columns:34px minmax(0,1fr) 170px 220px 20px;gap:12px;align-items:center;min-height:78px;padding:12px 14px;border-bottom:1px solid #30373d;color:#aeb7bc;background:#171c21}
.forum-board-row:last-child{border-bottom:0}.forum-board-row:hover{background:#1c2428;text-decoration:none}
.forum-board-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#253029;color:var(--classic-accent);font-size:10px;border:1px solid #43503b}
.forum-board-main h3{margin:0;color:#dce2e5;font:bold 12px Arial}.forum-board-main p{margin:5px 0 0;color:#7d888f;font-size:9px;line-height:1.45}
.forum-board-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.forum-board-stats span{display:grid;gap:2px;text-align:center;color:#68747b;font-size:8px;text-transform:uppercase}.forum-board-stats b{color:#bec6ca;font:bold 14px Arial}
.forum-board-last{display:grid;gap:3px;min-width:0}.forum-board-last b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#aeb7bc;font-size:9px}.forum-board-last small{color:#68747b;font-size:8px;line-height:1.45}.forum-board-arrow{font-size:22px;color:#58646b}
.forum-latest-panel{margin-top:16px}.forum-latest-list{display:flex;flex-direction:column}.forum-latest-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 3px;border-bottom:1px solid #30373d;color:#aeb7bc}.forum-latest-row:last-child{border-bottom:0}.forum-latest-row:hover{background:#1b2226;text-decoration:none}.forum-latest-row>div{display:grid;gap:3px}.forum-latest-row b{font-size:10px}.forum-latest-row small,.forum-latest-row>span{color:#6d7880;font-size:8px;text-align:right}

.forum-breadcrumb{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 10px;padding:8px 11px;background:#12171b;border:1px solid #30373d;color:#6f7a81;font-size:9px}.forum-breadcrumb a{color:#96bf5b}.forum-breadcrumb b{color:#bfc6ca}
.forum-thread-panel{padding:0!important;overflow:hidden}.forum-thread-header{display:grid;grid-template-columns:minmax(0,1fr) 110px 180px;gap:10px;padding:9px 14px;background:#242b31;border-bottom:1px solid #080a0c;color:#77838a;font:bold 8px Tahoma;text-transform:uppercase;letter-spacing:.06em}
.forum-thread-list{display:flex;flex-direction:column}.forum-thread-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 180px;gap:10px;align-items:center;min-height:70px;padding:10px 14px;border-bottom:1px solid #30373d;color:#adb6bb}.forum-thread-row:last-child{border-bottom:0}.forum-thread-row:hover{background:#1c2328;text-decoration:none}.forum-thread-row.pinned{border-left:3px solid var(--classic-accent)}
.forum-thread-title{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center}.thread-status{width:26px;height:26px;display:grid;place-items:center;background:#222a2f;border:1px solid #3b454b;color:#8fbd52;border-radius:50%;font-size:9px}.forum-thread-title>div{display:grid;gap:3px}.forum-thread-title b{color:#d8dfe2;font-size:11px}.forum-thread-title small,.forum-thread-last small{color:#69757c;font-size:8px}.forum-thread-replies{display:grid;gap:2px;text-align:center}.forum-thread-replies b{font:700 15px Arial;color:#bfc7cb}.forum-thread-replies small{color:#667178;font-size:8px}.forum-thread-last{display:grid;gap:3px}.forum-thread-last b{color:#aab4b9;font-size:9px}
.forum-topic-form select optgroup{font-weight:bold}
.forum-admin-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:14px}.forum-admin-stack{display:flex;flex-direction:column;gap:10px}.forum-admin-section,.forum-admin-board{padding:12px;background:#11161a;border:1px solid #30383d}.forum-structure-form{display:grid;grid-template-columns:1fr 110px auto;gap:9px;align-items:end}.forum-board-form{grid-template-columns:180px 1fr 100px auto}.forum-structure-form .wide{grid-column:1/-1}.forum-admin-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding-top:8px;border-top:1px solid #2d3439;color:#737f86;font-size:9px}.forum-admin-new{margin-top:14px;padding-top:14px;border-top:1px solid #343c42}.forum-admin-new h3{margin:0 0 10px;color:#cdd4d8;font-size:11px}

@media(max-width:1000px){
 .forum-board-row{grid-template-columns:30px minmax(0,1fr) 130px 20px}.forum-board-last{display:none}
 .forum-admin-layout{grid-template-columns:1fr}
}
@media(max-width:700px){
 .forum-board-row{grid-template-columns:28px minmax(0,1fr) 18px}.forum-board-stats{display:none}
 .forum-thread-header{display:none}.forum-thread-row{grid-template-columns:1fr}.forum-thread-replies,.forum-thread-last{display:none}
 .forum-structure-form,.forum-board-form{grid-template-columns:1fr}.forum-structure-form .wide{grid-column:auto}
}

/* v1.2.2 Theme deletion controls */
.theme-state-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.theme-state{display:inline-flex;align-items:center;min-height:20px;padding:3px 7px;border:1px solid #3b444a;font:bold 8px Tahoma;letter-spacing:.05em}
.theme-state.protected{background:#29251a;border-color:#665930;color:#d8c27a}
.theme-state.active-state{background:#1d2c17;border-color:#4d7136;color:#b8da8e}
.theme-state.deletable{background:#171e23;border-color:#3e4a52;color:#91a3ad}
.theme-actions .theme-delete-button{min-height:29px}
.theme-delete-hint{margin:8px 0 0!important;min-height:0!important;color:#78848b!important;font-size:9px!important}

.theme-state.contract{background:#18252d;border-color:#37647e;color:#8fc9eb}

/* v1.4 Admin Drag & Drop */
.drag-info{display:flex;align-items:center;gap:11px;margin:0 0 14px;padding:10px 12px;background:#12171b;border:1px solid #343c42;color:#9ba5ab}
.drag-info>div{display:grid;gap:2px;flex:1}.drag-info b{font-size:10px;color:#d3dade}.drag-info small{font-size:9px;color:#707b82}
.drag-grip-demo,.drag-handle{display:grid;place-items:center;color:#91bd50;user-select:none}
.drag-grip-demo{width:28px;height:28px;border:1px solid #46513d;background:#1b2419;font-size:18px}
.drag-handle{width:34px;min-width:34px;align-self:stretch;min-height:44px;border-right:1px solid #30383d;background:#181e22;font-size:20px;cursor:grab}
.drag-handle.small{width:28px;min-width:28px;min-height:36px;font-size:17px}
.drag-handle:active{cursor:grabbing}
.sort-save-state{min-width:94px;text-align:center;padding:5px 8px;border:1px solid #3a4349;color:#7c888e;font:bold 8px Tahoma;text-transform:uppercase}
.sort-save-state.saving{color:#d6b75b;border-color:#705f31}.sort-save-state.saved{color:#a9d779;border-color:#52743c}.sort-save-state.error{color:#e09aa0;border-color:#754047}
.admin-sort-list{min-height:42px;transition:background .14s,border-color .14s}.admin-sort-list.is-drag-over{background:rgba(140,198,63,.055);outline:1px dashed #668d3d;outline-offset:-3px}
.admin-sort-item{position:relative;transition:opacity .12s,transform .12s,box-shadow .12s}.admin-sort-item.is-dragging{opacity:.42;box-shadow:0 8px 28px rgba(0,0,0,.35);transform:scale(.995)}
.admin-is-dragging *{cursor:grabbing!important}.admin-is-dragging input,.admin-is-dragging textarea,.admin-is-dragging select,.admin-is-dragging button{pointer-events:none}
.sort-empty-hint{display:grid;place-items:center;min-height:54px;padding:12px;border:1px dashed #3c474e;color:#657178;font-size:9px;text-transform:uppercase;letter-spacing:.04em}
.sort-item-content{min-width:0;flex:1}
.forum-admin-section,.forum-admin-board,.category-admin-row{display:flex!important;padding:0!important;overflow:hidden}.forum-admin-section>.sort-item-content,.forum-admin-board>.sort-item-content,.category-admin-row>.sort-item-content{padding:12px;min-width:0}
.forum-board-dnd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.forum-board-drop-column{background:#0f1417;border:1px solid #30383d}.forum-board-drop-column>header{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;background:#1c2328;border-bottom:1px solid #30383d}.forum-board-drop-column>header>div{display:grid;gap:3px}.forum-board-drop-column>header b{color:#cbd3d7;font-size:10px}.forum-board-drop-column>header small{color:#6e7a81;font-size:8px}.forum-board-drop-column>header>span{color:#90bd51;font:bold 10px Arial}.board-sort-list{min-height:72px;padding:7px}.board-sort-list .forum-admin-board{margin-bottom:7px}.board-sort-list .forum-admin-board:last-of-type{margin-bottom:0}
.forum-structure-form.no-sort-field{grid-template-columns:minmax(180px,1fr) auto}.forum-board-form.no-sort-field{grid-template-columns:minmax(180px,1fr) auto}.forum-structure-form.no-sort-field .wide,.forum-board-form.no-sort-field .wide{grid-column:1/-1}

.homepage-dnd-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.homepage-drop-column{min-width:0}.homepage-sort-list{display:flex;flex-direction:column;gap:8px;min-height:160px}.homepage-widget-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:stretch;background:#11161a;border:1px solid #30383d;overflow:hidden}.homepage-widget-card>.sort-item-content{display:grid;align-content:center;gap:3px;padding:10px}.homepage-widget-card b{color:#cbd3d7;font-size:10px}.homepage-widget-card small{color:#69757c;font-size:8px}.homepage-widget-card.is-disabled{opacity:.55}.toggle-inline{align-self:center;padding:0 10px;white-space:nowrap}

.navigation-root-sort{display:flex;flex-direction:column;gap:11px}.navigation-root-item{display:block;background:#11161a;border:1px solid #30383d}.navigation-item-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:stretch;background:#181f24}.navigation-item-head>div:nth-child(2){display:grid;align-content:center;gap:3px;padding:9px}.navigation-item-head b,.navigation-child-item b{color:#cbd3d7;font-size:10px}.navigation-item-head small,.navigation-child-item small{color:#6e7980;font-size:8px}.nav-status{align-self:center;margin-right:10px;padding:4px 6px;border:1px solid #3b454b;font:bold 7px Tahoma}.nav-status.on{color:#a9d779;border-color:#526f40}.nav-status.off{color:#8a969c}
.navigation-edit{padding:8px 11px;border-top:1px solid #30383d}.navigation-edit summary,.navigation-child-edit summary{cursor:pointer;color:#849198;font-size:9px}.navigation-edit>.nav-admin-form{margin-top:9px}
.navigation-child-zone{padding:10px;border-top:1px solid #30383d;background:#0d1215}.navigation-child-title{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px;color:#77838a;font-size:8px;text-transform:uppercase}.navigation-child-sort{display:flex;flex-direction:column;gap:6px;min-height:45px}.navigation-child-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:stretch;background:#151b1f;border:1px solid #30383d}.navigation-child-item>.sort-item-content{display:grid;align-content:center;gap:2px;padding:8px}.navigation-child-edit{align-self:center;margin-right:8px}.compact-stack{min-width:280px;margin-top:8px;padding:8px;background:#101518;border:1px solid #30383d}
.category-admin-row .form-grid.no-sort-field{grid-template-columns:1fr 1.6fr auto}

@media(max-width:1000px){.forum-board-dnd-grid,.homepage-dnd-columns{grid-template-columns:1fr}.category-admin-row .form-grid.no-sort-field{grid-template-columns:1fr}.forum-structure-form.no-sort-field,.forum-board-form.no-sort-field{grid-template-columns:1fr}}
@media(max-width:650px){.drag-info{align-items:flex-start;flex-wrap:wrap}.sort-save-state{margin-left:39px}.homepage-widget-card{grid-template-columns:30px minmax(0,1fr)}.homepage-widget-card .toggle-inline{grid-column:2;padding:0 10px 9px}.navigation-child-title{flex-direction:column}}


/* v1.6 Twitch live player */
.stream-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.stream-player-card{min-width:0;overflow:hidden}
.stream-player-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.stream-player-head>div{min-width:0}.stream-player-head h2{margin:7px 0 2px;font-size:16px}.stream-player-head p{margin:0;color:var(--cc-muted,#77838a);font-size:10px}
.twitch-live-player{position:relative;width:100%;aspect-ratio:16/9;min-height:300px;background:#000;overflow:hidden}
.twitch-live-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.stream-player-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 1px 0;color:var(--cc-muted,#77838a)}
.stream-player-meta small{font-size:9px;text-align:right}
.live-indicator{display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:bold;text-transform:uppercase;white-space:nowrap}
.live-indicator i{width:8px;height:8px;border-radius:50%;background:#9147ff;box-shadow:0 0 8px rgba(145,71,255,.5)}
.stream-embed-warning,.stream-external-media{min-height:300px;display:grid;place-content:center;gap:8px;text-align:center;padding:25px;background:var(--cc-surface-alt,#151b20);border:1px dashed var(--cc-border,#394149);color:var(--cc-text-soft,#9ba5ab)}
.stream-embed-warning b{color:var(--cc-text,#dce2e5)}.stream-embed-warning p,.stream-external-media p{margin:0;line-height:1.55}
@media(max-width:980px){.stream-player-grid{grid-template-columns:1fr}}
@media(max-width:520px){.twitch-live-player{min-height:300px;aspect-ratio:auto}.stream-player-meta{align-items:flex-start;flex-direction:column}.stream-player-meta small{text-align:left}}


/* Admin Light / Dark appearance switch */
.admin-appearance-control{
  margin:8px 10px 5px;padding:10px 10px 10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:#10151a;border:1px solid #30383e
}
.admin-appearance-control>div{display:grid;gap:2px}
.admin-appearance-control b{color:#cbd3d8;font-size:10px}
.admin-appearance-control small{color:#6f7a82;font-size:8px}
.admin-theme-switch{display:flex;align-items:center;gap:7px;padding:0;border:0;background:transparent;color:#b8c1c6;cursor:pointer}
.admin-theme-switch-track{position:relative;width:36px;height:19px;border-radius:12px;background:#414a50;border:1px solid #59646c;transition:.16s}
.admin-theme-switch-track i{position:absolute;left:2px;top:2px;width:13px;height:13px;border-radius:50%;background:#fff;transition:.16s;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.admin-theme-switch-icon{width:17px;text-align:center;font-size:14px}
.admin-theme-switch[aria-pressed="true"] .admin-theme-switch-track{background:#6e9e2d;border-color:#6e9e2d}
.admin-theme-switch[aria-pressed="true"] .admin-theme-switch-track i{transform:translateX(17px)}

/* Full admin Light Mode. Public themes are intentionally unaffected. */
html.admin-theme-light body.admin-mode{background:#eef2f5!important;color:#253746!important}
html.admin-theme-light .admin-shell-v2{background:#eef2f5!important}
html.admin-theme-light .admin-top{
  background:#fff!important;border-bottom-color:#d5dde3!important;box-shadow:0 1px 5px rgba(28,55,74,.08)!important
}
html.admin-theme-light .admin-brand b{color:#263b4a!important}
html.admin-theme-light .admin-brand small{color:#628f25!important}
html.admin-theme-light .admin-top-actions a{
  background:#f5f7f9!important;border-color:#d3dce2!important;color:#385164!important
}
html.admin-theme-light .admin-top-actions a:hover{background:#eaf1f5!important;color:#203b4f!important}

html.admin-theme-light .admin-sidebar{background:#fff!important;border-right-color:#d3dce2!important}
html.admin-theme-light .admin-sidebar>span{color:#8997a1!important}
html.admin-theme-light .admin-sidebar>a{color:#425a6c!important}
html.admin-theme-light .admin-sidebar>a b{color:#263d4e!important}
html.admin-theme-light .admin-sidebar>a:hover{background:#edf4e7!important;border-left-color:#6e9e2d!important;color:#284318!important}
html.admin-theme-light .admin-appearance-control{background:#f5f7f9!important;border-color:#d5dde3!important}
html.admin-theme-light .admin-appearance-control b{color:#344d5f!important}
html.admin-theme-light .admin-appearance-control small{color:#7d8e9a!important}
html.admin-theme-light .admin-theme-switch-track{background:#cbd5dc!important;border-color:#b7c4cc!important}
html.admin-theme-light .admin-theme-switch[aria-pressed="true"] .admin-theme-switch-track{background:#6e9e2d!important;border-color:#6e9e2d!important}

html.admin-theme-light .admin-workspace{color:#293e4d!important}
html.admin-theme-light .admin-breadcrumb{border-bottom-color:#d5dde3!important;color:#80909b!important}
html.admin-theme-light .admin-breadcrumb b{color:#668f2d!important}

/* Core surfaces */
html.admin-theme-light .admin-mode .panel,
html.admin-theme-light .admin-mode .content-card,
html.admin-theme-light .admin-mode .team-card,
html.admin-theme-light .admin-mode .member-card,
html.admin-theme-light .admin-mode .poll-card,
html.admin-theme-light .admin-mode .award-card,
html.admin-theme-light .admin-mode .download-card,
html.admin-theme-light .admin-mode .album-card,
html.admin-theme-light .admin-mode .image-card,
html.admin-theme-light .admin-mode .list-card,
html.admin-theme-light .admin-mode .card,
html.admin-theme-light .admin-mode .module-card,
html.admin-theme-light .admin-mode .detail-card,
html.admin-theme-light .admin-mode .form-panel,
html.admin-theme-light .admin-mode .info-card,
html.admin-theme-light .admin-mode .stats-card{
  background:#fff!important;color:#2c4252!important;border-color:#d5dee4!important;box-shadow:0 1px 4px rgba(35,67,88,.06)!important
}
html.admin-theme-light .admin-mode .panel-head{border-color:#e0e6ea!important;background:transparent!important}
html.admin-theme-light .admin-mode .panel-head h2,
html.admin-theme-light .admin-mode .page-head h1,
html.admin-theme-light .admin-mode h1,
html.admin-theme-light .admin-mode h2,
html.admin-theme-light .admin-mode h3{color:#263e50!important}
html.admin-theme-light .admin-mode p{color:#5e7483}
html.admin-theme-light .admin-mode small{color:#7c8d98}

/* Inputs and editor */
html.admin-theme-light .admin-mode input,
html.admin-theme-light .admin-mode select,
html.admin-theme-light .admin-mode textarea{
  background:#fff!important;color:#283e4e!important;border-color:#b9c7d0!important;box-shadow:none!important
}
html.admin-theme-light .admin-mode input:focus,
html.admin-theme-light .admin-mode select:focus,
html.admin-theme-light .admin-mode textarea:focus{
  border-color:#7ca94a!important;box-shadow:0 0 0 2px rgba(110,158,45,.12)!important
}
html.admin-theme-light .admin-mode label{color:#526a7b!important}
html.admin-theme-light .admin-mode .bbcode-editor{background:#fff!important;border-color:#b9c7d0!important}
html.admin-theme-light .admin-mode .bbcode-toolbar{background:#edf2f5!important;border-color:#ccd7de!important}
html.admin-theme-light .admin-mode .bbcode-tool{background:#fff!important;color:#365165!important;border-color:#bdcbd4!important;text-shadow:none!important}
html.admin-theme-light .admin-mode .bbcode-help{background:#f5f7f9!important;border-color:#d5dee4!important;color:#778994!important}

/* Tables and lists */
html.admin-theme-light .admin-mode .data-table{background:#fff!important;color:#344d5f!important}
html.admin-theme-light .admin-mode .data-table th{background:#edf2f5!important;color:#405b6e!important;border-color:#d5dee4!important}
html.admin-theme-light .admin-mode .data-table td{border-color:#e0e6ea!important}
html.admin-theme-light .admin-mode .data-table tr:hover td{background:#f5f9fb!important}
html.admin-theme-light .admin-link-list a,
html.admin-theme-light .admin-task-grid>a,
html.admin-theme-light .admin-task-list a,
html.admin-theme-light .recent-audit>div{
  background:#fff!important;color:#365064!important;border-color:#d7e0e6!important
}
html.admin-theme-light .admin-link-list a:hover,
html.admin-theme-light .admin-task-grid>a:hover,
html.admin-theme-light .admin-task-list a:hover{background:#f0f6ec!important;border-color:#a7c482!important}
html.admin-theme-light .admin-link-list span,
html.admin-theme-light .admin-task-grid span,
html.admin-theme-light .recent-audit span{color:#778b99!important}
html.admin-theme-light .admin-task-grid strong{color:#2a4355!important}

/* Drag & drop administration */
html.admin-theme-light .drag-info{background:#fff!important;border-color:#d5dee4!important;color:#496173!important}
html.admin-theme-light .drag-info b{color:#294356!important}
html.admin-theme-light .drag-info small{color:#7a8c98!important}
html.admin-theme-light .drag-grip-demo,
html.admin-theme-light .drag-handle{background:#edf4e8!important;border-color:#c7d9b4!important;color:#638e31!important}
html.admin-theme-light .admin-sort-item,
html.admin-theme-light .forum-board-drop-column,
html.admin-theme-light .homepage-widget-card,
html.admin-theme-light .navigation-root-item,
html.admin-theme-light .navigation-child-item{
  background:#fff!important;border-color:#d6dfe5!important;color:#334c5e!important
}
html.admin-theme-light .forum-board-drop-column>header,
html.admin-theme-light .navigation-item-head{background:#edf2f5!important;border-color:#d6dfe5!important}
html.admin-theme-light .navigation-child-zone{background:#f6f8f9!important;border-color:#dbe3e8!important}
html.admin-theme-light .sort-empty-hint{border-color:#c9d4db!important;color:#80919d!important;background:#f8fafb!important}

/* Forum/admin module surfaces */
html.admin-theme-light .admin-mode .forum-section,
html.admin-theme-light .admin-mode .forum-thread-panel,
html.admin-theme-light .admin-mode .forum-latest-panel,
html.admin-theme-light .admin-mode .forum-post,
html.admin-theme-light .admin-mode .reply-box,
html.admin-theme-light .admin-mode .message-row,
html.admin-theme-light .admin-mode .notification-row,
html.admin-theme-light .admin-mode .comment-row{
  background:#fff!important;color:#344d5f!important;border-color:#d9e2e7!important
}
html.admin-theme-light .admin-mode .forum-section-head,
html.admin-theme-light .admin-mode .forum-thread-header{background:#edf2f5!important;color:#385267!important;border-color:#d5dee4!important}

/* Buttons */
html.admin-theme-light .admin-mode .secondary,
html.admin-theme-light .admin-mode button.secondary,
html.admin-theme-light .admin-mode a.secondary,
html.admin-theme-light .admin-mode .ghost{
  background:#fff!important;color:#466176!important;border-color:#b9c8d2!important;text-shadow:none!important
}
html.admin-theme-light .admin-mode .secondary:hover,
html.admin-theme-light .admin-mode .ghost:hover{background:#eef4f7!important}
html.admin-theme-light .admin-mode .primary{background:#6e9e2d!important;color:#fff!important;border-color:#638f28!important}
html.admin-theme-light .admin-mode .empty{background:#f7f9fa!important;color:#758895!important;border-color:#cbd6dd!important}

/* Misc dark leftovers */
html.admin-theme-light .admin-mode pre,
html.admin-theme-light .admin-mode code{background:#f2f5f7!important;color:#304b5e!important;border-color:#d4dee4!important}
html.admin-theme-light .admin-mode hr{border-color:#d9e2e7!important}
html.admin-theme-light .admin-mode details{color:#526a7b!important}
html.admin-theme-light .admin-mode summary{color:#557084!important}


/* Entity banners & icons */
.entity-banner{position:relative;width:100%;overflow:hidden;background:var(--cc-surface-alt,#151b20);border:1px solid var(--cc-border,#394149)}
.entity-banner img{display:block;width:100%;height:100%;object-fit:cover}
.news-category-banner{height:120px;margin:0 0 12px}
.news-category-banner.large{height:220px;margin:-1px -1px 18px;width:calc(100% + 2px)}
.team-banner{height:120px;grid-column:1/-1;margin:-1px -1px 10px;width:calc(100% + 2px)}
.team-hero-banner{height:220px;grid-column:1/-1;margin:-1px -1px 14px;width:calc(100% + 2px)}
.stream-banner{height:150px;margin:-1px -1px 14px;width:calc(100% + 2px)}
.media-css-dummy{display:grid;place-items:center;background:linear-gradient(115deg,#075ea8,#0b74c9 55%,#603cba);color:#fff}
.media-css-dummy span{font:700 28px Arial;letter-spacing:.08em}

.entity-icon{display:grid;place-items:center;overflow:hidden;flex:0 0 auto;background:var(--cc-surface-alt,#1a2227);border:1px solid var(--cc-border,#394149)}
.entity-icon img{display:block;width:100%;height:100%;object-fit:cover}
.forum-board-icon.entity-icon{width:36px;height:36px;padding:0;border-radius:8px}
.forum-board-icon.entity-icon.large{width:64px;height:64px;border-radius:12px}
.forum-board-identity{display:flex;align-items:center;gap:14px;min-width:0}
.partner-icon{width:72px;height:72px;border-radius:12px;margin-bottom:12px}
.poll-icon{width:58px;height:58px;border-radius:12px;margin-bottom:10px}
.poll-icon.large{width:76px;height:76px}
.poll-article-head{position:relative}

.media-upload-field{display:grid;gap:6px}
.media-upload-field small{color:var(--cc-muted,#75818a);font-size:9px}
.media-admin-preview{display:grid;grid-template-columns:minmax(160px,240px) 1fr auto;gap:10px;align-items:center;padding:9px;background:var(--cc-surface-alt,#11161a);border:1px solid var(--cc-border,#30383d)}
.media-admin-preview>img{display:block;width:100%;height:72px;object-fit:cover;border:1px solid var(--cc-border,#394149)}
.media-admin-preview.icon-preview{grid-template-columns:72px 1fr auto}
.media-admin-preview.icon-preview>img{width:64px;height:64px;border-radius:10px}
.media-inline-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0;padding:9px;background:var(--cc-surface-alt,#11161a);border:1px solid var(--cc-border,#30383d)}
.media-inline-form label{display:flex;align-items:center;gap:6px;font-size:9px}
.media-inline-form input[type="file"]{max-width:260px}

.role-tabs a{display:inline-flex!important;align-items:center;gap:7px!important}
.role-tabs a img{width:24px;height:24px;object-fit:cover;border-radius:6px;border:1px solid var(--cc-border,#3c454c)}
.role-icon-editor{display:flex;align-items:center;gap:14px;margin:0 0 16px;padding:12px;background:var(--cc-surface-alt,#11161a);border:1px solid var(--cc-border,#30383d)}
.role-icon-editor>img{width:72px;height:72px;object-fit:cover;border-radius:12px}
.role-icon-editor>div{display:grid;gap:8px}

.partner-card{position:relative}
.news-card-with-banner{overflow:hidden}
.team-card{overflow:hidden;display:grid!important}
.stream-player-card{overflow:hidden}

@media(max-width:700px){
 .news-category-banner.large,.team-hero-banner{height:150px}
 .media-admin-preview,.media-admin-preview.icon-preview{grid-template-columns:1fr}
 .media-admin-preview.icon-preview>img{width:72px}
 .media-inline-form{align-items:stretch;flex-direction:column}
 .media-inline-form input[type="file"]{max-width:none;width:100%}
}


/* Entity media controls in Admin Light Mode */
html.admin-theme-light .media-admin-preview,
html.admin-theme-light .media-inline-form,
html.admin-theme-light .role-icon-editor{
  background:#f5f8fa!important;border-color:#d5dee4!important;color:#365064!important
}
html.admin-theme-light .media-admin-preview>img,
html.admin-theme-light .role-icon-editor>img,
html.admin-theme-light .role-tabs a img{border-color:#c7d3db!important}


/* Forum post ownership actions, reply and quote */
.forum-post-content{min-width:0}
.forum-post-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.forum-post-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.forum-action-button{min-height:28px!important;padding:4px 8px!important;font-size:9px!important}
.forum-post-actions form{margin:0}
.forum-post-edit{position:relative}
.forum-post-edit>summary{list-style:none;cursor:pointer;min-height:28px;display:inline-flex;align-items:center;padding:4px 8px;border:1px solid var(--cc-border,#394149);color:var(--cc-text-soft,#9ba5ab);font-size:9px}
.forum-post-edit>summary::-webkit-details-marker{display:none}
.forum-post-edit[open]{width:min(720px,80vw)}
.forum-post-edit[open]>summary{margin-left:auto}
.forum-post-edit form{margin-top:8px;padding:10px;background:var(--cc-surface-alt,#11161a);border:1px solid var(--cc-border,#30383d)}
.forum-post-edit textarea{width:100%;min-height:150px}
.forum-post-body{line-height:1.65;overflow-wrap:anywhere}
.bb-quote cite{display:block;margin:0 0 7px;padding-bottom:6px;border-bottom:1px solid var(--cc-border,#394149);color:var(--cc-accent,#8cc63f);font-style:normal;font-weight:700;font-size:10px}
.reply-box{scroll-margin-bottom:70px}

html.admin-theme-light .forum-post-edit form{background:#f5f8fa!important;border-color:#d5dee4!important}
html.admin-theme-light .forum-post-edit>summary{border-color:#c7d3db!important;color:#496174!important}

@media(max-width:720px){
 .forum-post-meta{align-items:flex-start;flex-direction:column}
 .forum-post-actions{justify-content:flex-start}
 .forum-post-edit[open]{width:100%}
}


/* WYSIWYG rich-text editor */
.wysiwyg-editor{width:100%;display:block;border:1px solid var(--cc-border,#394149);background:var(--cc-surface,#0d1115);overflow:visible}
.wysiwyg-toolbar{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:7px;background:var(--cc-surface-alt,#1b2025);border-bottom:1px solid var(--cc-border,#394149)}
.wysiwyg-tool,.wysiwyg-select,.wysiwyg-color{
  min-height:30px;border:1px solid var(--cc-border-strong,#4a555d);background:var(--cc-surface,#222a30);color:var(--cc-text,#dce2e5);
  border-radius:4px;font:600 10px Arial,sans-serif;cursor:pointer
}
.wysiwyg-tool{min-width:31px;padding:0 8px}
.wysiwyg-tool:hover,.wysiwyg-tool.active,.wysiwyg-select:hover{background:var(--cc-hover,#293126);border-color:var(--cc-accent,#8cc63f)}
.wysiwyg-tool:disabled{opacity:.5;cursor:wait}
.wysiwyg-tool.loading:after{content:" …"}
.wysiwyg-select{padding:0 7px;max-width:132px}.wysiwyg-select.small{max-width:76px}
.wysiwyg-color{width:34px;padding:3px}
.wysiwyg-surface{
  width:100%;min-height:190px;max-height:720px;overflow:auto;padding:14px;background:var(--cc-input-bg,#0c1013);color:var(--cc-input-text,#dce2e5);
  line-height:1.62;outline:0;resize:vertical
}
.wysiwyg-surface:focus{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--cc-accent,#8cc63f) 45%,transparent)}
.wysiwyg-surface:empty:before{content:attr(data-placeholder);color:var(--cc-muted,#69757c);pointer-events:none}
.wysiwyg-surface h2{font-size:24px;margin:14px 0 8px}.wysiwyg-surface h3{font-size:19px;margin:12px 0 7px}
.wysiwyg-surface blockquote{margin:10px 0;padding:11px 13px;border-left:4px solid var(--cc-accent,#8cc63f);background:var(--cc-surface-alt,#11161a)}
.wysiwyg-surface blockquote cite{display:block;margin-bottom:7px;color:var(--cc-accent,#8cc63f);font-style:normal;font-weight:700}
.wysiwyg-surface pre{white-space:pre-wrap;padding:12px;background:var(--cc-surface-alt,#080b0d);border:1px solid var(--cc-border,#394149);font-family:Consolas,"Courier New",monospace}
.wysiwyg-surface img{display:block;max-width:100%;height:auto;margin:12px auto;border:1px solid var(--cc-border,#394149)}
.wysiwyg-surface ul,.wysiwyg-surface ol{margin:10px 0 10px 26px;padding:0}
.wysiwyg-surface a{color:var(--cc-accent,#0b74c9);text-decoration:underline}
.wysiwyg-surface hr{border:0;border-top:1px solid var(--cc-border,#394149);margin:16px 0}
.wysiwyg-source{display:none!important}.wysiwyg-source[hidden]{display:none!important}
.wysiwyg-popover-wrap{position:relative}
.wysiwyg-emoji-menu{display:none;position:absolute;z-index:40;left:0;top:35px;width:190px;padding:7px;grid-template-columns:repeat(4,1fr);gap:4px;background:var(--cc-surface,#151b20);border:1px solid var(--cc-border,#394149);box-shadow:0 12px 30px rgba(0,0,0,.28)}
.wysiwyg-emoji-menu.open{display:grid}
.wysiwyg-emoji-menu button{height:36px;border:0;background:transparent;font-size:20px;cursor:pointer}.wysiwyg-emoji-menu button:hover{background:var(--cc-hover,#293126)}
.bb-image{display:block;max-width:100%;height:auto;margin:14px auto;border:1px solid var(--cc-border,#394149)}
.bb-heading{color:var(--cc-text,#dce2e5)}.bb-h2{font-size:24px}.bb-h3{font-size:19px}
.bb-spoiler{margin:10px 0;padding:9px 11px;background:var(--cc-surface-alt,#11161a);border:1px solid var(--cc-border,#394149)}
.bb-spoiler summary{cursor:pointer;color:var(--cc-accent,#8cc63f);font-weight:700}

/* Light admin appearance */
html.admin-theme-light .wysiwyg-editor{background:#fff!important;border-color:#b9c7d0!important}
html.admin-theme-light .wysiwyg-toolbar{background:#edf2f5!important;border-color:#ccd7de!important}
html.admin-theme-light .wysiwyg-tool,html.admin-theme-light .wysiwyg-select{background:#fff!important;color:#365165!important;border-color:#bdcbd4!important}
html.admin-theme-light .wysiwyg-surface{background:#fff!important;color:#283e4e!important}
html.admin-theme-light .wysiwyg-emoji-menu{background:#fff!important;border-color:#c7d3db!important}

/* Windows 8 desktop theme */
.desktop-layout .wysiwyg-editor{border:2px solid #aaa!important;border-radius:0!important;background:#fff!important}
.desktop-layout .wysiwyg-toolbar{background:#e9e9e9!important;border-color:#c8c8c8!important}
.desktop-layout .wysiwyg-tool,.desktop-layout .wysiwyg-select{border-radius:0!important;background:#f7f7f7!important;color:#202020!important;border-color:#b7b7b7!important}
.desktop-layout .wysiwyg-surface{background:#fff!important;color:#202020!important}

@media(max-width:700px){
 .wysiwyg-toolbar{gap:3px}.wysiwyg-select{max-width:110px}

}


/* Notification deletion controls */
.notification-row-manage{display:flex!important;align-items:stretch;gap:8px}
.notification-open-form{flex:1;min-width:0;margin:0}
.notification-open-button{width:100%;height:100%;text-align:left}
.notification-delete-form{display:flex;align-items:center;margin:0;padding:8px}
.notification-delete-form .danger-button{white-space:nowrap}
@media(max-width:620px){
 .notification-row-manage{align-items:stretch;flex-direction:column}
 .notification-delete-form{padding:0 8px 8px}
 .notification-delete-form .danger-button{width:100%}
}


/* Gallery upload form – clean two-column layout */
.gallery-upload-panel{margin-bottom:18px}
.gallery-upload-form{
  display:grid!important;
  grid-template-columns:minmax(280px,360px) minmax(0,1fr)!important;
  gap:20px!important;
  align-items:stretch!important
}
.gallery-upload-main{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0
}
.gallery-file-field,.gallery-title-field,.gallery-caption-field{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:6px!important;
  min-width:0
}
.gallery-file-field>span,.gallery-title-field>span,.gallery-caption-field>span{
  color:var(--cc-text-soft,#9aa5ad);
  font-weight:700;
  font-size:10px
}
.gallery-file-field small{
  color:var(--cc-muted,#69757c);
  font-size:8px
}
.gallery-file-field input[type="file"],
.gallery-title-field input{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box
}
.gallery-caption-field{
  align-self:stretch;
  min-width:0
}
.gallery-caption-field .wysiwyg-editor{
  height:100%;
  min-height:230px
}
.gallery-caption-field .wysiwyg-surface{
  min-height:190px!important;
  max-height:420px!important
}
.gallery-caption-field textarea{
  width:100%!important
}
.gallery-upload-button{
  margin-top:auto;
  width:100%;
  min-height:38px
}

/* Remove legacy grid behaviour from the old upload form. */
.gallery-upload-panel .gallery-upload-form button{grid-column:auto!important}

/* Admin light appearance */
html.admin-theme-light .gallery-upload-main,
html.admin-theme-light .gallery-caption-field{
  color:#334d60
}

/* Windows 8 desktop theme */
.desktop-layout .gallery-upload-panel{
  border-radius:0!important
}
.desktop-layout .gallery-upload-form{
  grid-template-columns:minmax(260px,340px) minmax(0,1fr)!important
}

@media(max-width:900px){
  .gallery-upload-form,
  .desktop-layout .gallery-upload-form{
    grid-template-columns:1fr!important
  }
  .gallery-upload-main{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:end
  }
  .gallery-upload-button{
    grid-column:1/-1;
    margin-top:0
  }
  .gallery-caption-field .wysiwyg-editor{min-height:200px}
}

@media(max-width:620px){
  .gallery-upload-main{grid-template-columns:1fr}
  .gallery-upload-button{grid-column:auto}
}


/* Discord integration */
.discord-admin-grid{grid-template-columns:1fr 1fr}
.discord-status-list{display:grid;gap:0;margin-bottom:14px;border:1px solid var(--cc-border,#30383d)}
.discord-status-list>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;padding:9px 10px;border-bottom:1px solid var(--cc-border,#30383d)}
.discord-status-list>div:last-child{border-bottom:0}.discord-status-list span{color:var(--cc-muted,#718089);font-size:9px}.discord-status-list b{color:var(--cc-text,#cbd3d8);font-size:10px;overflow-wrap:anywhere}
.discord-callback-box{display:grid;gap:6px;padding:10px;margin:10px 0;background:var(--cc-surface-alt,#11161a);border:1px solid var(--cc-border,#30383d)}
.discord-callback-box code{display:block;padding:8px;overflow:auto;background:var(--cc-surface,#0c1013);color:var(--cc-accent,#8cc63f);border:1px solid var(--cc-border,#30383d);white-space:nowrap}
.discord-callback-box small,.discord-sync-actions small{color:var(--cc-muted,#718089);font-size:9px}
.discord-sync-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.discord-sync-actions form{display:grid;gap:7px;padding:12px;background:var(--cc-surface-alt,#11161a);border:1px solid var(--cc-border,#30383d)}
.discord-help{margin-top:14px}
.role-admin-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(300px,1.2fr);gap:14px;margin-bottom:14px}
.discord-role-dot{display:grid;place-items:center;width:17px;height:17px;margin-left:auto;border-radius:50%;background:#5865f2;color:#fff;font:700 8px Arial;font-style:normal}
.discord-profile-panel{margin-top:16px}
.discord-linked-account{display:flex;align-items:center;justify-content:space-between;gap:14px}
.discord-linked-account>div{display:grid;gap:4px}.discord-linked-account b{color:var(--cc-text,#dce2e5)}.discord-linked-account small{color:var(--cc-muted,#718089)}
.data-table td small{display:block;margin-top:3px;color:var(--cc-muted,#718089)}

html.admin-theme-light .discord-status-list,
html.admin-theme-light .discord-callback-box,
html.admin-theme-light .discord-sync-actions form{border-color:#d5dee4!important}
html.admin-theme-light .discord-callback-box,
html.admin-theme-light .discord-sync-actions form{background:#f5f8fa!important}
html.admin-theme-light .discord-callback-box code{background:#fff!important;border-color:#d5dee4!important;color:#436d22!important}

@media(max-width:900px){
 .discord-admin-grid,.role-admin-layout,.discord-sync-actions{grid-template-columns:1fr}
}
@media(max-width:620px){
 .discord-status-list>div{grid-template-columns:1fr}
 .discord-linked-account{align-items:flex-start;flex-direction:column}
}


/* Compact Roles & Permissions administration */
.roles-admin-shell{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:14px;
  align-items:start
}
.roles-sidebar{
  padding:0!important;
  overflow:hidden;
  position:sticky;
  top:72px
}
.roles-sidebar-head{
  padding:12px 13px;
  border-bottom:1px solid var(--cc-border,#30383d)
}
.roles-sidebar-head>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.roles-sidebar-head b{font-size:11px}.roles-sidebar-head small{font-size:8px;color:var(--cc-muted,#748089)}
.roles-compact-list{display:grid;padding:6px}
.roles-compact-list a{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 18px;
  gap:8px;
  align-items:center;
  min-height:42px;
  padding:6px 8px;
  border-left:3px solid transparent;
  color:var(--cc-text-soft,#aab4ba);
  text-decoration:none
}
.roles-compact-list a:hover{background:var(--cc-surface-alt,#151a1e)}
.roles-compact-list a.active{background:var(--cc-surface-alt,#182018);border-left-color:var(--cc-accent,#8cc63f)}
.roles-compact-list img{width:28px;height:28px;object-fit:cover;border-radius:5px;border:1px solid var(--cc-border,#394149)}
.roles-compact-list span{display:grid;gap:2px;min-width:0}
.roles-compact-list b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.roles-compact-list small{font-size:8px;color:var(--cc-muted,#748089);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.roles-compact-list i{
  display:grid;place-items:center;width:17px;height:17px;border-radius:50%;
  background:#5865f2;color:#fff;font:700 8px Arial;font-style:normal
}
.role-create-box{border-top:1px solid var(--cc-border,#30383d)}
.role-create-box>summary{
  cursor:pointer;list-style:none;padding:10px 12px;color:var(--cc-accent,#8cc63f);font-size:9px;font-weight:700
}
.role-create-box>summary::-webkit-details-marker{display:none}
.role-create-box[open]>summary{border-bottom:1px solid var(--cc-border,#30383d)}
.role-create-box .compact-stack{padding:10px}
.compact-stack{display:grid;gap:9px}
.compact-stack label{display:grid;gap:4px;font-size:9px}
.compact-stack input,.compact-stack select{min-height:32px}
.compact-check{display:flex!important;align-items:center!important;gap:7px!important}
.compact-check input{min-height:auto!important;width:auto!important}

.roles-main{display:grid;gap:14px;min-width:0}
.role-summary-panel{padding:12px 14px!important}
.role-summary-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.role-summary-ident{display:flex;align-items:center;gap:10px;min-width:0}
.role-summary-ident>img{width:46px;height:46px;object-fit:cover;border-radius:8px;border:1px solid var(--cc-border,#394149)}
.role-summary-ident h2{margin:2px 0;font-size:17px}
.role-summary-ident small{font-size:8px;color:var(--cc-muted,#748089)}
.role-settings-popover{position:relative}
.role-settings-popover>summary{
  list-style:none;cursor:pointer;padding:7px 10px;border:1px solid var(--cc-border,#394149);
  color:var(--cc-text-soft,#aab4ba);font-size:9px;font-weight:700
}
.role-settings-popover>summary::-webkit-details-marker{display:none}
.role-settings-content{
  position:absolute;z-index:30;right:0;top:38px;width:330px;padding:12px;
  background:var(--cc-surface,#101519);border:1px solid var(--cc-border,#394149);
  box-shadow:0 14px 35px rgba(0,0,0,.35)
}
.role-settings-content form+form{margin-top:12px;padding-top:12px;border-top:1px solid var(--cc-border,#30383d)}
.role-icon-mini-form{display:grid;gap:8px}.role-icon-mini-form label{display:grid;gap:4px;font-size:9px}

.permissions-compact-panel{padding:0!important;overflow:hidden}
.permissions-compact-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 14px;border-bottom:1px solid var(--cc-border,#30383d)
}
.permissions-compact-head h2{margin:0 0 2px;font-size:14px}
.permissions-compact-head small{font-size:8px;color:var(--cc-muted,#748089)}
.permissions-counter{display:flex;align-items:baseline;gap:5px;padding:5px 8px;background:var(--cc-surface-alt,#151a1e);border:1px solid var(--cc-border,#30383d)}
.permissions-counter b{font-size:14px;color:var(--cc-accent,#8cc63f)}
.permissions-counter span{font-size:8px;color:var(--cc-muted,#748089);text-transform:uppercase}

.permissions-groups{padding:10px;display:grid;gap:9px}
.permission-compact-group{border:1px solid var(--cc-border,#30383d);background:var(--cc-surface-alt,#11161a)}
.permission-compact-group>header{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:31px;padding:6px 9px;border-bottom:1px solid var(--cc-border,#30383d)
}
.permission-compact-group>header b{font-size:9px;text-transform:uppercase;letter-spacing:.04em}
.permission-compact-group>header span{font-size:8px;color:var(--cc-muted,#748089)}
.permission-compact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0
}
.permission-compact-row{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  align-items:center!important;
  gap:7px!important;
  min-height:42px;
  padding:5px 8px!important;
  margin:0!important;
  border-right:1px solid var(--cc-border,#30383d);
  border-bottom:1px solid var(--cc-border,#30383d);
  cursor:pointer
}
.permission-compact-row:nth-child(3n){border-right:0}
.permission-compact-row:hover{background:var(--cc-hover,#182018)}
.permission-compact-row input[type="checkbox"]{
  width:15px!important;height:15px!important;min-height:0!important;margin:0!important
}
.permission-compact-row span{display:grid;gap:1px;min-width:0}
.permission-compact-row b{font-size:9px;font-weight:700;line-height:1.2}
.permission-compact-row small{
  font-size:7px;color:var(--cc-muted,#748089);white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.permissions-savebar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:9px 12px;border-top:1px solid var(--cc-border,#30383d);background:var(--cc-surface-alt,#101519)
}
.permissions-savebar span{font-size:8px;color:var(--cc-muted,#748089)}
.permissions-savebar .primary{min-width:170px}

/* Light admin */
html.admin-theme-light .roles-compact-list a:hover,
html.admin-theme-light .roles-compact-list a.active{background:#edf4e7!important}
html.admin-theme-light .role-settings-content{background:#fff!important;border-color:#d5dee4!important;box-shadow:0 14px 35px rgba(34,55,68,.15)!important}
html.admin-theme-light .permission-compact-group{background:#fff!important;border-color:#d5dee4!important}
html.admin-theme-light .permission-compact-group>header,
html.admin-theme-light .permission-compact-row,
html.admin-theme-light .permissions-compact-head,
html.admin-theme-light .permissions-savebar{border-color:#dce4e9!important}
html.admin-theme-light .permission-compact-row:hover{background:#f1f7ed!important}
html.admin-theme-light .permissions-counter,
html.admin-theme-light .permissions-savebar{background:#f5f8fa!important}

@media(max-width:1180px){
  .permission-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .permission-compact-row:nth-child(3n){border-right:1px solid var(--cc-border,#30383d)}
  .permission-compact-row:nth-child(2n){border-right:0}
}
@media(max-width:860px){
  .roles-admin-shell{grid-template-columns:1fr}
  .roles-sidebar{position:static}
  .roles-compact-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .roles-compact-list,.permission-compact-grid{grid-template-columns:1fr}
  .permission-compact-row,.permission-compact-row:nth-child(2n),.permission-compact-row:nth-child(3n){border-right:0}
  .role-summary-top,.permissions-compact-head,.permissions-savebar{align-items:stretch;flex-direction:column}
  .role-settings-popover{width:100%}
  .role-settings-popover>summary{text-align:center}
  .role-settings-content{position:static;width:100%;margin-top:7px}
  .permissions-savebar .primary{width:100%}
}


/* Guest role & registration-default role */
.roles-compact-list i.role-special-badge.guest{
  background:#59656d!important;color:#fff!important
}
.roles-compact-list i.role-special-badge.default{
  background:var(--cc-accent,#8cc63f)!important;color:#101510!important
}
.role-info-note{
  display:grid;gap:3px;padding:8px 9px;
  background:var(--cc-surface-alt,#151a1e);
  border:1px solid var(--cc-border,#30383d)
}
.role-info-note b{font-size:9px;color:var(--cc-text,#dce2e5)}
.role-info-note small{font-size:8px;color:var(--cc-muted,#748089);line-height:1.4}
.role-default-check{
  padding:7px 8px;
  background:color-mix(in srgb,var(--cc-accent,#8cc63f) 10%,transparent);
  border:1px solid color-mix(in srgb,var(--cc-accent,#8cc63f) 35%,var(--cc-border,#30383d))
}
html.admin-theme-light .role-info-note{background:#f5f8fa!important;border-color:#d5dee4!important}


/* Discord server tree in Community Hub */
.discord-hub-panel{padding:0!important;overflow:hidden}
.discord-hub-head{margin:0!important;padding:10px 11px!important}
.discord-hub-head>div:first-child{display:flex;align-items:center;gap:8px}
.discord-hub-head h2{margin:0;font-size:11px}
.discord-hub-head small{display:block;margin-top:1px;font-size:8px;color:var(--cc-muted,#748089)}
.discord-mark{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:#5865f2;color:#fff;font:800 11px Arial}

.discord-channel-tree{border-top:1px solid var(--cc-border,#30383d)}
.discord-tree-category{border-bottom:1px solid var(--cc-border,#30383d)}
.discord-tree-category>summary{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  min-height:28px;padding:5px 9px;cursor:pointer;list-style:none;
  font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--cc-muted,#748089)
}
.discord-tree-category>summary::-webkit-details-marker{display:none}
.discord-tree-category>summary:before{content:'▾';font-size:7px;margin-right:4px}
.discord-tree-category:not([open])>summary:before{content:'▸'}
.discord-tree-category>summary span{flex:1}
.discord-tree-category>summary small{font-size:7px}
.discord-tree-category>div{padding:2px 5px 5px}
.discord-tree-channel{padding:2px 3px}
.discord-channel-name{
  display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:3px;
  min-height:26px;padding:3px 5px;border-radius:4px;color:var(--cc-text-soft,#aab4ba)
}
.discord-channel-name:hover{background:var(--cc-surface-alt,#151a1e)}
.discord-channel-icon{font-size:10px;color:var(--cc-muted,#748089);text-align:center}
.discord-channel-name b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.discord-channel-name small{font-size:7px;color:var(--cc-muted,#748089)}
.discord-voice-members{display:grid;gap:2px;margin-left:24px;padding:1px 0 3px}
.discord-member-mini{display:flex;align-items:center;gap:6px;min-height:24px;padding:2px 4px;color:var(--cc-muted,#8f9aa1);font-size:8px}
.discord-member-mini img,.discord-avatar-fallback{width:18px;height:18px;border-radius:50%;object-fit:cover}
.discord-avatar-fallback{display:grid;place-items:center;background:#30383d;color:#fff;font-size:7px;font-weight:800}

.discord-online-block{border-top:1px solid var(--cc-border,#30383d);padding:8px}
.discord-online-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.discord-online-title b{font-size:8px;text-transform:uppercase;letter-spacing:.04em}
.discord-online-title span{font-size:8px;color:var(--cc-muted,#748089)}
.discord-online-list{display:grid;gap:2px;max-height:260px;overflow:auto}
.discord-online-member{display:flex;align-items:center;gap:7px;min-height:31px;padding:3px 4px;border-radius:4px}
.discord-online-member:hover{background:var(--cc-surface-alt,#151a1e)}
.discord-online-avatar{position:relative;width:24px;height:24px;flex:0 0 24px}
.discord-online-avatar img,.discord-online-avatar>span{width:24px;height:24px;border-radius:50%;object-fit:cover}
.discord-online-avatar>span{display:grid;place-items:center;background:#30383d;color:#fff;font-size:8px;font-weight:800}
.discord-presence{position:absolute;right:-1px;bottom:-1px;width:8px;height:8px;border:2px solid var(--cc-surface,#101519);border-radius:50%;background:#80848e}
.discord-presence.status-online{background:#23a55a}
.discord-presence.status-idle{background:#f0b232}
.discord-presence.status-dnd{background:#f23f43}
.discord-online-member>span{display:grid;gap:1px;min-width:0}
.discord-online-member b{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.discord-online-member small{font-size:7px;color:var(--cc-muted,#748089)}
.discord-hub-warning{margin:8px;padding:7px 8px;border:1px solid var(--cc-border,#394149);background:var(--cc-surface-alt,#151a1e);font-size:8px;line-height:1.45;color:var(--cc-muted,#8f9aa1)}

html.admin-theme-light .discord-presence{border-color:#fff}


/* Multi-role user administration */
.user-multirole-grid{grid-template-columns:minmax(0,1fr) 300px!important;align-items:start}
.user-admin-list{display:grid}
.user-admin-row{
  display:grid;grid-template-columns:minmax(160px,.8fr) minmax(300px,1.7fr) 115px auto;
  gap:12px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--cc-border,#30383d)
}
.user-admin-row:last-child{border-bottom:0}
.user-admin-identity{display:grid;gap:2px;min-width:0}
.user-admin-identity b{font-size:10px}
.user-admin-identity small,.discord-user-link{font-size:8px;color:var(--cc-muted,#748089);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.discord-user-link{color:#8992f2}
.user-role-picker{display:grid;gap:5px}
.field-title{font-size:8px;font-weight:800;text-transform:uppercase;color:var(--cc-muted,#748089)}
.user-role-checks{display:flex;flex-wrap:wrap;gap:4px}
.user-role-checks label{
  display:flex!important;align-items:center!important;gap:4px!important;
  min-height:25px;padding:3px 7px!important;margin:0!important;
  border:1px solid var(--cc-border,#394149);border-radius:4px;cursor:pointer;font-size:8px
}
.user-role-checks label.selected,.user-role-checks label:has(input:checked){
  border-color:var(--cc-accent,#8cc63f);background:color-mix(in srgb,var(--cc-accent,#8cc63f) 10%,transparent)
}
.user-role-checks input{width:12px!important;height:12px!important;min-height:0!important;margin:0!important}
.user-status-field{display:grid!important;gap:4px!important;font-size:8px!important}
.user-status-field select{min-height:30px}
.user-admin-actions{display:flex;gap:5px;align-items:center}
.role-checkbox-fieldset{display:grid;gap:6px;padding:9px;border:1px solid var(--cc-border,#394149)}
.role-checkbox-fieldset legend{padding:0 4px;font-size:9px;font-weight:700}
.role-checkbox-fieldset label{display:flex;align-items:center;gap:6px;font-size:9px}
.role-checkbox-fieldset input{width:auto;min-height:0}
.role-checkbox-fieldset small{font-size:8px;color:var(--cc-muted,#748089)}
@media(max-width:1150px){
  .user-multirole-grid{grid-template-columns:1fr!important}
  .user-admin-row{grid-template-columns:1fr 1.5fr}
}
@media(max-width:700px){
  .user-admin-row{grid-template-columns:1fr}
  .user-admin-actions>*{flex:1}
}


/* Public role directory */
.public-role-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px
}
.public-role-card{
  display:block;
  overflow:hidden;
  border:1px solid var(--cc-border,#30383d);
  background:var(--cc-surface,#101519);
  color:var(--cc-text,#dce2e5);
  text-decoration:none;
  transition:transform .15s ease,border-color .15s ease
}
.public-role-card:hover{
  transform:translateY(-2px);
  border-color:var(--cc-accent,#8cc63f)
}
.public-role-banner{position:relative;height:150px;overflow:hidden}
.public-role-banner img,.public-role-detail-banner img,.role-public-preview img{
  width:100%;height:100%;object-fit:cover;display:block
}
.public-role-rank{
  position:absolute;right:8px;bottom:8px;
  padding:4px 7px;background:rgba(0,0,0,.62);color:#fff;
  font-size:8px;font-weight:700;border-radius:3px
}
.public-role-card-body{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 12px
}
.public-role-card-body h2{margin:4px 0 0;font-size:15px}
.public-role-meta{text-align:right;display:grid;gap:1px}
.public-role-meta b{font-size:15px;color:var(--cc-accent,#8cc63f)}
.public-role-meta span{font-size:8px;color:var(--cc-muted,#748089)}

.public-role-hero{padding:0!important;overflow:hidden}
.public-role-detail-banner{height:260px;overflow:hidden}
.public-role-detail-head{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 16px
}
.public-role-detail-head h1{margin:2px 0 4px}
.public-role-detail-head p{margin:0;color:var(--cc-muted,#748089);font-size:9px}
.public-role-members{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px
}
.public-role-members>a{
  display:flex;align-items:center;gap:9px;
  min-height:52px;padding:7px 8px;
  border:1px solid var(--cc-border,#30383d);
  color:var(--cc-text,#dce2e5);text-decoration:none
}
.public-role-members>a:hover{border-color:var(--cc-accent,#8cc63f);background:var(--cc-surface-alt,#151a1e)}
.public-role-avatar{width:34px!important;height:34px!important;flex:0 0 34px;font-size:9px}
.public-role-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.public-role-members>a>span{display:grid;gap:2px;min-width:0}
.public-role-members b{font-size:9px}
.public-role-members small{font-size:7px;color:var(--cc-muted,#748089);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.role-public-settings{gap:8px!important}
.role-public-preview{height:92px;overflow:hidden;border:1px solid var(--cc-border,#394149);background:var(--cc-surface-alt,#151a1e)}
.role-public-settings small{font-size:7px;color:var(--cc-muted,#748089)}

html.admin-theme-light .public-role-card,
html.admin-theme-light .public-role-members>a,
html.admin-theme-light .role-public-preview{border-color:#d5dee4!important;background:#fff!important}

@media(max-width:1000px){
  .public-role-grid,.public-role-members{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .public-role-grid,.public-role-members{grid-template-columns:1fr}
  .public-role-detail-banner{height:180px}
  .public-role-detail-head{align-items:stretch;flex-direction:column}
}


/* Teams & Squads vertical rollout */
.team-accordion-list{display:grid;gap:12px}
.team-accordion-item{
  overflow:hidden;
  border:1px solid var(--cc-border,#30383d);
  background:var(--cc-surface,#101519)
}
.team-accordion-trigger{
  display:block;width:100%;padding:0;border:0;background:none;color:inherit;
  text-align:left;cursor:pointer
}
.team-accordion-banner{position:relative;height:170px;overflow:hidden}
.team-accordion-banner>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.team-accordion-trigger:hover .team-accordion-banner>img{transform:scale(1.015)}
.team-accordion-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(7,10,12,.82) 0%,rgba(7,10,12,.5) 48%,rgba(7,10,12,.1) 100%)
}
.team-accordion-title{position:absolute;left:18px;bottom:16px;z-index:2}
.team-accordion-title h2{margin:5px 0 3px;font-size:22px;color:#fff}
.team-accordion-title small{font-size:9px;color:rgba(255,255,255,.72)}
.team-accordion-chevron{
  position:absolute;right:18px;bottom:18px;z-index:2;
  display:grid;place-items:center;width:34px;height:34px;
  border:1px solid rgba(255,255,255,.35);border-radius:50%;
  background:rgba(0,0,0,.34);color:#fff;font-size:20px;
  transition:transform .25s ease,background .2s ease
}
.team-accordion-item.is-open .team-accordion-chevron{transform:rotate(180deg);background:rgba(0,0,0,.55)}

.team-accordion-panel{
  max-height:0;overflow:hidden;
  transition:max-height .38s cubic-bezier(.2,.75,.25,1);
  border-top:0 solid var(--cc-border,#30383d)
}
.team-accordion-item.is-open .team-accordion-panel{border-top-width:1px}
.team-accordion-panel-inner{
  display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
  gap:18px;padding:16px
}
.team-accordion-description p{margin:0 0 13px;line-height:1.6}
.team-accordion-actions{display:flex;flex-wrap:wrap;gap:6px}
.team-accordion-members .panel-head{padding:0 0 8px;margin:0 0 8px;border-bottom:1px solid var(--cc-border,#30383d)}
.team-member-rollout{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px
}
.team-member-rollout-card{
  display:flex;align-items:center;gap:8px;min-height:50px;padding:7px 8px;
  border:1px solid var(--cc-border,#30383d);
  color:var(--cc-text,#dce2e5);text-decoration:none;
  background:var(--cc-surface-alt,#151a1e)
}
.team-member-rollout-card:hover{border-color:var(--cc-accent,#8cc63f)}
.team-member-rollout-avatar{width:34px!important;height:34px!important;flex:0 0 34px;font-size:9px}
.team-member-rollout-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.team-member-rollout-card>span{display:grid;gap:2px;min-width:0}
.team-member-rollout-card b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.team-member-rollout-card small{font-size:8px;color:var(--cc-muted,#748089)}

@media(max-width:820px){
  .team-accordion-panel-inner{grid-template-columns:1fr}
}
@media(max-width:600px){
  .team-accordion-banner{height:140px}
  .team-accordion-title{left:12px;bottom:12px}
  .team-accordion-title h2{font-size:18px}
  .team-accordion-chevron{right:12px;bottom:12px}
  .team-member-rollout{grid-template-columns:1fr}
}


/* Public Roles vertical rollout */
.role-accordion-list{display:grid;gap:12px}
.role-accordion-item{
  overflow:hidden;
  border:1px solid var(--cc-border,#30383d);
  background:var(--cc-surface,#101519)
}
.role-accordion-trigger{
  display:block;width:100%;padding:0;border:0;background:none;color:inherit;
  text-align:left;cursor:pointer
}
.role-accordion-banner{position:relative;height:170px;overflow:hidden}
.role-accordion-banner>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.role-accordion-trigger:hover .role-accordion-banner>img{transform:scale(1.015)}
.role-accordion-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(7,10,12,.82) 0%,rgba(7,10,12,.5) 48%,rgba(7,10,12,.1) 100%)
}
.role-accordion-title{position:absolute;left:18px;bottom:16px;z-index:2}
.role-accordion-title h2{margin:5px 0 3px;font-size:22px;color:#fff}
.role-accordion-title small{font-size:9px;color:rgba(255,255,255,.72)}
.role-accordion-chevron{
  position:absolute;right:18px;bottom:18px;z-index:2;
  display:grid;place-items:center;width:34px;height:34px;
  border:1px solid rgba(255,255,255,.35);border-radius:50%;
  background:rgba(0,0,0,.34);color:#fff;font-size:20px;
  transition:transform .25s ease,background .2s ease
}
.role-accordion-item.is-open .role-accordion-chevron{transform:rotate(180deg);background:rgba(0,0,0,.55)}

.role-accordion-panel{
  max-height:0;overflow:hidden;
  transition:max-height .38s cubic-bezier(.2,.75,.25,1);
  border-top:0 solid var(--cc-border,#30383d)
}
.role-accordion-item.is-open .role-accordion-panel{border-top-width:1px}
.role-accordion-panel-inner{
  display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);
  gap:18px;padding:16px
}
.role-accordion-info h3{margin:4px 0 6px;font-size:16px}
.role-accordion-info p{margin:0 0 13px;color:var(--cc-muted,#748089);font-size:9px;line-height:1.5}
.role-accordion-members .panel-head{padding:0 0 8px;margin:0 0 8px;border-bottom:1px solid var(--cc-border,#30383d)}
.role-member-rollout{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px
}
.role-member-rollout-card{
  display:flex;align-items:center;gap:8px;min-height:50px;padding:7px 8px;
  border:1px solid var(--cc-border,#30383d);
  color:var(--cc-text,#dce2e5);text-decoration:none;
  background:var(--cc-surface-alt,#151a1e)
}
.role-member-rollout-card:hover{border-color:var(--cc-accent,#8cc63f)}
.role-member-rollout-avatar{width:34px!important;height:34px!important;flex:0 0 34px;font-size:9px}
.role-member-rollout-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.role-member-rollout-card>span{display:grid;gap:2px;min-width:0}
.role-member-rollout-card b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.role-member-rollout-card small{font-size:8px;color:var(--cc-muted,#748089);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(max-width:820px){
  .role-accordion-panel-inner{grid-template-columns:1fr}
}
@media(max-width:600px){
  .role-accordion-banner{height:140px}
  .role-accordion-title{left:12px;bottom:12px}
  .role-accordion-title h2{font-size:18px}
  .role-accordion-chevron{right:12px;bottom:12px}
  .role-member-rollout{grid-template-columns:1fr}
}


/* Community logo: always preserve original aspect ratio */
.classic-brand img,
.auth-brand-strip img,
.site-logo-preview img{
  object-fit:contain!important;
  object-position:center!important;
}

.classic-brand img{
  max-width:66px;
  max-height:66px;
}

.site-logo-preview img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:135px!important;
}

/* Prevent theme rules from stretching the central community logo. */
img[src*="site_logo"]{
  object-fit:contain!important;
  object-position:center!important;
}


/* Floating member chat */
.utility-chat-toggle{
  border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;
  padding:0;text-transform:uppercase
}
.utility-chat-toggle:hover{color:var(--classic-accent,#8cc63f)}

.floating-chat-shell{
  position:fixed;right:18px;bottom:18px;z-index:480;
  display:none;align-items:flex-end;gap:8px;
  pointer-events:none
}
.floating-chat-shell.open{display:flex}
.floating-chat-shell.animate-in{pointer-events:auto}

.floating-chat-window{
  width:min(360px,calc(100vw - 36px));
  height:min(540px,calc(100vh - 72px));
  display:flex;flex-direction:column;
  background:var(--cc-surface,#11161a);
  border:1px solid var(--cc-border,#394149);
  box-shadow:0 22px 70px rgba(0,0,0,.48);
  transform:translateY(24px) scale(.97);
  opacity:0;
  transform-origin:bottom right;
  transition:transform .24s cubic-bezier(.2,.8,.2,1),opacity .18s ease
}
.floating-chat-shell.animate-in .floating-chat-window{
  transform:translateY(0) scale(1);
  opacity:1
}

.floating-chat-header{
  min-height:56px;padding:8px 9px 8px 10px;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  border-bottom:1px solid var(--cc-border,#30383d);
  background:linear-gradient(180deg,var(--cc-surface-alt,#1b2126),var(--cc-surface,#11161a))
}
.floating-chat-peer{display:flex;align-items:center;gap:8px;min-width:0}
.floating-chat-peer>div{display:grid;gap:1px;min-width:0}
.floating-chat-peer b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.floating-chat-peer small{font-size:8px;color:var(--cc-muted,#748089)}
.floating-chat-avatar{
  width:34px;height:34px;flex:0 0 34px;border-radius:50%;overflow:hidden;
  display:grid;place-items:center;background:#30383d;color:#fff;font-size:9px;font-weight:800
}
.floating-chat-avatar img{width:100%;height:100%;object-fit:cover}
.floating-chat-header-actions button{
  width:28px;height:28px;border:1px solid var(--cc-border,#394149);
  background:transparent;color:var(--cc-muted,#8d979e);font-size:18px;line-height:1;cursor:pointer
}
.floating-chat-header-actions button:hover{color:#fff;border-color:var(--cc-accent,#8cc63f)}

.floating-chat-active{
  display:flex;flex-direction:column-reverse;gap:6px;
  max-height:min(540px,calc(100vh - 72px));
  overflow-y:auto;overflow-x:visible;
  opacity:0;transform:translateX(14px);
  transition:opacity .2s ease .05s,transform .24s ease .05s
}
.floating-chat-shell.animate-in .floating-chat-active{opacity:1;transform:none}
.floating-chat-chip{
  display:flex;align-items:center;
  height:42px;
  border:1px solid var(--cc-border,#394149);
  background:var(--cc-surface,#11161a);
  box-shadow:0 8px 24px rgba(0,0,0,.28);
  transition:transform .16s ease,border-color .16s ease
}
.floating-chat-chip:hover,.floating-chat-chip.active{border-color:var(--cc-accent,#8cc63f);transform:translateX(-2px)}
.floating-chat-chip-open{
  display:flex;align-items:center;gap:6px;width:136px;min-width:0;
  height:40px;padding:4px 5px;border:0;background:transparent;color:var(--cc-text,#dce2e5);cursor:pointer
}
.floating-chat-chip-open>span:last-child{
  flex:1;min-width:0;font-size:8px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left
}
.chat-chip-avatar{
  width:28px;height:28px;flex:0 0 28px;border-radius:50%;overflow:hidden;
  display:grid;place-items:center;background:#30383d;color:#fff;font-size:8px;font-weight:800
}
.chat-chip-avatar img{width:100%;height:100%;object-fit:cover}
.floating-chat-chip-close{
  width:24px;height:40px;border:0;border-left:1px solid var(--cc-border,#30383d);
  background:transparent;color:var(--cc-muted,#748089);cursor:pointer;font-size:14px
}
.floating-chat-chip-close:hover{color:#fff;background:rgba(255,255,255,.04)}

.floating-chat-messages{
  flex:1;min-height:0;overflow-y:auto;
  padding:12px;display:flex;flex-direction:column;gap:7px;
  scroll-behavior:smooth
}
.floating-chat-messages.loading{opacity:.65}
.floating-chat-message{display:flex;flex-direction:column;align-items:flex-start;max-width:82%;animation:chatMessageIn .18s ease both}
.floating-chat-message.mine{align-self:flex-end;align-items:flex-end}
.floating-chat-message>div{
  padding:8px 10px;border-radius:12px 12px 12px 3px;
  background:var(--cc-surface-alt,#1c2328);
  border:1px solid var(--cc-border,#30383d);
  font-size:9px;line-height:1.45;word-break:break-word
}
.floating-chat-message.mine>div{
  border-radius:12px 12px 3px 12px;
  background:color-mix(in srgb,var(--cc-accent,#8cc63f) 20%,var(--cc-surface-alt,#1c2328));
  border-color:color-mix(in srgb,var(--cc-accent,#8cc63f) 38%,var(--cc-border,#30383d))
}
.floating-chat-message small{margin-top:2px;font-size:7px;color:var(--cc-muted,#748089)}
@keyframes chatMessageIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

.floating-chat-compose{
  display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:end;gap:6px;
  padding:8px;border-top:1px solid var(--cc-border,#30383d);
  background:var(--cc-surface-alt,#151a1e)
}
.floating-chat-compose textarea{
  width:100%;max-height:110px;resize:none;min-height:36px;
  padding:9px 10px;background:var(--cc-surface,#0f1418);
  border:1px solid var(--cc-border,#394149);color:var(--cc-text,#e1e5e8);
  font:9px/1.4 inherit;border-radius:5px
}
.floating-chat-compose textarea:focus{outline:none;border-color:var(--cc-accent,#8cc63f)}
.floating-chat-compose button{
  width:38px;height:36px;border:0;border-radius:5px;
  background:var(--cc-accent,#8cc63f);color:#101510;font-size:15px;font-weight:900;cursor:pointer
}
.floating-chat-compose button:disabled{opacity:.5;cursor:wait}

.floating-chat-empty{
  flex:1;display:grid;place-items:center;align-content:center;gap:7px;text-align:center;padding:24px;color:var(--cc-muted,#748089)
}
.floating-chat-empty-icon{
  display:grid;place-items:center;width:48px;height:48px;border-radius:50%;
  background:var(--cc-surface-alt,#1c2328);border:1px solid var(--cc-border,#394149);
  color:var(--cc-accent,#8cc63f);font-size:18px;font-weight:900
}
.floating-chat-empty b{font-size:11px;color:var(--cc-text,#dce2e5)}
.floating-chat-empty p{max-width:220px;margin:0;font-size:8px;line-height:1.5}
.floating-chat-no-messages,.floating-chat-error{
  margin:auto;padding:10px;text-align:center;font-size:8px;color:var(--cc-muted,#748089)
}
.floating-chat-error{color:#d98b8b}

html.admin-theme-light .floating-chat-window,
html.admin-theme-light .floating-chat-chip{background:#fff!important;border-color:#d5dee4!important}
html.admin-theme-light .floating-chat-header,
html.admin-theme-light .floating-chat-compose{background:#f5f8fa!important;border-color:#d5dee4!important}

@media(max-width:650px){
  .floating-chat-shell{right:8px;bottom:8px;left:8px;gap:5px}
  .floating-chat-window{width:100%;height:min(72vh,540px)}
  .floating-chat-active{
    position:absolute;right:6px;bottom:calc(100% + 6px);
    max-width:calc(100vw - 28px);max-height:none;
    flex-direction:row;overflow-x:auto;overflow-y:hidden
  }
  .floating-chat-chip-open{width:112px}
}


/* Floating chat: minimize + incoming-message attention */
.floating-chat-shell.is-collapsed .floating-chat-window{
  height:56px!important;
  overflow:hidden;
}
.floating-chat-shell.is-collapsed .floating-chat-messages,
.floating-chat-shell.is-collapsed .floating-chat-empty,
.floating-chat-shell.is-collapsed .floating-chat-compose{
  display:none!important;
}
.floating-chat-shell.is-collapsed .floating-chat-header{
  border-bottom:0;
}
.floating-chat-shell.is-collapsed .floating-chat-active{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(12px) scale(.96)!important;
  max-height:0!important;
  width:0!important;
  margin:0!important;
  overflow:hidden!important;
}

.floating-chat-shell.needs-attention .floating-chat-window{
  animation:chatAttention 1s ease-in-out infinite;
}
.floating-chat-shell.needs-attention .floating-chat-header{
  border-color:var(--cc-accent,#8cc63f);
}
.floating-chat-shell.needs-attention .floating-chat-peer:after{
  content:'NEU';
  margin-left:4px;
  padding:2px 4px;
  border-radius:3px;
  background:var(--cc-accent,#8cc63f);
  color:#101510;
  font-size:7px;
  font-weight:900;
  letter-spacing:.04em;
}
.utility-chat-toggle.chat-needs-attention{
  position:relative;
  color:var(--classic-accent,#8cc63f)!important;
  animation:chatTopAttention .85s ease-in-out infinite;
}
.utility-chat-toggle.chat-needs-attention:after{
  content:'';
  position:absolute;
  right:-7px;
  top:-2px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#f23f43;
  box-shadow:0 0 0 0 rgba(242,63,67,.55);
  animation:chatUnreadDot 1s ease-out infinite;
}

@keyframes chatAttention{
  0%,100%{
    box-shadow:0 22px 70px rgba(0,0,0,.48),0 0 0 0 color-mix(in srgb,var(--cc-accent,#8cc63f) 0%,transparent);
  }
  50%{
    box-shadow:0 22px 70px rgba(0,0,0,.48),0 0 0 4px color-mix(in srgb,var(--cc-accent,#8cc63f) 42%,transparent);
  }
}
@keyframes chatTopAttention{
  0%,100%{opacity:1}
  50%{opacity:.48}
}
@keyframes chatUnreadDot{
  0%{box-shadow:0 0 0 0 rgba(242,63,67,.55)}
  100%{box-shadow:0 0 0 7px rgba(242,63,67,0)}
}

@media (prefers-reduced-motion:reduce){
  .floating-chat-shell.needs-attention .floating-chat-window,
  .utility-chat-toggle.chat-needs-attention,
  .utility-chat-toggle.chat-needs-attention:after{
    animation:none!important;
  }
}


/* Chat partner profile link */
.floating-chat-peer{
  color:inherit!important;
  text-decoration:none!important;
  border-radius:5px;
  padding:3px 5px 3px 2px;
  transition:background .15s ease,transform .15s ease;
}
.floating-chat-peer[href]:not([href="#"]):hover{
  background:color-mix(in srgb,var(--cc-accent,#8cc63f) 9%,transparent);
  transform:translateX(1px);
}
.floating-chat-peer[href]:not([href="#"]):hover b{
  color:var(--cc-accent,#8cc63f);
}
.floating-chat-peer[aria-disabled="true"]{
  pointer-events:none;
}


/* Existing chat messages must not re-animate during polling. */
.floating-chat-message.no-entry-animation{
  animation:none!important;
}


/* Optional Chat module */
body:not(.chat-module-enabled) [data-chat-start],
body:not(.chat-module-enabled) [data-chat-toggle],
body:not(.chat-module-enabled) .floating-chat-shell{
  display:none!important;
}


/* Chat minimize / expand animation */
.floating-chat-window{
  transition:
    height .32s cubic-bezier(.2,.8,.2,1),
    transform .24s cubic-bezier(.2,.8,.2,1),
    opacity .18s ease,
    box-shadow .2s ease!important;
}

.floating-chat-active{
  transition:
    opacity .2s ease .12s,
    transform .28s cubic-bezier(.2,.8,.2,1) .08s,
    max-height .28s ease,
    width .24s ease!important;
}

.floating-chat-shell.is-expanding .floating-chat-window{
  animation:chatWindowExpand .34s cubic-bezier(.2,.82,.22,1) both;
}

.floating-chat-shell.is-expanding .floating-chat-active{
  animation:chatPartnersReveal .34s ease .12s both;
}

@keyframes chatWindowExpand{
  0%{
    transform:translateY(8px) scaleY(.92);
    transform-origin:bottom right;
  }
  65%{
    transform:translateY(-2px) scaleY(1.01);
    transform-origin:bottom right;
  }
  100%{
    transform:translateY(0) scaleY(1);
    transform-origin:bottom right;
  }
}

@keyframes chatPartnersReveal{
  from{
    opacity:0;
    transform:translateX(10px) translateY(6px);
  }
  to{
    opacity:1;
    transform:none;
  }
}

/* Minimized means header only – no partner overview beside it. */
.floating-chat-shell.is-collapsed{
  gap:0!important;
}

@media (prefers-reduced-motion:reduce){
  .floating-chat-shell.is-expanding .floating-chat-window,
  .floating-chat-shell.is-expanding .floating-chat-active{
    animation:none!important;
  }
}


/* Admin analytics dashboard */
.admin-analytics-panel{padding:0!important;overflow:hidden;margin-bottom:14px}
.admin-analytics-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
  padding:14px 16px;border-bottom:1px solid var(--cc-border,#30383d)
}
.admin-analytics-head h2{margin:3px 0 3px;font-size:17px}
.admin-analytics-head p{margin:0;font-size:8px;color:var(--cc-muted,#748089)}
.admin-analytics-filter{display:flex;align-items:flex-end;gap:7px}
.admin-analytics-filter label{display:grid;gap:4px;font-size:8px;color:var(--cc-muted,#748089)}
.admin-analytics-filter input{min-height:31px;padding:5px 7px}
.admin-analytics-filter button{min-height:31px}

.admin-analytics-kpis{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  border-bottom:1px solid var(--cc-border,#30383d)
}
.admin-analytics-kpis article{
  display:grid;gap:3px;padding:13px 15px;
  border-right:1px solid var(--cc-border,#30383d)
}
.admin-analytics-kpis article:last-child{border-right:0}
.admin-analytics-kpis span{font-size:8px;text-transform:uppercase;color:var(--cc-muted,#748089)}
.admin-analytics-kpis strong{font-size:23px;line-height:1;color:var(--cc-text,#e2e7e9)}
.admin-analytics-kpis small{font-size:7px;color:var(--cc-muted,#748089)}

.admin-analytics-charts{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0
}
.admin-chart-card{
  min-width:0;padding:13px 14px;
  border-right:1px solid var(--cc-border,#30383d);
  border-top:1px solid var(--cc-border,#30383d)
}
.admin-chart-card:nth-child(3){border-right:0}
.admin-chart-wide{grid-column:1/-1;border-right:0;border-top:0}
.admin-chart-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.admin-chart-card-head h3{margin:0 0 2px;font-size:11px}
.admin-chart-card-head small{font-size:7px;color:var(--cc-muted,#748089)}

.admin-line-chart{display:block;width:100%;height:auto;max-height:270px;overflow:visible}
.admin-chart-grid{stroke:var(--cc-border,#30383d);stroke-width:1;opacity:.8}
.admin-chart-axis{fill:var(--cc-muted,#748089);font-size:9px}
.admin-chart-line{fill:none;stroke:var(--cc-accent,#8cc63f);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.admin-chart-point{fill:var(--cc-surface,#11161a);stroke:var(--cc-accent,#8cc63f);stroke-width:2}
.admin-chart-empty{display:grid;place-items:center;min-height:170px;color:var(--cc-muted,#748089);font-size:8px}

.admin-ranking-chart{display:grid}
.admin-ranking-row{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.8fr);
  gap:12px;align-items:center;min-height:42px;
  border-bottom:1px solid var(--cc-border,#30383d)
}
.admin-ranking-row:last-child{border-bottom:0}
.admin-ranking-label{display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:5px;align-items:center}
.admin-ranking-label>span{grid-row:1/3;color:var(--cc-muted,#748089);font-size:8px}
.admin-ranking-label b{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-ranking-label small{font-size:7px;color:var(--cc-muted,#748089);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-ranking-value{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:7px}
.admin-ranking-value>div{height:7px;background:var(--cc-surface-alt,#151a1e);overflow:hidden}
.admin-ranking-value i{display:block;height:100%;background:var(--cc-accent,#8cc63f)}
.admin-ranking-value b{text-align:right;font-size:8px}

.admin-audience-chart{display:grid;gap:15px;padding:6px 0 4px}
.admin-audience-chart>div{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;align-items:end
}
.admin-audience-chart span{display:grid;gap:2px}
.admin-audience-chart b{font-size:9px}
.admin-audience-chart small{font-size:7px;color:var(--cc-muted,#748089)}
.admin-audience-chart strong{font-size:15px}
.admin-audience-chart i{
  grid-column:1/-1;display:block;height:9px;background:var(--cc-surface-alt,#151a1e);overflow:hidden
}
.admin-audience-chart em{display:block;height:100%;background:var(--cc-accent,#8cc63f)}

html.admin-theme-light .admin-chart-point{fill:#fff}
html.admin-theme-light .admin-ranking-value>div,
html.admin-theme-light .admin-audience-chart i{background:#edf1f3!important}

@media(max-width:950px){
  .admin-analytics-head{align-items:stretch;flex-direction:column}
  .admin-analytics-filter{flex-wrap:wrap}
  .admin-analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-analytics-kpis article:nth-child(2){border-right:0}
  .admin-analytics-kpis article:nth-child(-n+2){border-bottom:1px solid var(--cc-border,#30383d)}
}
@media(max-width:700px){
  .admin-analytics-charts{grid-template-columns:1fr}
  .admin-chart-wide{grid-column:auto}
  .admin-chart-card{border-right:0}
  .admin-analytics-filter{display:grid;grid-template-columns:1fr 1fr}
  .admin-analytics-filter button{grid-column:1/-1}
  .admin-ranking-row{grid-template-columns:1fr}
}


/* Live Discord roles in user administration */
.user-admin-row{
  grid-template-columns:minmax(150px,.7fr) minmax(310px,1.35fr) minmax(220px,.9fr) 110px auto!important;
}
.user-role-checks label>span{
  display:flex;
  align-items:center;
  gap:4px;
  min-width:0;
}
.user-role-checks label.discord-confirmed{
  box-shadow:inset 0 -2px 0 #5865f2;
}
.discord-role-confirmed{
  display:inline-block;
  padding:1px 3px;
  border-radius:3px;
  background:#5865f2;
  color:#fff!important;
  font-size:6px!important;
  line-height:1.35;
  white-space:nowrap;
}
.user-discord-roles{display:grid;gap:5px;min-width:0}
.user-discord-roles-head{
  display:flex;align-items:center;justify-content:space-between;gap:6px
}
.user-discord-roles-head small{font-size:7px;color:#8992f2}
.discord-role-chip-list{display:flex;flex-wrap:wrap;gap:4px}
.discord-role-chip{
  display:inline-flex;align-items:center;gap:4px;
  min-height:24px;padding:3px 6px;
  border:1px solid rgba(88,101,242,.5);
  background:rgba(88,101,242,.1);
  color:var(--cc-text,#dce2e5);
  border-radius:4px;
  font-size:8px;
  white-space:nowrap
}
.discord-role-chip small{
  font-size:6px;color:#9ea6ff
}
.discord-role-state{
  display:block;padding:5px 6px;border:1px solid var(--cc-border,#394149);
  font-size:7px;line-height:1.35
}
.discord-role-state.muted{color:var(--cc-muted,#748089)}
.discord-role-state.error{color:#d98b8b;border-color:rgba(217,139,139,.35)}

@media(max-width:1350px){
  .user-admin-row{
    grid-template-columns:minmax(150px,.7fr) minmax(300px,1.4fr) minmax(220px,.9fr)!important
  }
  .user-status-field,.user-admin-actions{grid-column:auto}
}
@media(max-width:950px){
  .user-admin-row{grid-template-columns:1fr 1fr!important}
}
@media(max-width:650px){
  .user-admin-row{grid-template-columns:1fr!important}
}


/* Dedicated admin module management */
.admin-modules-page{padding:0!important;overflow:hidden}
.admin-module-switches .switch-row{
  min-height:54px;
  padding:9px 12px;
}
.admin-module-switches .switch-row>div{
  display:grid;
  gap:3px;
}
.admin-module-switches .switch-row b{font-size:10px}
.admin-module-switches .switch-row small{
  font-size:8px;
  color:var(--cc-muted,#748089);
  line-height:1.4;
}
.admin-modules-savebar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:11px 12px;
  border-top:1px solid var(--cc-border,#30383d);
  background:var(--cc-surface-alt,#11161a);
}
.admin-modules-savebar span{
  font-size:8px;
  color:var(--cc-muted,#748089);
}
.admin-modules-savebar .primary{min-width:160px}

@media(max-width:650px){
  .admin-modules-savebar{
    align-items:stretch;
    flex-direction:column;
  }
  .admin-modules-savebar .primary{width:100%}
}


/* Forum-Struktur: kompakte, saubere Admin-Karten */
.forum-section-sort-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:10px;
}

.forum-admin-section,
.forum-admin-board{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  padding:0!important;
  overflow:hidden;
  border:1px solid var(--cc-border,#30383d)!important;
  background:var(--cc-surface,#11161a)!important;
}

.forum-admin-section>.drag-handle,
.forum-admin-board>.drag-handle{
  width:38px!important;
  min-width:38px!important;
  border:0!important;
  border-right:1px solid var(--cc-border,#30383d)!important;
  background:var(--cc-surface-alt,#181e22)!important;
}

.forum-admin-section>.sort-item-content,
.forum-admin-board>.sort-item-content{
  min-width:0;
  padding:12px 14px;
}

.forum-structure-form,
.forum-structure-form.no-sort-field,
.forum-board-form,
.forum-board-form.no-sort-field{
  display:grid!important;
  grid-template-columns:minmax(180px,.42fr) minmax(260px,1fr) auto!important;
  gap:10px!important;
  align-items:end!important;
}

.forum-structure-form label,
.forum-board-form label{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:5px!important;
  margin:0!important;
  min-width:0;
  color:var(--cc-muted,#748089)!important;
  font-size:8px!important;
  font-weight:700;
}

.forum-structure-form label.wide,
.forum-board-form label.wide{
  grid-column:auto!important;
}

.forum-structure-form input,
.forum-structure-form select,
.forum-board-form input,
.forum-board-form select{
  width:100%!important;
  min-width:0!important;
  min-height:34px!important;
  box-sizing:border-box!important;
  padding:7px 9px!important;
}

.forum-structure-form>button,
.forum-board-form>button{
  width:auto!important;
  min-width:120px!important;
  min-height:34px!important;
  padding:6px 12px!important;
  white-space:nowrap;
}

.forum-admin-meta{
  min-height:34px;
  margin-top:10px!important;
  padding-top:9px!important;
}

.forum-admin-meta>span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 7px;
  border:1px solid var(--cc-border,#30383d);
  background:var(--cc-surface-alt,#151a1e);
  color:var(--cc-muted,#748089);
  font-size:7px;
}

.forum-admin-meta .danger-button,
.forum-admin-meta .button{
  min-height:28px!important;
  padding:5px 9px!important;
  font-size:7px!important;
}

.forum-admin-new{
  margin:12px!important;
  padding:12px!important;
  border:1px dashed var(--cc-border,#394149)!important;
  background:var(--cc-surface-alt,#151a1e);
}

.forum-admin-new h3{
  margin:0 0 10px!important;
}

.forum-board-dnd-grid{
  padding:10px;
}

.forum-board-drop-column{
  overflow:hidden;
  border-radius:0;
}

.board-sort-list{
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:8px!important;
}

.board-sort-list .forum-admin-board{
  margin:0!important;
}

/* Light-Theme-Korrektur für Forum-Struktur */
html.admin-theme-light .forum-admin-section,
html.admin-theme-light .forum-admin-board{
  background:#fff!important;
  border-color:#cad5dc!important;
}

html.admin-theme-light .forum-admin-section>.drag-handle,
html.admin-theme-light .forum-admin-board>.drag-handle{
  background:#eef4e9!important;
  border-right-color:#cad5dc!important;
}

html.admin-theme-light .forum-admin-meta>span,
html.admin-theme-light .forum-admin-new{
  background:#f6f8f9!important;
  border-color:#d3dde3!important;
}

html.admin-theme-light .forum-structure-form label,
html.admin-theme-light .forum-board-form label{
  color:#516675!important;
}

@media(max-width:1050px){
  .forum-structure-form,
  .forum-structure-form.no-sort-field,
  .forum-board-form,
  .forum-board-form.no-sort-field{
    grid-template-columns:1fr 1fr!important;
  }

  .forum-structure-form>button,
  .forum-board-form>button{
    grid-column:1/-1;
    justify-self:end;
  }
}

@media(max-width:700px){
  .forum-section-sort-list{padding:6px}
  .forum-admin-section,
  .forum-admin-board{
    grid-template-columns:30px minmax(0,1fr)!important;
  }
  .forum-admin-section>.drag-handle,
  .forum-admin-board>.drag-handle{
    width:30px!important;
    min-width:30px!important;
  }
  .forum-admin-section>.sort-item-content,
  .forum-admin-board>.sort-item-content{
    padding:10px;
  }
  .forum-structure-form,
  .forum-structure-form.no-sort-field,
  .forum-board-form,
  .forum-board-form.no-sort-field{
    grid-template-columns:1fr!important;
  }
  .forum-structure-form>button,
  .forum-board-form>button{
    grid-column:auto;
    width:100%!important;
    justify-self:stretch;
  }
  .forum-admin-meta{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  .forum-admin-meta form,
  .forum-admin-meta .action-row{
    width:100%;
  }
}


/* Forum-Struktur: kompakte Ansicht, Bearbeitung erst auf Klick */
.forum-structure-panel{overflow:hidden}
.forum-section-sort-list{display:flex;flex-direction:column;gap:7px;padding:9px}
.forum-admin-compact-card{
  display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;
  padding:0!important;overflow:hidden;
  border:1px solid var(--cc-border,#30383d)!important;
  background:var(--cc-surface,#11161a)!important
}
.forum-admin-compact-card>.drag-handle{
  width:34px!important;min-width:34px!important;min-height:60px!important;
  border:0!important;border-right:1px solid var(--cc-border,#30383d)!important;
  background:var(--cc-surface-alt,#181e22)!important
}
.forum-admin-compact-card>.sort-item-content{min-width:0;padding:0!important}

.forum-item-summary{
  display:grid;grid-template-columns:minmax(0,1fr) 64px auto;
  gap:10px;align-items:center;min-height:62px;padding:9px 11px
}
.forum-board-summary{grid-template-columns:44px minmax(0,1fr) 64px auto}
.forum-summary-icon{width:40px;height:40px;overflow:hidden;border:1px solid var(--cc-border,#394149)}
.forum-summary-icon img{width:100%;height:100%;object-fit:cover;display:block}
.forum-item-main{display:grid;gap:3px;min-width:0}
.forum-item-type{font-size:7px;font-weight:800;letter-spacing:.08em;color:var(--cc-accent,#8cc63f)}
.forum-item-main b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.forum-item-main small{font-size:8px;color:var(--cc-muted,#748089);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.forum-item-count{display:grid;justify-items:center;gap:1px;padding-left:9px;border-left:1px solid var(--cc-border,#30383d)}
.forum-item-count strong{font-size:14px;color:var(--cc-accent,#8cc63f)}
.forum-item-count span{font-size:7px;color:var(--cc-muted,#748089)}
.forum-item-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.forum-item-actions form{margin:0}
.forum-item-actions .button,.forum-item-actions button{
  width:auto!important;min-height:28px!important;padding:5px 9px!important;font-size:7px!important;white-space:nowrap
}

.forum-inline-editor{
  max-height:0;
  overflow:hidden;
  opacity:0;
  transform:translateY(-5px);
  border-top:0 solid var(--cc-border,#30383d);
  transition:opacity .18s ease,transform .2s ease,border-width .15s ease
}
.forum-inline-editor.is-visible{
  max-height:none;
  overflow:visible;
  opacity:1;
  transform:none;
  border-top-width:1px
}
.forum-inline-edit-form{
  display:grid!important;grid-template-columns:minmax(190px,.45fr) minmax(260px,1fr)!important;
  gap:10px 12px!important;padding:12px!important;background:var(--cc-surface-alt,#151a1e)
}
.forum-inline-edit-form label{display:grid!important;gap:5px!important;margin:0!important;min-width:0;font-size:8px!important;color:var(--cc-muted,#748089)!important}
.forum-inline-edit-form label>span{font-weight:700}
.forum-inline-edit-form input:not([type="checkbox"]):not([type="file"]),.forum-inline-edit-form select{
  width:100%!important;min-width:0!important;min-height:34px!important;box-sizing:border-box!important;padding:7px 9px!important
}
.forum-inline-edit-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:6px;padding-top:2px}
.forum-inline-edit-actions .button,.forum-inline-edit-actions button{width:auto!important;min-width:110px!important;min-height:30px!important;padding:5px 10px!important}

.forum-icon-edit{
  grid-column:1/-1;display:grid;grid-template-columns:50px minmax(0,1fr) auto;
  gap:10px;align-items:center;padding:9px;border:1px solid var(--cc-border,#394149);
  background:var(--cc-surface,#11161a)
}
.forum-icon-edit-preview{width:46px;height:46px;overflow:hidden}
.forum-icon-edit-preview img{width:100%;height:100%;object-fit:cover}
.forum-icon-edit .compact-check{display:flex!important;align-items:center!important;gap:5px!important;white-space:nowrap}
.forum-icon-edit input[type="file"],.forum-create-form input[type="file"]{width:100%;font-size:8px}

.forum-create-box{margin:10px;border:1px dashed var(--cc-border,#394149);background:var(--cc-surface-alt,#151a1e)}
.forum-create-box>summary{cursor:pointer;list-style:none;padding:10px 12px;font-size:9px;font-weight:800;color:var(--cc-accent,#8cc63f)}
.forum-create-box>summary::-webkit-details-marker{display:none}
.forum-create-box[open]>summary{border-bottom:1px solid var(--cc-border,#30383d)}
.forum-create-box-body{animation:forumCreateOpen .2s ease both}
.forum-create-box .forum-inline-edit-form{background:transparent}
.forum-create-wide{grid-column:1/-1!important}
.forum-create-form small{font-size:7px;color:var(--cc-muted,#748089)}
@keyframes forumCreateOpen{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

.forum-board-dnd-grid{padding:10px;gap:10px!important}
.board-sort-list{display:flex;flex-direction:column;gap:6px;padding:7px!important}
.board-sort-list .forum-admin-board{margin:0!important}

html.admin-theme-light .forum-admin-compact-card{background:#fff!important;border-color:#ccd7de!important}
html.admin-theme-light .forum-admin-compact-card>.drag-handle{background:#eef4e9!important;border-right-color:#ccd7de!important}
html.admin-theme-light .forum-inline-edit-form,html.admin-theme-light .forum-create-box{background:#f7f9fa!important}
html.admin-theme-light .forum-icon-edit{background:#fff!important;border-color:#d1dbe1!important}

@media(max-width:1050px){
 .forum-item-summary{grid-template-columns:minmax(0,1fr) auto}
 .forum-board-summary{grid-template-columns:42px minmax(0,1fr) auto}
 .forum-item-count{display:none}
 .forum-inline-edit-form{grid-template-columns:1fr 1fr!important}
}
@media(max-width:700px){
 .forum-admin-compact-card{grid-template-columns:28px minmax(0,1fr)!important}
 .forum-admin-compact-card>.drag-handle{width:28px!important;min-width:28px!important}
 .forum-item-summary,.forum-board-summary{grid-template-columns:1fr!important}
 .forum-summary-icon{display:none}
 .forum-item-actions{justify-content:flex-start}
 .forum-inline-edit-form{grid-template-columns:1fr!important}
 .forum-icon-edit{grid-template-columns:46px 1fr!important}
 .forum-icon-edit .compact-check{grid-column:1/-1}
 .forum-inline-edit-actions{flex-direction:column}
 .forum-inline-edit-actions .button,.forum-inline-edit-actions button{width:100%!important}
}


/* News-Kategorien analog zur kompakten Forum-Verwaltung */
.news-category-manager{overflow:hidden}
.news-category-sort-list{display:flex;flex-direction:column;gap:7px;padding:9px}
.news-category-card{
  display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;
  padding:0!important;overflow:hidden;border:1px solid var(--cc-border,#30383d)!important;
  background:var(--cc-surface,#11161a)!important
}
.news-category-card>.drag-handle{
  width:34px!important;min-width:34px!important;min-height:72px!important;border:0!important;
  border-right:1px solid var(--cc-border,#30383d)!important;background:var(--cc-surface-alt,#181e22)!important
}
.news-category-card>.sort-item-content{min-width:0;padding:0!important}
.news-category-summary{
  display:grid;grid-template-columns:190px minmax(0,1fr) 64px auto;
  align-items:center;gap:12px;min-height:86px;padding:9px 11px
}
.news-category-banner{width:190px;height:64px;overflow:hidden;border:1px solid var(--cc-border,#394149)}
.news-category-banner img{width:100%;height:100%;object-fit:cover;display:block}
.news-category-info{display:grid;gap:3px;min-width:0}
.news-category-type{font-size:7px;font-weight:800;letter-spacing:.08em;color:var(--cc-accent,#8cc63f)}
.news-category-info b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.news-category-info small{font-size:8px;color:var(--cc-muted,#748089);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.news-category-count{display:grid;justify-items:center;gap:1px;padding-left:9px;border-left:1px solid var(--cc-border,#30383d)}
.news-category-count strong{font-size:14px;color:var(--cc-accent,#8cc63f)}
.news-category-count span{font-size:7px;color:var(--cc-muted,#748089)}
.news-category-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.news-category-actions form{margin:0}
.news-category-actions button{width:auto!important;min-height:28px!important;padding:5px 9px!important;font-size:7px!important;white-space:nowrap}

.news-category-inline-editor{
  max-height:0;overflow:hidden;opacity:0;transform:translateY(-5px);
  border-top:0 solid var(--cc-border,#30383d);
  transition:max-height .28s cubic-bezier(.2,.8,.2,1),opacity .18s ease,transform .2s ease,border-width .15s ease
}
.news-category-inline-editor.is-visible{max-height:440px;opacity:1;transform:none;border-top-width:1px}
.news-category-edit-form{
  display:grid!important;grid-template-columns:minmax(190px,.45fr) minmax(260px,1fr)!important;
  gap:10px 12px!important;padding:12px!important;background:var(--cc-surface-alt,#151a1e)
}
.news-category-edit-form label{display:grid!important;gap:5px!important;margin:0!important;min-width:0;font-size:8px!important;color:var(--cc-muted,#748089)!important}
.news-category-edit-form label>span{font-weight:700}
.news-category-edit-form input:not([type="checkbox"]):not([type="file"]){
  width:100%!important;min-width:0!important;min-height:34px!important;box-sizing:border-box!important;padding:7px 9px!important
}
.news-banner-edit{
  grid-column:1/-1;display:grid;grid-template-columns:180px minmax(0,1fr) auto;
  align-items:center;gap:10px;padding:9px;border:1px solid var(--cc-border,#394149);
  background:var(--cc-surface,#11161a)
}
.news-banner-edit-preview{width:180px;height:60px;overflow:hidden}
.news-banner-edit-preview img{width:100%;height:100%;object-fit:cover;display:block}
.news-banner-edit .compact-check{display:flex!important;align-items:center!important;gap:5px!important;white-space:nowrap}
.news-banner-edit input[type="file"],.news-category-create-box input[type="file"]{width:100%;font-size:8px}
.news-category-edit-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:6px}
.news-category-edit-actions .button,.news-category-edit-actions button{width:auto!important;min-width:110px!important;min-height:30px!important;padding:5px 10px!important}

.news-category-create-box{margin:10px;border:1px dashed var(--cc-border,#394149);background:var(--cc-surface-alt,#151a1e)}
.news-category-create-box>summary{cursor:pointer;list-style:none;padding:10px 12px;font-size:9px;font-weight:800;color:var(--cc-accent,#8cc63f)}
.news-category-create-box>summary::-webkit-details-marker{display:none}
.news-category-create-box[open]>summary{border-bottom:1px solid var(--cc-border,#30383d)}
.news-category-create-body{animation:newsCategoryOpen .2s ease both}
.news-category-create-box .news-category-edit-form{background:transparent}
.news-category-wide{grid-column:1/-1!important}
.news-category-wide small{font-size:7px;color:var(--cc-muted,#748089)}
@keyframes newsCategoryOpen{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

html.admin-theme-light .news-category-card{background:#fff!important;border-color:#ccd7de!important}
html.admin-theme-light .news-category-card>.drag-handle{background:#eef4e9!important;border-right-color:#ccd7de!important}
html.admin-theme-light .news-category-edit-form,html.admin-theme-light .news-category-create-box{background:#f7f9fa!important}
html.admin-theme-light .news-banner-edit{background:#fff!important;border-color:#d1dbe1!important}

@media(max-width:1050px){
 .news-category-summary{grid-template-columns:140px minmax(0,1fr) auto}
 .news-category-banner{width:140px;height:52px}
 .news-category-count{display:none}
 .news-category-edit-form{grid-template-columns:1fr 1fr!important}
}
@media(max-width:700px){
 .news-category-card{grid-template-columns:28px minmax(0,1fr)!important}
 .news-category-card>.drag-handle{width:28px!important;min-width:28px!important}
 .news-category-summary{grid-template-columns:1fr!important}
 .news-category-banner{width:100%;height:auto;aspect-ratio:3/1}
 .news-category-actions{justify-content:flex-start}
 .news-category-edit-form{grid-template-columns:1fr!important}
 .news-banner-edit{grid-template-columns:1fr!important}
 .news-banner-edit-preview{width:100%;height:auto;aspect-ratio:3/1}
 .news-category-edit-actions{flex-direction:column}
 .news-category-edit-actions .button,.news-category-edit-actions button{width:100%!important}
}


/* Global public Newsfeed module */
.global-newsfeed{
  position:relative;
  z-index:70;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  min-height:38px;
  overflow:hidden;
  background:var(--cc-surface-strong,#111820);
  border-bottom:1px solid var(--cc-border-strong,#3d4850);
  color:var(--cc-text,#fff);
}
.global-newsfeed-label{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 13px;
  background:var(--cc-accent,#8cc63f);
  color:#101510;
  white-space:nowrap;
}
.global-newsfeed-label span{
  width:7px;height:7px;border-radius:50%;
  background:currentColor;
  animation:globalNewsfeedPulse 1.6s ease-in-out infinite;
}
.global-newsfeed-label b{
  font-size:8px;
  letter-spacing:.09em;
}
.global-newsfeed-viewport{
  min-width:0;
  overflow:hidden;
  display:flex;
  align-items:center;
}
.global-newsfeed-single{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  padding:7px 12px;
  font-size:9px;
}
.global-newsfeed-single strong{white-space:nowrap;color:var(--cc-text,#fff)}
.global-newsfeed-single span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--cc-text-soft,#bdc7cc);
}
.global-newsfeed-single a,
.global-newsfeed-entry a{
  white-space:nowrap;
  color:var(--cc-accent,#8cc63f)!important;
  font-weight:700;
  text-decoration:none!important;
}
.global-newsfeed-track{
  display:flex;
  width:max-content;
  animation:globalNewsfeedScroll 36s linear infinite;
}
.global-newsfeed:hover .global-newsfeed-track{animation-play-state:paused}
.global-newsfeed-group{
  display:flex;
  align-items:center;
  flex:none;
}
.global-newsfeed-entry{
  position:relative;
  display:flex;
  align-items:center;
  gap:8px;
  min-height:37px;
  padding:6px 22px 6px 14px;
  white-space:nowrap;
  font-size:9px;
}
.global-newsfeed-entry:after{
  content:'';
  position:absolute;
  right:7px;
  width:3px;height:3px;
  border-radius:50%;
  background:var(--cc-muted,#748087);
}
.global-newsfeed-entry strong{color:var(--cc-text,#fff)}
.global-newsfeed-entry span{color:var(--cc-text-soft,#bdc7cc)}
.global-newsfeed-entry.kind-important strong{color:#f3a2aa}
.global-newsfeed-entry.kind-warning strong{color:#e2be68}
.global-newsfeed-entry.kind-success strong{color:#a8d77d}
@keyframes globalNewsfeedScroll{to{transform:translateX(-50%)}}
@keyframes globalNewsfeedPulse{50%{opacity:.35;transform:scale(.72)}}

@media(prefers-reduced-motion:reduce){
  .global-newsfeed-track{animation:none!important}
  .global-newsfeed-group[aria-hidden="true"]{display:none!important}
  .global-newsfeed-label span{animation:none!important}
}
@media(max-width:650px){
  .global-newsfeed{grid-template-columns:82px minmax(0,1fr)}
  .global-newsfeed-label{padding:0 8px}
  .global-newsfeed-single{gap:6px;padding:6px 8px}
  .global-newsfeed-single span{max-width:50vw}
}

/* Newsfeed Admin */
.newsfeed-admin-panel{overflow:visible}
.newsfeed-admin-list{display:grid;gap:7px;padding:9px}
.newsfeed-admin-item{
  position:relative;
  display:grid;
  grid-template-columns:5px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:10px 11px;
  background:var(--cc-surface,#11161a);
  border:1px solid var(--cc-border,#30383d);
}
.newsfeed-admin-status{align-self:stretch;border-radius:2px;background:#5d91b5}
.newsfeed-admin-status.kind-success{background:#6ca349}
.newsfeed-admin-status.kind-warning{background:#c29639}
.newsfeed-admin-status.kind-important{background:#bd5862}
.newsfeed-admin-main{display:grid;gap:3px;min-width:0}
.newsfeed-admin-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.newsfeed-admin-title b{font-size:10px}
.newsfeed-admin-main p{
  margin:0;
  color:var(--cc-text-soft,#aab4b9);
  font-size:8px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.newsfeed-admin-main>small{font-size:7px;color:var(--cc-muted,#748087)}
.newsfeed-state{
  padding:2px 5px;
  border:1px solid var(--cc-border,#394149);
  font-size:6px;
  font-weight:800;
  letter-spacing:.05em;
}
.newsfeed-state.live{color:#a8d77d;border-color:#557640}
.newsfeed-state.planned{color:#7eb7d8;border-color:#436a82}
.newsfeed-state.expired,.newsfeed-state.off{color:#8a959b}
.newsfeed-admin-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}
.newsfeed-admin-actions form{margin:0}
.newsfeed-admin-actions button,
.newsfeed-edit-details>summary{
  min-height:28px!important;
  padding:5px 9px!important;
  font-size:7px!important;
  white-space:nowrap;
}
.newsfeed-edit-details{position:relative}
.newsfeed-edit-details>summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  border:1px solid var(--cc-border,#394149);
  background:var(--cc-surface-alt,#181f24);
  color:var(--cc-text,#dce2e5);
}
.newsfeed-edit-details>summary::-webkit-details-marker{display:none}
.newsfeed-edit-popover{
  position:absolute;
  right:0;
  top:calc(100% + 6px);
  z-index:130;
  width:min(720px,78vw);
  border:1px solid var(--cc-border-strong,#4b5961);
  box-shadow:0 16px 42px rgba(0,0,0,.36);
}
.newsfeed-edit-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px 11px;
  padding:12px;
  background:var(--cc-surface-alt,#151a1e);
}
.newsfeed-edit-form label{display:grid;gap:4px;font-size:8px;color:var(--cc-muted,#748087)}
.newsfeed-edit-form .wide{grid-column:1/-1}
.newsfeed-edit-form input,
.newsfeed-edit-form select{width:100%;min-width:0}
.newsfeed-edit-form .compact-check{
  display:flex!important;
  align-items:center;
  gap:6px;
}
.newsfeed-edit-form .compact-check input{width:auto}
.newsfeed-edit-actions{display:flex;justify-content:flex-end}
.newsfeed-create-panel{padding:0!important;overflow:hidden}
.newsfeed-create-panel>summary{
  cursor:pointer;
  list-style:none;
  padding:11px 13px;
  color:var(--cc-accent,#8cc63f);
  font-size:9px;
  font-weight:800;
}
.newsfeed-create-panel>summary::-webkit-details-marker{display:none}
.newsfeed-create-panel[open]>summary{border-bottom:1px solid var(--cc-border,#30383d)}
.admin-empty-state{padding:20px;text-align:center;color:var(--cc-muted,#748087);font-size:8px}

html.admin-theme-light .newsfeed-admin-item{background:#fff!important;border-color:#d3dde3!important}
html.admin-theme-light .newsfeed-edit-form,
html.admin-theme-light .newsfeed-edit-details>summary{background:#f7f9fa!important}
html.admin-theme-light .newsfeed-edit-popover{border-color:#cbd7de!important}

@media(max-width:850px){
  .newsfeed-admin-item{grid-template-columns:5px minmax(0,1fr)}
  .newsfeed-admin-actions{grid-column:2;justify-content:flex-start;flex-wrap:wrap}
  .newsfeed-edit-popover{right:auto;left:0;width:min(680px,86vw)}
}
@media(max-width:620px){
  .newsfeed-edit-form{grid-template-columns:1fr}
  .newsfeed-edit-form .wide{grid-column:auto}
  .newsfeed-edit-popover{position:fixed;left:10px;right:10px;top:70px;width:auto;max-height:calc(100vh - 90px);overflow:auto}
}


/* Liveticker – configurable movement and category symbols */
.global-liveticker .global-newsfeed-label{
  min-width:72px;
  justify-content:center;
}
.global-liveticker .ticker-live-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 0 rgba(255,255,255,.55);
  animation:livetickerLiveDot 1.3s ease-out infinite;
}
.global-liveticker .ticker-kind-symbol{
  display:inline-grid;
  place-items:center;
  width:19px;
  height:19px;
  flex:0 0 19px;
  margin-right:1px;
  border-radius:50%;
  border:1px solid currentColor;
  font-size:9px;
  font-weight:900;
  line-height:1;
  background:color-mix(in srgb,currentColor 12%,transparent);
}
.global-liveticker .kind-info .ticker-kind-symbol{color:#7fb8db}
.global-liveticker .kind-success .ticker-kind-symbol{color:#91c967}
.global-liveticker .kind-warning .ticker-kind-symbol{color:#dfb852}
.global-liveticker .kind-important .ticker-kind-symbol{color:#df747e}

.global-liveticker.ticker-mode-rtl .global-newsfeed-track{
  animation:globalTickerRtl var(--ticker-duration,36s) linear infinite!important;
}
.global-liveticker.ticker-mode-ltr .global-newsfeed-track{
  transform:translateX(-50%);
  animation:globalTickerLtr var(--ticker-duration,36s) linear infinite!important;
}
.global-liveticker.ticker-pause-hover:hover .global-newsfeed-track,
.global-liveticker.ticker-pause-hover:hover .global-newsfeed-fade-entry{
  animation-play-state:paused!important;
}

.global-newsfeed-static{
  display:flex;
  align-items:center;
  gap:0;
  min-width:max-content;
}
.global-newsfeed-static .global-newsfeed-entry{
  flex:none;
}

.global-newsfeed-fade{
  position:relative;
  width:100%;
  min-height:37px;
}
.global-newsfeed-fade-entry{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 13px;
  opacity:0;
  transform:translateY(4px);
  pointer-events:none;
  animation:
    globalTickerFade calc(var(--ticker-duration,36s) / var(--ticker-count))
    linear infinite;
  animation-delay:
    calc((var(--ticker-duration,36s) / var(--ticker-count)) * var(--ticker-index));
}
.global-newsfeed-fade-entry strong{white-space:nowrap}
.global-newsfeed-fade-entry>span:not(.ticker-kind-symbol){
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--cc-text-soft,#bdc7cc);
}
.global-newsfeed-fade-entry a{
  white-space:nowrap;
  color:var(--cc-accent,#8cc63f)!important;
  font-weight:700;
  text-decoration:none!important;
}

@keyframes globalTickerRtl{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@keyframes globalTickerLtr{
  from{transform:translateX(-50%)}
  to{transform:translateX(0)}
}
@keyframes globalTickerFade{
  0%{opacity:0;transform:translateY(4px)}
  10%,78%{opacity:1;transform:none}
  90%,100%{opacity:0;transform:translateY(-4px)}
}
@keyframes livetickerLiveDot{
  0%{box-shadow:0 0 0 0 rgba(255,255,255,.55)}
  100%{box-shadow:0 0 0 7px rgba(255,255,255,0)}
}

/* Liveticker admin settings */
.liveticker-settings-panel{overflow:hidden}
.liveticker-settings-form{
  display:grid;
  grid-template-columns:minmax(180px,.7fr) minmax(240px,1fr) auto auto;
  gap:11px;
  align-items:end;
  padding:11px 12px;
}
.liveticker-settings-form>label{
  display:grid;
  gap:5px;
  min-width:0;
  font-size:8px;
  color:var(--cc-muted,#748087);
}
.liveticker-settings-form .compact-check{
  display:flex!important;
  align-items:center;
  gap:6px;
  min-height:34px;
  white-space:nowrap;
}
.liveticker-settings-form .compact-check input{
  width:auto;
}
.liveticker-speed-field{
  display:grid;
  grid-template-columns:minmax(120px,1fr) 34px auto;
  align-items:center;
  gap:6px;
  min-height:34px;
}
.liveticker-speed-field input[type="range"]{
  width:100%;
  min-height:0!important;
  padding:0!important;
}
.liveticker-speed-field output{
  text-align:right;
  font-size:9px;
  font-weight:800;
  color:var(--cc-text,#dce2e5);
}
.liveticker-speed-field span{
  font-size:7px;
  color:var(--cc-muted,#748087);
}
.liveticker-settings-actions{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
}
.liveticker-symbol-legend{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  padding:8px 12px;
  border-top:1px solid var(--cc-border,#30383d);
  background:var(--cc-surface-alt,#151a1e);
}
.liveticker-symbol-legend span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:7px;
  color:var(--cc-muted,#748087);
}
.liveticker-symbol-legend i{
  display:inline-grid;
  place-items:center;
  width:18px;
  height:18px;
  border:1px solid currentColor;
  border-radius:50%;
  font-style:normal;
  font-size:8px;
  font-weight:900;
}
.liveticker-symbol-legend .kind-info{color:#6ba7cb}
.liveticker-symbol-legend .kind-success{color:#78b54c}
.liveticker-symbol-legend .kind-warning{color:#c99c35}
.liveticker-symbol-legend .kind-important{color:#c86169}

html.admin-theme-light .liveticker-symbol-legend{
  background:#f7f9fa!important;
  border-color:#d3dde3!important;
}

@media(max-width:1050px){
  .liveticker-settings-form{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:650px){
  .liveticker-settings-form{
    grid-template-columns:1fr;
  }
  .liveticker-settings-actions{grid-column:auto}
  .liveticker-settings-actions button{width:100%}
  .global-newsfeed-fade-entry>span:not(.ticker-kind-symbol){max-width:46vw}
}
@media(prefers-reduced-motion:reduce){
  .global-liveticker .global-newsfeed-track,
  .global-newsfeed-fade-entry,
  .global-liveticker .ticker-live-dot{
    animation:none!important;
  }
}


/* Dynamic profile fields */
.profile-custom-fields-section{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--cc-border,#30383d);
}
.profile-custom-fields-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.profile-custom-fields-heading h2{margin:0 0 2px;font-size:13px}
.profile-custom-fields-heading small{font-size:8px;color:var(--cc-muted,#748087)}
.profile-custom-fields-heading>span{
  padding:3px 6px;
  border:1px solid var(--cc-border,#394149);
  color:var(--cc-muted,#748087);
  font-size:7px;
}
.profile-custom-checkbox{
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  gap:4px!important;
  min-height:48px;
}
.profile-custom-checkbox>span{
  display:flex;
  align-items:center;
  gap:7px;
}
.profile-custom-checkbox input{width:auto!important}
.profile-custom-detail-list dd{overflow-wrap:anywhere}

/* Admin profile fields */
.profile-fields-admin-panel{overflow:visible}
.profile-field-admin-list{display:grid;gap:7px;padding:9px}
.profile-field-admin-card{
  background:var(--cc-surface,#11161a);
  border:1px solid var(--cc-border,#30383d);
}
.profile-field-admin-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:12px;
  padding:10px 11px;
}
.profile-field-admin-summary>div:first-child{display:grid;gap:3px;min-width:0}
.profile-field-type{
  font-size:7px;
  font-weight:800;
  letter-spacing:.06em;
  color:var(--cc-accent,#8cc63f);
}
.profile-field-admin-summary b{font-size:10px}
.profile-field-admin-summary small{
  font-size:7px;
  color:var(--cc-muted,#748087);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.profile-field-state{
  padding:3px 6px;
  border:1px solid var(--cc-border,#394149);
  font-size:6px;
  font-weight:800;
}
.profile-field-state.active{color:#9bce72;border-color:#5c8142}
.profile-field-state.inactive{color:#818b91}
.profile-field-admin-actions{display:flex;align-items:center;gap:5px}
.profile-field-admin-actions form{margin:0}
.profile-field-admin-actions details{position:relative}
.profile-field-admin-actions details>summary{
  cursor:pointer;
  list-style:none;
  min-height:28px;
  display:flex;
  align-items:center;
  padding:5px 9px;
  border:1px solid var(--cc-border,#394149);
  background:var(--cc-surface-alt,#181f24);
  color:var(--cc-text,#dce2e5);
  font-size:7px;
}
.profile-field-admin-actions details>summary::-webkit-details-marker{display:none}
.profile-field-admin-actions button{min-height:28px!important;padding:5px 9px!important;font-size:7px!important}
.profile-field-edit-popover{
  position:absolute;
  z-index:150;
  right:0;
  top:calc(100% + 6px);
  width:min(760px,80vw);
  border:1px solid var(--cc-border-strong,#4b5961);
  box-shadow:0 18px 45px rgba(0,0,0,.36);
}
.profile-field-definition-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 12px;
  padding:12px;
  background:var(--cc-surface-alt,#151a1e);
}
.profile-field-definition-form>label{
  display:grid;
  gap:4px;
  min-width:0;
  font-size:8px;
  color:var(--cc-muted,#748087);
}
.profile-field-definition-form .wide{grid-column:1/-1}
.profile-field-definition-form input,
.profile-field-definition-form select,
.profile-field-definition-form textarea{width:100%;min-width:0}
.profile-field-options{display:none!important}
.profile-field-options.is-visible{display:grid!important}
.profile-field-flags{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  padding:8px 0 2px;
}
.profile-field-flags label{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:8px;
  color:var(--cc-text-soft,#aab4b9);
}
.profile-field-flags input{width:auto!important}
.profile-field-form-actions{display:flex;justify-content:flex-end}
.profile-field-create-panel{padding:0!important;overflow:hidden}
.profile-field-create-panel>summary{
  cursor:pointer;
  list-style:none;
  padding:11px 13px;
  color:var(--cc-accent,#8cc63f);
  font-size:9px;
  font-weight:800;
}
.profile-field-create-panel>summary::-webkit-details-marker{display:none}
.profile-field-create-panel[open]>summary{border-bottom:1px solid var(--cc-border,#30383d)}
.profile-field-create-body{animation:profileFieldOpen .2s ease both}
@keyframes profileFieldOpen{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

html.admin-theme-light .profile-field-admin-card{background:#fff!important;border-color:#d3dde3!important}
html.admin-theme-light .profile-field-definition-form,
html.admin-theme-light .profile-field-admin-actions details>summary{background:#f7f9fa!important}

@media(max-width:800px){
  .profile-field-admin-summary{grid-template-columns:1fr auto}
  .profile-field-admin-actions{grid-column:1/-1;justify-content:flex-start}
  .profile-field-edit-popover{right:auto;left:0;width:min(720px,88vw)}
}
@media(max-width:620px){
  .profile-field-definition-form{grid-template-columns:1fr}
  .profile-field-definition-form .wide{grid-column:auto}
  .profile-field-edit-popover{
    position:fixed;
    left:10px;right:10px;top:65px;
    width:auto;max-height:calc(100vh - 80px);overflow:auto
  }
}


/* =========================================================
   Seasonal / Holiday module
   Public visual effects
   ========================================================= */
.seasonal-effects-layer{
  position:fixed;
  inset:0;
  z-index:9990;
  overflow:hidden;
  pointer-events:none;
}
.seasonal-particles{position:absolute;inset:0;overflow:hidden}
.season-particle{
  position:absolute;
  top:-42px;
  left:var(--season-x);
  opacity:var(--season-opacity,.7);
  font-size:var(--season-size,16px);
  line-height:1;
  will-change:transform;
  animation:seasonFall var(--season-duration,14s) linear var(--season-delay,0s) infinite;
  text-shadow:0 1px 2px rgba(0,0,0,.16);
}
.season-particle-halloween{
  animation-name:seasonHalloweenFly;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.35));
}
.season-particle-spark{
  animation-name:seasonSparkFloat;
}
.seasonal-corner-decoration{
  position:fixed;
  right:14px;
  bottom:12px;
  z-index:2;
  transform-origin:bottom right;
}
.seasonal-atmosphere{
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
}

/* Christmas */
body.seasonal-christmas .seasonal-corner-decoration:before{
  content:"🎁  🎁";
  display:block;
  font-size:38px;
  filter:drop-shadow(0 5px 5px rgba(0,0,0,.28));
}
body.seasonal-christmas .seasonal-corner-decoration:after{
  content:"🎄";
  position:absolute;
  right:28px;
  bottom:22px;
  font-size:58px;
  filter:drop-shadow(0 5px 5px rgba(0,0,0,.25));
}
body.seasonal-christmas .seasonal-atmosphere{
  box-shadow:inset 0 0 70px rgba(185,225,255,.14);
  background:linear-gradient(180deg,rgba(215,240,255,.05),transparent 28%);
}

/* Winter */
body.seasonal-winter .seasonal-corner-decoration:before{
  content:"❄";
  display:block;
  font-size:58px;
  color:#dff4ff;
  opacity:.8;
  text-shadow:0 0 18px rgba(105,195,255,.6);
}
body.seasonal-winter .seasonal-atmosphere{
  box-shadow:inset 0 0 90px rgba(125,196,236,.13);
}

/* Halloween */
body.seasonal-halloween:before{
  content:"";
  position:fixed;
  inset:0;
  z-index:9988;
  pointer-events:none;
  background:
    radial-gradient(circle at 15% 20%,rgba(255,116,0,.09),transparent 22%),
    radial-gradient(circle at 80% 70%,rgba(95,0,121,.10),transparent 25%);
  box-shadow:inset 0 0 130px rgba(10,0,16,.35);
}
body.seasonal-halloween .seasonal-corner-decoration:before{
  content:"🎃";
  display:block;
  font-size:64px;
  filter:drop-shadow(0 0 13px rgba(255,106,0,.55));
}
body.seasonal-halloween .seasonal-corner-decoration:after{
  content:"🕸";
  position:absolute;
  right:-12px;
  bottom:46px;
  font-size:62px;
  opacity:.65;
}
body.seasonal-halloween .seasonal-atmosphere{
  background:linear-gradient(180deg,rgba(25,5,35,.09),rgba(255,93,0,.025));
}

/* Easter */
body.seasonal-easter .seasonal-corner-decoration:before{
  content:"🥚 🐇";
  display:block;
  font-size:45px;
  filter:drop-shadow(0 4px 4px rgba(0,0,0,.16));
}
body.seasonal-easter .seasonal-atmosphere{
  background:radial-gradient(circle at 85% 15%,rgba(255,219,238,.10),transparent 24%);
}

/* New Year */
body.seasonal-newyear .seasonal-corner-decoration:before{
  content:"🎆";
  display:block;
  font-size:62px;
  filter:drop-shadow(0 0 15px rgba(255,219,80,.45));
}
body.seasonal-newyear .seasonal-atmosphere{
  background:
    radial-gradient(circle at 15% 14%,rgba(255,223,75,.10),transparent 17%),
    radial-gradient(circle at 82% 12%,rgba(80,166,255,.10),transparent 19%);
}

/* Spring */
body.seasonal-spring .seasonal-corner-decoration:before{
  content:"🌷";
  display:block;
  font-size:52px;
}
body.seasonal-spring .seasonal-atmosphere{
  background:linear-gradient(180deg,rgba(184,244,202,.07),rgba(255,219,239,.045));
}

/* Summer */
body.seasonal-summer .seasonal-corner-decoration:before{
  content:"☀";
  display:block;
  font-size:62px;
  color:#f2c94c;
  text-shadow:0 0 20px rgba(255,198,47,.52);
}
body.seasonal-summer .seasonal-atmosphere{
  background:radial-gradient(circle at 91% 8%,rgba(255,212,80,.12),transparent 22%);
}

/* Autumn */
body.seasonal-autumn .seasonal-corner-decoration:before{
  content:"🍁";
  display:block;
  font-size:54px;
  filter:drop-shadow(0 4px 4px rgba(0,0,0,.18));
}
body.seasonal-autumn .seasonal-atmosphere{
  background:linear-gradient(180deg,rgba(193,105,31,.05),rgba(111,65,24,.035));
}

body.seasonal-intensity-1 .seasonal-effects-layer{opacity:.63}
body.seasonal-intensity-3 .seasonal-effects-layer{opacity:1}
body.seasonal-intensity-3.seasonal-halloween:before{box-shadow:inset 0 0 180px rgba(10,0,16,.46)}

@keyframes seasonFall{
  from{transform:translate3d(0,-55px,0) rotate(0)}
  to{transform:translate3d(var(--season-drift,20px),calc(100vh + 90px),0) rotate(360deg)}
}
@keyframes seasonHalloweenFly{
  0%{transform:translate3d(-20px,-40px,0) scale(.85)}
  45%{transform:translate3d(var(--season-drift,30px),45vh,0) scale(1.1)}
  100%{transform:translate3d(-30px,calc(100vh + 70px),0) scale(.9)}
}
@keyframes seasonSparkFloat{
  0%,100%{transform:translate3d(0,10vh,0) scale(.65);opacity:.15}
  45%{transform:translate3d(var(--season-drift,20px),55vh,0) scale(1.15);opacity:var(--season-opacity,.8)}
  90%{transform:translate3d(0,95vh,0) scale(.7);opacity:.1}
}

@media(prefers-reduced-motion:reduce){
  .season-particle{display:none!important}
}

/* =========================================================
   Seasonal Admin
   ========================================================= */
.seasonal-current-banner{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
  padding:10px 12px;
  border:1px solid var(--cc-border,#394149);
  background:var(--cc-surface,#11161a);
}
.seasonal-current-banner>span{font-size:28px}
.seasonal-current-banner>div{display:grid;gap:2px}
.seasonal-current-banner b{font-size:10px}
.seasonal-current-banner small{font-size:8px;color:var(--cc-muted,#748087)}

.seasonal-presets-panel{overflow:hidden}
.seasonal-preset-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  padding:9px;
}
.seasonal-preset-card{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:8px;
  align-items:center;
  padding:9px;
  border:1px solid var(--cc-border,#30383d);
  background:var(--cc-surface,#11161a);
}
.seasonal-preset-card>span{font-size:25px}
.seasonal-preset-card>div{display:grid;gap:3px}
.seasonal-preset-card b{font-size:9px}
.seasonal-preset-card small{font-size:7px;line-height:1.35;color:var(--cc-muted,#748087)}
.seasonal-preset-card button{
  grid-column:1/-1;
  width:100%;
  min-height:27px!important;
  font-size:7px!important
}

.seasonal-events-panel{overflow:visible}
.seasonal-admin-list{display:grid;gap:7px;padding:9px}
.seasonal-admin-card{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:9px 10px;
  border:1px solid var(--cc-border,#30383d);
  background:var(--cc-surface,#11161a);
}
.seasonal-admin-icon{
  display:grid;
  place-items:center;
  width:38px;height:38px;
  border:1px solid var(--cc-border,#394149);
  background:var(--cc-surface-alt,#181f24);
  font-size:21px
}
.seasonal-admin-info{display:grid;gap:3px;min-width:0}
.seasonal-admin-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.seasonal-admin-title b{font-size:10px}
.seasonal-admin-title span{
  padding:2px 5px;border:1px solid var(--cc-border,#394149);
  font-size:6px;font-weight:800
}
.seasonal-admin-title span.active{color:#9ccd71;border-color:#5a7f40}
.seasonal-admin-title span.inactive{color:#818b91}
.seasonal-admin-info small{font-size:7px;color:var(--cc-muted,#748087)}
.seasonal-admin-actions{display:flex;align-items:center;gap:5px}
.seasonal-admin-actions form{margin:0}
.seasonal-admin-actions details{position:relative}
.seasonal-admin-actions details>summary{
  cursor:pointer;list-style:none;
  min-height:28px;padding:5px 9px;
  display:flex;align-items:center;
  border:1px solid var(--cc-border,#394149);
  background:var(--cc-surface-alt,#181f24);
  color:var(--cc-text,#dce2e5);
  font-size:7px
}
.seasonal-admin-actions details>summary::-webkit-details-marker{display:none}
.seasonal-admin-actions button{min-height:28px!important;padding:5px 9px!important;font-size:7px!important}
.seasonal-edit-popover{
  position:absolute;
  z-index:150;
  right:0;
  top:calc(100% + 6px);
  width:min(720px,80vw);
  border:1px solid var(--cc-border-strong,#4b5961);
  box-shadow:0 18px 45px rgba(0,0,0,.36)
}
.seasonal-edit-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 12px;
  padding:12px;
  background:var(--cc-surface-alt,#151a1e)
}
.seasonal-edit-form>label{
  display:grid;
  gap:4px;
  min-width:0;
  font-size:8px;
  color:var(--cc-muted,#748087)
}
.seasonal-edit-form>label small{font-size:7px}
.seasonal-edit-form input,.seasonal-edit-form select{width:100%;min-width:0}
.seasonal-edit-form .wide{grid-column:1/-1}
.seasonal-flags{
  display:flex;
  align-items:center;
  gap:15px;
  flex-wrap:wrap;
  padding-top:2px
}
.seasonal-flags label{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:8px;
  color:var(--cc-text-soft,#aab4b9)
}
.seasonal-flags input{width:auto!important}
.seasonal-edit-actions{display:flex;justify-content:flex-end}
.seasonal-create-panel{padding:0!important;overflow:hidden}
.seasonal-create-panel>summary{
  cursor:pointer;list-style:none;
  padding:11px 13px;
  color:var(--cc-accent,#8cc63f);
  font-size:9px;font-weight:800
}
.seasonal-create-panel>summary::-webkit-details-marker{display:none}
.seasonal-create-panel[open]>summary{border-bottom:1px solid var(--cc-border,#30383d)}
.seasonal-create-body{animation:seasonAdminOpen .2s ease both}
@keyframes seasonAdminOpen{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

html.admin-theme-light .seasonal-current-banner,
html.admin-theme-light .seasonal-preset-card,
html.admin-theme-light .seasonal-admin-card{background:#fff!important;border-color:#d3dde3!important}
html.admin-theme-light .seasonal-admin-icon,
html.admin-theme-light .seasonal-edit-form,
html.admin-theme-light .seasonal-admin-actions details>summary{background:#f7f9fa!important}

@media(max-width:1050px){
  .seasonal-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .seasonal-preset-grid{grid-template-columns:1fr}
  .seasonal-admin-card{grid-template-columns:38px minmax(0,1fr)}
  .seasonal-admin-actions{grid-column:1/-1;justify-content:flex-start}
  .seasonal-edit-form{grid-template-columns:1fr}
  .seasonal-edit-form .wide{grid-column:auto}
  .seasonal-edit-popover{
    position:fixed;left:10px;right:10px;top:65px;
    width:auto;max-height:calc(100vh - 80px);overflow:auto
  }
}


/* Applications workflow */
.application-rules-content{padding:14px 16px;max-height:440px;overflow:auto;line-height:1.65}
.application-rules-content p{margin:0 0 10px}
.application-rules-accept{display:flex!important;align-items:flex-start;gap:9px!important;padding:11px 12px;border:1px solid var(--cc-border,#30383d);background:var(--cc-surface-alt,#151a1e)}
.application-rules-accept input{width:auto!important;margin-top:2px}
.application-open-hint,.application-closed-note{padding:9px 11px;border-left:3px solid var(--cc-warning,#d4a72c);background:rgba(212,167,44,.07);font-size:8px;color:var(--cc-text-soft,#aab4b9)}
.application-blocked{border-left:3px solid var(--cc-danger,#a73737)!important}
.application-history-panel{margin-top:12px}
.application-history-list{display:grid;gap:8px;padding:10px}
.application-history-card{padding:10px 12px;border:1px solid var(--cc-border,#30383d);background:var(--cc-surface,#11161a)}
.application-history-card-head{display:flex;justify-content:space-between;gap:10px}
.application-history-card-head h3{margin:5px 0 2px;font-size:11px}
.application-history-card-head small{font-size:7px;color:var(--cc-muted,#748087)}
.application-history-card>details{margin-top:9px;border-top:1px solid var(--cc-border,#30383d);padding-top:8px}
.application-history-card summary,.application-admin-history>summary{cursor:pointer;font-size:8px;font-weight:800}
.application-admin-note{padding:7px 9px;background:var(--cc-surface-alt,#181f24);font-size:8px}
.application-timeline{display:grid;gap:0;padding:10px 4px 2px}
.application-timeline-entry{display:grid;grid-template-columns:14px minmax(0,1fr);gap:7px;position:relative;padding-bottom:12px}
.application-timeline-entry:not(:last-child):before{content:"";position:absolute;left:5px;top:9px;bottom:-1px;width:1px;background:var(--cc-border-strong,#46515a)}
.application-timeline-entry>i{width:11px;height:11px;border:2px solid var(--cc-accent,#8cc63f);background:var(--cc-surface,#11161a);border-radius:50%;z-index:1}
.application-timeline-entry>div{display:grid;gap:2px}
.application-timeline-entry b{font-size:8px}
.application-timeline-entry small{font-size:7px;color:var(--cc-muted,#748087)}
.application-timeline-entry p{margin:3px 0 0;font-size:8px}
.application-admin-tools{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.application-admin-tools>.panel{padding:0!important}
.application-admin-tools>.panel>summary{cursor:pointer;list-style:none;padding:11px 13px;font-size:9px;font-weight:800}
.application-admin-tools>.panel>summary::-webkit-details-marker{display:none}
.application-admin-tools>.panel[open]>summary{border-bottom:1px solid var(--cc-border,#30383d)}
.application-admin-tool-body{padding:11px}
.application-block-list{display:grid;gap:5px;margin-top:10px}
.application-block-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px;border:1px solid var(--cc-border,#30383d)}
.application-block-list span{display:grid;gap:2px}
.application-block-list small{font-size:7px;color:var(--cc-muted,#748087)}
.application-admin-card{overflow:visible!important}
.application-admin-content{padding:12px;display:grid;gap:11px}
.application-review-form{display:grid;grid-template-columns:160px minmax(220px,1fr) auto;gap:7px;padding-top:9px;border-top:1px solid var(--cc-border,#30383d)}
.application-delete-form{display:flex;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--cc-border,#30383d)}
.application-tool-action{display:flex;align-items:end}
@media(max-width:800px){.application-admin-tools{grid-template-columns:1fr}.application-review-form{grid-template-columns:1fr}.application-tool-action{align-items:stretch}}


/* Application phased workflow */
.application-state-card{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:13px;
  align-items:center;
  padding:16px;
  margin:12px;
  border:1px solid var(--cc-border,#30383d);
  background:var(--cc-surface-alt,#151a1e);
}
.application-state-icon{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border:1px solid var(--cc-border-strong,#46515a);
  border-radius:50%;
  font-size:20px;
  font-weight:900;
  color:var(--cc-accent,#8cc63f);
  background:var(--cc-surface,#11161a);
}
.application-state-main{display:grid;gap:5px}
.application-state-kicker{
  color:var(--cc-accent,#8cc63f);
  font-size:7px;
  font-weight:900;
  letter-spacing:.09em;
}
.application-state-main h3{margin:0;font-size:16px}
.application-state-main p{margin:0;color:var(--cc-text-soft,#aab4b9);font-size:9px;line-height:1.5}
.application-state-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px 14px;
  margin-top:4px;
  color:var(--cc-muted,#748087);
  font-size:7px;
}
.application-state-meta b{color:var(--cc-text,#dce2e5)}
.application-phase-actions{
  display:flex;
  justify-content:flex-end;
  padding:0 12px 12px;
}
.application-phase-actions button{min-width:145px}
.application-edit-drawer{
  max-height:0;
  overflow:hidden;
  opacity:0;
  transform:translateY(-5px);
  border-top:0 solid var(--cc-border,#30383d);
  transition:max-height .3s cubic-bezier(.2,.8,.2,1),opacity .18s ease,transform .22s ease,border-width .15s;
}
.application-edit-drawer.is-visible{
  max-height:850px;
  opacity:1;
  transform:none;
  border-top-width:1px;
}
.application-edit-drawer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  background:var(--cc-surface-alt,#151a1e);
  border-bottom:1px solid var(--cc-border,#30383d);
}
.application-edit-drawer-head>div{display:grid;gap:2px}
.application-edit-drawer-head b{font-size:9px}
.application-edit-drawer-head small{font-size:7px;color:var(--cc-muted,#748087)}
.application-edit-form{padding:12px}
.application-edit-actions{display:flex;justify-content:flex-end;gap:6px}

.application-rules-gate{overflow:hidden}
.application-rule-step{
  display:flex;
  align-items:center;
  gap:9px;
  margin:10px 12px 0;
  padding:9px 10px;
  border:1px solid var(--cc-border,#30383d);
  background:var(--cc-surface-alt,#151a1e);
}
.application-step-number{
  display:grid;
  place-items:center;
  width:25px;height:25px;
  border-radius:50%;
  background:var(--cc-accent,#8cc63f);
  color:#101510;
  font-size:9px;
  font-weight:900;
}
.application-rule-step>div{display:grid;gap:2px}
.application-rule-step b{font-size:9px}
.application-rule-step small{font-size:7px;color:var(--cc-muted,#748087)}
.application-rules-confirm{
  display:grid;
  gap:8px;
  padding:0 12px 12px;
}
.application-rules-confirm>.primary{justify-self:end}
.application-rule-accepted{
  display:flex;
  align-items:center;
  gap:9px;
  margin:11px 0 13px;
  padding:9px 11px;
  border:1px solid rgba(90,145,62,.55);
  background:rgba(92,151,59,.07);
}
.application-rule-accepted>span{
  display:grid;
  place-items:center;
  width:25px;height:25px;
  border-radius:50%;
  background:var(--cc-positive,#6dad22);
  color:#fff;
  font-weight:900;
}
.application-rule-accepted>div{display:grid;gap:2px}
.application-rule-accepted b{font-size:9px}
.application-rule-accepted small{font-size:7px;color:var(--cc-muted,#748087)}
.state-blocked .application-state-icon{color:var(--cc-danger,#a73737)}
.state-blocked p{margin:3px 0;font-size:9px;color:var(--cc-text-soft,#aab4b9)}

html.admin-theme-light .application-state-card,
html.admin-theme-light .application-rule-step,
html.admin-theme-light .application-edit-drawer-head{
  background:#f7f9fa!important;
  border-color:#d3dde3!important;
}

@media(max-width:650px){
  .application-state-card{grid-template-columns:1fr}
  .application-state-icon{width:44px;height:44px}
  .application-phase-actions{justify-content:stretch}
  .application-phase-actions button{width:100%}
  .application-edit-actions{flex-direction:column}
  .application-edit-actions button{width:100%}
  .application-rules-confirm>.primary{width:100%;justify-self:stretch}
}


/* Applications – clearer typography and visual status */
body.classic-site .application-active-phase,
body.classic-site .application-new-phase,
body.classic-site .application-rules-gate,
body.classic-site .application-history-panel{
  font-size:14px;
}
body.classic-site .application-active-phase label,
body.classic-site .application-new-phase label,
body.classic-site .application-rules-gate label{
  font-size:13px!important;
  line-height:1.4;
}
body.classic-site .application-active-phase input,
body.classic-site .application-active-phase textarea,
body.classic-site .application-new-phase input,
body.classic-site .application-new-phase textarea{
  font-size:14px!important;
  line-height:1.5!important;
  min-height:42px;
  padding:9px 11px!important;
}
body.classic-site .application-active-phase textarea,
body.classic-site .application-new-phase textarea{
  min-height:145px;
}
body.classic-site .application-new-phase .panel-head h2,
body.classic-site .application-active-phase .panel-head h2,
body.classic-site .application-rules-gate .panel-head h2{
  font-size:16px!important;
}
body.classic-site .application-new-phase .panel-head small,
body.classic-site .application-active-phase .panel-head small,
body.classic-site .application-rules-gate .panel-head small{
  font-size:11px!important;
}
body.classic-site .application-state-main h3{
  font-size:20px!important;
}
body.classic-site .application-state-main p{
  font-size:13px!important;
}
body.classic-site .application-state-meta{
  font-size:11px!important;
}
body.classic-site .application-state-kicker{
  font-size:10px!important;
}
body.classic-site .application-rule-step b,
body.classic-site .application-rule-accepted b{
  font-size:13px!important;
}
body.classic-site .application-rule-step small,
body.classic-site .application-rule-accepted small{
  font-size:11px!important;
}
body.classic-site .application-rules-content{
  font-size:14px!important;
  line-height:1.75!important;
}
body.classic-site .application-rules-accept{
  font-size:13px!important;
  line-height:1.5;
}
body.classic-site .application-history-card h3{
  font-size:14px!important;
}
body.classic-site .application-history-card small,
body.classic-site .application-timeline-entry small{
  font-size:10px!important;
}
body.classic-site .application-timeline-entry b{
  font-size:12px!important;
}
body.classic-site .application-timeline-entry p{
  font-size:11px!important;
}

/* Status badges / icons */
.application-status-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:27px;
  padding:4px 8px;
  border:1px solid var(--cc-border,#394149);
  background:var(--cc-surface-alt,#181f24);
  font-size:8px;
  font-weight:800;
  white-space:nowrap;
}
.application-status-badge i{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  border:1px solid currentColor;
  font-style:normal;
  font-size:10px;
  font-weight:900;
}
.application-status-badge.status-new,
.application-status-icon.status-new,
.application-result-text.status-new{color:#72a9cc}
.application-status-badge.status-review,
.application-status-icon.status-review,
.application-result-text.status-review{color:#e1b84c}
.application-status-badge.status-accepted,
.application-status-icon.status-accepted,
.application-result-text.status-accepted{color:#82c35b}
.application-status-badge.status-rejected,
.application-status-icon.status-rejected,
.application-result-text.status-rejected{color:#d7656d}

.application-state-icon.status-new{color:#72a9cc!important}
.application-state-icon.status-review{color:#e1b84c!important}
.application-state-icon.status-accepted{color:#82c35b!important}
.application-state-icon.status-rejected{color:#d7656d!important}

/* Admin – applicant's complete application result overview */
.applicant-previous-applications{
  border:1px solid var(--cc-border,#30383d);
  background:var(--cc-surface-alt,#151a1e);
}
.applicant-history-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  border-bottom:1px solid var(--cc-border,#30383d);
}
.applicant-history-title>div{display:grid;gap:2px}
.applicant-history-title b{font-size:9px}
.applicant-history-title small{font-size:7px;color:var(--cc-muted,#748087)}
.applicant-history-grid{
  display:grid;
  gap:1px;
  background:var(--cc-border,#30383d);
}
.applicant-history-entry{
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto auto;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:6px 8px;
  background:var(--cc-surface,#11161a);
}
.applicant-history-entry.is-current{
  box-shadow:inset 3px 0 0 var(--cc-accent,#8cc63f);
}
.application-status-icon{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border:1px solid currentColor;
  border-radius:50%;
  font-size:10px;
  font-weight:900;
}
.applicant-history-entry>div{display:grid;gap:2px;min-width:0}
.applicant-history-entry>div b{
  font-size:8px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.applicant-history-entry>div small{
  font-size:7px;
  color:var(--cc-muted,#748087);
}
.application-result-text{
  font-size:7px;
  font-weight:800;
  white-space:nowrap;
}
.applicant-history-entry em{
  padding:2px 4px;
  border:1px solid var(--cc-border,#394149);
  color:var(--cc-muted,#748087);
  font-size:6px;
  font-style:normal;
  font-weight:800;
}
html.admin-theme-light .applicant-previous-applications,
html.admin-theme-light .applicant-history-entry{
  background:#fff!important;
  border-color:#d3dde3!important;
}
html.admin-theme-light .applicant-history-title{
  border-color:#d3dde3!important;
}
@media(max-width:700px){
  .applicant-history-entry{
    grid-template-columns:28px minmax(0,1fr) auto;
  }
  .applicant-history-entry em{display:none}
}


/* Application configurable two-column form */
.application-form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  padding:14px!important;
}
.application-field{
  display:grid!important;
  gap:6px!important;
  min-width:0;
  font-size:13px!important;
}
.application-field>span:first-child{font-weight:700}
.application-field-width-half{grid-column:span 1}
.application-field-width-full{grid-column:1/-1}
.application-field input,
.application-field select,
.application-field textarea{
  width:100%!important;
  min-width:0!important;
  font-size:14px!important;
  padding:9px 11px!important;
}
.application-field small{font-size:11px!important;line-height:1.4}
.application-checkbox{display:flex!important;align-items:center;gap:7px;min-height:42px}
.application-checkbox input{width:auto!important}
.application-form-actions{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
  gap:7px;
  padding-top:4px;
}

/* Application builder */
.application-builder-info{
  display:flex;align-items:center;gap:10px;padding:9px 10px;margin-bottom:9px;
  border:1px solid var(--cc-border,#30383d);background:var(--cc-surface-alt,#151a1e)
}
.application-builder-info{font-size:8px}.application-builder-info small{flex:1;color:var(--cc-muted,#748087)}
.application-builder-info>[data-sort-state]{font-size:7px;color:var(--cc-accent,#8cc63f)}
.application-builder-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  align-items:start;
}
.application-builder-field{
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto auto;
  align-items:center;
  gap:7px;
  min-height:62px;
  padding:7px;
  border:1px solid var(--cc-border,#30383d);
  background:var(--cc-surface,#11161a);
}
.application-builder-field.width-1{grid-column:span 1}
.application-builder-field.width-2{grid-column:1/-1}
.application-builder-field.is-dragging{opacity:.42;outline:2px dashed var(--cc-accent,#8cc63f)}
.application-builder-drag{
  display:grid;place-items:center;align-self:stretch;cursor:grab;
  border-right:1px solid var(--cc-border,#30383d);color:var(--cc-accent,#8cc63f);font-size:15px
}
.application-builder-field-main{display:grid;gap:2px;min-width:0}
.application-builder-field-main>span{font-size:6px;font-weight:900;color:var(--cc-accent,#8cc63f);text-transform:uppercase}
.application-builder-field-main>b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.application-builder-field-main>small{font-size:7px;color:var(--cc-muted,#748087)}
.application-builder-field>details{position:relative}
.application-builder-field>details>summary{
  list-style:none;cursor:pointer;padding:5px 8px;border:1px solid var(--cc-border,#394149);font-size:7px
}
.application-builder-field>details>summary::-webkit-details-marker{display:none}
.application-builder-editor{
  position:absolute;z-index:190;right:0;top:calc(100% + 6px);width:min(720px,78vw);
  border:1px solid var(--cc-border-strong,#4b5961);box-shadow:0 18px 45px rgba(0,0,0,.38)
}
.application-builder-form{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 11px;padding:11px;background:var(--cc-surface-alt,#151a1e)
}
.application-builder-form>label{display:grid;gap:4px;font-size:8px;color:var(--cc-muted,#748087)}
.application-builder-form .wide{grid-column:1/-1}
.application-builder-form input,.application-builder-form select,.application-builder-form textarea{width:100%}
.application-builder-flags{display:flex;align-items:center;gap:15px}
.application-builder-flags label{display:flex;align-items:center;gap:5px;font-size:8px}
.application-builder-flags input{width:auto!important}
.application-builder-actions{display:flex;justify-content:flex-end}
.application-add-field{margin-top:9px;border:1px dashed var(--cc-border,#394149)}
.application-add-field>summary{cursor:pointer;padding:9px 10px;font-size:8px;font-weight:800;color:var(--cc-accent,#8cc63f)}

/* Submitted application shown in same configured structure */
.application-admin-answer-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;
}
.application-admin-answer{
  padding:9px 10px;border:1px solid var(--cc-border,#30383d);background:var(--cc-surface-alt,#151a1e)
}
.application-admin-answer.width-1{grid-column:span 1}
.application-admin-answer.width-2{grid-column:1/-1}
.application-admin-answer>span{display:block;margin-bottom:5px;font-size:7px;font-weight:800;color:var(--cc-muted,#748087);text-transform:uppercase}
.application-admin-answer>div{font-size:9px;line-height:1.5}
.application-position-block-action{
  padding:9px;border:1px solid rgba(196,145,47,.35);background:rgba(196,145,47,.05)
}
.application-position-block-action form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:7px}
.application-position-block-action input{min-width:0}

html.admin-theme-light .application-builder-info,
html.admin-theme-light .application-builder-field,
html.admin-theme-light .application-builder-form,
html.admin-theme-light .application-admin-answer{background:#fff!important;border-color:#d3dde3!important}

@media(max-width:760px){
  .application-form-grid,.application-builder-grid,.application-admin-answer-grid{grid-template-columns:1fr!important}
  .application-field-width-half,.application-field-width-full,
  .application-builder-field.width-1,.application-builder-field.width-2,
  .application-admin-answer.width-1,.application-admin-answer.width-2{grid-column:1!important}
  .application-builder-form{grid-template-columns:1fr}
  .application-builder-form .wide{grid-column:auto}
  .application-builder-editor{position:fixed;left:10px;right:10px;top:65px;width:auto;max-height:calc(100vh - 80px);overflow:auto}
  .application-position-block-action form{grid-template-columns:1fr}
}


/* Application builder auto-layout v2
   Layout rule: one field in row = full width, two fields in row = 2 columns.
*/
.application-form-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
  padding:14px!important;
}
.application-form-row{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  min-width:0;
}
.application-form-row.cols-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.application-form-row .application-field{
  grid-column:auto!important;
  width:auto!important;
  min-width:0;
}
.application-form-actions{
  grid-column:auto!important;
}

.application-builder-grid{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
}
.application-builder-row{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  padding:8px;
  border:1px solid var(--cc-border,#30383d);
  background:var(--cc-surface-alt,#151a1e);
  min-height:76px;
}
.application-builder-row:has(> [data-application-builder-field]:nth-of-type(2)){
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.application-builder-row > .application-builder-field{
  grid-column:auto!important;
  min-width:0;
}
.application-builder-empty-slot{
  min-height:60px;
  display:grid;
  place-items:center;
  border:1px dashed var(--cc-border-strong,#46515a);
  background:rgba(255,255,255,.015);
  color:var(--cc-muted,#748087);
  font-size:7px;
  cursor:copy;
  transition:border-color .16s,background .16s,color .16s;
}
.application-builder-empty-slot.is-drop-target{
  border-color:var(--cc-accent,#8cc63f);
  background:rgba(140,198,63,.08);
  color:var(--cc-accent,#8cc63f);
}
.application-builder-drop-row{
  height:14px;
  display:grid;
  place-items:center;
  border:1px dashed transparent;
  color:transparent;
  font-size:6px;
  transition:height .16s,border-color .16s,background .16s,color .16s;
}
.application-builder-drop-row:hover,
.application-builder-drop-row.is-drop-target{
  height:34px;
  border-color:var(--cc-accent,#8cc63f);
  background:rgba(140,198,63,.06);
  color:var(--cc-accent,#8cc63f);
}
.application-builder-field.is-drop-target{
  outline:2px solid var(--cc-accent,#8cc63f);
  outline-offset:-2px;
}
.application-builder-field-main>small:after{
  content:" · Breite automatisch";
  color:var(--cc-accent,#8cc63f);
}
.application-builder-form label:has(select[name="width"]){
  display:none!important;
}

/* Admin submitted application mirrors form rows exactly */
.application-admin-answer-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
}
.application-admin-answer-row{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
}
.application-admin-answer-row.cols-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.application-admin-answer{
  grid-column:auto!important;
  min-width:0;
}

/* Light admin */
html.admin-theme-light .application-builder-row{
  background:#f7f9fa!important;
  border-color:#d3dde3!important;
}
html.admin-theme-light .application-builder-empty-slot{
  background:#fff!important;
  border-color:#ccd7de!important;
}

/* Small screens intentionally collapse both admin and public forms to one column. */
@media(max-width:760px){
  .application-form-row.cols-2,
  .application-admin-answer-row.cols-2{
    grid-template-columns:1fr!important;
  }
  .application-builder-row,
  .application-builder-row:has(> [data-application-builder-field]:nth-of-type(2)){
    grid-template-columns:1fr!important;
  }
}


/* Application editor column fix
   Each application field is one atomic grid item, including its WYSIWYG editor.
*/
.application-form-row{
  align-items:start!important;
}
.application-form-row.cols-2{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.application-form-row > .application-field{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  grid-column:auto!important;
}
.application-field-title{
  display:block!important;
  width:100%!important;
  margin:0!important;
  color:inherit!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.35!important;
}
.application-field > input,
.application-field > select,
.application-field > textarea,
.application-field > .wysiwyg-editor,
.application-field > .bbcode-editor{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
.application-field > .wysiwyg-editor{
  display:block!important;
  overflow:hidden!important;
}
.application-field .wysiwyg-toolbar{
  width:100%!important;
  min-width:0!important;
}
.application-field .wysiwyg-surface{
  width:100%!important;
  min-width:0!important;
  min-height:210px!important;
}
.application-field-help{
  display:block!important;
  width:100%!important;
  margin:0!important;
}

/* Do not let old rich-editor full-width rules affect application rows. */
.application-form-row:has(.wysiwyg-editor){
  grid-template-columns:inherit!important;
}
.application-form-row.cols-2:has(.wysiwyg-editor){
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.application-form-row.cols-2 > .application-field:has(.wysiwyg-editor){
  grid-column:auto!important;
}

/* Slightly more compact toolbar in a half-width column. */
.application-form-row.cols-2 .wysiwyg-toolbar{
  gap:3px!important;
  padding:6px!important;
}
.application-form-row.cols-2 .wysiwyg-tool{
  min-width:28px!important;
  padding-left:6px!important;
  padding-right:6px!important;
}
.application-form-row.cols-2 .wysiwyg-select{
  max-width:104px!important;
}
.application-form-row.cols-2 .wysiwyg-select.small{
  max-width:70px!important;
}

/* On narrow displays two-column application rows intentionally stack. */
@media(max-width:760px){
  .application-form-row.cols-2,
  .application-form-row.cols-2:has(.wysiwyg-editor){
    grid-template-columns:1fr!important;
  }
}


/* Applications admin layout containment fix
   Prevent application cards/popovers from sliding underneath the admin navigation/sidebar.
*/
body.admin-mode .application-admin-list,
body.admin-mode .application-admin-tools,
body.admin-mode .application-admin-card,
body.admin-mode .application-admin-content{
  position:relative!important;
  z-index:1!important;
  min-width:0!important;
  max-width:100%!important;
}

body.admin-mode .application-admin-list{
  width:100%!important;
  overflow:visible!important;
}

body.admin-mode .application-admin-card{
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}

body.admin-mode .application-admin-content{
  overflow:visible!important;
}

/* Keep all builder/editor popovers inside the admin content side. */
body.admin-mode .application-builder-editor{
  right:0!important;
  left:auto!important;
  max-width:min(720px,calc(100vw - 320px))!important;
}

/* Admin content must win against accidental negative margins / full viewport rules. */
body.admin-mode .admin-content,
body.admin-mode .admin-main,
body.admin-mode main{
  min-width:0!important;
}

body.admin-mode .application-admin-list,
body.admin-mode .application-admin-tools{
  grid-column:auto!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
}

/* If the admin shell uses a fixed sidebar, preserve a safe stacking order. */
body.admin-mode .admin-sidebar,
body.admin-mode .admin-nav,
body.admin-mode .admin-menu{
  position:relative;
  z-index:20;
}

body.admin-mode .application-builder-editor,
body.admin-mode .application-edit-popover,
body.admin-mode .seasonal-edit-popover,
body.admin-mode .profile-field-edit-popover{
  z-index:30!important;
}

/* Narrow screens: popovers become viewport dialogs and never hide behind menu. */
@media(max-width:900px){
  body.admin-mode .application-builder-editor{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    top:70px!important;
    width:auto!important;
    max-width:none!important;
    max-height:calc(100vh - 90px)!important;
    overflow:auto!important;
    z-index:1000!important;
  }
}


/* =========================================================
   Admin shell responsive correction
   The original 900px breakpoint stacked the entire sidebar above
   the workspace. On zoomed/scaled desktop viewports this made
   application pages appear "below the menu".
   Keep a real sidebar until the viewport is genuinely narrow.
   ========================================================= */

/* Undo the old stacked admin layout from 641px through 900px. */
@media (min-width:641px) and (max-width:900px){
  body.admin-mode .admin-body{
    display:grid!important;
    grid-template-columns:210px minmax(0,1fr)!important;
    align-items:stretch!important;
  }

  body.admin-mode .admin-sidebar{
    position:relative!important;
    display:block!important;
    width:auto!important;
    min-width:0!important;
    padding:13px 0!important;
    border-right:1px solid #333a40!important;
    border-bottom:0!important;
    background:#15191e!important;
  }

  body.admin-mode .admin-sidebar>span{
    display:block!important;
    width:auto!important;
    padding:18px 15px 6px!important;
  }

  body.admin-mode .admin-sidebar>a{
    display:block!important;
    width:auto!important;
    padding:9px 15px!important;
    border-left:3px solid transparent!important;
    border-bottom:0!important;
  }

  body.admin-mode .admin-sidebar>a:hover{
    border-left-color:#8cc63f!important;
  }

  body.admin-mode .admin-workspace{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding:16px!important;
    overflow:visible!important;
  }

  body.admin-mode .application-admin-tools,
  body.admin-mode .application-admin-list,
  body.admin-mode .page-head,
  body.admin-mode .admin-breadcrumb{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
}

/* Only phones / very narrow browser windows stack the admin menu. */
@media (max-width:640px){
  body.admin-mode .admin-body{
    grid-template-columns:1fr!important;
  }

  body.admin-mode .admin-sidebar{
    position:static!important;
    display:flex!important;
    flex-wrap:wrap!important;
    border-right:0!important;
    border-bottom:1px solid #333a40!important;
    padding:6px!important;
  }

  body.admin-mode .admin-sidebar>span{
    width:100%!important;
    padding:10px 8px 3px!important;
  }

  body.admin-mode .admin-sidebar>a{
    display:block!important;
    padding:7px 9px!important;
    border-left:0!important;
    border-bottom:2px solid transparent!important;
  }

  body.admin-mode .admin-workspace{
    grid-column:1!important;
    grid-row:auto!important;
    padding:12px!important;
  }
}

/* Light mode equivalent for the restored vertical sidebar. */
@media (min-width:641px) and (max-width:900px){
  html.admin-theme-light body.admin-mode .admin-sidebar{
    background:#fff!important;
    border-right-color:#d3dce2!important;
  }
}


/* Applications admin content order fix
   Keep all application management blocks in one normal content flow:
   builder -> rules -> blocks -> applications.
*/
body.admin-mode .application-admin-tools{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 0 14px!important;
  position:relative!important;
  clear:both!important;
}
body.admin-mode .application-admin-tools > details{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  grid-column:1!important;
}
body.admin-mode .application-list-section{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  clear:both!important;
  position:relative!important;
}
body.admin-mode .application-list-section-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:14px!important;
  width:100%!important;
  margin:0 0 9px!important;
  padding:12px 14px!important;
  border:1px solid var(--cc-border,#30383d)!important;
  border-left:3px solid var(--cc-accent,#8cc63f)!important;
  background:var(--cc-surface,#11161a)!important;
}
body.admin-mode .application-list-section-head h2{
  margin:2px 0 3px!important;
  font-size:14px!important;
}
body.admin-mode .application-list-section-head p{
  margin:0!important;
  font-size:8px!important;
  color:var(--cc-muted,#748087)!important;
}
body.admin-mode .application-list-count{
  display:grid!important;
  place-items:center!important;
  min-width:30px!important;
  height:30px!important;
  padding:0 7px!important;
  border:1px solid var(--cc-border-strong,#46515a)!important;
  color:var(--cc-accent,#8cc63f)!important;
  font-size:9px!important;
  font-weight:900!important;
}
body.admin-mode .application-admin-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
}
body.admin-mode .application-admin-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  float:none!important;
}
html.admin-theme-light body.admin-mode .application-list-section-head{
  background:#fff!important;
  border-color:#d3dde3!important;
  border-left-color:var(--cc-accent,#8cc63f)!important;
}


/* =========================================================
   Applications readability / visual hierarchy
   Public history + admin application detail
   ========================================================= */

/* --- Public: "Meine Bewerbungen" --- */
.application-history-list,
.application-my-list{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
}

.application-history-card,
.application-my-card{
  padding:18px 20px!important;
  border:1px solid var(--cc-border,#30383d)!important;
  background:var(--cc-surface,#151a1e)!important;
}

.application-history-card h3,
.application-history-card h4,
.application-my-card h3,
.application-my-card h4{
  margin:8px 0 5px!important;
  font-size:18px!important;
  line-height:1.3!important;
}

.application-history-card p,
.application-my-card p,
.application-history-card .muted,
.application-my-card .muted{
  font-size:13px!important;
  line-height:1.55!important;
}

.application-status,
.application-status-badge{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:30px!important;
  padding:5px 10px!important;
  font-size:11px!important;
  font-weight:700!important;
}

.application-history-card details,
.application-my-card details{
  margin-top:14px!important;
  padding-top:12px!important;
  border-top:1px solid var(--cc-border,#30383d)!important;
}

.application-history-card details>summary,
.application-my-card details>summary{
  cursor:pointer!important;
  font-size:12px!important;
  font-weight:700!important;
  padding:4px 0!important;
}

/* Timeline: larger and easier to scan */
.application-timeline{
  margin:14px 0 4px!important;
  padding-left:27px!important;
}

.application-timeline-item{
  position:relative!important;
  padding:0 0 18px 14px!important;
  min-height:48px!important;
}

.application-timeline-item:last-child{
  padding-bottom:4px!important;
}

.application-timeline-item:before{
  width:11px!important;
  height:11px!important;
  left:-19px!important;
  top:5px!important;
}

.application-timeline-item:after{
  left:-14px!important;
  top:17px!important;
  bottom:-3px!important;
}

.application-timeline-item strong,
.application-timeline-item b{
  display:block!important;
  font-size:14px!important;
  line-height:1.35!important;
  margin-bottom:4px!important;
}

.application-timeline-item small,
.application-timeline-item .muted{
  display:block!important;
  font-size:11px!important;
  line-height:1.45!important;
}

.application-timeline-item p{
  margin:5px 0 0!important;
  font-size:12px!important;
  line-height:1.5!important;
}

/* --- Admin: application detail --- */
body.admin-mode .application-admin-card{
  font-size:13px!important;
}

body.admin-mode .application-admin-card>header h2,
body.admin-mode .application-admin-card>header h3{
  font-size:20px!important;
  line-height:1.3!important;
  margin-bottom:5px!important;
}

body.admin-mode .application-admin-card>header p,
body.admin-mode .application-admin-card>header .muted{
  font-size:12px!important;
  line-height:1.5!important;
}

body.admin-mode .application-admin-answer-grid{
  gap:10px!important;
  margin-top:14px!important;
}

body.admin-mode .application-admin-answer-row{
  gap:10px!important;
}

body.admin-mode .application-admin-answer{
  padding:14px 16px!important;
  min-height:72px!important;
  border:1px solid var(--cc-border,#30383d)!important;
}

body.admin-mode .application-admin-answer>span{
  display:block!important;
  margin-bottom:8px!important;
  font-size:10px!important;
  line-height:1.3!important;
  font-weight:800!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
}

body.admin-mode .application-admin-answer>div{
  font-size:14px!important;
  line-height:1.55!important;
  overflow-wrap:anywhere!important;
}

/* Applicant's complete history block */
body.admin-mode .application-applicant-history,
body.admin-mode .application-user-history{
  margin:18px 0!important;
  border:1px solid var(--cc-border,#30383d)!important;
}

body.admin-mode .application-applicant-history header,
body.admin-mode .application-user-history header{
  padding:13px 15px!important;
}

body.admin-mode .application-applicant-history header strong,
body.admin-mode .application-user-history header strong{
  font-size:13px!important;
}

body.admin-mode .application-applicant-history header small,
body.admin-mode .application-user-history header small{
  display:block!important;
  margin-top:3px!important;
  font-size:10px!important;
}

body.admin-mode .application-applicant-history article,
body.admin-mode .application-user-history article{
  padding:12px 15px!important;
  min-height:52px!important;
}

body.admin-mode .application-applicant-history article strong,
body.admin-mode .application-user-history article strong{
  font-size:12px!important;
}

body.admin-mode .application-applicant-history article small,
body.admin-mode .application-user-history article small{
  font-size:10px!important;
  line-height:1.45!important;
}

/* Admin timeline */
body.admin-mode .application-admin-card .application-timeline{
  margin-top:17px!important;
}

body.admin-mode .application-admin-card .application-timeline-item strong,
body.admin-mode .application-admin-card .application-timeline-item b{
  font-size:13px!important;
}

body.admin-mode .application-admin-card .application-timeline-item small{
  font-size:10px!important;
}

/* Position-ban input/action area: stop looking like a huge detached white box */
body.admin-mode .application-position-ban,
body.admin-mode .application-position-block{
  margin-top:14px!important;
  padding:12px!important;
  border:1px solid rgba(232,194,0,.35)!important;
  background:rgba(232,194,0,.035)!important;
}

body.admin-mode .application-position-ban input,
body.admin-mode .application-position-block input{
  min-height:38px!important;
  padding:8px 10px!important;
  font-size:13px!important;
}

/* Closed-state message */
body.admin-mode .application-closed-note,
body.admin-mode .application-admin-card .notice{
  padding:13px 15px!important;
  font-size:12px!important;
  line-height:1.5!important;
}

/* Generic fallbacks for the current application templates */
.application-card{
  font-size:13px!important;
}
.application-card h3{
  font-size:18px!important;
}
.application-card details summary{
  font-size:12px!important;
  font-weight:700!important;
}
.application-card .application-history strong{
  font-size:14px!important;
}
.application-card .application-history small{
  font-size:11px!important;
}

/* Mobile remains readable without oversized cards */
@media(max-width:760px){
  .application-history-card,
  .application-my-card{
    padding:14px!important;
  }

  body.admin-mode .application-admin-answer-row.cols-2{
    grid-template-columns:1fr!important;
  }

  body.admin-mode .application-admin-answer{
    min-height:0!important;
  }
}


/* Notification center: separated open/delete controls */
.notification-list{overflow:hidden}
.notification-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:14px!important;align-items:center!important;padding:12px 14px!important;border-bottom:1px solid var(--cc-border,#30383d)!important;background:var(--cc-surface,#11161a)!important}
.notification-row:last-child{border-bottom:0!important}
.notification-row.unread{box-shadow:inset 3px 0 0 var(--cc-accent,#8cc63f)!important;background:var(--cc-surface-alt,#151a1e)!important}
.notification-row-main{display:grid;grid-template-columns:12px minmax(0,1fr);gap:10px;align-items:start;min-width:0}
.notification-row-copy{display:grid;gap:4px;min-width:0}
.notification-row-copy b{font-size:13px!important;line-height:1.35!important}
.notification-row-copy p{margin:0!important;font-size:12px!important;line-height:1.5!important;color:var(--cc-text-soft,#aab4b9)!important}
.notification-row-copy small{font-size:10px!important;color:var(--cc-muted,#748087)!important}
.notification-row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.notification-row-actions form{margin:0!important}
.notification-row-actions button{min-height:30px!important;padding:5px 9px!important;font-size:10px!important}
@media(max-width:650px){.notification-row{grid-template-columns:1fr!important}.notification-row-actions{justify-content:flex-start;padding-left:22px}}


/* Notification event icons */
.notification-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
  padding:14px 16px!important;
}
.notification-row-main{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 8px!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
}
.notification-event-icon{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  border:1px solid currentColor!important;
  border-radius:8px!important;
  background:color-mix(in srgb,currentColor 8%,transparent)!important;
  font-size:20px!important;
  line-height:1!important;
  font-weight:900!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.notification-row-copy{
  display:grid!important;
  gap:3px!important;
  min-width:0!important;
}
.notification-event-label{
  color:var(--cc-muted,#748087)!important;
  font-size:9px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}
.notification-row-copy>b{
  font-size:14px!important;
  line-height:1.35!important;
}
.notification-row-copy>p{
  margin:2px 0!important;
  color:var(--cc-text-soft,#aab4b9)!important;
  font-size:12px!important;
  line-height:1.5!important;
}
.notification-row-copy>small{
  font-size:10px!important;
  color:var(--cc-muted,#748087)!important;
}
.notification-unread-dot{
  width:8px!important;
  height:8px!important;
  border-radius:50%!important;
  background:var(--cc-accent,#8cc63f)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--cc-accent,#8cc63f) 15%,transparent)!important;
}
.notification-row.unread{
  background:color-mix(in srgb,var(--cc-accent,#8cc63f) 3%,var(--cc-surface,#11161a))!important;
}

/* Event color semantics */
.notification-event-application-new{color:#66aee8!important}
.notification-event-application-edited{color:#a98be8!important}
.notification-event-application-review{color:#e0b84b!important}
.notification-event-application-accepted{color:#79c458!important}
.notification-event-application-rejected{color:#d8646b!important}
.notification-event-application-status{color:#78a8c8!important}

.notification-event-calendar-new{color:#5faee3!important}
.notification-event-calendar-updated{color:#9b86de!important}

.notification-event-message-new{color:#63b8d8!important}
.notification-event-forum-reply{color:#7cb9cf!important}
.notification-event-award-received{color:#e1b84e!important}
.notification-event-moderation-notice{color:#d86c6c!important}
.notification-event-comment-mention{color:#ad87dc!important}

.notification-event-application{color:#78a8c8!important}
.notification-event-calendar{color:#62a6d2!important}
.notification-event-message{color:#63b8d8!important}
.notification-event-forum{color:#7cb9cf!important}
.notification-event-award{color:#e1b84e!important}
.notification-event-moderation{color:#d86c6c!important}
.notification-event-comment{color:#ad87dc!important}
.notification-event-generic{color:#8b979e!important}

.notification-row-actions{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
}
.notification-row-actions form{margin:0!important}

html.admin-theme-light .notification-event-icon{
  background:#f7f9fa!important;
}

@media(max-width:650px){
  .notification-row{
    grid-template-columns:1fr!important;
  }
  .notification-row-actions{
    justify-content:flex-end!important;
  }
  .notification-row-main{
    grid-template-columns:38px minmax(0,1fr) 8px!important;
  }
  .notification-event-icon{
    width:38px!important;
    height:38px!important;
    font-size:18px!important;
  }
}


/* =========================================================
   Imprint module
   ========================================================= */
.footer-meta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  flex-wrap:wrap;
}
.footer-legal{
  display:flex;
  align-items:center;
  gap:8px;
}
.footer-legal a{
  font-size:10px;
  font-weight:700;
}
.imprint-public{
  padding:0!important;
  overflow:hidden;
}
.imprint-public-warning{
  padding:11px 14px;
  border-bottom:1px solid rgba(217,164,48,.35);
  border-left:3px solid var(--cc-warning,#d7a430);
  background:rgba(217,164,48,.06);
  font-size:12px;
}
.imprint-sections{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
}
.imprint-sections>section{
  padding:22px 24px;
  border-right:1px solid var(--cc-border,#30383d);
  border-bottom:1px solid var(--cc-border,#30383d);
}
.imprint-sections>section:nth-child(2n){border-right:0}
.imprint-sections h2{
  margin:0 0 12px;
  font-size:16px;
}
.imprint-sections p,
.imprint-sections address,
.imprint-sections dl,
.imprint-copy{
  margin:0;
  font-size:13px;
  line-height:1.65;
  color:var(--cc-text-soft,#aab4b9);
}
.imprint-sections address{
  display:grid;
  gap:3px;
  font-style:normal;
}
.imprint-sections address b{color:var(--cc-text,#dce2e5)}
.imprint-sections dl{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:5px 10px;
}
.imprint-sections dt{color:var(--cc-muted,#748087)}
.imprint-sections dd{margin:0}
.imprint-sections a{color:var(--cc-accent,#8cc63f)}

.imprint-admin-form{
  display:grid;
  gap:10px;
}
.imprint-admin-form>.panel{overflow:hidden}
.imprint-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px 13px;
  padding:13px;
}
.imprint-form-grid label{
  display:grid;
  gap:5px;
  min-width:0;
  font-size:10px;
  font-weight:700;
}
.imprint-form-grid label.wide{grid-column:1/-1}
.imprint-form-grid input,
.imprint-form-grid textarea{
  width:100%;
  min-width:0;
  font-size:12px!important;
}
.imprint-form-grid label>small{
  font-size:8px;
  font-weight:400;
  color:var(--cc-muted,#748087);
}
.imprint-admin-warning{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:10px;
  padding:10px 12px;
  border-left:3px solid var(--cc-warning,#d7a430);
  background:rgba(217,164,48,.07);
  font-size:9px;
}
.imprint-admin-actions{
  display:flex;
  justify-content:flex-end;
  padding:4px 0 12px;
}
.imprint-admin-actions button{
  min-width:170px;
}
.imprint-legal-note{
  margin-top:4px;
  padding:10px 12px;
  border:1px solid var(--cc-border,#30383d);
  color:var(--cc-muted,#748087);
  font-size:8px;
  line-height:1.55;
}

html.admin-theme-light .imprint-legal-note{
  background:#fff;
  border-color:#d3dde3;
}

@media(max-width:760px){
  .imprint-sections,
  .imprint-form-grid{
    grid-template-columns:1fr;
  }
  .imprint-sections>section{
    border-right:0;
  }
  .imprint-form-grid label.wide{grid-column:auto}
  .footer-meta{
    justify-content:flex-start;
  }
}


/* Usernames are identities, not role labels: make them consistently navigable. */
.user-profile-link,
.notification-user-link{
  color:inherit!important;
  font-weight:700!important;
  text-decoration:none!important;
  border-bottom:1px dotted color-mix(in srgb,currentColor 45%,transparent)!important;
}
.user-profile-link:hover,
.notification-user-link:hover{
  color:var(--cc-accent,#8cc63f)!important;
  border-bottom-color:currentColor!important;
}
.notification-row-copy .notification-user-link{
  color:var(--cc-text,#dce2e5)!important;
}
.notification-row-copy .notification-user-link:hover{
  color:var(--cc-accent,#8cc63f)!important;
}


/* System-wide user identity links */
.user-profile-link,
.notification-user-link,
.forum-post a.user-profile-link,
.card-meta a.user-profile-link,
.comment-row a.user-profile-link,
.list-card a.user-profile-link,
.data-table a.user-profile-link{
  color:inherit!important;
  font-weight:700!important;
  text-decoration:none!important;
  border-bottom:1px dotted color-mix(in srgb,currentColor 42%,transparent)!important;
}
.user-profile-link:hover,
.notification-user-link:hover{
  color:var(--cc-accent,#8cc63f)!important;
  border-bottom-color:currentColor!important;
}
.event-creator-link{
  margin:-8px 0 12px;
  color:var(--cc-muted,#748087);
  font-size:11px;
}


/* Central profile-display links */
.user-profile-link,
.notification-user-link{
  color:inherit!important;
  font-weight:700!important;
  text-decoration:none!important;
  border-bottom:1px dotted color-mix(in srgb,currentColor 42%,transparent)!important;
}
.user-profile-link:hover,
.notification-user-link:hover{
  color:var(--cc-accent,#8cc63f)!important;
  border-bottom-color:currentColor!important;
}

/* Forum category images restored */
.forum-board-icon.entity-icon{
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  overflow:hidden!important;
  border-radius:6px!important;
  background:var(--cc-surface-alt,#151a1e)!important;
}
.forum-board-icon.entity-icon img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.forum-board-icon.entity-icon.large{
  width:56px!important;
  height:56px!important;
}


/* Awards admin: assignments and revoke */
.award-admin-list{display:grid;gap:10px;padding:12px}
.award-admin-card{display:grid;gap:12px;padding:14px;border:1px solid var(--border,#33404a);background:rgba(127,127,127,.025)}
.award-admin-card-head{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center}
.award-admin-card-title{display:grid;gap:3px}.award-admin-card-title small{opacity:.65}
.award-recipient-count{padding:5px 8px;border:1px solid var(--border,#33404a);font-size:10px;font-weight:800}
.award-assign-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:8px;align-items:end}
.award-assign-form label{display:grid;gap:4px}.award-assign-form label>span{font-size:10px;opacity:.7}
.award-recipients{border-top:1px solid var(--border,#33404a);padding-top:10px}
.award-recipients summary{cursor:pointer;font-weight:800}.award-recipients summary span{opacity:.6}
.award-recipient-list{display:grid;gap:6px;margin-top:9px}
.award-recipient-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px;border:1px solid var(--border,#33404a);background:rgba(127,127,127,.025)}
.award-recipient-person{display:flex;align-items:center;gap:9px;min-width:0}.award-recipient-person>div{display:grid;gap:2px}.award-recipient-person small{opacity:.6}.award-recipient-person em{font-size:10px;opacity:.78}
.award-recipient-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--border,#33404a);font-weight:900}
.award-delete-form{display:flex;justify-content:flex-end}
@media(max-width:800px){.award-assign-form{grid-template-columns:1fr}.award-admin-card-head{grid-template-columns:42px 1fr}.award-recipient-count{grid-column:2;justify-self:start}.award-recipient-row{align-items:stretch;flex-direction:column}}


/* =========================================================
   Awards admin redesign
   ========================================================= */
.awards-admin-head p{
  margin:4px 0 0;
  opacity:.65;
}

.awards-admin-grid{
  display:grid;
  grid-template-columns:minmax(300px,.65fr) minmax(0,1.35fr);
  gap:16px;
  align-items:start;
}
.awards-create-panel{
  position:sticky;
  top:12px;
}
.awards-create-form{
  display:grid;
  gap:12px;
  padding:14px;
}
.award-field{
  display:grid;
  gap:5px;
}
.award-field>span{
  font-size:10px;
  font-weight:800;
  opacity:.72;
}
.award-field input,
.award-field select,
.award-field textarea{
  width:100%;
  box-sizing:border-box;
  min-height:40px;
  padding:9px 11px;
  border:1px solid var(--border,#33404a);
  background:var(--panel-soft,#11181d);
  color:inherit;
}
.award-field textarea{
  resize:vertical;
}
.award-symbol-field{
  max-width:110px;
}
.awards-create-submit{
  justify-self:start;
}

.awards-admin-list{
  display:grid;
  gap:12px;
  padding:12px;
}
.award-management-card{
  overflow:hidden;
  border:1px solid var(--border,#33404a);
  background:rgba(127,127,127,.025);
}
.award-management-head{
  display:grid;
  grid-template-columns:56px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:14px 16px;
  border-bottom:1px solid var(--border,#33404a);
  background:linear-gradient(180deg,rgba(127,127,127,.04),transparent);
}
.award-management-icon{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--accent,#8cc63f) 40%,var(--border,#33404a));
  background:color-mix(in srgb,var(--accent,#8cc63f) 8%,var(--panel-soft,#11181d));
  font-size:24px;
}
.award-management-title{
  min-width:0;
}
.award-management-title h3{
  margin:0 0 4px;
  font-size:17px;
}
.award-management-title p{
  margin:0;
  opacity:.68;
}
.award-management-count{
  min-width:88px;
  display:grid;
  justify-items:center;
  gap:2px;
  padding:9px 10px;
  border:1px solid var(--border,#33404a);
}
.award-management-count strong{
  font-size:20px;
}
.award-management-count span{
  font-size:8px;
  text-transform:uppercase;
  opacity:.6;
}

.award-management-section{
  display:grid;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid var(--border,#33404a);
}
.award-management-section-title{
  display:flex;
  align-items:center;
  gap:9px;
}
.award-management-section-title>div{
  display:grid;
  gap:1px;
}
.award-management-section-title small{
  opacity:.58;
}
.award-step{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--accent,#8cc63f);
  color:#101417;
  font-size:11px;
  font-weight:900;
}

.award-assign-grid{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;
  gap:9px;
  align-items:end;
}
.award-assign-submit{
  min-height:40px;
  padding-inline:18px;
}

.award-recipient-details{
  border:1px solid var(--border,#33404a);
  background:rgba(127,127,127,.02);
}
.award-recipient-details summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  cursor:pointer;
  font-weight:800;
  list-style:none;
}
.award-recipient-details summary::-webkit-details-marker{
  display:none;
}
.award-recipient-summary-count{
  min-width:28px;
  height:22px;
  display:grid;
  place-items:center;
  border:1px solid var(--border,#33404a);
  font-size:9px;
}
.award-recipient-list{
  display:grid;
  gap:6px;
  padding:0 10px 10px;
}
.award-recipient-card{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:9px;
  border:1px solid var(--border,#33404a);
  background:rgba(127,127,127,.035);
}
.award-recipient-avatar{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid color-mix(in srgb,var(--accent,#8cc63f) 45%,var(--border,#33404a));
  background:color-mix(in srgb,var(--accent,#8cc63f) 10%,transparent);
  font-weight:900;
}
.award-recipient-info{
  min-width:0;
  display:grid;
  gap:2px;
}
.award-recipient-info small{
  opacity:.58;
}
.award-recipient-info p{
  margin:2px 0 0;
  font-size:10px;
  opacity:.76;
}
.award-empty-state{
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px;
  border:1px dashed var(--border,#33404a);
  opacity:.68;
}
.award-empty-state>span{
  font-size:24px;
}
.award-empty-state>div{
  display:grid;
  gap:2px;
}
.award-management-footer{
  display:flex;
  justify-content:flex-end;
  padding:10px 16px 14px;
  background:rgba(127,127,127,.018);
}

@media(max-width:1100px){
  .awards-admin-grid{
    grid-template-columns:1fr;
  }
  .awards-create-panel{
    position:static;
  }
}
@media(max-width:760px){
  .award-management-head{
    grid-template-columns:48px 1fr;
  }
  .award-management-count{
    grid-column:2;
    justify-self:start;
  }
  .award-assign-grid{
    grid-template-columns:1fr;
  }
  .award-recipient-card{
    grid-template-columns:34px 1fr;
  }
  .award-recipient-card form{
    grid-column:2;
  }
}


/* =========================================================
   ORGANIGRAMM MODULE
   ========================================================= */
.org-chart-panel{overflow:hidden}
.org-chart-scroll{overflow:auto;padding:26px 18px 36px}
.org-chart{min-width:max-content;margin:auto}
.org-chart ul{position:relative;display:flex;justify-content:center;margin:0;padding:28px 0 0;list-style:none}
.org-chart li{position:relative;padding:28px 10px 0;text-align:center}
.org-chart li::before,.org-chart li::after{
  content:"";position:absolute;top:0;width:50%;height:28px;border-top:1px dashed var(--cc-border,#39444b)
}
.org-chart li::before{right:50%;border-right:1px dashed var(--cc-border,#39444b)}
.org-chart li::after{left:50%;border-left:1px dashed var(--cc-border,#39444b)}
.org-chart li:only-child::before,.org-chart li:only-child::after{display:none}
.org-chart li:only-child{padding-top:0}
.org-chart li:first-child::before,.org-chart li:last-child::after{border:0}
.org-chart li:last-child::before{border-radius:0 6px 0 0}
.org-chart li:first-child::after{border-radius:6px 0 0 0}
.org-chart ul ul::before{
  content:"";position:absolute;top:0;left:50%;width:0;height:28px;border-left:1px dashed var(--cc-border,#39444b)
}

.org-card{
  width:310px;
  border:1px solid var(--cc-border,#344049);
  background:var(--cc-panel,#151c21);
  text-align:left;
  box-shadow:0 5px 14px rgba(0,0,0,.12);
}
.org-card-link{
  display:grid;
  grid-template-columns:minmax(0,1fr) 82px;
  min-height:118px;
  color:inherit;
  text-decoration:none;
}
.org-card.is-filled .org-card-link:hover{
  border-color:var(--cc-accent,#8bc53f);
  background:rgba(127,127,127,.03)
}
.org-card-copy{display:grid;align-content:center;gap:3px;padding:14px 15px;border-left:4px solid var(--cc-accent,#8bc53f)}
.org-card-copy h3{margin:0;font-size:18px}
.org-card-copy p{margin:0;color:var(--cc-muted,#81909a);font-size:11px}
.org-card-copy small{margin-top:3px;color:var(--cc-muted,#81909a);font-size:9px}
.org-role{color:var(--cc-accent,#8bc53f);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.org-card-avatar{display:grid;place-items:center;margin:9px;border:1px solid var(--cc-border,#344049);background:rgba(127,127,127,.05);overflow:hidden}
.org-card-avatar img{width:100%;height:100%;object-fit:cover}
.org-card-avatar span{font-size:24px;font-weight:900;opacity:.7}
.org-card.is-vacant{opacity:.72}

.org-admin-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.org-admin-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.org-admin-layout{display:grid;gap:14px}
.org-admin-tree{overflow:auto;padding:6px}
.org-admin-tree ul{margin:0;padding-left:24px;list-style:none;border-left:1px dashed var(--cc-border,#344049)}
.org-admin-tree>ul{padding-left:0;border-left:0}
.org-admin-tree li{margin:7px 0}
.org-admin-node{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 11px;border:1px solid var(--cc-border,#344049);background:rgba(127,127,127,.025)
}
.org-admin-node-main{display:grid;gap:2px;min-width:0}
.org-admin-node-main b{font-size:12px}
.org-admin-node-main small{color:var(--cc-muted,#81909a)}
.org-admin-role{color:var(--cc-accent,#8bc53f);font-size:8px;font-weight:900;text-transform:uppercase}
.org-admin-node-actions{display:flex;align-items:center;gap:6px}
.org-admin-node-actions form{margin:0}
.org-help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.org-help-grid>div{display:grid;gap:4px;padding:12px;border:1px solid var(--cc-border,#344049)}
.org-help-grid>div>span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--cc-accent,#8bc53f);color:#101610;font-weight:900}
.org-help-grid p{margin:0;color:var(--cc-muted,#81909a);font-size:10px}

.org-modal[hidden]{display:none!important}
.org-modal{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:20px}
.org-modal-backdrop{position:absolute;inset:0;background:rgba(3,6,8,.8);backdrop-filter:blur(4px)}
.org-modal-dialog{
  position:relative;z-index:1;width:min(760px,calc(100vw - 30px));max-height:calc(100vh - 40px);
  overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);
  border:1px solid var(--cc-border,#344049);background:var(--cc-panel,#151c21);box-shadow:0 22px 70px rgba(0,0,0,.55)
}
.org-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--cc-border,#344049)}
.org-modal-head h2{margin:3px 0 0}
.org-modal-close{width:36px;height:36px;border:1px solid var(--cc-border,#344049);background:transparent;color:inherit;font-size:22px;cursor:pointer}
.org-edit-form{display:grid;gap:13px;padding:18px;overflow:auto}
.org-edit-form>label{display:grid;gap:4px}
.org-edit-form label>span{font-weight:800}
.org-edit-form label>small{color:var(--cc-muted,#81909a);font-size:9px}
.org-edit-form input,.org-edit-form select{
  width:100%;box-sizing:border-box;min-height:40px;padding:9px 10px;
  border:1px solid var(--cc-border,#344049);background:var(--cc-bg,#10161b);color:inherit
}
.org-form-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px;align-items:end}
.org-visible-toggle{display:flex!important;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--cc-border,#344049)}
.org-visible-toggle input{width:auto;min-height:0}
.org-visible-toggle>span{display:grid;gap:1px}
.org-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid var(--cc-border,#344049)}
html.org-modal-open{overflow:hidden}

@media(max-width:780px){
  .org-admin-page-head{flex-direction:column}
  .org-help-grid{grid-template-columns:1fr}
  .org-form-row{grid-template-columns:1fr}
  .org-card{width:250px}
  .org-card-link{grid-template-columns:minmax(0,1fr) 68px}
}

/* =========================================================
   ORGANIGRAMM – Tree alignment fix v2
   Zentriert jeden Knoten exakt über seinem eigenen Unterbaum.
   ========================================================= */

/* Jede Ebene bleibt ein horizontaler Flex-Container. */
.org-chart ul{
  position:relative !important;
  display:flex !important;
  justify-content:center !important;
  align-items:flex-start !important;
  width:max-content !important;
  min-width:100% !important;
  margin:0 auto !important;
  padding:28px 0 0 !important;
  list-style:none !important;
}

/*
  Entscheidend:
  Ein li wird selbst zur vertikalen Flex-Spalte.
  Dadurch sitzt die Karte mittig über der Breite des darunterliegenden ul.
*/
.org-chart li{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  flex:0 0 auto !important;
  width:max-content !important;
  min-width:330px !important;
  padding:28px 10px 0 !important;
  margin:0 !important;
  text-align:center !important;
  box-sizing:border-box !important;
}

/* Karte immer exakt in der Mitte des eigenen Knotens. */
.org-chart .org-card{
  position:relative !important;
  z-index:2 !important;
  flex:0 0 auto !important;
  width:310px !important;
  margin:0 auto !important;
}

/* Unterbaum ebenfalls mittig unter der eigenen Karte. */
.org-chart li > ul{
  align-self:center !important;
  margin:0 auto !important;
}

/*
  Horizontale Verbindung oberhalb eines Knotens.
  Die Linien beziehen sich nun auf die tatsächliche Mitte des li.
*/
.org-chart li::before,
.org-chart li::after{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  width:50% !important;
  height:28px !important;
  border-top:1px dashed var(--cc-border,#39444b) !important;
  box-sizing:border-box !important;
}

.org-chart li::before{
  right:50% !important;
  border-right:1px dashed var(--cc-border,#39444b) !important;
}

.org-chart li::after{
  left:50% !important;
  border-left:1px dashed var(--cc-border,#39444b) !important;
}

/* Einzelknoten braucht keine horizontale Querlinie. */
.org-chart li:only-child::before,
.org-chart li:only-child::after{
  display:none !important;
}

.org-chart li:only-child{
  padding-top:0 !important;
}

/* Äußere Enden der Geschwisterlinie sauber abschließen. */
.org-chart li:first-child::before{
  border:0 !important;
}
.org-chart li:last-child::after{
  border:0 !important;
}

/*
  Senkrechte Linie von der Elternkarte zur Geschwisterlinie.
  Sie sitzt exakt auf 50 % des darunterliegenden ul.
*/
.org-chart li > ul::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:50% !important;
  width:0 !important;
  height:28px !important;
  border-left:1px dashed var(--cc-border,#39444b) !important;
  transform:translateX(-.5px) !important;
}

/* Root-Level: keine künstliche Verbindung oberhalb der obersten Karte. */
.org-chart > .org-tree-root{
  padding-top:0 !important;
}

.org-chart > .org-tree-root > li{
  padding-top:0 !important;
}

.org-chart > .org-tree-root > li::before,
.org-chart > .org-tree-root > li::after{
  display:none !important;
}

/* Etwas mehr Abstand bei echten Verzweigungen. */
.org-chart li > ul > li{
  margin-left:2px !important;
  margin-right:2px !important;
}

/* Sehr breite Bäume bleiben scrollbar statt Karten zusammenzuquetschen. */
.org-chart-scroll{
  overflow:auto !important;
  padding:30px 20px 42px !important;
}

.org-chart{
  width:max-content !important;
  min-width:100% !important;
  margin:0 auto !important;
}

/* Mobile Karten etwas schmaler, Tree selbst bleibt horizontal scrollbar. */
@media(max-width:780px){
  .org-chart li{
    min-width:270px !important;
  }

  .org-chart .org-card{
    width:250px !important;
  }
}

/* Organigramm Admin Drag & Drop */
.org-dd-help{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.org-dd-help>div{display:grid;grid-template-columns:32px 1fr;gap:2px 8px;align-items:center;padding:10px;border:1px solid var(--cc-border,#344049);background:rgba(127,127,127,.025)}
.org-dd-help>div>span{grid-row:1/span 2;font-size:18px;color:var(--cc-accent,#8bc53f);text-align:center}
.org-dd-help small{font-size:9px;color:var(--cc-muted,#81909a)}
.org-dd-root-drop,.org-dd-child-drop{border:1px dashed color-mix(in srgb,var(--cc-accent,#8bc53f) 45%,var(--cc-border,#344049));color:var(--cc-muted,#81909a);text-align:center;transition:.15s}
.org-dd-root-drop{padding:10px;margin-bottom:10px}
.org-dd-tree ul{list-style:none;margin:0;padding:0}
.org-dd-children{margin-left:30px!important;padding-left:16px!important;border-left:1px dashed var(--cc-border,#344049)}
.org-dd-node{margin:7px 0}
.org-dd-card{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--cc-border,#344049);background:var(--cc-panel,#151c21);cursor:grab}
.org-dd-card:active{cursor:grabbing}.org-dd-card:hover{border-color:var(--cc-accent,#8bc53f)}
.org-dd-grip{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--cc-border,#344049);font-size:21px;color:var(--cc-muted,#81909a)}
.org-dd-copy{display:grid;gap:2px}.org-dd-copy b{font-size:12px}.org-dd-copy small{color:var(--cc-muted,#81909a)}
.org-dd-actions{display:flex;align-items:center;gap:6px}.org-dd-actions form{margin:0}
.org-dd-child-drop{max-height:0;overflow:hidden;opacity:0;margin-left:30px;padding:0 8px;font-size:9px}
.org-dd-node:hover>.org-dd-child-drop{max-height:34px;opacity:.75;padding:7px 8px;margin-top:5px}
.org-dd-over{border-color:var(--cc-accent,#8bc53f)!important;background:color-mix(in srgb,var(--cc-accent,#8bc53f) 10%,transparent)!important;color:inherit!important;opacity:1!important}
.org-dd-before{border-top:3px solid var(--cc-accent,#8bc53f)!important}
.org-dd-node.is-dragging>.org-dd-card{opacity:.35}
.org-dd-modal-note{display:flex;gap:10px;padding:10px;border:1px solid var(--cc-border,#344049);border-left:3px solid var(--cc-accent,#8bc53f)}
.org-dd-modal-note>span{font-size:18px;color:var(--cc-accent,#8bc53f)}.org-dd-modal-note>div{display:grid;gap:2px}.org-dd-modal-note small{color:var(--cc-muted,#81909a)}
@media(max-width:780px){.org-dd-help{grid-template-columns:1fr}.org-dd-card{grid-template-columns:32px 1fr}.org-dd-actions{grid-column:2}}


/* =========================================================
   ORGANIGRAMM DRAG & DROP – Child target fix
   Karte = unterordnen / Linie = Reihenfolge
   ========================================================= */

.org-dd-reorder-drop{
  height:0;
  margin:0 0 0 0;
  padding:0 10px;
  overflow:hidden;
  box-sizing:border-box;
  border:0 dashed transparent;
  color:transparent;
  text-align:center;
  font-size:9px;
  line-height:22px;
  opacity:0;
  transition:
    height .14s ease,
    margin .14s ease,
    opacity .14s ease,
    border-color .14s ease,
    background .14s ease;
}

/* Sobald irgendeine Karte gezogen wird, werden die Reihenfolge-Zonen sichtbar. */
html.org-dd-dragging .org-dd-reorder-drop{
  height:24px;
  margin:3px 0;
  border:1px dashed color-mix(in srgb,var(--cc-accent,#8bc53f) 30%,var(--cc-border,#344049));
  color:var(--cc-muted,#81909a);
  opacity:.55;
}

html.org-dd-dragging .org-dd-reorder-drop.org-dd-over{
  height:30px;
  line-height:28px;
  border-color:var(--cc-accent,#8bc53f);
  background:color-mix(in srgb,var(--cc-accent,#8bc53f) 10%,transparent);
  color:var(--cc-text,#fff);
  opacity:1;
}

/* Karten zeigen während Drag klar: Drop hier = unterordnen. */
html.org-dd-dragging .org-dd-card:not(.is-dragging > .org-dd-card){
  position:relative;
}

html.org-dd-dragging .org-dd-card{
  transition:border-color .14s ease,background .14s ease,box-shadow .14s ease;
}

.org-dd-card.org-dd-child-target-active{
  border-color:var(--cc-accent,#8bc53f)!important;
  background:color-mix(in srgb,var(--cc-accent,#8bc53f) 11%,var(--cc-panel,#151c21))!important;
  box-shadow:inset 4px 0 0 var(--cc-accent,#8bc53f)!important;
}

.org-dd-card.org-dd-child-target-active::after{
  content:"Hier ablegen = unterordnen";
  position:absolute;
  right:12px;
  bottom:7px;
  padding:3px 6px;
  border:1px solid var(--cc-accent,#8bc53f);
  background:var(--cc-panel,#151c21);
  color:var(--cc-accent,#8bc53f);
  font-size:8px;
  font-weight:800;
  pointer-events:none;
}

/* Alte Child-Dropzone wird nicht mehr benötigt. */
.org-dd-child-drop{
  display:none!important;
}

/* Die gezogene Karte selbst soll nicht als Ziel erscheinen. */
.org-dd-node.is-dragging > .org-dd-card{
  opacity:.32!important;
  border-color:var(--cc-accent,#8bc53f)!important;
}

/* Root-Zone während Drag etwas deutlicher. */
html.org-dd-dragging .org-dd-root-drop{
  border-color:color-mix(in srgb,var(--cc-accent,#8bc53f) 70%,var(--cc-border,#344049));
  background:color-mix(in srgb,var(--cc-accent,#8bc53f) 4%,transparent);
}


/* =========================================================
   ORGANIGRAMM – Mehrfach-Zuständigkeiten / zusammenlaufende Linien
   ========================================================= */
.org-graph-panel{overflow:hidden}
.org-graph-scroll{overflow:auto;padding:30px 20px 42px}
.org-graph-stage{
  position:relative;
  display:grid;
  gap:72px;
  min-width:max-content;
  width:max-content;
  margin:0 auto;
  padding:10px 30px;
}
.org-graph-lines{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  overflow:visible;
  z-index:0;
}
.org-graph-line{
  fill:none;
  stroke:var(--cc-border,#46535d);
  stroke-width:1.3;
  stroke-dasharray:4 3;
  vector-effect:non-scaling-stroke;
}
.org-graph-level{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  gap:28px;
}
.org-graph-card{
  width:310px;
  flex:0 0 310px;
  border:1px solid var(--cc-border,#344049);
  background:var(--cc-panel,#151c21);
  box-shadow:0 5px 14px rgba(0,0,0,.12);
}
.org-graph-card-link{
  display:grid;
  grid-template-columns:minmax(0,1fr) 82px;
  min-height:118px;
  color:inherit;
  text-decoration:none;
}
.org-graph-card.is-filled .org-graph-card-link:hover{
  background:rgba(127,127,127,.035);
}
.org-graph-copy{
  display:grid;
  align-content:center;
  gap:3px;
  padding:14px 15px;
  border-left:4px solid var(--cc-accent,#8bc53f);
}
.org-graph-copy h3{margin:0;font-size:18px}
.org-graph-copy p{margin:0;color:var(--cc-muted,#81909a);font-size:11px}
.org-graph-copy small{margin-top:3px;color:var(--cc-muted,#81909a);font-size:9px}
.org-graph-avatar{
  display:grid;
  place-items:center;
  margin:9px;
  border:1px solid var(--cc-border,#344049);
  background:rgba(127,127,127,.05);
  overflow:hidden;
}
.org-graph-avatar img{width:100%;height:100%;object-fit:cover}
.org-graph-avatar span{font-size:24px;font-weight:900;opacity:.7}
.org-graph-card.is-vacant{opacity:.72}

/* Admin relation mode */
.org-extra-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  margin:5px 0 0 46px;
  font-size:9px;
  color:var(--cc-muted,#81909a);
}
.org-extra-link-chip{
  padding:4px 7px;
  border:1px solid color-mix(in srgb,var(--cc-accent,#8bc53f) 40%,var(--cc-border,#344049));
  background:color-mix(in srgb,var(--cc-accent,#8bc53f) 7%,transparent);
  color:inherit;
  cursor:pointer;
}
html.org-link-mode .org-dd-card{
  opacity:.55;
  cursor:pointer!important;
}
html.org-link-mode .org-dd-card.org-link-source{
  opacity:1;
  border-color:#e0b84b!important;
  box-shadow:inset 4px 0 0 #e0b84b!important;
}
html.org-link-mode .org-dd-card.org-link-source::after{
  content:"Diese Position erhält einen weiteren Vorgesetzten";
  display:block;
  grid-column:1/-1;
  margin-top:4px;
  color:#e0b84b;
  font-size:9px;
}
html.org-link-mode .org-dd-card.org-link-target{
  opacity:1;
  border-color:var(--cc-accent,#8bc53f)!important;
}
html.org-link-mode .org-dd-card.org-link-target:hover{
  background:color-mix(in srgb,var(--cc-accent,#8bc53f) 12%,var(--cc-panel,#151c21))!important;
  box-shadow:inset 4px 0 0 var(--cc-accent,#8bc53f)!important;
}
html.org-link-mode .org-dd-card.org-link-target:hover::after{
  content:"Als zusätzlichen Vorgesetzten verknüpfen";
  display:block;
  grid-column:1/-1;
  margin-top:4px;
  color:var(--cc-accent,#8bc53f);
  font-size:9px;
}

@media(max-width:780px){
  .org-graph-card{width:250px;flex-basis:250px}
  .org-graph-card-link{grid-template-columns:minmax(0,1fr) 68px}
}


/* Internal forum visibility */
.forum-board-main h3{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}
.forum-internal-badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:3px 6px;
  border:1px solid currentColor;
  border-radius:999px;
  opacity:.78;
  font-size:9px;
  font-weight:800;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.03em;
}


/* Forum internal-role editor: expand the complete board instead of clipping it. */
.forum-structure-panel:has(.forum-inline-editor.is-visible),
.forum-board-dnd-grid:has(.forum-inline-editor.is-visible),
.forum-board-drop-column:has(.forum-inline-editor.is-visible),
.board-sort-list:has(.forum-inline-editor.is-visible),
.forum-admin-compact-card:has(.forum-inline-editor.is-visible),
.forum-admin-board:has(.forum-inline-editor.is-visible),
.forum-admin-board:has(.forum-inline-editor.is-visible)>.sort-item-content{
  overflow:visible!important;
  max-height:none!important;
}

.forum-admin-compact-card:has(.forum-inline-editor.is-visible){
  height:auto!important;
  min-height:0!important;
}

.forum-inline-editor.is-visible,
.forum-inline-editor.is-visible .forum-inline-edit-form,
.forum-inline-editor.is-visible .forum-role-access{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}

/* When 'Internes Forum' is active, show the complete role list.
   No internal scrollbar and no fixed height. */
.forum-inline-editor.is-visible .forum-role-access-list:not([hidden]),
.forum-create-box[open] .forum-role-access-list:not([hidden]){
  display:grid!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
