:root{
  --ctc-deep:#070c2b;
  --ctc-navy:#0b1245;
  --ctc-blue:#151f78;
  --ctc-indigo:#1e2d92;
  --ctc-gold:#d8aa36;
  --ctc-gold-soft:#f4e7bf;
  --ink:#11162d;
  --muted:#697086;
  --line:#e5e8ef;
  --bg:#f7f8fb;
  --white:#fff;
  --danger:#a73a45;
  --success:#17875f;
  --shadow:0 10px 28px rgba(9,16,54,.08);
  --shadow-strong:0 20px 55px rgba(6,12,45,.16);
  --radius:10px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI",Inter,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.container{width:min(1220px,92vw);margin:auto}

/* Shared CTC masthead */
.site-header,.admin-header{background:linear-gradient(90deg,#080d33 0%,#11195f 58%,#0d1450 100%);color:#fff;border-bottom:1px solid rgba(255,255,255,.13);position:sticky;top:0;z-index:50;box-shadow:0 4px 20px rgba(2,7,29,.14)}
.nav,.admin-nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:13px;min-width:max-content}
.brand img{height:50px;max-width:230px;object-fit:contain}
.brand-mark{display:grid;place-items:center;width:48px;height:48px;background:linear-gradient(145deg,#17258f,#0a124e);border:1px solid rgba(255,255,255,.10);color:#fff;font-weight:800;border-radius:5px;letter-spacing:.5px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.brand-copy b{display:block;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:21px;line-height:1.05;font-weight:500;letter-spacing:.2px}
.brand-copy small{display:block;color:var(--ctc-gold);font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:700;margin-top:5px}
.nav nav,.admin-links{display:flex;gap:6px;align-items:center;font-size:12px;font-weight:700;letter-spacing:.45px;text-transform:uppercase}
.nav nav>a,.admin-links>a{color:#edf0ff;padding:29px 14px 25px;position:relative;opacity:.92}
.nav nav>a:hover,.admin-links>a:hover{color:#fff;opacity:1}
.nav nav>a.active,.admin-links>a.active{color:var(--ctc-gold)}
.nav nav>a.active:after,.admin-links>a.active:after{content:"";position:absolute;left:14px;right:14px;bottom:14px;height:2px;background:var(--ctc-gold)}
.header-cta,.admin-create{background:var(--ctc-gold)!important;color:#10163d!important;border-radius:3px!important;padding:12px 18px!important;margin-left:12px;box-shadow:0 6px 16px rgba(216,170,54,.18)}
.header-cta:after,.admin-create:after{display:none!important}
.admin-user{display:flex;align-items:center;gap:9px;margin-left:8px;color:#fff;font-size:13px;white-space:nowrap}
.admin-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#11196c;font-weight:800;border:1px solid rgba(255,255,255,.08)}

/* CTC hero/banner treatment */
.hero,.admin-banner{position:relative;overflow:hidden;color:#fff;background:
  linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
  radial-gradient(circle at 72% 20%,rgba(40,58,184,.55),transparent 34%),
  linear-gradient(105deg,#080d37 0%,#101762 58%,#171f78 100%);
  background-size:54px 54px,54px 54px,auto,auto;
}
.hero{padding:78px 0 70px}
.hero:after,.admin-banner:after{content:"";position:absolute;width:560px;height:560px;border-radius:50%;border:1px solid rgba(216,170,54,.20);right:-100px;top:-250px;box-shadow:0 0 0 44px rgba(216,170,54,.035),0 0 0 88px rgba(216,170,54,.025)}
.hero .container,.admin-banner .admin-container{position:relative;z-index:2}
.eyebrow{color:var(--ctc-gold);font-weight:800;text-transform:uppercase;letter-spacing:1.6px;font-size:11px}
.hero h1,.admin-banner h1,.event-title{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.7px}
.hero h1{font-size:clamp(42px,5.3vw,68px);max-width:880px;line-height:1.04;margin:11px 0 18px}
.hero p{max-width:760px;color:#cbd0e7;font-size:17px;margin:0}
.hero-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:5px;padding:12px 18px;font-weight:750;cursor:pointer;background:var(--ctc-navy);color:#fff;transition:.18s ease;box-shadow:none}
.btn:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(8,14,54,.12)}
.btn-gold{background:var(--ctc-gold);color:#12163a;border-color:var(--ctc-gold)}
.btn-outline{border:1px solid #d3d8e4;background:#fff;color:var(--ctc-navy)}
.site-header .btn-outline{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:#fff}
.btn-sm{padding:8px 12px;font-size:12px}

.section{padding:58px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:27px}
.section h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;color:var(--ctc-navy);font-size:34px;margin:0}
.section-head p{color:var(--muted);max-width:610px;margin:8px 0 0}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.event-card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:.2s ease}
.event-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-strong)}
.event-card img{width:100%;height:220px;object-fit:cover;background:#e4e8f1}
.event-art{height:220px;background:linear-gradient(135deg,var(--ctc-navy),var(--ctc-indigo));display:grid;place-items:center;color:#fff;font-family:Georgia,serif;font-size:25px;padding:28px;text-align:center;position:relative;overflow:hidden}
.event-art:after{content:"";position:absolute;width:200px;height:200px;border:1px solid rgba(216,170,54,.26);border-radius:50%;right:-70px;bottom:-90px;box-shadow:0 0 0 30px rgba(216,170,54,.03)}
.card-body{padding:22px;display:flex;flex-direction:column;flex:1}
.date-pill{font-size:11px;color:#ad8120;font-weight:800;text-transform:uppercase;letter-spacing:1px}
.event-card h3{font-family:Georgia,serif;font-weight:600;font-size:21px;line-height:1.25;color:var(--ctc-navy);margin:9px 0}
.meta{display:flex;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:13px}
.card-footer{margin-top:auto;padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.price{font-weight:800;color:var(--ctc-navy)}
.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#f1f3fa;color:var(--ctc-navy);font-weight:750;font-size:11px;letter-spacing:.35px}

.event-hero{background:linear-gradient(105deg,#090e38,#121a67);color:#fff;border-bottom:1px solid rgba(255,255,255,.08);padding:52px 0;position:relative;overflow:hidden}
.event-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:54px 54px;pointer-events:none}
.event-hero .container{position:relative;z-index:2}
.event-title{color:#fff;font-size:48px;line-height:1.08;margin:10px 0 16px;max-width:940px}
.lead{font-size:18px;color:#cbd0e4;max-width:860px}
.info-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.13);border-radius:7px;overflow:hidden;margin-top:28px;max-width:1020px}
.info-strip>div{background:rgba(5,10,40,.38);padding:17px}
.info-strip small{display:block;color:var(--ctc-gold);text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:1.1px}
.info-strip strong{color:#fff;font-weight:650}
.event-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:34px}
.prose{background:#fff;border:1px solid var(--line);border-radius:8px;padding:30px;margin-bottom:20px;box-shadow:0 5px 18px rgba(10,15,55,.035)}
.prose h2,.prose h3{color:var(--ctc-navy);font-family:Georgia,serif;font-weight:600}
.prose h2{font-size:26px;border-bottom:1px solid var(--line);padding-bottom:12px}
.side-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--ctc-gold);border-radius:8px;padding:24px;box-shadow:var(--shadow-strong);position:sticky;top:104px}
.side-card .fee{font-size:30px;font-weight:850;color:var(--ctc-navy);margin:14px 0}
.side-card .btn{width:100%;margin-top:15px}

.form-card{max-width:850px;margin:38px auto;background:#fff;border:1px solid var(--line);border-top:3px solid var(--ctc-gold);border-radius:8px;padding:30px;box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.field label{display:block;font-weight:700;color:#232a46;font-size:12px;margin-bottom:6px;letter-spacing:.1px}
.field input,.field select,.field textarea{width:100%;padding:11px 12px;border:1px solid #d4d8e2;border-radius:5px;background:#fff;color:#171c35;outline:none;transition:.15s ease}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#737cbc;box-shadow:0 0 0 3px rgba(28,40,128,.08)}
.field textarea{min-height:115px;resize:vertical}
.field.full{grid-column:1/-1}
.notice{padding:13px 15px;border-left:3px solid var(--success);border-radius:4px;background:#eef8f4;color:var(--success);margin:12px 0}
.notice.error{border-color:var(--danger);background:#fff0f1;color:var(--danger)}
.empty{padding:42px;text-align:center;background:#fff;border:1px dashed #cfd4df;border-radius:8px;color:var(--muted)}
.tabs{display:flex;gap:8px;flex-wrap:wrap}
.tabs a{padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:4px;font-weight:700;font-size:12px;color:var(--ctc-navy)}

footer{background:#070c2d;color:#cbd0df;padding:50px 0;margin-top:70px;border-top:3px solid var(--ctc-gold)}
.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px}
footer strong{font-family:Georgia,serif;font-size:22px;color:#fff;font-weight:500}
footer p{margin:8px 0;color:#aeb5cc}

/* Admin: CRMS-style horizontal shell */
.admin-shell{min-height:100vh;background:#f7f8fb}
.admin-header{position:sticky;top:0}
.admin-container{width:min(1420px,94vw);margin:auto}
.admin-brand{display:flex;align-items:center;gap:12px;min-width:285px}
.admin-brand .brand-mark{width:43px;height:43px}
.admin-brand-title{font-family:Georgia,"Times New Roman",serif;font-size:20px;font-weight:500;line-height:1;color:#fff}
.admin-brand-sub{font-size:9px;color:var(--ctc-gold);font-weight:800;letter-spacing:1.8px;text-transform:uppercase;margin-top:5px}
.admin-banner{padding:28px 0 58px}
.admin-breadcrumb{font-size:12px;color:#aab0cf;margin-bottom:8px}
.admin-breadcrumb span{color:var(--ctc-gold);font-weight:700}
.admin-banner h1{font-size:44px;line-height:1.08;margin:0;color:#fff}
.admin-banner p{color:#bdc3dd;margin:10px 0 0;max-width:720px}
.admin-main{width:min(1420px,94vw);margin:-28px auto 0;padding:0 0 56px;position:relative;z-index:5}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin:0 0 22px}
.stat{background:#fff;border:1px solid var(--line);border-radius:7px;padding:18px 20px;box-shadow:0 7px 20px rgba(8,14,55,.07);display:grid;grid-template-columns:52px 1fr;align-items:center;column-gap:15px;min-height:112px}
.stat:before{content:"";width:50px;height:50px;border-radius:50%;background:radial-gradient(circle,#fff 43%,transparent 45%),linear-gradient(135deg,#f3ead1,#fff8e7);border:1px solid #f1e2b8;grid-row:1/3;grid-column:1}
.stat span{grid-column:2;color:#5f657a;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.8px}
.stat strong{grid-column:2;display:block;font-size:29px;line-height:1.05;color:#111735;font-weight:500}
.admin-card{background:#fff;border:1px solid var(--line);border-radius:7px;padding:22px;margin-bottom:20px;box-shadow:0 5px 18px rgba(8,14,55,.045)}
.admin-card h2{font-family:Georgia,serif;font-weight:600;color:#171d48;font-size:20px;margin:0 0 16px;display:flex;align-items:center;gap:9px}
.admin-card h2:before{content:"";width:16px;height:2px;background:var(--ctc-gold);display:inline-block}
.admin-card>p:last-child{color:var(--muted)}
.admin-card .btn+.btn{margin-left:5px}
.filters{display:flex;gap:10px;margin:18px 0;flex-wrap:wrap}

.admin-main>p:first-child{margin-top:0}
table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden;box-shadow:0 4px 16px rgba(8,14,55,.035)}
th,td{padding:13px 14px;border-bottom:1px solid #eceef4;text-align:left;font-size:12px;vertical-align:middle}
th{background:#fbfbfd;color:#343a58;text-transform:uppercase;font-size:9px;letter-spacing:.8px;font-weight:800}
tr:last-child td{border-bottom:0}
tr:hover td{background:#fcfcff}
.actions{display:flex;gap:6px;flex-wrap:wrap}

/* Login */
body.admin-login{min-height:100vh;background:linear-gradient(135deg,#080d38,#171f78);display:grid;place-items:center;padding:30px;position:relative;overflow:hidden}
body.admin-login:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:52px 52px}
body.admin-login .form-card{width:min(460px,92vw);margin:0;position:relative;z-index:2;padding:34px}
body.admin-login h1{font-family:Georgia,serif;font-weight:500;color:var(--ctc-navy);font-size:34px;margin:7px 0 22px}

@media(max-width:1100px){
  .admin-brand{min-width:auto}.admin-links{gap:0}.admin-links>a{padding-left:9px;padding-right:9px}.admin-create{display:none}
  .stats{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr 1fr}.event-layout{grid-template-columns:1fr}.side-card{position:static}
}
@media(max-width:820px){
  .admin-links{display:none}.admin-nav{min-height:72px}.nav nav a:not(.header-cta){display:none}.nav{min-height:72px}
  .info-strip{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}
  .admin-banner h1{font-size:38px}.admin-main{margin-top:-20px}
  table{display:block;overflow-x:auto;white-space:nowrap}
}
@media(max-width:580px){
  .grid,.stats,.footer-grid{grid-template-columns:1fr}.hero{padding:55px 0}.event-title{font-size:36px}.info-strip{grid-template-columns:1fr}
  .admin-user span:last-child{display:none}.admin-banner{padding:24px 0 46px}.admin-banner h1{font-size:34px}.admin-main{width:92vw}
  .brand-copy small{display:none}.brand-copy b{font-size:18px}.brand-mark{width:42px;height:42px}
}

/* v1.2.0 operational dashboard + event builder */
.admin-banner{padding:22px 0 44px}
.admin-banner h1{font-size:39px}
.admin-banner p{margin-top:7px}
.admin-main{margin-top:-22px}
.stats-compact{gap:14px;margin-bottom:16px}
.stat-compact{min-height:88px;padding:15px 18px;grid-template-columns:1fr;display:block;border-top:2px solid #e8bf4d}
.stat-compact:before{display:none}
.stat-compact span,.stat-compact strong{grid-column:auto}
.stat-compact strong{font-size:27px;margin-top:6px;font-family:Georgia,serif}
.stat-compact small{display:block;color:#8a8fa2;font-size:10px;margin-top:4px}
.dashboard-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:16px;align-items:start}
.dashboard-panel{margin-bottom:0;min-width:0}
.dashboard-wide{grid-column:1/-1}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.panel-head h2{margin:0}.panel-head a{font-size:11px;font-weight:800;color:#263899;text-transform:uppercase;letter-spacing:.5px}
.table-wrap{overflow:auto}.dashboard-table{box-shadow:none;border:0;border-radius:0}.dashboard-table th:first-child,.dashboard-table td:first-child{padding-left:0}.dashboard-table th:last-child,.dashboard-table td:last-child{padding-right:0}
.table-link{font-weight:750;color:#141b51}.panel-empty{padding:25px 8px;color:#757b91;font-size:13px}.panel-empty a{font-weight:750}
.activity-list{display:grid}.activity-row{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #eceef4}.activity-row:last-child{border-bottom:0}.activity-row strong{display:block;color:#161d4d;font-size:12px}.activity-row>div>span{display:block;color:#7b8093;font-size:11px;margin-top:3px}.activity-meta{text-align:right;min-width:105px}.activity-meta>span:first-child{margin-bottom:6px}
.status-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.45px;background:#f0f2f7;color:#596074}.status-badge.published,.status-badge.paid,.status-badge.not_required,.status-badge.complimentary{background:#edf8f3;color:#187552}.status-badge.pending{background:#fff7df;color:#996a00}.status-badge.failed,.status-badge.refunded{background:#fff0f1;color:#a33543}
.attention-stack{display:grid;grid-template-columns:1fr 1fr;gap:10px}.attention-item{border:1px solid #eceef4;background:#fbfbfd;border-radius:6px;padding:14px}.attention-item strong{display:block;font-family:Georgia,serif;font-size:27px;color:#151c4c}.attention-item span{display:block;font-size:10px;color:#73798e;min-height:28px}.attention-item a{display:inline-block;margin-top:8px;font-size:10px;font-weight:850;text-transform:uppercase;color:#263899}
.capacity-list{margin-top:14px}.capacity-item{margin:11px 0}.capacity-item>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#555c73}.capacity-item b{color:#1d244e}.capacity-bar{height:5px;background:#eceef4;border-radius:99px;overflow:hidden;margin-top:6px}.capacity-bar i{display:block;height:100%;background:#d4a92d;border-radius:inherit}
.quick-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick-action{border:1px solid #e1e4ec;border-radius:7px;padding:14px;color:#161c4a;background:#fbfbfd;transition:.15s}.quick-action:hover{transform:translateY(-1px);box-shadow:0 6px 15px rgba(12,18,61,.06)}.quick-action.primary{background:#11185b;color:#fff;border-color:#11185b}.quick-action b{display:block;font-size:12px}.quick-action span{display:block;font-size:10px;line-height:1.4;color:#7a8094;margin-top:5px}.quick-action.primary span{color:#c8cce0}

.event-builder{padding-bottom:30px}.builder-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px 20px;margin-bottom:12px}.builder-toolbar h2{font-family:Georgia,serif;color:#151b4c;font-size:25px;margin:3px 0 5px}.builder-toolbar p{margin:0;color:#777d91;font-size:12px}.builder-toolbar-actions{display:flex;gap:8px;flex-shrink:0}.eyebrow{font-size:9px;letter-spacing:1.5px;font-weight:900;color:#b78412}
.builder-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#dfe2eb;border:1px solid #dfe2eb;border-radius:7px;overflow:hidden;margin-bottom:14px}.builder-tab{appearance:none;border:0;background:#fff;color:#60667a;padding:11px 12px;font-weight:800;font-size:10px;text-transform:uppercase;letter-spacing:.45px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px}.builder-tab span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#f1f2f6;color:#71778a}.builder-tab.active{background:#11185b;color:#fff}.builder-tab.active span{background:#d9aa31;color:#101641}
.builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:16px;align-items:start}.builder-section{display:none}.builder-section.active{display:block}.builder-section .admin-card{margin-bottom:0}.section-intro{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px;border-bottom:1px solid #eceef4;padding-bottom:14px}.section-intro h2{margin-bottom:5px}.section-intro p{margin:0;color:#7b8092;font-size:11px}.step-pill{font-size:9px;font-weight:850;text-transform:uppercase;color:#8c6716;background:#fff7df;border:1px solid #f2dfaa;border-radius:99px;padding:5px 8px;white-space:nowrap}
.field small{display:block;margin-top:5px;color:#969aac;font-size:9px}.builder-next,.builder-nav{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid #eceef4}.builder-nav{justify-content:space-between}.privacy-note{display:flex;gap:10px;padding:11px 13px;background:#f6f7fb;border-left:3px solid #d4a92d;border-radius:4px;margin-top:16px}.privacy-note b{font-size:10px;color:#1b2251;white-space:nowrap}.privacy-note span{font-size:10px;color:#747a8e}
.toggle-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.switch-row,.check-card{display:flex;align-items:flex-start;gap:10px;border:1px solid #e1e4ec;border-radius:6px;padding:13px;background:#fbfbfd;cursor:pointer}.switch-row input,.check-card input{margin-top:3px}.switch-row b,.check-card b{display:block;color:#1a214e;font-size:11px}.switch-row small,.check-card small{display:block;color:#858a9d;font-size:9px;margin-top:3px}.publish-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.publish-summary>div{background:#f7f8fb;border:1px solid #e8eaf0;border-radius:6px;padding:12px}.publish-summary span{display:block;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.7px;color:#8a8fa1}.publish-summary strong{display:block;margin-top:5px;font-size:10px;color:#19204d;word-break:break-all}
.preview-sticky{position:sticky;top:90px}.preview-label{font-size:9px;font-weight:900;letter-spacing:1.4px;color:#9b731e;margin:0 0 8px 2px}.preview-card{background:#fff;border:1px solid #dfe2ea;border-radius:8px;overflow:hidden;box-shadow:0 9px 25px rgba(8,14,55,.08)}.preview-art{height:118px;background:linear-gradient(135deg,#090f45,#27399a);display:flex;align-items:flex-end;padding:15px;position:relative;overflow:hidden}.preview-art:after{content:"";position:absolute;width:150px;height:150px;border:1px solid rgba(218,171,47,.34);border-radius:50%;right:-55px;top:-65px;box-shadow:0 0 0 22px rgba(218,171,47,.04)}.preview-art span{position:relative;z-index:2;background:#d8aa36;color:#111642;padding:4px 7px;border-radius:3px;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.5px}.preview-body{padding:16px}.preview-date{font-size:8px;font-weight:900;color:#b57f13;text-transform:uppercase;letter-spacing:.8px}.preview-body h3{font-family:Georgia,serif;color:#121946;font-size:20px;line-height:1.16;margin:7px 0}.preview-body p{font-size:10px;line-height:1.45;color:#71778c;min-height:43px}.preview-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.preview-meta span{font-size:8px;background:#f2f3f7;color:#4c536d;padding:4px 6px;border-radius:99px}.preview-footer{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid #eceef4;margin-top:14px;padding-top:12px}.preview-footer strong{font-size:12px;color:#171e4d}.preview-footer span{font-size:9px;font-weight:850;color:#253991}.preview-hint{font-size:9px;line-height:1.5;color:#8a8fa0;margin-top:10px;padding:0 2px}
@media(max-width:1050px){.dashboard-grid{grid-template-columns:1fr}.builder-layout{grid-template-columns:1fr}.builder-preview{order:-1}.preview-sticky{position:static}.preview-card{max-width:420px}.builder-toolbar{align-items:flex-start}.builder-tabs{overflow-x:auto;display:flex}.builder-tab{min-width:125px;flex:1}.quick-action-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.builder-toolbar{display:block}.builder-toolbar-actions{margin-top:14px}.toggle-grid,.publish-summary,.quick-action-grid{grid-template-columns:1fr}.builder-tabs{justify-content:flex-start}.dashboard-grid{display:block}.dashboard-panel{margin-bottom:14px}.attention-stack{grid-template-columns:1fr 1fr}}

/* v1.3.0 public experience */
.public-home-hero{padding:68px 0 62px}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:60px;align-items:end}.hero-proof{display:grid;grid-template-columns:1fr;gap:10px}.hero-proof>div{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);padding:15px 18px;border-radius:6px;backdrop-filter:blur(2px)}.hero-proof strong{display:block;color:#fff;font-family:Georgia,serif;font-size:27px;font-weight:500;line-height:1}.hero-proof span{display:block;color:#bfc5df;font-size:10px;text-transform:uppercase;letter-spacing:.9px;margin-top:5px}.public-ghost{border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.055);color:#fff}.featured-event-section{margin-top:-24px;position:relative;z-index:4}.featured-event{display:grid;grid-template-columns:44% 56%;background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;box-shadow:var(--shadow-strong)}.featured-visual{min-height:330px;background:#10175b}.featured-visual img{width:100%;height:100%;min-height:330px;object-fit:cover}.featured-art{height:100%;min-height:330px;background:linear-gradient(135deg,#0b1247,#21349b);position:relative;display:flex;align-items:flex-end;padding:28px;color:#fff}.featured-art:after{content:"";position:absolute;width:280px;height:280px;border:1px solid rgba(216,170,54,.25);border-radius:50%;right:-80px;top:-85px;box-shadow:0 0 0 36px rgba(216,170,54,.035)}.featured-art span{position:relative;z-index:2;background:var(--ctc-gold);color:#111642;padding:6px 9px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.6px;border-radius:3px}.featured-copy{padding:38px 42px;display:flex;flex-direction:column;justify-content:center}.featured-kicker{margin-top:13px;color:#7a8091;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.5px}.featured-copy h2{font-family:Georgia,serif;color:var(--ctc-navy);font-size:34px;line-height:1.12;margin:10px 0 12px;font-weight:500}.featured-copy>p{color:#687087;margin:0;font-size:14px}.featured-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.featured-bottom>strong{font-family:Georgia,serif;color:var(--ctc-navy);font-size:24px}.public-events-section{padding-top:50px}.public-section-head{margin-bottom:20px}.event-filters{display:grid;grid-template-columns:minmax(280px,1.6fr) minmax(180px,.7fr) minmax(150px,.55fr) auto auto;gap:10px;align-items:end;background:#fff;border:1px solid var(--line);padding:14px;border-radius:7px;margin-bottom:12px;box-shadow:0 4px 14px rgba(9,15,50,.03)}.event-filters label{display:block;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.55px;color:#6d7387;margin:0 0 5px 2px}.event-filters input,.event-filters select{width:100%;border:1px solid #d9dce5;background:#fbfbfc;border-radius:4px;padding:10px 11px;color:#1c2348;outline:0}.event-filters input:focus,.event-filters select:focus{border-color:#6974bb;box-shadow:0 0 0 3px rgba(22,31,116,.06)}.filter-reset{align-self:center;font-size:11px;color:#7f8495;font-weight:700;padding:10px 3px}.view-tabs{display:flex;gap:7px;margin:0 0 22px}.view-tabs a{background:#fff;border:1px solid var(--line);padding:7px 12px;border-radius:4px;font-size:11px;font-weight:800;color:#555d77}.view-tabs a.active{background:#11185b;border-color:#11185b;color:#fff}.public-event-grid{grid-template-columns:repeat(3,1fr)}.public-event-card .event-art{display:flex;align-items:flex-end;justify-content:flex-start;text-align:left}.public-event-card .event-art span{position:relative;z-index:2}.card-topline{display:flex;justify-content:space-between;align-items:center;gap:10px}.event-status-mini{font-size:8px;text-transform:uppercase;font-weight:900;letter-spacing:.5px;color:#1f7555;background:#edf8f3;border-radius:99px;padding:4px 7px}.event-status-mini.past{background:#f0f1f5;color:#70758a}.card-description{font-size:12px;color:#72788d;line-height:1.5;margin:0 0 14px;min-height:54px}.public-event-card .meta span{background:#f4f5f8;border-radius:99px;padding:4px 7px;font-size:10px}.card-link{font-size:10px;text-transform:uppercase;letter-spacing:.45px;font-weight:900;color:#263899}.public-empty{display:flex;flex-direction:column;gap:4px}.public-empty strong{color:#283057}.public-empty span{font-size:12px}.public-cta{background:linear-gradient(105deg,#090e38,#151e77);padding:40px 0;color:#fff;margin-top:8px}.public-cta .container{display:flex;align-items:center;justify-content:space-between;gap:28px}.public-cta h2{font-family:Georgia,serif;font-size:30px;font-weight:500;margin:5px 0 6px}.public-cta p{color:#c4c9df;margin:0;font-size:13px}
.premium-event-hero{padding:38px 0 30px}.event-breadcrumb{display:flex;gap:8px;align-items:center;color:#9ba4ca;font-size:10px;margin-bottom:20px}.event-breadcrumb a{color:var(--ctc-gold);font-weight:800}.event-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:42px;align-items:center}.event-hero-grid .event-title{font-size:46px}.event-hero-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.event-hero-image{border:1px solid rgba(255,255,255,.13);border-radius:7px;overflow:hidden;box-shadow:0 20px 45px rgba(0,0,0,.18);aspect-ratio:16/10}.event-hero-image img{width:100%;height:100%;object-fit:cover}.event-info-strip{grid-template-columns:repeat(5,1fr);max-width:none;margin-top:26px}.event-nav-wrap{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:82px;z-index:30}.event-anchor-nav{display:flex;gap:24px;overflow:auto;white-space:nowrap}.event-anchor-nav a{padding:13px 0;font-size:10px;text-transform:uppercase;font-weight:850;letter-spacing:.45px;color:#626981}.event-anchor-nav a:hover{color:#16216f}.event-detail-section{padding-top:34px}.event-intro h2{font-size:30px}.formatted-lines,.agenda-content{color:#4f566e;line-height:1.8}.facilitator-card{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:start}.facilitator-card img{width:120px;height:120px;border-radius:6px;object-fit:cover;border:1px solid var(--line)}.facilitator-card h2{border:0;padding:0;margin:0 0 3px}.facilitator-role{font-weight:750;color:#30385e;margin:0}.facilitator-quals{font-size:12px;color:#73798d}.premium-side-card{padding:26px}.premium-side-card .fee{font-family:Georgia,serif;font-size:32px}.early-bird{font-size:10px;color:#9a6f10;background:#fff8e7;border:1px solid #f1dfaa;border-radius:4px;padding:8px 10px}.side-facts{display:grid;border-top:1px solid #eceef4;margin-top:16px}.side-facts>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #eceef4}.side-facts span{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:#8a8fa0;font-weight:800}.side-facts strong{font-size:11px;text-align:right;color:#1b2250}.secure-note{font-size:9px;color:#898fa2;text-align:center;margin:8px 0 0}
.registration-page{padding:36px 0 20px}.registration-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.registration-heading{margin-bottom:18px}.registration-heading h1,.success-card h1{font-family:Georgia,serif;color:#11184a;font-size:36px;font-weight:500;margin:5px 0 7px}.registration-heading p{margin:0;color:#73798d}.registration-form{display:grid;gap:14px}.form-section{background:#fff;border:1px solid var(--line);border-radius:7px;padding:22px;box-shadow:0 5px 16px rgba(9,15,54,.035)}.form-section-head{display:flex;gap:12px;align-items:flex-start;padding-bottom:15px;margin-bottom:17px;border-bottom:1px solid #eceef4}.form-section-head>span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#11185b;color:#fff;font-size:11px;font-weight:850;flex:0 0 auto}.form-section-head h2{font-family:Georgia,serif;color:#171e4d;font-size:21px;margin:0}.form-section-head p{font-size:10px;color:#858a9c;margin:3px 0 0}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice-card{display:flex;gap:9px;border:1px solid #dfe2e9;border-radius:6px;padding:12px;background:#fbfbfc;cursor:pointer}.choice-card input{margin-top:4px}.choice-card b{display:block;font-size:11px;color:#1c234e}.choice-card small{display:block;font-size:9px;color:#83899b;margin-top:2px}.participant-count-field{max-width:220px;margin-top:13px}.check-line label{display:flex;align-items:center;gap:8px}.check-line input{width:auto}.registration-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#10175b;color:#fff;border-radius:7px;padding:17px 20px}.registration-submit p{font-size:10px;color:#c6cbe1;margin:0;max-width:580px}.registration-summary{position:sticky;top:100px}.registration-side-card{position:static}.registration-side-card h2{font-family:Georgia,serif;color:#171e4d;font-size:22px;line-height:1.25;margin:8px 0 14px}.registration-price{display:flex;justify-content:space-between;align-items:center;margin:16px 0 0;padding-top:15px;border-top:2px solid #e6ba45}.registration-price span{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:#858a9b;font-weight:800}.registration-price strong{font-family:Georgia,serif;font-size:23px;color:#141b4a}.payment-phase-note{font-size:9px;color:#7f8497;background:#f7f8fb;border-radius:4px;padding:9px 10px;margin-top:12px}.registration-success{padding:60px 0}.success-card{max-width:680px;margin:auto;background:#fff;border:1px solid var(--line);border-top:3px solid var(--ctc-gold);border-radius:8px;padding:34px;box-shadow:var(--shadow-strong);text-align:center}.success-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#edf8f3;color:#19805b;font-size:24px;margin:0 auto 15px}.reference-box{background:#f7f8fb;border:1px solid #e7e9ef;border-radius:6px;padding:13px;margin:18px 0}.reference-box span{display:block;font-size:8px;text-transform:uppercase;font-weight:850;letter-spacing:.6px;color:#8a8fa0}.reference-box strong{display:block;color:#161e51;font-size:18px;margin-top:3px}.success-actions{display:flex;justify-content:center;gap:8px;margin-top:20px}
@media(max-width:1050px){.hero-grid,.event-hero-grid{grid-template-columns:1fr}.hero-proof{grid-template-columns:repeat(3,1fr)}.event-hero-image{max-width:600px}.featured-event{grid-template-columns:1fr}.featured-visual,.featured-visual img,.featured-art{min-height:280px}.event-filters{grid-template-columns:1fr 1fr 1fr auto}.filter-reset{grid-column:1/-1}.registration-layout{grid-template-columns:1fr}.registration-summary{position:static;order:-1}.registration-side-card{max-width:520px}.event-info-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.public-event-grid{grid-template-columns:1fr 1fr}.hero-proof{grid-template-columns:1fr 1fr 1fr}.featured-copy{padding:28px}.event-filters{grid-template-columns:1fr 1fr}.event-filters .btn{align-self:end}.event-anchor-nav{gap:18px}.event-nav-wrap{top:72px}.facilitator-card{grid-template-columns:90px 1fr}.facilitator-card img{width:90px;height:90px}.registration-submit{display:block}.registration-submit .btn{margin-top:12px}.public-cta .container{display:block}.public-cta .btn{margin-top:18px}}
@media(max-width:580px){.public-event-grid{grid-template-columns:1fr}.hero-grid{gap:28px}.hero-proof{grid-template-columns:1fr}.featured-copy h2{font-size:28px}.featured-bottom{display:block}.featured-bottom .btn{margin-top:14px;width:100%}.event-filters{grid-template-columns:1fr}.event-info-strip{grid-template-columns:1fr 1fr}.event-hero-grid .event-title{font-size:35px}.choice-grid{grid-template-columns:1fr}.facilitator-card{grid-template-columns:1fr}.facilitator-card img{width:110px;height:110px}.success-actions{display:grid}.registration-heading h1,.success-card h1{font-size:30px}}

/* v1.3.1 public polish */
.is-hidden{display:none!important}.field-help{display:block;color:#858b9d;font-size:9px;margin-top:5px}.registration-page{padding:46px 0 34px}.registration-heading{padding-top:2px}.registration-form{gap:12px}.form-section{padding:20px}.registration-submit{margin-top:2px}.registration-side-card .side-facts>div strong{max-width:180px}.registration-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 16px}.filter-pills{display:flex;gap:6px}.filter-pills a{border:1px solid #dfe2ea;background:#fff;color:#596079;padding:7px 11px;border-radius:5px;font-size:11px;font-weight:800}.filter-pills a.active{background:#11185b;border-color:#11185b;color:#fff}.table-wrap{overflow:auto;border-radius:8px}.status-badge.confirmed{background:#edf8f3;color:#18714f}.status-badge.pending{background:#fff7e4;color:#9a6b0d}.status-badge.paid{background:#edf8f3;color:#18714f}.status-badge.not_required{background:#eef1f6;color:#5f667a}
@media(max-width:700px){.registration-toolbar{align-items:stretch;flex-direction:column}.filter-pills{overflow:auto}.registration-page{padding-top:30px}}
/* v1.4.0 Payment Framework */
.payment-page{padding:52px 0 80px}.payment-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}.payment-main{min-width:0}.payment-section,.payment-complete-card{background:#fff;border:1px solid #dfe4ef;border-radius:12px;padding:28px;margin:0 0 22px;box-shadow:0 12px 30px rgba(16,24,79,.05)}.gateway-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gateway-card{border:1px solid #dfe4ef;border-radius:10px;padding:20px;background:#fff}.gateway-card.disabled{background:#f8f9fc;opacity:.72}.gateway-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.gateway-card-head strong{font-size:18px;color:#111957}.gateway-state{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:6px 8px;border-radius:999px}.gateway-state.ready{background:#eaf7ef;color:#17643a}.gateway-state.pending{background:#f0f1f7;color:#6d748b}.gateway-card p{color:#6b7288;min-height:48px}.gateway-card button[disabled]{cursor:not-allowed}.selected-payment .section-intro{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.bank-instructions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.bank-instructions>div{border:1px solid #e2e5ee;background:#f8f9fc;padding:14px;border-radius:8px}.bank-instructions span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7e8498;font-weight:800;margin-bottom:5px}.bank-instructions strong{word-break:break-word}.payment-instructions{background:#fff8e7;border-left:3px solid var(--ctc-gold);padding:14px 16px}.proof-form{border-top:1px solid #e4e7ef;margin-top:20px;padding-top:20px}.payment-security-note,.payment-phase-note,.payment-selection-note{background:#f5f6fa;border:1px solid #e5e7ef;border-radius:8px;padding:13px;color:#697087;font-size:13px}.payment-selection-note strong,.payment-selection-note small{display:block}.payment-selection-note small{margin-top:4px}.payment-complete-card{text-align:center}.payment-complete-card .success-icon{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#e9f7ef;color:#17643a;font-size:26px;margin-bottom:10px}.payment-admin-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px}.payment-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 20px}.payment-kpis>div{background:#fff;border:1px solid #dde2ed;border-top:3px solid var(--ctc-gold);border-radius:9px;padding:18px}.payment-kpis span{display:block;color:#737b91;font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.07em}.payment-kpis strong{font-family:Georgia,serif;font-size:30px;color:#10184f}.gateway-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0 28px}.gateway-setting-card{border:1px solid #dde2ed;border-radius:10px;padding:18px;display:grid;gap:12px}.gateway-setting-card>div strong,.gateway-setting-card>div small{display:block}.gateway-setting-card>div small{color:#72798e;margin-top:4px}.gateway-setting-card label{font-weight:700;color:#172052}.gateway-setting-card select{display:block;width:100%;margin-top:6px}.credential-placeholder{margin:22px 0;padding:18px;border-radius:9px;background:#0f1856;color:#fff}.credential-placeholder p{color:#d7dcf3}.credential-placeholder code{display:block;white-space:normal;color:#f0c54b}.status-badge.awaiting_payment{background:#fff5d9;color:#805d00}.status-badge.under_review{background:#e9f0ff;color:#244f99}.status-badge.refunded{background:#f4eafd;color:#6a348a}.status-badge.failed{background:#fdeaea;color:#9c2929}
@media(max-width:900px){.payment-layout{grid-template-columns:1fr}.registration-summary{position:static}.gateway-grid,.gateway-settings-grid,.payment-kpis{grid-template-columns:1fr 1fr}.bank-instructions{grid-template-columns:1fr}}
@media(max-width:600px){.gateway-grid,.gateway-settings-grid,.payment-kpis{grid-template-columns:1fr}.payment-admin-head{align-items:flex-start;flex-direction:column}}
