:root {
    --ink: #111827;
    --navy: #101a35;
    --blue: #4f5ee8;
    --cyan: #32c7bd;
    --paper: #f6f7fb;
    --muted: #667085;
    --line: #e4e7ec;
    --surface: #fff;
    --surface-soft: #f9fafb;
    --success: #087f5b;
    --danger: #c43636;
    --radius-sm: 10px;
    --radius-md: 14px;
    --radius-lg: 20px;
    --shadow-sm: 0 4px 16px rgb(16 24 40 / 6%);
    --shadow-md: 0 16px 44px rgb(16 24 40 / 10%);
}

html { font-size: 15px; }
body { overflow-x:hidden; color: var(--ink); background: var(--paper); -webkit-font-smoothing: antialiased; }
h1,h2,h3 { color: inherit; letter-spacing: -.035em; }
a,button,input,select,textarea { transition: border-color .18s ease, box-shadow .18s ease, color .18s ease, background .18s ease, transform .18s ease; }
.container { max-width: 1180px; }
.section-kicker { font-size: .72rem; letter-spacing: .16em; color: var(--blue); }

.btn {
    border-radius: var(--radius-sm);
    font-weight: 700;
    box-shadow: none;
}
.btn-brand {
    padding: 11px 17px;
    border: 0;
    background: linear-gradient(135deg,#4f66e8,#654edb);
    box-shadow: 0 8px 20px rgb(79 94 232 / 20%);
}
.btn-brand:hover { color:#fff; transform:translateY(-1px); box-shadow:0 11px 25px rgb(79 94 232 / 28%); }
.btn-dark { background:#172033; border-color:#172033; }
.btn-outline-dark,.btn-outline-primary,.btn-outline-secondary,.btn-outline-danger { background:#fff; }

.form-control,.form-select {
    min-height: 44px;
    border-color: #d9dee8;
    border-radius: var(--radius-sm);
    color: var(--ink);
    background-color: #fff;
}
.form-control:focus,.form-select:focus {
    border-color: #7b87ec;
    box-shadow: 0 0 0 4px rgb(79 94 232 / 11%);
}
.form-label { margin-bottom:.42rem; color:#344054; font-size:.86rem; font-weight:700; }

/* Navigation */
.site-header .navbar { min-height:72px; padding-top:10px!important; padding-bottom:10px!important; }
.navbar-brand { color:inherit; font-size:1.12rem; letter-spacing:-.025em; }
.public-overlay-header .navbar-brand { color:#fff; }
.public-light-header .navbar-brand,.admin-site-header .navbar-brand { color:var(--ink); }
.brand-mark { width:38px; height:38px; border-radius:11px; font-size:1.05rem; }
.navbar .nav-link { padding:9px 12px!important; border-radius:9px; font-size:.9rem; font-weight:650; }
.public-overlay-header .navbar .nav-link:hover { background:rgb(255 255 255 / 8%); }
.public-light-header { box-shadow:0 1px 0 var(--line); }
.public-light-header .navbar .nav-link:hover { background:#f2f4f8; }
.admin-site-header { border-bottom:1px solid var(--line); background:rgb(255 255 255 / 96%); box-shadow:0 4px 18px rgb(16 24 40 / 5%); }
.admin-site-header .navbar { max-width:1380px; }
.admin-site-header .navbar-brand { color:var(--ink); }
.admin-site-header .navbar .nav-link { color:#566078!important; }
.admin-site-header .navbar .nav-link.active { color:#fff!important; background:var(--blue); box-shadow:0 6px 14px rgb(79 94 232 / 20%); }
.admin-signout { border:1px solid #d6dbe5; color:#344054; background:#fff; }

/* Compact home */
.hero-section { min-height:450px; }
.hero-section .row { min-height:330px; }
.hero-title { max-width:620px; font-size:clamp(2.5rem,3.6vw,3.55rem); }
.hero-copy { max-width:610px; color:#cbd3e5; }
.hero-visual { min-height:300px; }
.webinar-section { padding-top:3.5rem!important; padding-bottom:4rem!important; }
.section-heading { margin-bottom:1.3rem!important; }
.webinar-section .section-heading {
    grid-template-columns:minmax(270px,.7fr) minmax(0,1.3fr);
    align-items:end!important;
    column-gap:28px!important;
}
.webinar-section .home-catalog-filters {
    grid-column:2;
    grid-row:1;
    grid-template-columns:minmax(180px,1fr) minmax(130px,.52fr) minmax(130px,.52fr) minmax(138px,auto) auto;
    margin-top:0;
    border:1px solid #cfd6e3;
    box-shadow:0 12px 32px rgb(16 24 40 / 9%), inset 0 1px #fff;
}
.webinar-section .home-catalog-filters .btn {
    min-width:138px;
    padding-inline:18px;
    white-space:nowrap;
    border-radius:10px;
    background:linear-gradient(135deg,#4f65e8,#684bdd);
    box-shadow:0 8px 18px rgb(79 94 232 / 24%);
}
.webinar-section .home-catalog-filters .btn:hover {
    transform:translateY(-1px);
    box-shadow:0 11px 24px rgb(79 94 232 / 32%);
}
.section-heading h2 { font-size:clamp(2rem,3vw,2.65rem); }
.home-catalog-filters {
    margin-top:12px;
    padding:7px;
    border-radius:var(--radius-md);
    box-shadow:var(--shadow-sm);
}
.home-catalog-filters>* { min-width:0; }
.webinar-card {
    border-radius:var(--radius-lg);
    border-color:var(--line);
    box-shadow:var(--shadow-sm);
}
.webinar-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.webinar-card .card-art { height:190px; }
.webinar-card .card-content { min-height:315px; padding:1.4rem!important; }
.webinar-card h3 { font-size:1.18rem; letter-spacing:-.025em; }
.webinar-card-actions { margin-top:14px; padding-top:13px; }
.webinar-card-actions .audience-badge { color:#475467; background:#f2f4f7; }
.card-action { padding:7px 11px; }
.how-section { padding-top:4rem!important; padding-bottom:4rem!important; }
.how-heading { margin-bottom:2rem!important; }
.step-card { padding:26px; border-radius:var(--radius-lg); }
.home-cta { margin-top:3rem; padding:30px 34px; border-radius:22px; }

/* Webinar detail */
.detail-hero { min-height:auto; }
.detail-hero .container { padding-top:2rem!important; padding-bottom:2.6rem!important; }
.detail-meta-bar { padding:7px 10px; box-shadow:0 10px 28px rgb(3 8 25 / 18%); }
.detail-hero h1 { max-width:800px; font-size:clamp(2.2rem,3.5vw,3.25rem); }
.detail-lead { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; max-width:760px; }
.register-panel { padding:22px; border-radius:18px; }
.speaker-profile,.info-card { border:1px solid var(--line); border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow-sm); }
.speaker-profile { padding:24px; }
.join-modal { border:0; border-radius:22px; box-shadow:0 28px 80px rgb(16 24 40 / 24%); }

/* Registration and utility cards */
.registration-shell {
    min-height:calc(100vh - 72px);
    padding:54px 20px;
    background:radial-gradient(circle at 12% 12%,#e9edff,transparent 30%),linear-gradient(180deg,#f8f9fd,#f3f5fa);
}
.registration-card {
    padding:32px;
    border-color:var(--line);
    border-radius:22px;
    box-shadow:var(--shadow-md);
}
.registration-card h1 { font-size:2rem; }
.progress-steps { margin-bottom:24px; }
.progress-steps span { width:32px; height:32px; }
.reference-box { background:#f8f9fc; }

/* Admin workspace */
.admin-body { background:#f5f6fa; }
.admin-dashboard { min-height:calc(100vh - 72px); background:transparent; }
.admin-dashboard>.container,.admin-dashboard>.container-fluid { padding-top:2.3rem!important; padding-bottom:3rem!important; }
.admin-dashboard h1 { margin:.35rem 0; font-size:clamp(2rem,3vw,2.65rem); }
.metric-card {
    min-height:164px;
    padding:23px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--shadow-sm);
}
.metric-card strong { font-size:2.35rem; }
.metric-card.accent { background:linear-gradient(145deg,#465ed9,#5d43c8); box-shadow:0 16px 34px rgb(79 94 232 / 20%); }
.admin-toolbar {
    padding:7px;
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    background:#fff;
    box-shadow:var(--shadow-sm);
}
.admin-table-wrap {
    border-radius:var(--radius-lg);
    border-color:var(--line);
    box-shadow:var(--shadow-sm);
}
.admin-table-wrap th { padding:13px 15px; color:#667085; background:#f8f9fb; font-size:.7rem; }
.admin-table-wrap td { padding:14px 15px; border-color:#edf0f4; font-size:.88rem; }
.admin-table-wrap tbody tr:hover { background:#fafbfc; }
.table-actions .btn { border-radius:8px; }
.admin-status { padding:5px 9px; }
.form-panel,.report-panel,.notification-preview,.designer-controls {
    padding:23px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--shadow-sm);
}
.admin-form { gap:16px; }
.form-panel h2 { margin-bottom:18px; font-size:1.12rem; }
.sticky-save { right:24px; bottom:20px; border:1px solid var(--line); }
.template-card { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow-sm); }
.report-panel { height:100%; }

/* Authentication */
.admin-auth { background:#f4f6fb; }
.auth-shell { min-height:100vh; }
.auth-story { padding:clamp(36px,6vw,80px); background:radial-gradient(circle at 75% 20%,#2f4c8b,transparent 32%),linear-gradient(145deg,#0d1733,#172a5a); }
.auth-brand { color:#fff; font-family:"Manrope",sans-serif; font-weight:800; text-decoration:none; }
.auth-story h1 { max-width:600px; font-size:clamp(2.5rem,4vw,3.6rem); }
.auth-form-wrap { padding:32px; }
.auth-form { width:min(100%,430px); }
.auth-form h2 { font-size:2rem; }

.site-footer { font-size:.88rem; background:#10182d; }

@media (max-width:991.98px) {
    .admin-site-header .navbar-collapse { margin-top:10px; padding:12px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:var(--shadow-md); }
    .hero-section { min-height:auto; }
    .home-catalog-filters { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
    .home-filter-search { grid-column:1/-1; }
    .webinar-section .section-heading { grid-template-columns:1fr; }
    .webinar-section .home-catalog-filters { grid-column:1; grid-row:auto; grid-template-columns:minmax(0,1fr) minmax(0,1fr); margin-top:12px; }
}
@media (max-width:767.98px) {
    html { font-size:14px; }
    .site-header .navbar { min-height:64px; }
    .hero-title { font-size:2.55rem; }
    .hero-section .row,.hero-section [class*="col-"],.hero-copy,.hero-search { width:100%; max-width:100%; min-width:0; }
    .hero-section .row { margin-right:0; margin-left:0; }
    .hero-copy { overflow-wrap:anywhere; }
    .webinar-section,.how-section { padding-top:3rem!important; padding-bottom:3rem!important; }
    .registration-shell { padding:32px 14px; }
    .registration-card { padding:24px; }
    .admin-dashboard>.container,.admin-dashboard>.container-fluid { padding-top:1.7rem!important; }
    .home-cta { padding:25px; }
}
@media (max-width:479.98px) {
    .home-catalog-filters { grid-template-columns:1fr; }
    .home-filter-search { grid-column:auto; }
    .hero-search button { width:100%; }
    .webinar-card-actions { align-items:center; }
}
