:root {
    --navy-950: #061525;
    --navy-900: #081c31;
    --navy-800: #0d2a48;
    --blue-700: #075ec4;
    --blue-600: #0a71de;
    --blue-500: #1592ff;
    --blue-100: #eaf4ff;
    --green: #46d36d;
    --orange: #ff9c38;
    --ink: #0b1b2e;
    --muted: #6d7a8b;
    --line: #dfe7f0;
    --paper: #f4f7fb;
    --white: #fff;
    --shadow: 0 18px 55px rgba(7, 30, 54, .10);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    font-family: "Inter", sans-serif;
    background: var(--paper);
    color: var(--ink);
}

a { text-decoration: none; color: inherit; }
button, input, select { font-family: inherit; }

.topbar {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(6, 21, 37, .94);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.topbar-inner {
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.brand img { width: 196px; height: auto; display: block; }

.desktop-nav { display: flex; gap: 28px; }
.desktop-nav a { color: rgba(255,255,255,.8); font-size: .9rem; font-weight: 600; }
.desktop-nav a:hover { color: #fff; }

.topbar-actions { display: flex; gap: 10px; align-items: center; }
.btn-primary {
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--blue-600), var(--blue-500));
    color: #fff;
    padding: 12px 18px;
    font-weight: 800;
    box-shadow: 0 12px 28px rgba(21,146,255,.22);
    transition: .2s ease;
}
.btn-primary:hover { transform: translateY(-2px); color: #fff; filter: brightness(1.04); }
.btn-primary:disabled { opacity: .6; transform: none; }

.btn-ghost {
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.04);
    color: #fff;
    border-radius: 12px;
    padding: 11px 14px;
    font-weight: 700;
}
.btn-outline-light {
    border: 1px solid rgba(255,255,255,.34);
    background: rgba(255,255,255,.03);
    color: #fff;
    border-radius: 12px;
    padding: 12px 18px;
    font-weight: 800;
}
.btn-outline-blue {
    border: 1px solid #bdd8f6;
    color: var(--blue-700);
    background: #fff;
    border-radius: 12px;
    padding: 11px 16px;
    font-weight: 800;
}

.mobile-menu-btn { display: none; border: 0; background: transparent; color: #fff; font-size: 1.6rem; }
.mobile-menu { display: none; }

.hero {
    position: relative;
    overflow: hidden;
    min-height: 720px;
    display: flex;
    align-items: center;
    background:
        radial-gradient(circle at 75% 25%, rgba(21,146,255,.26), transparent 24%),
        radial-gradient(circle at 88% 70%, rgba(70,211,109,.13), transparent 28%),
        linear-gradient(135deg, var(--navy-950), var(--navy-900) 54%, #0a3a68);
    color: #fff;
}

.hero-grid {
    position: absolute;
    inset: 0;
    opacity: .11;
    background-image: linear-gradient(rgba(255,255,255,.25) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.25) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(to right, transparent, #000 20%, #000 80%, transparent);
}

.hero-glow { position: absolute; border-radius: 50%; filter: blur(5px); pointer-events: none; }
.hero-glow-a { width: 360px; height: 360px; right: 4%; top: 9%; background: radial-gradient(circle, rgba(21,146,255,.24), transparent 70%); animation: floatA 7s ease-in-out infinite; }
.hero-glow-b { width: 260px; height: 260px; right: 28%; bottom: -30px; background: radial-gradient(circle, rgba(70,211,109,.15), transparent 70%); animation: floatB 8s ease-in-out infinite; }
@keyframes floatA { 50% { transform: translateY(-18px) translateX(12px); } }
@keyframes floatB { 50% { transform: translateY(16px); } }

.hero-inner {
    position: relative;
    z-index: 2;
    padding: 90px 0;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
    gap: 48px;
    align-items: center;
}

.eyebrow-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 13px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.05);
    color: #c5dbf5;
    font-size: .76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .09em;
}
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(70,211,109,.12); }

.hero h1 {
    margin: 22px 0 22px;
    font-family: "Manrope", sans-serif;
    font-size: clamp(3rem, 7vw, 5.7rem);
    line-height: .97;
    letter-spacing: -.07em;
}
.hero h1 span { color: #78c2ff; }
.hero p { color: #b7c8dc; max-width: 680px; font-size: 1.06rem; line-height: 1.75; }

.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 30px; }

.hero-metrics { display: flex; gap: 36px; flex-wrap: wrap; margin-top: 44px; }
.hero-metrics strong { display: block; font: 800 1.55rem "Manrope"; }
.hero-metrics span { display: block; margin-top: 3px; color: #8ea7bf; font-size: .76rem; }

.hero-card {
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.07);
    backdrop-filter: blur(18px);
    padding: 20px;
    border-radius: 24px;
    box-shadow: 0 28px 80px rgba(0,0,0,.26);
    transform: translateY(0);
    transition: .3s ease;
}
.hero-card:hover { transform: translateY(-7px); }

.hero-card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.status-pill {
    border-radius: 999px; padding: 7px 10px; font-size: .67rem; font-weight: 800;
}
.status-open { background: rgba(70,211,109,.14); color: #9af1ae; border: 1px solid rgba(70,211,109,.2); }
.status-open span { width: 6px; height: 6px; display: inline-block; border-radius: 50%; background: var(--green); margin-right: 4px; }
.hero-card-label { font-size: .65rem; letter-spacing: .12em; color: #90a7bd; }

.hero-event-visual {
    min-height: 250px;
    margin: 16px 0;
    border-radius: 18px;
    overflow: hidden;
    position: relative;
    background:
        radial-gradient(circle at 22% 36%, rgba(21,146,255,.46), transparent 24%),
        radial-gradient(circle at 75% 70%, rgba(70,211,109,.2), transparent 22%),
        linear-gradient(145deg, #0d3e6d, #082039);
    display: flex;
    align-items: flex-end;
    padding: 22px;
}
.hero-runner-ring {
    position: absolute;
    width: 290px;
    height: 290px;
    right: -70px;
    top: -60px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 50%;
    box-shadow: inset 0 0 0 32px rgba(255,255,255,.025), inset 0 0 0 65px rgba(255,255,255,.018);
}
.hero-runner-copy span { color: #8dc6ff; font-size: .75rem; font-weight: 800; }
.hero-runner-copy strong { display: block; max-width: 350px; margin-top: 4px; font: 800 1.7rem "Manrope"; }
.hero-runner-copy small { color: #b4c9dc; }

.hero-event-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.hero-event-meta > div { padding: 13px 14px; background: rgba(255,255,255,.05); border-radius: 14px; }
.hero-event-meta small { display: block; color: #8ea7bf; font-size: .68rem; margin-bottom: 2px; }
.hero-event-meta strong { font-size: .88rem; }

.section { padding: 90px 0; }
.section-light { background: var(--paper); }
.section-blue { background: linear-gradient(135deg, #0b4375, #0b6bc8); color: #fff; }
.section-dark { background: #061728; color: #fff; }

.section-head {
    display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 34px;
}
.section-kicker {
    display: inline-block; color: var(--blue-700); text-transform: uppercase; letter-spacing: .11em; font-size: .73rem; font-weight: 800; margin-bottom: 8px;
}
.section-kicker.light { color: #78c2ff; }
.section-head h2, .organizer-copy h2 { margin: 0; font: 800 clamp(2rem, 4vw, 3.3rem) "Manrope"; letter-spacing: -.055em; }
.section-head p, .organizer-copy p { color: var(--muted); margin: 10px 0 0; line-height: 1.7; }
.section-head-light p { color: #b4d0ea; }

.event-tools { display: flex; gap: 10px; align-items: center; }
.search-wrap { position: relative; }
.search-wrap i { position: absolute; top: 50%; left: 14px; transform: translateY(-50%); color: #7e8da1; }
.search-wrap input { min-width: 330px; padding-left: 42px; border-radius: 12px; border: 1px solid var(--line); min-height: 46px; }
.form-select { border-radius: 12px; min-height: 46px; border-color: var(--line); }

.event-card {
    height: 100%;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 10px 35px rgba(8, 31, 55, .05);
    transition: .28s ease;
}
.event-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.event-cover { min-height: 210px; background: linear-gradient(145deg, #0d4d84, #0b77d2); position: relative; padding: 18px; display: flex; align-items: flex-end; overflow: hidden; }
.event-cover::after { content:""; position:absolute; width:220px; height:220px; right:-80px; top:-60px; border:1px solid rgba(255,255,255,.18); border-radius:50%; box-shadow: inset 0 0 0 28px rgba(255,255,255,.03), inset 0 0 0 55px rgba(255,255,255,.02); }
.event-date { position:absolute; top:16px; left:16px; background: rgba(6,21,37,.72); color:#fff; border:1px solid rgba(255,255,255,.14); padding:7px 10px; border-radius:10px; font-size:.68rem; font-weight:800; z-index:2; }
.event-cover h3 { margin:0; position:relative; z-index:2; color:#fff; font:800 1.45rem "Manrope"; max-width:90%; }
.event-cover small { position:relative; z-index:2; color:#cae3f7; margin-top:3px; display:block; }
.event-body { padding: 20px; }
.event-meta-row { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:15px; }
.event-tag { background: var(--blue-100); color: var(--blue-700); padding:6px 9px; border-radius:999px; font-size:.65rem; font-weight:800; }
.event-info-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:17px; }
.event-info-row div { padding:10px 11px; background:#f7f9fc; border-radius:11px; }
.event-info-row small { display:block; color:#8b97a6; font-size:.63rem; margin-bottom:2px; }
.event-info-row strong { font-size:.75rem; color:#233247; }

.loading-card, .table-empty, .result-row-empty {
    min-height: 140px; display:flex; align-items:center; justify-content:center; gap:12px; color:var(--muted);
}
.loading-card { background:#fff; border:1px dashed var(--line); border-radius:18px; }
.loading-card .spinner-border { width: 1.3rem; height: 1.3rem; color: var(--blue-600); }

.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.process-card { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); border-radius:20px; padding:24px; transition:.25s ease; }
.process-card:hover { transform: translateY(-5px); background: rgba(255,255,255,.11); }
.process-icon { width:50px; height:50px; display:grid; place-items:center; border-radius:15px; background:rgba(255,255,255,.1); color:#8dd0ff; font-size:1.3rem; }
.process-card > span { display:block; color:#7fc5ff; margin-top:24px; font-size:.7rem; font-weight:800; }
.process-card h3 { margin:7px 0 10px; font:800 1.15rem "Manrope"; }
.process-card p { margin:0; color:#bfd4e8; font-size:.84rem; line-height:1.7; }

.results-panel { background:#fff; border:1px solid var(--line); border-radius:20px; overflow:hidden; box-shadow:0 10px 35px rgba(8,31,55,.05); }
.results-panel-head, .result-row { display:grid; grid-template-columns: .45fr 1.15fr 1.3fr 1fr .7fr; gap:15px; padding:16px 20px; }
.results-panel-head { background:#f5f8fc; color:#758296; text-transform:uppercase; letter-spacing:.08em; font-size:.64rem; font-weight:800; }
.result-row { border-top:1px solid #edf1f5; font-size:.82rem; }
.result-row strong { color:#102138; }
.result-row span { color:#6e7d90; }
.result-empty { padding: 20px; }

.organizer-panel { display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:center; }
.organizer-copy p { color:#a9bfd4; max-width:650px; }
.organizer-stack { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.organizer-stack div { border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.04); border-radius:17px; padding:17px; }
.organizer-stack i { display:block; color:#72c0ff; font-size:1.25rem; margin-bottom:15px; }
.organizer-stack strong { display:block; font-size:.86rem; }
.organizer-stack span { color:#88a0b8; font-size:.72rem; }

.footer { background:#05111e; color:#8ea4bb; padding-top:35px; }
.footer-inner { display:flex; justify-content:space-between; gap:30px; align-items:center; padding-bottom:30px; }
.footer-inner img { width: 165px; display:block; margin-bottom:10px; }
.footer-inner p { margin:0; font-size:.78rem; }
.footer-links { display:flex; gap:20px; font-size:.76rem; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; border-top:1px solid rgba(255,255,255,.06); padding:18px 0; font-size:.7rem; }

.sidebar { width:260px; min-height:100vh; background:linear-gradient(180deg, #061525, #0b2b49); color:#fff; position:fixed; left:0; top:0; bottom:0; z-index:1100; display:flex; flex-direction:column; }
.sidebar-brand { padding:20px 20px 16px; border-bottom:1px solid rgba(255,255,255,.08); }
.sidebar-brand img { width:185px; }
.sidebar-role { padding:16px 20px; border-bottom:1px solid rgba(255,255,255,.08); }
.sidebar-role span { display:block; color:#7f9ab4; font-size:.62rem; letter-spacing:.1em; font-weight:800; }
.sidebar-role strong { font-size:.84rem; }
.sidebar-nav { padding:14px 12px; display:flex; flex-direction:column; gap:4px; }
.sidebar-nav a { display:flex; align-items:center; gap:12px; padding:11px 12px; border-radius:11px; color:#c8d6e4; font-size:.81rem; font-weight:650; }
.sidebar-nav a:hover, .sidebar-nav a.active { background:linear-gradient(135deg, rgba(10,113,222,.95), rgba(21,146,255,.92)); color:#fff; }
.sidebar-nav a i { width:18px; text-align:center; }
.sidebar-bottom { margin-top:auto; padding:14px 12px 18px; border-top:1px solid rgba(255,255,255,.08); }
.sidebar-link-light { display:flex; align-items:center; gap:12px; padding:10px 12px; color:#c8d6e4; font-size:.8rem; border-radius:10px; }
.sidebar-link-light:hover { background:rgba(255,255,255,.05); color:#fff; }

.dashboard-main { margin-left:260px; min-height:100vh; background:#f5f8fc; }
.dashboard-topbar { min-height:78px; background:#fff; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; padding:0 26px; }
.sidebar-toggle { display:none; border:0; background:transparent; font-size:1.5rem; }
.topbar-title span { display:block; color:#7f8da0; font-size:.62rem; font-weight:800; letter-spacing:.11em; }
.topbar-title h1 { font:800 1.3rem "Manrope"; margin:3px 0 0; }
.dashboard-user { display:flex; align-items:center; gap:10px; }
.user-avatar { width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg, var(--blue-600), var(--blue-500)); color:#fff; display:grid; place-items:center; font-weight:800; }
.dashboard-user strong, .dashboard-user span { display:block; }
.dashboard-user strong { font-size:.77rem; }
.dashboard-user span { color:#7b8796; font-size:.67rem; }
.dashboard-user > i { color:#8895a6; margin-left:4px; }

.dashboard-content { padding:30px; max-width:1500px; margin:0 auto; }
.dashboard-welcome { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:20px; }
.dashboard-welcome h2 { margin:0; font:800 2rem "Manrope"; letter-spacing:-.045em; }
.dashboard-welcome p { margin:7px 0 0; color:var(--muted); }
.dashboard-alert { display:flex; gap:12px; align-items:center; padding:13px 15px; background:#fff; border:1px solid var(--line); border-radius:14px; margin-bottom:18px; }
.dashboard-alert > i { color:var(--blue-600); font-size:1.2rem; }
.dashboard-alert strong, .dashboard-alert span { display:block; }
.dashboard-alert strong { font-size:.76rem; }
.dashboard-alert span { font-size:.7rem; color:#778597; }
.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:28px; }
.stat-card { background:#fff; border:1px solid var(--line); border-radius:18px; padding:18px; display:flex; gap:14px; align-items:center; box-shadow:0 7px 25px rgba(8,31,55,.04); }
.stat-icon { width:48px; height:48px; border-radius:14px; display:grid; place-items:center; font-size:1.1rem; }
.stat-icon.blue { background:#e8f2ff; color:var(--blue-600); }
.stat-icon.green { background:#e8faed; color:#25a84e; }
.stat-icon.orange { background:#fff2e6; color:#e78b2f; }
.stat-icon.navy { background:#eaf0f7; color:#1a476b; }
.stat-card span { display:block; color:#768396; font-size:.68rem; }
.stat-card strong { display:block; font:800 1.55rem "Manrope"; line-height:1.1; }
.stat-card small { color:#98a4b3; font-size:.61rem; }

.dashboard-section { margin-top:24px; }
.section-title-row { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:11px; }
.section-title-row h3 { margin:0; font:800 1.2rem "Manrope"; }
.btn-soft { border:1px solid var(--line); background:#fff; color:#3d536b; border-radius:10px; padding:8px 11px; font-size:.7rem; font-weight:800; }
.table-card, .orders-list, .mini-result-list, .inscription-progress-card { background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; }
.dashboard-table { font-size:.77rem; }
.dashboard-table thead th { color:#8290a0; background:#f7f9fc; font-size:.63rem; text-transform:uppercase; letter-spacing:.08em; border:0; padding:14px 16px; }
.dashboard-table tbody td { padding:14px 16px; border-color:#edf1f5; color:#526173; }
.status-badge { display:inline-flex; padding:6px 8px; border-radius:999px; font-size:.62rem; font-weight:800; }
.status-badge.green { background:#e9f9ee; color:#1f9746; }
.status-badge.blue { background:#e9f3ff; color:#0b67ca; }
.status-badge.orange { background:#fff3e5; color:#ba6b1a; }
.dashboard-two-cols { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.orders-list, .mini-result-list { padding:6px 0; }
.order-item, .mini-result-item { padding:13px 15px; display:flex; justify-content:space-between; gap:15px; border-bottom:1px solid #edf1f5; }
.order-item:last-child, .mini-result-item:last-child { border-bottom:0; }
.order-item strong, .mini-result-item strong { display:block; font-size:.76rem; }
.order-item span, .mini-result-item span { display:block; color:#8491a1; font-size:.66rem; margin-top:2px; }
.inscription-progress-card { padding:18px; }
.inscription-progress-card > div { display:flex; justify-content:space-between; gap:20px; align-items:end; }
.inscription-progress-card span { color:#7c8897; font-size:.7rem; }
.inscription-progress-card strong { font:800 1.6rem "Manrope"; }
.progress-track { height:10px; background:#edf2f7; border-radius:999px; margin:15px 0 9px; overflow:hidden; }
.progress-track span { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg, var(--blue-600), var(--blue-500)); transition:width .7s ease; }
.inscription-progress-card small { color:#91a0b0; font-size:.64rem; }

.auth-page { min-height:100vh; display:grid; grid-template-columns:1fr 1fr; background:#f4f7fb; }
.auth-side { background:linear-gradient(145deg, #061525, #0c5088); padding:60px; display:flex; align-items:center; }
.auth-side-content { max-width:550px; color:#fff; margin:auto; }
.auth-logo { width:250px; margin-bottom:35px; }
.auth-side h1 { font:800 3.6rem "Manrope"; letter-spacing:-.06em; }
.auth-side p { color:#b6cee3; line-height:1.75; }
.auth-main { display:flex; align-items:center; justify-content:center; padding:40px; }
.auth-box { width:min(460px, 100%); background:#fff; border:1px solid var(--line); border-radius:22px; padding:32px; box-shadow:var(--shadow); }
.auth-back { color:#718094; font-size:.75rem; display:inline-flex; gap:7px; align-items:center; margin-bottom:24px; }
.auth-box h2 { margin:0; font:800 2rem "Manrope"; letter-spacing:-.045em; }
.auth-subtitle { color:#7c8898; font-size:.82rem; margin:8px 0 24px; }
.form-label { font-size:.72rem; font-weight:800; color:#405167; }
.form-control:focus { border-color:#79bbf5; box-shadow:0 0 0 4px rgba(21,146,255,.1); }
.login-error { min-height:18px; margin-bottom:10px; color:#d84b4b; font-size:.72rem; }
.auth-note { margin-top:18px; padding:11px 12px; background:#f6f9fc; border:1px solid #e6edf4; border-radius:10px; color:#8390a0; font-size:.66rem; line-height:1.5; }

@media (max-width: 1199px) {
    .desktop-nav { gap:18px; }
    .hero-inner { grid-template-columns:1fr; }
    .hero-card { max-width:620px; }
    .process-grid { grid-template-columns:repeat(2,1fr); }
    .organizer-panel { grid-template-columns:1fr; }
}

@media (max-width: 991px) {
    .desktop-nav, .topbar-actions { display:none; }
    .mobile-menu-btn { display:block; }
    .mobile-menu { border-top:1px solid rgba(255,255,255,.07); padding:10px 20px 15px; }
    .mobile-menu.open { display:flex; flex-direction:column; gap:7px; }
    .mobile-menu a { color:#d2deeb; padding:8px 0; }
    .event-tools { width:100%; flex-direction:column; align-items:stretch; }
    .search-wrap input { width:100%; min-width:0; }
    .section-head { align-items:stretch; flex-direction:column; }
    .footer-inner { flex-direction:column; align-items:flex-start; }
    .sidebar { transform:translateX(-100%); transition:.25s ease; }
    .sidebar.open { transform:translateX(0); }
    .dashboard-main { margin-left:0; }
    .sidebar-toggle { display:block; }
    .dashboard-topbar { gap:18px; }
    .stat-grid { grid-template-columns:repeat(2,1fr); }
    .dashboard-two-cols { grid-template-columns:1fr; }
    .auth-page { grid-template-columns:1fr; }
    .auth-side { display:none; }
}

@media (max-width: 767px) {
    .topbar-inner { min-height:70px; }
    .brand img { width:165px; }
    .hero { min-height:760px; }
    .hero-inner { padding:70px 0; }
    .hero h1 { font-size:3.25rem; }
    .hero-metrics { gap:20px 28px; }
    .section { padding:65px 0; }
    .process-grid { grid-template-columns:1fr; }
    .results-panel-head, .result-row { grid-template-columns:1fr 1fr; }
    .result-row > div:nth-child(3), .results-panel-head > div:nth-child(3) { display:none; }
    .footer-bottom { flex-direction:column; }
    .dashboard-content { padding:20px; }
    .dashboard-welcome { flex-direction:column; align-items:flex-start; }
    .stat-grid { grid-template-columns:1fr; }
    .dashboard-user > div:not(.user-avatar) { display:none; }
    .dashboard-topbar { padding:0 18px; }
    .hero-card { width:100%; }
    .auth-main { padding:20px; }
    .auth-box { padding:24px; }
}
.demo-accounts { margin-top: 18px; padding: 12px 13px; border: 1px solid #e7edf4; border-radius: 12px; background: #fafcfe; }
.demo-accounts strong, .demo-accounts span { display:block; font-size:.65rem; color:#728196; margin-top:2px; }
.demo-accounts strong { color:#31455c; margin-bottom:4px; }
.dashboard-alert.api-offline { border-color:#f0cccc; background:#fff8f8; }
.event-detail-card { display:grid; grid-template-columns: .8fr 1.2fr; background:#fff; border:1px solid var(--line); border-radius:24px; overflow:hidden; box-shadow:var(--shadow); }
.event-detail-visual { min-height:470px; background:radial-gradient(circle at 30% 25%,rgba(21,146,255,.5),transparent 25%),linear-gradient(145deg,#0a355a,#0874d5); padding:22px; display:flex; align-items:flex-start; position:relative; color:#fff; }
.event-detail-visual > span { background:rgba(6,21,37,.75); border:1px solid rgba(255,255,255,.15); border-radius:999px; padding:8px 11px; font-size:.65rem; font-weight:800; }
.event-detail-content { padding:46px; display:flex; flex-direction:column; justify-content:center; }
.event-detail-content h1 { margin:0; font:800 clamp(2.2rem,4vw,4rem) "Manrope"; letter-spacing:-.06em; color:#0b1b2e; }
.event-detail-content > p { margin:14px 0 24px; color:#6d7a8b; line-height:1.8; max-width:720px; }
.event-detail-meta { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.event-detail-meta > div { background:#f7f9fc; padding:14px; border-radius:14px; }
.event-detail-meta small,.event-detail-meta strong { display:block; }
.event-detail-meta small { color:#7e8b9c; font-size:.65rem; }
.event-detail-meta strong { font-size:.78rem; margin-top:2px; }
.event-register-box { margin-top:22px; padding:16px; border:1px solid #dfeaf5; border-radius:16px; display:flex; align-items:center; justify-content:space-between; gap:18px; background:#f9fcff; }
.event-register-box strong,.event-register-box span { display:block; }
.event-register-box strong { font-size:.82rem; }
.event-register-box span { color:#7c8898; font-size:.68rem; margin-top:3px; }
@media(max-width:900px){.event-detail-card{grid-template-columns:1fr}.event-detail-visual{min-height:280px}.event-detail-content{padding:28px}.event-register-box{flex-direction:column;align-items:flex-start}}
/* Dashboard Pro */
.topbar-actions-dashboard{display:flex;align-items:center;gap:14px}.icon-action{width:38px;height:38px;border:1px solid var(--line);background:#fff;border-radius:11px;color:#607086}.icon-action:hover{background:#f5f8fc;color:var(--blue-600)}
.dashboard-hero-card{padding:24px;border:1px solid #dfe8f2;border-radius:22px;background:linear-gradient(135deg,#fff,#f7fbff);box-shadow:0 12px 35px rgba(8,31,55,.05)}
.hero-mini-panel{min-width:220px;padding:18px;border-radius:17px;background:#061a2c;color:#fff;box-shadow:0 14px 30px rgba(6,21,37,.16)}.hero-mini-panel strong{display:block;font:800 1.15rem Manrope;margin-top:13px}.hero-mini-panel small{color:#9fb5c9;display:block;margin-top:4px}.hero-mini-live{font-size:.62rem;font-weight:800;letter-spacing:.1em;color:#9ce9ad}.hero-mini-live span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#46d36d;margin-right:5px;box-shadow:0 0 0 4px rgba(70,211,109,.1)}
.quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.quick-action{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:10px;background:#fff;border:1px solid #dce7f1;color:#31516e;font-size:.68rem;font-weight:800}.quick-action:hover{border-color:#a9cef0;color:var(--blue-600)}
.live-badge{margin-left:auto;padding:5px 8px;border-radius:999px;background:#e8f8ec;color:#1d9144;font-size:.6rem;font-weight:800}.stat-grid-6{grid-template-columns:repeat(6,1fr)}.stat-icon.purple{background:#f0eaff;color:#7650c9}.stat-icon.teal{background:#e5f8f6;color:#1d958b}
.dashboard-grid-3{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:18px}.compact-card{margin-top:24px}.production-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.production-summary>div{padding:11px;background:#f7f9fc;border:1px solid #edf1f5;border-radius:12px}.production-summary span,.finance-lines span,.registration-counters span{display:block;color:#8794a4;font-size:.61rem}.production-summary strong{display:block;font:800 1.15rem Manrope;margin-top:2px}.kanban-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.kanban-col{min-height:88px;background:#fbfcfe;border:1px dashed #dbe4ed;border-radius:12px;padding:9px}.kanban-col strong{display:block;font-size:.65rem}.kanban-col span{display:block;font-size:1.25rem;font-weight:800;margin-top:8px;color:#274761}.finance-big{padding:16px;background:linear-gradient(135deg,#eff7ff,#f7fbff);border-radius:14px}.finance-big span{display:block;color:#77879a;font-size:.64rem}.finance-big strong{display:block;font:800 1.55rem Manrope;margin-top:4px}.finance-lines{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:9px}.finance-lines>div{padding:10px 6px}.finance-lines strong{display:block;font-size:.75rem;margin-top:4px}.attention-list{display:flex;flex-direction:column;gap:8px}.attention-item{display:flex;gap:9px;align-items:flex-start;padding:10px;border-radius:11px;background:#fafbfd;border:1px solid #edf1f5}.attention-item i{font-size:1rem;color:#e58b28}.attention-item strong{display:block;font-size:.68rem}.attention-item span{display:block;color:#8794a4;font-size:.61rem;margin-top:2px}.role-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.role-cards>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px}.role-cards i{color:var(--blue-600);font-size:1.1rem}.role-cards span{display:block;color:#8794a4;font-size:.64rem;margin-top:10px}.role-cards strong{display:block;font:800 1.35rem Manrope}.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.module-card{display:flex;align-items:center;gap:12px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:15px;color:#29455e}.module-card i{width:40px;height:40px;border-radius:12px;background:#eaf3ff;color:var(--blue-600);display:grid;place-items:center}.module-card strong{display:block;font-size:.72rem}.module-card span{display:block;color:#8b98a7;font-size:.6rem;margin-top:2px}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.settings-grid>div{display:flex;align-items:center;gap:11px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:15px}.settings-grid i{font-size:1.15rem;color:var(--blue-600)}.settings-grid strong,.settings-grid span{display:block}.settings-grid strong{font-size:.7rem}.settings-grid span{color:#8a97a6;font-size:.61rem;margin-top:2px}.settings-grid b{margin-left:auto;font-size:.55rem;color:#b27a24}.settings-grid b.ok{color:#1e9649}.registration-counters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.registration-counters>div{padding:12px;border:1px solid #edf1f5;border-radius:12px}.registration-counters strong{font:800 1.1rem Manrope}.module-card{cursor:pointer;text-decoration:none}.module-card:hover{border-color:#bcd9f3;box-shadow:0 8px 25px rgba(8,31,55,.06)}
@media(max-width:1350px){.stat-grid-6{grid-template-columns:repeat(3,1fr)}.dashboard-grid-3{grid-template-columns:1fr 1fr}.dashboard-grid-3>.compact-card:first-child{grid-column:1/-1}.module-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:991px){.hero-mini-panel{width:100%}.dashboard-grid-3{grid-template-columns:1fr}.stat-grid-6{grid-template-columns:repeat(2,1fr)}.role-cards{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}.kanban-mini{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.dashboard-hero-card{padding:18px}.stat-grid-6{grid-template-columns:1fr}.production-summary{grid-template-columns:repeat(2,1fr)}.module-grid{grid-template-columns:1fr}.role-cards{grid-template-columns:1fr}.topbar-actions-dashboard .dashboard-user>i{display:none}}

/* Eventos públicos sem imagens: descrição e ações */
.event-card-kicker{display:block;font-size:.68rem;letter-spacing:.12em;font-weight:800;opacity:.75;margin-bottom:.35rem}
.event-description{color:#5f6f82;line-height:1.55;margin:14px 0;min-height:72px}
.event-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.event-actions .btn-primary,.event-actions .btn-outline-blue{display:flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;text-align:center}
@media(max-width:575px){.event-actions{grid-template-columns:1fr}}
