:root { --bs-primary:#51368c; --bs-primary-rgb:81,54,140; }
body { margin:0; background:#f4f7fb; color:#132b43; font-family:Inter,Manrope,Arial,sans-serif; }
.btn-primary { --bs-btn-bg:#51368c; --bs-btn-border-color:#51368c; --bs-btn-hover-bg:#402a72; --bs-btn-hover-border-color:#402a72; --bs-btn-active-bg:#35215e; }
.btn-outline-primary { --bs-btn-color:#51368c; --bs-btn-border-color:#c7b9df; --bs-btn-hover-bg:#51368c; --bs-btn-hover-border-color:#51368c; }
.admin-shell { display:flex; min-height:100vh; }
.admin-sidebar { flex:0 0 238px; background:#16152e; color:#d2dfec; padding:27px 17px; display:flex; flex-direction:column; }
.brand { display:flex; align-items:center; gap:12px; padding:0 12px 30px; color:#fff; }
.brand b { font-size:36px; letter-spacing:-.09em; line-height:1; }
.brand span { border-left:1px solid #ff6b62; padding-left:10px; font-size:10px; letter-spacing:.11em; line-height:1.35; font-weight:700; }
.brand-dark { color:#21213f; padding:0; }
.sidebar-label { color:#728da7; letter-spacing:.16em; font-size:10px; font-weight:800; padding:20px 12px 9px; }
.sidebar-link { padding:11px 13px; border-radius:9px; color:#d2dfec; background:transparent; text-decoration:none; font-size:12px; font-weight:700; }
.sidebar-link:hover,.sidebar-link:focus-visible { color:white; background:#26213e; }
.sidebar-link.active { color:#ff8a81; background:#332547; }
.sidebar-footer { margin-top:auto; padding:30px 12px 4px; color:#7d98af; font-size:11px; line-height:1.7; overflow-wrap:anywhere; }
.admin-main { min-width:0; flex:1; }
.admin-topbar { height:66px; padding:0 34px; background:white; border-bottom:1px solid #e6edf4; display:flex; align-items:center; justify-content:space-between; color:#71879a; font-size:12px; }
.admin-topbar strong { color:#1b354d; }
.page-content { max-width:1370px; padding:33px 36px 70px; }
.page-title { margin:8px 0 5px; font-size:29px; font-weight:800; letter-spacing:-.05em; }
.eyebrow { color:#bd322d; letter-spacing:.17em; font-weight:800; font-size:10px; }
.panel-card { border-radius:16px; }
.table { --bs-table-bg:transparent; }
.table th { color:#647e91; font-size:10px; letter-spacing:.08em; text-transform:uppercase; font-weight:800; padding:14px 20px; white-space:nowrap; }
.table td { padding:16px 20px; color:#38556b; font-size:12px; }
.table a:not(.btn) { color:#123b55; }
.back-link { color:#51368c; text-decoration:none; font-size:12px; font-weight:800; }
.back-link:hover { text-decoration:underline; }
.content-stack,.editor-form { display:grid; gap:20px; max-width:1000px; }
.section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:16px; border-bottom:1px solid #e5eef3; padding-bottom:16px; margin-bottom:20px; }
.section-heading h2 { margin:0; font-size:17px; font-weight:800; }
.section-heading span { color:#8295a4; font-size:11px; }
.form-label { font-size:12px; color:#536d81; font-weight:700; }
.form-control { border-color:#cbdde6; border-radius:8px; font-size:13px; min-height:42px; }
.form-control:focus { border-color:#bd322d; box-shadow:0 0 0 .2rem #0d91a92b; }
textarea.form-control { line-height:1.6; }
.form-check-label { font-size:12px; color:#536d81; }
.image-current { display:flex; align-items:center; gap:18px; }
.image-current img { width:115px; height:75px; object-fit:contain; border-radius:8px; background:#eff4f7; }
.hero-preview { min-height:260px; padding:30px; border-radius:12px; background:#16152e center/cover; color:white; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; }
.hero-preview h3 { font-size:31px; font-weight:800; letter-spacing:-.05em; max-width:500px; margin:13px 0 5px; }
.hero-preview p { max-width:530px; color:#d0e2ed; font-size:13px; line-height:1.6; margin:0; }
.content-title { font-size:21px; font-weight:800; letter-spacing:-.04em; margin:13px 0 5px; }
.content-copy { white-space:pre-wrap; line-height:1.75; color:#38556b; font-size:13px; margin:11px 0 0; }
.feature-image { display:block; width:min(100%,580px); max-height:360px; object-fit:cover; border-radius:12px; }
.related-tile { padding:16px; background:#f3f8fb; border-radius:10px; color:#123b55; font-size:12px; font-weight:700; }
.related-tile:hover { background:#e8f4f7; color:#51368c; }
.speaker-thumb { width:48px; height:48px; flex:0 0 48px; border-radius:50%; object-fit:cover; background:#e8f4f7; }
.speaker-placeholder { display:grid; place-items:center; font-size:19px; font-weight:800; color:#51368c; }
.speaker-choice { display:flex; align-items:flex-start; gap:12px; padding:12px 14px; border:1px solid #d7e4eb; border-radius:9px; cursor:pointer; }
.speaker-choice:hover { background:#f3f8fb; }
.speaker-choice span { display:flex; flex-direction:column; gap:3px; font-size:13px; }
.speaker-choice small { color:#73899b; font-size:11px; }
.sponsor-logo { width:92px; height:58px; flex:0 0 92px; object-fit:contain; background:#f2f6f8; border-radius:7px; padding:5px; }
.sponsor-logo-empty { display:grid; place-items:center; color:#8699a8; font-size:10px; }
.auth-shell { min-height:100vh; background:linear-gradient(145deg,#16152e,#272746); display:grid; place-items:center; padding:24px; }
.auth-card { width:min(100%,430px); border-radius:18px; }
@media(max-width:760px) { .admin-shell { display:block; } .admin-sidebar { display:block; padding:15px; } .admin-sidebar .brand { padding-bottom:5px; } .sidebar-label,.sidebar-footer { display:none; } .sidebar-link { display:inline-block; } .admin-topbar { padding:0 18px; } .page-content { padding:24px 18px 50px; } .section-heading { display:block; } .section-heading span { display:block; margin-top:6px; } }
