/* JDN — console d’administration. No external fonts or trackers. */
:root{--bg:#0b1220;--panel:#121d2d;--panel2:#172438;--line:#27364a;--text:#edf3fd;--muted:#a1b1c7;--accent:#368df8;--accent2:#86bfff;--green:#59debc;--red:#ff8e9d;--yellow:#ffd17c;--shadow:0 14px 44px #02071045;color-scheme:dark}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:"Segoe UI",system-ui,sans-serif;line-height:1.5}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent2);outline-offset:4px}
button{font-size:.875rem}
button:disabled{cursor:not-allowed}
a{color:var(--accent2)}
.skip-link{position:fixed;top:-100px;left:1rem;padding:1rem;background:var(--accent);color:white;z-index:200}
.skip-link:focus{top:1rem}
.app-shell{grid-template-columns:64px 254px minmax(0,1fr);grid-template-rows:72px 1fr}
.topbar{height:72px;padding:0 24px;background:#09111f;border-color:#203149;z-index:20}
.brand{width:294px;gap:12px;letter-spacing:.01em}
.brand strong{font-size:1.05rem;font-weight:600}
.brand-mark{font-size:1.35rem;letter-spacing:-.06em;width:78px;height:78px;border-radius:22px;background:#136edd;box-shadow:0 0 0 1px #71bfff55,0 10px 30px #065ecc33}
.brand-mark.small{font-size:.85rem;letter-spacing:-.05em;width:40px;height:40px;border-radius:12px}
.badge,.section-tag{font-size:.75rem;border-radius:5px;letter-spacing:.08em;background:#278cf219;color:#98caff;padding:4px 7px}
.account{font-size:.875rem;gap:12px}
.avatar{border:2px solid #38506c}
.icon-button{width:34px;height:34px;border-radius:8px}
.icon-button:hover{background:var(--panel2);color:white}
.topbar-status{font-size:.875rem}
.status-dot.online{box-shadow:none}
.guildbar{top:72px;height:calc(100vh - 72px);padding-top:22px;background:#09111f;border-color:#203149}
.guild-icon{width:42px;height:42px;background:#18273d;border:1px solid transparent;font-size:.875rem}
.guild-icon.active{border:2px solid var(--accent2);box-shadow:0 0 0 4px #3694ff18}
.sidebar{top:72px;height:calc(100vh - 72px);background:#0e1828;padding:16px 14px 0;border-color:#203149}
.server-header{padding:6px 4px 20px;gap:10px}
.server-header small{font-size:.75rem;letter-spacing:.12em}
.server-header strong{font-size:.875rem;max-width:160px}
.server-icon{width:38px;height:38px;border-radius:10px}
.nav{overflow-y:auto;gap:3px;flex:1;padding:14px 0;scrollbar-width:thin;scrollbar-color:#314861 transparent}
.nav-label{font-size:.75rem;letter-spacing:.1em;color:#7790ae;font-weight:600;padding:14px 12px 7px}
.nav-label:first-child{padding-top:0}
.nav-item{font-size:.875rem;font-weight:500;min-height:41px;padding:9px 12px;border-radius:7px;position:relative}
.nav-item span{font-size:1rem;opacity:.85}
.nav-item:hover{background:#1a2a40}
.nav-item.active{color:#b9dbff;background:#17417466;box-shadow:inset 3px 0 var(--accent)}
.sidebar-footer{border-top:1px solid var(--line);font-size:.75rem;padding:15px 0;display:flex;align-items:center;gap:8px;color:var(--muted)}
.sidebar-footer>span:last-child{margin-left:auto;color:#8099b7}
.workspace{padding:32px clamp(20px,3vw,52px) 124px;background:linear-gradient(145deg,#11244055 0,transparent 420px),var(--bg)}
#dashboard-content{max-width:1480px;margin:auto;outline:none}
.page-heading{align-items:center;margin-bottom:24px}
.eyebrow{font-size:.75rem;color:#88a4c8;font-weight:600;letter-spacing:.14em;margin-bottom:8px}
.page-heading h1{font-size:clamp(1.6rem,2.3vw,2.2rem);line-height:1.2;letter-spacing:-.025em;font-weight:650}
.page-heading p:last-child{font-size:.9375rem;max-width:680px;line-height:1.55;margin-top:10px}
.page-heading .button{white-space:nowrap}
.sync-strip{display:flex;align-items:center;gap:12px;border:1px solid #244c63;background:#10283580;border-radius:10px;padding:13px 16px;margin-bottom:24px}
.sync-icon{width:32px;height:32px;border-radius:8px;background:#50d6b516;color:var(--green);display:grid;place-items:center;font-size:1.25rem;flex:none}
.sync-strip strong,.sync-strip span:not(.sync-icon){display:block;font-size:.875rem}
.sync-strip strong{font-weight:600;color:#b8e7dd}
.sync-strip span:not(.sync-icon){color:var(--muted);font-size:.8125rem;margin-top:2px}
.sync-strip time{margin-left:auto;color:var(--muted);font-size:.8125rem;white-space:nowrap}
.stats-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:24px}
.stat-card{position:relative;border-radius:10px;background:#132034;padding:18px 18px 16px;border-color:#283c55;box-shadow:none}
.stat-card:first-child{background:#153660;border-color:#356295}
.stat-card small{font-size:.8125rem;min-height:2.5em;line-height:1.3;color:#b2c2d8;margin-bottom:5px}
.stat-card strong{font-size:1.8rem;letter-spacing:-.03em;font-weight:650;font-variant-numeric:tabular-nums}
.grid{gap:20px;margin-bottom:24px}
.card{border-radius:12px;padding:24px;box-shadow:none;background:var(--panel)}
.page-panel>.card{margin-bottom:20px}
.card h2{font-size:1.0625rem;font-weight:650;letter-spacing:-.01em}
.card>p,.card-heading p,.switch-row p{font-size:.875rem;line-height:1.6}
.card-heading{gap:18px;margin-bottom:16px}
.card-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#20334d;flex:none;font-size:1.2rem}
.button{min-height:42px;padding:10px 16px;border-radius:8px;font-weight:600;transition:background .15s,border-color .15s}
.button:hover{transform:none;filter:none}
.button.primary{background:#287fe9;border:1px solid #4f9bfd;box-shadow:0 3px 9px #0278ff20;color:white}
.button.primary:hover:not(:disabled){background:#348bf5}
.button.secondary{background:#17273c;border:1px solid #354b67;color:#d2e3fa}
.button.secondary:hover:not(:disabled){background:#213853;border-color:#4f6d92}
.button.quiet{background:transparent;color:#bfcee1;border:1px solid transparent}
.button.quiet:hover:not(:disabled){background:#25354b}
.button:disabled{opacity:.5}
label{font-size:.875rem;font-weight:500;color:#c5d4e7;margin-top:18px}
input[type=text],input[type=number],select,textarea{font-size:1rem;background:#0b1525;border:1px solid #344860;border-radius:7px;padding:11px 12px;min-height:44px;max-width:100%}
input:focus,select:focus,textarea:focus{border-color:#69adff;box-shadow:0 0 0 3px #3793ff22}
input::placeholder,textarea::placeholder{color:#7e94b0}
select{cursor:pointer;text-overflow:ellipsis}
select:disabled,input:disabled,textarea:disabled{opacity:.65;cursor:not-allowed}
.hint{font-size:.8125rem;line-height:1.65}
code{color:#afd7ff;border-color:#2d415b;background:#101b2b;font-size:.875em}
.switch{position:relative;display:block;cursor:pointer}
.switch input{display:block;position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;z-index:1;cursor:pointer}
.switch input:focus-visible+span{outline:3px solid var(--accent2);outline-offset:4px}
.switch input:disabled+span{opacity:.5;cursor:not-allowed}
.switch span{background:#3b4b60;width:44px;height:26px}
.switch span:after{width:20px;height:20px}
.switch input:checked+span{background:#2686f3}
.switch input:checked+span:after{transform:translateX(18px)}
.setting-row{font-size:.9375rem;padding:18px 0}
.setting-row small{font-size:.8125rem;line-height:1.5}
.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.module-card{min-height:124px;border-radius:9px;padding:19px;background:#142236;align-items:flex-start}
.module-card:has(input:checked){border-color:#3c648b;background:#15304b66}
.module-card strong{font-size:.9375rem;margin-bottom:6px}
.module-card small{font-size:.8125rem;line-height:1.5}
.module-card .switch{margin-top:2px}
.check-item{font-size:.875rem;padding:12px 0;gap:12px}
.check-item strong{font-weight:600}
.audit-item{padding:17px 0;align-items:center;gap:16px}
.audit-item strong{font-size:.875rem;font-weight:600}
.audit-item small{display:block;font-size:.8125rem;margin-top:3px}
.audit-item>small{white-space:nowrap}
.preview-title{font-size:.75rem}
.preview-box{background:#0b1525;border-color:#344860;font-size:.9375rem;padding:16px}
.save-dock{position:fixed;bottom:18px;left:calc(318px + clamp(20px,3vw,52px));right:clamp(20px,3vw,52px);z-index:15;display:flex;align-items:center;gap:12px;border:1px solid #39516e;background:#142339f5;backdrop-filter:blur(12px);padding:14px 18px;border-radius:12px;box-shadow:0 10px 40px #0009}
.save-dock.dirty{border-color:#448bd4}
.save-copy{margin-right:auto;min-width:0}
.save-copy strong,.save-copy span{display:block}
.save-copy strong{font-size:.875rem;font-weight:650}
.save-copy span{font-size:.8125rem;color:var(--muted);margin-top:2px}
.save-dock .button{flex:none}
.notice{font-size:.9375rem;line-height:1.6}
.toast-root{bottom:105px;right:24px;max-width:calc(100vw - 32px)}
.toast{font-size:.9375rem;background:#172a40;border-radius:9px;line-height:1.55;min-width:0;width:370px;max-width:100%;border-left-width:4px}
.toast.success{border-color:#3dc4a1}.toast.error{border-color:#ef7d91}.toast.warning{border-color:var(--yellow)}
.empty-state{min-height:55vh}
.empty-state p{line-height:1.7}
.moderation-item{background:#142236;border-radius:9px;font-size:.9375rem}
.moderation-item time,.moderation-item small{font-size:.8125rem}
.status-pill{font-size:.75rem}
.security-layout{grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr)}
.security-member-row small,.profile-facts small,.risk-badge small{font-size:.75rem}
.profile-facts strong{font-size:.875rem}
.security-member-detail h3,.archive-stats h3{font-size:.9375rem}
.risk-history-point svg{height:100%;width:100%;fill:var(--accent)}
.field-dirty:not([type=checkbox]){border-color:#639cdf}
.landing{background:radial-gradient(ellipse at 20% 20%,#17488170,transparent 60%),#09111f}
.login-card{width:min(640px,100%);text-align:left;padding:52px;border-radius:20px;background:#101d2e;border-color:#345174}
.login-card .brand-mark{margin:0 0 30px}
.login-card h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:650;letter-spacing:-.035em;line-height:1.1}
.login-card .lead{font-size:1rem;margin:24px 0 32px}
.security-line{font-size:.8125rem;line-height:1.6}
@media(min-width:1800px){.save-dock{max-width:1480px;margin-left:auto;margin-right:auto}}
@media(max-width:1280px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.security-layout{grid-template-columns:1fr}}
@media(max-width:1050px){.app-shell{grid-template-columns:58px 224px minmax(0,1fr)}.brand{width:258px}.workspace{padding:26px 24px 130px}.sidebar{padding-left:10px;padding-right:10px}.nav-item{font-size:.8125rem}.save-dock{left:306px;right:24px}.grid.two{grid-template-columns:1fr}.server-header strong{max-width:140px}}
@media(max-width:780px){.app-shell{grid-template-columns:1fr;grid-template-rows:64px auto auto 1fr}.topbar{height:64px;padding:0 16px}.brand{width:auto}.brand strong{display:inline}.brand .badge{display:none}.account span{display:none}.topbar-status{display:flex;margin-left:auto;margin-right:12px;font-size:.75rem}.account{margin-left:0;gap:4px}.avatar{width:30px;height:30px}.guildbar{grid-column:1;grid-row:2;height:auto;position:static;flex-direction:row;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);border-right:0}.guild-list{flex-direction:row}.guild-separator{width:1px;height:28px}.guild-icon{width:36px;height:36px;border-radius:10px}.sidebar{grid-column:1;grid-row:3;top:64px;height:auto;padding:8px 12px;z-index:12;border-bottom:1px solid var(--line)}.server-header,.sidebar-footer,.nav-label{display:none}.nav{flex-direction:row;padding:0;overflow-x:auto;gap:5px}.nav-item{white-space:nowrap;font-size:.875rem;min-height:42px}.nav-item.active{box-shadow:inset 0 -2px var(--accent)}.workspace{grid-column:1;grid-row:4;padding:24px 16px 170px}.page-heading{flex-direction:row;align-items:flex-start;gap:12px}.page-heading .button{width:auto;font-size:.8125rem;padding:8px 12px;min-height:38px}.page-heading p:last-child{font-size:.875rem}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-grid{grid-template-columns:1fr}.save-dock{left:12px;right:12px;bottom:12px;flex-wrap:wrap;padding:12px;gap:8px}.save-copy{flex-basis:100%}.save-dock .button.primary{margin-left:auto}.sync-strip{padding:12px}.sync-strip time{display:none}.toast-root{bottom:145px;right:16px}.card{padding:20px}.audit-item{grid-template-columns:1fr}.audit-item>small{margin:0}.login-card{padding:32px}.notice{flex-direction:column;gap:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
