@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
:root{--purple:#24105f;--purple2:#5a238b;--gold:#f4b72b;--ink:#090613;--muted:#bdb5d0;--line:rgba(255,255,255,.11);--glass:rgba(255,255,255,.055)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:#f8f6ff;font-family:Inter,system-ui,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}.site-grid{position:fixed;inset:0;z-index:-2;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(#000,transparent 90%)}body:before{content:"";position:fixed;inset:0;z-index:-3;background:radial-gradient(circle at 75% 15%,rgba(103,42,163,.3),transparent 30%),radial-gradient(circle at 15% 80%,rgba(244,183,43,.08),transparent 24%)}
.nav{position:fixed;top:0;left:0;right:0;z-index:30;padding:16px 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(9,6,19,.7);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.08em;font-size:12px}.brand img{width:40px;height:40px;object-fit:contain;background:#fff;border-radius:8px}.brand small{font-size:9px;color:var(--gold)}.navlinks{display:flex;gap:24px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:#d8d2e4}.navlinks a:hover{color:var(--gold)}
.page{padding-top:78px}.hero{min-height:calc(100vh - 78px);padding:90px 7vw;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:5vw}.eyebrow{font-size:11px;font-weight:900;color:var(--gold);letter-spacing:.24em;text-transform:uppercase}.hero h1,.auth-card h1,.dashboard h1{font-size:clamp(70px,11vw,150px);line-height:.78;letter-spacing:-.08em;margin:20px 0}.hero h1 span,.auth-card h1 span,.dashboard h1 span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.45)}.theme{font:italic clamp(24px,3vw,43px)/1.05 Georgia,serif;max-width:780px}.meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.pill{padding:11px 15px;border:1px solid var(--line);background:var(--glass);border-radius:999px;font-size:10px;letter-spacing:.1em}.actions{display:flex;gap:10px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 19px;border:0;border-radius:4px;background:var(--gold);color:#160b32;font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:11px;cursor:pointer}.btn.ghost{background:transparent;color:#fff;border:1px solid var(--line)}
.visual{position:relative;min-height:510px;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:linear-gradient(145deg,rgba(74,25,125,.34),rgba(255,255,255,.025));box-shadow:inset 0 0 80px rgba(103,42,163,.08)}.orbit{position:absolute;border:1px solid rgba(255,255,255,.2);border-radius:50%}.orbit-a{inset:65px 35px;transform:rotate(-17deg)}.orbit-b{inset:125px 85px;transform:rotate(38deg);border-color:rgba(244,183,43,.45)}.orbit i{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 25px var(--gold);right:12%;top:18%}.orbit-b i{left:7%;top:65%;background:#fff;box-shadow:0 0 20px #fff}.core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:175px;height:175px;border-radius:50%;display:grid;place-items:center;text-align:center;background:radial-gradient(circle,#6b2994,#2a1164 58%,#130a2e);border:1px solid rgba(244,183,43,.7);box-shadow:0 0 100px rgba(103,42,163,.45)}.core strong{font-size:38px}.core small{display:block;color:var(--gold);letter-spacing:.22em;font-size:10px}.scanline{position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(244,183,43,.18);box-shadow:0 0 20px rgba(244,183,43,.25)}
.section{padding:105px 7vw}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.section-head h2{font-size:clamp(42px,6vw,78px);line-height:.9;letter-spacing:-.06em;margin:0}.section-head p{max-width:560px;color:var(--muted);line-height:1.8;font-size:14px}.gold{color:var(--gold)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card,.panel,.venue-card{border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025));padding:27px}.card{min-height:225px}.card small{color:var(--gold);letter-spacing:.15em;font-size:10px}.card h3{margin:45px 0 12px;font-size:22px}.card p{color:var(--muted);line-height:1.6;font-size:13px}.venue-card{min-height:340px;display:grid;align-content:center;background:linear-gradient(120deg,#170b36,#351071 50%,#171022);overflow:hidden}.venue-card h2{font-size:clamp(48px,8vw,110px);line-height:.8;letter-spacing:-.07em;margin:22px 0}.venue-card h2 span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.35)}.venue-card p{color:var(--muted)}
.auth-wrap{min-height:calc(100vh - 78px);padding:90px 7vw;display:grid;place-items:center}.auth-card{width:min(560px,100%);border:1px solid var(--line);background:rgba(255,255,255,.045);padding:45px;backdrop-filter:blur(16px)}.auth-card.wide{width:min(700px,100%)}.auth-card h1{font-size:clamp(58px,9vw,100px)}.form{display:grid;gap:17px}.form label{font-size:11px;color:#d8d2e4;text-transform:uppercase;letter-spacing:.08em}.form input{display:block;width:100%;margin-top:7px;padding:14px 15px;border:1px solid var(--line);background:#100b1d;color:#fff;outline:none;border-radius:4px}.form input:focus{border-color:var(--gold)}.muted{color:var(--muted);line-height:1.6}.alert,.flash{padding:13px 15px;margin:15px 0;border:1px solid var(--line);font-size:13px}.error{border-color:rgba(255,80,100,.35);background:rgba(255,50,80,.08)}.success{border-color:rgba(90,220,150,.35);background:rgba(90,220,150,.08)}.flash{position:fixed;right:25px;top:92px;z-index:40;max-width:380px;background:#171022}.flash.hide{opacity:0;transition:.5s}
.dashboard{padding:80px 7vw 110px}.dashboard h1{font-size:clamp(60px,9vw,110px)}.dashboard-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:45px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:25px}.stat{border:1px solid var(--line);padding:25px;background:rgba(255,255,255,.04)}.stat small{display:block;color:var(--gold);font-size:10px;letter-spacing:.14em}.stat strong{display:block;font-size:32px;margin:15px 0 6px}.stat span{color:var(--muted);font-size:12px}.approved{color:#75e0aa}.rejected{color:#ff7180}.panel{margin-top:20px}.panel h2{margin-top:0}.details{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.details small{display:block;color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}.details strong{font-size:14px}.table-panel{padding:0;overflow:hidden}.table-title{padding:25px;display:flex;justify-content:space-between;align-items:center}.table-title h2{margin:0}.table-title span{color:var(--muted);font-size:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:950px}th,td{text-align:left;padding:16px;border-top:1px solid var(--line);font-size:12px}th{color:var(--gold);text-transform:uppercase;letter-spacing:.1em;font-size:9px}td small{display:block;color:var(--muted);margin-top:4px}.badge{font-size:9px;padding:6px 8px;border:1px solid var(--line);border-radius:999px}.badge.approved{border-color:rgba(90,220,150,.35)}.badge.rejected{border-color:rgba(255,80,100,.35)}.inline-form{display:flex;gap:6px}.inline-form input{width:130px;background:#100b1d;border:1px solid var(--line);color:#fff;padding:7px}.mini{border:1px solid var(--line);background:transparent;padding:7px 9px;font-size:9px;cursor:pointer}.mini.approved{color:#75e0aa}.mini.rejected{color:#ff7180}.footer{padding:55px 7vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;color:var(--muted);font-size:12px}.footer strong{color:#fff}.footer span{color:var(--gold)}
@media(max-width:900px){.hero{grid-template-columns:1fr}.visual{min-height:400px}.cards{grid-template-columns:repeat(2,1fr)}.details{grid-template-columns:repeat(2,1fr)}.dashboard-head,.section-head{align-items:start;flex-direction:column}.navlinks{gap:10px}.navlinks a:nth-child(-n+2){display:none}}
@media(max-width:560px){.cards,.stat-grid,.details{grid-template-columns:1fr}.hero,.section,.dashboard{padding-left:5vw;padding-right:5vw}.hero{padding-top:65px}.auth-wrap{padding:60px 5vw}.auth-card{padding:28px}.nav{padding-left:4vw;padding-right:4vw}.navlinks{font-size:9px}.footer{flex-direction:column}.visual{min-height:330px}}

.journey{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.journey>div{border:1px solid var(--line);padding:18px;background:#100b1d;min-height:110px}.journey b{display:block;color:#70677e;font-size:11px}.journey span{display:block;margin-top:35px;font-size:12px;color:#70677e}.journey .active{border-color:rgba(244,183,43,.55);background:rgba(244,183,43,.05)}.journey .active b,.journey .active span{color:var(--gold)}.journey .done{border-color:rgba(117,224,170,.35)}.journey .done b,.journey .done span{color:#75e0aa}
@media(max-width:900px){.journey{grid-template-columns:repeat(2,1fr)}}

/* =========================================================
   CHAD 2026
   TENTATIVE PROGRAMME
   ========================================================= */

.tentative-panel {
    padding: 0;
    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.065),
            rgba(255,255,255,.025)
        );

    box-shadow:
        0 20px 60px rgba(0,0,0,.22);
}


/* =========================================================
   TITLE
   ========================================================= */

.tentative-title {

    min-height: 105px;

    padding: 25px 28px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    border-bottom:
        1px solid var(--line);
}


.tentative-title .eyebrow {
    margin-bottom: 8px;
}


.tentative-title h2 {

    margin: 0;

    font-size: 25px;

    letter-spacing: -.03em;

    color: #fff;
}


.tentative-title > span {

    padding: 7px 11px;

    border:
        1px solid rgba(244,183,43,.3);

    color: var(--gold);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: .15em;
}


/* =========================================================
   TABLE
   ========================================================= */

.tentative-table {

    width: 100%;

    min-width: 900px;

    border-collapse: collapse;

    table-layout: fixed;
}


.tentative-table thead {

    background:
        rgba(255,255,255,.025);
}


.tentative-table th {

    padding: 16px 20px;

    text-align: left;

    border-bottom:
        1px solid var(--line);

    color: var(--gold);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: .15em;
}


/* =========================================================
   COLUMN WIDTH
   ========================================================= */

.tentative-time {
    width: 115px;
}


.tentative-programme {
    width: 30%;
}


.tentative-details {
    width: 39%;
}


.tentative-venue {
    width: 20%;
}


/* =========================================================
   ROW
   ========================================================= */

.tentative-table tbody tr {

    position: relative;

    border-bottom:
        1px solid var(--line);

    transition:
        background .2s ease;
}


.tentative-table tbody tr:last-child {

    border-bottom: none;
}


.tentative-table tbody tr:hover {

    background:
        rgba(103,42,163,.09);
}


.tentative-table td {

    padding: 20px;

    vertical-align: middle;

    font-size: 12px;

    line-height: 1.6;
}


/* =========================================================
   TIME
   ========================================================= */

.tentative-time-cell {

    color: #fff;

    white-space: nowrap;
}


.tentative-time-cell strong {

    font-size: 13px;

    font-weight: 800;
}


/* =========================================================
   PROGRAMME NAME
   ========================================================= */

.tentative-name {

    display: block;

    margin-top: 9px;

    color: #f8f6ff;

    font-size: 14px;

    line-height: 1.4;

    font-weight: 700;
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

.tentative-description {

    color: var(--muted);

    max-width: 470px;
}


/* =========================================================
   VENUE
   ========================================================= */

.venue-text {

    color: #d8d2e4;

    font-size: 12px;

    font-weight: 600;
}


/* =========================================================
   TAGS
   ========================================================= */

.tentative-tag {

    display: inline-block;

    padding: 5px 8px;

    border:
        1px solid rgba(244,183,43,.25);

    background:
        rgba(244,183,43,.055);

    color: var(--gold);

    font-size: 8px;

    font-weight: 900;

    letter-spacing: .12em;
}


/* OPENING */

.tentative-tag.opening {

    border-color:
        rgba(103,42,163,.55);

    background:
        rgba(103,42,163,.12);

    color: #c5a7ff;
}


/* KEYNOTE */

.tentative-tag.keynote {

    background:
        rgba(244,183,43,.12);

    border-color:
        rgba(244,183,43,.45);

    color: var(--gold);
}


/* SESSION */

.tentative-tag.session {

    border-color:
        rgba(180,150,255,.3);

    background:
        rgba(103,42,163,.1);

    color: #c5a7ff;
}


/* BREAK */

.tentative-tag.break {

    border-color:
        rgba(255,255,255,.14);

    background:
        rgba(255,255,255,.04);

    color: #aaa2b9;
}


/* CLOSING */

.tentative-tag.closing {

    border-color:
        rgba(244,183,43,.25);

    color: #f4b72b;
}


/* =========================================================
   FEATURED KEYNOTE
   ========================================================= */

.tentative-featured {

    background:
        linear-gradient(
            90deg,
            rgba(103,42,163,.16),
            rgba(103,42,163,.045)
        );
}


.tentative-featured td:first-child {

    border-left:
        3px solid var(--gold);
}


.tentative-featured .tentative-name {

    font-size: 15px;

    color: #fff;
}


/* =========================================================
   BREAK
   ========================================================= */

.tentative-break {

    background:
        rgba(255,255,255,.018);
}


.tentative-break .tentative-name {

    color: #c8c2d2;
}


/* =========================================================
   FOOTER NOTE
   ========================================================= */

.tentative-footer {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    padding: 18px 5px 0;
}


.tentative-footer span {

    color: var(--gold);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: .15em;
}


.tentative-footer p {

    margin: 0;

    color: var(--muted);

    font-size: 11px;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 900px) {

    .tentative-info {
        grid-template-columns: 1fr;
    }

    .tentative-title {
        align-items: flex-start;
        flex-direction: column;
        gap: 15px;
    }

    .table-wrap {
        overflow-x: auto;
    }

    .tentative-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

}