:root{--navy:#0c285c;--navy-2:#17386f;--gold:#b88e48;--gold-light:#ead8b3;--ink:#102b61;--muted:#6379a1;--bg:#f3f6fa;--line:#d5dce7;--white:#fff;--green:#18745d;--red:#a64747;--amber:#9b702e;--shadow:0 18px 45px rgba(9,31,72,.10);font-family:Inter,Manrope,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.2rem,4vw,4.5rem);line-height:1.02;letter-spacing:-.045em}h2{font-size:clamp(1.45rem,2.2vw,2.25rem);line-height:1.15}h3{font-size:1.1rem}.container{width:min(1160px,calc(100% - 40px));margin:auto}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:12px;top:12px;z-index:99;background:#fff;padding:10px}.public-header{height:82px;background:var(--navy);color:#fff;display:flex;align-items:center;position:sticky;top:0;z-index:20}.public-header .container{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;font-weight:800;letter-spacing:.12em}.brand-mark{width:48px;height:48px;border:2px solid var(--gold);color:var(--gold);display:grid;place-items:center;font-family:Georgia;font-size:1.25rem}.public-nav{display:flex;align-items:center;gap:24px;color:#dfe8f9}.public-nav a:hover{color:#fff}.main{min-height:calc(100vh - 160px);padding:56px 0}.button,.small-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;padding:14px 22px;background:var(--navy);color:#fff;font-weight:800;min-height:48px}.button-gold{background:var(--gold)}.button-outline,.small-button{background:transparent;border-color:#aebbd0;color:var(--ink)}.button-danger{background:#fff;border-color:#ddbebe;color:var(--red)}.small-button{padding:9px 14px;min-height:40px;font-size:.9rem}.button:hover,.small-button:hover{filter:brightness(.95)}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--gold);font-size:.78rem;font-weight:800}.muted{color:var(--muted)}.flash{padding:14px 18px;margin-bottom:18px;border-left:4px solid;border-radius:2px;background:#fff}.flash-success{border-color:var(--green);color:#155f4e}.flash-error{border-color:var(--red);color:#883333}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:.88rem;font-weight:800}.field input,.field select,.field textarea,.filter-bar input,.filter-bar select{width:100%;border:1px solid #bac6d8;background:#fff;padding:12px 14px;min-height:48px;border-radius:0}.field textarea{min-height:110px;resize:vertical}.field small{color:var(--muted)}.field.full{grid-column:1/-1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-actions{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-top:24px}.choice{display:flex;align-items:flex-start;gap:9px;padding:8px 0}.choice input{margin-top:5px}.card,.portal-card{background:#fff;border:1px solid var(--line);padding:28px}.portal-card{margin-bottom:24px}.empty{background:#fff;border:1px dashed #b9c5d6;padding:70px 24px;text-align:center}.status{display:inline-flex;gap:7px;align-items:center;border:1px solid var(--line);padding:5px 9px;font-size:.82rem;white-space:nowrap}.status::before{content:"";width:7px;height:7px;border-radius:50%;background:#8d9bb2}.status-APPROVED::before,.status-PUBLISHED::before,.status-VALID::before,.status-SETTLED::before{background:var(--green)}.status-PENDING_REVIEW::before,.status-DRAFT::before,.status-PARTIAL::before,.status-UNPAID::before{background:var(--gold)}.status-REJECTED::before,.status-CANCELLED::before,.status-OVERPAID::before{background:var(--red)}table{width:100%;border-collapse:collapse;background:#fff}th{text-align:left;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:var(--muted);background:#edf2f8}th,td{padding:15px;border-bottom:1px solid var(--line);vertical-align:top}tbody tr:hover{background:#f9fbfd}.table-wrap{overflow:auto;border:1px solid var(--line)}.table-title{font-weight:800;display:block}.table-meta{display:block;margin-top:3px;font-size:.83rem;line-height:1.35;color:var(--muted);overflow-wrap:anywhere}
.landing-body{background:#fff}.landing-header{position:absolute;z-index:10;top:0;left:0;right:0;color:#fff;padding:25px 0}.landing-header .container{display:flex;align-items:center;justify-content:space-between}.landing-nav{display:flex;gap:18px;align-items:center}.landing-nav a{font-size:.88rem}.hero{min-height:760px;color:#fff;background:linear-gradient(90deg,rgba(4,25,61,.96) 0%,rgba(8,35,77,.88) 48%,rgba(8,35,77,.48)),url('/assets/hero-sofia.jpg') center/cover;display:flex;align-items:center;padding:130px 0 70px}.hero-copy{max-width:850px}.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.035em;margin:18px 0 24px}.hero-subtitle{font-size:1.35rem;max-width:700px;color:#e3eaf6}.hero-meta{display:flex;gap:60px;margin:40px 0}.hero-meta span{display:block;color:#bdcbe1;font-size:.78rem;text-transform:uppercase;letter-spacing:.15em}.hero-meta b{font-size:1.1rem}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.section{padding:88px 0}.section-soft{background:var(--bg)}.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.quote{font-family:Georgia,serif;font-size:1.7rem;line-height:1.45;border-left:4px solid var(--gold);padding-left:26px}.facts{display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy);color:#fff}.fact{padding:35px;border-right:1px solid rgba(255,255,255,.16)}.fact b{display:block;color:var(--gold-light);font-size:1.8rem}.fact span{color:#c8d3e5}.feature-grid,.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature,.package{border-top:4px solid var(--gold);background:#fff;padding:28px;box-shadow:var(--shadow)}.agenda{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}.agenda-item{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:26px;background:#fff}.agenda-item .eyebrow{padding-top:4px}.audience-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.audience-tags span{border:1px solid var(--line);padding:8px 12px}.venue-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--navy);color:#fff}.venue-copy{padding:50px}.venue-image{min-height:420px;background:url('/assets/venue-map.jpg') center/cover}.site-footer{background:#071c43;color:#cbd6e8;padding:38px 0}.site-footer .container{display:flex;justify-content:space-between;gap:30px}
.auth-shell{display:grid;grid-template-columns:minmax(260px,.42fr) 1fr;min-height:100vh}.auth-art{background:linear-gradient(rgba(12,40,92,.45),rgba(12,40,92,.7)),url('/assets/hero-sofia.jpg') center/cover}.auth-panel{padding:70px max(38px,8vw);display:flex;align-items:center}.auth-box{width:min(760px,100%)}.demo-box{border:1px solid var(--gold-light);background:#fffaf0;padding:22px;margin:25px 0}.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.demo-account{border:1px solid var(--line);padding:15px;background:#fff}.auth-form{max-width:560px}.auth-form .field{margin:18px 0}
.portal-shell{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--navy);color:#c9d5e8;display:flex;flex-direction:column}.sidebar-brand{padding:40px 28px 34px;border-bottom:1px solid rgba(255,255,255,.13);text-align:center}.sidebar-brand .brand-mark{margin:0 auto 15px;width:82px;height:82px;font-size:2rem}.sidebar-brand strong{display:block;color:#fff;letter-spacing:.14em}.sidebar nav{padding:24px 0}.sidebar nav a{display:flex;gap:14px;align-items:center;padding:14px 28px;border-left:5px solid transparent}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.09);color:#fff;border-left-color:var(--gold)}.nav-icon{width:24px;text-align:center}.sidebar-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.13);padding:20px 28px}.sidebar-user b{color:#fff;display:block}.sidebar-user small{display:block;overflow:hidden;text-overflow:ellipsis}.portal-main{min-width:0}.demo-banner{background:#fff8e8;border-bottom:1px solid #e2cc9e;padding:14px max(32px,4vw);display:flex;justify-content:space-between;gap:20px}.portal-content{padding:50px max(28px,4vw) 80px;max-width:1640px}.portal-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px}.portal-heading h1{margin-bottom:8px}.portal-heading p{color:var(--muted);margin:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);margin-bottom:34px}.metric{padding:28px;display:flex;gap:17px;align-items:center;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric-icon{font-size:1.6rem;color:var(--muted)}.metric b{display:block;font-size:2rem;line-height:1}.metric span{font-size:.86rem;color:var(--muted)}.events-list{background:#fff;border:1px solid var(--line)}.event-row{display:grid;grid-template-columns:1.6fr .8fr 1.25fr .7fr 1fr auto;gap:20px;align-items:center;padding:24px 28px;border-bottom:1px solid var(--line)}.event-row:last-child{border-bottom:0}.event-row b{display:block}.progress{height:6px;background:#e5eaf1;margin-top:10px}.progress i{height:100%;display:block;background:var(--navy)}.tabs{display:flex;gap:34px;border-bottom:1px solid var(--line);margin:0 0 32px}.tabs a{padding:14px 4px;border-bottom:4px solid transparent}.tabs a.active{border-color:var(--gold);font-weight:800}.filter-bar{display:grid;grid-template-columns:2fr repeat(4,1fr) auto;gap:14px;padding:20px;background:#fff;border:1px solid var(--line);margin-bottom:22px}.filter-bar.compact{grid-template-columns:2fr repeat(3,1fr) auto}.registration-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:24px}.detail-panel{background:#fff;border:1px solid var(--line);padding:24px;position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto}.detail-panel h2{font-size:1.5rem}.detail-actions{display:grid;gap:10px;margin-top:24px}.detail-actions form{display:flex;gap:8px;flex-wrap:wrap}.people-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#fff;margin-bottom:28px}.people-stats>div{padding:24px;border-right:1px solid var(--line);text-align:center}.people-stats b{display:block;font-size:2rem}.finance-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:26px}.finance-kpi{background:#fff;border:1px solid var(--line);padding:20px}.finance-kpi span{font-size:.82rem;color:var(--muted)}.finance-kpi b{font-size:1.55rem;display:block;margin-top:5px}.finance-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:22px}.chart{background:#fff;border:1px solid var(--line);padding:24px;min-height:280px}.bars{height:210px;display:flex;align-items:stretch;gap:14px}.bar-item{flex:1;display:grid;grid-template-rows:30px 1fr 28px;text-align:center;font-size:.75rem}.bar-item>div{display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--line)}.bar-item i{display:block;width:min(42px,72%);background:var(--gold)}.bar-item i.negative{background:var(--red)}dialog{width:min(820px,calc(100% - 32px));max-height:90vh;border:0;padding:0;box-shadow:0 20px 70px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(5,19,48,.6)}.dialog-body{padding:28px}.dialog-head{display:flex;justify-content:space-between;gap:20px}.dialog-close{border:0;background:none;font-size:1.8rem}.settings-stack{display:grid;gap:22px}.settings-stack .portal-card{margin:0}.disabled-note{background:#fff8e8;border-left:4px solid var(--gold);padding:16px;margin-bottom:20px}.qr-box{display:grid;place-items:center;background:#fff;padding:25px;border:1px solid var(--line);max-width:420px}.qr-box svg{width:100%;height:auto}.scanner{display:grid;grid-template-columns:1fr 1fr;gap:24px}.scanner video{width:100%;min-height:300px;background:#071c43}.docs-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.docs-nav{background:var(--navy);color:#ccd8eb;padding:30px;position:sticky;top:0;height:100vh}.docs-nav h2{color:#fff}.docs-nav a{display:block;padding:10px 0}.docs-main{padding:60px max(35px,7vw)}.docs-hero{max-width:850px;margin-bottom:45px}.docs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.doc-card{background:#fff;border:1px solid var(--line);padding:25px}.doc-card .doc-number{color:var(--gold);font-weight:800;letter-spacing:.16em}.email-copy{background:#fff;border:1px solid var(--line);padding:38px;max-width:850px}.menu-toggle{display:none}
@media(max-width:1100px){.portal-shell{grid-template-columns:230px minmax(0,1fr)}.event-row{grid-template-columns:1.5fr .8fr 1fr 1fr auto}.event-location{display:none}.metrics,.people-stats{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.finance-kpis{grid-template-columns:repeat(3,1fr)}.registration-layout{grid-template-columns:1fr}.detail-panel{position:static;max-height:none}.filter-bar,.filter-bar.compact{grid-template-columns:repeat(2,1fr)}.filter-bar .filter-search{grid-column:1/-1}}
@media(max-width:760px){.container{width:min(100% - 28px,1160px)}.public-header{height:68px}.public-nav a:not(.button){display:none}.hero{min-height:700px;padding-top:110px}.landing-nav a:not(.button){display:none}.hero-meta{display:grid;gap:16px}.section{padding:60px 0}.intro-grid,.venue-grid,.auth-shell,.scanner{grid-template-columns:1fr}.auth-art{display:none}.feature-grid,.package-grid,.facts{grid-template-columns:1fr}.fact{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.agenda-item{grid-template-columns:1fr;gap:8px}.site-footer .container{flex-direction:column}.portal-shell{display:block}.sidebar{position:fixed;z-index:50;width:280px;transform:translateX(-100%);transition:.25s}.nav-open .sidebar{transform:translateX(0)}.menu-toggle{display:block;position:fixed;right:14px;bottom:14px;z-index:60;border:0;border-radius:50%;background:var(--gold);color:#fff;width:56px;height:56px;font-size:1.4rem;box-shadow:var(--shadow)}.portal-content{padding:32px 15px 80px}.portal-heading{align-items:flex-start;flex-direction:column}.portal-heading h1{font-size:2.4rem}.metrics,.people-stats,.finance-kpis{grid-template-columns:1fr}.metric,.people-stats>div{border-right:0;border-bottom:1px solid var(--line)}.event-row{grid-template-columns:1fr;gap:8px}.event-row>*{display:block}.form-grid,.demo-grid,.finance-grid,.docs-grid{grid-template-columns:1fr}.filter-bar,.filter-bar.compact{grid-template-columns:1fr}.field.full{grid-column:auto}.docs-shell{display:block}.docs-nav{height:auto;position:static}.docs-nav nav{display:none}.docs-main{padding:35px 16px}.auth-panel{padding:40px 20px}th,td{min-width:150px}}
.brand-logo{display:block;width:54px;height:54px;object-fit:contain;flex:0 0 auto}.brand-logo-large{width:118px;height:92px;margin:0 auto 15px}.registration-tools{padding:0}.filter-bar-wide{margin:0;border:0;grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end}.filter-bar-wide .filter-search{grid-column:span 2}.filter-actions{margin:0;align-self:end}.result-summary{display:flex;justify-content:space-between;gap:20px;padding:16px 20px;border-top:1px solid var(--line);color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;color:var(--muted)}.pagination>div,.dialog-sequence{display:flex;gap:10px}.dialog-sequence{justify-content:flex-end;margin:-8px 0 20px}.small-button:disabled{opacity:.42;cursor:not-allowed}.finance-history{display:grid;gap:10px}.finance-history-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}.finance-history-row small{display:block;color:var(--muted)}.finance-lead-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.finance-lead{border:1px solid var(--line);padding:18px}.finance-lead h3{margin-bottom:4px}
.docs-nav{overflow:auto}.docs-nav nav a{font-size:.88rem;border-bottom:1px solid rgba(255,255,255,.08)}.docs-nav nav small{color:var(--gold);margin-right:6px}.doc-card-link{display:block;transition:transform .18s ease,box-shadow .18s ease}.doc-card-link:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.doc-card-link strong{color:var(--gold)}.docs-steps{list-style:none;counter-reset:steps;padding:0;display:grid;gap:14px}.docs-steps li{counter-increment:steps;display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start}.docs-steps li::before{content:counter(steps);display:grid;place-items:center;width:34px;height:34px;background:var(--navy);color:#fff;font-weight:800}.process-flow{display:flex;flex-wrap:wrap;gap:8px}.process-flow span{border:1px solid var(--line);padding:10px 13px;background:var(--bg)}.process-flow span:not(:last-child)::after{content:" →";color:var(--gold);margin-left:8px}
.people-finance-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:22px;margin-top:24px}.people-finance-layout .portal-card{min-width:0}.people-finance-layout tr.selected{background:#fff8e8}.profile-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-facts div{border:1px solid var(--line);padding:12px}.profile-facts dt{font-size:.75rem;color:var(--muted)}.profile-facts dd{font-weight:800;margin:4px 0 0}
.attention-card{max-width:520px;margin:30px 0 0 auto}.attention-card>strong{font-size:2rem;color:var(--gold)}
@media(max-width:1100px){.filter-bar-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-lead-grid{grid-template-columns:1fr}}
@media(max-width:1100px){.people-finance-layout{grid-template-columns:1fr}.people-finance-layout .detail-panel{position:static}}
@media(max-width:760px){.filter-bar-wide{grid-template-columns:1fr}.filter-bar-wide .filter-search{grid-column:auto}.result-summary,.pagination{align-items:flex-start;flex-direction:column}.brand-logo{width:46px;height:46px}.brand-logo-large{width:104px;height:80px}.nav-open .docs-nav nav{display:block}.profile-facts{grid-template-columns:1fr}}
/* Group registration */
.group-form { max-width: 1080px; margin-inline: auto; }
.group-form h2 { margin-top: 32px; }
.attendee-card { border: 1px solid #d8deea; margin: 20px 0; padding: 24px; min-width: 0; }
.attendee-card legend { padding: 0 8px; font-weight: 700; color: #10285c; }
.booking-summary { padding: 24px; margin: 28px 0; background: #f6f8fc; border-left: 4px solid #b28c4c; overflow-wrap: anywhere; }
.group-form .field input { width: 100%; min-width: 0; }
.group-form .choice { margin: 16px 0; }
.group-form [hidden] { display: none; }
.group-review { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
@media (max-width: 600px) { .attendee-card,.booking-summary { padding: 16px; } }
.lunch-badge { display:inline-block; padding:8px 14px; border:1px solid #bc9a59; border-radius:24px; background:#fff7e4; color:#624719; font-size:.85rem; font-weight:700; }
