@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700;800&family=Inter:wght@400;500;600;700;800&display=swap');
:root{--bg:#0b0712;--bg2:#120923;--panel:#181027;--panel2:#24133b;--panel3:#32184d;--text:#fffaf2;--muted:#bcb0c9;--orange:#ff7a1a;--orange2:#ff9a3c;--pink:#e52c68;--purple:#7d3cff;--green:#2fc47d;--red:#ed476f;--line:rgba(255,255,255,.11);--shadow:0 28px 70px rgba(0,0,0,.38);--serif:'Cinzel',Georgia,serif;--sans:'Inter',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 20% 0%,#2b1038 0,transparent 31%),var(--bg);color:var(--text);font-family:var(--sans);line-height:1.65;min-height:100vh}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(circle,rgba(255,255,255,.13) 0 1px,transparent 1.3px);background-size:73px 73px;opacity:.14}a{color:inherit;text-decoration:none}img{max-width:100%}.wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}h1,h2,h3{font-family:var(--serif);line-height:1.08;margin-top:0}h2{font-size:clamp(2.1rem,4vw,4rem);margin-bottom:15px}h3{font-size:1.5rem}p{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.21em;font-size:.73rem;font-weight:800;color:var(--orange2)}
.topbar{position:sticky;top:0;z-index:50;min-height:78px;padding:14px max(20px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:28px;background:rgba(13,7,22,.82);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px);transition:min-height .28s ease,padding .28s ease,background .28s ease}.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-weight:800;letter-spacing:.07em}.brand-logo img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(255,122,26,.18));transition:width .34s ease,height .34s ease,transform .34s ease,filter .34s ease}.brand-wordmark{display:flex;flex-direction:column;line-height:.95}.brand small{font-family:var(--sans);font-size:.52rem;letter-spacing:.25em;color:var(--orange);margin-bottom:6px}.home-page .topbar{min-height:96px}.home-page .brand-logo img{position:absolute;top:9px;width:205px;height:205px;transform:translateX(-18px);z-index:4;filter:drop-shadow(0 18px 30px rgba(0,0,0,.38)) drop-shadow(0 0 18px rgba(255,122,26,.18))}.home-page .brand-wordmark{margin-left:185px;opacity:0;pointer-events:none;transition:opacity .2s ease,margin .34s ease}.home-page .topbar.is-scrolled{min-height:72px;padding-top:8px;padding-bottom:8px;background:rgba(10,5,17,.94)}.home-page .topbar.is-scrolled .brand-logo img{position:absolute;top:6px;width:60px;height:60px;transform:translateX(0)}.home-page .topbar.is-scrolled .brand-wordmark{margin-left:72px;opacity:1}.main-nav{display:flex;align-items:center;gap:24px;font-size:.91rem;font-weight:700}.main-nav>a:not(.button){color:#ded5e4;transition:.2s}.main-nav>a:not(.button):hover{color:#fff}.main-nav .nav-quiet{color:#a99db4}.nav-toggle{display:none;background:none!important;border:0;color:white;font-size:1.7rem;padding:5px}
.button,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--pink),#f04465 55%,var(--orange));color:white;padding:14px 23px;font-family:var(--sans);font-weight:800;cursor:pointer;box-shadow:0 12px 28px rgba(229,44,104,.24);transition:transform .2s,box-shadow .2s,filter .2s}.button:hover,button:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 16px 34px rgba(229,44,104,.32)}.button.secondary{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.38);box-shadow:none}.button.small{padding:10px 16px;font-size:.83rem}.button.full{width:100%}.text-link{font-weight:800;color:#fff}.text-link b{color:var(--orange);margin-left:7px}.actions{display:flex;gap:12px;flex-wrap:wrap}
.hero{min-height:760px;position:relative;display:grid;align-items:center;overflow:hidden;background:#160b2b url('/images/design-hero.jpg') center/cover no-repeat}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,5,17,.97) 0%,rgba(17,7,32,.88) 34%,rgba(21,8,38,.28) 67%,rgba(9,5,17,.53) 100%),linear-gradient(0deg,var(--bg) 0,transparent 35%)}.hero-inner{position:relative;z-index:2;padding-block:110px}.hero-copy{max-width:720px}.home-page .hero-copy{margin-left:210px;max-width:760px}.hero h1{font-size:clamp(3.2rem,7vw,6.8rem);letter-spacing:-.045em;margin:20px 0 25px;text-shadow:0 7px 30px rgba(0,0,0,.4)}.hero h1 em{font-style:normal;color:var(--orange2)}.hero-copy>p{font-size:clamp(1.03rem,1.8vw,1.28rem);max-width:670px;color:#d8cfe0}.hero .actions{margin-top:34px}.hero-facts{display:flex;gap:30px;margin-top:56px;padding-top:25px;border-top:1px solid rgba(255,255,255,.15);max-width:700px}.hero-facts span{display:flex;flex-direction:column;font-size:.75rem;color:#bbaec5;text-transform:uppercase;letter-spacing:.09em}.hero-facts strong{font-size:1.25rem;color:white;letter-spacing:0}.hero-mist{position:absolute;left:-10%;right:-10%;height:180px;bottom:-90px;background:rgba(192,133,224,.12);filter:blur(45px);border-radius:50%}
.section{padding:105px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px}.section-heading>div{max-width:730px}.section-heading>p{max-width:410px;margin-bottom:12px}.section-heading.centered{text-align:center;display:block}.section-heading.centered>p{margin:0 auto;max-width:650px}.events-section{background:linear-gradient(180deg,#0b0712,#10091b)}.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.event-card{position:relative;min-height:460px;border-radius:30px;overflow:hidden;padding:38px;display:flex;align-items:flex-end;border:1px solid var(--line);box-shadow:var(--shadow)}.event-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,4,13,.98),rgba(17,7,28,.18) 80%)}.event-card.family{background:linear-gradient(145deg,#6b174f,#28114a)}.event-card.dark{background:linear-gradient(145deg,#1c2247,#0b0b16)}.event-card:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;top:-60px;right:-30px;background:radial-gradient(circle,rgba(255,123,28,.48),transparent 68%);filter:blur(4px)}.event-number{position:absolute;top:22px;right:30px;font-family:var(--serif);font-size:5rem;font-weight:800;color:rgba(255,255,255,.08)}.event-content{position:relative;z-index:2}.event-date{color:var(--orange2);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.76rem}.event-card h3{font-size:clamp(2rem,3.5vw,3.6rem);margin:13px 0}.event-card p{color:#d1c6d7;max-width:590px}.event-meta{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.event-meta span{padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.09);font-size:.75rem;color:#f4edf6;border:1px solid rgba(255,255,255,.09)}
.atmosphere{background:radial-gradient(circle at 75% 50%,rgba(98,31,132,.28),transparent 35%),#0a0610}.atmosphere-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}.feature-list{display:grid;gap:20px;margin-top:35px}.feature-list>div{display:flex;gap:18px;align-items:flex-start}.feature-list i{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#3d1957,#5d246e);color:var(--orange2);font-style:normal}.feature-list span{display:flex;flex-direction:column;color:var(--muted)}.feature-list strong{color:#fff}.coupon-card{position:relative;padding:50px;border-radius:32px;background:linear-gradient(145deg,#3c195c,#1c0e35);border:1px solid rgba(255,255,255,.14);box-shadow:var(--shadow);overflow:hidden}.coupon-card:before,.coupon-card:after{content:"";position:absolute;width:55px;height:55px;border-radius:50%;background:#0a0610;top:50%;transform:translateY(-50%)}.coupon-card:before{left:-29px}.coupon-card:after{right:-29px}.coupon-card>span{color:var(--orange2);font-weight:800;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem}.coupon-card strong{font-family:var(--serif);display:block;font-size:clamp(2.3rem,4vw,4rem);line-height:1.04;margin:18px 0}.coupon-card p{max-width:420px}.ticket-section{background:linear-gradient(180deg,#13091e,#0a0610)}.ticket-grid-public{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;max-width:950px;margin:45px auto 0}.ticket-card{position:relative;background:linear-gradient(160deg,rgba(49,24,73,.95),rgba(23,14,36,.98));border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:32px;box-shadow:0 24px 60px rgba(0,0,0,.27)}.ticket-card:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(130deg,rgba(255,142,57,.65),transparent 25%,transparent 70%,rgba(229,44,104,.35));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.ticket-top{display:flex;justify-content:space-between;color:var(--orange2);font-size:.76rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800}.ticket-card h3{font-size:2rem;margin:25px 0 10px}.ticket-price{display:grid;grid-template-columns:auto 1fr;align-items:end;margin:25px 0}.ticket-price small{grid-column:1/-1;color:#9f91aa;text-transform:uppercase;letter-spacing:.13em}.ticket-price strong{font-family:var(--serif);font-size:2.5rem;color:var(--orange2)}.ticket-price span{font-size:.8rem;color:var(--muted);padding-bottom:8px}.ticket-note{text-align:center}.ticket-note a{color:var(--orange2);font-weight:700}
.site-footer{padding:65px 0 35px;background:#07040c;border-top:1px solid rgba(255,255,255,.08)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:55px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-grid p{max-width:460px}.footer-grid strong{font-family:var(--serif);margin-bottom:8px}.footer-grid a:not(.brand),.footer-grid span{font-size:.88rem;color:#a99db4}.footer-brand{margin-bottom:8px}
.flash{padding:12px 0;text-align:center;font-weight:700}.flash.success{background:#164c38}.flash.error{background:#751d38}.flash.warning{background:#6f4513}.muted{color:var(--muted)}.price{font-size:2.5rem;font-weight:900;color:var(--orange)}
/* Forms */
form{display:grid;gap:16px}label{font-weight:700;font-size:.9rem;color:#eee6f2}input,select,textarea{width:100%;background:#130d1d;color:white;border:1px solid rgba(255,255,255,.16);border-radius:13px;padding:13px 15px;font:inherit;transition:border-color .18s,box-shadow .18s,background .18s}input:hover,select:hover,textarea:hover{background:#171020}input:focus,select:focus,textarea:focus{outline:0;border-color:rgba(255,130,42,.8);box-shadow:0 0 0 4px rgba(255,122,26,.11)}select{color-scheme:dark}.form-card{max-width:650px;margin:70px auto;padding:38px;background:linear-gradient(160deg,#21132f,#140d1f);border-radius:26px;border:1px solid var(--line);box-shadow:var(--shadow)}.form-card:before{content:"";display:block;width:45px;height:4px;background:linear-gradient(90deg,var(--pink),var(--orange));border-radius:10px;margin-bottom:25px}.form-card h1{font-size:clamp(2rem,4vw,3.2rem)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.search-form{display:flex;gap:10px;margin-bottom:20px}.search-form input{margin:0}.search-form button{width:auto;margin:0}.inline-form{display:inline-block;margin-left:12px}.link-button{background:none;box-shadow:none;color:var(--orange2);padding:0;border-radius:0}.link-button:hover{transform:none;box-shadow:none}.note,.notice{padding:16px 18px;border-radius:14px;margin:0 0 22px;background:#211729;border:1px solid rgba(255,255,255,.12)}.note{border-left:4px solid var(--orange)}.notice.warning{border-color:#996421;background:#34240f}
/* Portal */
.portal-page{background:radial-gradient(circle at 100% 0%,#311244 0,transparent 28%),#0b0712}.dashboard{display:grid;grid-template-columns:265px 1fr;min-height:calc(100vh - 78px)}.sidebar{position:sticky;top:78px;height:calc(100vh - 78px);overflow:auto;background:rgba(15,8,25,.92);padding:27px 16px;border-right:1px solid rgba(255,255,255,.09)}.sidebar-label{margin:16px 12px 8px;color:#766b80;text-transform:uppercase;letter-spacing:.18em;font-size:.63rem;font-weight:800}.sidebar a{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:12px;margin-bottom:5px;color:#c8bdcf;font-weight:650;font-size:.89rem;transition:.18s}.sidebar a span{width:21px;text-align:center;color:#8f7c9c}.sidebar a:hover,.sidebar a.active{color:white;background:linear-gradient(90deg,rgba(229,44,104,.2),rgba(120,54,181,.12));box-shadow:inset 3px 0 0 var(--orange)}.sidebar a.active span{color:var(--orange2)}.content{padding:38px;min-width:0}.content>h1,.content>div:first-child h1{font-size:clamp(2.1rem,4vw,3.6rem);margin-bottom:30px}.content>h2{margin-top:45px;font-size:1.7rem}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.stat{position:relative;overflow:hidden;background:linear-gradient(145deg,#21142f,#160e22);padding:22px;border-radius:18px;border:1px solid rgba(255,255,255,.1)}.stat:after{content:"";position:absolute;width:70px;height:70px;right:-20px;top:-25px;border-radius:50%;background:rgba(255,122,26,.11)}.stat span{color:#9f92a9;font-size:.78rem;text-transform:uppercase;letter-spacing:.09em}.stat strong{font-family:var(--serif);font-size:2rem;display:block;margin-top:7px;color:#fff}.card{background:linear-gradient(150deg,#21142f,#160e22);border:1px solid var(--line);border-radius:21px;padding:27px;box-shadow:0 17px 45px rgba(0,0,0,.17)}.card.highlight{border-color:rgba(255,122,26,.7)}.card+.card{margin-top:24px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.table-wrap{overflow:auto;background:linear-gradient(145deg,#1d1229,#130d1d);border-radius:19px;border:1px solid var(--line);box-shadow:0 17px 45px rgba(0,0,0,.13)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08);white-space:nowrap}th{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#8e8198;background:rgba(255,255,255,.02)}td{font-size:.89rem;color:#dcd3e1}tbody tr:hover{background:rgba(255,255,255,.025)}td a{color:#ffae6e;font-weight:700}.badge{display:inline-block;padding:5px 10px;border-radius:999px;background:#3e3150;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.badge.paid,.badge.confirmed,.badge.used,.badge.published{background:#12543b;color:#b9f5d7}.badge.pending,.badge.draft{background:#654512;color:#ffe2a3}.badge.cancelled,.badge.closed{background:#681e37;color:#ffc0d0}.ticket{background:#fff;color:#111;padding:30px;border-radius:16px;max-width:760px;margin:30px auto}.ticket-grid{display:grid;grid-template-columns:1fr 240px;gap:25px}.ticket img{max-width:220px}.danger{color:#ffc6d3}.success-text{color:#9df0c6}small{opacity:.75}
input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:24px;height:24px;min-width:24px;padding:0;margin:0 10px 0 0;border:2px solid #7c6d86;border-radius:7px;background:#160f20;display:inline-grid;place-content:center;vertical-align:-6px;cursor:pointer;transition:.15s}input[type="checkbox"]::before{content:"";width:11px;height:6px;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(-45deg) scale(0);margin-top:-2px;transition:transform .12s}input[type="checkbox"]:checked{background:linear-gradient(135deg,var(--pink),var(--orange));border-color:var(--orange)}input[type="checkbox"]:checked::before{transform:rotate(-45deg) scale(1)}input[type="checkbox"]:focus-visible{outline:0;box-shadow:0 0 0 4px rgba(255,122,26,.2)}label:has(input[type="checkbox"]){display:inline-flex;align-items:center;cursor:pointer;line-height:1.35}
@media(max-width:1100px){.home-page .hero-copy{margin-left:180px}.home-page .brand-logo img{width:180px;height:180px}.home-page .brand-wordmark{margin-left:160px}}
@media(max-width:1000px){.event-grid,.atmosphere-grid{grid-template-columns:1fr}.section-heading{display:block}.section-heading>p{max-width:700px}.stats{grid-template-columns:repeat(2,1fr)}.main-nav{gap:14px}.main-nav>a:nth-child(3){display:none}}
@media(max-width:780px){.topbar{min-height:68px}.brand-logo img{width:50px;height:50px}.home-page .topbar{min-height:72px}.home-page .brand-logo img,.home-page .topbar.is-scrolled .brand-logo img{position:static;width:58px;height:58px;transform:none}.home-page .brand-wordmark,.home-page .topbar.is-scrolled .brand-wordmark{margin-left:0;opacity:1}.home-page .hero-copy{margin-left:0}.home-page .brand-wordmark small{display:none}.nav-toggle{display:block}.main-nav{position:absolute;display:none;flex-direction:column;align-items:stretch;top:68px;left:14px;right:14px;background:#170d22;border:1px solid var(--line);padding:17px;border-radius:18px;box-shadow:var(--shadow)}.main-nav.is-open{display:flex}.main-nav>a:nth-child(3){display:block}.hero{min-height:670px;background-position:61% center}.hero-overlay{background:linear-gradient(90deg,rgba(9,5,17,.96),rgba(15,7,27,.77)),linear-gradient(0deg,var(--bg),transparent 40%)}.hero-inner{padding-block:80px}.hero-facts{gap:15px;display:grid;grid-template-columns:repeat(3,1fr)}.section{padding:75px 0}.event-grid,.ticket-grid-public,.grid,.grid.three,.footer-grid{grid-template-columns:1fr}.event-card{min-height:420px}.dashboard{grid-template-columns:1fr}.sidebar{position:static;height:auto;display:flex;overflow:auto;gap:6px;border-right:0;border-bottom:1px solid var(--line);padding:12px}.sidebar-label{display:none}.sidebar a{white-space:nowrap;margin:0}.content{padding:24px 18px}.form-grid,.stats,.ticket-grid{grid-template-columns:1fr}.footer-grid{gap:25px}.search-form{display:block}.search-form button{width:100%;margin-top:10px}.inline-form{display:block;margin:12px 0 0}}
@media(max-width:480px){.wrap{width:min(100% - 28px,1180px)}.brand-wordmark{font-size:.72rem;letter-spacing:.03em}.brand-logo img,.home-page .brand-logo img,.home-page .topbar.is-scrolled .brand-logo img{width:48px;height:48px}.hero h1{font-size:2.65rem}.hero-facts{grid-template-columns:1fr 1fr}.hero-facts span:last-child{display:none}.event-card,.coupon-card,.ticket-card,.form-card{padding:25px}.content>h1,.content>div:first-child h1{font-size:2rem}.stats{grid-template-columns:1fr 1fr}.stat{padding:17px}.stat strong{font-size:1.55rem}}
@media print{.topbar,.site-footer,.sidebar,.no-print{display:none!important}body{background:white}.dashboard{display:block}.content{padding:0}.ticket{margin:0;box-shadow:none}}

/* v1.4 ticketing */
.participant-list{display:grid;gap:14px;padding:20px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.025)}.participant-list h3{margin:0}.participant-row{display:grid;grid-template-columns:2fr 1fr;gap:14px}.ticket-wallet{display:grid;gap:18px}.wallet-card{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px;border-radius:21px;border:1px solid var(--line);background:linear-gradient(135deg,#241435,#160d22);box-shadow:0 18px 44px rgba(0,0,0,.2)}.wallet-card h3{margin:7px 0 8px;font-size:1.8rem}.wallet-card p{margin:6px 0 12px}.print-ticket{padding:45px 18px}.ticket-premium{max-width:900px;padding:0;overflow:hidden;border-radius:28px;box-shadow:0 35px 90px rgba(0,0,0,.48);border:1px solid #d7c9db}.ticket-brand{display:flex;align-items:center;gap:16px;background:linear-gradient(120deg,#180b29,#3c1550);color:#fff;padding:18px 28px}.ticket-brand img{width:75px;height:75px;object-fit:contain}.ticket-brand span{display:block;color:#ff9a3c;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem}.ticket-brand strong{font-family:var(--serif)}.ticket-premium .ticket-grid{padding:34px}.ticket-premium h1{color:#351244;font-size:3rem}.ticket-premium p{color:#473d4b}.ticket-person{font-family:var(--serif);font-size:1.55rem!important;color:#e45b18!important;font-weight:700}.qr-panel{text-align:center;align-self:center}.qr-panel svg{width:240px;max-width:100%;border-radius:12px;box-shadow:0 8px 25px rgba(0,0,0,.14)}.qr-panel small{display:block;color:#554b58;margin-top:9px}.ticket-cutline{border-top:2px dashed #cabdce}.ticket-terms{padding:0 34px}.ticket-actions{display:flex;gap:12px;padding:12px 34px 34px}.scanner-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:24px}.scanner-card{align-self:start}.scanner-card form{margin-top:22px}.scanner-card video{width:100%;min-height:300px;object-fit:cover;border-radius:18px;background:#050307}.scanner-card #scanner-camera{position:relative;margin-bottom:16px}.scan-frame{position:absolute;inset:15%;border:3px solid var(--orange);border-radius:22px;box-shadow:0 0 0 999px rgba(0,0,0,.25),0 0 24px rgba(255,122,26,.45);pointer-events:none}.scan-result.success{border-color:rgba(47,196,125,.65)}.scan-result.error{border-color:rgba(237,71,111,.65)}.notice.success{background:#123d2e;border-color:#267c59}@media(max-width:780px){.participant-row,.scanner-layout{grid-template-columns:1fr}.wallet-card{align-items:flex-start;flex-direction:column}.wallet-card .button{width:100%}.ticket-actions{flex-direction:column}.ticket-actions>*{width:100%}.ticket-premium .ticket-grid{padding:24px}.ticket-premium h1{font-size:2.2rem}}@media print{.print-ticket{padding:0}.ticket-premium{border:0}.ticket-brand{-webkit-print-color-adjust:exact;print-color-adjust:exact}.qr-panel svg{width:220px}.ticket-actions{display:none!important}}

/* v1.4.2 Professional Scan Experience */
.scanner-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.scanner-heading h1{margin-bottom:0}.scan-counter{min-width:190px;padding:15px 18px;border:1px solid rgba(255,137,42,.35);border-radius:18px;background:linear-gradient(135deg,rgba(255,122,26,.13),rgba(117,48,143,.18));box-shadow:0 15px 35px rgba(0,0,0,.18)}.scan-counter span{display:block;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.11em}.scan-counter strong{display:block;margin-top:5px;font-size:1.35rem;color:#fff}.scanner-layout-single{grid-template-columns:minmax(0,850px);justify-content:center}.scanner-live-label{position:absolute;left:18px;top:18px;display:flex;align-items:center;gap:8px;padding:8px 11px;border-radius:999px;background:rgba(8,5,12,.72);backdrop-filter:blur(10px);font-size:.77rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.scanner-live-label span{width:9px;height:9px;border-radius:50%;background:#41d58c;box-shadow:0 0 14px rgba(65,213,140,.9)}
.scan-feedback-overlay{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(5,2,8,.86);backdrop-filter:blur(15px);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.scan-feedback-overlay.is-visible{opacity:1;visibility:visible}.scan-feedback-card{position:relative;width:min(620px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:36px 30px 28px;border-radius:30px;text-align:center;color:#fff;border:2px solid rgba(255,255,255,.22);box-shadow:0 30px 100px rgba(0,0,0,.58);animation:scanFeedbackIn .3s cubic-bezier(.2,.85,.3,1.15)}.state-valid .scan-feedback-card,.state-checked-in .scan-feedback-card{background:radial-gradient(circle at top,#23885f 0,#105239 42%,#092e22 100%)}.state-used .scan-feedback-card{background:radial-gradient(circle at top,#b56b13 0,#6e3a08 46%,#3d2106 100%)}.state-invalid .scan-feedback-card,.state-not-found .scan-feedback-card{background:radial-gradient(circle at top,#a92749 0,#68162e 46%,#350b18 100%)}.scan-feedback-icon{display:grid;place-items:center;width:104px;height:104px;margin:0 auto 18px;border:4px solid rgba(255,255,255,.9);border-radius:50%;font-size:4.2rem;line-height:1;font-weight:900;box-shadow:0 0 0 12px rgba(255,255,255,.08),0 14px 42px rgba(0,0,0,.25)}.scan-feedback-kicker{display:block;text-transform:uppercase;letter-spacing:.17em;font-size:.72rem;font-weight:800;opacity:.78}.scan-feedback-card h2{margin:8px 0 9px;color:#fff;font-size:clamp(2.1rem,7vw,4.1rem);line-height:1;text-transform:uppercase}.scan-feedback-person{margin:8px 0 22px;font-family:var(--serif);font-size:clamp(1.6rem,5vw,2.35rem);font-weight:800}.scan-feedback-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 auto 18px;text-align:left}.scan-feedback-details>div{padding:13px 14px;border:1px solid rgba(255,255,255,.16);border-radius:15px;background:rgba(0,0,0,.14)}.scan-feedback-details span{display:block;margin-bottom:4px;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;opacity:.68}.scan-feedback-details strong{display:block;font-size:.98rem}.scan-feedback-message{margin:12px 0 18px;font-size:1.05rem;font-weight:700}.scan-feedback-actions{display:grid;gap:10px}.scan-feedback-actions form{margin:0}.scan-feedback-actions button{width:100%;min-height:58px;border-radius:16px;font-size:1.04rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.scan-primary-action{background:#fff!important;color:#211126!important;border-color:#fff!important}.scan-secondary-action{background:transparent!important;border:1px solid rgba(255,255,255,.42)!important;color:#fff!important}@keyframes scanFeedbackIn{from{opacity:0;transform:scale(.88) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:780px){.scanner-heading{align-items:stretch;flex-direction:column}.scan-counter{min-width:0}.scan-feedback-card{padding:28px 18px 20px;border-radius:24px}.scan-feedback-icon{width:86px;height:86px;font-size:3.5rem}.scan-feedback-details{grid-template-columns:1fr}.scan-feedback-card h2{font-size:2.45rem}}
.consent-box{margin:22px 0;display:grid;gap:14px}.check-row{display:flex!important;gap:14px;align-items:flex-start;padding:16px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.04);cursor:pointer}.check-row input{width:24px!important;height:24px!important;min-width:24px;margin:2px 0 0}.legal-page{max-width:900px;margin:70px auto;padding:32px}.legal-page h2{margin-top:32px}.status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.timeline{display:grid;gap:12px}.timeline-item{display:flex;justify-content:space-between;gap:16px;border-left:4px solid #f47721;padding:12px 16px;background:rgba(255,255,255,.04);border-radius:0 10px 10px 0}.timeline-item span{opacity:.75}@media (min-width:901px) and (max-width:1180px){
 .visitor-arrival-grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:36px}
 .visitor-arrival-copy h2{font-size:clamp(2.2rem,4.2vw,3.15rem)}
}

@media(max-width:900px){.status-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.status-grid{grid-template-columns:1fr}.timeline-item{display:block}.timeline-item span{display:block;margin-top:4px}}

/* v1.5.2.1 Ticketstatus card layout hotfix */
.status-grid .status-card{
  min-width:0;
  min-height:260px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  overflow:hidden;
}
.status-grid .status-card .status-value{
  width:100%;
  max-width:100%;
  margin:10px 0 18px;
  font-size:clamp(1.7rem,2.25vw,3.15rem);
  line-height:1.04;
  letter-spacing:-.035em;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}
.status-grid .status-card-ticket .status-value{
  font-size:clamp(1.55rem,2vw,2.7rem);
}
.status-grid .status-card .status-value-count{
  font-size:clamp(2.6rem,4vw,4rem);
  overflow-wrap:normal;
}
.status-grid .status-card p{
  margin-top:auto;
  margin-bottom:0;
  max-width:100%;
  overflow-wrap:anywhere;
}
@media(max-width:900px){
  .status-grid .status-card{min-height:220px}
  .status-grid .status-card .status-value,
  .status-grid .status-card-ticket .status-value{font-size:clamp(1.75rem,4.8vw,3rem)}
}
@media(max-width:560px){
  .status-grid .status-card{min-height:auto}
  .status-grid .status-card .status-value,
  .status-grid .status-card-ticket .status-value{font-size:clamp(1.65rem,8vw,2.6rem)}
  .status-grid .status-card p{margin-top:8px}
}


/* v1.5.3 UI polish: equal status cards and compact action buttons */
.status-grid{align-items:stretch}
.status-grid .card+.card{margin-top:0}
.status-grid .status-card{height:100%;min-height:260px}
.ticket-context{display:flex;flex-wrap:wrap;gap:8px 18px;margin:-16px 0 26px;color:var(--muted)}
.ticket-context strong{color:var(--text)}

/* Forms remain full-width, actions do not. */
form>button:not(.full),form>.button:not(.full){width:max-content;max-width:100%;justify-self:start}
.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}
.form-actions button,.form-actions .button{width:auto;min-width:0}
.button.compact,button.compact{padding:10px 17px;font-size:.86rem;border-radius:12px;box-shadow:0 8px 20px rgba(229,44,104,.18)}
.button.compact:hover,button.compact:hover{box-shadow:0 11px 24px rgba(229,44,104,.26)}
.action-card{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}
.action-card h2{margin-bottom:0}
.action-card form{display:block}
.table-wrap form{display:inline-flex;margin:0}
.table-wrap button{white-space:nowrap}

@media(max-width:560px){
  .status-grid .status-card{min-height:auto}
  .action-card{align-items:flex-start}
  .form-actions{align-items:stretch}
  .form-actions button,.form-actions .button{width:100%}
}

/* v1.5.4 - ticketrol vormgeving */
.ticket-page{max-width:1180px;margin:0 auto}
.roll-ticket{--paper:#f7ecd7;--paper-dark:#ead8b9;position:relative;display:grid;grid-template-columns:minmax(0,1fr) 310px;max-width:1080px;margin:30px auto;background:
radial-gradient(circle at 18% 15%,rgba(255,255,255,.62),transparent 18%),
linear-gradient(135deg,var(--paper),#fff8e8 52%,var(--paper-dark));color:#24152d;border:1px solid rgba(73,34,47,.22);border-radius:0;overflow:visible;box-shadow:0 38px 90px rgba(0,0,0,.48),0 8px 20px rgba(0,0,0,.18)}
.roll-ticket:before,.roll-ticket:after{content:"";position:absolute;left:18px;right:18px;height:14px;background:radial-gradient(circle at 7px 7px,#0b0712 0 6px,transparent 6.5px) repeat-x;background-size:20px 14px;z-index:3;pointer-events:none}
.roll-ticket:before{top:-7px}.roll-ticket:after{bottom:-7px}
.roll-ticket-main{position:relative;min-width:0;padding:34px 42px 38px;background:linear-gradient(90deg,rgba(255,255,255,.22),transparent)}
.roll-ticket-main:before,.roll-ticket-main:after,.roll-ticket-stub:before,.roll-ticket-stub:after{content:"";position:absolute;width:42px;height:42px;border-radius:50%;background:#0b0712;z-index:5}
.roll-ticket-main:before{left:-22px;top:-22px}.roll-ticket-main:after{left:-22px;bottom:-22px}
.roll-ticket-stub:before{right:-22px;top:-22px}.roll-ticket-stub:after{right:-22px;bottom:-22px}
.roll-ticket-brand{display:flex;align-items:center;gap:15px;padding-bottom:24px;border-bottom:1px solid rgba(78,42,50,.22)}
.roll-ticket-brand img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.12))}
.roll-ticket-brand span{display:block;color:#b94e16;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;font-weight:800}
.roll-ticket-brand strong{font-family:var(--serif);font-size:1.08rem;color:#2e1838}
.roll-ticket-copy{padding-top:25px}
.roll-ticket-copy .eyebrow{color:#a44b20}
.roll-ticket-copy h1{margin:8px 0 8px;color:#2e1838;font-size:clamp(2.35rem,5vw,4.2rem);line-height:.96;overflow-wrap:anywhere}
.roll-ticket-copy .ticket-person{margin:0 0 22px!important;color:#c85a1c!important;font-size:1.65rem!important}
.ticket-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 28px;margin:0}
.ticket-details div{min-width:0;padding-top:11px;border-top:1px dashed rgba(92,52,58,.24)}
.ticket-details dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#8e735f;font-weight:800}
.ticket-details dd{margin:3px 0 0;color:#2d2330;font-weight:700;overflow-wrap:anywhere}
.roll-ticket-stub{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 30px 32px;border-left:2px dashed rgba(80,48,57,.42);text-align:center;background:rgba(125,78,51,.045)}
.roll-ticket-stub:after{right:-22px;bottom:-22px}
.roll-ticket-stub .qr-panel{width:100%;margin:18px 0 12px}
.roll-ticket-stub .qr-panel svg{display:block;width:220px;max-width:100%;margin:0 auto;padding:10px;background:#fff;border-radius:8px;box-shadow:0 9px 24px rgba(49,30,33,.18)}
.roll-ticket-status{font-weight:800;padding:7px 13px}
.stub-number{display:block;max-width:100%;font-family:var(--serif);font-size:1.02rem;color:#7b321b;overflow-wrap:anywhere}
.roll-ticket-stub small{display:block;max-width:210px;margin-top:9px;color:#5d4c4b;line-height:1.4}
.ticket-aftercare{max-width:1080px;margin:22px auto 0;padding:22px 25px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#21142f,#160e22);text-align:center}
.ticket-aftercare p{margin:0;color:var(--muted)}
.ticket-aftercare .ticket-actions{justify-content:center;padding:16px 0 0}

@media(max-width:860px){
  .roll-ticket{grid-template-columns:1fr;max-width:680px}
  .roll-ticket-stub{border-left:0;border-top:2px dashed rgba(80,48,57,.42);padding-top:35px}
  .roll-ticket-main:after,.roll-ticket-stub:after{display:none}
  .roll-ticket-main:before{left:-22px;top:-22px}
  .roll-ticket-stub:before{right:-22px;top:-22px}
  .roll-ticket-stub .qr-panel svg{width:205px}
}
@media(max-width:560px){
  .print-ticket{padding:28px 13px}
  .roll-ticket-main{padding:29px 25px 32px}
  .roll-ticket-brand{align-items:flex-start}
  .roll-ticket-brand img{width:58px;height:58px}
  .roll-ticket-brand strong{font-size:.92rem}
  .ticket-details{grid-template-columns:1fr}
  .roll-ticket-copy h1{font-size:2.25rem}
  .ticket-aftercare .ticket-actions{align-items:stretch}
}

/* v1.6.0 Premium Experience Ã¢â‚¬â€ restrained motion, atmosphere and mobile polish */
:root{
  --ease-premium:cubic-bezier(.2,.72,.24,1);
  --glow-soft:0 0 0 1px rgba(255,154,60,.08),0 18px 46px rgba(0,0,0,.3),0 0 38px rgba(255,122,26,.08);
}
html{background:var(--bg)}
body{position:relative;isolation:isolate;overflow-x:hidden}
body>main,body>.topbar,body>.site-footer,body>.flash{position:relative;z-index:2}
body.is-page-ready{animation:premiumPageIn .48s var(--ease-premium) both}
body.is-page-leaving{animation:premiumPageOut .2s ease both;pointer-events:none}
@keyframes premiumPageIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes premiumPageOut{to{opacity:0;transform:translateY(4px)}}

.ambient-layer{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:.92}
.ambient-mist{position:absolute;width:72vw;height:22vh;min-height:150px;border-radius:50%;filter:blur(52px);opacity:.14;will-change:transform;background:radial-gradient(ellipse at center,rgba(210,165,235,.55),rgba(123,58,160,.2) 42%,transparent 72%)}
.ambient-mist-one{left:-18vw;bottom:4vh;animation:mistDriftOne 24s ease-in-out infinite alternate}
.ambient-mist-two{right:-22vw;top:24vh;opacity:.09;animation:mistDriftTwo 31s ease-in-out infinite alternate}
@keyframes mistDriftOne{from{transform:translate3d(-3vw,0,0) scale(1)}to{transform:translate3d(24vw,-3vh,0) scale(1.18)}}
@keyframes mistDriftTwo{from{transform:translate3d(5vw,0,0) scale(1.1)}to{transform:translate3d(-21vw,4vh,0) scale(.94)}}
.ambient-web{position:absolute;width:220px;height:220px;opacity:.075;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.75) 0 1deg,transparent 1deg 15deg);border-radius:50%;mask-image:radial-gradient(circle at center,transparent 0 13%,#000 14% 18%,transparent 19% 31%,#000 32% 34%,transparent 35% 49%,#000 50% 52%,transparent 53%);-webkit-mask-image:radial-gradient(circle at center,transparent 0 13%,#000 14% 18%,transparent 19% 31%,#000 32% 34%,transparent 35% 49%,#000 50% 52%,transparent 53%)}
.ambient-web-left{left:-92px;top:105px;transform:rotate(8deg)}
.ambient-web-right{right:-100px;bottom:65px;transform:rotate(195deg)}

.topbar{box-shadow:0 12px 34px rgba(0,0,0,.12)}
.button,button{position:relative;overflow:hidden;isolation:isolate;transition:transform .22s var(--ease-premium),box-shadow .28s ease,filter .22s ease,border-color .22s ease}
.button:before,button:before{content:"";position:absolute;z-index:-1;inset:-2px;opacity:0;background:radial-gradient(circle at 50% 110%,rgba(255,195,101,.52),transparent 58%);transition:opacity .28s ease}
.button:hover:before,button:hover:before,.button:focus-visible:before,button:focus-visible:before{opacity:1}
.button:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--orange2);outline-offset:3px}

.card,.event-card,.ticket-card,.feature-card,.status-card,.action-card,.ticket-aftercare,.roll-ticket{transition:transform .42s var(--ease-premium),border-color .35s ease,box-shadow .42s ease,filter .35s ease}
.card:hover,.ticket-card:hover,.feature-card:hover,.status-card:hover,.action-card:hover{transform:translateY(-4px);border-color:rgba(255,154,60,.24);box-shadow:var(--glow-soft)}
.event-card:after{content:"";position:absolute;inset:auto -12% -34% 34%;height:64%;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(255,122,26,.24),rgba(229,44,104,.08) 38%,transparent 70%);filter:blur(18px);opacity:0;transform:translateY(18px) scale(.88);transition:opacity .5s ease,transform .6s var(--ease-premium)}
.event-card:hover:after,.event-card:focus-within:after{opacity:1;transform:translateY(0) scale(1)}
.event-card:hover{transform:translateY(-6px);border-color:rgba(255,154,60,.3);box-shadow:0 34px 80px rgba(0,0,0,.46),0 0 48px rgba(255,122,26,.11)}

.reveal-on-scroll{opacity:0;transform:translateY(24px);filter:blur(2px)}
.reveal-on-scroll.is-visible{opacity:1;transform:none;filter:none;transition:opacity .72s var(--ease-premium),transform .72s var(--ease-premium),filter .72s ease}
.reveal-on-scroll[data-reveal-delay="1"]{transition-delay:.06s}
.reveal-on-scroll[data-reveal-delay="2"]{transition-delay:.12s}
.reveal-on-scroll[data-reveal-delay="3"]{transition-delay:.18s}
.reveal-on-scroll[data-reveal-delay="4"]{transition-delay:.24s}

.roll-ticket:hover{transform:translateY(-4px) rotateX(.35deg);box-shadow:0 44px 100px rgba(0,0,0,.52),0 0 44px rgba(255,122,26,.08)}
.roll-ticket-stub .qr-panel svg{transition:transform .35s var(--ease-premium),box-shadow .35s ease}
.roll-ticket:hover .qr-panel svg{transform:scale(1.018);box-shadow:0 13px 30px rgba(49,30,33,.22)}

@media(max-width:780px){
  .ambient-web{width:160px;height:160px;opacity:.055}
  .ambient-mist{width:105vw;height:16vh;filter:blur(42px)}
  .section{padding:76px 0}
  .card:hover,.ticket-card:hover,.feature-card:hover,.status-card:hover,.action-card:hover,.event-card:hover,.roll-ticket:hover{transform:none}
  .button,button{min-height:44px}
}
@media(max-width:560px){
  .wrap{width:min(100% - 28px,1180px)}
  .section{padding:62px 0}
  .topbar{padding-left:14px;padding-right:14px}
  .main-nav.is-open{box-shadow:0 28px 60px rgba(0,0,0,.45)}
  .card,.ticket-card,.feature-card,.action-card,.ticket-aftercare{border-radius:18px}
  .ambient-web-right{display:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .ambient-mist{display:none}
  .reveal-on-scroll{opacity:1;transform:none;filter:none}
}


/* v1.6.1 Hero Polish Ã¢â‚¬â€ restored overlapping logo and cinematic split title */
.home-page .topbar{
  overflow:visible;
}
.home-page .brand-logo{
  position:relative;
  z-index:65;
  min-width:205px;
  align-self:stretch;
}
.home-page .brand-logo img{
  top:8px;
  left:0;
  width:205px;
  height:205px;
  transform:translateX(-18px);
  transform-origin:top left;
}
.home-page .topbar:not(.is-scrolled) .brand-logo img{
  filter:drop-shadow(0 20px 34px rgba(0,0,0,.46)) drop-shadow(0 0 22px rgba(255,122,26,.2));
}
.home-page .topbar.is-scrolled .brand-logo{
  min-width:132px;
}
.home-page .topbar.is-scrolled .brand-logo img{
  left:0;
  top:6px;
  width:60px;
  height:60px;
  transform:none;
}
.home-page .hero-inner{
  padding-top:126px;
}
.hero-title{
  display:flex;
  flex-direction:column;
  width:min(100%,760px);
  font-size:clamp(2.85rem,5.9vw,5.9rem)!important;
  line-height:.98;
  letter-spacing:-.04em;
}
.hero-title-line{
  display:block;
  width:100%;
}
.hero-title-line-left{
  align-self:flex-start;
  text-align:left;
  transform:translateX(-22px);
}
.hero-title-line-right{
  align-self:flex-end;
  text-align:right;
  transform:translateX(34px);
  margin-top:.08em;
}
body.is-page-ready .hero-title-line-left{
  animation:heroLineFromLeft .85s var(--ease-premium) .08s both;
}
body.is-page-ready .hero-title-line-right{
  animation:heroLineFromRight .9s var(--ease-premium) .2s both;
}
@keyframes heroLineFromLeft{
  from{opacity:0;transform:translateX(-54px)}
  to{opacity:1;transform:translateX(-22px)}
}
@keyframes heroLineFromRight{
  from{opacity:0;transform:translateX(70px)}
  to{opacity:1;transform:translateX(34px)}
}
@media(max-width:1100px){
  .home-page .brand-logo{min-width:180px}
  .home-page .brand-logo img{width:180px;height:180px}
  .hero-title-line-left{transform:translateX(-10px)}
  .hero-title-line-right{transform:translateX(20px)}
  @keyframes heroLineFromLeft{from{opacity:0;transform:translateX(-42px)}to{opacity:1;transform:translateX(-10px)}}
  @keyframes heroLineFromRight{from{opacity:0;transform:translateX(52px)}to{opacity:1;transform:translateX(20px)}}
}
@media(max-width:780px){
  .home-page .brand-logo,.home-page .topbar.is-scrolled .brand-logo{min-width:auto;align-self:auto}
  .home-page .brand-logo img,.home-page .topbar.is-scrolled .brand-logo img{position:static;width:58px;height:58px;transform:none}
  .home-page .hero-inner{padding-top:82px}
  .hero-title{font-size:clamp(2.45rem,10.5vw,4.4rem)!important;width:100%}
  .hero-title-line-left{transform:none;text-align:left}
  .hero-title-line-right{transform:none;text-align:right;margin-top:.13em}
  @keyframes heroLineFromLeft{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
  @keyframes heroLineFromRight{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
}
@media(max-width:480px){
  .hero-title{font-size:clamp(2.25rem,10vw,3.4rem)!important}
  .hero-title-line-right{padding-left:12%}
}
@media(prefers-reduced-motion:reduce){
  .hero-title-line-left,.hero-title-line-right{animation:none!important;opacity:1}
}

/* v1.7.0 Story Experience Ã¢â‚¬â€ All Hallows Eve */
.home-page .topbar{position:relative;z-index:50;overflow:visible!important}
.home-page .brand-logo{position:relative!important;z-index:90!important;align-self:flex-start!important;min-width:225px!important;height:86px}
.home-page .brand-logo img{position:absolute!important;top:7px!important;left:0!important;width:220px!important;height:220px!important;max-width:none!important;transform:translate(-24px,0)!important;transform-origin:top left!important;z-index:100!important;pointer-events:none}
.home-page .topbar.is-scrolled .brand-logo{min-width:150px!important;height:64px}
.home-page .topbar.is-scrolled .brand-logo img{top:4px!important;width:62px!important;height:62px!important;transform:none!important}
.home-page .story-hero{min-height:760px}
.home-page .story-hero .hero-inner{padding-top:172px!important;padding-bottom:110px}
.story-hero-copy{max-width:870px}
.story-prologue{display:flex;flex-direction:column;gap:4px;margin:18px 0 20px;color:rgba(245,237,249,.72);font-family:var(--serif);font-size:clamp(1.12rem,1.8vw,1.55rem);letter-spacing:.02em}
.story-prologue span:last-child{padding-left:9%;color:#fff}
.story-title{display:block!important;width:min(100%,880px)!important;font-size:clamp(3rem,6.15vw,6.2rem)!important;line-height:.91!important}
.story-title span,.story-title em{display:block}
.story-title span{text-align:left}
.story-title em{padding-left:12%;text-align:left;color:var(--orange2)}
.story-hero-copy>p{max-width:690px;font-size:1.08rem}
.legend-section{position:relative;padding-top:110px;background:linear-gradient(180deg,rgba(13,8,19,.2),rgba(13,8,19,.88) 18%,rgba(13,8,19,.98))}
.legend-intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:44px;align-items:end;margin-bottom:62px}
.legend-intro .eyebrow{grid-column:1/-1}
.legend-intro h2{max-width:760px;margin:0;font-size:clamp(3rem,6vw,6rem);line-height:.93}
.legend-intro p{margin:0 0 8px;color:var(--muted);font-size:1.08rem;line-height:1.75}
.legend-chapters{position:relative;max-width:1040px;margin:0 auto}
.legend-chapters:before{content:"";position:absolute;left:42px;top:20px;bottom:20px;width:1px;background:linear-gradient(transparent,var(--orange),rgba(229,44,104,.65),transparent)}
.legend-chapter{position:relative;display:grid;grid-template-columns:86px 1fr;gap:30px;padding:38px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.chapter-number{position:relative;z-index:1;display:grid;place-items:center;width:86px;height:86px;border:1px solid rgba(255,154,60,.28);border-radius:50%;background:#100918;color:var(--orange2);font:700 2.2rem/1 var(--serif);box-shadow:0 0 32px rgba(255,122,26,.08)}
.legend-chapter small{display:block;margin:5px 0 9px;color:var(--orange2);font-weight:800;text-transform:uppercase;letter-spacing:.18em}
.legend-chapter h3{margin:0 0 12px;font-size:clamp(2rem,3.5vw,3.5rem);line-height:1}
.legend-chapter p{max-width:760px;margin:0;color:var(--muted);font-size:1.04rem;line-height:1.75}
.legend-quote{padding-top:52px;padding-bottom:52px}
.legend-quote blockquote{max-width:800px;margin:0;color:#fff;font:italic clamp(2rem,4vw,4.1rem)/1.12 var(--serif);text-wrap:balance}
.legend-finale{display:flex;flex-direction:column;align-items:center;margin-top:70px;padding:54px 26px;border:1px solid rgba(255,154,60,.16);border-radius:28px;background:radial-gradient(circle at 50% 120%,rgba(255,122,26,.16),transparent 55%),rgba(26,15,38,.72);text-align:center}
.legend-finale span{color:var(--orange2);font-weight:800;text-transform:uppercase;letter-spacing:.18em}
.legend-finale strong{margin:10px 0 20px;font:700 clamp(2.4rem,5vw,5rem)/1 var(--serif)}
.story-events-heading{grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr)!important;align-items:center!important;margin-bottom:76px!important}
.story-events-heading h2{max-width:790px;font-size:clamp(3rem,5.6vw,5.7rem);line-height:.94}
.story-events-heading>p{max-width:470px;justify-self:end;line-height:1.75}
.story-callout strong{font-size:clamp(2.5rem,4vw,4.4rem)}
@media(max-width:1000px){
 .home-page .brand-logo{min-width:190px!important}
 .home-page .brand-logo img{width:190px!important;height:190px!important;transform:translate(-17px,0)!important}
 .legend-intro,.story-events-heading{grid-template-columns:1fr!important;gap:22px}
 .story-events-heading>p{justify-self:start}
}
@media(max-width:780px){
 .home-page .brand-logo,.home-page .topbar.is-scrolled .brand-logo{height:auto;min-width:auto!important;align-self:auto!important}
 .home-page .brand-logo img,.home-page .topbar.is-scrolled .brand-logo img{position:static!important;width:58px!important;height:58px!important;transform:none!important}
 .home-page .story-hero{min-height:auto}
 .home-page .story-hero .hero-inner{padding-top:100px!important;padding-bottom:82px}
 .story-title{font-size:clamp(2.65rem,11vw,4.5rem)!important}
 .story-title em{padding-left:5%}
 .story-prologue span:last-child{padding-left:4%}
 .legend-section{padding-top:80px}
 .legend-intro{margin-bottom:36px}
 .legend-chapters:before{left:27px}
 .legend-chapter{grid-template-columns:56px 1fr;gap:18px;padding:28px 0}
 .chapter-number{width:56px;height:56px;font-size:1.45rem}
 .legend-quote blockquote{font-size:clamp(1.8rem,7vw,3rem)}
 .story-events-heading{margin-bottom:46px!important}
}
@media(max-width:500px){
 .story-title em{padding-left:0}
 .story-prologue{font-size:1rem}
 .legend-chapter{grid-template-columns:1fr}
 .legend-chapters:before{display:none}
 .chapter-number{width:48px;height:48px}
 .legend-finale{padding:42px 18px}
}

/* v2.0 All Hallows Eve Experience */
.ticket-grid-three{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.ticket-card-combi{position:relative;border-color:rgba(235,177,74,.75);box-shadow:0 0 0 1px rgba(235,177,74,.22),0 24px 60px rgba(0,0,0,.35)}.ticket-card-combi:before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:radial-gradient(circle at 50% 0,rgba(235,177,74,.2),transparent 52%);pointer-events:none}.ticket-ribbon{display:inline-flex;background:#e6ad45;color:#24130a;padding:.38rem .72rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.ticket-card-combi>.ticket-ribbon{position:absolute;top:-13px;right:18px}.ticket-ribbon.inline{position:static;margin-bottom:12px}.ticket-choice-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 28px}.ticket-choice-guide div{padding:16px 18px;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(255,255,255,.035)}.ticket-choice-guide strong,.ticket-choice-guide span{display:block}.ticket-choice-guide span{margin-top:5px;color:var(--muted,#c9bdd3)}.ticket-selector-links{display:flex;gap:10px;flex-wrap:wrap}.combi-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.combi-total{font-size:2rem;white-space:nowrap}.combi-total small{display:block;font-size:.8rem;text-align:right;font-weight:500}.hero-facts span{max-width:230px}.event-card-family{background:linear-gradient(145deg,rgba(86,45,95,.72),rgba(34,17,47,.92))}.event-card-dark{background:linear-gradient(145deg,rgba(49,20,20,.82),rgba(20,10,25,.96))}
@media(max-width:900px){.ticket-grid-three,.ticket-choice-guide{grid-template-columns:1fr}.combi-heading{display:block}.combi-total{display:block;margin-top:16px}.combi-total small{text-align:left}}

/* Sprint 3 Ã¢â‚¬â€œ uniforme Story Experience kaarten */
.event-grid{align-items:stretch}.event-card{display:flex;min-height:100%;overflow:hidden}.event-card .event-content{display:flex;flex:1;flex-direction:column}.event-card .event-content>p{flex:1}.event-card .text-link{margin-top:24px}.event-date,.ticket-top span{letter-spacing:.08em}.event-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.event-meta span{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.045);font-size:.78rem;font-weight:700}.ticket-card{display:flex;flex-direction:column;min-height:100%}.ticket-card>p{flex:1;line-height:1.7}.ticket-card .ticket-price{margin-top:22px}.ticket-card .button{margin-top:20px}.ticket-card-combi{transform:translateY(-8px);background:linear-gradient(165deg,rgba(65,39,25,.92),rgba(24,13,30,.98))}.ticket-card-combi .ticket-top{padding-right:90px}.ticket-card-combi h3:after{content:"Complete Story Experience";display:block;margin-top:8px;color:#e6ad45;font-family:var(--sans);font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.ticket-choice-guide div{height:100%}
@media(max-width:900px){.ticket-card-combi{transform:none}.ticket-card-combi .ticket-top{padding-right:0}}

/* Sprint 4 Ã¢â‚¬â€ Ticket Experience */
.ticket-checkout{position:relative}.ticket-checkout-content{max-width:1220px}.checkout-intro{display:flex;justify-content:space-between;gap:32px;align-items:flex-end;margin-bottom:24px}.checkout-intro>div:first-child{max-width:760px}.checkout-intro h1{margin:.3rem 0 .7rem}.checkout-intro p{max-width:720px}.checkout-progress{display:flex;gap:8px;flex-wrap:wrap}.checkout-progress span{padding:.55rem .8rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.78rem}.checkout-progress .is-active{background:rgba(230,173,69,.13);border-color:rgba(230,173,69,.52);color:#f4cf83}.experience-switcher{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 22px}.experience-option{display:grid;gap:4px;padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.035);color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.experience-option:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.28)}.experience-option small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.67rem}.experience-option strong{font-family:var(--serif);font-size:1.2rem}.experience-option span{font-size:.83rem;color:#ded2e4}.experience-option.is-current{border-color:rgba(255,135,46,.7);background:linear-gradient(145deg,rgba(126,53,31,.28),rgba(255,255,255,.04));box-shadow:0 14px 38px rgba(0,0,0,.18)}.experience-option-combi.is-current{border-color:rgba(230,173,69,.78);background:linear-gradient(145deg,rgba(128,87,24,.28),rgba(255,255,255,.04))}.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px;align-items:start}.checkout-main{display:grid;gap:20px}.checkout-card{padding:25px}.checkout-card-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}.checkout-card-heading h2,.checkout-card-heading p{margin:0}.checkout-card-heading p{margin-top:5px;color:var(--muted)}.checkout-step-number{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#e56b27,#a42d43);font-weight:800;color:#fff}.checkout-timeslots{margin:0}.quantity-control{display:flex;align-items:center;gap:8px;margin-bottom:20px}.quantity-control input{width:76px;text-align:center;margin:0}.quantity-control span{margin-left:6px;color:var(--muted)}.quantity-button{display:grid;place-items:center;width:42px;height:42px;padding:0;border-radius:12px;font-size:1.35rem}.participant-list{padding:0;border:0;background:transparent}.participant-row{padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);animation:participantIn .22s ease both}.participant-row label{font-size:.82rem}.story-promise{position:relative;overflow:hidden;padding:30px;border:1px solid rgba(255,255,255,.11);border-radius:22px;background:radial-gradient(circle at 100% 0,rgba(229,107,39,.19),transparent 46%),linear-gradient(145deg,rgba(54,23,62,.88),rgba(20,10,29,.96))}.story-promise:after{content:"";position:absolute;right:-50px;bottom:-80px;width:220px;height:220px;border:1px solid rgba(255,255,255,.07);border-radius:50%}.story-promise h2{margin:.35rem 0 .6rem}.story-promise p{margin:0;max-width:720px}.checkout-summary{position:sticky;top:100px;padding:24px;border-color:rgba(255,255,255,.16);box-shadow:0 24px 65px rgba(0,0,0,.3)}.summary-kicker{display:block;margin-top:6px;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.checkout-summary h2{margin:.45rem 0 1rem}.summary-experience-meta{display:grid;gap:7px;padding-bottom:18px;border-bottom:1px solid var(--line);font-size:.88rem}.summary-timeslots{display:grid;gap:9px;padding:18px 0;border-bottom:1px solid var(--line)}.summary-timeslots p{margin:0;color:var(--muted);font-size:.86rem}.summary-timeslots div{display:grid;gap:3px}.summary-timeslots strong{font-size:.8rem}.summary-timeslots span{font-size:.82rem;color:var(--muted)}.summary-price-row,.summary-total{display:flex;justify-content:space-between;gap:16px}.summary-price-row{padding:18px 0 11px;color:var(--muted);font-size:.88rem}.summary-total{align-items:end;padding-bottom:18px}.summary-total strong{font-family:var(--serif);font-size:2rem;color:#f0bd62}.checkout-submit{width:100%;padding:15px}.summary-note{font-size:.78rem;text-align:center;color:var(--muted)}.checkout-trust{display:grid;grid-template-columns:1fr;gap:6px;padding-top:14px;border-top:1px solid var(--line);font-size:.76rem;color:#cfc2d7}.empty-state{text-align:center;padding:45px}.ticket-experience-family .checkout-step-number{background:linear-gradient(135deg,#da7833,#8b3f69)}.ticket-experience-combi .checkout-step-number{background:linear-gradient(135deg,#e6ad45,#8c4a20)}
@keyframes participantIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:980px){.checkout-layout{grid-template-columns:1fr}.checkout-summary{position:static;order:-1}.checkout-intro{align-items:flex-start;flex-direction:column}.experience-switcher{grid-template-columns:1fr}.checkout-progress{display:none}}
@media(max-width:680px){.ticket-checkout-content{padding-left:14px;padding-right:14px}.checkout-card,.checkout-summary,.story-promise{padding:19px}.participant-row{grid-template-columns:1fr}.form-grid.checkout-timeslots{grid-template-columns:1fr}.experience-option{padding:15px}.checkout-intro h1{font-size:2rem}.quantity-control{flex-wrap:wrap}.quantity-control span{width:100%;margin:3px 0 0}.checkout-submit{position:sticky;bottom:10px;z-index:2;box-shadow:0 10px 30px rgba(0,0,0,.35)}}

/* Sprint 6 Ã¢â‚¬â€ Beheer & Organisatie */
.page-heading-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading-actions h1{margin:.2rem 0 0}.button-primary,.button-secondary,.button-danger{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;border-radius:10px;padding:12px 18px;font-weight:700;cursor:pointer}.button-primary{background:var(--accent,#f47721);color:#fff}.button-secondary{background:rgba(255,255,255,.08);color:inherit;border:1px solid rgba(255,255,255,.15)}.button-danger{background:#a92d38;color:#fff}.ticket-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 20px}.ticket-kpis a{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.04);text-decoration:none;color:inherit}.ticket-kpis span{font-size:.82rem;opacity:.72}.ticket-kpis strong{font-size:1.7rem}.ticket-search{display:grid;grid-template-columns:minmax(240px,1fr) 190px auto;gap:10px}.ticket-search select{width:100%;padding:11px 12px;border-radius:10px}.table-wrap td small{display:block;margin-top:4px;opacity:.65}.danger-zone{border-color:rgba(224,75,87,.45)!important}.danger-zone summary{cursor:pointer;display:flex;flex-direction:column;gap:4px}.danger-zone summary span{font-size:.88rem;font-weight:400;opacity:.7}.danger-form{display:grid;gap:16px;margin-top:20px}.danger-form label{display:grid;gap:8px}.danger-form textarea,.danger-form input[type=text],.danger-form input:not([type]){width:100%;box-sizing:border-box}.danger-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start}.checkin-overview{display:grid;grid-template-columns:1.1fr 2fr;gap:18px;margin:26px 0 30px}.checkin-hero,.checkin-metrics{border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(255,255,255,.045)}.checkin-hero{display:flex;flex-direction:column;padding:24px}.checkin-hero span,.checkin-hero small,.checkin-metrics span{opacity:.7}.checkin-hero strong{font-size:3.4rem;line-height:1;margin:.4rem 0}.checkin-metrics{display:grid;grid-template-columns:repeat(3,1fr)}.checkin-metrics div{padding:24px;border-right:1px solid rgba(255,255,255,.09)}.checkin-metrics div:last-child{border-right:0}.checkin-metrics strong{display:block;font-size:2rem;margin-top:8px}.event-attendance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:32px}.attendance-card{display:grid;gap:15px}.attendance-card h3{margin:.25rem 0 0}.attendance-numbers{display:flex;align-items:baseline;gap:8px}.attendance-numbers strong{font-size:1.8rem}.attendance-numbers span,.attendance-card small{opacity:.7}.attendance-track{height:10px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden}.attendance-track i{display:block;height:100%;border-radius:inherit;background:var(--accent,#f47721)}
@media(max-width:800px){.page-heading-actions{flex-direction:column}.ticket-kpis{grid-template-columns:repeat(2,1fr)}.ticket-search{grid-template-columns:1fr}.checkin-overview{grid-template-columns:1fr}.checkin-metrics{grid-template-columns:1fr}.checkin-metrics div{border-right:0;border-bottom:1px solid rgba(255,255,255,.09)}.checkin-metrics div:last-child{border-bottom:0}.event-attendance-grid{grid-template-columns:1fr}}

/* Sprint 7 Ã¢â‚¬â€ Klanten & Vrijwilligers */
.volunteer-hero{padding:150px 0 84px;background:radial-gradient(circle at 75% 20%,rgba(244,119,33,.18),transparent 35%),linear-gradient(180deg,rgba(15,8,23,.48),#100918)}.volunteer-hero h1{max-width:900px;margin:.5rem 0 1rem;font-size:clamp(3rem,7vw,6.5rem);line-height:.92}.volunteer-hero h1 em{display:block;color:var(--orange2)}.volunteer-hero p{max-width:720px;color:var(--muted);font-size:1.08rem;line-height:1.75}.volunteer-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);gap:34px;align-items:start}.volunteer-story{position:sticky;top:110px}.volunteer-story h2{font-size:clamp(2.4rem,4vw,4rem);margin:.4rem 0 1rem}.volunteer-story>p{color:var(--muted);line-height:1.75}.volunteer-role-list{display:grid;gap:10px;margin-top:24px}.volunteer-role-list div{display:grid;gap:3px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03)}.volunteer-role-list span{color:var(--muted);font-size:.84rem}.volunteer-form-card{padding:28px}.volunteer-form-card form{display:grid;gap:16px}.volunteer-form-card label{display:grid;gap:7px}.privacy-check{grid-template-columns:auto 1fr!important;align-items:start}.privacy-check input{width:auto;margin-top:4px}.volunteer-admin-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:20px}.volunteer-admin-grid:has(.volunteer-detail){grid-template-columns:minmax(0,1.5fr) minmax(300px,.75fr)}.volunteer-detail{position:sticky;top:100px}.volunteer-detail dl{display:grid;grid-template-columns:110px 1fr;gap:9px 14px}.volunteer-detail dt{color:var(--muted);font-size:.82rem}.volunteer-detail dd{margin:0}.volunteer-detail form{display:grid;gap:14px;margin-top:22px}.status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.08);font-size:.74rem;font-weight:800}.status-approved,.status-scheduled{background:rgba(48,163,96,.18);color:#9be0b5}.status-rejected{background:rgba(204,63,79,.18);color:#ffacb6}.status-new{background:rgba(244,119,33,.18);color:#ffc08b}.customer-delete summary{cursor:pointer;color:#ff9ca7}.customer-delete form{display:grid;gap:10px;min-width:290px;padding:14px;margin-top:8px;border:1px solid rgba(224,75,87,.35);border-radius:12px;background:#1b0d1d}.customer-delete p{margin:0;color:var(--muted);font-size:.82rem}.customer-delete label{display:grid;gap:5px;font-size:.78rem}
@media(max-width:980px){.volunteer-layout{grid-template-columns:1fr}.volunteer-story{position:static}.volunteer-admin-grid:has(.volunteer-detail){grid-template-columns:1fr}.volunteer-detail{position:static}}@media(max-width:680px){.volunteer-hero{padding-top:105px}.volunteer-form-card{padding:19px}.volunteer-form-card .form-grid{grid-template-columns:1fr}.volunteer-detail dl{grid-template-columns:1fr}.volunteer-detail dt{margin-top:8px}}

/* Sprint 8 Ã¢â‚¬â€ Marketing & Verkoop */
.discount-entry{border-color:rgba(240,189,98,.28)}.discount-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.discount-code-row input{text-transform:uppercase;letter-spacing:.08em}.discount-code-row span{color:var(--muted);font-size:.78rem}.summary-discount-row{display:flex;justify-content:space-between;gap:16px;padding:0 0 14px;color:#f0bd62;font-size:.84rem}.marketing-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 24px}.marketing-kpis .stat{min-height:96px}.discount-admin-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:20px;align-items:start}.discount-form{position:sticky;top:100px}.discount-form form{display:grid;gap:14px}.discount-form label{display:grid;gap:7px}.discount-form .form-grid{grid-template-columns:1fr 1fr}.discount-code-cell strong{display:block;letter-spacing:.08em}.discount-code-cell small{opacity:.65}.discount-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:800}.discount-status.active{background:rgba(48,163,96,.18);color:#9be0b5}.discount-status.inactive,.discount-status.expired{background:rgba(204,63,79,.18);color:#ffacb6}.discount-status.upcoming{background:rgba(244,119,33,.18);color:#ffc08b}.newsletter-band{padding:34px;border:1px solid rgba(240,189,98,.2);border-radius:22px;background:radial-gradient(circle at 100% 0,rgba(229,107,39,.18),transparent 45%),rgba(255,255,255,.03)}.newsletter-band form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;margin-top:20px}.newsletter-band h2{margin:.35rem 0}.newsletter-band p{max-width:720px;color:var(--muted)}
@media(max-width:980px){.discount-admin-layout{grid-template-columns:1fr}.discount-form{position:static}.marketing-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.discount-code-row,.newsletter-band form{grid-template-columns:1fr}.discount-form .form-grid{grid-template-columns:1fr}.marketing-kpis{grid-template-columns:1fr 1fr}}

.order-financial-summary{display:grid;gap:10px;max-width:480px;margin:0 0 24px}.order-financial-summary>div{display:flex;justify-content:space-between;gap:16px}.order-financial-summary .discount{color:#f0bd62}.order-financial-summary .total{padding-top:12px;border-top:1px solid var(--line);font-size:1.12rem}

/* Sprint 8.1 Ã¢â‚¬â€ professionele kortingscodepagina */
.discount-page{min-width:0}.discount-page-heading{align-items:flex-start}.discount-page-heading .button-primary{white-space:nowrap}.discount-kpis .stat strong{font-size:1.65rem}.discount-kpis .stat small{display:block;margin-top:5px;color:var(--muted);font-size:.74rem}.discount-list-card{padding:0;overflow:hidden}.discount-list-toolbar{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:24px 26px;border-bottom:1px solid var(--line)}.discount-list-toolbar h2{font-size:1.55rem;margin:.3rem 0 0}.discount-search{display:grid;gap:6px;min-width:min(360px,100%);font-size:.74rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.discount-search input{width:100%}.discount-table{min-width:1040px}.discount-table th,.discount-table td{vertical-align:middle}.discount-table td small{display:block;margin-top:4px;color:var(--muted);font-size:.73rem}.discount-table .date-separator{display:inline-block;margin:0 4px;color:var(--muted)}.discount-table .table-actions{text-align:right;white-space:nowrap}.button-small{padding:8px 12px;font-size:.78rem}.discount-empty{display:grid;gap:4px;text-align:center;padding:42px 20px}.discount-empty span{color:var(--muted)}
.discount-drawer-backdrop{position:fixed;inset:0;z-index:80;background:rgba(3,0,8,.66);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}.discount-drawer-backdrop.is-open{opacity:1;visibility:visible}.discount-drawer{position:fixed;z-index:81;top:0;right:0;width:min(620px,100vw);height:100dvh;background:#130b1d;border-left:1px solid rgba(240,189,98,.2);box-shadow:-24px 0 70px rgba(0,0,0,.55);transform:translateX(102%);visibility:hidden;transition:transform .28s var(--ease-premium),visibility .28s;overflow-y:auto}.discount-drawer.is-open{transform:none;visibility:visible}.discount-drawer-header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:24px;padding:28px 30px 22px;background:rgba(19,11,29,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.discount-drawer-header h2{margin:.25rem 0 .4rem;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.02;overflow-wrap:anywhere}.discount-drawer-header p{margin:0;color:var(--muted);font-size:.9rem}.discount-drawer-close{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;color:#fff;font-size:1.8rem;line-height:1;text-decoration:none;background:rgba(255,255,255,.04)}.discount-drawer-form{padding:26px 30px 12px;display:grid;gap:18px}.discount-form-section{padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}.discount-form-section h3{margin:0 0 18px;font-size:1rem}.discount-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.discount-form-grid label{display:grid;gap:7px;min-width:0}.discount-form-grid .field-full{grid-column:1/-1}.discount-form-grid input,.discount-form-grid select{width:100%;min-width:0}.discount-form-grid label>small{color:var(--muted);font-size:.7rem;font-weight:500}.discount-switches{display:grid;gap:10px;margin-top:18px}.switch-row{display:flex!important;align-items:flex-start;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:rgba(0,0,0,.12);cursor:pointer}.switch-row input{margin-top:3px;flex:0 0 auto}.switch-row span{display:grid;gap:3px}.switch-row small{color:var(--muted);font-size:.72rem;font-weight:500}.discount-drawer-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding:18px 0 14px;background:linear-gradient(transparent,#130b1d 30%)}.discount-delete-form{padding:0 30px 30px}.discount-delete-form .button-danger{width:100%}body.discount-drawer-open{overflow:hidden}
@media(max-width:1100px){.discount-list-toolbar{align-items:stretch;flex-direction:column}.discount-search{min-width:0}.discount-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.discount-page-heading{display:grid;gap:18px}.discount-page-heading .button-primary{width:100%}.discount-kpis{grid-template-columns:1fr}.discount-drawer-header,.discount-drawer-form{padding-left:18px;padding-right:18px}.discount-form-section{padding:18px}.discount-form-grid{grid-template-columns:1fr}.discount-form-grid .field-full{grid-column:auto}.discount-drawer-actions{display:grid;grid-template-columns:1fr}.discount-drawer-actions .button-secondary,.discount-drawer-actions .button-primary{width:100%;text-align:center}.discount-delete-form{padding-left:18px;padding-right:18px}}

/* Sprint 8.2 Ã¢â‚¬â€ Promoties & toegang */
.discount-kind{display:inline-flex;align-items:center;width:max-content;padding:.28rem .55rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:rgba(217,128,45,.12);color:#f0a45c;border:1px solid rgba(217,128,45,.25)}
.discount-kind.free_pass{background:rgba(116,91,181,.17);color:#c7b4ff;border-color:rgba(157,129,227,.35)}
.discount-freepass-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;padding:1rem;border:1px solid rgba(157,129,227,.25);border-radius:14px;background:rgba(116,91,181,.07)}
.discount-freepass-fields .field-full{grid-column:1/-1}
.discount-freepass-fields[hidden],[data-discount-only][hidden]{display:none!important}
.discount-table td>small{display:block;margin-top:.25rem;color:var(--muted,#9d9994)}
@media(max-width:720px){.discount-freepass-fields{grid-template-columns:1fr}.discount-freepass-fields .field-full{grid-column:auto}}

/* Sprint 9 Ã¢â‚¬â€ CRM & Relatiebeheer */
.crm-page{min-width:0}.crm-page .muted{color:var(--muted)}.crm-heading{align-items:flex-start}.crm-heading p{margin:.45rem 0 0;color:var(--muted)}.crm-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.back-link{display:inline-block;margin-bottom:14px;color:var(--muted);font-size:.82rem;text-decoration:none}.back-link:hover{color:#fff}.crm-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 22px}.crm-kpis .stat{min-height:105px}.crm-kpis .stat strong{font-size:1.55rem}.crm-kpis .stat small{display:block;margin-top:5px;color:var(--muted);font-size:.72rem}.crm-filter-card{padding:20px;margin-bottom:20px}.crm-filters{display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(145px,.55fr)) auto;gap:12px;align-items:end}.crm-filters label{display:grid;gap:6px;min-width:0;font-size:.72rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.crm-filters input,.crm-filters select{width:100%;min-width:0}.crm-list-card{padding:0;overflow:hidden}.crm-customer-table{min-width:1120px}.crm-customer-table td{vertical-align:middle}.crm-customer-table td>small{display:block;color:var(--muted);font-size:.72rem;margin-top:3px}.customer-identity{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.customer-identity>span:last-child{display:grid;gap:3px}.customer-identity small{color:var(--muted);font-size:.72rem}.customer-avatar{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,rgba(229,107,39,.25),rgba(116,91,181,.25));border:1px solid rgba(240,189,98,.22);font-size:.72rem;font-weight:900}.tag-inline{display:flex;gap:5px;flex-wrap:wrap}.tag-inline span,.tag-options span{display:inline-flex;padding:4px 8px;border-radius:999px;background:rgba(116,91,181,.17);border:1px solid rgba(157,129,227,.27);color:#d5c8ff;font-size:.68rem;font-weight:800}.crm-customer-table .table-actions{white-space:nowrap;text-align:right}.crm-customer-table .customer-delete{display:inline-block;margin-left:7px}.crm-customer-table .customer-delete summary{font-size:.72rem}.crm-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.7fr);gap:20px;align-items:start}.crm-main,.crm-sidebar{display:grid;gap:20px}.crm-sidebar{position:sticky;top:90px}.crm-section{padding:24px;margin:0}.crm-section h2{margin:.3rem 0 18px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:8px}.crm-section table td small{display:block;margin-top:4px;color:var(--muted);font-size:.7rem}.crm-ticket-list{display:grid;gap:9px}.crm-ticket{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);color:inherit;text-decoration:none;transition:.2s ease}.crm-ticket:hover{border-color:rgba(240,189,98,.35);transform:translateY(-1px)}.crm-ticket>div{display:grid;gap:3px;min-width:0}.crm-ticket span:not(.badge),.crm-ticket small{color:var(--muted);font-size:.76rem}.crm-promotion-list{display:grid;gap:10px}.crm-promotion-list>div{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px 12px;padding:14px;border:1px solid var(--line);border-radius:14px}.crm-promotion-list>div span:not(.discount-kind){color:var(--muted);font-size:.78rem}.crm-promotion-list>div small{grid-column:2/-1;color:var(--muted);font-size:.7rem}.crm-form,.note-form,.tag-form{display:grid;gap:13px}.crm-form label{display:grid;gap:6px}.crm-form .form-grid{grid-template-columns:1fr 1fr}.crm-meta{display:grid;gap:0;margin-top:20px;border-top:1px solid var(--line)}.crm-meta>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.77rem}.crm-meta span{color:var(--muted)}.crm-meta strong{text-align:right}.tag-options{display:flex;gap:8px;flex-wrap:wrap}.tag-options label{cursor:pointer}.tag-options input{position:absolute;opacity:0;pointer-events:none}.tag-options input:not(:checked)+span{background:rgba(255,255,255,.03);border-color:var(--line);color:var(--muted)}.tag-options span{padding:7px 11px;transition:.2s ease}.note-form textarea{width:100%;resize:vertical}.note-list{display:grid;gap:10px;margin-top:18px}.note-list article{padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:rgba(0,0,0,.1)}.note-list p{margin:0 0 10px;font-size:.82rem;line-height:1.55}.note-list article>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.note-list small{color:var(--muted);font-size:.66rem}.link-danger{padding:0;border:0;background:none;color:#ff9ca7;font-size:.68rem;cursor:pointer}.crm-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:20px;margin-top:24px}.crm-leaders{display:grid;gap:9px}.crm-leaders a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.crm-leaders a:last-child{border-bottom:0}.crm-leaders span{display:grid;gap:3px}.crm-leaders small{color:var(--muted)}
@media(max-width:1180px){.crm-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-filters .field-grow{grid-column:1/-1}.crm-layout{grid-template-columns:1fr}.crm-sidebar{position:static}.crm-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:680px){.crm-kpis,.crm-filters{grid-template-columns:1fr}.crm-filters .field-grow{grid-column:auto}.crm-heading-actions{width:100%;display:grid;grid-template-columns:1fr}.crm-form .form-grid{grid-template-columns:1fr}.crm-ticket{align-items:flex-start}.crm-promotion-list>div{grid-template-columns:1fr}.crm-promotion-list>div small{grid-column:auto}.crm-section{padding:18px}}

/* Sprint 10.1 Ã¢â‚¬â€ Organisatie UI refresh */
.organization-page{min-width:0}.organization-page .muted{color:var(--muted)}
.org-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 20px}
.org-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;padding:7px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}
.org-tabs a{padding:10px 16px;border-radius:11px;color:var(--muted);font-size:.78rem;font-weight:800;text-decoration:none}
.org-tabs a.active,.org-tabs a:hover{background:rgba(230,173,69,.14);color:#f4cf83}
.org-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,520px);gap:24px;align-items:start;min-width:0}
.org-list,.org-form,.org-form form,.org-form label,.org-form .form-grid{min-width:0}
.org-list{display:grid;gap:14px}
.org-form{position:sticky;top:90px;width:100%;max-width:520px;padding:28px;overflow:hidden;box-sizing:border-box}
.org-form h2{margin:0 0 20px;font-size:clamp(1.8rem,3vw,2.65rem);line-height:1;overflow-wrap:anywhere}
.org-form form{display:grid;gap:15px;width:100%}
.org-form label{display:grid;gap:7px;color:var(--muted);font-size:.74rem;font-weight:800}
.org-form input,.org-form select,.org-form textarea{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.org-form textarea{resize:vertical}
.org-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}
.org-form .button-primary{justify-self:start;margin-top:2px}
.check-row{display:flex!important;align-items:center;gap:9px!important}.check-row input{width:auto;flex:0 0 auto}
.empty-state{display:grid;place-items:center;text-align:center;min-height:260px;padding:38px;border-style:dashed;background:radial-gradient(circle at 50% 25%,rgba(230,173,69,.08),transparent 42%),rgba(255,255,255,.018)}
.empty-state:before{content:'Ã¢Å“Â¦';display:grid;place-items:center;width:54px;height:54px;margin-bottom:10px;border:1px solid rgba(230,173,69,.3);border-radius:17px;background:rgba(230,173,69,.08);color:#f4cf83;font-size:1.25rem}
.empty-state h2{margin:0;font-size:clamp(1.65rem,3vw,2.4rem);line-height:1.05}.empty-state p{margin:10px 0 0;color:var(--muted)}
.shift-card,.location-card,.task-card,.announcement-card{padding:20px;min-width:0}.shift-card header,.task-card header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.shift-card h2,.location-card h2,.task-card h2,.announcement-card h2{margin:8px 0 5px;font-size:1.25rem}.shift-card header p,.location-card p,.task-card p,.announcement-card p{color:var(--muted)}
.occupancy{height:7px;margin:15px 0;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}.occupancy i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7c55c9,#e6ad45)}
.assigned-people{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0}.assigned-people>span{display:flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:rgba(116,91,181,.15);border:1px solid rgba(157,129,227,.25);font-size:.72rem}.assigned-people form{display:inline}.assigned-people button{padding:0;border:0;background:none;color:#fff;cursor:pointer}
.inline-assign{display:flex;gap:9px;align-items:center;margin:12px 0}.inline-assign select{flex:1;min-width:0}
.location-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px}.location-card dl{display:grid;grid-template-columns:auto auto;gap:7px 18px;margin:0}.location-card dt{color:var(--muted)}.location-card dd{margin:0;text-align:right}
.task-card{border-left:3px solid rgba(255,255,255,.15)}.task-card.priority-high{border-left-color:#e6ad45}.task-card.priority-critical{border-left-color:#ff6677}.priority-label{margin-left:7px;color:var(--muted);font-size:.7rem}.task-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:15px}.task-actions form:first-child{max-width:170px}
.announcement-card.important{border-color:rgba(255,102,119,.48);background:linear-gradient(135deg,rgba(255,75,95,.08),rgba(255,255,255,.02))}.announcement-card small,.task-card small{color:var(--muted)}
.status-open{background:rgba(54,183,141,.14)!important;color:#78e0bc!important}.status-full,.status-done{background:rgba(116,91,181,.17)!important;color:#d5c8ff!important}.status-cancelled{background:rgba(255,102,119,.13)!important;color:#ff9ca7!important}.status-in_progress{background:rgba(230,173,69,.14)!important;color:#f4cf83!important}
@media(max-width:1280px){.org-layout{grid-template-columns:minmax(0,1fr) minmax(390px,460px)}}
@media(max-width:1100px){.org-layout{grid-template-columns:1fr}.org-form{position:static;max-width:none}.org-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.org-kpis,.org-form .form-grid{grid-template-columns:1fr}.org-form{padding:20px}.inline-assign{display:grid}.location-card{grid-template-columns:1fr}.location-card dl{grid-template-columns:1fr 1fr}.shift-card header,.task-card header{flex-direction:column}.empty-state{min-height:210px;padding:28px 20px}}

/* Sprint 11 Ã¢â‚¬â€ Event Control Center */
.control-center-page{min-width:0;padding-bottom:60px}.control-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:14px}.control-header h1{margin:.25rem 0 .45rem;font-size:clamp(2.4rem,5vw,4.8rem);line-height:.9}.control-header-actions{display:flex;align-items:end;gap:10px;flex-wrap:wrap;justify-content:flex-end}.control-header-actions label{display:grid;gap:6px;color:var(--muted);font-size:.72rem;font-weight:800}.control-header-actions select{min-width:220px}.control-sync{display:flex;align-items:center;gap:8px;padding:10px 14px;margin-bottom:18px;border:1px solid rgba(76,220,166,.2);border-radius:13px;background:rgba(76,220,166,.055);color:var(--muted);font-size:.75rem}.control-sync time{margin-left:auto}.control-sync.is-offline{border-color:rgba(255,102,119,.35);background:rgba(255,102,119,.07)}.live-dot{width:9px;height:9px;border-radius:50%;background:#55d6a5;box-shadow:0 0 0 5px rgba(85,214,165,.1);animation:livePulse 1.8s infinite}@keyframes livePulse{50%{box-shadow:0 0 0 9px rgba(85,214,165,0)}}
.control-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.control-kpis article{display:grid;gap:6px;padding:20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018))}.control-kpis article.attention{border-color:rgba(230,173,69,.28)}.control-kpis span,.control-kpis small{color:var(--muted);font-size:.72rem;font-weight:800}.control-kpis strong{font-family:var(--display);font-size:2.8rem;line-height:1}
.control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.control-panel{padding:20px;min-width:0}.control-panel.control-wide{grid-column:1/-1}.control-panel>header,.crew-checkin>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.control-panel h2,.crew-checkin h2{margin:4px 0 0;font-size:1.5rem}.control-panel header>a,.control-panel .text-button{color:#f4cf83;font-size:.72rem;font-weight:800;text-decoration:none}.text-button{padding:0;border:0;background:none;cursor:pointer}.control-progress{height:14px;margin:5px 0 18px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.07)}.control-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#55d6a5,#e6ad45);transition:width .55s ease}.recent-feed,.control-list{display:grid;gap:8px}.recent-feed article,.control-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.recent-feed article:last-child,.control-row:last-child{border-bottom:0}.recent-feed article>div,.control-row>div{display:grid;gap:2px;min-width:0}.recent-feed small,.control-row small{color:var(--muted)}.feed-time{width:48px;color:#f4cf83;font-weight:900}.feed-ok,.control-count{padding:5px 9px;border-radius:999px;font-size:.68rem;font-weight:900}.feed-ok,.control-count.ok{background:rgba(85,214,165,.11);color:#79e1bb}.control-count.warn{background:rgba(230,173,69,.13);color:#f4cf83}.control-row.priority-critical{border-left:3px solid #ff6677;padding-left:10px}.control-row.priority-high{border-left:3px solid #e6ad45;padding-left:10px}
.location-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.location-live{padding:16px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.02)}.location-live.status-attention{border-color:rgba(230,173,69,.45);background:rgba(230,173,69,.055)}.location-live.status-critical{border-color:rgba(255,102,119,.52);background:rgba(255,102,119,.065)}.location-live.status-closed{opacity:.67}.location-live header,.location-live footer{display:flex;justify-content:space-between;gap:12px}.location-live header>div{display:grid;gap:3px}.location-live header small,.location-live p,.location-live footer{color:var(--muted);font-size:.72rem}.location-live header>span{font-size:.65rem;font-weight:900;text-transform:uppercase}.location-live p{min-height:34px}.location-live footer{align-items:center}.location-live footer button{padding:0;border:0;background:none;color:#f4cf83;font-size:.68rem;font-weight:900;cursor:pointer}.incident-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px;border:1px solid var(--line);border-radius:12px}.incident-row.severity-critical{border-color:rgba(255,102,119,.5);background:rgba(255,102,119,.05)}.incident-row.severity-attention{border-color:rgba(230,173,69,.3)}.incident-row>div{display:grid;gap:3px}.incident-row small{color:var(--muted)}.incident-severity{font-size:.62rem;font-weight:900;text-transform:uppercase;color:#f4cf83}.incident-row select{min-width:135px}.announcement-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.announcement-strip article{padding:15px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}.announcement-strip article.important{border-color:rgba(255,102,119,.4);background:rgba(255,102,119,.055)}.announcement-strip p{margin:7px 0 0;color:var(--muted);font-size:.8rem}.crew-checkin{margin-top:18px;padding:20px}.crew-attendance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.crew-attendance-grid article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px}.crew-attendance-grid article>div{display:grid;gap:5px}.crew-attendance-grid form{display:flex;gap:6px}.crew-expected{background:rgba(230,173,69,.12)!important;color:#f4cf83!important}.crew-present{background:rgba(85,214,165,.12)!important;color:#79e1bb!important}.crew-departed{background:rgba(255,255,255,.07)!important;color:var(--muted)!important}
.control-modal-backdrop{position:fixed;inset:0;z-index:90;background:rgba(3,0,9,.72);opacity:0;pointer-events:none;transition:.2s}.control-modal-backdrop.is-open{opacity:1;pointer-events:auto}.control-modal{position:fixed;top:0;right:0;z-index:91;width:min(520px,100%);height:100vh;padding:28px;box-sizing:border-box;overflow:auto;border-left:1px solid var(--line);background:#130a1d;transform:translateX(102%);transition:.25s}.control-modal.is-open{transform:none}.control-modal>header{display:flex;justify-content:space-between;gap:15px;margin-bottom:22px}.control-modal h2{margin:5px 0 0;font-size:2.3rem}.control-modal header button{width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.04);color:#fff;font-size:1.4rem}.control-modal form{display:grid;gap:14px}.control-modal label{display:grid;gap:7px;color:var(--muted);font-size:.75rem;font-weight:800}.control-modal input,.control-modal select,.control-modal textarea{width:100%;box-sizing:border-box}
@media(max-width:1180px){.control-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.location-status-grid,.announcement-strip,.crew-attendance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.control-header{align-items:flex-start;flex-direction:column}.control-header-actions{justify-content:flex-start}}
@media(max-width:780px){.control-grid{grid-template-columns:1fr}.control-panel.control-wide{grid-column:auto}.location-status-grid,.announcement-strip,.crew-attendance-grid,.control-kpis{grid-template-columns:1fr}.control-header-actions{display:grid;width:100%;grid-template-columns:1fr 1fr}.control-header-actions label{grid-column:1/-1}.control-header-actions select{min-width:0;width:100%}.control-sync span:nth-of-type(2){display:none}.crew-attendance-grid article{align-items:flex-start;flex-direction:column}.incident-row{align-items:flex-start;flex-direction:column}.incident-row form,.incident-row select{width:100%}}

/* Sprint 11.5 Ã¢â‚¬â€ Weather & Safety Center */
.weather-page{min-width:0;padding-bottom:70px}.weather-operation{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:center;margin:18px 0;padding:24px;border:1px solid rgba(85,214,165,.24);border-radius:22px;background:radial-gradient(circle at 5% 50%,rgba(85,214,165,.14),transparent 36%),rgba(19,12,28,.88)}.weather-operation-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:rgba(255,255,255,.06);font-size:2.3rem}.weather-operation h2{margin:.2rem 0 .35rem;font-size:clamp(1.65rem,3vw,2.65rem)}.weather-operation p{margin:0;color:var(--muted)}.weather-operation-meta{display:grid;gap:6px;text-align:right}.weather-operation-meta span{color:var(--muted);font-size:.75rem}.weather-operation.status-attention{border-color:rgba(245,190,65,.4);background:radial-gradient(circle at 5% 50%,rgba(245,190,65,.15),transparent 36%),rgba(19,12,28,.88)}.weather-operation.status-action{border-color:rgba(255,132,43,.5);background:radial-gradient(circle at 5% 50%,rgba(255,132,43,.17),transparent 36%),rgba(19,12,28,.88)}.weather-operation.status-critical{border-color:rgba(255,75,95,.55);background:radial-gradient(circle at 5% 50%,rgba(255,75,95,.18),transparent 36%),rgba(19,12,28,.88)}
.weather-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.weather-kpis article{display:grid;gap:5px;padding:20px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(23,14,34,.76)}.weather-kpis span,.weather-kpis small{color:var(--muted)}.weather-kpis strong{font:700 clamp(1.7rem,3vw,2.7rem)/1 var(--serif)}.weather-main-grid{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:18px}.weather-main-grid>.card,.weather-admin-grid>.card{padding:24px}.weather-main-grid header,.weather-admin-grid header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.weather-main-grid h2,.weather-admin-grid h2{margin:.15rem 0 0}.weather-provider{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--muted);font-size:.72rem}.weather-now{display:flex;align-items:center;gap:20px;padding:24px 0}.weather-now>span{font-size:4.5rem}.weather-now strong{display:block;font:700 2.1rem/1.05 var(--serif)}.weather-now p{margin:.55rem 0 0;color:var(--muted)}.weather-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.weather-detail-grid div{display:grid;gap:4px;padding:13px;border-radius:13px;background:rgba(255,255,255,.035)}.weather-detail-grid span{color:var(--muted);font-size:.72rem}.weather-timeline{display:grid;grid-template-columns:repeat(6,minmax(92px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px}.weather-hour{display:grid;justify-items:center;gap:7px;min-width:92px;padding:14px 10px;border:1px solid rgba(255,255,255,.07);border-radius:15px;background:rgba(255,255,255,.025);text-align:center}.weather-hour time{font-weight:800}.weather-hour .weather-hour-icon{font-size:1.9rem}.weather-hour strong{font-size:1.15rem}.weather-hour small{color:var(--muted)}.weather-hour .rain{color:#8ec8ff}.weather-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.weather-settings-form{display:grid;gap:15px}.weather-settings-form label{display:grid;gap:7px;color:var(--muted);font-size:.78rem;font-weight:800}.weather-settings-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.control-weather-brief{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:18px;padding:16px 18px;border:1px solid rgba(85,214,165,.22);border-radius:16px;background:rgba(85,214,165,.055)}.control-weather-icon{font-size:2rem}.control-weather-brief strong,.control-weather-brief small{display:block}.control-weather-brief small{margin-top:4px;color:var(--muted)}.control-weather-values{display:grid;grid-template-columns:auto auto;gap:5px 16px;text-align:right}.control-weather-values span{font-weight:800}.control-weather-values a{grid-column:1/-1;font-size:.75rem}.control-weather-brief.status-attention{border-color:rgba(245,190,65,.4);background:rgba(245,190,65,.07)}.control-weather-brief.status-action{border-color:rgba(255,132,43,.5);background:rgba(255,132,43,.08)}.control-weather-brief.status-critical{border-color:rgba(255,75,95,.55);background:rgba(255,75,95,.08)}
@media(max-width:1000px){.weather-kpis{grid-template-columns:1fr 1fr}.weather-main-grid,.weather-admin-grid{grid-template-columns:1fr}.weather-timeline{grid-template-columns:repeat(12,minmax(92px,1fr))}}
@media(max-width:680px){.weather-operation,.control-weather-brief{grid-template-columns:auto 1fr}.weather-operation-meta,.control-weather-values{grid-column:1/-1;text-align:left}.weather-kpis{grid-template-columns:1fr 1fr}.weather-settings-form .form-grid{grid-template-columns:1fr}.weather-now>span{font-size:3.4rem}}
@media(max-width:460px){.weather-kpis{grid-template-columns:1fr}.weather-operation{padding:18px}.weather-detail-grid{grid-template-columns:1fr}}

/* Sprint 11.5.1 Ã¢â‚¬â€ Admin typography polish
   Compactere koppen in het volledige beheerportaal, zonder de publieke website te wijzigen. */
.portal-page .content > h1,
.portal-page .content > div:first-child h1,
.portal-page .control-header h1{
  font-size:clamp(1.9rem,3vw,3rem);
  line-height:1;
  letter-spacing:-.025em;
  margin-bottom:24px;
  overflow-wrap:anywhere;
}
.portal-page .content > h2{
  font-size:clamp(1.45rem,2.2vw,1.9rem);
  line-height:1.08;
}
.portal-page .card > h2,
.portal-page .card > header h2,
.portal-page .card header h2,
.portal-page .control-panel h2,
.portal-page .crew-checkin h2,
.portal-page .weather-main-grid h2,
.portal-page .weather-admin-grid h2,
.portal-page .org-form h2,
.portal-page .empty-state h2,
.portal-page .control-modal h2{
  font-size:clamp(1.35rem,2.1vw,2rem);
  line-height:1.05;
  letter-spacing:-.015em;
  overflow-wrap:anywhere;
}
.portal-page .weather-operation h2{
  font-size:clamp(1.45rem,2.35vw,2.2rem);
  line-height:1.02;
}
.portal-page .weather-now strong{
  font-size:clamp(1.45rem,2.2vw,1.9rem);
}
.portal-page .shift-card h2,
.portal-page .location-card h2,
.portal-page .task-card h2,
.portal-page .announcement-card h2{
  font-size:1.15rem;
  line-height:1.15;
}
.portal-page .content h3,
.portal-page .card h3{
  font-size:clamp(1.12rem,1.7vw,1.4rem);
  line-height:1.15;
}
.portal-page .eyebrow{
  font-size:.69rem;
  letter-spacing:.18em;
}
@media(max-width:780px){
  .portal-page .content > h1,
  .portal-page .content > div:first-child h1,
  .portal-page .control-header h1{
    font-size:clamp(1.75rem,8vw,2.45rem);
    margin-bottom:20px;
  }
  .portal-page .card > h2,
  .portal-page .card > header h2,
  .portal-page .card header h2,
  .portal-page .control-panel h2,
  .portal-page .crew-checkin h2,
  .portal-page .weather-main-grid h2,
  .portal-page .weather-admin-grid h2,
  .portal-page .org-form h2,
  .portal-page .empty-state h2,
  .portal-page .control-modal h2{
    font-size:clamp(1.25rem,6vw,1.7rem);
  }
}

/* Sprint 11.6 Ã¢â‚¬â€ Smart Operations */
.smart-operations-page{min-width:0;padding-bottom:70px}.smart-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;margin:18px 0;padding:26px;border:1px solid rgba(85,214,165,.3);border-radius:22px;background:radial-gradient(circle at 8% 50%,rgba(85,214,165,.14),transparent 34%),rgba(19,12,28,.9);transition:.25s}.smart-score-ring{display:grid;place-items:center;width:112px;height:112px;border:8px solid rgba(85,214,165,.22);border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}.smart-score-ring strong{font:700 2.45rem/1 var(--serif)}.smart-score-ring span{margin-top:-24px;color:var(--muted);font-size:.72rem}.smart-hero h2{margin:.2rem 0 .45rem}.smart-hero p{margin:0;color:var(--muted)}.smart-hero-meta{display:grid;gap:8px;text-align:right}.smart-hero-meta span{color:var(--muted);font-size:.78rem}.smart-hero.status-attention{border-color:rgba(245,190,65,.45);background:radial-gradient(circle at 8% 50%,rgba(245,190,65,.14),transparent 34%),rgba(19,12,28,.9)}.smart-hero.status-attention .smart-score-ring{border-color:rgba(245,190,65,.38)}.smart-hero.status-action{border-color:rgba(255,132,43,.5);background:radial-gradient(circle at 8% 50%,rgba(255,132,43,.15),transparent 34%),rgba(19,12,28,.9)}.smart-hero.status-action .smart-score-ring{border-color:rgba(255,132,43,.42)}.smart-hero.status-critical{border-color:rgba(255,75,95,.58);background:radial-gradient(circle at 8% 50%,rgba(255,75,95,.17),transparent 34%),rgba(19,12,28,.9)}.smart-hero.status-critical .smart-score-ring{border-color:rgba(255,75,95,.45)}
.smart-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.smart-kpis article{display:grid;gap:5px;padding:20px;border:1px solid var(--line);border-radius:18px;background:rgba(23,14,34,.76)}.smart-kpis span,.smart-kpis small{color:var(--muted)}.smart-kpis strong{font:700 clamp(1.8rem,3vw,2.6rem)/1 var(--serif)}.smart-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px}.smart-grid>.card{padding:22px}.smart-grid>.card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.smart-grid h2{margin:.15rem 0 0}.smart-engine-badge{padding:7px 10px;border-radius:999px;background:rgba(136,102,255,.12);color:#c9b8ff;font-size:.72rem;font-weight:800}.smart-action-list{display:grid;gap:10px}.smart-action{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:start;padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.025)}.smart-action-index{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:rgba(255,255,255,.06);font-weight:900}.smart-action span,.smart-action small{display:block;color:var(--muted);font-size:.7rem;font-weight:800}.smart-action strong{display:block;margin:4px 0 5px}.smart-action p{margin:0;color:var(--muted);font-size:.83rem}.smart-action>b{padding:5px 8px;border-radius:9px;background:rgba(255,255,255,.05);font-size:.75rem}.smart-action.priority-critical{border-color:rgba(255,75,95,.42);background:rgba(255,75,95,.055)}.smart-action.priority-high{border-color:rgba(255,159,67,.32);background:rgba(255,159,67,.045)}.smart-action.priority-info{border-color:rgba(85,214,165,.28);background:rgba(85,214,165,.04)}.smart-deduction-list{display:grid;gap:9px}.smart-deduction-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border-radius:13px;background:rgba(255,255,255,.035)}.smart-deduction-list article div{display:grid;gap:3px}.smart-deduction-list span{color:var(--muted);font-size:.7rem}.smart-deduction-list b{color:#ff9a7d}.smart-all-clear{padding:18px;border:1px solid rgba(85,214,165,.25);border-radius:15px;background:rgba(85,214,165,.045)}.smart-all-clear p{margin:.4rem 0 0;color:var(--muted)}.smart-weather-summary{display:flex;gap:16px;align-items:flex-start}.smart-weather-summary>span{font-size:3rem}.smart-weather-summary strong{font-size:1.15rem}.smart-weather-summary p{margin:.5rem 0;color:var(--muted)}.smart-weather-summary small{color:var(--muted)}.smart-signal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.smart-signal-grid article{display:grid;gap:5px;padding:14px;border-radius:14px;background:rgba(255,255,255,.035)}.smart-signal-grid span{color:var(--muted);font-size:.72rem}.smart-signal-grid strong{font-size:1.1rem}.smart-night-mode .smart-hero{box-shadow:0 18px 60px rgba(5,0,15,.4)}
@media(max-width:1050px){.smart-kpis{grid-template-columns:1fr 1fr}.smart-grid{grid-template-columns:1fr}.smart-hero{grid-template-columns:auto 1fr}.smart-hero-meta{grid-column:1/-1;text-align:left}}
@media(max-width:680px){.smart-hero{grid-template-columns:1fr;padding:20px}.smart-score-ring{width:96px;height:96px}.smart-kpis{grid-template-columns:1fr 1fr}.smart-signal-grid{grid-template-columns:1fr}.smart-action{grid-template-columns:auto 1fr}.smart-action>b{grid-column:2}.smart-grid>.card{padding:18px}}
@media(max-width:460px){.smart-kpis{grid-template-columns:1fr}}

/* Sprint 11.6.1 Ã¢â‚¬â€ compacte, uitklapbare beheernavigatie */
.sidebar{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,122,26,.35) transparent}
.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,122,26,.28);border-radius:999px}
.sidebar-brand-label{margin:5px 12px 10px;color:#766b80;text-transform:uppercase;letter-spacing:.18em;font-size:.63rem;font-weight:800}
.sidebar-dashboard{margin-bottom:12px!important}
.sidebar-groups{display:grid;gap:7px}
.sidebar-group{border:1px solid transparent;border-radius:14px;overflow:hidden;background:rgba(255,255,255,.012)}
.sidebar-group[open]{background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.055)}
.sidebar-group summary{display:grid;grid-template-columns:21px minmax(0,1fr) 14px;align-items:center;gap:12px;padding:11px 13px;cursor:pointer;list-style:none;color:#c8bdcf;font-size:.84rem;font-weight:750;border-radius:12px;transition:.18s ease;user-select:none}
.sidebar-group summary::-webkit-details-marker{display:none}.sidebar-group summary:hover{color:#fff;background:rgba(255,255,255,.04)}
.sidebar-group-icon{width:21px;text-align:center;color:#9a86a7}.sidebar-group summary i{position:relative;width:12px;height:12px}
.sidebar-group summary i:before,.sidebar-group summary i:after{content:"";position:absolute;top:5px;width:7px;height:1.5px;background:#8f7c9c;border-radius:2px;transition:transform .2s ease}
.sidebar-group summary i:before{left:0;transform:rotate(45deg)}.sidebar-group summary i:after{right:0;transform:rotate(-45deg)}
.sidebar-group[open] summary i:before{transform:rotate(-45deg)}.sidebar-group[open] summary i:after{transform:rotate(45deg)}
.sidebar-group-links{display:grid;gap:2px;padding:0 7px 8px 13px}
.sidebar-group-links a{min-height:38px;padding:8px 10px;margin:0 0 2px 17px;font-size:.82rem;border-radius:10px}
.sidebar-group-links a span{width:18px;font-size:.85rem}.sidebar-group-links a.active{box-shadow:inset 3px 0 0 var(--orange)}
.sidebar-quick{margin-top:14px;padding-top:11px;border-top:1px solid rgba(255,255,255,.07)}
.sidebar-quick a{padding-block:9px;font-size:.82rem}
@media(min-width:781px){.sidebar{padding-top:20px;padding-bottom:20px}.sidebar-label{margin-top:8px}.sidebar-group:not([open]) .sidebar-group-links{display:none}}
@media(max-width:780px){.sidebar-groups{display:flex;gap:6px}.sidebar-group{flex:0 0 auto;overflow:visible}.sidebar-group summary{white-space:nowrap}.sidebar-group[open] .sidebar-group-links{position:absolute;z-index:20;margin-top:6px;min-width:220px;padding:8px;background:#170d22;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.sidebar-group-links a{margin-left:0}.sidebar-quick{display:flex;margin:0;padding:0;border:0}.sidebar-brand-label{display:none}}

/* Sprint 11.7 Ã¢â‚¬â€ Mission Control & Smart Decision Engine */
.mission-hero{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(280px,.7fr);align-items:center;gap:24px;margin:18px 0;padding:26px;border:1px solid rgba(85,214,165,.3);border-radius:22px;background:radial-gradient(circle at 8% 50%,rgba(85,214,165,.14),transparent 34%),rgba(19,12,28,.92);transition:.25s}.mission-hero.status-attention{border-color:rgba(245,190,65,.45)}.mission-hero.status-action{border-color:rgba(255,132,43,.5)}.mission-hero.status-critical{border-color:rgba(255,75,95,.58)}.mission-priority{padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:rgba(255,255,255,.035)}.mission-priority>span,.mission-priority small{display:block;color:var(--muted);font-size:.72rem;font-weight:800}.mission-priority strong{display:block;margin:.35rem 0;font-size:1rem}.mission-priority p{margin:.35rem 0 .7rem;color:var(--muted);font-size:.82rem}.mission-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.mission-counts article{display:grid;gap:5px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:rgba(23,14,34,.76)}.mission-counts span{color:var(--muted);font-size:.75rem}.mission-counts strong{font:700 1.6rem/1 var(--serif)}.mission-counts .critical{border-color:rgba(255,75,95,.35)}.mission-counts .warning{border-color:rgba(255,159,67,.3)}.decision-components{padding:22px;margin-bottom:18px}.decision-components>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.decision-component-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.decision-component{padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.025)}.decision-component>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.decision-component span{font-weight:800}.decision-component strong{font-size:1.05rem}.decision-component small{display:block;margin-top:8px;color:var(--muted)}.decision-progress{height:7px;margin-top:12px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.07)}.decision-progress i{display:block;height:100%;border-radius:inherit;background:rgba(85,214,165,.8)}.decision-component.status-attention .decision-progress i{background:rgba(245,190,65,.85)}.decision-component.status-warning .decision-progress i{background:rgba(255,132,43,.9)}.decision-component.status-critical .decision-progress i{background:rgba(255,75,95,.9)}.mission-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px}.mission-grid>.card{padding:22px}.mission-grid>.card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.mission-actions{grid-row:span 2}.mission-action-columns{display:grid;gap:18px}.mission-action-columns>div>h3{margin:0 0 10px;font-size:.95rem}.mission-empty{padding:12px;border:1px dashed rgba(255,255,255,.08);border-radius:12px}.mission-night-mode .topbar{background:rgba(10,5,18,.96)}.smart-night-mode .mission-hero{box-shadow:0 18px 60px rgba(5,0,15,.55);background:radial-gradient(circle at 8% 50%,rgba(125,86,255,.15),transparent 34%),rgba(10,5,18,.96)}
@media(max-width:1080px){.mission-hero{grid-template-columns:auto 1fr}.mission-priority{grid-column:1/-1}.decision-component-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mission-grid{grid-template-columns:1fr}.mission-actions{grid-row:auto}}
@media(max-width:720px){.mission-hero{grid-template-columns:1fr}.mission-counts{grid-template-columns:1fr 1fr}.decision-component-grid{grid-template-columns:1fr}}
@media(max-width:460px){.mission-counts{grid-template-columns:1fr}}


/* Sprint 12 Ã¢â‚¬â€ Customer Communication Center */
.contact-center{min-width:0}.contact-layout,.contact-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:20px}.contact-thread>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.message-thread{display:grid;gap:12px;margin-top:16px}.message{max-width:82%;padding:15px 17px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035)}.message.customer{justify-self:start}.message.admin{justify-self:end;background:rgba(255,122,26,.07);border-color:rgba(255,122,26,.22)}.message.internal{justify-self:stretch;max-width:none;border-style:dashed;background:rgba(136,102,255,.07)}.message p{margin:.45rem 0;white-space:normal}.message small{color:var(--muted)}.contact-list{display:grid;gap:8px}.contact-list>a{display:flex;justify-content:space-between;gap:14px;padding:13px;border-radius:13px;background:rgba(255,255,255,.035)}.contact-list a span:first-child{display:grid;gap:4px}.contact-list small{color:var(--muted)}.contact-filters{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0}.badge.new{background:rgba(255,95,109,.13);color:#ff9ca6}.badge.in_progress{background:rgba(255,183,77,.13);color:#ffc873}.badge.resolved{background:rgba(85,214,165,.13);color:#76e4bd}.contact-dashboard-card{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr) auto;align-items:center;gap:22px;margin:22px 0}.contact-dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.contact-dashboard-stats a{display:grid;gap:5px;padding:14px;border-radius:14px;background:rgba(255,255,255,.035)}.contact-dashboard-stats span{color:var(--muted);font-size:.76rem}.contact-dashboard-stats strong{font-size:1.65rem}.contact-detail-grid aside hr{margin:24px 0;border:0;border-top:1px solid var(--line)}
@media(max-width:980px){.contact-layout,.contact-detail-grid{grid-template-columns:1fr}.contact-dashboard-card{grid-template-columns:1fr}.contact-dashboard-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.contact-dashboard-stats{grid-template-columns:1fr}.message{max-width:96%}}

/* Sprint 12.1 Ã¢â‚¬â€ contactformulier UX en slimme ticket-/bestellingselectie */
.contact-form-card{padding:26px}.contact-form-intro{margin-bottom:20px}.contact-form-intro h2{margin:.1rem 0 .45rem}.contact-form-intro p{margin:0;max-width:760px;line-height:1.6}.contact-request-form{gap:18px}.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.contact-form-grid label{display:grid;align-content:start;gap:7px;min-width:0}.contact-form-grid label>small{color:var(--muted);font-size:.72rem;font-weight:500;line-height:1.45}.contact-related-field{grid-column:1/-1;padding:15px;border:1px solid rgba(255,122,26,.16);border-radius:15px;background:rgba(255,122,26,.035)}.contact-related-field[hidden]{display:none!important}.contact-message-field{grid-column:1/-1}.contact-message-field textarea{min-height:190px;resize:vertical;line-height:1.6}.contact-form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.contact-form-actions .button-primary{width:auto;min-width:160px;margin:0;padding:12px 20px}.contact-form-actions small{color:var(--muted);font-size:.72rem}.contact-related-field select:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:700px){.contact-form-card{padding:20px}.contact-form-grid{grid-template-columns:1fr}.contact-related-field,.contact-message-field{grid-column:auto}.contact-form-actions{align-items:stretch;flex-direction:column}.contact-form-actions .button-primary{width:100%}}


/* Sprint 12.1.1 Ã¢â‚¬â€ Contactcentrum visuele verfijning */
.contact-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,.82fr);align-items:stretch;gap:20px}
.contact-form-card,.contact-requests-card{border-color:rgba(255,255,255,.12);background:linear-gradient(155deg,rgba(36,19,59,.92),rgba(19,12,31,.96));box-shadow:0 18px 44px rgba(0,0,0,.22)}
.contact-form-card{padding:26px 28px 24px}
.contact-form-intro{margin-bottom:22px}
.contact-form-intro h2,.contact-requests-card>h2{display:flex;align-items:center;gap:11px;font-family:var(--sans);font-size:clamp(1.28rem,1.65vw,1.72rem);line-height:1.2;letter-spacing:-.02em;text-transform:none;margin:0 0 10px}
.contact-heading-icon{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;flex:0 0 27px;color:var(--orange);font-family:var(--sans);font-size:1.18rem;font-weight:800;line-height:1}
.contact-heading-icon-bookmark{font-size:1.12rem}
.contact-form-intro p{font-size:.95rem;max-width:760px}
.contact-request-form{display:grid;gap:18px}
.contact-form-grid{gap:17px 18px}
.contact-form-grid label{font-size:.91rem;font-weight:700;gap:8px}
.contact-form-grid input,.contact-form-grid select,.contact-form-grid textarea{background:rgba(10,7,17,.62);border-color:rgba(255,255,255,.14);border-radius:13px;transition:border-color .2s,box-shadow .2s,background .2s}
.contact-form-grid input:focus,.contact-form-grid select:focus,.contact-form-grid textarea:focus{border-color:rgba(255,122,26,.62);box-shadow:0 0 0 3px rgba(255,122,26,.1);background:rgba(10,7,17,.82)}
.contact-message-field textarea{width:100%;min-height:220px;padding:15px 16px}
.contact-form-actions{padding-top:0;gap:16px}
.contact-form-actions .button-primary{min-width:0;width:auto;border-radius:11px;padding:12px 20px;background:linear-gradient(135deg,#ff6a14,#ff9b2f);box-shadow:0 10px 22px rgba(255,122,26,.2)}
.contact-form-actions .button-primary span{font-size:.9rem;transform:rotate(-18deg)}
.contact-form-actions small{font-size:.71rem}
.contact-requests-card{padding:24px 26px;min-height:100%}
.contact-requests-card>h2{margin-bottom:18px}
.contact-list>a{align-items:center;padding:14px 15px;background:rgba(255,255,255,.038);border:1px solid transparent;transition:border-color .2s,background .2s,transform .2s}
.contact-list>a:hover{border-color:rgba(255,122,26,.22);background:rgba(255,122,26,.045);transform:translateY(-1px)}
.contact-list>a:after{content:'Ã¢â‚¬Âº';font-size:1.55rem;color:rgba(255,255,255,.7);margin-left:2px}
.contact-list>a>.badge{margin-left:auto;white-space:nowrap}
.contact-thread{padding:25px 27px}
.contact-thread>header h2{font-size:clamp(1.55rem,2.5vw,2.5rem);margin:.2rem 0 0}
.message{padding:15px 17px}
@media(max-width:980px){.contact-layout{grid-template-columns:1fr}.contact-requests-card{min-height:auto}}
@media(max-width:700px){.contact-form-card,.contact-requests-card{padding:20px}.contact-form-intro h2,.contact-requests-card>h2{font-size:1.22rem}.contact-message-field textarea{min-height:180px}.contact-form-actions{align-items:flex-start;flex-direction:column}.contact-form-actions .button-primary{width:auto;min-width:0}.contact-list>a{flex-wrap:wrap}.contact-list>a:after{display:none}}

/* Sprint 12.1.2 Ã¢â‚¬â€ Contactcentrum design polish */
.contact-thread + .contact-layout{margin-top:30px}
.contact-layout{grid-template-columns:minmax(0,7fr) minmax(300px,3fr);gap:22px}
.contact-form-intro h2,.contact-requests-card h2{
 font-family:var(--serif);
 font-size:clamp(1.75rem,2.15vw,2.15rem);
 font-weight:800;
 line-height:1.08;
 letter-spacing:0;
 text-transform:none;
 margin:0 0 9px;
}
.contact-heading-icon{width:24px;height:24px;flex-basis:24px;font-size:1rem}
.contact-requests-intro{margin-bottom:20px;padding-bottom:17px;border-bottom:1px solid rgba(255,255,255,.09)}
.contact-requests-intro h2{margin-bottom:8px}
.contact-requests-intro p{margin:0;font-size:.86rem;line-height:1.55}
.contact-list>a{position:relative;overflow:hidden;padding:15px 16px}
.contact-list>a:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--orange);opacity:0;transition:opacity .2s}
.contact-list>a:hover:before{opacity:1}
.contact-list>a strong{font-size:.92rem}
.contact-list>a small{font-size:.72rem}
@media(max-width:980px){.contact-thread + .contact-layout{margin-top:24px}.contact-layout{grid-template-columns:1fr}}
@media(max-width:700px){.contact-form-intro h2,.contact-requests-card h2{font-size:1.65rem}.contact-thread + .contact-layout{margin-top:20px}}


/* Sprint 12.2 Ã¢â‚¬â€ klantreacties en doorlopende conversaties */
.customer-reply-form{margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);display:grid;gap:13px}
.customer-reply-form label{display:grid;gap:8px;font-weight:700}
.customer-reply-form textarea{width:100%;min-height:116px;resize:vertical;line-height:1.55;background:rgba(10,7,17,.62);border-color:rgba(255,255,255,.14);border-radius:13px}
.customer-reply-form textarea:focus{border-color:rgba(255,122,26,.62);box-shadow:0 0 0 3px rgba(255,122,26,.1);background:rgba(10,7,17,.82)}
.customer-reply-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.customer-reply-actions .button-primary{width:auto;min-width:0;margin:0;padding:11px 18px;border-radius:11px}
.customer-reply-actions small{color:var(--muted);font-size:.72rem}
@media(max-width:700px){.customer-reply-actions{align-items:flex-start;flex-direction:column}.customer-reply-actions .button-primary{width:auto}}


/* Sprint 12.2.1 Ã¢â‚¬â€ Customer Portal UI Polish */
.contact-form-intro h2,.contact-requests-intro h2{gap:0}
.contact-heading-icon,.contact-heading-icon-bookmark{display:none!important}

/* Sprint 12.2.2 Ã¢â‚¬â€ Contactcentrum layout-uitlijning */
.contact-layout{
 align-items:start;
}
.contact-layout>.card,
.contact-layout>.card+.card{
 margin-top:0;
 align-self:start;
}
@media(max-width:980px){
 .contact-layout>.card+.card{margin-top:22px}
}

/* Sprint 12.2.3 Ã¢â‚¬â€ Admin Communication Layout Polish */
.contact-detail-grid{
 align-items:start;
}
.contact-detail-grid>.card,
.contact-detail-grid>.card+.card,
.contact-detail-grid>.contact-treatment-card{
 margin-top:0;
 align-self:start;
}
@media(max-width:980px){
 .contact-detail-grid>.card+.card,
 .contact-detail-grid>.contact-treatment-card{margin-top:22px}
}


/* Sprint 12.2.5 Ã¢â‚¬â€ Communication Branding Polish */
.branded-message-thread{gap:18px}
.chat-message{display:flex;align-items:flex-start;gap:11px;max-width:88%;padding:0;border:0;background:transparent}
.chat-message.customer{justify-self:end;flex-direction:row-reverse}
.chat-message.admin{justify-self:start;background:transparent;border:0}
.chat-message.internal{display:block;justify-self:stretch;max-width:none;padding:14px 16px;border:1px dashed rgba(157,129,227,.35);background:rgba(136,102,255,.07)}
.chat-message-content{display:grid;gap:6px;min-width:0;max-width:100%}
.chat-message.customer .chat-message-content{justify-items:end}
.chat-message-meta{display:flex;align-items:baseline;gap:9px;padding:0 3px}
.chat-message.customer .chat-message-meta{flex-direction:row-reverse}
.chat-message-meta strong{font-size:.78rem;line-height:1.2}
.chat-message-meta small{font-size:.66rem;color:var(--muted);white-space:nowrap}
.chat-avatar{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;overflow:hidden;border:1px solid rgba(240,189,98,.34);box-shadow:0 5px 16px rgba(0,0,0,.22)}
.organization-avatar{background:linear-gradient(145deg,rgba(62,33,94,.96),rgba(16,8,28,.98));padding:4px}
.organization-avatar img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}
.customer-avatar-mark{background:linear-gradient(135deg,rgba(229,107,39,.3),rgba(116,91,181,.38));color:#fff;font-size:.9rem;font-weight:900}
.chat-bubble{padding:14px 16px;border:1px solid rgba(157,129,227,.28);border-radius:6px 17px 17px 17px;background:linear-gradient(145deg,rgba(77,51,124,.26),rgba(43,27,72,.34));box-shadow:0 8px 22px rgba(0,0,0,.12)}
.chat-message.customer .chat-bubble{border-color:rgba(255,122,26,.24);border-radius:17px 6px 17px 17px;background:linear-gradient(145deg,rgba(255,122,26,.105),rgba(96,51,25,.16))}
.chat-bubble p{margin:0;line-height:1.6;overflow-wrap:anywhere}
.chat-message.internal .chat-message-content{max-width:none}
.chat-message.internal .chat-bubble{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
@media(max-width:700px){.chat-message{max-width:97%;gap:8px}.chat-avatar{flex-basis:38px;width:38px;height:38px}.chat-message-meta{align-items:flex-start;gap:4px;flex-direction:column!important}.chat-message.customer .chat-message-meta{align-items:flex-end}.chat-bubble{padding:12px 14px}}

/* Sprint 12.3 Ã¢â‚¬â€œ Live Conversation Center */
.live-contact-thread{position:relative}
.message-state{display:inline-flex;align-items:center;margin-left:6px;font-weight:800;letter-spacing:-3px;color:rgba(255,255,255,.72);font-size:.82rem;vertical-align:baseline}
.chat-message.customer .message-state{color:rgba(64,38,79,.55)}
.message-state.is-read{color:#58b7ff!important}
.typing-indicator{display:flex;align-items:center;gap:5px;margin:12px 0 2px 58px;color:var(--muted,#9f98aa);font-size:.84rem;min-height:24px}
.typing-indicator span{width:6px;height:6px;border-radius:50%;background:currentColor;animation:contactTyping 1.15s infinite ease-in-out}
.typing-indicator span:nth-child(2){animation-delay:.16s}.typing-indicator span:nth-child(3){animation-delay:.32s}
.typing-indicator em{font-style:normal;margin-left:4px}
.conversation-presence{margin:8px 0 0 58px;font-size:.78rem;color:var(--muted,#9f98aa)}
.conversation-presence::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#55c985;margin-right:7px;box-shadow:0 0 0 3px rgba(85,201,133,.12)}
.live-message-enter{animation:contactMessageIn .28s ease both}
@keyframes contactTyping{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}
@keyframes contactMessageIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.typing-indicator span,.live-message-enter{animation:none}}
@media(max-width:700px){.typing-indicator,.conversation-presence{margin-left:8px}.message-state{font-size:.76rem}}

/* Sprint 12.3.1 Ã¢â‚¬â€œ Live Engine Hotfix */
.typing-indicator[hidden],.conversation-presence[hidden]{display:none!important}
.message-state{min-width:20px;justify-content:flex-end;color:rgba(255,255,255,.78)!important;text-shadow:0 1px 1px rgba(0,0,0,.18)}
.chat-message.customer .message-state{color:rgba(54,35,68,.62)!important;text-shadow:none}
.message-state.is-delivered{opacity:.9}
.message-state.is-read{color:#45aef5!important;opacity:1}
.typing-indicator:not([hidden]){display:flex}
.conversation-presence:not([hidden]){display:block}

/* Sprint 12.3.2 Ã¢â‚¬â€œ Live Engine Stabilisation */
.message-state{
  min-width:24px!important;
  margin-left:7px!important;
  display:inline-block!important;
  letter-spacing:-2px!important;
  font-family:Arial,sans-serif!important;
  font-size:.9rem!important;
  line-height:1!important;
  font-weight:700!important;
  color:#b8b3c2!important;
  opacity:1!important;
  white-space:nowrap!important;
  text-shadow:none!important;
}
.chat-message.customer .message-state,
.customer-reply-form ~ .message-state{color:#a9a2b2!important}
.message-state.is-delivered{color:#b8b3c2!important}
.message-state.is-read{color:#39aef5!important}
.typing-indicator[hidden],.conversation-presence[hidden]{display:none!important}
.typing-indicator:not([hidden]){display:flex!important}
.typing-indicator:not([hidden]) span{display:block!important;animation:contactTyping 1.15s infinite ease-in-out!important}
.conversation-presence:not([hidden]){display:block!important}
.live-contact-thread.live-connection-error::after{
  content:"Live verbinding tijdelijk onderbroken";
  display:block;
  margin:10px 0 0 58px;
  font-size:.75rem;
  color:#d6a7a7;
}

/* Sprint 12.4.4 Ã¢â‚¬â€œ Customer Read Receipt Styling Hotfix
   The customer bubble rule is more specific than the generic read-state rule.
   This explicit selector guarantees that read receipts are blue on the customer side. */
.chat-message.customer .message-state.is-read,
.chat-message.customer .message-state.is-delivered.is-read {
  color:#39aef5!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Sprint 13.0 - Admin UX & Mobile Navigation */
.admin-menu-toggle,.admin-menu-backdrop,.sidebar-mobile-header{display:none}
.admin-menu-toggle{box-shadow:none}

@media(max-width:780px){
  body.admin-menu-open{overflow:hidden}
  .portal-page .dashboard{display:block;min-height:calc(100vh - 68px)}
  .portal-page .content{width:100%;max-width:100%;padding:22px 16px 40px;overflow:hidden}
  .admin-menu-toggle{position:sticky;top:68px;z-index:38;display:flex;width:100%;min-height:50px;justify-content:flex-start;padding:11px 16px;border-radius:0;border:0;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(20,11,31,.96);color:#fff;font-size:.86rem;letter-spacing:.02em;box-shadow:0 10px 25px rgba(0,0,0,.18);backdrop-filter:blur(16px)}
  .admin-menu-toggle:hover{transform:none;box-shadow:0 10px 25px rgba(0,0,0,.18)}
  .admin-menu-toggle-icon{display:grid;width:22px;gap:4px}
  .admin-menu-toggle-icon i{display:block;width:21px;height:2px;border-radius:3px;background:linear-gradient(90deg,var(--pink),var(--orange))}
  .admin-menu-backdrop{position:fixed;inset:0;z-index:79;display:block;padding:0;border:0;border-radius:0;background:rgba(4,2,8,.72);opacity:0;visibility:hidden;pointer-events:none;box-shadow:none;transition:opacity .22s ease,visibility .22s ease;backdrop-filter:blur(3px)}
  .admin-menu-backdrop:hover{transform:none;filter:none;box-shadow:none}
  .admin-menu-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}
  .portal-page .sidebar{position:fixed;inset:0 auto 0 0;z-index:80;display:block;width:min(88vw,360px);height:100dvh;padding:0 14px 24px;overflow-y:auto;overflow-x:hidden;border:0;border-right:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#160d22 0%,#0e0817 100%);box-shadow:24px 0 60px rgba(0,0,0,.5);transform:translateX(-105%);transition:transform .25s ease;overscroll-behavior:contain}
  .portal-page .sidebar.is-open{transform:translateX(0)}
  .sidebar-mobile-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 -14px 16px;padding:18px 16px 15px;border-bottom:1px solid rgba(255,255,255,.09);background:rgba(18,10,29,.97);backdrop-filter:blur(14px)}
  .sidebar-mobile-header>div{display:grid;gap:2px}
  .sidebar-mobile-header strong{font-family:var(--serif);font-size:1.12rem}
  .admin-menu-close{display:grid;place-items:center;width:42px;height:42px;min-width:42px;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.045);box-shadow:none;font-size:1.7rem;line-height:1}
  .admin-menu-close:hover{transform:none;box-shadow:none;background:rgba(255,255,255,.08)}
  .portal-page .sidebar .sidebar-brand-label{display:block;margin:9px 12px 10px}
  .portal-page .sidebar-groups{display:grid;gap:8px}
  .portal-page .sidebar-group{display:block;width:100%;overflow:hidden}
  .portal-page .sidebar-group summary{min-height:46px;white-space:normal}
  .portal-page .sidebar-group[open] .sidebar-group-links{position:static;min-width:0;margin:0;padding:0 7px 9px 13px;border:0;border-radius:0;background:transparent;box-shadow:none}
  .portal-page .sidebar-group-links a{min-height:43px;margin:0 0 3px 17px;padding:10px;font-size:.85rem;white-space:normal}
  .portal-page .sidebar-quick{display:grid;margin-top:16px;padding-top:13px;border-top:1px solid rgba(255,255,255,.08)}
  .portal-page .sidebar-quick a{min-height:44px;margin:0 0 3px;padding:10px 13px;white-space:normal}

  .portal-page .page-heading-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:24px}
  .portal-page .page-heading-actions .actions,.portal-page .actions{align-items:stretch}
  .portal-page .page-heading-actions .button,.portal-page .page-heading-actions button{width:auto;max-width:100%}
  .portal-page .stats,.portal-page .marketing-kpis,.portal-page .org-kpis,.portal-page .control-kpis,.portal-page .weather-kpis,.portal-page .smart-kpis,.portal-page .mission-counts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portal-page .grid,.portal-page .grid.three,.portal-page .crm-dashboard-grid,.portal-page .event-attendance-grid{grid-template-columns:minmax(0,1fr)}
  .portal-page .card{max-width:100%;padding:20px}
  .portal-page .table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
  .portal-page .table-wrap table{min-width:680px}
  .portal-page .table-wrap th,.portal-page .table-wrap td{padding:12px 13px}
  .portal-page form,.portal-page fieldset,.portal-page input,.portal-page select,.portal-page textarea{min-width:0;max-width:100%}
}

@media(max-width:520px){
  .portal-page .content{padding-inline:13px}
  .portal-page .stats,.portal-page .marketing-kpis,.portal-page .org-kpis,.portal-page .control-kpis,.portal-page .weather-kpis,.portal-page .smart-kpis,.portal-page .mission-counts{grid-template-columns:minmax(0,1fr)}
  .portal-page .stat{padding:18px}
  .portal-page .card{padding:18px;border-radius:18px}
  .portal-page .content>h1,.portal-page .content>div:first-child h1{font-size:clamp(1.85rem,10vw,2.45rem)}
  .portal-page .actions>.button,.portal-page .actions>button,.portal-page .actions>a{width:100%;justify-content:center}
}

@media(min-width:781px){
  .admin-menu-toggle,.admin-menu-backdrop,.sidebar-mobile-header{display:none!important}
}

@media(prefers-reduced-motion:reduce){
  .portal-page .sidebar,.admin-menu-backdrop{transition:none}
}

/* Sprint 13.1 - Event Command Center */
.command-center-page{min-width:0;padding-bottom:70px}.command-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.command-header h1{margin:.3rem 0 .45rem}.command-header p{max-width:720px;margin:0}.command-header-actions{display:flex;align-items:end;justify-content:flex-end;gap:10px;flex-wrap:wrap}.command-header-actions label{display:grid;gap:5px;min-width:245px;color:var(--muted);font-size:.72rem}.command-header-actions select{padding:10px 13px}.command-livebar{display:flex;align-items:center;gap:9px;min-height:43px;margin-bottom:16px;padding:9px 14px;border:1px solid rgba(85,214,165,.2);border-radius:13px;background:rgba(85,214,165,.04);font-size:.77rem}.command-livebar span:not(.live-dot),.command-livebar time{color:var(--muted)}.command-livebar time{margin-left:auto}.command-livebar.is-offline{border-color:rgba(255,75,95,.3);background:rgba(255,75,95,.05)}.command-livebar.is-offline .live-dot{background:#ff4b5f;box-shadow:0 0 0 5px rgba(255,75,95,.12)}
.command-status{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(260px,.7fr);align-items:center;gap:24px;margin-bottom:16px;padding:25px;border:1px solid rgba(85,214,165,.32);border-radius:23px;background:radial-gradient(circle at 7% 50%,rgba(85,214,165,.14),transparent 30%),linear-gradient(145deg,#21142f,#160e22);box-shadow:0 22px 55px rgba(0,0,0,.22)}.command-status.status-attention{border-color:rgba(245,190,65,.45);background:radial-gradient(circle at 7% 50%,rgba(245,190,65,.13),transparent 30%),linear-gradient(145deg,#21142f,#160e22)}.command-status.status-action{border-color:rgba(255,132,43,.5);background:radial-gradient(circle at 7% 50%,rgba(255,132,43,.15),transparent 30%),linear-gradient(145deg,#21142f,#160e22)}.command-status.status-critical{border-color:rgba(255,75,95,.55);background:radial-gradient(circle at 7% 50%,rgba(255,75,95,.16),transparent 30%),linear-gradient(145deg,#21142f,#160e22)}.command-score{display:grid;place-items:center;width:112px;height:112px;border:8px solid rgba(85,214,165,.28);border-radius:50%;background:rgba(8,5,13,.25)}.command-score strong{font:700 2.35rem/1 var(--serif)}.command-score span{margin-top:-25px;color:var(--muted);font-size:.7rem}.command-status-copy h2{margin:.3rem 0 .5rem;font-size:clamp(1.55rem,3vw,2.5rem)}.command-status-copy p{margin:0}.command-priority{display:grid;gap:5px;padding:17px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:rgba(255,255,255,.035);transition:.18s}.command-priority:hover{border-color:rgba(255,159,67,.35);transform:translateY(-2px)}.command-priority span,.command-priority small{color:var(--muted);font-size:.72rem}.command-priority strong{font-size:.98rem}
.command-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.command-kpis article{position:relative;overflow:hidden;display:grid;gap:4px;min-height:112px;padding:18px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,#21142f,#160e22)}.command-kpis article:after{content:"";position:absolute;width:65px;height:65px;right:-21px;top:-25px;border-radius:50%;background:rgba(255,122,26,.1)}.command-kpis span,.command-kpis small{color:var(--muted);font-size:.7rem}.command-kpis strong{font:700 1.8rem/1.15 var(--serif)}
.command-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:16px}.command-panel{min-width:0;padding:22px!important}.command-panel+.command-panel{margin-top:0}.command-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:17px}.command-panel>header h2{margin:.25rem 0 0;font-size:1.45rem}.command-panel>header>a{color:#ffae6e;font-size:.77rem;font-weight:800}.command-wide{grid-column:1/-1}.command-progress{height:10px;overflow:hidden;margin-bottom:9px;border-radius:99px;background:rgba(255,255,255,.07)}.command-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#55d6a5,#ff9f43);transition:width .5s ease}.command-flow-meta{display:flex;justify-content:space-between;gap:15px;margin-bottom:14px}.command-flow-meta span{color:var(--muted);font-size:.76rem}.command-feed{display:grid;gap:7px}.command-feed article{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.03)}.command-feed time{color:#ffae6e;font-weight:800}.command-feed article div{display:grid}.command-feed small{color:var(--muted)}.command-feed article>span{padding:4px 7px;border-radius:999px;background:rgba(85,214,165,.1);color:#8be8c1;font-size:.66rem;font-weight:800}.command-action-list{display:grid;gap:8px}.command-action{display:grid;grid-template-columns:30px minmax(0,1fr);gap:11px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.025)}.command-action>b{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.06)}.command-action div{display:grid;gap:3px}.command-action span{color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.06em}.command-action p{margin:0;color:var(--muted);font-size:.77rem}.command-action.priority-critical{border-color:rgba(255,75,95,.38)}.command-action.priority-high{border-color:rgba(255,159,67,.32)}.command-all-clear{padding:17px;border:1px solid rgba(85,214,165,.26);border-radius:14px;background:rgba(85,214,165,.045)}.command-all-clear p{margin:.35rem 0 0}
.command-readiness{display:grid;gap:8px}.command-readiness article,.command-system-grid a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border-radius:13px;background:rgba(255,255,255,.03)}.command-readiness i,.command-system-grid i{width:9px;height:9px;border-radius:50%;background:#55d6a5;box-shadow:0 0 0 5px rgba(85,214,165,.09)}.command-readiness article.status-attention i,.command-system-grid .status-attention i{background:#f5be41;box-shadow:0 0 0 5px rgba(245,190,65,.09)}.command-readiness article.status-critical i,.command-system-grid .status-critical i{background:#ff4b5f;box-shadow:0 0 0 5px rgba(255,75,95,.09)}.command-readiness article div,.command-system-grid a div{display:grid}.command-readiness span,.command-system-grid span{color:var(--muted);font-size:.7rem}.command-readiness small,.command-system-grid small{color:var(--muted);font-size:.67rem}.command-weather{display:grid;gap:14px}.command-weather-main{display:flex;gap:14px;align-items:flex-start}.command-weather-main>span{font-size:2.8rem;line-height:1}.command-weather-main p{margin:.35rem 0 0;font-size:.8rem}.command-weather-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.command-weather-facts span{display:grid;gap:2px;padding:10px;border-radius:11px;background:rgba(255,255,255,.035);color:var(--muted);font-size:.67rem}.command-weather-facts b{color:#fff;font-size:.78rem}.command-order-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.command-order-grid a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:13px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.025)}.command-order-grid a div{display:grid;min-width:0}.command-order-grid small{overflow:hidden;color:var(--muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.command-order-grid a>b{grid-column:1/-1;color:#ffae6e}.command-order-grid .badge{align-self:start}.command-system-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.command-system-grid a{border:1px solid transparent}.command-system-grid a:hover{border-color:rgba(255,159,67,.24)}
@media(max-width:1280px){.command-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.command-order-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.command-status{grid-template-columns:auto 1fr}.command-priority{grid-column:1/-1}.command-grid{grid-template-columns:1fr}.command-wide{grid-column:auto}.command-system-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.command-header{display:grid}.command-header-actions{justify-content:flex-start}.command-header-actions label{width:100%;min-width:0}.command-status{grid-template-columns:1fr;padding:20px}.command-score{width:96px;height:96px}.command-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.command-order-grid{grid-template-columns:1fr}.command-livebar{flex-wrap:wrap}.command-livebar time{width:100%;margin-left:23px}.command-panel{padding:18px!important}}
@media(max-width:500px){.command-header-actions>.button-primary,.command-header-actions>.button-secondary{width:100%}.command-kpis,.command-system-grid{grid-template-columns:1fr}.command-flow-meta{display:grid}.command-feed article{grid-template-columns:45px minmax(0,1fr)}.command-feed article>span{grid-column:2;justify-self:start}.command-weather-facts{grid-template-columns:1fr}.command-panel>header{display:grid}}

/* Sprint 13.2 - Unified Command Center */
.command-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px}.command-tabs a{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:11px;align-items:center;min-width:0;padding:13px 15px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.025);color:#d9cedf;transition:.18s ease}.command-tabs a:hover{border-color:rgba(255,159,67,.3);background:rgba(255,159,67,.045);transform:translateY(-1px)}.command-tabs a.is-active{border-color:rgba(255,159,67,.5);background:linear-gradient(135deg,rgba(255,122,26,.15),rgba(136,102,255,.1));box-shadow:0 10px 28px rgba(0,0,0,.16)}.command-tabs a>span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(255,255,255,.055);color:#ffae6e;font-size:.7rem;font-weight:900}.command-tabs strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-tabs small{color:var(--muted);font-size:.68rem}.command-tab-panel{animation:command-panel-in .24s ease both}@keyframes command-panel-in{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:none}}
.command-operation-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.command-operations-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);gap:16px}.command-operations-grid>.card,.command-operations-grid>.card+.card{min-width:0;margin-top:0}.command-operations-grid .control-panel{padding:22px}.command-operations-grid .control-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:17px}.command-operations-grid .control-panel h2{margin:.25rem 0 0}.command-span-full{grid-column:1/-1}.command-crew-checkin{margin-top:16px}.command-crew-checkin>header{margin-bottom:16px}
.command-decision-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.command-decision-counts article{display:grid;gap:5px;padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(23,14,34,.76)}.command-decision-counts span{color:var(--muted);font-size:.7rem}.command-decision-counts strong{font:700 1.7rem/1.1 var(--serif)}.command-decision-counts .critical{border-color:rgba(255,75,95,.3)}.command-decision-counts .warning{border-color:rgba(255,159,67,.28)}.command-decision-components{margin-bottom:16px;padding:22px!important}.command-decision-components>header,.command-decision-actions>header{display:flex;justify-content:space-between;gap:15px;margin-bottom:17px}.command-decision-components h2,.command-decision-actions h2{margin:.25rem 0 0}.command-decision-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:16px}.command-decision-grid>.card,.command-decision-grid>.card+.card{min-width:0;margin-top:0}.command-decision-actions{padding:22px!important}.command-signal-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.command-signal-grid article{display:grid;gap:5px;padding:13px;border-radius:13px;background:rgba(255,255,255,.035)}.command-signal-grid span{color:var(--muted);font-size:.7rem}.command-signal-grid strong{font-size:1.05rem}
@media(max-width:1050px){.command-operations-grid,.command-decision-grid{grid-template-columns:1fr}.command-operation-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.command-span-full{grid-column:auto}}
@media(max-width:720px){.command-tabs{grid-template-columns:1fr}.command-tabs a{grid-template-columns:auto minmax(0,1fr)}.command-operation-kpis,.command-decision-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.command-operations-grid .control-panel>header{display:grid}.command-operations-grid .location-status-grid{grid-template-columns:1fr}.command-decision-grid .mission-action-columns{grid-template-columns:1fr}.command-crew-checkin .crew-attendance-grid{grid-template-columns:1fr}}
@media(max-width:480px){.command-operation-kpis,.command-decision-counts,.command-signal-grid{grid-template-columns:1fr}.command-tabs strong{white-space:normal}.command-decision-components,.command-decision-actions{padding:18px!important}}
@media(prefers-reduced-motion:reduce){.command-tab-panel{animation:none}.command-tabs a{transition:none}}

/* Sprint 13.2.1 - Management Dashboard Polish */
.admin-dashboard-page{min-width:0;padding-bottom:72px}.admin-dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:27px}.admin-dashboard-header h1{margin:.3rem 0 .45rem}.admin-dashboard-header p{max-width:680px;margin:0}.admin-dashboard-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.dashboard-section{margin-top:25px}.dashboard-section-heading,.dashboard-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.dashboard-section-heading{margin-bottom:14px}.dashboard-section-heading h2,.dashboard-panel-heading h2,.dashboard-contact-panel h2{margin:.2rem 0 0!important;font:700 clamp(1.22rem,1.55vw,1.5rem)/1.15 var(--serif)!important;letter-spacing:0!important;text-transform:none!important}.dashboard-section-heading>p{max-width:430px;margin:5px 0 0;color:var(--muted);font-size:.82rem;text-align:right}.dashboard-panel-heading{margin-bottom:16px}.dashboard-panel-heading>a,.dashboard-heading-actions a{color:#ffae6e;font-size:.75rem;font-weight:800}.dashboard-heading-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.dashboard-today-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.dashboard-today-card{position:relative;overflow:hidden;display:grid;align-content:start;gap:5px;min-height:128px;padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:linear-gradient(145deg,#21142f,#160e22);transition:.18s ease}.dashboard-today-card:after{content:"";position:absolute;width:70px;height:70px;right:-24px;top:-27px;border-radius:50%;background:rgba(255,122,26,.09)}.dashboard-today-card:hover{border-color:rgba(255,159,67,.35);transform:translateY(-2px)}.dashboard-today-card>span,.dashboard-today-card>small{color:var(--muted);font-size:.72rem}.dashboard-today-card>strong{margin:3px 0;font:700 clamp(1.7rem,2.3vw,2.15rem)/1 var(--serif);color:#fff}.dashboard-today-card.is-primary{border-color:rgba(85,214,165,.3);background:linear-gradient(145deg,rgba(85,214,165,.1),#160e22)}.dashboard-today-card.is-primary:after{background:rgba(85,214,165,.12)}.dashboard-today-card.needs-attention{border-color:rgba(255,159,67,.3);background:linear-gradient(145deg,rgba(255,122,26,.09),#160e22)}
.dashboard-management-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:16px;margin-top:22px}.dashboard-management-grid>.card,.dashboard-side-stack>.card,.dashboard-side-stack>.card+.card{min-width:0;margin-top:0}.dashboard-event-panel,.dashboard-contact-panel,.dashboard-attention-panel,.dashboard-orders-panel,.dashboard-relations-panel{padding:22px!important}.dashboard-event-list{display:grid;gap:9px}.dashboard-event-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 17px;padding:14px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(255,255,255,.025)}.dashboard-event-copy{display:grid;gap:3px}.dashboard-event-copy>span,.dashboard-event-copy>small,.dashboard-event-value>span{color:var(--muted);font-size:.69rem}.dashboard-event-copy>span{text-transform:uppercase;letter-spacing:.08em}.dashboard-event-value{display:grid;justify-items:end;gap:3px}.dashboard-event-value>strong{font-size:1rem}.dashboard-event-track{grid-column:1/-1;height:7px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.07)}.dashboard-event-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#55d6a5,#ff9f43)}.dashboard-side-stack{display:grid;align-content:start;gap:16px}.dashboard-contact-panel>p{margin:-7px 0 15px;font-size:.8rem}.dashboard-contact-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:15px}.dashboard-contact-stats a{display:grid;gap:4px;padding:11px;border-radius:12px;background:rgba(255,255,255,.035)}.dashboard-contact-stats span{color:var(--muted);font-size:.65rem}.dashboard-contact-stats strong{font-size:1.35rem}.dashboard-attention-list{display:grid;gap:7px}.dashboard-attention-list a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid transparent;border-radius:12px;background:rgba(255,255,255,.03)}.dashboard-attention-list a:hover{border-color:rgba(255,159,67,.22)}.dashboard-attention-list i{width:8px;height:8px;border-radius:50%;background:#55d6a5;box-shadow:0 0 0 5px rgba(85,214,165,.08)}.dashboard-attention-list .status-attention i{background:#f5be41;box-shadow:0 0 0 5px rgba(245,190,65,.08)}.dashboard-attention-list .status-critical i{background:#ff4b5f;box-shadow:0 0 0 5px rgba(255,75,95,.09)}.dashboard-attention-list span{color:#d9cedf;font-size:.78rem}.dashboard-attention-list strong{font-size:1rem}
.dashboard-sales-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dashboard-sales-grid article{position:relative;overflow:hidden;display:grid;gap:5px;min-height:112px;padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:linear-gradient(145deg,#21142f,#160e22)}.dashboard-sales-grid article:after{content:"";position:absolute;width:58px;height:58px;right:-20px;top:-23px;border-radius:50%;background:rgba(136,102,255,.1)}.dashboard-sales-grid span,.dashboard-sales-grid small{color:var(--muted);font-size:.7rem}.dashboard-sales-grid strong{font:700 1.65rem/1.1 var(--serif)}
.dashboard-bottom-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:16px;margin-top:22px}.dashboard-bottom-grid>.card,.dashboard-bottom-grid>.card+.card{min-width:0;margin-top:0}.dashboard-orders-panel .table-wrap{margin-top:0}.dashboard-orders-panel table{margin:0}.dashboard-relation-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.dashboard-relation-summary>div{display:grid;gap:4px;padding:12px;border-radius:12px;background:rgba(255,255,255,.035)}.dashboard-relation-summary span{color:var(--muted);font-size:.68rem}.dashboard-relation-summary strong{font:700 1.45rem/1 var(--serif)}.dashboard-relations-panel .crm-leaders a{padding:11px 0}.dashboard-relations-panel .crm-leaders a:first-child{padding-top:0}
@media(max-width:1280px){.dashboard-today-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-management-grid,.dashboard-bottom-grid{grid-template-columns:1fr}.dashboard-side-stack{grid-template-columns:1fr 1fr}.dashboard-contact-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.admin-dashboard-header{display:grid}.admin-dashboard-actions{justify-content:flex-start}.dashboard-today-grid,.dashboard-sales-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-side-stack{grid-template-columns:1fr}.dashboard-section-heading{display:grid}.dashboard-section-heading>p{text-align:left}.dashboard-bottom-grid{grid-template-columns:1fr}}
@media(max-width:560px){.admin-dashboard-actions{display:grid}.admin-dashboard-actions a{width:100%;text-align:center}.dashboard-today-grid,.dashboard-sales-grid,.dashboard-contact-stats,.dashboard-relation-summary{grid-template-columns:1fr}.dashboard-today-card{min-height:105px}.dashboard-event-list article{grid-template-columns:1fr}.dashboard-event-value{justify-items:start}.dashboard-event-panel,.dashboard-contact-panel,.dashboard-attention-panel,.dashboard-orders-panel,.dashboard-relations-panel{padding:18px!important}.dashboard-orders-panel .table-wrap{overflow-x:auto}.dashboard-orders-panel table{min-width:620px}}
@media(prefers-reduced-motion:reduce){.dashboard-today-card{transition:none}}

/* Sprint 13.3 - Live Activity Feed & Event Timeline */
.command-activity-panel{position:relative;margin:0 0 16px!important;padding:22px!important;overflow:hidden;background:linear-gradient(145deg,rgba(34,20,49,.98),rgba(20,13,30,.98))}
.command-activity-header{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:17px}
.command-activity-header h2{margin:.25rem 0 .35rem;font-size:1.55rem}
.command-activity-header p{margin:0;max-width:690px;font-size:.84rem}
.command-activity-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.command-attention-badge{display:inline-flex;align-items:center;min-height:34px;padding:6px 11px;border:1px solid rgba(255,159,67,.35);border-radius:999px;background:rgba(255,159,67,.11);color:#ffc385;font-size:.72rem;font-weight:850}
.command-attention-badge.is-critical{border-color:rgba(237,71,111,.42);background:rgba(237,71,111,.12);color:#ffb0c2}
.command-activity-head-actions [data-activity-sound]{min-height:34px;padding:7px 12px;background:rgba(255,255,255,.04);box-shadow:none}
.command-activity-head-actions [data-activity-sound].is-active{border-color:rgba(85,214,165,.38);color:#a8f1d1;background:rgba(85,214,165,.08)}
.command-activity-toolbar{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px;padding:11px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(5,3,9,.18)}
.command-activity-toolbar button{min-height:32px;padding:7px 11px;border:1px solid transparent;border-radius:10px;background:transparent;box-shadow:none;color:#a99eb2;font-size:.7rem;font-weight:800}
.command-activity-toolbar button:hover,.command-activity-toolbar button.is-active{transform:none;border-color:rgba(255,159,67,.3);background:rgba(255,122,26,.1);color:#fff}
.command-activity-feed{display:grid;max-height:520px;overflow:auto;scrollbar-color:rgba(255,159,67,.4) transparent}
.command-activity-item{position:relative;display:grid;grid-template-columns:26px 92px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:13px 11px;border-bottom:1px solid rgba(255,255,255,.07);transition:background .18s ease,border-color .18s ease}
.command-activity-item:last-child{border-bottom:0}
.command-activity-item:hover{background:rgba(255,255,255,.035);border-color:rgba(255,159,67,.18)}
.command-activity-item .activity-marker{position:relative;align-self:stretch;display:grid;place-items:center}
.command-activity-item .activity-marker:before,.command-activity-item .activity-marker:after{content:"";position:absolute;left:50%;width:1px;background:rgba(255,255,255,.11);transform:translateX(-50%)}
.command-activity-item .activity-marker:before{top:-13px;bottom:50%}.command-activity-item .activity-marker:after{top:50%;bottom:-13px}
.command-activity-item:first-child .activity-marker:before,.command-activity-item:last-child .activity-marker:after{display:none}
.command-activity-item .activity-marker i{position:relative;z-index:1;width:11px;height:11px;border:3px solid #24182f;border-radius:50%;background:#8d8196;box-shadow:0 0 0 2px rgba(141,129,150,.2)}
.command-activity-item.severity-success .activity-marker i{background:#55d6a5;box-shadow:0 0 0 3px rgba(85,214,165,.13)}
.command-activity-item.severity-attention .activity-marker i{background:#ff9f43;box-shadow:0 0 0 3px rgba(255,159,67,.14)}
.command-activity-item.severity-critical .activity-marker i{background:#ed476f;box-shadow:0 0 0 3px rgba(237,71,111,.16)}
.command-activity-item>time{display:grid;gap:1px;color:#fff}
.command-activity-item>time strong{font-size:.82rem}.command-activity-item>time small{color:#83778d;font-size:.62rem}
.command-activity-item>div{display:grid;min-width:0;gap:2px}.command-activity-item>div>span{color:#ffae6e;font-size:.61rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.command-activity-item>div>strong{overflow:hidden;color:#f7f1fa;font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.command-activity-item>div>p{overflow:hidden;margin:0;color:#9f93a8;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}
.command-activity-item>b{padding:5px 8px;border-radius:8px;background:rgba(255,255,255,.045);color:#bdafc7;font-size:.64rem}.command-activity-item:hover>b{color:#ffbd83}
.command-activity-empty{padding:26px 15px;text-align:center}.command-activity-empty strong{display:block}.command-activity-empty p{margin:.3rem 0 0;font-size:.8rem}
.command-activity-toast{position:absolute;z-index:3;top:16px;left:50%;display:flex;align-items:center;gap:9px;max-width:calc(100% - 32px);padding:10px 15px;border:1px solid rgba(255,159,67,.38);border-radius:999px;background:#2e1b16;box-shadow:0 16px 36px rgba(0,0,0,.36);font-size:.72rem;transform:translateX(-50%);animation:command-activity-notice .24s ease both}.command-activity-toast.severity-critical{border-color:rgba(237,71,111,.5);background:#351421}.command-activity-toast span{overflow:hidden;max-width:330px;text-overflow:ellipsis;white-space:nowrap;color:#d8ccd8}@keyframes command-activity-notice{from{opacity:0;transform:translate(-50%,-9px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:780px){.command-activity-panel{padding:18px!important}.command-activity-header{display:grid}.command-activity-head-actions{justify-content:flex-start}.command-activity-toolbar{padding:8px}.command-activity-toolbar button{flex:1 1 auto}.command-activity-item{grid-template-columns:22px 64px minmax(0,1fr);gap:8px;padding-inline:5px}.command-activity-item>b{display:none}.command-activity-item>time small{display:none}.command-activity-feed{max-height:560px}}
@media(max-width:480px){.command-activity-header h2{font-size:1.35rem}.command-activity-head-actions{align-items:stretch}.command-attention-badge,.command-activity-head-actions [data-activity-sound]{justify-content:center;flex:1}.command-activity-toolbar button{flex-basis:calc(50% - 7px)}.command-activity-item{grid-template-columns:18px 48px minmax(0,1fr)}.command-activity-item>div>strong{white-space:normal}.command-activity-item>div>p{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}}
@media(prefers-reduced-motion:reduce){.command-activity-toast{animation:none}.command-activity-item{transition:none}}

/* Sprint 13.4 - Reporting & After Action */
.report-page{max-width:1700px}.report-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:18px}.report-heading h1{margin:.35rem 0 .55rem;font-size:clamp(2.25rem,4.5vw,4rem)}.report-heading p{margin:0;max-width:700px}.report-heading-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:12px;flex-wrap:wrap}.report-event-filter{min-width:285px}.report-event-filter label{display:grid;gap:6px}.report-export-actions{display:flex;gap:8px}.report-context{display:flex;flex-wrap:wrap;gap:1px;margin-bottom:18px;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(255,255,255,.025)}.report-context>div{display:grid;gap:2px;min-width:190px;padding:12px 16px;border-right:1px solid rgba(255,255,255,.07)}.report-context span{color:#8f8399;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.report-context strong{font-size:.82rem}.report-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin-bottom:16px}.report-kpis article{position:relative;min-width:0;padding:17px 18px;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:linear-gradient(145deg,#21142f,#160e22)}.report-kpis article:after{content:"";position:absolute;top:-34px;right:-28px;width:85px;height:85px;border-radius:50%;background:rgba(255,122,26,.09)}.report-kpis span{display:block;overflow:hidden;color:#92869b;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.075em;text-overflow:ellipsis;white-space:nowrap}.report-kpis strong{display:block;margin:7px 0 3px;color:#fff;font:700 clamp(1.35rem,2vw,2rem)/1.1 var(--serif)}.report-kpis small{display:block;overflow:hidden;color:#a99eaf;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.report-main-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:16px;margin-bottom:16px}.report-panel{min-width:0;margin:0!important;padding:22px!important}.report-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.report-panel>header h2{margin:.22rem 0 0;font-size:1.5rem}.report-panel>header>strong{color:#ffb170;font-size:1.2rem}.report-panel>header>span{color:#a99daf;font-size:.74rem}.report-panel>footer{display:flex;justify-content:space-between;gap:14px;margin-top:17px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);color:#95899f;font-size:.72rem}.report-panel>footer strong{color:#fff}.report-bar-chart{display:grid;gap:8px;min-height:105px}.report-bar-chart article{display:grid;grid-template-columns:48px minmax(100px,1fr) 72px 100px;align-items:center;gap:10px;min-width:0}.report-bar-chart time,.report-bar-chart span{color:#92869b;font-size:.67rem}.report-bar-chart article>div{height:9px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.065)}.report-bar-chart i{display:block;height:100%;min-width:5px;border-radius:inherit;background:linear-gradient(90deg,#e52c68,#f47721)}.report-bar-chart b{text-align:right;font-size:.69rem}.report-findings{display:grid;gap:8px}.report-findings article{display:grid;grid-template-columns:10px minmax(0,1fr);gap:11px;padding:11px 12px;border:1px solid rgba(255,255,255,.075);border-radius:13px;background:rgba(255,255,255,.025)}.report-findings i{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#8f8198}.report-findings strong{font-size:.77rem}.report-findings p{margin:.2rem 0 0;font-size:.7rem;line-height:1.5}.report-findings .finding-good i{background:#55d6a5}.report-findings .finding-attention i{background:#ff9f43}.report-findings .finding-critical{border-color:rgba(237,71,111,.25)}.report-findings .finding-critical i{background:#ed476f}.report-findings .finding-info i{background:#9b8ae0}.report-timeslot-panel{margin-bottom:16px!important}.report-timeslot-grid{display:grid;gap:6px}.report-timeslot-grid article{display:grid;grid-template-columns:minmax(105px,.7fr) minmax(140px,2fr) 110px 90px 48px;align-items:center;gap:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:rgba(255,255,255,.02)}.report-timeslot-grid article.is-busy{border-color:rgba(255,159,67,.22)}.report-timeslot-grid article.is-full{border-color:rgba(237,71,111,.3);background:rgba(237,71,111,.035)}.report-timeslot-grid article>div:first-child{display:grid}.report-timeslot-grid time{font-weight:850}.report-timeslot-grid small{overflow:hidden;color:#8f8399;font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.report-slot-progress{height:9px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.07)}.report-slot-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#55d6a5,#ff9f43)}.report-timeslot-grid .is-full .report-slot-progress i{background:linear-gradient(90deg,#ff9f43,#ed476f)}.report-timeslot-grid article>span{color:#9b8fa4;font-size:.68rem}.report-timeslot-grid article>span strong{color:#fff}.report-timeslot-grid article>b{text-align:right;color:#ffb171;font-size:.7rem}.report-second-grid{grid-template-columns:minmax(0,1fr) minmax(390px,.85fr)}.report-checkin-chart{display:flex;align-items:flex-end;gap:7px;min-height:245px;padding-top:12px;overflow:auto}.report-checkin-chart article{display:grid;grid-template-rows:25px 175px 24px;flex:1 0 44px;min-width:44px;text-align:center}.report-checkin-chart article>b{font-size:.68rem}.report-checkin-chart article>div{position:relative;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid rgba(255,255,255,.1)}.report-checkin-chart i{display:block;width:68%;min-height:7px;border-radius:7px 7px 0 0;background:linear-gradient(180deg,#f47721,#9b4dca)}.report-checkin-chart time{padding-top:5px;color:#8f8399;font-size:.61rem;transform:rotate(-35deg)}.report-comparison{display:grid;gap:8px}.report-comparison a{display:grid;grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(80px,.65fr));align-items:center;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.02);transition:.18s}.report-comparison a:hover,.report-comparison a.is-selected{border-color:rgba(255,159,67,.35);background:rgba(255,122,26,.055);transform:translateY(-1px)}.report-comparison a>div{display:grid}.report-comparison small{color:#897d92}.report-comparison span{display:grid;color:#8f8399;font-size:.62rem}.report-comparison b{color:#fff;font-size:.74rem}.report-operation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.report-operation-card{margin:0!important;padding:17px 18px!important}.report-operation-card>span{color:#ffae6e;font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.09em}.report-operation-card>strong{display:block;margin:7px 0 3px;font:700 1.2rem var(--serif)}.report-operation-card p{margin:0;font-size:.72rem}.report-operation-card small{display:block;margin-top:7px;color:#8e8297;font-size:.66rem}.report-scope-note{margin:16px 0 0;padding:13px 15px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.025);font-size:.7rem}.report-scope-note strong{color:#ffb171}.report-export-actions button:disabled{opacity:.65;cursor:wait}
@media(max-width:1250px){.report-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.report-main-grid,.report-second-grid{grid-template-columns:1fr}.report-operation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.report-heading{display:grid}.report-heading-actions{display:grid;justify-content:stretch}.report-event-filter{min-width:0}.report-export-actions>*{flex:1}.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.report-timeslot-grid article{grid-template-columns:65px minmax(100px,1fr) 82px 42px}.report-timeslot-grid article>span:nth-of-type(2){display:none}.report-panel>header{display:grid}.report-bar-chart article{grid-template-columns:42px minmax(80px,1fr) 88px}.report-bar-chart article>span{display:none}.report-comparison a{grid-template-columns:1fr 1fr}.report-operation-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.report-export-actions{display:grid}.report-kpis,.report-operation-grid{grid-template-columns:1fr}.report-context{display:grid}.report-context>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}.report-timeslot-grid article{grid-template-columns:52px minmax(80px,1fr) 58px}.report-timeslot-grid article>span:first-of-type{display:none}.report-comparison a{grid-template-columns:1fr}.report-panel{padding:18px!important}}
@media print{.report-heading-actions,.admin-menu-toggle,.admin-menu-backdrop{display:none!important}.report-page{padding:0!important}.report-dashboard{display:block!important}.report-panel,.report-operation-card,.report-kpis article{break-inside:avoid;box-shadow:none}.report-timeslot-grid{break-inside:auto}}

/* Sprint 13.5 - System Health, Security & Maintenance */
.system-health-page{max-width:1700px}.system-health-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:26px;margin-bottom:18px}.system-health-heading h1{margin:.35rem 0 .5rem;font-size:clamp(2.25rem,4.5vw,4rem)}.system-health-heading p{max-width:760px;margin:0}.system-health-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.system-health-overview{display:grid;grid-template-columns:minmax(280px,1.7fr) repeat(3,minmax(135px,.55fr));gap:11px;margin-bottom:16px}.system-health-overview>article{display:grid;align-content:center;min-height:128px;padding:19px 20px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:linear-gradient(145deg,#21142f,#160e22)}.system-health-overview>article>span{color:#91849a;font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.09em}.system-health-overview>article>strong{display:block;margin:7px 0 2px;font:700 2.2rem/1 var(--serif)}.system-health-overview>article>small{color:#94899e;font-size:.67rem}.system-health-overview>article.is-warning strong{color:#ffc07c}.system-health-overview>article.is-critical strong{color:#ff86a1}.system-health-score{position:relative;grid-template-columns:minmax(0,1fr) 118px;align-items:center;gap:12px;overflow:hidden}.system-health-score>div{display:grid}.system-health-score>div>span{color:#91849a;font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.09em}.system-health-score>div>strong{margin-top:7px;font:700 3rem/1 var(--serif)}.system-health-score>div>strong small{font:700 .9rem var(--sans);color:#8f8398}.system-health-score>i{position:relative;width:102px;height:102px;border-radius:50%;background:conic-gradient(#55d6a5 var(--health-score),rgba(255,255,255,.07) 0);box-shadow:0 0 28px rgba(85,214,165,.11)}.system-health-score>i:after{content:"";position:absolute;inset:9px;border-radius:50%;background:#1b1127}.system-health-score.is-warning>i{background:conic-gradient(#ff9f43 var(--health-score),rgba(255,255,255,.07) 0)}.system-health-score.is-critical>i{background:conic-gradient(#ed476f var(--health-score),rgba(255,255,255,.07) 0)}.system-health-score>p{grid-column:1/-1;margin:0;color:#9c91a5;font-size:.7rem}.system-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.system-health-panel{min-width:0;margin:0!important;padding:21px!important}.system-health-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:14px}.system-health-panel>header h2{margin:.2rem 0 0;font-size:1.4rem}.system-health-panel>header>b{padding:5px 8px;border-radius:8px;background:rgba(255,255,255,.045);color:#9d91a7;font-size:.63rem}.system-check-list{display:grid}.system-check-list article{display:grid;grid-template-columns:11px minmax(0,1fr) auto;align-items:start;gap:11px;padding:12px 4px;border-top:1px solid rgba(255,255,255,.07)}.system-check-list article:first-child{border-top:0}.system-check-list article>i{width:10px;height:10px;margin-top:4px;border-radius:50%;background:#55d6a5;box-shadow:0 0 0 3px rgba(85,214,165,.1)}.system-check-list article.is-warning>i{background:#ff9f43;box-shadow:0 0 0 3px rgba(255,159,67,.11)}.system-check-list article.is-critical>i{background:#ed476f;box-shadow:0 0 0 3px rgba(237,71,111,.12)}.system-check-list article>div{display:grid;gap:2px;min-width:0}.system-check-list article>div>strong{font-size:.78rem}.system-check-list article>div>span{overflow-wrap:anywhere;color:#a397ac;font-size:.69rem}.system-check-list article>div>p{margin:3px 0 0;color:#d4a36e;font-size:.66rem;line-height:1.45}.system-check-list article>b{padding:4px 7px;border-radius:7px;background:rgba(85,214,165,.08);color:#8be1bd;font-size:.6rem}.system-check-list article.is-warning>b{background:rgba(255,159,67,.09);color:#ffc07c}.system-check-list article.is-critical>b{background:rgba(237,71,111,.1);color:#ff9bb2}.system-maintenance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.system-maintenance-card{display:grid;align-content:start;gap:11px;margin:0!important;padding:22px!important}.system-maintenance-card h2{margin:0;font-size:1.45rem}.system-maintenance-card>p{margin:0;font-size:.72rem;line-height:1.6}.system-maintenance-status{display:grid;gap:3px;padding:12px 14px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.025)}.system-maintenance-status span,.system-maintenance-status small{color:#8f8499;font-size:.65rem}.system-maintenance-status strong{font-size:.79rem}.system-maintenance-totals{display:flex;gap:7px;flex-wrap:wrap}.system-maintenance-totals span{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:1;min-width:130px;padding:10px 11px;border:1px solid rgba(255,255,255,.07);border-radius:11px;color:#95899f;font-size:.65rem}.system-maintenance-totals strong{color:#fff;font-size:.76rem}.system-maintenance-card form{margin:0}.system-maintenance-card button:disabled{opacity:.48;cursor:not-allowed;transform:none}.system-health-note{margin:15px 0 0;padding:13px 15px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.025);font-size:.68rem}.system-health-note strong{color:#ffb171}
@media(max-width:1150px){.system-health-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.system-health-score{grid-column:1/-1}.system-health-grid{grid-template-columns:1fr}}
@media(max-width:780px){.system-health-heading{display:grid}.system-health-actions{justify-content:flex-start}.system-health-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.system-health-score{grid-template-columns:1fr 90px}.system-health-score>i{width:82px;height:82px}.system-health-overview>article{min-height:108px;padding:16px}.system-health-overview>article>strong{font-size:1.7rem}.system-maintenance-grid{grid-template-columns:1fr}}
@media(max-width:520px){.system-health-actions{display:grid}.system-health-actions a{text-align:center}.system-health-overview{grid-template-columns:1fr}.system-health-score{grid-column:auto}.system-health-panel,.system-maintenance-card{padding:18px!important}.system-check-list article{grid-template-columns:10px minmax(0,1fr)}.system-check-list article>b{grid-column:2;justify-self:start}.system-maintenance-totals{display:grid}.system-health-heading h1{font-size:2.4rem}}

/* Sprint 13.6 - Public Website UX & Conversion */
.public-page{--public-section-space:82px}
.public-page .section{padding:var(--public-section-space) 0}
.public-page h2{font-size:clamp(1.95rem,3.25vw,3.25rem);line-height:1.02}
.public-page h3{line-height:1.08}
.public-page .section-heading{gap:34px;margin-bottom:34px}
.public-page .section-heading>p{font-size:.98rem;line-height:1.7}
#tickets,#events,#story{scroll-margin-top:88px}
.public-page .topbar{gap:20px}
.public-page .main-nav{gap:18px;font-size:.86rem}
.public-page .main-nav .nav-ticket-cta{padding:.72rem 1.05rem;white-space:nowrap}
.public-mobile-ticket-cta{display:none}
.nav-toggle-lines{display:grid;width:25px;gap:5px}
.nav-toggle-lines i{display:block;width:100%;height:2px;border-radius:2px;background:#fff;transition:transform .2s ease,opacity .2s ease}
.nav-toggle.is-open .nav-toggle-lines i:first-child{transform:translateY(7px) rotate(45deg)}
.nav-toggle.is-open .nav-toggle-lines i:nth-child(2){opacity:0}
.nav-toggle.is-open .nav-toggle-lines i:last-child{transform:translateY(-7px) rotate(-45deg)}

.home-page .brand-logo{min-width:182px!important;height:80px}
.home-page .brand-logo img{width:172px!important;height:172px!important;transform:translate(-15px,0)!important}
.home-page .topbar.is-scrolled .brand-logo{min-width:142px!important;height:64px}
.home-page .topbar.is-scrolled .brand-logo img{width:62px!important;height:62px!important;transform:none!important}
.home-page .story-hero.public-conversion-hero{min-height:620px}
.home-page .public-conversion-hero .hero-inner{padding-top:122px!important;padding-bottom:108px}
.public-conversion-hero .story-hero-copy{max-width:790px}
.public-conversion-hero .story-prologue{margin-top:18px;font-size:.72rem;letter-spacing:.115em}
.public-conversion-hero .story-title{width:min(100%,760px)!important;margin:20px 0!important;font-size:clamp(3rem,5vw,4.85rem)!important;line-height:.94!important}
.public-conversion-hero .story-title em{padding-left:8%}
.public-conversion-hero .story-hero-copy>p{max-width:650px;font-size:1rem;line-height:1.7}
.hero-primary-actions{margin-top:25px}
.hero-primary-actions .button{min-width:180px;text-align:center}
.public-conversion-hero .hero-facts{margin-top:34px}
.public-conversion-hero .hero-facts strong{font-size:.94rem}
.public-conversion-hero .hero-facts span{font-size:.72rem}

.public-ticket-picker{position:relative;z-index:5;margin-top:-54px;padding:0 0 84px;background:linear-gradient(180deg,transparent 0,#0c0713 72px,#0c0713 100%)}
.public-ticket-picker-heading{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.62fr);gap:38px;align-items:end;margin-bottom:26px;padding:28px 30px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:rgba(17,9,27,.92);box-shadow:0 28px 70px rgba(0,0,0,.34);backdrop-filter:blur(14px)}
.public-ticket-picker-heading h2{max-width:680px;margin:.35rem 0 0;font-size:clamp(2rem,3.35vw,3.25rem)}
.public-ticket-picker-heading p{margin:0;color:var(--muted);line-height:1.65}
.public-ticket-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.public-ticket-option{position:relative;display:flex;flex-direction:column;min-width:0;padding:27px;border:1px solid rgba(255,255,255,.11);border-radius:22px;background:linear-gradient(155deg,rgba(42,20,53,.96),rgba(19,10,29,.98));box-shadow:0 22px 54px rgba(0,0,0,.25);overflow:hidden}
.public-ticket-option:after{content:"";position:absolute;right:-80px;bottom:-90px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(235,177,74,.12),transparent 70%);pointer-events:none}
.public-ticket-option.is-family{background:linear-gradient(155deg,rgba(76,29,72,.96),rgba(24,12,35,.98))}
.public-ticket-option.is-dark{background:linear-gradient(155deg,rgba(43,24,45,.96),rgba(14,9,24,.99))}
.public-ticket-option.is-combi{border-color:rgba(235,177,74,.42);background:linear-gradient(155deg,rgba(72,43,27,.92),rgba(25,13,31,.99))}
.public-ticket-option-top{display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--orange2);font-size:.67rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.public-ticket-option-top b{font-family:var(--serif);font-size:2.2rem;color:rgba(255,255,255,.12)}
.public-ticket-option h3{margin:8px 0 12px;font-size:clamp(1.65rem,2.25vw,2.3rem)}
.public-ticket-option>p{flex:1;margin:0;color:#cec3d3;font-size:.88rem;line-height:1.65}
.public-ticket-option dl{display:grid;gap:0;margin:22px 0 20px;border-top:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09)}
.public-ticket-option dl>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.public-ticket-option dl>div:last-child{border-bottom:0}
.public-ticket-option dt{color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.public-ticket-option dd{margin:0;text-align:right;font-size:.8rem;font-weight:800}
.public-ticket-option s{color:var(--muted);font-weight:500}
.public-ticket-option .button{position:relative;z-index:1;margin:0;padding:.82rem 1rem;font-size:.78rem}
.public-ticket-more{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:13px;color:var(--muted);font-size:.72rem;font-weight:800;text-decoration:none}
.public-ticket-more:hover{color:#fff}
.public-ticket-badge{position:absolute;top:0;right:22px;padding:6px 10px;border-radius:0 0 10px 10px;background:#e6ad45;color:#271509;font-size:.61rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.public-ticket-confidence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.public-ticket-confidence>span{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:11px;padding:14px 17px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.025)}
.public-ticket-confidence i{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(230,173,69,.14);color:#f4cf83;font-style:normal;font-size:.72rem;font-weight:900}
.public-ticket-confidence strong{font-size:.78rem}.public-ticket-confidence small{color:var(--muted);font-size:.68rem}

.public-experiences{padding-top:88px!important}
.public-experiences .story-events-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.62fr)!important;gap:36px!important;margin-bottom:38px!important}
.public-experiences .story-events-heading h2{max-width:700px;font-size:clamp(2.2rem,3.8vw,3.65rem)}
.public-experiences .story-events-heading>p{max-width:430px;line-height:1.7}
.public-experiences .event-grid{gap:18px}
.public-experiences .event-card{min-height:400px;padding:31px;border-radius:24px}
.public-experiences .event-card h3{max-width:620px;margin:11px 0;font-size:clamp(1.85rem,2.75vw,2.65rem)}
.public-experiences .event-card p{font-size:.9rem;line-height:1.66}
.public-experiences .event-number{font-size:4rem}
.public-experiences .event-meta{margin:17px 0}
.public-experiences .button.compact{align-self:flex-start;margin-top:2px}

.public-story-section{background:linear-gradient(180deg,#10091b,#0c0713)}
.public-story-section .legend-intro{grid-template-columns:minmax(0,1.15fr) minmax(260px,.65fr);gap:36px;margin-bottom:42px}
.public-story-section .legend-intro h2{max-width:680px;font-size:clamp(2.25rem,4vw,3.8rem)}
.public-story-section .legend-intro p{font-size:.98rem;line-height:1.7}
.public-story-section .legend-chapters{max-width:980px}
.public-story-section .legend-chapter{padding:24px 0 24px 92px}
.public-story-section .legend-chapter h3{font-size:clamp(1.35rem,2vw,1.85rem)}
.public-story-section .legend-chapter p{font-size:.9rem;line-height:1.65}
.public-story-section .legend-quote blockquote{font-size:clamp(1.45rem,2.6vw,2.35rem)}
.public-story-finale{margin-top:42px;padding:32px}
.public-story-finale strong{font-size:clamp(1.65rem,2.5vw,2.4rem)}
.public-newsletter-section{padding-top:72px!important}
.public-newsletter-section .newsletter-band{padding:30px}
.public-newsletter-section .newsletter-band h2{font-size:clamp(1.85rem,3vw,2.8rem)}

.public-auth-card{width:min(760px,calc(100% - 32px));max-width:none;margin:72px auto;padding:34px}
.public-auth-card h1{margin:.35rem 0 .6rem;font-size:clamp(2rem,3.6vw,3rem)}
.public-auth-card>p.muted{margin-bottom:24px}
.public-auth-card form{display:grid;gap:15px}
.public-auth-card form>label,.public-auth-grid>label{display:grid;gap:7px}
.public-auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.public-auth-password-grid{align-items:start}
.public-auth-password-grid>label{align-content:start}
.public-auth-card .consent-box .check-row{display:grid!important;grid-template-columns:24px minmax(0,1fr);gap:14px!important;align-items:start}
.public-auth-card .consent-box .check-row input[type="checkbox"]{display:grid!important;width:24px!important;height:24px!important;min-width:24px!important;max-width:24px!important;min-height:24px!important;max-height:24px!important;aspect-ratio:1/1;flex:none!important;margin:2px 0 0!important;padding:0!important;box-sizing:border-box}
.public-auth-card .consent-box .check-row>span{min-width:0}
.public-auth-card label small{color:var(--muted);font-weight:500}
.public-auth-submit{justify-self:start;width:auto!important;margin-top:2px}
.public-auth-switch{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:.85rem}
.public-auth-links{display:flex;justify-content:space-between;gap:20px;margin-top:21px;padding-top:18px;border-top:1px solid var(--line);font-size:.82rem}
.public-auth-card-compact{width:min(520px,calc(100% - 32px))}
.public-confirmation-card{text-align:center}.public-confirmation-card .button{margin-top:16px}
.public-page .volunteer-hero h1{font-size:clamp(2.7rem,5.2vw,4.75rem)}

@media(max-width:1050px){
 .public-page .main-nav{gap:12px}
 .public-ticket-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 .public-ticket-option.is-combi{grid-column:1/-1}
 .public-ticket-option.is-combi dl{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}
 .public-ticket-option.is-combi dl>div{border-bottom:0}
 .public-experiences .story-events-heading{grid-template-columns:1fr!important}
 .public-experiences .story-events-heading>p{justify-self:start;max-width:720px}
}
@media(max-width:880px){
 .home-page .brand-logo{min-width:155px!important}
 .home-page .brand-logo img{width:150px!important;height:150px!important}
 .public-ticket-picker-heading{grid-template-columns:1fr;gap:12px}
 .public-story-section .legend-intro{grid-template-columns:1fr;gap:18px}
}
@media(max-width:780px){
 .public-page{padding-bottom:76px;--public-section-space:66px}
 .public-page .topbar{min-height:70px;padding:8px 16px}
 .public-page .main-nav{top:72px;left:12px;right:12px;gap:2px;padding:12px;border-radius:16px;max-height:calc(100vh - 92px);overflow:auto}
 .public-page .main-nav>a:not(.button){padding:11px 12px;border-radius:10px}
 .public-page .main-nav>a:not(.button):hover{background:rgba(255,255,255,.05)}
 .public-page .main-nav .nav-ticket-cta{margin-top:7px;text-align:center}
 body.public-menu-open{overflow:hidden}
 .public-mobile-ticket-cta{position:fixed;left:10px;right:10px;bottom:9px;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border:1px solid rgba(240,189,98,.48);border-radius:15px;background:linear-gradient(135deg,rgba(122,48,45,.98),rgba(84,36,89,.98));box-shadow:0 14px 38px rgba(0,0,0,.46);color:#fff;text-decoration:none;backdrop-filter:blur(14px)}
 .public-mobile-ticket-cta span{color:#dccfe2;font-size:.68rem}.public-mobile-ticket-cta strong{font-size:.82rem}
 .home-page .brand-logo,.home-page .topbar.is-scrolled .brand-logo{min-width:auto!important;height:auto}
 .home-page .brand-logo img,.home-page .topbar.is-scrolled .brand-logo img{width:55px!important;height:55px!important;transform:none!important}
 .home-page .story-hero.public-conversion-hero{min-height:auto;background-position:62% center}
 .home-page .public-conversion-hero .hero-inner{padding-top:80px!important;padding-bottom:105px}
 .public-conversion-hero .story-prologue{display:grid;gap:2px;font-size:.62rem}
 .public-conversion-hero .story-title{margin:17px 0!important;font-size:clamp(2.45rem,11vw,3.55rem)!important}
 .public-conversion-hero .story-title em{padding-left:0}
 .public-conversion-hero .story-hero-copy>p{font-size:.9rem;line-height:1.62}
 .hero-primary-actions{display:grid;grid-template-columns:1fr}.hero-primary-actions .button{width:100%;box-sizing:border-box}
 .public-conversion-hero .hero-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.public-conversion-hero .hero-facts span:last-child{grid-column:1/-1}
 .public-ticket-picker{margin-top:-37px;padding-bottom:64px;background:linear-gradient(180deg,transparent 0,#0c0713 50px,#0c0713 100%)}
 .public-ticket-picker-heading{padding:21px;margin-bottom:14px;border-radius:19px}
 .public-ticket-picker-heading h2{font-size:2rem}
 .public-ticket-picker-heading p{font-size:.84rem}
 .public-ticket-options{grid-template-columns:1fr}
 .public-ticket-option.is-combi{grid-column:auto}
 .public-ticket-option.is-combi dl{grid-template-columns:1fr}
 .public-ticket-option.is-combi dl>div{border-bottom:1px solid rgba(255,255,255,.07)}.public-ticket-option.is-combi dl>div:last-child{border-bottom:0}
 .public-ticket-confidence{grid-template-columns:1fr}
 .public-experiences{padding-top:67px!important}
 .public-experiences .event-card{min-height:370px;padding:24px}
 .public-experiences .story-events-heading{margin-bottom:28px!important}
 .public-experiences .event-card h3{font-size:2rem}
 .public-story-section .legend-intro{margin-bottom:26px}
 .public-story-section .legend-chapter{padding:21px 0 21px 66px}
 .public-story-section .legend-chapters:before{left:27px}
 .public-story-finale{padding:25px 21px}
 .public-newsletter-section .newsletter-band{padding:24px 20px}
 .public-auth-card{margin:42px auto;padding:25px 21px}
 .public-auth-grid{grid-template-columns:1fr}
 .public-auth-links{align-items:flex-start;flex-direction:column;gap:10px}
}
@media(max-width:480px){
 .public-page h2{font-size:1.95rem}
 .public-ticket-option{padding:22px 20px}
 .public-ticket-option h3{font-size:1.8rem}
 .public-ticket-confidence>span{padding:13px}
 .public-experiences .event-card{min-height:350px}
 .public-experiences .event-card h3{font-size:1.75rem}
 .public-story-section .legend-chapter{padding-left:0}
 .public-story-section .legend-chapters:before{display:none}
 .public-story-section .chapter-number{position:static;display:inline-flex;margin-bottom:9px}
}
@media(prefers-reduced-motion:reduce){.nav-toggle-lines i{transition:none}}

/* Sprint 13.6.2 - Public WhatsApp contact button */
.public-whatsapp-button{position:fixed;right:24px;bottom:24px;z-index:69;display:grid;place-items:center;width:62px;height:62px;border:1px solid rgba(240,189,98,.58);border-radius:50%;background:linear-gradient(145deg,rgba(73,38,91,.98),rgba(23,12,35,.99));box-shadow:0 16px 44px rgba(0,0,0,.46),0 0 0 5px rgba(230,173,69,.07),0 0 28px rgba(229,107,39,.15);color:#fff;text-decoration:none;isolation:isolate;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.public-whatsapp-button:before{content:"";position:absolute;inset:5px;border-radius:inherit;background:radial-gradient(circle at 32% 25%,rgba(255,255,255,.14),transparent 38%);pointer-events:none;z-index:-1}
.public-whatsapp-button svg{display:block;width:35px;height:35px;filter:drop-shadow(0 5px 9px rgba(0,0,0,.25))}
.public-whatsapp-button .whatsapp-bubble{fill:#25d366}
.public-whatsapp-button .whatsapp-phone{fill:#fff}
.public-whatsapp-label{position:absolute;right:74px;width:max-content;max-width:220px;padding:9px 12px;border:1px solid rgba(240,189,98,.28);border-radius:11px;background:rgba(21,10,31,.96);box-shadow:0 12px 30px rgba(0,0,0,.34);color:#f7eff9;font-size:.72rem;font-weight:800;letter-spacing:.01em;opacity:0;pointer-events:none;transform:translateX(8px);transition:opacity .2s ease,transform .2s ease}
.public-whatsapp-button:hover,.public-whatsapp-button:focus-visible{transform:translateY(-4px) scale(1.03);border-color:rgba(240,189,98,.9);box-shadow:0 20px 50px rgba(0,0,0,.5),0 0 0 6px rgba(230,173,69,.1),0 0 36px rgba(229,107,39,.23)}
.public-whatsapp-button:hover .public-whatsapp-label,.public-whatsapp-button:focus-visible .public-whatsapp-label{opacity:1;transform:none}
.public-whatsapp-button:focus-visible{outline:3px solid rgba(255,255,255,.78);outline-offset:4px}
@media(max-width:780px){.public-whatsapp-button{right:14px;bottom:90px;width:56px;height:56px}.public-whatsapp-button svg{width:32px;height:32px}.public-whatsapp-label{display:none}}
@media(max-width:480px){.public-whatsapp-button{right:12px;bottom:86px;width:52px;height:52px}.public-whatsapp-button svg{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.public-whatsapp-button,.public-whatsapp-label{transition:none}}

/* Sprint 13.6.3 - WhatsApp floating position and orange brand treatment */
@keyframes publicPageFadeIn{from{opacity:0}to{opacity:1}}
@keyframes publicPageFadeOut{to{opacity:0}}
body.public-page.is-page-ready{animation:publicPageFadeIn .42s var(--ease-premium) both}
body.public-page.is-page-leaving{animation:publicPageFadeOut .18s ease both}
.public-whatsapp-button{position:fixed!important;top:auto!important;right:24px!important;bottom:24px!important;left:auto!important;margin:0!important}
.public-whatsapp-button .whatsapp-bubble{fill:#f47721}
.public-whatsapp-button:after{content:"";position:absolute;inset:-7px;border:1px solid rgba(244,119,33,.2);border-radius:50%;opacity:.65;animation:whatsappHalo 3.2s ease-in-out infinite;pointer-events:none}
@keyframes whatsappHalo{0%,100%{transform:scale(.94);opacity:.35}50%{transform:scale(1.08);opacity:.8}}
@media(max-width:780px){.public-whatsapp-button{right:14px!important;bottom:90px!important}}
@media(max-width:480px){.public-whatsapp-button{right:12px!important;bottom:86px!important}}
@media(prefers-reduced-motion:reduce){.public-whatsapp-button:after{animation:none}}

/* Sprint 14.0 - Mollie iDEAL | Wero payments */
.order-detail-page{max-width:1500px}
.mollie-payment-card{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);gap:28px;align-items:center;margin:18px 0 28px!important;padding:26px!important;border-color:rgba(244,119,33,.3);background:linear-gradient(135deg,rgba(67,31,67,.96),rgba(26,14,38,.98));box-shadow:0 22px 55px rgba(0,0,0,.24)}
.mollie-payment-copy h2{margin:.4rem 0 .55rem;font-size:clamp(1.6rem,2.7vw,2.35rem)}
.mollie-payment-copy>p{max-width:760px;margin:0;color:#cbbfd1;font-size:.86rem;line-height:1.65}
.mollie-payment-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}
.mollie-payment-meta>span{padding:8px 11px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.035);color:#9f93a7;font-size:.68rem}
.mollie-payment-meta strong{color:#fff}
.mollie-payment-action{display:grid;justify-items:stretch;gap:10px;padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:rgba(12,7,19,.42)}
.mollie-brand-text{display:flex;align-items:center;justify-content:center;gap:10px;color:#fff}
.mollie-brand-text strong{font:800 1.15rem var(--sans);letter-spacing:-.03em}.mollie-brand-text span{font:800 1.05rem var(--sans)}
.mollie-brand-text i{width:1px;height:20px;background:rgba(255,255,255,.25)}
.mollie-test-badge{justify-self:center;padding:5px 9px;border:1px solid rgba(255,174,71,.32);border-radius:999px;background:rgba(255,159,67,.09);color:#ffc07c;font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.mollie-payment-action form{margin:0}.mollie-pay-button{width:100%;justify-content:center;padding:.86rem 1rem!important}
.mollie-payment-action>small{color:#887c91;font-size:.62rem;line-height:1.45;text-align:center}
.mollie-unavailable{margin:0;padding:11px;border:1px solid rgba(255,159,67,.2);border-radius:11px;background:rgba(255,159,67,.06);color:#d9b48d;font-size:.7rem;line-height:1.55}
.mollie-payment-confirmed{display:grid;grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:14px;margin:18px 0 28px!important;padding:18px 21px!important;border-color:rgba(85,214,165,.3);background:linear-gradient(135deg,rgba(20,61,54,.38),rgba(27,16,38,.95))}
.mollie-payment-confirmed>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(85,214,165,.15);color:#77e1b9;font-size:1.2rem;font-weight:900}
.mollie-payment-confirmed strong{font-size:.9rem}.mollie-payment-confirmed p{margin:.22rem 0 0;font-size:.72rem}
.mollie-payment-confirmed>b{padding:5px 8px;border-radius:8px;background:rgba(255,159,67,.1);color:#ffc07c;font-size:.6rem;text-transform:uppercase;letter-spacing:.07em}
.admin-payment-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;margin-top:16px!important}
.admin-payment-card h2{margin:.25rem 0 .65rem;font-size:1.45rem}.admin-payment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.admin-payment-grid>div{display:grid;gap:3px;padding:10px 11px;border:1px solid rgba(255,255,255,.07);border-radius:11px;background:rgba(255,255,255,.025)}
.admin-payment-grid span{color:#8f8399;font-size:.61rem;text-transform:uppercase;letter-spacing:.06em}.admin-payment-grid strong{overflow-wrap:anywhere;font-size:.73rem}
.payment-status-pill{padding:6px 9px;border-radius:9px;font-size:.65rem;font-weight:850}.payment-status-pill.is-success{background:rgba(85,214,165,.11);color:#86dfbd}.payment-status-pill.is-pending{background:rgba(255,159,67,.11);color:#ffc07c}.payment-status-pill.is-error{background:rgba(237,71,111,.12);color:#ff9cb3}.payment-status-pill.is-warning{background:rgba(230,173,69,.12);color:#f4cf83}
@media(max-width:900px){.mollie-payment-card{grid-template-columns:1fr}.mollie-payment-action{max-width:480px}.admin-payment-card{grid-template-columns:1fr}.admin-payment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.mollie-payment-card{padding:20px!important}.mollie-payment-meta{display:grid}.mollie-payment-action{padding:15px}.mollie-payment-confirmed{grid-template-columns:40px minmax(0,1fr)}.mollie-payment-confirmed>b{grid-column:2;justify-self:start}.admin-payment-grid{grid-template-columns:1fr}}

/* Sprint 14.0.1 - Public terms and checkout consent */
.terms-hero{position:relative;padding:118px 0 72px;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 78% 20%,rgba(244,119,33,.14),transparent 31%),linear-gradient(145deg,#241130,#0c0713 68%)}
.terms-hero:after{content:"";position:absolute;right:-120px;bottom:-160px;width:430px;height:430px;border:1px solid rgba(230,173,69,.09);border-radius:50%;box-shadow:0 0 0 42px rgba(230,173,69,.025),0 0 0 86px rgba(230,173,69,.018)}
.terms-hero .wrap{position:relative;z-index:1}.terms-hero h1{max-width:850px;margin:.45rem 0 .8rem;font-size:clamp(2.75rem,6vw,5.4rem)}
.terms-hero p{max-width:720px;margin:0;color:#cdbfd3;font-size:clamp(.93rem,1.45vw,1.08rem);line-height:1.72}
.terms-version{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:25px}.terms-version span,.terms-version a{padding:8px 11px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.035);color:#b9adbf;font-size:.68rem;font-weight:800;text-decoration:none}.terms-version a{border-color:rgba(244,119,33,.28);color:#ffc07c}
.terms-layout{display:grid;grid-template-columns:270px minmax(0,860px);justify-content:center;gap:26px;align-items:start;padding-top:52px;padding-bottom:92px}
.terms-navigation{position:sticky;top:94px;display:grid;gap:11px;margin:0!important;padding:20px!important}.terms-navigation>strong{font:700 1.35rem var(--serif)}
.terms-navigation nav{display:grid;border-top:1px solid rgba(255,255,255,.08)}.terms-navigation nav a{padding:8px 3px;border-bottom:1px solid rgba(255,255,255,.065);color:#a99dac;font-size:.69rem;font-weight:750;text-decoration:none;transition:.18s}.terms-navigation nav a:hover{padding-left:6px;color:#ffc07c}
.terms-help{display:grid;gap:9px;margin-top:4px;padding:13px;border:1px solid rgba(244,119,33,.17);border-radius:12px;background:rgba(244,119,33,.045)}.terms-help span{color:#bfb2c5;font-size:.68rem}.terms-help a{text-align:center}
.terms-content{display:grid;gap:13px;min-width:0}.terms-introduction{margin:0 0 7px!important;padding:27px!important;border-color:rgba(244,119,33,.2);background:linear-gradient(145deg,rgba(58,28,62,.82),rgba(25,14,36,.96))}.terms-introduction h2{margin:.35rem 0 .45rem;font-size:1.8rem}.terms-introduction p{margin:0;font-size:.82rem;line-height:1.68}
.terms-content>section{scroll-margin-top:92px;padding:26px 28px;border:1px solid rgba(255,255,255,.075);border-radius:17px;background:linear-gradient(145deg,rgba(34,21,45,.86),rgba(20,12,29,.94));box-shadow:0 15px 34px rgba(0,0,0,.12)}
.terms-article-number{color:#f2aa67;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.13em}.terms-content>section h2{margin:.34rem 0 1rem;font-size:1.48rem}
.terms-content ol{display:grid;gap:.72rem;margin:0;padding-left:1.25rem}.terms-content li{padding-left:.22rem;color:#c4b8ca;font-size:.79rem;line-height:1.67}.terms-content li::marker{color:#e1843a;font-weight:850}.terms-content li strong{color:#fff}.terms-content li a{color:#f2b474;text-underline-offset:3px}
.terms-closing{display:grid;grid-template-columns:45px minmax(0,1fr);gap:14px;align-items:center;margin:7px 0 0!important;padding:20px 22px!important;border-color:rgba(85,214,165,.24);background:rgba(85,214,165,.04)}.terms-closing>span{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:rgba(85,214,165,.13);color:#83dfbd;font-size:1.12rem;font-weight:900}.terms-closing strong{font-size:.88rem}.terms-closing p{margin:.25rem 0 0;font-size:.71rem;line-height:1.55}
.checkout-terms-consent{display:grid!important;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;margin:5px 0 12px;padding:12px 13px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.035);cursor:pointer}.checkout-terms-consent input{width:20px!important;height:20px!important;min-width:20px;margin:0!important;accent-color:#f47721}.checkout-terms-consent span{color:#b8abbf;font-size:.68rem;line-height:1.48}.checkout-terms-consent a{color:#ffc07c;text-underline-offset:2px}
@media(max-width:940px){.terms-layout{grid-template-columns:1fr;max-width:900px}.terms-navigation{position:static}.terms-navigation nav{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}.terms-help{max-width:330px}}
@media(max-width:600px){.terms-hero{padding:92px 0 56px}.terms-hero h1{font-size:2.75rem}.terms-layout{padding-top:28px;padding-bottom:76px}.terms-navigation nav{grid-template-columns:1fr}.terms-content>section,.terms-introduction{padding:21px!important}.terms-content>section h2{font-size:1.32rem}.terms-content li{font-size:.76rem}.terms-closing{padding:18px!important}}
@media print{.terms-hero{padding:25px 0;background:#fff;color:#000}.terms-hero p,.terms-version span{color:#333}.terms-layout{display:block;padding:0}.terms-navigation,.topbar,.site-footer,.public-whatsapp-button,.public-mobile-ticket-cta,.ambient-layer{display:none!important}.terms-content{display:block}.terms-content>section,.terms-introduction,.terms-closing{break-inside:avoid;margin:0 0 10px!important;border:1px solid #bbb;background:#fff!important;box-shadow:none;color:#000}.terms-content h2,.terms-content li,.terms-content li strong,.terms-introduction p,.terms-closing p,.terms-closing strong{color:#000}}

/* Sprint 14.0.2 - Payment recovery and checkout encoding polish */
.order-detail-page{width:min(100%,1500px);margin-inline:auto}
.order-experience-header{max-width:1050px;margin-bottom:22px}
.order-experience-header h1{margin:.35rem 0 .65rem;font-size:clamp(2rem,3.4vw,3.35rem);letter-spacing:-.025em;overflow-wrap:anywhere}
.order-experience-header h1 span{color:#f5d9bd}
.order-experience-header p{max-width:850px;margin:0 0 13px;font-size:.92rem;line-height:1.7}
.order-financial-summary{width:min(100%,500px);padding:20px 22px!important;background:linear-gradient(145deg,rgba(38,21,53,.96),rgba(20,13,29,.98))}
.order-financial-summary strong{font-variant-numeric:tabular-nums}
.payment-feedback{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start;width:min(100%,900px);margin:0 0 20px;padding:17px 19px;border:1px solid rgba(255,171,79,.32);border-radius:17px;background:linear-gradient(135deg,rgba(111,69,19,.34),rgba(39,21,47,.82));box-shadow:0 16px 35px rgba(0,0,0,.14)}
.payment-feedback-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,168,70,.14);border:1px solid rgba(255,183,98,.28);color:#ffc078;font-size:1.15rem;font-weight:900}
.payment-feedback strong{display:block;color:#fff;font-size:.92rem}.payment-feedback p{margin:.2rem 0 .25rem;color:#d8c8d2;font-size:.78rem;line-height:1.55}.payment-feedback small{color:#a99aa8;font-size:.62rem;letter-spacing:.04em}
.mollie-payment-card{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:32px;padding:28px!important}
.mollie-payment-copy h2{font-size:clamp(1.55rem,2.3vw,2.15rem)}
.mollie-payment-steps{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:18px 0 0}
.mollie-payment-steps span{display:flex;align-items:center;gap:7px;color:#c9bccd;font-size:.68rem;font-weight:750}.mollie-payment-steps span:not(:last-child):after{content:"";width:20px;height:1px;margin-left:2px;background:rgba(255,255,255,.16)}
.mollie-payment-steps b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:rgba(244,119,33,.13);border:1px solid rgba(244,119,33,.25);color:#ffb170;font-size:.62rem}
.mollie-payment-action{align-content:center;min-height:205px}
.mollie-pay-button{min-height:48px;border-radius:13px!important;font-size:.82rem}
.mollie-unavailable{display:grid;grid-template-columns:1fr;gap:4px;padding:13px 14px}.mollie-unavailable strong{color:#f5d2ac;font-size:.76rem}.mollie-unavailable span{color:#bea68f;font-size:.67rem;line-height:1.5}
.mollie-payment-action .button.compact{justify-self:start;padding:9px 13px!important;font-size:.7rem}
.order-experience-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:24px;align-items:start;margin-top:30px}
.order-experience-grid h2{margin:30px 0 13px;font-size:clamp(1.55rem,2.4vw,2.2rem)}.order-experience-grid>div>h2:first-child{margin-top:0}
.order-ticket-list{display:grid;gap:12px}.order-ticket-item{padding:18px 20px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.025)}.order-ticket-item h3{margin:.25rem 0;font-size:1.25rem}.order-ticket-item p{margin:0;font-size:.78rem}
.order-story-note{position:sticky;top:98px;padding:22px;border:1px solid rgba(244,119,33,.18);border-radius:18px;background:linear-gradient(145deg,rgba(45,23,58,.84),rgba(22,13,31,.96))}.order-story-note h3{margin:.45rem 0 .55rem;font-size:1.25rem}.order-story-note p{font-size:.76rem;line-height:1.6}
@media(max-width:900px){.mollie-payment-card,.order-experience-grid{grid-template-columns:1fr}.mollie-payment-action{min-height:0;max-width:none}.order-story-note{position:static}}
@media(max-width:560px){.order-experience-header h1{font-size:1.85rem}.order-experience-header h1 span{display:block;margin-top:5px;font-size:1.35rem}.payment-feedback{grid-template-columns:36px minmax(0,1fr);padding:14px}.payment-feedback-icon{width:34px;height:34px}.mollie-payment-card{padding:19px!important}.mollie-payment-steps{display:grid}.mollie-payment-steps span:not(:last-child):after{display:none}.mollie-payment-meta{grid-template-columns:1fr}.order-financial-summary{padding:17px!important}}

/* Sprint 14.1A - Payment Operations & Reliability */
.payment-operations-page{min-width:0}.payment-operations-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:24px}.payment-operations-heading h1{margin:.25rem 0 .5rem;font-size:clamp(2.3rem,5vw,4.6rem)}.payment-operations-heading p{max-width:760px;margin:0}.payment-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:11px;flex-wrap:wrap}.payment-heading-actions form,.payment-row-actions form{margin:0}.payment-mode-badge{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid;border-radius:999px;font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.payment-mode-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor}.payment-mode-badge.is-test{color:#ffc36f;border-color:rgba(255,159,67,.32);background:rgba(255,159,67,.08)}.payment-mode-badge.is-live{color:#71dcaf;border-color:rgba(85,214,165,.34);background:rgba(85,214,165,.08)}
.payment-schema-warning{display:flex;gap:12px;align-items:center;margin-bottom:20px;padding:14px 17px;border:1px solid rgba(255,178,84,.32);border-radius:14px;background:rgba(255,159,67,.08)}.payment-schema-warning strong{color:#ffc37c}.payment-schema-warning span{color:var(--muted);font-size:.82rem}.payment-schema-warning code{color:#fff}
.payment-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.payment-summary-grid article{position:relative;display:grid;gap:5px;min-width:0;padding:19px 20px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:linear-gradient(145deg,rgba(40,20,52,.92),rgba(22,12,32,.96));overflow:hidden}.payment-summary-grid article:after{content:"";position:absolute;right:-32px;bottom:-55px;width:120px;height:120px;border-radius:50%;background:rgba(164,83,195,.1)}.payment-summary-grid span{position:relative;z-index:1;color:var(--muted);font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.07em}.payment-summary-grid strong{position:relative;z-index:1;font-size:1.85rem;line-height:1.15}.payment-summary-grid strong i{color:var(--muted);font-size:.85rem;font-style:normal}.payment-summary-grid small{position:relative;z-index:1;color:#968a9f;font-size:.72rem}.payment-summary-grid .is-success{border-color:rgba(85,214,165,.22)}.payment-summary-grid .is-success strong{color:#86dfbd}.payment-summary-grid .is-attention{border-color:rgba(255,159,67,.32)}.payment-summary-grid .is-attention strong{color:#ffc07c}.payment-summary-grid .is-critical{border-color:rgba(237,71,111,.34)}.payment-summary-grid .is-critical strong{color:#ff9cb3}
.payment-filter-card{padding:18px 20px!important;margin-bottom:20px!important}.payment-filter-form{display:grid;grid-template-columns:minmax(220px,1.7fr) repeat(3,minmax(145px,.8fr)) auto;gap:11px;align-items:end}.payment-filter-form label{display:grid;gap:6px;min-width:0}.payment-filter-form label>span{color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.payment-filter-form input,.payment-filter-form select{width:100%;min-width:0}.payment-filter-actions{display:flex;align-items:center;gap:11px;white-space:nowrap}.payment-filter-actions a{color:#baafc0;font-size:.75rem;font-weight:750}.button-quiet{display:inline-flex;align-items:center;justify-content:center;padding:10px 13px;border:1px solid rgba(255,255,255,.11);border-radius:10px;background:rgba(255,255,255,.035);box-shadow:none;color:#ded5e4;font-size:.75rem;font-weight:750}.button-quiet:hover{border-color:rgba(244,119,33,.4);background:rgba(244,119,33,.08);box-shadow:none}
.payment-table-card{padding:0!important;overflow:hidden}.payment-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;padding:23px 25px;border-bottom:1px solid rgba(255,255,255,.08)}.payment-panel-heading h2{margin:.18rem 0 0;font-size:1.45rem}.payment-panel-heading>p{max-width:520px;margin:3px 0 0;text-align:right;font-size:.78rem}.payment-operations-table{min-width:1180px}.payment-operations-table th{font-size:.64rem;letter-spacing:.07em;text-transform:uppercase}.payment-operations-table td{vertical-align:middle}.payment-operations-table td>small,.payment-operations-table td>span+small,.payment-operations-table td>code+small{display:block;margin-top:5px;color:#8f8399;font-size:.66rem}.payment-operations-table code{display:block;max-width:165px;overflow:hidden;text-overflow:ellipsis;color:#d9cce0;font-size:.7rem}.payment-operations-table td>em{display:block;max-width:260px;margin-top:6px;color:#ff9cb3;font-size:.64rem;font-style:normal;line-height:1.4}.payment-order-link{display:grid;gap:2px}.payment-order-link strong{color:#fff;font-size:.79rem}.payment-order-link span{font-size:.72rem}.payment-order-link small{color:#8f8399;font-size:.64rem}.payment-signal{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:.67rem;font-weight:800}.payment-signal i{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor}.payment-signal.is-good{color:#7edcaf}.payment-signal.is-attention{color:#ffc07c}.payment-signal.is-critical{color:#ff8fa9}.payment-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.payment-row-actions .compact{padding:8px 10px;font-size:.67rem}.payment-empty{display:grid;gap:4px;padding:34px;text-align:center}.payment-empty span{color:var(--muted)}
.payment-activity-card,.order-payment-timeline{margin-top:20px!important;padding:0!important;overflow:hidden}.payment-activity-list{display:grid}.payment-activity-list>a,.payment-activity-list>article{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:13px;align-items:start;padding:14px 24px;border-bottom:1px solid rgba(255,255,255,.065)}.payment-activity-list>a:last-child,.payment-activity-list>article:last-child{border-bottom:0}.payment-activity-list>a:hover{background:rgba(255,255,255,.025)}.payment-activity-list>a>i,.payment-activity-list>article>i{width:9px;height:9px;margin-top:6px;border-radius:50%;background:#79dcae;box-shadow:0 0 12px rgba(85,214,165,.4)}.payment-activity-list .is-error>i{background:#f16586;box-shadow:0 0 12px rgba(237,71,111,.42)}.payment-activity-list div{display:grid;gap:2px}.payment-activity-list strong{font-size:.8rem}.payment-activity-list span,.payment-activity-list small{color:var(--muted);font-size:.68rem}.payment-activity-list time{color:#968a9f;font-size:.67rem;white-space:nowrap}.payment-activity-list>p{padding:4px 24px 20px}.order-payment-timeline .payment-panel-heading{padding:20px 22px}.order-payment-timeline .payment-panel-heading h2{font-size:1.25rem}
@media(max-width:1180px){.payment-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-filter-actions{grid-column:1/-1}.payment-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.payment-operations-heading{display:grid}.payment-heading-actions{justify-content:flex-start}.payment-heading-actions form,.payment-heading-actions button{width:100%}.payment-summary-grid{grid-template-columns:1fr 1fr}.payment-filter-form{grid-template-columns:1fr}.payment-filter-actions{grid-column:auto;align-items:stretch;flex-direction:column}.payment-filter-actions button{width:100%}.payment-filter-actions a{text-align:center}.payment-panel-heading{display:grid;padding:19px}.payment-panel-heading>p{text-align:left}.payment-table-wrap{overflow:visible}.payment-operations-table{display:block;min-width:0}.payment-operations-table thead{display:none}.payment-operations-table tbody,.payment-operations-table tr{display:grid}.payment-operations-table tr{margin:12px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.02);overflow:hidden}.payment-operations-table td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:11px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.055)}.payment-operations-table td:last-child{border-bottom:0}.payment-operations-table td:before{content:attr(data-label);color:#887d91;font-size:.61rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.payment-row-actions{align-items:stretch;flex-direction:column}.payment-row-actions a,.payment-row-actions button{width:100%}.payment-activity-list>a,.payment-activity-list>article{grid-template-columns:9px minmax(0,1fr);padding:13px 17px}.payment-activity-list time{grid-column:2}.payment-schema-warning{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.payment-summary-grid{grid-template-columns:1fr}.payment-summary-grid article{padding:16px}.payment-operations-table td{grid-template-columns:1fr;gap:4px}.payment-operations-heading h1{font-size:2.6rem}}
/* Sprint 14.1B - Refund Operations & Controlled Go-live */
.refund-management-page,.go-live-page{min-width:0}.refund-heading h1,.go-live-page .payment-operations-heading h1{font-size:clamp(2.2rem,4.5vw,4rem)}
.refund-layout,.go-live-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:20px;align-items:start}.refund-main,.refund-sidebar,.go-live-steps{display:grid;gap:20px;min-width:0}.refund-order-summary{margin:0!important}.refund-order-summary h2{margin:.35rem 0 1rem;font-size:clamp(1.45rem,2.2vw,2rem)}
.refund-form-card{margin:0!important;padding:26px!important;border-color:rgba(237,71,111,.22);background:linear-gradient(145deg,rgba(48,22,55,.96),rgba(24,13,32,.98))}.refund-form-card header{margin-bottom:20px}.refund-form-card h2{margin:.3rem 0 .5rem;font-size:1.55rem}.refund-form-card header p{max-width:750px;margin:0;font-size:.78rem;line-height:1.6}.refund-confirmation-form{display:grid;gap:16px}.refund-confirmation-form>label:not(.refund-acknowledgement){display:grid;gap:7px}.refund-confirmation-form label>span{font-size:.72rem;font-weight:800}.refund-confirmation-form label>small{color:#978a9f;font-size:.65rem}.refund-confirmation-form textarea{width:100%;min-height:112px;resize:vertical}.refund-acknowledgement{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;padding:13px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.03)}.refund-acknowledgement input{width:20px!important;height:20px!important;margin:0!important;accent-color:#f47721}.refund-acknowledgement span{color:#cfc2d2;font-size:.7rem!important;line-height:1.5}.refund-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid rgba(237,71,111,.28);border-radius:14px;background:rgba(237,71,111,.055)}.refund-danger-zone>div{display:grid;gap:3px}.refund-danger-zone strong{color:#ffabc0;font-size:.78rem}.refund-danger-zone span{color:#ad9daa;font-size:.65rem}.refund-danger-zone button{white-space:nowrap;background:linear-gradient(135deg,#d83b63,#f47721)}
.refund-safety-card,.refund-history-card{margin:0!important}.refund-safety-card h3,.refund-history-card h3{margin:.35rem 0 .8rem;font-size:1.25rem}.refund-safety-card ol{display:grid;gap:9px;margin:0;padding-left:1.15rem}.refund-safety-card li{padding-left:3px;color:#bcaec2;font-size:.7rem;line-height:1.5}.refund-history-card{padding:0!important;overflow:hidden}.refund-history-card header{padding:20px;border-bottom:1px solid rgba(255,255,255,.07)}.refund-history-card article{display:grid;gap:8px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.065)}.refund-history-card article>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.refund-history-card article small{color:#8e8197;font-size:.62rem;overflow-wrap:anywhere}.refund-history-card article p{margin:0;color:#c2b5c7;font-size:.69rem;line-height:1.5}.refund-history-card article em{color:#ff97af;font-size:.63rem;font-style:normal}.refund-history-card>p{padding:5px 20px}.refund-history-card .form-actions{padding:2px 20px 18px}.refund-blocked-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:start;margin:0!important;border-color:rgba(255,159,67,.28)}.refund-blocked-card>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,159,67,.12);color:#ffc07c;font-weight:900}.refund-blocked-card h2{margin:0 0 .5rem;font-size:1.3rem}.refund-blocked-card ul{display:grid;gap:6px;margin:0;padding-left:1.1rem;color:#c6b9cb;font-size:.72rem}
.refund-customer-notice{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:start;width:min(100%,900px);margin:0 0 20px;padding:16px 18px;border:1px solid rgba(255,159,67,.28);border-radius:15px;background:rgba(255,159,67,.06)}.refund-customer-notice>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,159,67,.12);color:#ffc07c;font-weight:900}.refund-customer-notice strong{font-size:.84rem}.refund-customer-notice p{margin:.25rem 0 0;color:#c8bacd;font-size:.74rem;line-height:1.5}.refund-customer-notice.is-success{border-color:rgba(85,214,165,.3);background:rgba(85,214,165,.055)}.refund-customer-notice.is-success>span{background:rgba(85,214,165,.13);color:#83dfbd}.refund-customer-notice.is-error{border-color:rgba(237,71,111,.3);background:rgba(237,71,111,.055)}.refund-customer-notice.is-error>span{background:rgba(237,71,111,.13);color:#ff9bb2}
.go-live-verdict{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:15px;align-items:center;margin-bottom:20px;padding:19px 21px;border:1px solid;border-radius:18px}.go-live-verdict>span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;font-size:1.2rem;font-weight:900}.go-live-verdict strong{font-size:.94rem}.go-live-verdict p{margin:.25rem 0 0;font-size:.74rem}.go-live-verdict>b{font-size:1.35rem}.go-live-verdict.is-ready{border-color:rgba(85,214,165,.32);background:linear-gradient(135deg,rgba(36,86,68,.33),rgba(25,14,34,.9))}.go-live-verdict.is-ready>span{background:rgba(85,214,165,.15);color:#82e0ba}.go-live-verdict.is-attention{border-color:rgba(255,159,67,.32);background:linear-gradient(135deg,rgba(104,63,18,.28),rgba(25,14,34,.9))}.go-live-verdict.is-attention>span{background:rgba(255,159,67,.14);color:#ffc07c}.go-live-checklist{margin:0!important;padding:0!important;overflow:hidden}.go-live-checklist header{padding:22px;border-bottom:1px solid rgba(255,255,255,.08)}.go-live-checklist h2,.go-live-steps h2{margin:.3rem 0 0;font-size:1.45rem}.go-live-checklist article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:center;padding:13px 20px;border-bottom:1px solid rgba(255,255,255,.06)}.go-live-checklist article>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-size:.72rem;font-weight:900}.go-live-checklist article>div{display:grid;gap:2px}.go-live-checklist strong{font-size:.77rem}.go-live-checklist small{color:#908399;font-size:.65rem}.go-live-checklist .is-complete>span{background:rgba(85,214,165,.12);color:#7edcaf}.go-live-checklist .is-open>span{background:rgba(255,159,67,.11);color:#ffc07c}.go-live-steps>section{margin:0!important}.go-live-steps ol{display:grid;gap:10px;margin:17px 0 0;padding-left:1.2rem}.go-live-steps li{padding-left:3px;color:#c3b6c8;font-size:.7rem;line-height:1.55}.go-live-steps code{color:#ffc07c}.go-live-stop{border-color:rgba(255,159,67,.25);background:rgba(255,159,67,.045)}.go-live-stop strong{font-size:.8rem}.go-live-stop p{margin:.4rem 0 0;font-size:.7rem;line-height:1.55}.go-live-aftercare{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:18px;align-items:start;margin-top:20px!important}.go-live-aftercare h2{margin:.3rem 0 0;font-size:1.3rem}.go-live-aftercare>div{display:grid;gap:5px}.go-live-aftercare strong{font-size:.75rem}.go-live-aftercare span{color:#9c8fa3;font-size:.66rem;line-height:1.45}
@media(max-width:1050px){.refund-layout,.go-live-layout{grid-template-columns:1fr}.refund-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.go-live-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.go-live-aftercare{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.refund-sidebar,.go-live-steps,.go-live-aftercare{grid-template-columns:1fr}.refund-danger-zone{align-items:stretch;flex-direction:column}.refund-danger-zone button{width:100%}.go-live-verdict{grid-template-columns:40px minmax(0,1fr)}.go-live-verdict>span{width:38px;height:38px}.go-live-verdict>b{grid-column:2}.refund-form-card{padding:20px!important}}
/* Sprint 14.1B.1 - Encoding-safe management navigation icons */
.admin-nav-icon{display:block;width:19px;height:19px;min-width:19px;overflow:visible;color:inherit;vector-effect:non-scaling-stroke}
.sidebar a>.admin-nav-icon{flex:0 0 19px;color:#8f7c9c;transition:color .18s ease,transform .18s ease}
.sidebar a:hover>.admin-nav-icon,.sidebar a.active>.admin-nav-icon{color:var(--orange2);transform:translateY(-1px)}
.sidebar-group-icon{display:grid;place-items:center;flex:0 0 21px;height:22px}
.sidebar-group-icon .admin-nav-icon{width:18px;height:18px;color:#9a86a7}
.sidebar-group[open]>summary .sidebar-group-icon .admin-nav-icon,.sidebar-group summary:hover .sidebar-group-icon .admin-nav-icon{color:#d5b5e2}
.sidebar-group-links a>.admin-nav-icon{width:17px;height:17px;min-width:17px}
.sidebar-quick a>.admin-nav-icon{width:18px;height:18px;min-width:18px}
@media(max-width:780px){.portal-page .sidebar a>.admin-nav-icon{width:20px;height:20px;min-width:20px}.portal-page .sidebar-group-icon .admin-nav-icon{width:19px;height:19px}}
/* Sprint 14.2B - Automated Event Communication */
.event-edit-form{display:grid;gap:20px}.event-edit-form>.card,.event-edit-form>.card+.card{margin-top:0}.event-edit-form .card>h2{margin:.35rem 0 1.1rem;font-size:clamp(1.35rem,2vw,1.8rem)}.event-edit-actions{position:sticky;bottom:14px;z-index:6;justify-content:flex-end;padding:13px 15px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(17,9,27,.92);box-shadow:0 16px 40px rgba(0,0,0,.3);backdrop-filter:blur(14px)}
.automation-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.automation-card-heading h2{margin:.35rem 0 .45rem!important}.automation-card-heading p{max-width:720px;margin:0}.automation-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.automation-settings-grid fieldset{display:grid;align-content:start;gap:13px;min-width:0;margin:0;padding:20px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.025)}.automation-settings-grid legend{padding:0 8px;color:#fff;font:700 1.05rem/1.2 var(--serif)}.automation-settings-grid small{color:var(--muted);font-size:.68rem;line-height:1.5}.automation-time-grid{grid-template-columns:1fr 1fr}.automation-check{display:grid!important;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:center;padding:11px 12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.025)}.automation-check input{width:20px!important;height:20px!important;margin:0!important}.automation-check span{font-size:.75rem;font-weight:800}.automation-schema-warning{border-color:rgba(255,159,67,.28)!important;background:rgba(255,159,67,.055)!important}.automation-schema-warning h1{font-size:clamp(2rem,4vw,3.5rem)}.automation-schema-warning p{margin-bottom:0}.automation-schema-warning code{color:#ffc07c}
.automation-heading-actions{display:flex;gap:9px;align-items:center}.automation-heading-actions form{margin:0}.automation-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:20px}.automation-kpis article{position:relative;overflow:hidden;display:grid;align-content:start;gap:5px;min-height:118px;padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:linear-gradient(145deg,#21142f,#160e22)}.automation-kpis article:after{content:"";position:absolute;width:64px;height:64px;right:-22px;top:-25px;border-radius:50%;background:rgba(244,119,33,.09)}.automation-kpis span,.automation-kpis small{color:var(--muted);font-size:.68rem}.automation-kpis strong{font:700 1.8rem/1 var(--serif);color:#fff}.automation-kpis .needs-attention{border-color:rgba(255,159,67,.3);background:linear-gradient(145deg,rgba(255,122,26,.09),#160e22)}
.automation-control-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:18px;align-items:start;margin-bottom:20px}.automation-control-grid>.card,.automation-side-stack>.card,.automation-side-stack>.card+.card{min-width:0;margin-top:0}.automation-events-card{padding:0!important;overflow:hidden}.automation-events-card>header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:22px;border-bottom:1px solid rgba(255,255,255,.08)}.automation-events-card h2,.automation-side-stack h2{margin:.35rem 0 .25rem;font-size:1.4rem}.automation-events-card header p{max-width:320px;margin:0;text-align:right;font-size:.7rem}.automation-event-list{display:grid}.automation-event-list>article{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(220px,1fr) auto;gap:16px;align-items:center;padding:17px 22px;border-bottom:1px solid rgba(255,255,255,.065)}.automation-event-list>article:last-child{border-bottom:0}.automation-event-list article>div:first-child{display:grid;gap:4px}.automation-event-list small{color:var(--muted);font-size:.65rem}.automation-event-flags{display:grid;gap:6px}.automation-event-flags span{color:#8e8198;font-size:.66rem}.automation-event-flags span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#695d72}.automation-event-flags span.is-active{color:#c9bdd0}.automation-event-flags span.is-active:before{background:#55d6a5;box-shadow:0 0 0 4px rgba(85,214,165,.08)}.automation-event-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.automation-side-stack{display:grid;gap:18px}.automation-test-card form{display:grid;gap:11px;margin-top:15px}.automation-test-card label{display:grid;gap:6px}.automation-cron-card code{display:block;margin:13px 0;padding:11px;border-radius:10px;background:#10091a;color:#ffc07c;font-size:.68rem;overflow-wrap:anywhere}.automation-cron-card small{display:block;color:var(--muted);font-size:.65rem;line-height:1.45}.automation-cron-card.is-ready{border-color:rgba(85,214,165,.22)}.automation-cron-card.needs-attention{border-color:rgba(255,159,67,.28)}
.automation-filter{grid-template-columns:minmax(190px,1fr) minmax(170px,.8fr) minmax(150px,.7fr) auto;margin:0 0 14px}.automation-table{margin-top:0}.automation-table td{vertical-align:top}.automation-error{display:block;max-width:360px;color:#ffabc0;font-size:.68rem;line-height:1.45}.badge.scheduled{background:rgba(136,102,255,.15);color:#c8b8ff}.badge.skipped{background:rgba(142,129,151,.16);color:#c4b8ca}.email-log-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.email-log-controls .form-actions{margin-left:auto}
@media(max-width:1180px){.automation-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.automation-control-grid{grid-template-columns:1fr}.automation-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.automation-event-list>article{grid-template-columns:minmax(180px,.7fr) minmax(220px,1fr)}.automation-event-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:780px){.automation-card-heading,.automation-events-card>header,.automated-email-page .page-heading-actions{align-items:stretch;flex-direction:column}.automation-heading-actions{display:grid;grid-template-columns:1fr 1fr}.automation-heading-actions button,.automation-card-heading a{width:100%}.automation-settings-grid,.automation-side-stack{grid-template-columns:1fr}.automation-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.automation-event-list>article{grid-template-columns:1fr;padding:16px}.automation-event-actions{grid-column:auto;justify-content:flex-start}.automation-filter{grid-template-columns:1fr}.event-edit-actions{position:static;display:grid;grid-template-columns:1fr}.event-edit-actions>*{width:100%}}
@media(max-width:480px){.automation-kpis{grid-template-columns:1fr}.automation-heading-actions{grid-template-columns:1fr}.automation-time-grid{grid-template-columns:1fr}.automation-settings-grid fieldset{padding:16px}}


/* Sprint 14.2B.1 - interchangeable email automation runtime */
.automation-runtime-card{display:grid;gap:14px}.automation-runtime-card.is-ready{border-color:rgba(85,214,165,.2)}.automation-runtime-card.needs-attention{border-color:rgba(255,159,67,.3)}
.automation-runtime-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.automation-runtime-heading h2{margin:.35rem 0 0}.automation-mode-badge{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#cabdd0;background:rgba(255,255,255,.035);font-size:.61rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase}.automation-mode-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor}.automation-mode-badge.mode-traffic,.automation-mode-badge.mode-hybrid{color:#7edcaf}.automation-mode-badge.mode-cron{color:#c4adff}.automation-mode-badge.mode-manual{color:#ffc07c}
.automation-mode-form{display:grid;gap:11px;padding:14px;border:1px solid rgba(255,255,255,.075);border-radius:14px;background:rgba(255,255,255,.022)}.automation-mode-form label{display:grid;gap:6px;color:#cbbfd0;font-size:.68rem;font-weight:800}.automation-mode-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.automation-mode-form button{justify-self:start}
.automation-runtime-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.automation-runtime-status>div{display:grid;gap:4px;min-width:0;padding:11px;border:1px solid rgba(255,255,255,.065);border-radius:11px;background:rgba(255,255,255,.02)}.automation-runtime-status span{color:#8f8298;font-size:.59rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.automation-runtime-status strong{overflow-wrap:anywhere;font-size:.68rem;line-height:1.4}.automation-runtime-card>small{display:block;color:#9c8fa3;font-size:.64rem;line-height:1.5}.automation-runtime-warning,.automation-runtime-error{margin:0;padding:11px 12px;border:1px solid rgba(255,159,67,.25);border-radius:11px;background:rgba(255,159,67,.055);color:#ffc07c;font-size:.68rem;line-height:1.5}.automation-runtime-error{border-color:rgba(237,71,111,.28);background:rgba(237,71,111,.055);color:#ffabc0}
.automation-cron-note{display:grid;gap:7px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#10091a}.automation-cron-note.is-ready{border-color:rgba(85,214,165,.22)}.automation-cron-note.needs-attention{border-color:rgba(255,159,67,.28)}.automation-cron-note strong{font-size:.7rem}.automation-cron-note code{color:#ffc07c;font-size:.64rem;overflow-wrap:anywhere}.automation-cron-note small{color:#998ca2;font-size:.62rem;line-height:1.45}
@media(max-width:560px){.automation-runtime-heading{display:grid}.automation-mode-badge{justify-self:start}.automation-mode-row,.automation-runtime-status{grid-template-columns:1fr}.automation-mode-form button{width:100%}}

/* Sprint 14.2C - Reviews & Aftercare */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.review-form-hero,.reviews-hero{position:relative;padding:clamp(72px,9vw,120px) 0 58px;border-bottom:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 78% 35%,rgba(188,55,129,.16),transparent 34%),linear-gradient(145deg,#13091e,#241035)}.review-form-hero:after,.reviews-hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,#f47721,transparent)}.review-form-hero .wrap{max-width:980px}.review-form-hero h1,.reviews-hero h1{max-width:880px;margin:.35rem 0 .8rem;font-size:clamp(2.8rem,7vw,6rem);line-height:.92}.review-form-hero p,.reviews-hero p{max-width:760px;margin:0 0 20px;font-size:clamp(.9rem,1.35vw,1.08rem);line-height:1.7}
.review-form-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr);gap:22px;align-items:start;padding-top:34px;padding-bottom:80px}.review-form-card{margin:0!important;padding:0!important;overflow:hidden}.review-form-card>header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:24px 26px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025)}.review-form-card h2{margin:.3rem 0 0;font-size:1.8rem}.review-form-card>header>div:last-child{display:grid;gap:3px;text-align:right}.review-form-card>header strong{font-size:.72rem}.review-form-card>header span{color:var(--muted);font-size:.65rem}.review-form-card form{display:grid;gap:18px;padding:26px}.review-form-card form>label{display:grid;gap:7px;font-size:.72rem;font-weight:800}.review-form-card form>label small,.review-rating-field small{color:var(--muted);font-size:.63rem;font-weight:400}.review-form-card textarea{resize:vertical}.review-form-error{margin:22px 26px 0;padding:12px 14px;border:1px solid rgba(237,71,111,.3);border-radius:11px;background:rgba(237,71,111,.07);color:#ffabc0;font-size:.72rem}.review-rating-field{display:grid;gap:8px;margin:0;padding:0;border:0}.review-rating-field legend{margin-bottom:7px;font-size:.72rem;font-weight:800}.review-star-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:3px;width:max-content}.review-star-input input{position:absolute;opacity:0;pointer-events:none}.review-star-input label{cursor:pointer;color:#5f5268;font-size:2.35rem;line-height:1;transition:color .16s ease,transform .16s ease}.review-star-input label:hover,.review-star-input label:hover~label,.review-star-input input:checked~label{color:#ff9a3d;text-shadow:0 0 16px rgba(244,119,33,.35)}.review-star-input label:hover{transform:translateY(-2px) scale(1.06)}.review-consent{grid-template-columns:22px minmax(0,1fr)!important;align-items:start;padding:13px 14px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.025)}.review-consent input{width:20px!important;height:20px!important;margin:0!important}.review-consent span{font-size:.67rem;font-weight:500;line-height:1.55}.review-form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.review-form-actions span{max-width:360px;color:var(--muted);font-size:.63rem;line-height:1.4}.review-form-aside{display:grid;gap:18px}.review-form-aside>.card{margin:0!important}.review-form-aside h3{margin:.35rem 0 1rem;font-size:1.35rem}.review-form-aside ul{display:grid;gap:10px;margin:0;padding-left:1.1rem;color:#bdafc4;font-size:.68rem;line-height:1.55}.review-public-link{display:grid;gap:4px;padding:17px 19px;border:1px solid rgba(244,119,33,.25);border-radius:14px;background:linear-gradient(135deg,rgba(244,119,33,.08),rgba(188,55,129,.07))}.review-public-link span{color:var(--muted);font-size:.63rem}.review-public-link strong{font-size:.75rem}.review-submitted-card{grid-column:1/-1;display:grid;grid-template-columns:72px minmax(0,1fr);gap:22px;align-items:start;max-width:900px;margin:0 auto!important;padding:34px!important}.review-success-mark{display:grid;place-items:center;width:68px;height:68px;border:1px solid rgba(85,214,165,.32);border-radius:50%;background:rgba(85,214,165,.09);color:#7edcaf;font-size:1.8rem}.review-submitted-card h2{margin:.35rem 0 .6rem;font-size:2rem}.review-submitted-rating{margin:14px 0;color:#ff9a3d;font-size:1.25rem;letter-spacing:.08em}
.reviews-hero>.wrap{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:50px;align-items:end}.reviews-hero aside{display:grid;justify-items:end;gap:4px;padding:22px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(18,8,29,.5);backdrop-filter:blur(12px)}.reviews-hero aside>strong{font:700 3rem/1 var(--serif)}.public-review-stars,.public-review-card-stars{color:#ff9a3d;letter-spacing:.08em}.reviews-hero aside small{color:var(--muted);font-size:.62rem}.reviews-public-layout{padding-top:34px;padding-bottom:80px}.reviews-toolbar{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.reviews-toolbar h2{margin:.25rem 0 0;font-size:2rem}.reviews-toolbar form{display:grid;gap:5px;min-width:230px}.reviews-toolbar label{color:var(--muted);font-size:.62rem}.public-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.public-review-card{position:relative;display:grid;grid-template-rows:auto auto 1fr auto;gap:13px;min-width:0;padding:23px;border:1px solid rgba(255,255,255,.085);border-radius:18px;background:linear-gradient(145deg,rgba(39,20,52,.94),rgba(21,11,31,.97));overflow:hidden}.public-review-card.is-featured{border-color:rgba(244,119,33,.28);box-shadow:0 18px 45px rgba(0,0,0,.16)}.public-review-featured{position:absolute;right:14px;top:13px;padding:5px 8px;border-radius:999px;background:rgba(244,119,33,.13);color:#ffad67;font-size:.55rem;font-weight:850;text-transform:uppercase;letter-spacing:.055em}.public-review-card blockquote{margin:0;padding-right:20px;color:#fff;font:700 1.4rem/1.15 var(--serif)}.public-review-card>p{margin:0;color:#c1b3c7;font-size:.72rem;line-height:1.65}.public-review-card>footer{display:flex;align-items:end;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}.public-review-card>footer>div{display:grid;gap:2px}.public-review-card>footer>div:last-child{text-align:right}.public-review-card footer strong{font-size:.68rem}.public-review-card footer span{color:#8f8298;font-size:.59rem}.reviews-pagination{display:flex;justify-content:center;gap:6px;margin-top:26px}.reviews-pagination a{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.09);border-radius:10px;color:#bcaec3;font-size:.7rem}.reviews-pagination a.active,.reviews-pagination a:hover{border-color:rgba(244,119,33,.35);background:rgba(244,119,33,.1);color:#ffad67}.reviews-empty{display:grid;justify-items:center;gap:8px;padding:50px!important;text-align:center}.reviews-empty>span{color:#ff9a3d;font-size:2.2rem}.reviews-empty h2{margin:0;font-size:1.7rem}.reviews-empty p{margin:0 0 12px}.reviews-trust-band{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;align-items:center;margin-top:30px;padding:24px 27px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.025)}.reviews-trust-band h2{margin:.3rem 0 0;font-size:1.55rem}.reviews-trust-band p{margin:0;font-size:.72rem;line-height:1.65}
.homepage-reviews-section{padding:clamp(70px,8vw,105px) 0;background:radial-gradient(circle at 10% 30%,rgba(244,119,33,.08),transparent 35%),#11081a}.homepage-reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px}.homepage-reviews-heading h2{margin:.3rem 0 0;font-size:clamp(2.5rem,5vw,4.7rem)}.homepage-reviews-heading>div:last-child{display:grid;justify-items:end;gap:3px}.homepage-reviews-heading>div:last-child strong{font:700 2.5rem/1 var(--serif)}.homepage-reviews-heading>div:last-child span{color:#ff9a3d;letter-spacing:.08em}.homepage-reviews-heading small{color:var(--muted);font-size:.62rem}.homepage-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.homepage-review-grid article{display:grid;gap:12px;padding:22px;border:1px solid rgba(255,255,255,.085);border-radius:17px;background:rgba(37,19,49,.8)}.homepage-review-grid blockquote{margin:0;font:700 1.3rem/1.2 var(--serif)}.homepage-review-grid p{margin:0;color:#bcaec2;font-size:.7rem;line-height:1.6}.homepage-review-grid footer{display:grid;gap:2px;margin-top:6px;padding-top:12px;border-top:1px solid rgba(255,255,255,.07)}.homepage-review-grid footer strong{font-size:.68rem}.homepage-review-grid footer span{color:var(--muted);font-size:.6rem}.homepage-reviews-action{display:flex;align-items:center;gap:15px;margin-top:20px}.homepage-reviews-action span{color:var(--muted);font-size:.64rem}
.review-admin-heading h1{font-size:clamp(2.5rem,5vw,4.5rem)}.review-admin-actions{display:flex;gap:8px;flex-wrap:wrap}.review-admin-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.review-admin-kpis>a,.review-admin-kpis>article{display:grid;gap:5px;min-height:112px;padding:17px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:linear-gradient(145deg,#21142f,#160e22)}.review-admin-kpis>a:hover,.review-admin-kpis>a.active{border-color:rgba(244,119,33,.34);transform:translateY(-1px)}.review-admin-kpis span,.review-admin-kpis small{color:var(--muted);font-size:.63rem}.review-admin-kpis strong{font:700 1.75rem/1 var(--serif)}.review-admin-filter{grid-template-columns:repeat(3,minmax(150px,1fr)) auto;margin-bottom:16px}.review-moderation-list{display:grid;gap:14px}.review-moderation-card{margin:0!important;padding:0!important;overflow:hidden}.review-moderation-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 20px;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.018)}.review-moderation-card>header>div{display:flex;gap:7px;align-items:center}.review-moderation-card time{color:#91849a;font-size:.62rem}.review-feature-badge{padding:5px 8px;border-radius:999px;background:rgba(244,119,33,.12);color:#ffad67;font-size:.56rem;font-weight:850;text-transform:uppercase}.review-moderation-content{padding:20px}.review-moderation-rating{color:#ff9a3d;letter-spacing:.08em}.review-moderation-content h2{margin:.45rem 0 .65rem;font-size:1.45rem}.review-moderation-content p{max-width:900px;margin:0;color:#c4b7c9;font-size:.72rem;line-height:1.7}.review-moderation-card>footer{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:22px;align-items:end;padding:16px 20px;border-top:1px solid rgba(255,255,255,.065);background:rgba(255,255,255,.012)}.review-moderation-person{display:grid;gap:3px}.review-moderation-person strong{font-size:.73rem}.review-moderation-person span,.review-moderation-person small{color:var(--muted);font-size:.62rem}.review-moderation-actions{display:grid;gap:8px}.review-moderation-actions label{display:grid;gap:5px;color:var(--muted);font-size:.61rem}.review-moderation-actions>div{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.review-invited-state{display:grid;gap:4px;padding:20px}.review-invited-state strong{font-size:.76rem}.review-invited-state span{color:var(--muted);font-size:.65rem}.review-admin-empty{display:grid;justify-items:center;gap:6px;padding:40px!important;text-align:center}.review-admin-empty>span{color:#7edcaf;font-size:1.8rem}.review-admin-empty h2{margin:0}.review-admin-empty p{margin:0}
.badge.invited{background:rgba(136,102,255,.15);color:#c8b8ff}.badge.approved{background:rgba(85,214,165,.13);color:#80ddb8}.badge.rejected{background:rgba(237,71,111,.13);color:#ff9eb5}.badge.pending{background:rgba(255,159,67,.13);color:#ffc07c}
@media(max-width:1100px){.public-review-grid,.homepage-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-admin-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.review-form-layout{grid-template-columns:1fr}.review-form-aside{grid-template-columns:1fr 1fr}.review-moderation-card>footer{grid-template-columns:1fr}}
@media(max-width:760px){.reviews-hero>.wrap{grid-template-columns:1fr;gap:24px}.reviews-hero aside{justify-items:start}.reviews-toolbar,.homepage-reviews-heading,.review-form-card>header{align-items:stretch;flex-direction:column}.reviews-toolbar form{min-width:0}.public-review-grid,.homepage-review-grid,.review-form-aside,.review-admin-kpis{grid-template-columns:1fr}.review-form-card form{padding:20px}.review-form-card>header{padding:20px}.review-form-card>header>div:last-child{text-align:left}.review-form-actions{align-items:stretch;flex-direction:column}.review-form-actions button{width:100%}.reviews-trust-band{grid-template-columns:1fr;gap:12px}.homepage-reviews-heading>div:last-child{justify-items:start}.homepage-reviews-action{align-items:flex-start;flex-direction:column}.review-admin-filter{grid-template-columns:1fr}.review-admin-actions{width:100%}.review-admin-actions a{flex:1;text-align:center}.review-moderation-actions>div{justify-content:flex-start}.review-moderation-actions button{flex:1}.review-submitted-card{grid-template-columns:1fr}.review-form-hero h1,.reviews-hero h1{font-size:3.2rem}}
.event-communication-card .automation-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1250px){.event-communication-card .automation-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.event-communication-card .automation-settings-grid{grid-template-columns:1fr}}

/* Sprint 14.3 - Newsletter & Campaign Center */
.newsletter-heading-actions,.newsletter-editor-actions,.newsletter-secondary-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.newsletter-heading-actions form,.newsletter-secondary-actions form{margin:0}.newsletter-tabs{display:flex;gap:8px;margin:22px 0;padding:6px;background:rgba(27,15,42,.72);border:1px solid rgba(177,128,199,.16);border-radius:14px;width:max-content;max-width:100%}.newsletter-tabs a{padding:10px 16px;border-radius:10px;color:#bcaec8;text-decoration:none;font-weight:700}.newsletter-tabs a.active{background:linear-gradient(135deg,rgba(239,111,33,.24),rgba(165,47,134,.22));color:#fff}.newsletter-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0 24px}.newsletter-kpis article{padding:20px;border:1px solid rgba(177,128,199,.18);border-radius:16px;background:linear-gradient(145deg,rgba(39,22,55,.95),rgba(24,14,38,.95))}.newsletter-kpis span,.newsletter-kpis small{display:block;color:#a99ab5}.newsletter-kpis strong{display:block;margin:8px 0 4px;font-family:var(--font-display,Georgia,serif);font-size:2rem;color:#fff}.newsletter-worker-status{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,.8fr);gap:24px;align-items:center;margin-bottom:20px}.newsletter-worker-status h2,.newsletter-consent-explanation h2{margin:5px 0 8px}.newsletter-worker-status dl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0}.newsletter-worker-status dl div,.newsletter-detail-list div{padding:12px;border-radius:12px;background:rgba(12,7,22,.36)}.newsletter-worker-status dt,.newsletter-detail-list dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#9f90ac}.newsletter-worker-status dd,.newsletter-detail-list dd{margin:5px 0 0;color:#fff;font-weight:700}.newsletter-campaign-list{display:grid;gap:14px}.newsletter-campaign-row{padding:20px}.newsletter-campaign-main{display:flex;justify-content:space-between;gap:22px}.newsletter-campaign-main h2{margin:8px 0 5px}.newsletter-campaign-main p{margin:0;color:#cbbfd2}.newsletter-campaign-meta{display:flex;flex-direction:column;gap:5px;align-items:flex-end;color:#ad9bb9;font-size:.85rem}.newsletter-status{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border-radius:999px;background:rgba(150,133,166,.14);color:#cbbfd2;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.newsletter-status.status-scheduled,.newsletter-status.status-pending{background:rgba(245,158,11,.15);color:#fbc77a}.newsletter-status.status-sending,.newsletter-status.status-processing{background:rgba(59,130,246,.15);color:#8fc3ff}.newsletter-status.status-sent,.newsletter-status.status-subscribed{background:rgba(34,197,94,.14);color:#88e3a3}.newsletter-status.status-failed{background:rgba(239,68,68,.15);color:#ff9a9a}.newsletter-status.status-unsubscribed,.newsletter-status.status-skipped,.newsletter-status.status-cancelled{background:rgba(148,163,184,.12);color:#b8b4c1}.newsletter-progress{height:7px;margin:18px 0;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}.newsletter-progress i{display:block;height:100%;background:linear-gradient(90deg,#ef6f21,#e83c7a);border-radius:inherit}.newsletter-campaign-row footer{display:flex;justify-content:space-between;gap:15px;align-items:center}.newsletter-campaign-row footer span{color:#9f90ac}.newsletter-consent-explanation{margin-bottom:18px}.newsletter-privacy-note{color:#9f90ac;font-size:.86rem}.newsletter-editor-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(310px,.65fr);gap:20px;align-items:start}.newsletter-editor-main fieldset{border:0;padding:0;margin:0}.newsletter-editor-main textarea{min-height:260px;resize:vertical}.newsletter-editor-side{display:grid;gap:16px;position:sticky;top:90px}.newsletter-detail-list{display:grid;gap:8px;margin:16px 0 0}.newsletter-schedule-card form{display:grid;gap:13px}.newsletter-save-first{padding:12px;border-radius:10px;background:rgba(245,158,11,.1);color:#fbc77a}.newsletter-editor-actions{justify-content:space-between;margin-top:18px;padding-top:18px;border-top:1px solid rgba(177,128,199,.15)}.newsletter-test-action{display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,.65fr) auto;gap:8px;align-items:center}.newsletter-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.newsletter-result-grid div{padding:12px 8px;text-align:center;border-radius:12px;background:rgba(12,7,22,.35)}.newsletter-result-grid strong,.newsletter-result-grid span{display:block}.newsletter-result-grid strong{font-size:1.5rem;color:#fff}.newsletter-result-grid span{font-size:.75rem;color:#9f90ac}.newsletter-data-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:20px;margin-top:20px}.newsletter-log-list{display:grid;gap:10px;max-height:560px;overflow:auto}.newsletter-log-list article{padding:12px;border-left:2px solid #ef6f21;background:rgba(12,7,22,.28);border-radius:0 10px 10px 0}.newsletter-log-list time{display:block;color:#9f90ac;font-size:.72rem}.newsletter-log-list strong{display:block;margin:3px 0;text-transform:uppercase;font-size:.76rem;color:#f5a45f}.newsletter-log-list p{margin:0;color:#cbbfd2;font-size:.85rem}.newsletter-preference-page{min-height:65vh;display:flex;align-items:center}.newsletter-preference-card{max-width:720px;margin:0 auto;padding:clamp(28px,5vw,54px);text-align:center}.newsletter-preference-card h1{font-size:clamp(2.2rem,5vw,4rem);margin:10px 0 16px}.newsletter-preference-card p{max-width:580px;margin:0 auto 24px;color:#cbbfd2;line-height:1.7}.newsletter-preference-card form{margin-top:24px}.newsletter-band form{position:relative}.newsletter-band form:after{content:'Na inschrijven ontvang je eerst een bevestigingsmail.';grid-column:1/-1;color:rgba(255,255,255,.62);font-size:.76rem;margin-top:2px}
@media(max-width:1150px){.newsletter-kpis{grid-template-columns:repeat(2,1fr)}.newsletter-editor-grid,.newsletter-data-grid{grid-template-columns:1fr}.newsletter-editor-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.newsletter-worker-status{grid-template-columns:1fr}}
@media(max-width:760px){.newsletter-heading-actions,.newsletter-editor-actions,.newsletter-campaign-row footer{align-items:stretch;flex-direction:column}.newsletter-heading-actions .button-primary,.newsletter-heading-actions .button-secondary,.newsletter-heading-actions form,.newsletter-heading-actions form button{width:100%}.newsletter-tabs{width:100%}.newsletter-tabs a{flex:1;text-align:center}.newsletter-kpis{grid-template-columns:1fr 1fr}.newsletter-worker-status dl,.newsletter-editor-side{grid-template-columns:1fr}.newsletter-campaign-main{flex-direction:column}.newsletter-campaign-meta{align-items:flex-start}.newsletter-test-action{grid-template-columns:1fr}.newsletter-test-action button{width:100%}.newsletter-data-grid{display:block}.newsletter-data-grid>section+section{margin-top:16px}}
@media(max-width:480px){.newsletter-kpis{grid-template-columns:1fr}.newsletter-result-grid{grid-template-columns:1fr}.newsletter-tabs{flex-direction:column}}
.newsletter-consent-check{grid-column:1/-1;display:flex;gap:9px;align-items:flex-start;text-align:left;color:rgba(255,255,255,.72);font-size:.78rem;line-height:1.45}.newsletter-consent-check input{width:18px;height:18px;margin-top:1px;accent-color:#ef6f21;flex:0 0 auto}.newsletter-consent-check a{color:#ffd0aa}.newsletter-band form:has(.newsletter-consent-check):after{display:none}
.newsletter-band form:after{display:none}

/* Sprint 14.4A - Go-Live Acceptance Center */
.acceptance-admin .content{max-width:1560px}.acceptance-heading h1{font-size:clamp(2.45rem,4.8vw,4.35rem)}.acceptance-heading-actions{display:flex;gap:9px;flex-wrap:wrap}.acceptance-readiness{display:grid;grid-template-columns:145px minmax(0,1fr) auto;gap:25px;align-items:center;margin:22px 0;padding:24px 27px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:linear-gradient(145deg,rgba(39,22,55,.96),rgba(22,12,34,.98));box-shadow:0 22px 50px rgba(0,0,0,.18)}
.acceptance-readiness.status-ready{border-color:rgba(85,214,165,.32)}.acceptance-readiness.status-attention{border-color:rgba(255,159,67,.3)}.acceptance-readiness.status-blocked{border-color:rgba(237,71,111,.3)}.acceptance-score{display:grid;place-items:center;width:128px;height:128px;border-radius:50%;background:conic-gradient(#f47721 calc(var(--acceptance-progress)*1%),rgba(255,255,255,.075) 0);position:relative}.acceptance-score:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#1a1027}.acceptance-score>span{position:relative;z-index:1;display:grid;text-align:center}.acceptance-score strong{font:700 2rem/1 var(--serif);color:#fff}.acceptance-score small{margin-top:5px;color:#9f92a7;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}.acceptance-readiness h2{margin:.32rem 0 .45rem;font-size:2rem}.acceptance-readiness p{margin:0;color:#b9acbf;font-size:.75rem}.acceptance-readiness-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.acceptance-readiness-meta span{padding:8px 10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#a89bad;font-size:.64rem}.acceptance-readiness-meta strong{color:#fff}.acceptance-readiness-actions{display:grid;gap:8px;min-width:190px}.acceptance-readiness-actions a{padding:10px 13px;border:1px solid rgba(244,119,33,.25);border-radius:10px;background:rgba(244,119,33,.055);color:#ffc07c;font-size:.68rem;font-weight:800;text-align:center;text-decoration:none}
.acceptance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:35px}.acceptance-kpis article{display:grid;gap:5px;min-height:112px;padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(145deg,rgba(34,20,48,.94),rgba(22,13,33,.97))}.acceptance-kpis span,.acceptance-kpis small{color:#9f92a7;font-size:.65rem}.acceptance-kpis strong{font:700 2rem/1 var(--serif);color:#fff}
.acceptance-section{scroll-margin-top:90px;margin-top:34px}.acceptance-section>header{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:16px}.acceptance-section>header h2{margin:.3rem 0 0;font-size:clamp(1.8rem,3vw,2.6rem)}.acceptance-section>header p{max-width:520px;margin:0;color:#9f92a7;font-size:.69rem;line-height:1.55;text-align:right}.acceptance-auto-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.acceptance-auto-card{display:grid;gap:9px;min-height:160px;padding:17px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(29,17,42,.86);color:inherit;text-decoration:none;transition:.18s ease}.acceptance-auto-card:hover{transform:translateY(-2px);border-color:rgba(244,119,33,.28)}.acceptance-auto-card>div{display:flex;align-items:center;gap:8px}.acceptance-auto-card i{width:9px;height:9px;border-radius:50%;background:#7f7487}.acceptance-auto-card.status-good i{background:#55d6a5;box-shadow:0 0 14px rgba(85,214,165,.38)}.acceptance-auto-card.status-warning i{background:#ff9f43}.acceptance-auto-card.status-critical i{background:#ed476f;box-shadow:0 0 14px rgba(237,71,111,.3)}.acceptance-auto-card span{color:#a99cad;font-size:.63rem;text-transform:uppercase;letter-spacing:.055em}.acceptance-auto-card strong{font-size:.86rem;color:#fff}.acceptance-auto-card p{margin:0;color:#96899e;font-size:.63rem;line-height:1.55}
.acceptance-group{margin-top:25px}.acceptance-group>header{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:11px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}.acceptance-group>header h3{margin:0;font-size:1.45rem}.acceptance-group>header p{margin:.3rem 0 0;color:#95889d;font-size:.67rem}.acceptance-group>header>span{color:#a99cad;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}.acceptance-test-list{display:grid;gap:13px}.acceptance-test-card{scroll-margin-top:88px;border:1px solid rgba(255,255,255,.085);border-radius:18px;background:linear-gradient(145deg,rgba(34,20,48,.94),rgba(20,12,30,.97));overflow:hidden}.acceptance-test-card.status-passed{border-color:rgba(85,214,165,.26)}.acceptance-test-card.status-attention{border-color:rgba(237,71,111,.3)}.acceptance-test-card.status-in_progress{border-color:rgba(255,159,67,.28)}.acceptance-test-card>header{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:14px;align-items:start;padding:20px 22px}.acceptance-test-index{padding-top:2px}.acceptance-test-index i{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(255,255,255,.03)}.acceptance-test-index i:after{content:"";width:8px;height:8px;border-radius:50%;background:#75697e}.status-passed .acceptance-test-index i:after{background:#55d6a5}.status-attention .acceptance-test-index i:after{background:#ed476f}.status-in_progress .acceptance-test-index i:after{background:#ff9f43}.acceptance-test-labels{display:flex;gap:6px;margin-bottom:7px}.acceptance-test-labels span{padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.055);color:#97899f;font-size:.53rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.acceptance-test-labels span.is-critical{background:rgba(237,71,111,.11);color:#ff9ab3}.acceptance-test-card h4{margin:0;font:700 1.45rem/1.1 var(--serif)}.acceptance-test-card>header p{max-width:820px;margin:.45rem 0 0;color:#aa9daf;font-size:.68rem;line-height:1.58}.acceptance-status-pill{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.06);color:#aaa0b0;font-size:.57rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.status-passed .acceptance-status-pill{background:rgba(85,214,165,.12);color:#82dfba}.status-attention .acceptance-status-pill{background:rgba(237,71,111,.12);color:#ff9cb5}.status-in_progress .acceptance-status-pill{background:rgba(255,159,67,.12);color:#ffc07c}
.acceptance-instructions{border-top:1px solid rgba(255,255,255,.065);border-bottom:1px solid rgba(255,255,255,.065);background:rgba(10,6,17,.22)}.acceptance-instructions summary{padding:11px 22px;color:#c0b3c5;font-size:.64rem;font-weight:800;cursor:pointer}.acceptance-instructions>div{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:22px;padding:5px 22px 20px}.acceptance-instructions ol{display:grid;gap:8px;margin:0;padding-left:1.2rem;color:#baadc0;font-size:.67rem;line-height:1.55}.acceptance-instructions li::marker{color:#ef8539;font-weight:850}.acceptance-instructions aside{padding:14px;border:1px solid rgba(244,119,33,.17);border-radius:12px;background:rgba(244,119,33,.04)}.acceptance-instructions aside strong{font-size:.67rem}.acceptance-instructions aside p{margin:.4rem 0 .8rem;color:#ad9fb4;font-size:.64rem;line-height:1.55}.acceptance-instructions nav{display:flex;gap:6px;flex-wrap:wrap}.acceptance-instructions nav a{padding:6px 8px;border:1px solid rgba(255,255,255,.09);border-radius:8px;color:#ffc07c;font-size:.58rem;text-decoration:none}.acceptance-result-form{display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:12px;align-items:end;padding:17px 22px}.acceptance-result-form label{display:grid;gap:5px;color:#a99cad;font-size:.61rem;font-weight:750}.acceptance-result-form label small{font-weight:400}.acceptance-result-form textarea{min-height:60px;resize:vertical}.acceptance-result-form>div{display:grid;justify-items:end;gap:6px;min-width:175px}.acceptance-result-form>div small{max-width:210px;color:#887b91;font-size:.55rem;line-height:1.4;text-align:right}.acceptance-history{padding-bottom:60px}.acceptance-history .card{padding:0!important;overflow:hidden}.acceptance-history table small{display:block}
@media(max-width:1250px){.acceptance-auto-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.acceptance-readiness{grid-template-columns:130px minmax(0,1fr)}.acceptance-readiness-actions{grid-column:1/-1;display:flex}.acceptance-readiness-actions a{flex:1}.acceptance-result-form{grid-template-columns:180px minmax(0,1fr)}.acceptance-result-form>div{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end}}
@media(max-width:850px){.acceptance-heading-actions{width:100%}.acceptance-heading-actions a{flex:1;text-align:center}.acceptance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.acceptance-section>header{align-items:flex-start;flex-direction:column}.acceptance-section>header p{text-align:left}.acceptance-instructions>div{grid-template-columns:1fr}.acceptance-result-form{grid-template-columns:1fr}.acceptance-result-form>div{justify-content:stretch}.acceptance-result-form button{width:100%}.acceptance-result-form>div small{text-align:left;max-width:none}.acceptance-test-card>header{grid-template-columns:34px minmax(0,1fr)}.acceptance-status-pill{grid-column:2;justify-self:start}.acceptance-readiness{grid-template-columns:1fr;justify-items:center;text-align:center}.acceptance-readiness-meta{justify-content:center}.acceptance-readiness-actions{width:100%}}
@media(max-width:560px){.acceptance-kpis,.acceptance-auto-grid{grid-template-columns:1fr}.acceptance-readiness{padding:21px 18px}.acceptance-readiness-actions{display:grid}.acceptance-group>header{align-items:flex-start;flex-direction:column}.acceptance-test-card>header{padding:18px}.acceptance-instructions summary{padding-inline:18px}.acceptance-instructions>div{padding-inline:18px}.acceptance-result-form{padding:16px 18px}.acceptance-score{width:116px;height:116px}.acceptance-heading h1{font-size:2.55rem}}

/* Sprint 14.4B - Production Live Launch Center */
.production-launch-page{display:grid;gap:24px}
.production-launch-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.production-launch-heading h1{margin:.2rem 0 .55rem;font-size:clamp(2.25rem,4.4vw,4.9rem);line-height:.92}
.production-launch-heading p{max-width:760px;margin:0;color:var(--muted)}
.production-launch-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.production-mode-pill{display:inline-flex;align-items:center;min-height:38px;padding:8px 14px;border:1px solid rgba(255,255,255,.12);border-radius:999px;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.05)}
.production-mode-pill.is-live{color:#7cf3ba;border-color:rgba(67,220,151,.42);background:rgba(30,139,93,.18);box-shadow:0 0 28px rgba(39,205,133,.11)}
.production-mode-pill.is-ready{color:#ffd27d;border-color:rgba(255,167,50,.4);background:rgba(203,112,21,.16)}
.production-mode-pill.is-paused{color:#ff9b93;border-color:rgba(255,92,82,.45);background:rgba(180,43,40,.18)}
.production-launch-alert{display:flex;align-items:flex-start;gap:18px;padding:18px 22px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.04)}
.production-launch-alert strong{min-width:210px;font-family:var(--serif);font-size:1.3rem}
.production-launch-alert p{margin:0;color:var(--muted)}
.production-launch-alert.is-critical,.production-launch-alert.is-paused{border-color:rgba(255,82,72,.42);background:rgba(119,24,31,.22)}
.production-launch-alert.is-warning{border-color:rgba(255,169,56,.4);background:rgba(136,78,16,.2)}
.production-launch-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.production-launch-overview article{position:relative;overflow:hidden;display:grid;gap:6px;min-height:138px;padding:22px;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:linear-gradient(145deg,rgba(44,26,62,.92),rgba(23,14,39,.92))}
.production-launch-overview article:after{content:"";position:absolute;right:-22px;top:-28px;width:88px;height:88px;border-radius:50%;background:rgba(242,125,42,.1)}
.production-launch-overview span{color:var(--muted);font-size:.84rem}
.production-launch-overview strong{align-self:end;font-family:var(--serif);font-size:clamp(1.45rem,2.1vw,2.25rem);line-height:1}
.production-launch-overview small{color:rgba(255,255,255,.62)}
.production-launch-overview .is-live{border-color:rgba(58,218,148,.35)}
.production-launch-overview .is-paused{border-color:rgba(255,82,72,.4)}
.production-launch-main-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:20px;align-items:start}
.production-launch-checks,.production-monitoring,.production-launch-history,.production-test-inventory,.production-control-card{padding:24px}
.production-launch-checks>header,.production-monitoring>header,.production-launch-history>header,.production-test-inventory>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.production-launch-checks h2,.production-monitoring h2,.production-launch-history h2,.production-test-inventory h2,.production-control-card h2{margin:.15rem 0 0;font-size:clamp(1.55rem,2.4vw,2.55rem)}
.production-launch-checks>header>b{padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.07);color:var(--muted);font-size:.75rem;white-space:nowrap}
.production-check-list{display:grid;gap:9px}
.production-check-list article{display:grid;grid-template-columns:13px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(5,2,13,.24)}
.production-check-list article>i{width:11px;height:11px;border-radius:50%;background:#e79432;box-shadow:0 0 12px rgba(231,148,50,.35)}
.production-check-list article.is-good>i{background:#43dc97;box-shadow:0 0 12px rgba(67,220,151,.35)}
.production-check-list article div{display:grid;gap:3px}
.production-check-list article span{color:var(--muted);font-size:.78rem;line-height:1.35}
.production-check-list article>b{color:#f2b55c;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.production-check-list article.is-good>b{color:#70e3ad}
.production-launch-control-stack{display:grid;gap:16px}
.production-control-card{display:grid;gap:12px}
.production-control-card p{margin:0;color:var(--muted);line-height:1.6}
.production-control-card form{display:grid;gap:11px;margin-top:5px}
.production-control-card label{display:grid;gap:6px;color:var(--muted);font-size:.8rem;font-weight:800}
.production-control-card input{width:100%}
.production-control-card pre{overflow:auto;margin:0;padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(3,1,8,.48);color:#ffba65;font-size:.78rem;white-space:pre-wrap}
.production-control-card.is-activation{border-color:rgba(255,137,49,.38);box-shadow:0 18px 46px rgba(172,68,28,.1)}
.production-control-card.is-live{border-color:rgba(67,220,151,.34)}
.production-control-card.is-danger{border-color:rgba(255,82,72,.35)}
.production-control-card .danger{border-color:rgba(255,82,72,.48);color:#ffaaa3}
.production-control-card dl{display:grid;gap:6px;margin:2px 0 6px}
.production-control-card dl div{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.production-control-card dt{color:var(--muted)}
.production-control-card dd{margin:0;font-weight:800;text-align:right}
.production-monitor-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}
.production-monitor-grid article{display:grid;gap:5px;padding:17px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}
.production-monitor-grid span{color:var(--muted);font-size:.8rem}
.production-monitor-grid strong{font-family:var(--serif);font-size:1.8rem}
.production-monitor-grid .is-warning{border-color:rgba(255,82,72,.35)}
.production-monitoring>p{margin:16px 0 0;color:var(--muted);font-size:.84rem}
.production-launch-history>header>span,.production-test-inventory>header>span{color:var(--muted);font-size:.78rem}
.production-history-list{display:grid;gap:8px}
.production-history-list article{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.production-history-list article>i{width:9px;height:9px;border-radius:50%;background:var(--orange)}
.production-history-list article div{display:grid;gap:2px}
.production-history-list article span{color:var(--muted);font-size:.76rem}
.production-history-list article>b{color:var(--muted);font-size:.74rem}
.production-test-inventory>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.production-test-inventory article{display:grid;gap:4px;padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.035)}
.production-test-inventory article span{color:var(--muted);font-size:.78rem}
.production-test-inventory article strong{font-family:var(--serif);font-size:1.65rem}
.production-test-inventory>p{margin:15px 0 0;color:var(--muted);font-size:.82rem;line-height:1.55}
.production-launch-footnote{margin:0;padding:0 5px;color:var(--muted);font-size:.82rem;line-height:1.55}
@media(max-width:1180px){.production-launch-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.production-launch-main-grid{grid-template-columns:1fr}.production-launch-control-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.production-monitor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.production-launch-page{gap:18px}.production-launch-heading{display:grid}.production-launch-heading-actions{justify-content:flex-start}.production-launch-heading-actions form,.production-launch-heading-actions button{width:100%}.production-launch-overview{grid-template-columns:1fr 1fr}.production-launch-overview article{min-height:120px;padding:17px}.production-launch-main-grid{display:block}.production-launch-control-stack{display:grid;grid-template-columns:1fr;margin-top:16px}.production-launch-checks,.production-monitoring,.production-launch-history,.production-test-inventory,.production-control-card{padding:18px}.production-check-list article{grid-template-columns:11px minmax(0,1fr)}.production-check-list article>b{grid-column:2}.production-monitor-grid,.production-test-inventory>div{grid-template-columns:1fr 1fr}.production-launch-alert{display:grid}.production-launch-alert strong{min-width:0}.production-launch-checks>header,.production-monitoring>header,.production-launch-history>header,.production-test-inventory>header{display:grid}.production-launch-history>header>span,.production-test-inventory>header>span{margin-top:-10px}}
@media(max-width:480px){.production-launch-overview{grid-template-columns:1fr}.production-monitor-grid{grid-template-columns:1fr}.production-history-list article{grid-template-columns:9px minmax(0,1fr)}.production-history-list article>b{grid-column:2}}

/* Sprint 14.5A - Customer Portal UX Foundation */
.customer-menu-toggle,.customer-menu-backdrop{display:none}
.customer-sidebar-links{display:grid}
.customer-nav-icon{display:block;width:19px;height:19px;min-width:19px;overflow:visible;color:inherit}
.customer-sidebar a>.customer-nav-icon{flex:0 0 19px;color:#8f7c9c;transition:color .18s ease,transform .18s ease}
.customer-sidebar a:hover>.customer-nav-icon,.customer-sidebar a.active>.customer-nav-icon{color:var(--orange2);transform:translateY(-1px)}
.customer-sidebar-quick{margin-top:0}
.customer-portal-page .topbar{min-height:68px;padding-top:9px;padding-bottom:9px}
.customer-portal-page .brand-logo img{width:50px;height:50px}
.customer-portal-page .dashboard{min-height:calc(100vh - 68px)}
.customer-portal-page .customer-sidebar{top:68px;height:calc(100vh - 68px)}
.customer-orders-empty{display:grid;justify-items:start;gap:8px}
.customer-orders-empty h2,.customer-orders-empty p{margin:0}
.customer-order-open{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border:1px solid rgba(255,154,60,.26);border-radius:10px;background:rgba(255,122,26,.07)}

@media(max-width:780px){
  body.customer-menu-open{overflow:hidden}
  .customer-portal-page .nav-toggle,.customer-portal-page .main-nav{display:none}
  .customer-menu-toggle{position:sticky;top:68px;z-index:38;display:flex;width:100%;min-height:50px;justify-content:flex-start;padding:11px 16px;border-radius:0;border:0;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(20,11,31,.96);color:#fff;font-size:.86rem;letter-spacing:.02em;box-shadow:0 10px 25px rgba(0,0,0,.18);backdrop-filter:blur(16px)}
  .customer-menu-toggle:hover{transform:none;box-shadow:0 10px 25px rgba(0,0,0,.18)}
  .customer-menu-toggle-icon{display:grid;width:22px;gap:4px}
  .customer-menu-toggle-icon i{display:block;width:21px;height:2px;border-radius:3px;background:linear-gradient(90deg,var(--pink),var(--orange))}
  .customer-menu-backdrop{position:fixed;inset:0;z-index:79;display:block;padding:0;border:0;border-radius:0;background:rgba(4,2,8,.72);opacity:0;visibility:hidden;pointer-events:none;box-shadow:none;transition:opacity .22s ease,visibility .22s ease;backdrop-filter:blur(3px)}
  .customer-menu-backdrop:hover{transform:none;filter:none;box-shadow:none}
  .customer-menu-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}
  .customer-menu-close{display:grid;place-items:center;width:42px;height:42px;min-width:42px;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.045);box-shadow:none;font-size:1.7rem;line-height:1}
  .customer-menu-close:hover{transform:none;box-shadow:none;background:rgba(255,255,255,.08)}
  .customer-sidebar .sidebar-label{display:block;margin:16px 12px 8px}
  .customer-sidebar-links{gap:3px}
  .customer-sidebar a{min-height:46px;margin:0;padding:11px 13px;white-space:normal}
  .customer-sidebar a>.customer-nav-icon{width:20px;height:20px;min-width:20px}
  .customer-sidebar-quick{padding-top:4px}
  .wallet-card{align-items:stretch;flex-direction:column}
  .wallet-card>.button{align-self:flex-start}
}

@media(max-width:680px){
  .customer-orders-wrap{overflow:visible;border:0;background:transparent;box-shadow:none}
  .customer-orders-table{display:block;min-width:0!important}
  .customer-orders-table thead{display:none}
  .customer-orders-table tbody{display:grid;gap:12px}
  .customer-orders-table tr{display:grid;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:linear-gradient(145deg,#21142f,#160e22);box-shadow:0 14px 34px rgba(0,0,0,.16)}
  .customer-orders-table td{display:grid;grid-template-columns:minmax(105px,.45fr) minmax(0,1fr);gap:12px;align-items:center;padding:11px 14px;border-bottom:1px solid rgba(255,255,255,.06);white-space:normal;overflow-wrap:anywhere}
  .customer-orders-table td:last-child{border-bottom:0}
  .customer-orders-table td:before{content:attr(data-label);color:#8e8198;font-size:.63rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
  .customer-orders-table td.customer-order-action{display:block;padding:13px 14px}
  .customer-order-open{width:100%}
}

@media(max-width:430px){
  .customer-orders-table td{grid-template-columns:1fr;gap:3px}
  .wallet-card>.button{width:100%}
}

@media(min-width:781px){
  .customer-menu-toggle,.customer-menu-backdrop{display:none!important}
}

@media(prefers-reduced-motion:reduce){
  .customer-menu-backdrop{transition:none}
}

/* Sprint 14.5A.1 - Reservation default and encoding-safe interface icons */
.empty-state:before{content:"!"}
.contact-list>a:after{content:"\2192"}

/* Sprint 14.5B - veilige verwijdering van testbestellingen */
.order-delete-page{display:grid;gap:22px}
.order-delete-page>.page-heading-actions{margin-bottom:0}
.order-delete-page>.page-heading-actions p{max-width:760px;margin:.55rem 0 0;color:var(--muted)}
.order-delete-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0!important;overflow:hidden}
.order-delete-summary>div{display:grid;align-content:start;gap:6px;padding:22px;border-right:1px solid var(--line)}
.order-delete-summary>div:last-child{border-right:0}
.order-delete-summary span,.order-delete-summary small{color:var(--muted);font-size:.72rem}
.order-delete-summary strong{font-size:1rem;overflow-wrap:anywhere}
.order-delete-impact-card,.order-delete-confirmation,.order-delete-blocked{display:grid;gap:20px}
.order-delete-impact-card h2,.order-delete-confirmation h2,.order-delete-blocked h2{margin:.3rem 0 .45rem;font-size:clamp(1.55rem,3vw,2.3rem)}
.order-delete-impact-card p,.order-delete-confirmation p,.order-delete-blocked p{margin:0;color:var(--muted);line-height:1.65}
.order-delete-impact{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.order-delete-impact>span{display:grid;gap:4px;padding:15px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);color:var(--muted);font-size:.68rem}
.order-delete-impact strong{color:var(--cream);font-family:var(--display);font-size:1.8rem;line-height:1}
.order-delete-confirmation{border-color:rgba(224,75,87,.42)!important;background:linear-gradient(145deg,rgba(66,20,39,.3),rgba(24,13,32,.97))!important}
.order-delete-confirmation .danger-form{max-width:880px}
.order-delete-confirmation .danger-form textarea,.order-delete-confirmation .danger-form input[name=confirmation]{width:100%}
.order-delete-confirmation .button-danger{justify-self:start}
.order-delete-blocked{border-color:rgba(244,119,33,.45)!important;background:rgba(244,119,33,.07)!important}
.order-delete-blocked h2{color:#ffd0a8}
@media(max-width:980px){.order-delete-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.order-delete-summary>div:nth-child(2){border-right:0}.order-delete-summary>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.order-delete-impact{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.order-delete-summary,.order-delete-impact{grid-template-columns:1fr}.order-delete-summary>div{border-right:0;border-bottom:1px solid var(--line)!important}.order-delete-summary>div:last-child{border-bottom:0!important}.order-delete-confirmation .button-danger{width:100%}}

/* Sprint 14.6 - Trick or Treat 2026 focus */
#route,#update-24-oktober{scroll-margin-top:88px}
.trick-focus-hero:before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 72% 34%,rgba(255,150,51,.17),transparent 25%),radial-gradient(circle at 14% 72%,rgba(165,79,177,.14),transparent 34%);pointer-events:none}
.trick-focus-hero .hero-overlay{background:linear-gradient(90deg,rgba(8,4,13,.96) 0%,rgba(12,6,20,.8) 52%,rgba(18,8,27,.3) 100%)}
.trick-focus-hero .story-title em{color:#ffb45f;text-shadow:0 0 26px rgba(255,142,48,.2)}
.trick-ticket-focus{background:linear-gradient(180deg,transparent 0,#0c0713 72px,#0c0713 100%)}
.trick-ticket-focus-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.72fr);gap:18px;align-items:stretch}
.trick-primary-ticket{border-color:rgba(255,149,54,.38);background:radial-gradient(circle at 90% 10%,rgba(255,146,45,.15),transparent 34%),linear-gradient(155deg,rgba(76,29,72,.97),rgba(24,12,35,.99))}
.trick-primary-ticket dl{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}
.trick-primary-ticket dl>div:nth-last-child(-n+2){border-bottom:0}
.trick-ticket-assurance{display:grid;align-content:start;gap:16px;padding:29px;border:1px solid rgba(255,255,255,.11);border-radius:22px;background:linear-gradient(155deg,rgba(42,20,53,.96),rgba(19,10,29,.98));box-shadow:0 22px 54px rgba(0,0,0,.25)}
.trick-ticket-assurance h3{margin:0;font-size:clamp(1.65rem,2.5vw,2.3rem)}
.trick-ticket-assurance>p{margin:0;padding-top:16px;border-top:1px solid rgba(255,255,255,.09);color:var(--muted);font-size:.82rem;line-height:1.6}
.trick-ticket-assurance ol{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.trick-ticket-assurance li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:center;padding:13px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.025)}
.trick-ticket-assurance li>b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#ff8b2f,#b74473);color:#fff}
.trick-ticket-assurance li>span{display:grid;gap:3px}.trick-ticket-assurance li small{color:var(--muted)}
.trick-route-section{background:radial-gradient(circle at 10% 25%,rgba(142,60,151,.1),transparent 34%),#10091b}
.trick-experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}
.trick-experience-grid article{position:relative;overflow:hidden;min-height:210px;padding:25px;border:1px solid rgba(255,255,255,.1);border-radius:21px;background:linear-gradient(150deg,rgba(51,24,62,.94),rgba(20,11,30,.98))}
.trick-experience-grid article>span{display:block;color:#ff9c42;font-size:.7rem;font-weight:900;letter-spacing:.12em}
.trick-experience-grid h3{margin:22px 0 10px;font-size:1.65rem}
.trick-experience-grid p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.65}
.trick-event-feature{min-height:auto!important;margin-top:18px;background:radial-gradient(circle at 100% 0,rgba(255,153,55,.16),transparent 40%),linear-gradient(145deg,rgba(78,31,71,.96),rgba(24,12,34,.99))!important}
.family-story-section{background:radial-gradient(circle at 88% 20%,rgba(255,159,64,.08),transparent 26%),linear-gradient(180deg,#10091b,#0c0713)}
.public-event-update-section{padding-top:34px!important;padding-bottom:56px!important;background:#0c0713}
.public-event-update{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:36px;padding:28px 30px;border:1px solid rgba(255,255,255,.1);border-left:3px solid rgba(255,150,53,.72);border-radius:20px;background:rgba(255,255,255,.025)}
.public-event-update h2{margin:.35rem 0 0;font-size:clamp(1.55rem,2.6vw,2.35rem)}
.public-event-update p{margin:0;color:var(--muted);line-height:1.7}.public-event-update p+p{margin-top:10px;color:#e1d6e5}
.family-legend-hero .legend-page-veil{background:linear-gradient(90deg,rgba(9,4,15,.95),rgba(12,6,20,.72),rgba(22,10,31,.42))}
.family-legend-hero h1{color:#fff7e9}.family-residents-section .resident-card{background:radial-gradient(circle at 100% 0,rgba(255,157,61,.1),transparent 38%),linear-gradient(145deg,rgba(45,23,55,.95),rgba(20,11,30,.98))}
.checkout-event-focus{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px;padding:18px 20px;border:1px solid rgba(255,153,58,.32);border-radius:18px;background:radial-gradient(circle at 90% 0,rgba(255,153,58,.11),transparent 34%),rgba(255,255,255,.035)}
.checkout-event-focus>div{display:grid;gap:3px}.checkout-event-focus small{color:var(--orange2);font-weight:900;text-transform:uppercase;letter-spacing:.09em}.checkout-event-focus strong{font-family:var(--serif);font-size:1.35rem}.checkout-event-focus span,.checkout-event-focus p{color:var(--muted);font-size:.82rem}.checkout-event-focus p{margin:0;text-align:right}
.family-story-promise{background:radial-gradient(circle at 100% 0,rgba(255,152,56,.2),transparent 46%),linear-gradient(145deg,rgba(61,25,67,.9),rgba(20,10,29,.96))}
.form-help.warning{margin:.8rem 0 0;color:#f4cf83}

@media(max-width:980px){
 .trick-ticket-focus-grid{grid-template-columns:1fr}
 .trick-experience-grid{grid-template-columns:1fr}
 .trick-experience-grid article{min-height:0}
 .public-event-update{grid-template-columns:1fr;gap:14px}
}
@media(max-width:780px){
 .trick-primary-ticket dl{grid-template-columns:1fr}
 .trick-primary-ticket dl>div:nth-last-child(2){border-bottom:1px solid rgba(255,255,255,.07)}
 .trick-ticket-assurance{padding:22px}
 .checkout-event-focus{align-items:flex-start;flex-direction:column}
 .checkout-event-focus p{text-align:left}
 .public-event-update{padding:23px 21px}
}

/* Sprint 17A - Practical visitor information and typed tickets */
.visitor-info-hero{position:relative;padding:clamp(88px,10vw,150px) 0 52px;overflow:hidden;background:radial-gradient(circle at 82% 18%,rgba(244,119,33,.16),transparent 34%),linear-gradient(155deg,rgba(19,8,31,.96),rgba(8,5,13,.98))}
.visitor-info-hero:after{content:"";position:absolute;inset:auto -10% -70px 28%;height:180px;pointer-events:none;background:radial-gradient(ellipse,rgba(132,53,156,.14),transparent 68%);filter:blur(8px)}
.visitor-info-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(270px,.55fr);gap:clamp(28px,6vw,90px);align-items:end}
.visitor-info-hero h1{max-width:800px;margin:.25rem 0 .8rem;font-size:clamp(3rem,7vw,6.6rem);line-height:.88}
.visitor-info-hero p{max-width:720px;margin:0;color:var(--muted);font-size:clamp(1rem,1.7vw,1.25rem);line-height:1.7}
.visitor-info-date-card{display:grid;gap:8px;padding:26px;border:1px solid rgba(244,119,33,.35);border-radius:22px;background:linear-gradient(145deg,rgba(53,25,68,.93),rgba(24,13,35,.93));box-shadow:0 22px 60px rgba(0,0,0,.28)}
.visitor-info-date-card span,.visitor-info-date-card small{color:var(--muted)}
.visitor-info-date-card strong{font-family:var(--serif);font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.08}
.visitor-quick-section{padding-top:24px}
.visitor-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.visitor-quick-grid article{position:relative;min-width:0;padding:24px;border:1px solid var(--line);border-radius:19px;background:rgba(26,14,38,.78);overflow:hidden}
.visitor-quick-grid article>span{position:absolute;top:13px;right:16px;color:rgba(244,119,33,.28);font:700 2rem/1 var(--serif)}
.visitor-quick-grid small{display:block;margin-bottom:10px;color:#f5a45f;font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.visitor-quick-grid strong{display:block;font-family:var(--serif);font-size:1.34rem;line-height:1.12}
.visitor-quick-grid p{margin:.55rem 0 0;color:var(--muted);font-size:.84rem;line-height:1.55}
.visitor-arrival-section{padding-top:58px}
.visitor-arrival-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(32px,4.5vw,68px);align-items:start}
.visitor-arrival-copy{position:sticky;top:108px;min-width:0}
.visitor-arrival-copy h2{margin:.3rem 0 1rem;max-width:100%;font-size:clamp(2.25rem,3.65vw,3.55rem);line-height:.98;text-wrap:balance;overflow-wrap:break-word;hyphens:auto}
.visitor-arrival-copy>p{color:var(--muted);line-height:1.75}
.visitor-address-list{display:grid;gap:0;margin:24px 0;border-top:1px solid var(--line)}
.visitor-address-list div{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}
.visitor-address-list dt{color:#f5a45f;font-size:.72rem;font-weight:900;text-transform:uppercase}
.visitor-address-list dd{margin:0;color:#fff}
.visitor-evening-flow{display:grid;gap:12px}
.visitor-evening-flow article{display:grid;grid-template-columns:50px 1fr;gap:17px;padding:20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(43,22,58,.75),rgba(19,11,28,.82))}
.visitor-evening-flow article>b{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(244,119,33,.4);border-radius:50%;color:#ffaf6e;background:rgba(244,119,33,.08)}
.visitor-evening-flow small{display:block;color:#f5a45f;font-size:.67rem;font-weight:900;text-transform:uppercase}
.visitor-evening-flow strong{display:block;margin:4px 0;font-size:1.05rem}
.visitor-evening-flow p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.55}
.visitor-preparation-section{padding-top:72px}
.visitor-preparation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.visitor-preparation-grid article{padding:26px;border:1px solid var(--line);border-radius:20px;background:rgba(30,16,43,.76)}
.visitor-preparation-grid article>span{color:#f5a45f;font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.visitor-preparation-grid h3{margin:.6rem 0;font-size:1.35rem}
.visitor-preparation-grid p{margin:0;color:var(--muted);line-height:1.65}
.visitor-faq-section{padding-top:86px}
.visitor-faq-layout{display:grid;grid-template-columns:minmax(250px,.55fr) minmax(0,1fr);gap:clamp(28px,6vw,82px);align-items:start}
.visitor-faq-layout>header{position:sticky;top:108px}
.visitor-faq-layout h2{margin:.3rem 0 1rem;font-size:clamp(2.2rem,4vw,3.8rem);line-height:.95}
.visitor-faq-layout header>p{color:var(--muted);line-height:1.7}
.visitor-faq-help{display:grid;gap:4px;margin-top:24px;padding:17px;border-left:2px solid #f47721;background:rgba(244,119,33,.055)}
.visitor-faq-help span{color:var(--muted);font-size:.8rem;line-height:1.5}
.visitor-faq-list{border-top:1px solid var(--line)}
.visitor-faq-list details{border-bottom:1px solid var(--line)}
.visitor-faq-list summary{position:relative;display:grid;grid-template-columns:105px minmax(0,1fr) 28px;gap:17px;align-items:center;padding:22px 0;list-style:none;cursor:pointer}
.visitor-faq-list summary::-webkit-details-marker{display:none}
.visitor-faq-list summary>span{color:#f5a45f;font-size:.66rem;font-weight:900;text-transform:uppercase}
.visitor-faq-list summary>strong{font-size:1rem}
.visitor-faq-list summary>i{position:relative;width:22px;height:22px}
.visitor-faq-list summary>i:before,.visitor-faq-list summary>i:after{content:"";position:absolute;top:10px;left:4px;width:14px;height:2px;background:#f5a45f;transition:.2s}
.visitor-faq-list summary>i:after{transform:rotate(90deg)}
.visitor-faq-list details[open] summary>i:after{transform:rotate(0)}
.visitor-faq-list details>div{padding:0 44px 22px 122px}
.visitor-faq-list details p{max-width:760px;margin:0;color:var(--muted);line-height:1.7}
.visitor-final-cta-section{padding:84px 0 110px}
.visitor-final-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:clamp(24px,4vw,44px);border:1px solid rgba(244,119,33,.4);border-radius:24px;background:radial-gradient(circle at 84% 20%,rgba(244,119,33,.17),transparent 32%),linear-gradient(140deg,rgba(49,24,63,.94),rgba(20,11,30,.96))}
.visitor-final-cta h2{margin:.3rem 0 .5rem;font-size:clamp(2rem,4vw,3.5rem)}
.visitor-final-cta p{margin:0;color:var(--muted)}
.homepage-practical-section{padding-top:20px}
.homepage-practical-panel{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(26px,5vw,64px);align-items:center;padding:clamp(24px,4vw,42px);border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,rgba(41,21,55,.9),rgba(16,9,24,.94))}
.homepage-practical-heading h2{margin:.25rem 0 .7rem;font-size:clamp(2.1rem,4vw,3.8rem);line-height:.94}
.homepage-practical-heading p{color:var(--muted);line-height:1.65}
.homepage-practical-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.homepage-practical-facts>span{display:grid;gap:5px;padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}
.homepage-practical-facts small{color:#f5a45f;font-size:.66rem;font-weight:900;text-transform:uppercase}.homepage-practical-facts b{color:var(--muted);font-size:.78rem}
.ticket-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ticket-type-grid article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}
.ticket-type-grid article>div:first-child{display:grid;gap:4px}
.ticket-type-grid article span{color:#f5a45f;font-size:.68rem;font-weight:900;text-transform:uppercase}
.ticket-type-grid article strong{font-family:var(--serif);font-size:1.55rem}
.ticket-type-grid article small{color:var(--muted);font-size:.74rem;line-height:1.4}
.participant-list-typed{display:grid;gap:10px}
.participant-list-typed .participant-row{border-color:rgba(255,255,255,.08)}
.summary-ticket-types{display:grid;gap:6px;margin-bottom:12px}
.summary-ticket-types div{display:flex;justify-content:space-between;gap:18px;color:var(--muted)}
.summary-ticket-types strong{color:#fff}
.wallet-card small{display:block;margin-top:3px;color:#f5a45f;font-weight:800}
@media(max-width:980px){
 .visitor-info-hero-grid,.visitor-arrival-grid,.visitor-faq-layout,.homepage-practical-panel{grid-template-columns:1fr}
 .visitor-info-date-card{max-width:520px}
 .visitor-quick-grid{grid-template-columns:1fr 1fr}
 .visitor-arrival-copy,.visitor-faq-layout>header{position:static}
 .visitor-preparation-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
 .visitor-info-hero{padding-top:72px}
 .visitor-info-hero h1{font-size:clamp(2.65rem,15vw,4.4rem)}
 .visitor-quick-grid,.ticket-type-grid,.homepage-practical-facts{grid-template-columns:1fr}.ticket-type-grid article{align-items:flex-start;flex-direction:column}.ticket-type-grid .quantity-control{width:100%;justify-content:space-between}
 .visitor-faq-list summary{grid-template-columns:1fr 24px;gap:7px 12px;padding:19px 0}
 .visitor-faq-list summary>span{grid-column:1}
 .visitor-faq-list summary>strong{grid-column:1}
 .visitor-faq-list summary>i{grid-column:2;grid-row:1/3}
 .visitor-faq-list details>div{padding:0 34px 20px 0}
 .visitor-final-cta{align-items:flex-start;flex-direction:column}
 .visitor-final-cta .button{width:100%;box-sizing:border-box;text-align:center}
 .visitor-address-list div{grid-template-columns:1fr;gap:5px}
 .visitor-evening-flow article{grid-template-columns:42px 1fr;padding:17px}
 .visitor-evening-flow article>b{width:36px;height:36px}
}
/* Sprint 17B-A - Acceptance & Hardening */
.acceptance-test-labels span.is-retest{background:rgba(255,159,67,.12);color:#ffc07c}.acceptance-cycle-notice{border-color:rgba(255,159,67,.3);background:linear-gradient(145deg,rgba(68,40,18,.9),rgba(38,23,14,.94));color:#ead7c1}.acceptance-cycle-notice strong{color:#ffc07c}.checkout-verification-gate{margin-bottom:20px}.checkout-verification-gate a{color:#ffd08a;font-weight:800}.checkout-submit:disabled{cursor:not-allowed;opacity:.56;filter:saturate(.65);box-shadow:none;transform:none}

/* Sprint 17B-A.5 - Beheerders & Rollen */
.role-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.role-overview-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(42,23,54,.9),rgba(19,11,27,.94))}.role-overview-card h2{margin:.8rem 0 .45rem;font-size:1.1rem}.role-overview-card p{margin:0;color:var(--muted);line-height:1.55;font-size:.85rem}.role-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.role-pill.owner{background:rgba(244,119,33,.14);color:#ffb06f;border:1px solid rgba(244,119,33,.32)}.role-pill.manager{background:rgba(129,103,255,.13);color:#c6b9ff;border:1px solid rgba(129,103,255,.3)}.role-pill.scanner{background:rgba(76,199,142,.12);color:#8de4b9;border:1px solid rgba(76,199,142,.28)}.admin-create-user-card{margin:18px 0}.admin-user-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end}.admin-user-form>div{min-width:0}.admin-user-form small{display:block;margin-top:6px;color:var(--muted);font-size:.7rem}.admin-user-form .form-actions{grid-column:auto}.admin-account-list{display:grid;gap:14px;margin-top:18px}.admin-account-card{padding:0;overflow:hidden}.admin-account-card.is-disabled{opacity:.72}.admin-account-card>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:20px}.admin-account-card>header h2{margin:.6rem 0 .2rem;font-size:1.15rem}.admin-account-card>header h2 small{color:var(--muted);font-family:inherit;font-size:.7rem}.admin-account-card>header p{margin:0;color:var(--muted)}.account-status{padding:6px 9px;border-radius:999px;font-size:.7rem;font-weight:800}.account-status.active{background:rgba(76,199,142,.12);color:#8de4b9}.account-status.inactive{background:rgba(255,255,255,.06);color:var(--muted)}.admin-account-meta{display:flex;gap:26px;padding:0 20px 17px;color:var(--muted);font-size:.75rem}.admin-account-meta span{display:grid;gap:3px}.admin-account-meta strong{color:#fff}.admin-account-edit{border-top:1px solid var(--line)}.admin-account-edit>summary{padding:15px 20px;cursor:pointer;font-weight:800;list-style:none}.admin-account-edit>summary::-webkit-details-marker{display:none}.admin-account-edit>summary:after{content:'+';float:right;color:#f5a45f}.admin-account-edit[open]>summary:after{content:'−'}.admin-account-edit-body{display:grid;gap:14px;padding:0 20px 20px}.admin-password-form{display:flex;gap:12px;align-items:end;padding-top:14px;border-top:1px solid var(--line)}.admin-password-form>div{flex:1}.admin-toggle-form{padding-top:4px}.role-test-guide{margin-top:20px}.role-test-guide ol{margin:14px 0 0;padding-left:20px}.role-test-guide li{margin:8px 0;color:var(--muted);line-height:1.55}.role-test-guide code{color:#ffd08a}.scanner-role-notice{display:flex;gap:12px;align-items:center;margin:18px 0;padding:14px 16px;border:1px solid rgba(76,199,142,.25);border-radius:14px;background:rgba(76,199,142,.07)}.scanner-role-notice strong{color:#8de4b9}.scanner-role-notice span{color:var(--muted);font-size:.82rem}.scanner-event-overview{margin-top:18px}.scanner-dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.role-overview-grid{grid-template-columns:1fr}.admin-user-form{grid-template-columns:1fr 1fr}.admin-user-form .form-actions{grid-column:1/-1}.scanner-dashboard-stats{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:650px){.admin-user-form{grid-template-columns:1fr}.admin-user-form .form-actions{grid-column:auto}.admin-account-card>header{flex-direction:column}.admin-account-meta{flex-direction:column;gap:10px}.admin-password-form{align-items:stretch;flex-direction:column}.scanner-role-notice{align-items:flex-start;flex-direction:column}.scanner-dashboard-stats{grid-template-columns:1fr}}

/* Sprint 17B-B.1 Event Readiness Center */
.readiness-center{display:grid;gap:22px}.readiness-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;border-left:5px solid currentColor}.readiness-hero.state-ready{color:#2f8f63}.readiness-hero.state-attention{color:#b87918}.readiness-hero.state-not_ready{color:#a84848}.readiness-hero h2{color:var(--text);margin:4px 0}.readiness-hero p{color:var(--muted);margin:0}.readiness-score{min-width:120px;text-align:center}.readiness-score strong{display:block;font-size:2.5rem;line-height:1}.readiness-score span{color:var(--muted);font-size:.82rem}.readiness-group{display:grid;gap:12px}.readiness-group>header{display:flex;justify-content:space-between;align-items:end;gap:16px}.readiness-group>header h2{margin:3px 0 0}.readiness-group>header>span{color:var(--muted);font-size:.9rem}.readiness-list{display:grid;gap:12px}.readiness-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:24px;align-items:start;border-left:4px solid transparent}.readiness-item.status-ready{border-left-color:#2f8f63}.readiness-item.status-attention{border-left-color:#b87918}.readiness-item.status-blocked{border-left-color:#a84848}.readiness-item-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.readiness-item-title h3{width:100%;margin:4px 0}.readiness-item-main p{color:var(--muted)}.readiness-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.readiness-form label:nth-of-type(3),.readiness-form button{grid-column:1/-1}.readiness-form textarea{resize:vertical}@media(max-width:900px){.readiness-item{grid-template-columns:1fr}.readiness-hero{align-items:flex-start}.readiness-form{grid-template-columns:1fr}.readiness-form label,.readiness-form button{grid-column:1!important}}@media(max-width:600px){.readiness-hero{flex-direction:column}.readiness-score{text-align:left}.readiness-group>header{align-items:flex-start;flex-direction:column;gap:4px}}

/* Sprint 17B-B.2 - Team & Route Readiness */
.route-readiness-links{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}.route-overview,.route-admin-section{margin-bottom:22px}.route-settings-form{display:grid;gap:16px}.route-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.route-check{display:flex!important;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.route-check input{width:auto!important;margin:0}.route-check.inline{align-self:end}.route-readiness-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.route-evidence{display:flex;flex-direction:column;gap:7px;border-left:4px solid var(--border)}.route-evidence.status-ready{border-left-color:#48a868}.route-evidence.status-attention{border-left-color:#d89a35}.route-evidence.status-not_started{border-left-color:#777}.route-admin-section>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}.route-point-list,.team-assignment-list{display:grid;gap:10px;margin-top:16px}.route-edit-card,.route-new-card{border:1px solid var(--border);border-radius:14px;background:var(--surface-soft);overflow:hidden}.route-edit-card>summary,.route-new-card>summary{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;list-style:none}.route-edit-card>summary strong{margin-right:auto}.route-sequence{display:grid;place-items:center;min-width:34px;height:34px;border-radius:50%;background:var(--surface);font-weight:700}.route-edit-form{padding:0 16px 16px}.route-edit-card>form:last-child{padding:0 16px 16px}.route-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.route-form-grid .span-2{grid-column:1/-1}.readiness-evidence{display:flex;flex-direction:column;gap:3px;margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--surface-soft)}.readiness-auto-action{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;min-width:220px}.readiness-auto-action span{font-size:.86rem;color:var(--muted)}
@media(max-width:900px){.route-check-grid,.route-readiness-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.route-check-grid,.route-readiness-summary,.route-form-grid{grid-template-columns:1fr}.route-form-grid .span-2{grid-column:auto}.route-edit-card>summary{align-items:flex-start;flex-wrap:wrap}.route-edit-card>summary strong{width:calc(100% - 52px);margin-right:0}.route-readiness-links{align-items:flex-start;flex-direction:column}}

/* Sprint 17B-B.3 - Location, Route & Safety Readiness */
.readiness-source-links{display:flex;gap:9px;flex-wrap:wrap}.safety-readiness-center{display:grid;gap:20px}.safety-evidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.safety-evidence{display:flex;flex-direction:column;gap:7px;border-left:4px solid var(--border)}.safety-evidence.status-ready{border-left-color:#48a868}.safety-evidence.status-attention{border-left-color:#d89a35}.safety-evidence.status-not_started{border-left-color:#777}.safety-evidence.status-blocked{border-left-color:#b94c4c}.safety-settings-form{display:grid;gap:16px}.safety-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.safety-form-grid .span-2{grid-column:1/-1}.safety-hazards>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.safety-hazard-list{display:grid;gap:10px;margin:16px 0}.risk-pill{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.7rem;font-weight:800}.risk-low{background:rgba(72,168,104,.12);color:#78d095}.risk-medium{background:rgba(216,154,53,.12);color:#e7b65f}.risk-high,.risk-critical{background:rgba(185,76,76,.14);color:#e77e7e}.risk-critical{outline:1px solid rgba(231,126,126,.35)}.safety-delete-form{padding:0 16px 16px}@media(max-width:900px){.safety-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.safety-evidence-grid,.safety-form-grid{grid-template-columns:1fr}.safety-form-grid .span-2{grid-column:auto}}

/* Sprint 17B-B.4 - Event Day Gate */
.event-day-gate{display:grid;gap:20px}.gate-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;border-left:5px solid #a84848}.gate-hero.is-released{border-left-color:#2f8f63}.gate-hero.is-invalid{border-left-color:#b87918}.gate-hero h2{margin:4px 0}.gate-hero p{margin:0;color:var(--muted)}.gate-signal{display:grid;place-items:center;min-width:92px;height:92px;border-radius:50%;background:var(--surface-soft);font-weight:900;letter-spacing:.08em;font-size:1.15rem}.gate-hero.is-released .gate-signal{color:#78d095}.gate-hero.is-invalid .gate-signal{color:#e7b65f}.gate-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gate-grid .card>header{display:flex;justify-content:space-between;align-items:flex-start}.gate-grid .card>header h2{margin:3px 0}.gate-ok{color:#78d095}.gate-blockers{display:grid;gap:9px;margin-top:12px}.gate-blockers a{display:grid;gap:3px;padding:11px 12px;border:1px solid rgba(185,76,76,.28);border-radius:11px;background:rgba(185,76,76,.07);text-decoration:none}.gate-blockers span{font-size:.82rem;color:var(--muted)}.gate-check-form{display:grid;gap:10px}.gate-release{display:flex;justify-content:space-between;align-items:center;gap:22px}.gate-release h2{margin:4px 0}.gate-release p{margin:4px 0;color:var(--muted)}.gate-warning{color:#e7b65f!important}.gate-release button:disabled{opacity:.45;cursor:not-allowed}.gate-history p{margin:0;padding:9px 0;border-bottom:1px solid var(--border);color:var(--muted)}.gate-history p:last-child{border-bottom:0}@media(max-width:800px){.gate-grid{grid-template-columns:1fr}.gate-release{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.gate-hero{align-items:flex-start;flex-direction:column}.gate-signal{min-width:72px;height:72px}}

/* Sprint 17B-C.1 - Sales Readiness Center */
.sales-readiness-page{display:grid;gap:20px}.sales-ready-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;border-left:5px solid #a84848}.sales-ready-hero.is-ready{border-left-color:#2f8f63}.sales-ready-hero h2{margin:4px 0}.sales-ready-hero p{margin:0;color:var(--muted)}.sales-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sales-check{display:flex;flex-direction:column;align-items:flex-start;gap:10px;border-left:4px solid #a84848}.sales-check.is-ok{border-left-color:#2f8f63}.sales-check>header{display:flex;width:100%;justify-content:space-between;gap:16px;align-items:flex-start}.sales-check h3{margin:3px 0}.sales-check p{margin:0;color:var(--muted);line-height:1.55;flex:1}.sales-check-signal{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--surface-soft)}.sales-check.is-ok .sales-check-signal{color:#78d095}.sales-check.is-open .sales-check-signal{color:#e77e7e}.sales-readiness-note p{margin-bottom:0;color:var(--muted)}@media(max-width:800px){.sales-check-grid{grid-template-columns:1fr}}@media(max-width:600px){.sales-ready-hero{align-items:flex-start;flex-direction:column}}
/* Sprint 17B-C.2 - Customer Journey Readiness */
.journey-flow{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:18px 0}.journey-flow span{padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;font-weight:700}.journey-flow i{opacity:.55;font-style:normal}@media(max-width:650px){.journey-flow{justify-content:flex-start}.journey-flow i{font-size:12px}}
/* Sprint 17B-C.3 - Communication Readiness */
.communication-timeline{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:18px;align-items:center;margin-bottom:20px}.communication-timeline div{display:flex;flex-direction:column;gap:5px}.communication-timeline strong{font-size:15px}.communication-timeline span{color:var(--muted);font-size:13px;line-height:1.45}.communication-timeline i{font-style:normal;font-size:22px;opacity:.5}@media(max-width:760px){.communication-timeline{grid-template-columns:1fr;gap:10px}.communication-timeline i{transform:rotate(90deg);justify-self:center}}

/* Sprint 17B-C.4 - Capacity & Sales Monitoring */
.sales-monitor-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:18px 0}.sales-monitor-kpis .card{display:flex;flex-direction:column;gap:5px}.sales-monitor-kpis span,.sales-monitor-kpis small{color:var(--muted)}.sales-monitor-kpis strong{font-size:1.55rem}.sales-monitor-notice{display:flex;gap:12px;align-items:center;margin-bottom:18px}.sales-monitor-notice span{color:var(--muted)}.sales-slot-list{display:grid;gap:10px}.sales-slot-row{display:grid;grid-template-columns:110px minmax(0,1fr) 110px;gap:18px;align-items:center;padding:14px 16px;border:1px solid var(--border);border-radius:14px}.sales-slot-time,.sales-slot-count{display:flex;flex-direction:column}.sales-slot-time strong{font-size:1.25rem}.sales-slot-time span,.sales-slot-count span,.sales-slot-progress small{color:var(--muted);font-size:.82rem}.sales-slot-count{text-align:right}.sales-slot-count strong{font-size:1.2rem}.sales-slot-progress>div{height:9px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin-bottom:7px}.sales-slot-progress i{display:block;height:100%;background:currentColor;border-radius:inherit}.sales-slot-row.is-near-full{border-color:#d6a73d}.sales-slot-row.is-full{border-color:#c85a5a}.sales-slot-row.is-full .sales-slot-time span{font-weight:800}.capacity-sales-page .section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}@media(max-width:1100px){.sales-monitor-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.sales-monitor-kpis{grid-template-columns:1fr}.sales-slot-row{grid-template-columns:72px minmax(0,1fr);gap:12px}.sales-slot-count{grid-column:2;text-align:left}.sales-monitor-notice{align-items:flex-start;flex-direction:column}.capacity-sales-page .section-heading{align-items:flex-start;flex-direction:column}}

/* Sprint 17B-C.5 - Public Information Readiness */
.public-info-source h2{margin:5px 0}.public-info-source p{margin:6px 0}.public-info-source .muted{max-width:900px;line-height:1.6}
/* Sprint 17B-C.6 - Sales Go-Live Gate */
.sales-go-live-page{display:grid;gap:20px}.sales-go-live-page .gate-signal{min-width:108px;padding:0 12px;text-align:center}.sales-gate-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.sales-gate-header h2{margin:4px 0}.sales-gate-release-form{display:grid;gap:10px;min-width:min(360px,100%)}.sales-gate-release-form textarea{resize:vertical}.sales-gate-release-form button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:800px){.sales-gate-release-form{width:100%;min-width:0}}
/* Sprint 17B-D.1 - Production Control Center */
.production-control-page{display:grid;gap:20px}.production-control-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;border-left:5px solid #a84848}.production-control-hero.is-sales_ready,.production-control-hero.is-production_ready,.production-control-hero.is-event_go{border-left-color:#2f8f63}.production-control-hero h2{margin:4px 0}.production-control-hero p{margin:0;color:var(--muted);max-width:850px}.production-control-signal{display:grid;place-items:center;min-width:150px;min-height:82px;padding:12px;border-radius:18px;background:var(--surface-soft);font-weight:900;text-align:center;letter-spacing:.05em}.production-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.production-control-check{text-decoration:none;border-left:4px solid #a84848}.production-control-check.is-ok{border-left-color:#2f8f63}.production-control-check header{display:flex;justify-content:space-between;gap:14px}.production-control-check h3{margin:4px 0}.production-control-check p{margin:0;color:var(--muted)}.production-control-timeline>div{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:center}.production-control-timeline article{display:grid;gap:6px;padding:14px;border:1px solid var(--border);border-radius:14px}.production-control-timeline article.is-ok{border-color:#2f8f63}.production-control-timeline article b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--surface-soft)}.production-control-timeline article span,.production-evidence-grid span{color:var(--muted);font-size:.86rem}.production-control-timeline i{font-style:normal;opacity:.5}.production-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.production-evidence-grid article{display:grid;gap:5px;padding:13px;border:1px solid var(--border);border-radius:12px}.production-evidence-grid article.is-ok{border-color:#2f8f63}.production-control-note p{margin-bottom:0;color:var(--muted)}@media(max-width:850px){.production-control-grid,.production-evidence-grid{grid-template-columns:1fr}.production-control-timeline>div{grid-template-columns:1fr}.production-control-timeline i{transform:rotate(90deg);justify-self:center}}@media(max-width:650px){.production-control-hero{align-items:flex-start;flex-direction:column}.production-control-signal{min-width:0;width:100%}}
/* Sprint 17B-D.2 - Final Production Gate */
.final-production-gate-page{display:grid;gap:20px}.final-production-gate-page .gate-signal{min-width:145px;padding:0 14px;text-align:center}.final-production-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.final-production-check{text-decoration:none;border-left:4px solid #a84848}.final-production-check.is-ok{border-left-color:#2f8f63}.final-production-check header{display:flex;justify-content:space-between;gap:14px}.final-production-check h2{margin:4px 0;font-size:1.1rem}.final-production-check p{margin:0;color:var(--muted);line-height:1.55}.final-production-check b{font-size:1.3rem}.final-production-check.is-ok b{color:#78d095}.final-production-check.is-open b{color:#e77e7e}@media(max-width:900px){.final-production-checks{grid-template-columns:1fr}}@media(max-width:650px){.final-production-gate-page .gate-signal{min-width:0;width:100%}}

/* Sprint 18B.1 — Architecture & Dependency Inventory */
.architecture-inventory-page{display:flex;flex-direction:column;gap:20px}.architecture-inventory-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.architecture-inventory-overview article{padding:18px 20px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-soft)}.architecture-inventory-overview span,.architecture-inventory-overview small{display:block;color:var(--muted)}.architecture-inventory-overview strong{display:block;font-size:2rem;line-height:1.1;margin:7px 0}.architecture-inventory-overview article.is-warning{border-color:rgba(225,166,73,.45)}.architecture-inventory-overview article.is-good{border-color:rgba(79,180,132,.4)}.architecture-inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.architecture-domain-card header,.architecture-overlap-card header,.architecture-table-card header,.architecture-review-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.architecture-domain-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.architecture-domain-list div{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.architecture-overlap-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.architecture-overlap-card dl div{padding:12px 14px;border:1px solid var(--border);border-radius:12px}.architecture-overlap-card dt{color:var(--muted);font-size:.85rem}.architecture-overlap-card dd{font-size:1.5rem;font-weight:700;margin:3px 0 0}.architecture-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.architecture-tags span{display:inline-flex;padding:6px 9px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--border);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.architecture-table-card .table-scroll{margin-top:14px}.architecture-table code{font-size:.8rem}.architecture-table .status-pill{white-space:nowrap}.architecture-footnote{margin:12px 0 0;font-size:.82rem}.architecture-next-card{border-style:dashed}.architecture-inventory-notice strong{color:var(--text)}
@media(max-width:1100px){.architecture-inventory-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.architecture-inventory-overview,.architecture-inventory-grid,.architecture-domain-list{grid-template-columns:1fr}.architecture-inventory-heading{align-items:flex-start}.architecture-table-card{overflow:hidden}}

/* Sprint 18B.2 — Module Overlap & Usage Verification */
.architecture-overlap-matrix header,.architecture-evidence-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.architecture-overlap-list{display:grid;gap:12px;margin-top:16px}.architecture-overlap-list>article{padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.architecture-overlap-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.architecture-overlap-title strong,.architecture-overlap-title span{display:block}.architecture-overlap-title span{color:var(--muted);font-size:.84rem;margin-top:3px}.architecture-overlap-counts{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.architecture-overlap-counts b{font-size:.72rem;padding:5px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.architecture-overlap-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.architecture-overlap-sides>div{padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.architecture-overlap-sides small{color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.architecture-overlap-list p{margin:10px 0 0}.architecture-evidence-list{display:grid;gap:8px;margin-top:14px}.architecture-evidence-list details{border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);overflow:hidden}.architecture-evidence-list summary{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer}.architecture-evidence-list summary span{color:var(--muted);font-size:.8rem}.architecture-evidence-list details>div{display:flex;flex-wrap:wrap;gap:7px;padding:0 14px 14px}.architecture-evidence-list details>div code{padding:5px 7px;border-radius:7px;background:var(--surface);border:1px solid var(--border);font-size:.74rem}.status-pill.is-neutral{opacity:.75}
@media(max-width:760px){.architecture-overlap-title,.architecture-overlap-matrix header,.architecture-evidence-card header{flex-direction:column}.architecture-overlap-counts{justify-content:flex-start}.architecture-overlap-sides{grid-template-columns:1fr}}

/* Sprint 18B.3 */
.architecture-decision-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.architecture-decision-card header,.architecture-migration-map header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.architecture-decision-card h2{margin-bottom:0}.architecture-decision-meta{display:flex;gap:10px;margin:12px 0}.architecture-decision-meta div{padding:9px 11px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft)}.architecture-decision-meta dt{font-size:.72rem;color:var(--muted);text-transform:uppercase}.architecture-decision-meta dd{margin:2px 0 0;font-weight:700}.architecture-phase-list{display:grid;gap:10px;margin-top:14px}.architecture-phase-list article{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:start;padding:13px;border:1px solid var(--border);border-radius:13px;background:var(--surface-soft)}.architecture-phase-list article>b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--surface)}.architecture-phase-list p{margin:4px 0 0;color:var(--muted)}.architecture-phase-list article>span{font-size:.76rem;font-weight:700;padding:5px 8px;border:1px solid var(--border);border-radius:999px}@media(max-width:900px){.architecture-decision-list{grid-template-columns:1fr}}@media(max-width:650px){.architecture-decision-card header{flex-direction:column}.architecture-phase-list article{grid-template-columns:36px 1fr}.architecture-phase-list article>span{grid-column:2;justify-self:start}}
/* Sprint 18B.4 */
.architecture-map-detail{margin-top:12px;border:1px solid var(--border);border-radius:12px;overflow:hidden}.architecture-map-detail summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;padding:12px;background:var(--surface-soft);font-weight:700}.architecture-map-detail summary span{font-size:.78rem;color:var(--muted);font-weight:600}.architecture-map-detail .table-scroll{border-top:1px solid var(--border)}.architecture-map-consumers{display:flex;flex-wrap:wrap;gap:7px;align-items:center;padding:12px;border-top:1px solid var(--border)}.architecture-map-consumers strong{width:100%;font-size:.8rem}.architecture-map-consumers code{font-size:.72rem}@media(max-width:650px){.architecture-map-detail summary{flex-direction:column}}

/* Sprint 18B.5 — compatibility layer */
.architecture-compatibility-filter{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.architecture-compatibility-filter>div{min-width:260px;flex:0 1 420px}.architecture-compatibility-filter label{display:block;font-size:.78rem;font-weight:700;margin-bottom:6px}.architecture-compatibility-filter select{width:100%}.architecture-compatibility-filter p{flex-basis:100%;margin:0}.architecture-compatibility-card .table-scroll{margin-top:14px}.architecture-compatibility-card .status-pill{white-space:nowrap}@media(max-width:650px){.architecture-compatibility-filter>div{min-width:100%}}

/* Sprint 18C.2 — Mavawi management platform identity */
.admin-portal-page .mavawi-admin-topbar{
  min-height:78px;
  padding-top:11px;
  padding-bottom:11px;
  background:linear-gradient(90deg,rgba(10,6,17,.98),rgba(19,10,29,.96));
  border-bottom-color:rgba(255,255,255,.09);
}
.mavawi-admin-brand{display:flex;align-items:baseline;gap:12px;min-width:0;color:#fff}
.mavawi-admin-wordmark{font-family:var(--sans);font-size:1.18rem;font-weight:900;letter-spacing:.22em;line-height:1;color:#fff}
.mavawi-admin-platform-label{padding-left:12px;border-left:1px solid rgba(255,255,255,.14);color:#8f829a;font-size:.67rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.mavawi-admin-context{display:flex;align-items:center;justify-content:flex-end;gap:13px;min-width:0}
.mavawi-admin-organization{display:grid;gap:1px;min-width:0;padding-right:14px;border-right:1px solid rgba(255,255,255,.1);line-height:1.15;text-align:right}
.mavawi-admin-organization small{color:#786d83;font-size:.58rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.mavawi-admin-organization strong{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#cfc5d5;font-size:.78rem;font-weight:700}
.mavawi-admin-role{padding:6px 9px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.035);color:#9d90a7;font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.mavawi-admin-toplink{padding:7px 8px;border-radius:9px;color:#d5ccd9;font-size:.76rem;font-weight:750;transition:.18s ease}
.mavawi-admin-toplink:hover{background:rgba(255,255,255,.05);color:#fff}
.mavawi-admin-toplink.is-quiet{color:#8d8296}
.mavawi-sidebar-signature{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;margin:0 4px 18px;padding:12px 10px 15px;border-bottom:1px solid rgba(255,255,255,.075)}
.mavawi-sidebar-wordmark{font-family:var(--sans);font-size:.92rem;font-weight:900;letter-spacing:.19em;color:#f6f2f8}
.mavawi-sidebar-area{align-self:center;color:#9b8ea5;font-size:.61rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.mavawi-sidebar-signature small{grid-column:1/-1;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#675d71;font-size:.62rem;font-weight:650;opacity:1}
.admin-portal-page .sidebar{background:linear-gradient(180deg,rgba(15,8,25,.97),rgba(11,6,18,.96))}
.admin-portal-page .sidebar-brand-label{color:#685e72}
.admin-portal-page .sidebar a.active{background:linear-gradient(90deg,rgba(229,44,104,.16),rgba(120,54,181,.09));box-shadow:inset 3px 0 0 var(--orange)}

@media(max-width:900px){
  .mavawi-admin-organization{display:none}
}
@media(max-width:780px){
  .admin-portal-page .mavawi-admin-topbar{min-height:68px;padding:9px 14px}
  .mavawi-admin-brand{gap:8px}
  .mavawi-admin-wordmark{font-size:1rem;letter-spacing:.18em}
  .mavawi-admin-platform-label{font-size:.57rem;padding-left:8px}
  .mavawi-admin-context{gap:5px}
  .mavawi-admin-role{display:none}
  .mavawi-admin-toplink{padding:7px 6px;font-size:.7rem}
  .portal-page .sidebar .mavawi-sidebar-signature{margin:0 2px 14px;padding:2px 10px 14px}
}
@media(max-width:480px){
  .mavawi-admin-platform-label{display:none}
  .mavawi-admin-toplink.is-quiet{display:none}
}



/* Sprint 18C.3 - Mavawi Platform Footer & Status Identity */
.mavawi-platform-footer{position:relative;z-index:2;margin-left:265px;border-top:1px solid rgba(255,255,255,.075);background:rgba(8,4,13,.94);color:#85798f}
.mavawi-platform-footer-inner{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:14px 38px}
.mavawi-platform-footer-brand{display:flex;align-items:baseline;gap:11px;min-width:0}
.mavawi-platform-footer-brand strong{color:#d8d0dd;font-size:.73rem;font-weight:900;letter-spacing:.18em}
.mavawi-platform-footer-brand span{padding-left:11px;border-left:1px solid rgba(255,255,255,.1);font-size:.61rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.mavawi-platform-footer-context{display:flex;align-items:center;justify-content:flex-end;gap:0;min-width:0;font-size:.62rem;font-weight:700}
.mavawi-platform-footer-context>span{display:flex;align-items:center;gap:6px;min-height:24px;padding:0 10px;border-left:1px solid rgba(255,255,255,.075);white-space:nowrap}
.mavawi-platform-footer-context>span:first-child{max-width:330px;overflow:hidden;text-overflow:ellipsis;border-left:0;white-space:nowrap}
.mavawi-platform-status i{width:7px;height:7px;border-radius:50%;background:#d59a45;box-shadow:0 0 0 3px rgba(213,154,69,.09)}
.mavawi-platform-status.is-live i{background:#55d6a5;box-shadow:0 0 0 3px rgba(85,214,165,.09)}
@media(max-width:1000px){.mavawi-platform-footer-inner{align-items:flex-start;flex-direction:column;gap:7px}.mavawi-platform-footer-context{justify-content:flex-start;flex-wrap:wrap}.mavawi-platform-footer-context>span:first-child{padding-left:0}}
@media(max-width:780px){.mavawi-platform-footer{margin-left:0}.mavawi-platform-footer-inner{padding:15px 16px}.mavawi-platform-footer-context{width:100%;gap:6px}.mavawi-platform-footer-context>span{padding:0 8px;border:1px solid rgba(255,255,255,.07);border-radius:7px;background:rgba(255,255,255,.02)}.mavawi-platform-footer-context>span:first-child{max-width:100%;padding:0 8px;border:1px solid rgba(255,255,255,.07)}}
@media(max-width:480px){.mavawi-platform-footer-context>span:first-child{width:100%}.mavawi-platform-footer-brand span{display:none}}
@media print{.mavawi-platform-footer{display:none!important}}

/* Sprint 18C.4 — Mavawi visual brand integration */
.mavawi-admin-logo-wrap{display:block;flex:0 0 auto;width:176px;line-height:0}
.mavawi-admin-logo{display:block;width:100%;height:auto;max-height:48px;object-fit:contain;object-position:left center}
.mavawi-sidebar-brandline{grid-column:1/-1;display:flex;align-items:center;min-width:0}
.mavawi-sidebar-logo{display:block;width:154px;max-width:100%;height:auto;max-height:34px;object-fit:contain;object-position:left center}
.mavawi-sidebar-flowmark{display:none;width:31px;height:31px;object-fit:contain}
.mavawi-platform-footer-logo{display:block;width:118px;height:auto;max-height:28px;object-fit:contain;object-position:left center}
@media(max-width:780px){.mavawi-admin-logo-wrap{width:145px}.mavawi-admin-logo{max-height:42px}}
@media(max-width:480px){.mavawi-admin-logo-wrap{width:34px}.mavawi-admin-logo{width:34px;height:34px;max-height:34px}.mavawi-sidebar-logo{width:142px}.mavawi-platform-footer-logo{width:106px}}


/* Sprint 18C.5 — Customer Portal Powered by Mavawi */
.mavawi-customer-header-signature{display:flex;align-items:center;gap:8px;margin-left:auto;margin-right:-6px;padding:6px 9px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(255,255,255,.025);color:#82768c;line-height:1}
.mavawi-customer-header-signature>img{width:24px;height:24px;object-fit:contain;opacity:.82}
.mavawi-customer-header-signature>span{display:grid;gap:2px}
.mavawi-customer-header-signature small{margin:0;color:#74687e;font-size:.48rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.mavawi-customer-header-signature strong{color:#aaa0b1;font-size:.62rem;font-weight:900;letter-spacing:.13em}
.mavawi-customer-sidebar-signature{display:flex;align-items:center;gap:9px;margin:18px 12px 4px;padding:14px 10px 4px;border-top:1px solid rgba(255,255,255,.07);color:#756a7d}
.mavawi-customer-sidebar-signature img{width:27px;height:27px;object-fit:contain;opacity:.75}
.mavawi-customer-sidebar-signature span{display:grid;gap:2px}
.mavawi-customer-sidebar-signature small{color:#665c6f;font-size:.52rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.mavawi-customer-sidebar-signature strong{color:#978c9f;font-size:.65rem;font-weight:900;letter-spacing:.14em}
.mavawi-customer-footer-signature{display:flex!important;align-items:center;gap:8px;margin-top:8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.07);color:#74697d!important}
.mavawi-customer-footer-signature small{margin:0;color:#6f6478;font-size:.52rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.mavawi-customer-footer-signature img{width:92px;height:auto;max-height:24px;object-fit:contain;object-position:left center;opacity:.72}
.mavawi-customer-footer-signature b{color:#9a8fa2;font-size:.66rem;letter-spacing:.13em}
@media(max-width:980px){.mavawi-customer-header-signature{display:none}}
@media(max-width:780px){.mavawi-customer-sidebar-signature{margin-top:auto;padding-bottom:10px}}


/* Sprint 18C.6 — subtle MAVAWI platform signature on the public website. */
.mavawi-public-footer-signature{display:flex!important;align-items:center;gap:8px;margin-top:8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.07);color:#74697d!important}
.mavawi-public-footer-signature small{margin:0;color:#6f6478;font-size:.52rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.mavawi-public-footer-signature img{width:92px;height:auto;max-height:24px;object-fit:contain;object-position:left center;opacity:.72}
.mavawi-public-footer-signature b{color:#9a8fa2;font-size:.66rem;letter-spacing:.13em}


/* Sprint 18D.4 — Daily admin workspace priority */
.dashboard-workspace{margin:4px 0 28px;padding:20px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:linear-gradient(145deg,rgba(23,17,31,.9),rgba(16,13,23,.72))}
.dashboard-workspace .dashboard-section-heading{margin-bottom:15px}
.dashboard-workspace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dashboard-workspace-card{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) 16px;align-items:center;gap:11px;padding:13px 14px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.035);color:inherit;text-decoration:none;transition:border-color .18s ease,transform .18s ease,background .18s ease}
.dashboard-workspace-card:hover{transform:translateY(-1px);border-color:rgba(255,174,110,.34);background:rgba(255,255,255,.055)}
.dashboard-workspace-card.is-primary{border-color:rgba(255,174,110,.28);background:rgba(255,122,47,.075)}
.dashboard-workspace-card.is-attention{border-color:rgba(255,190,92,.28)}
.dashboard-workspace-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.055);color:#ffae6e}
.dashboard-workspace-icon svg{width:18px;height:18px}
.dashboard-workspace-copy{min-width:0;display:grid;gap:3px}.dashboard-workspace-copy strong{font-size:.83rem}.dashboard-workspace-copy small{color:var(--muted);font-size:.69rem;line-height:1.35}
.dashboard-workspace-arrow{color:var(--muted);font-size:1.25rem;justify-self:end}
@media(max-width:1050px){.dashboard-workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.dashboard-workspace{padding:16px}.dashboard-workspace-grid{grid-template-columns:1fr}.dashboard-workspace-card{padding:12px}.dashboard-workspace .dashboard-section-heading>p{display:none}}

/* Sprint 18D.5 — Admin context & page hierarchy */
.admin-context-page{min-width:0}
.admin-context-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 24px;padding:0 0 18px;border-bottom:1px solid rgba(255,255,255,.08)}
.admin-context-copy{min-width:0}.admin-context-path{display:flex;align-items:center;gap:7px;margin-bottom:7px;color:var(--muted);font-size:.68rem;font-weight:750;letter-spacing:.045em;text-transform:uppercase}.admin-context-path a{color:#ffae6e;text-decoration:none}.admin-context-path a:hover{text-decoration:underline}.admin-context-header h1{margin:0 0 5px!important}.admin-context-header p{max-width:720px;margin:0;color:var(--muted);font-size:.84rem;line-height:1.55}.admin-context-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;padding-top:20px}
@media(max-width:760px){.admin-context-header{display:grid;gap:12px;margin-bottom:18px}.admin-context-actions{justify-content:flex-start;padding-top:0}.admin-context-header p{font-size:.8rem}}

/* Sprint 18D.6 — Admin Actions & Workflow Consistency */
.admin-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;white-space:nowrap}.admin-inline-action{display:inline-flex;margin:0}.admin-action-link{display:inline-flex;align-items:center;justify-content:center;border:0;background:none;color:#ffae6e;padding:7px 2px;font:inherit;font-size:.78rem;font-weight:750;line-height:1.2;text-decoration:none;cursor:pointer}.admin-action-link:hover{text-decoration:underline;color:#ffd0aa}.admin-filter-reset{align-self:end;white-space:nowrap}.admin-danger-action>summary{color:#ff9ca7;cursor:pointer;font-weight:750}.admin-danger-action[open]>summary{margin-bottom:10px}.table-actions{text-align:right}.table-actions .button-secondary{white-space:nowrap}
@media(max-width:760px){.admin-row-actions{justify-content:flex-start;white-space:normal}.table-actions{text-align:left}.admin-filter-reset{width:100%;margin-top:2px}}

/* Sprint 18D.7 — Admin feedback, empty states & status consistency */
.admin-feedback{padding:0;text-align:left}.admin-feedback .wrap{display:flex;align-items:center;gap:10px;padding:11px 22px;font-size:.88rem}.admin-feedback-mark{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:999px;background:rgba(255,255,255,.13);font-size:.76rem;font-weight:900}.admin-status{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid transparent;font-size:.72rem;font-weight:800;line-height:1.2;white-space:nowrap}.admin-status--success{background:rgba(48,163,96,.18);border-color:rgba(76,190,122,.22);color:#a9ebc1}.admin-status--warning{background:rgba(244,153,33,.16);border-color:rgba(244,153,33,.24);color:#ffd09c}.admin-status--danger{background:rgba(204,63,79,.18);border-color:rgba(225,83,101,.24);color:#ffb8c1}.admin-status--info{background:rgba(83,133,211,.18);border-color:rgba(110,158,231,.24);color:#c4d9ff}.admin-status--neutral{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.1);color:#d8cfdd}.admin-status-note{margin-left:6px}.admin-empty-cell{padding:0!important}.admin-empty-state{display:grid;justify-items:center;gap:6px;padding:42px 22px;text-align:center;white-space:normal}.admin-empty-state-mark{display:grid;place-items:center;width:36px;height:36px;margin-bottom:4px;border-radius:12px;background:rgba(244,119,33,.11);border:1px solid rgba(244,119,33,.2);color:#ffb06e;font-size:1.1rem}.admin-empty-state strong{font-size:.98rem;color:#f3edf6}.admin-empty-state>span:not(.admin-empty-state-mark){max-width:520px;color:var(--muted);font-size:.82rem;line-height:1.55}.admin-empty-state-action{margin-top:8px}
@media(max-width:700px){.admin-feedback .wrap{padding:10px 16px}.admin-status{font-size:.68rem}.admin-empty-state{padding:32px 16px}}

/* Sprint 18E.1 — Customer Journey & Mobile UX Inventory */
.customer-ux-table td:nth-child(3){min-width:180px}.customer-ux-table td:nth-child(4),.customer-ux-table td:nth-child(5){min-width:240px}.customer-ux-table code{display:block;margin-top:5px;color:var(--muted)}.customer-ux-checks{display:grid;gap:10px;margin-top:14px}.customer-ux-checks div{display:grid;gap:3px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.customer-ux-checks span{color:var(--muted);font-size:.9rem}@media(max-width:760px){.customer-ux-inventory-page .architecture-inventory-overview article strong{font-size:1.65rem}.customer-ux-table td:nth-child(4),.customer-ux-table td:nth-child(5){min-width:220px}}

/* Sprint 18E.2 — Public entry & mobile conversion polish */
.public-page .main-nav>a.is-current:not(.button){color:#fff;background:rgba(255,255,255,.055)}
.public-page .main-nav>a.is-current:not(.button)::after{content:"";display:block;height:2px;margin-top:5px;border-radius:999px;background:linear-gradient(90deg,#ff9b55,#f5bd62)}
@media(max-width:780px){
 .public-page .main-nav>a.is-current:not(.button)::after{display:none}
 .public-page .main-nav>a.is-current:not(.button){background:rgba(255,155,85,.09);box-shadow:inset 3px 0 0 rgba(245,189,98,.72)}
 .public-page .main-nav .nav-ticket-cta{padding:13px 14px;font-size:.82rem}
 .public-mobile-ticket-cta{min-height:58px;padding:9px 14px}
 .public-mobile-ticket-cta span{display:block;max-width:44%;line-height:1.25}
 .public-mobile-ticket-cta strong{max-width:54%;text-align:right;line-height:1.2}
}
@media(max-width:420px){.public-mobile-ticket-cta{gap:10px}.public-mobile-ticket-cta strong{font-size:.77rem}.public-mobile-ticket-cta span{font-size:.64rem}}

/* Sprint 18E.2.1 — Mobile checkout flow: steps first, summary after step 3 */
@media(max-width:980px){
  .ticket-checkout .checkout-layout{display:grid;grid-template-columns:1fr;gap:20px}
  .ticket-checkout .checkout-main{display:contents}
  .ticket-checkout .checkout-main > .checkout-card:nth-of-type(1){order:1}
  .ticket-checkout .checkout-main > .checkout-card:nth-of-type(2){order:2}
  .ticket-checkout .checkout-main > .checkout-card:nth-of-type(3){order:3}
  .ticket-checkout .checkout-summary{position:static;order:4}
  .ticket-checkout .checkout-main > .story-promise{order:5}
}

/* Sprint 18E.3 — registration, login & account entry polish */
.public-auth-card input{min-height:48px}
.public-auth-card .notice{line-height:1.55}
.public-auth-card button,.public-auth-card .button{min-height:46px}
.public-auth-card label>small{line-height:1.45}
@media(max-width:780px){
 .public-auth-card{width:min(100% - 24px,760px);margin:28px auto;padding:23px 18px;border-radius:20px}
 .public-auth-card-compact{width:min(100% - 24px,520px)}
 .public-auth-card h1{font-size:clamp(1.85rem,9vw,2.45rem)}
 .public-auth-submit{width:100%!important;justify-content:center}
 .public-auth-card input{font-size:16px}
}

/* Sprint 18E.4 - Customer Portal Overview & Ticket Wallet Polish */
.customer-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 24px}
.customer-page-heading>div{min-width:0;max-width:760px}.customer-page-heading h1{margin:.25rem 0 .5rem}.customer-page-heading p{margin:0;color:var(--muted);line-height:1.6}.customer-heading-action{flex:0 0 auto}
.customer-home-notice{margin-bottom:18px}.customer-next-step{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:18px;align-items:center;margin:0 0 18px;padding:20px;border:1px solid rgba(255,154,60,.22);border-radius:20px;background:linear-gradient(135deg,rgba(255,122,26,.09),rgba(44,20,56,.72));box-shadow:0 18px 44px rgba(0,0,0,.14)}
.customer-next-step.is-attention{border-color:rgba(255,188,73,.34);background:linear-gradient(135deg,rgba(255,174,55,.12),rgba(44,20,56,.72))}.customer-next-step-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:rgba(255,255,255,.07);color:var(--orange2);font-size:1.35rem;font-weight:900}.customer-next-step h2{margin:.2rem 0 .25rem;font-size:clamp(1.35rem,2.5vw,2rem)}.customer-next-step p{margin:0;color:var(--muted);line-height:1.5}.customer-home-stats{margin:18px 0}.customer-home-stats .stat{text-decoration:none;color:inherit}.customer-home-stats a.stat{transition:transform .18s ease,border-color .18s ease}.customer-home-stats a.stat:hover{transform:translateY(-2px);border-color:rgba(255,154,60,.26)}.customer-home-stats .stat small{display:block;margin-top:6px;color:var(--muted);font-size:.7rem}.customer-home-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.customer-home-shortcuts a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;padding:17px 18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);color:inherit;text-decoration:none}.customer-home-shortcuts a strong,.customer-home-shortcuts a span{grid-column:1}.customer-home-shortcuts a span{color:var(--muted);font-size:.78rem;line-height:1.45}.customer-home-shortcuts a b{grid-column:2;grid-row:1/3;align-self:center;color:var(--orange2);font-size:1.25rem}.customer-home-shortcuts a:hover{border-color:rgba(255,154,60,.28);background:rgba(255,255,255,.04)}
.customer-ticket-count{margin:-8px 0 14px;color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:.03em}.customer-wallet-card{padding:22px}.customer-wallet-copy{min-width:0;flex:1}.customer-wallet-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.customer-wallet-card h2{margin:.45rem 0 .15rem;font-size:1.55rem}.customer-wallet-event{margin:0 0 14px!important;color:#f5a45f;font-weight:800}.customer-wallet-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px;margin:0}.customer-wallet-meta div{display:grid;gap:3px}.customer-wallet-meta dt{color:var(--muted);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.customer-wallet-meta dd{margin:0;font-size:.84rem;line-height:1.4}.customer-wallet-action{flex:0 0 auto}.customer-portal-empty{display:grid;justify-items:start;gap:7px;max-width:700px}.customer-portal-empty h2,.customer-portal-empty p{margin:0}.customer-portal-empty p{color:var(--muted)}.customer-portal-empty-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:4px;border-radius:13px;background:rgba(255,255,255,.055);color:var(--orange2);font-size:1.4rem}
@media(max-width:900px){.customer-home-shortcuts{grid-template-columns:1fr}.customer-next-step{grid-template-columns:48px minmax(0,1fr)}.customer-next-step>.button{grid-column:1/-1;width:100%}.customer-wallet-meta{grid-template-columns:1fr}}
@media(max-width:620px){.customer-page-heading{display:grid;gap:14px;margin-bottom:18px}.customer-heading-action{width:100%}.customer-next-step{grid-template-columns:42px minmax(0,1fr);padding:16px;gap:13px}.customer-next-step-icon{width:42px;height:42px;border-radius:12px}.customer-home-stats{grid-template-columns:1fr 1fr}.customer-home-stats .stat:last-child{grid-column:1/-1}.customer-wallet-card{padding:17px}.customer-wallet-topline{align-items:flex-start}.customer-wallet-card h2{font-size:1.35rem}.customer-wallet-action{width:100%}.customer-ticket-count{margin-top:-4px}}

/* Sprint 18E.5 — Order detail & payment status clarity */
.customer-order-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.customer-order-heading-row>div{min-width:0}.customer-order-status{flex:0 0 auto;margin-top:6px}.customer-order-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:760px;margin-top:20px}.customer-order-progress>div{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.025)}.customer-order-progress>div>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:#a99cac;font-size:.7rem;font-weight:900}.customer-order-progress strong,.customer-order-progress small{display:block}.customer-order-progress strong{color:#e9e1eb;font-size:.72rem}.customer-order-progress small{margin-top:2px;color:#8f8295;font-size:.6rem}.customer-order-progress .is-current{border-color:rgba(244,119,33,.34);background:rgba(244,119,33,.055)}.customer-order-progress .is-current>span{border-color:rgba(244,119,33,.36);background:rgba(244,119,33,.15);color:#ffad68}.customer-order-progress .is-done{border-color:rgba(85,214,165,.2)}.customer-order-progress .is-done>span{border-color:rgba(85,214,165,.28);background:rgba(85,214,165,.12);color:#7ce0bb}.customer-order-ticket-list{display:grid;gap:9px}.customer-order-ticket-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border:1px solid rgba(255,255,255,.085);border-radius:13px;background:rgba(255,255,255,.025)}.customer-order-ticket-row>div{min-width:0}.customer-order-ticket-row strong,.customer-order-ticket-row span{display:block}.customer-order-ticket-row strong{font-size:.82rem}.customer-order-ticket-row span{margin-top:3px;color:var(--muted);font-size:.67rem;overflow-wrap:anywhere}.customer-order-ticket-row .button{flex:0 0 auto;white-space:nowrap}.customer-order-ticket-empty{max-width:700px;padding:16px 18px;border:1px dashed rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.018)}.customer-order-ticket-empty strong{font-size:.82rem}.customer-order-ticket-empty p{margin:.3rem 0 0;color:var(--muted);font-size:.73rem;line-height:1.55}
@media(max-width:700px){.customer-order-heading-row{display:grid;gap:9px}.customer-order-status{justify-self:start;margin-top:0}.customer-order-progress{grid-template-columns:1fr;gap:6px;margin-top:16px}.customer-order-progress>div{grid-template-columns:30px minmax(0,1fr);padding:9px 10px}.customer-order-progress>div>span{width:28px;height:28px}.customer-order-ticket-row{align-items:stretch}.customer-order-ticket-row .button{align-self:center}}
@media(max-width:430px){.customer-order-ticket-row{display:grid;gap:11px}.customer-order-ticket-row .button{width:100%;justify-content:center}.order-financial-summary{width:100%}.order-financial-summary>div{align-items:flex-start}.order-financial-summary>div span{min-width:0}.order-financial-summary>div strong{text-align:right;white-space:nowrap}}


/* Sprint 18E.6 — Account, privacy & support mobile polish */
.customer-account-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:18px;align-items:start}.customer-account-card{margin:0}.customer-section-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}.customer-section-heading h2,.customer-section-heading p{margin:0}.customer-section-heading p{margin-top:4px;color:var(--muted);font-size:.74rem;line-height:1.5}.customer-section-icon{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border:1px solid rgba(244,119,33,.2);border-radius:10px;background:rgba(244,119,33,.08);color:#ffad68;font-size:.64rem;font-weight:900}.customer-account-form{display:grid;gap:10px}.customer-account-form label{margin:2px 0 -4px}.customer-account-form .button-primary{justify-self:start;margin-top:7px}.field-hint{color:var(--muted);font-size:.64rem;font-weight:600}.field-hint.standalone{margin-top:-6px;line-height:1.45}.customer-account-notice{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.customer-account-notice>div{display:grid;gap:3px}.customer-account-notice span{font-size:.72rem;line-height:1.45}
.customer-privacy-card{margin-bottom:18px}.customer-privacy-form{display:grid;gap:10px}.customer-consent-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.022)}.customer-consent-row input{margin:0}.customer-consent-row span{display:grid;gap:3px}.customer-consent-row strong{font-size:.78rem}.customer-consent-row small{color:var(--muted);font-size:.68rem;line-height:1.45}.customer-consent-row>b{color:#b6a9bb;font-size:.63rem;text-transform:uppercase;letter-spacing:.05em}.customer-consent-row.is-required>b{color:#7ce0bb}.customer-form-footer{display:flex;align-items:center;gap:14px;margin-top:6px}.customer-form-footer>small{max-width:620px;color:var(--muted);font-size:.65rem;line-height:1.45}.customer-privacy-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.customer-privacy-grid .card{margin:0}.customer-detail-list{display:grid;gap:0;margin:14px 0 0}.customer-detail-list>div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-top:1px solid rgba(255,255,255,.07)}.customer-detail-list dt{color:var(--muted);font-size:.7rem}.customer-detail-list dd{margin:0;text-align:right;font-size:.72rem;font-weight:750}.customer-consent-history{margin:0}.customer-portal-empty.compact{padding:12px 0;gap:3px}.contact-center>.customer-page-heading{margin-bottom:18px}
@media(max-width:900px){.customer-account-grid,.customer-privacy-grid{grid-template-columns:1fr}.customer-account-card{padding:20px}.customer-form-footer{align-items:flex-start;flex-direction:column}.customer-form-footer .button-primary{width:100%}}
@media(max-width:620px){.customer-account-card{padding:16px}.customer-account-notice{align-items:stretch;flex-direction:column}.customer-account-notice .inline-form,.customer-account-notice button{width:100%}.customer-account-form .form-grid{grid-template-columns:1fr}.customer-account-form input{font-size:16px}.customer-account-form .button-primary{width:100%;justify-content:center}.customer-consent-row{grid-template-columns:auto minmax(0,1fr);align-items:start;padding:12px}.customer-consent-row>b{grid-column:2;justify-self:start}.customer-detail-list>div{display:grid;gap:4px}.customer-detail-list dd{text-align:left}.customer-privacy-page .table-wrap{margin-left:-4px;margin-right:-4px}.contact-center .contact-layout{gap:14px}}
\n\n/* Sprint 18E.7 — Ticket detail, QR access & event-day mobile polish */
.ticket-entry-cue{display:none}
.ticket-qr-help{display:block;max-width:230px;margin-top:9px;color:#5d4c4b;line-height:1.45}
.ticket-aftercare p strong{color:#f2d18c}
@media(max-width:680px){
  .ticket-page.print-ticket{padding:18px 10px 34px}
  .ticket-page .roll-ticket{display:flex;flex-direction:column;width:100%;max-width:none;margin:10px auto 18px;border-radius:22px}
  .ticket-page .roll-ticket-stub{order:1;padding:25px 18px 28px;border-top:0;border-bottom:2px dashed rgba(80,48,57,.42)}
  .ticket-page .roll-ticket-main{order:2;padding:25px 20px 28px}
  .ticket-page .roll-ticket-stub:before{right:-22px;top:auto;bottom:-22px}
  .ticket-page .roll-ticket-main:before{left:-22px;top:auto;bottom:-22px}
  .ticket-page .roll-ticket-main:after,.ticket-page .roll-ticket-stub:after{display:none}
  .ticket-entry-cue{display:grid;gap:3px;margin-bottom:12px}
  .ticket-entry-cue span{color:#9b6d54;font-size:.66rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
  .ticket-entry-cue strong{color:#2e1838;font-family:var(--serif);font-size:1.18rem}
  .ticket-page .roll-ticket-status{margin-bottom:2px}
  .ticket-page .roll-ticket-stub .qr-panel{margin:12px 0 10px}
  .ticket-page .roll-ticket-stub .qr-panel svg{width:min(72vw,280px);padding:12px}
  .ticket-page .stub-number{font-size:.94rem}
  .ticket-page .ticket-qr-help{max-width:290px;font-size:.78rem}
  .ticket-page .roll-ticket-brand{padding-bottom:18px}
  .ticket-page .roll-ticket-copy{padding-top:20px}
  .ticket-page .roll-ticket-copy h1{font-size:2rem;line-height:1.02}
  .ticket-page .roll-ticket-copy .ticket-person{font-size:1.45rem!important;margin-bottom:18px!important}
  .ticket-page .ticket-details{gap:10px}
  .ticket-page .ticket-details div{padding-top:9px}
  .ticket-page .ticket-aftercare{margin:0;padding:18px 16px;text-align:left;border-radius:18px}
  .ticket-page .ticket-aftercare p{font-size:.88rem;line-height:1.55}
  .ticket-page .ticket-aftercare .ticket-actions{display:grid;grid-template-columns:1fr;padding-top:14px}
  .ticket-page .ticket-aftercare .ticket-actions>*{width:100%;box-sizing:border-box}
}
@media(max-width:390px){
  .ticket-page.print-ticket{padding-left:7px;padding-right:7px}
  .ticket-page .roll-ticket-main{padding-left:17px;padding-right:17px}
  .ticket-page .roll-ticket-stub{padding-left:14px;padding-right:14px}
  .ticket-page .roll-ticket-stub .qr-panel svg{width:min(76vw,260px)}
}
\n/* Sprint 18F.2 - scanner UX & speed */\n.scanner-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.scanner-controls #start-scanner{min-width:170px}.scanner-readiness{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.035);font-size:.78rem;font-weight:800;letter-spacing:.02em}.scanner-readiness-dot{width:10px;height:10px;border-radius:50%;background:#888;box-shadow:0 0 0 4px rgba(255,255,255,.04)}.scanner-readiness[data-state="ready"]{border-color:rgba(65,213,140,.34);color:#9be9c9;background:rgba(65,213,140,.08)}.scanner-readiness[data-state="ready"] .scanner-readiness-dot{background:#41d58c;box-shadow:0 0 14px rgba(65,213,140,.75)}.scanner-readiness[data-state="starting"],.scanner-readiness[data-state="processing"]{border-color:rgba(255,154,60,.34);color:#ffc188;background:rgba(255,154,60,.07)}.scanner-readiness[data-state="starting"] .scanner-readiness-dot,.scanner-readiness[data-state="processing"] .scanner-readiness-dot{background:#ff9a3c;animation:scannerPulse 1.05s ease-in-out infinite}.scanner-readiness[data-state="error"]{border-color:rgba(237,71,111,.38);color:#ff9bb2;background:rgba(237,71,111,.08)}.scanner-readiness[data-state="error"] .scanner-readiness-dot{background:#ed476f}.scanner-status{margin-bottom:4px}.scanner-speed-hint{margin:0 0 18px;color:var(--muted);font-size:.76rem;line-height:1.45}.scanner-card #scanner-camera:after{content:'';position:absolute;left:50%;top:50%;width:48%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:18px;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}@keyframes scannerPulse{0%,100%{transform:scale(.82);opacity:.65}50%{transform:scale(1.18);opacity:1}}@media(max-width:620px){.scanner-controls{align-items:stretch;flex-direction:column}.scanner-controls #start-scanner{width:100%;min-height:52px}.scanner-readiness{justify-content:center;width:100%;border-radius:14px}.scanner-card video{min-height:360px}.scan-frame{inset:12%}.scanner-speed-hint{font-size:.8rem}}\n
/* Sprint 18F.3 — duplicate scan safety */
.state-used .scan-feedback-card{border-width:3px}.state-used .scan-feedback-message{font-size:1.12rem}.state-used .scan-feedback-details>div:nth-last-child(-n+2){background:rgba(0,0,0,.24)}


/* Sprint 18F.4 — poor connection & network resilience */
.scanner-network{display:flex;align-items:center;gap:11px;margin:0 0 14px;padding:11px 13px;border:1px solid rgba(65,213,140,.26);border-radius:14px;background:rgba(65,213,140,.065)}.scanner-network-dot{flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:#41d58c;box-shadow:0 0 12px rgba(65,213,140,.68)}.scanner-network>div{display:grid;gap:2px}.scanner-network strong{font-size:.76rem}.scanner-network small{color:var(--muted);font-size:.68rem;line-height:1.4}.scanner-network[data-state="offline"]{border-color:rgba(237,71,111,.38);background:rgba(237,71,111,.085)}.scanner-network[data-state="offline"] .scanner-network-dot{background:#ed476f;box-shadow:0 0 12px rgba(237,71,111,.58)}.scanner-network[data-state="offline"] strong{color:#ff9bb2}@media(max-width:620px){.scanner-network{align-items:flex-start;padding:12px}.scanner-network small{font-size:.72rem}}


/* Sprint 18F.5 — event-day bezoekersstroom per starttijd */
.event-flow-list{display:grid;gap:10px}.event-flow-row{display:grid;grid-template-columns:82px minmax(0,1fr) 120px;gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--border,#2d3140);border-radius:14px;background:rgba(255,255,255,.025)}.event-flow-time{display:grid;gap:2px}.event-flow-time strong{font-size:1.08rem}.event-flow-time span,.event-flow-count span{font-size:.75rem;opacity:.7}.event-flow-progress{min-width:0}.event-flow-progress>div{height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin-bottom:6px}.event-flow-progress>div>i{display:block;height:100%;border-radius:inherit;background:currentColor}.event-flow-progress small{display:block;white-space:normal;opacity:.78}.event-flow-count{text-align:right;display:grid;gap:2px}.event-flow-count strong{font-size:1rem}.event-flow-row.phase-active{border-width:2px}.event-flow-row.phase-passed{opacity:.68}.event-day-flow-panel>header p{margin:.25rem 0 0;opacity:.72}.event-flow-list-wide{margin-top:4px}
@media(max-width:700px){.event-flow-row{grid-template-columns:64px minmax(0,1fr);gap:10px}.event-flow-count{grid-column:2;text-align:left;display:flex;gap:8px;align-items:baseline}.event-flow-progress small{font-size:.78rem}}

/* Sprint 18F.6 — Event-day incident & recovery */
.scanner-recovery-link{display:inline-flex;margin-top:12px;color:var(--muted);font-size:.78rem;font-weight:750;text-decoration:underline;text-underline-offset:3px}.scanner-recovery-link:hover{color:#fff}.event-recovery-page{min-width:0}.event-recovery-notice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 16px;align-items:center;margin:0 0 18px;padding:14px 16px;border:1px solid rgba(85,214,165,.28);border-radius:14px;background:rgba(85,214,165,.055)}.event-recovery-notice strong{color:#76e4bd}.event-recovery-notice span{color:var(--muted);font-size:.8rem}.event-recovery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.event-recovery-grid .card{padding:18px}.event-recovery-grid h2{margin:.35rem 0 .45rem;font-size:1.05rem}.event-recovery-grid p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.55}.event-recovery-search-card{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:20px;align-items:end}.event-recovery-search-card h2{margin:.25rem 0}.event-recovery-search{margin:0}.event-recovery-results{display:grid;gap:12px;margin-top:20px}.event-recovery-results-head{display:flex;justify-content:space-between;gap:14px;align-items:end}.event-recovery-results-head h2{margin:.2rem 0 0}.event-recovery-results-head small{color:var(--muted)}.event-recovery-ticket{display:grid;gap:14px;padding:18px;border-left:3px solid rgba(255,255,255,.15)}.event-recovery-ticket.state-valid{border-left-color:#55d6a5}.event-recovery-ticket.state-used{border-left-color:#f5be41}.event-recovery-ticket.state-cancelled,.event-recovery-ticket.state-invalid{border-left-color:#ff4b5f}.event-recovery-ticket-main{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.event-recovery-ticket-main h3{margin:.25rem 0;font-size:1.08rem}.event-recovery-ticket-main p{margin:0;color:var(--muted);font-size:.78rem}.event-recovery-state{flex:0 0 auto;padding:7px 10px;border-radius:999px;font-size:.7rem;font-weight:850}.event-recovery-state.state-valid{background:rgba(85,214,165,.12);color:#76e4bd}.event-recovery-state.state-used{background:rgba(245,190,65,.12);color:#ffd56b}.event-recovery-state.state-cancelled,.event-recovery-state.state-invalid{background:rgba(255,75,95,.12);color:#ff9ca7}.event-recovery-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.event-recovery-meta>div{display:grid;gap:3px;padding:10px;border-radius:11px;background:rgba(255,255,255,.03);min-width:0}.event-recovery-meta span,.event-recovery-meta small{color:var(--muted);font-size:.67rem}.event-recovery-meta strong{overflow-wrap:anywhere;font-size:.78rem}.event-recovery-guidance{margin:0;padding:10px 12px;border-radius:11px;background:rgba(255,255,255,.025);color:var(--muted);font-size:.78rem}.event-recovery-actions{display:flex;gap:9px;flex-wrap:wrap}.event-recovery-empty{margin-top:18px}.event-recovery-empty h2{margin:.3rem 0}.event-recovery-empty p{max-width:760px}
@media(max-width:900px){.event-recovery-grid{grid-template-columns:1fr}.event-recovery-search-card{grid-template-columns:1fr}.event-recovery-meta{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.event-recovery-notice{grid-template-columns:1fr}.event-recovery-ticket-main{display:grid}.event-recovery-state{justify-self:start}.event-recovery-meta{grid-template-columns:1fr}.event-recovery-actions{display:grid}.event-recovery-actions a{width:100%;justify-content:center}.event-recovery-results-head{align-items:flex-start;flex-direction:column}}


/* Sprint 18H.1 - Public Story Experience / legend.php */
.legend-page-hero{position:relative;min-height:680px;display:grid;align-items:center;overflow:hidden;background:radial-gradient(circle at 76% 28%,rgba(255,145,55,.22),transparent 16%),radial-gradient(circle at 70% 46%,rgba(125,60,255,.18),transparent 30%),linear-gradient(125deg,#0c0712 0%,#21102e 52%,#32143c 100%)}
.legend-page-hero:before{content:"";position:absolute;inset:auto -8% -10% 36%;height:52%;background:repeating-linear-gradient(100deg,transparent 0 42px,rgba(255,255,255,.025) 43px 44px,transparent 45px 87px);transform:skewY(-7deg);mask-image:linear-gradient(to top,#000,transparent);-webkit-mask-image:linear-gradient(to top,#000,transparent);opacity:.65}
.legend-page-veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,4,13,.96) 0%,rgba(12,6,20,.84) 44%,rgba(22,9,31,.42) 100%)}
.legend-page-hero-inner{position:relative;z-index:2;padding:120px 0 108px}
.legend-page-hero-inner>*{max-width:790px}
.legend-page-prologue{margin:18px 0 10px;color:#ffbd75;font:600 clamp(1.08rem,2vw,1.35rem)/1.55 var(--sans)}
.legend-page-hero h1{max-width:920px;margin:0 0 24px;font-size:clamp(3rem,6.5vw,6rem);letter-spacing:-.045em;text-wrap:balance}
.legend-page-lead{max-width:720px!important;margin:0;color:#d8cfe0;font-size:clamp(1.02rem,1.6vw,1.2rem);line-height:1.8}
.legend-hero-meta{display:flex;flex-wrap:wrap;gap:9px;margin:30px 0 26px}
.legend-hero-meta span{padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.055);color:#eee5f2;font-size:.78rem;font-weight:700;letter-spacing:.02em;backdrop-filter:blur(10px)}
.legend-page-mist{position:absolute;left:-10%;right:-10%;bottom:-80px;height:190px;border-radius:50%;background:rgba(192,133,224,.15);filter:blur(52px);pointer-events:none}

.story-book-section{position:relative;background:linear-gradient(180deg,#0b0712,#11091a)}
.story-book-heading{max-width:850px;margin-left:auto;margin-right:auto}
.story-book{position:relative;max-width:980px;margin:54px auto 0;padding-left:86px}
.story-book:before{content:"";position:absolute;left:36px;top:32px;bottom:32px;width:1px;background:linear-gradient(transparent,rgba(255,154,60,.8) 8%,rgba(229,44,104,.5) 76%,transparent)}
.story-book-chapter{position:relative;margin:0 0 18px;padding:30px 34px 32px;border:1px solid rgba(255,255,255,.09);border-radius:22px;background:linear-gradient(145deg,rgba(35,20,47,.88),rgba(20,12,29,.92));box-shadow:0 18px 48px rgba(0,0,0,.16)}
.story-book-index{position:absolute;left:-86px;top:28px;display:grid;place-items:center;width:72px;height:72px;border:1px solid rgba(255,154,60,.36);border-radius:50%;background:#160d21;color:#ffb366;font:700 1.35rem/1 var(--serif);box-shadow:0 0 0 8px #0e0816,0 10px 28px rgba(0,0,0,.3)}
.story-book-chapter small{display:block;margin-bottom:7px;color:var(--orange2);font-size:.7rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.story-book-chapter h3{margin:0 0 11px;font-size:clamp(1.65rem,3vw,2.45rem)}
.story-book-chapter p{max-width:760px;margin:0;line-height:1.75}
.story-book-chapter-quote{background:radial-gradient(circle at 95% 10%,rgba(255,145,55,.12),transparent 28%),linear-gradient(145deg,rgba(46,22,57,.95),rgba(23,12,33,.96))}
.story-book-chapter blockquote{max-width:760px;margin:3px 0 16px;color:#fff6e8;font:600 clamp(1.55rem,3vw,2.55rem)/1.35 var(--serif);text-wrap:balance}

.village-map-section{position:relative;overflow:hidden;background:radial-gradient(circle at 18% 42%,rgba(125,60,255,.11),transparent 32%),#09050f}
.village-map-heading{align-items:flex-end;gap:48px}
.village-map-intro{max-width:520px}.village-map-intro p{margin:0 0 9px;color:#d9cfdf;line-height:1.7}.village-map-intro small{display:block;color:#8f8199;line-height:1.55}
.village-map-layout{display:grid;grid-template-columns:minmax(0,1.58fr) minmax(340px,.62fr);gap:24px;align-items:stretch}
.village-map{position:relative;min-height:620px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:30px;background:radial-gradient(circle at 77% 16%,rgba(255,185,92,.12),transparent 15%),radial-gradient(circle at 45% 55%,rgba(103,54,120,.14),transparent 34%),linear-gradient(155deg,#211329 0%,#100b19 58%,#09070f 100%);box-shadow:var(--shadow)}
.village-map:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 92%);opacity:.45}
.village-map-atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.map-moon{position:absolute;right:8%;top:7%;width:88px;height:88px;border-radius:50%;background:radial-gradient(circle at 36% 34%,#fff8df,#f8c876 55%,#dd8139 100%);box-shadow:0 0 50px rgba(255,177,79,.28);opacity:.78}
.map-horizon{position:absolute;left:-5%;right:-5%;bottom:0;height:43%;background:linear-gradient(to top,rgba(2,2,5,.92),transparent),repeating-linear-gradient(115deg,transparent 0 62px,rgba(2,2,5,.58) 63px 92px,transparent 93px 126px);clip-path:polygon(0 100%,0 67%,8% 48%,16% 68%,24% 41%,33% 65%,44% 48%,55% 70%,65% 39%,75% 63%,84% 45%,92% 67%,100% 51%,100% 100%);opacity:.68}
.map-paths{position:absolute;inset:7% 5% 7%;width:90%;height:86%;overflow:visible}.map-paths path{fill:none;stroke:rgba(224,160,91,.3);stroke-width:3;stroke-dasharray:5 11;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(255,153,62,.12))}
.map-fog{position:absolute;width:58%;height:16%;border-radius:50%;background:rgba(181,137,207,.07);filter:blur(25px)}.map-fog-a{left:-10%;top:38%;transform:rotate(8deg)}.map-fog-b{right:-8%;bottom:18%;transform:rotate(-7deg)}
.map-village-label{position:absolute;z-index:2;left:6%;top:7%;display:grid;gap:2px;pointer-events:none}.map-village-label span{color:#9d8ba9;font-size:.62rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.map-village-label strong{color:rgba(255,255,255,.88);font:600 1.3rem/1.1 var(--serif)}
.village-map-route{position:absolute;z-index:3;inset:0}
.map-marker{position:absolute;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;width:210px;min-height:68px;padding:10px 12px;text-align:left;border:1px solid rgba(255,255,255,.11);border-radius:17px;background:rgba(13,8,20,.88);box-shadow:0 14px 34px rgba(0,0,0,.3);backdrop-filter:blur(14px);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}
.map-marker:hover{transform:translateY(-4px);border-color:rgba(255,171,84,.38);box-shadow:0 18px 38px rgba(0,0,0,.34),0 0 24px rgba(255,130,45,.07)}
.map-marker.is-active{border-color:rgba(255,154,60,.72);background:linear-gradient(135deg,rgba(76,31,72,.96),rgba(33,17,47,.96));box-shadow:0 18px 40px rgba(0,0,0,.36),0 0 30px rgba(255,122,26,.12)}
.map-marker-number{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.055);color:#ffb468;font:700 .82rem/1 var(--serif);border:1px solid rgba(255,255,255,.09)}
.map-marker.is-active .map-marker-number{background:linear-gradient(135deg,var(--pink),var(--orange));color:#fff;border-color:transparent}
.map-marker-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.map-marker-copy small{overflow:hidden;color:#9f91a8;font-size:.57rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;white-space:nowrap;text-overflow:ellipsis}.map-marker-copy strong{color:#fff;font-family:var(--serif);font-size:.9rem;line-height:1.15}
.map-marker-square,.map-marker[data-map-location="square"]{left:35%;top:46%}
.map-marker-church,.map-marker[data-map-location="church"]{left:45%;top:17%}
.map-marker-forest,.map-marker[data-map-location="forest"]{left:8%;top:24%}
.map-marker-inn,.map-marker[data-map-location="inn"]{right:7%;top:53%}
.map-marker-gate,.map-marker[data-map-location="gate"]{left:10%;bottom:9%}
.map-compass{position:absolute;z-index:2;right:28px;bottom:25px;display:grid;place-items:center;width:50px;height:50px;border:1px solid rgba(255,255,255,.13);border-radius:50%;color:#bdaec8;font:700 .78rem/1 var(--serif);opacity:.65}.map-compass:before{content:"";position:absolute;top:5px;width:1px;height:12px;background:var(--orange2)}
.map-legend{position:absolute;z-index:2;left:28px;bottom:25px;display:flex;align-items:center;gap:8px;color:#8f8199;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.map-legend i{width:8px;height:8px;border-radius:50%;background:var(--orange2);box-shadow:0 0 12px rgba(255,154,60,.55)}
.map-story-panel{position:sticky;top:104px;align-self:start;min-height:430px;padding:38px;border:1px solid rgba(255,255,255,.1);border-radius:30px;background:radial-gradient(circle at 100% 0,rgba(255,145,55,.13),transparent 35%),linear-gradient(145deg,#24132f,#130b1d);box-shadow:var(--shadow)}
.map-story-panel h3{margin:14px 0 16px;font-size:clamp(2.25rem,3.2vw,3.25rem);line-height:.98;overflow-wrap:normal;word-break:normal;hyphens:none}.map-story-lead{margin:0 0 14px!important;color:#f2e5d9!important;font:600 1.08rem/1.6 var(--serif)}.map-story-panel>p:not(.map-story-lead):not(.map-story-note){color:#cfc3d5;line-height:1.78}
.map-location-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.map-location-meta span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);color:#ddd2e4;font-size:.7rem;font-weight:700}.map-story-note{margin:30px 0 0!important;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);color:#8f8199!important;font-size:.76rem;line-height:1.55!important}.map-story-panel.is-updated{animation:legendPanelUpdate .3s ease both}
@keyframes legendPanelUpdate{from{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:none}}

.residents-section{background:linear-gradient(180deg,#100819,#0b0712)}
.residents-heading{max-width:820px;margin-left:auto;margin-right:auto}
.resident-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.resident-card{position:relative;overflow:hidden;padding:28px;border:1px solid rgba(255,255,255,.1);border-radius:24px;box-shadow:0 18px 48px rgba(0,0,0,.18);transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease}
.resident-card:hover{transform:translateY(-3px);border-color:rgba(255,154,60,.24);box-shadow:0 24px 55px rgba(0,0,0,.25)}
.resident-card-top{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.resident-symbol{display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.06);font-size:1.5rem}
.resident-role{color:var(--orange2);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em}
.resident-card h3{margin:0 0 10px;font-size:clamp(1.65rem,2.5vw,2.25rem)}
.resident-card>p{min-height:58px;margin:0 0 24px;line-height:1.7}
.resident-reveal{display:flex;width:100%;justify-content:space-between;padding:12px 0;border-radius:0;border-top:1px solid rgba(255,255,255,.09);background:none;box-shadow:none;color:#fff;text-align:left}
.resident-reveal:hover{transform:none;filter:none;box-shadow:none;color:var(--orange2)}
.resident-reveal:before{display:none}
.resident-reveal b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.07);font-size:1.1rem;font-weight:500}
.resident-secret{margin-top:8px;padding:18px 18px 16px;border:1px solid rgba(255,154,60,.2);border-radius:16px;background:rgba(255,122,26,.06)}
.resident-secret[hidden]{display:none!important}
.resident-secret>span{display:block;margin-bottom:6px;color:#ffb468;font-size:.68rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.resident-secret p{margin:0;color:#e7dce9;line-height:1.65}
.resident-card.is-revealed{border-color:rgba(255,154,60,.25)}

.legend-ticket-cta{padding-top:70px;background:radial-gradient(circle at 50% 100%,rgba(229,44,104,.12),transparent 42%),#0b0712}
.legend-ticket-cta .legend-finale{position:relative;overflow:hidden;max-width:980px;margin:0 auto;padding:52px;border:1px solid rgba(255,255,255,.11);border-radius:30px;background:radial-gradient(circle at 90% 10%,rgba(255,154,60,.14),transparent 28%),linear-gradient(135deg,#2d163c,#170d23);box-shadow:var(--shadow);text-align:center}
.legend-ticket-cta .legend-finale:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.025) 50%,transparent 80%);pointer-events:none}
.legend-ticket-cta .legend-finale>strong{position:relative;display:block;max-width:760px;margin:12px auto 14px;color:#fff7eb;font:700 clamp(2rem,4vw,3.5rem)/1.16 var(--serif);text-wrap:balance}
.legend-ticket-cta .legend-finale>p{position:relative;max-width:650px;margin:0 auto 26px;line-height:1.75}
.legend-ticket-cta .actions{position:relative;justify-content:center}

@media(max-width:920px){
  .village-map-layout{grid-template-columns:1fr}
  .map-story-panel{position:relative;top:auto;min-height:0}
  .village-map{min-height:560px}
}
@media(max-width:720px){
  .legend-page-hero{min-height:620px}
  .legend-page-hero-inner{padding:92px 0 82px}
  .legend-page-hero h1{font-size:clamp(2.75rem,12vw,4.6rem)}
  .story-book{padding-left:54px}
  .story-book:before{left:21px}
  .story-book-index{left:-54px;top:24px;width:44px;height:44px;box-shadow:0 0 0 6px #0e0816;font-size:.88rem}
  .story-book-chapter{padding:24px 22px;border-radius:18px}
  .village-map{min-height:0;padding:22px 18px 70px;border-radius:22px}
  .village-map-route{width:100%}
  .map-marker,.map-marker:nth-child(even){transform:none}
  .map-marker:hover,.map-marker:nth-child(even):hover{transform:none}
  .map-moon{width:62px;height:62px;right:7%;top:5%}
  .map-compass{right:18px;bottom:17px}
  .resident-grid{grid-template-columns:1fr}
  .resident-card>p{min-height:0}
  .legend-ticket-cta .legend-finale{padding:38px 24px;border-radius:22px}
}
@media(max-width:480px){
  .legend-hero-meta{gap:7px}
  .legend-hero-meta span{font-size:.7rem}
  .story-book{padding-left:0}
  .story-book:before{display:none}
  .story-book-index{position:static;width:40px;height:40px;margin-bottom:16px;box-shadow:none}
  .story-book-chapter{padding:22px 20px}
  .map-marker{grid-template-columns:44px minmax(0,1fr);padding:10px 12px}
  .map-marker-number{width:42px;height:42px;border-radius:12px}
  .map-story-panel{padding:25px 22px;border-radius:22px}
  .resident-card{padding:23px 21px}
  .legend-ticket-cta .actions{align-items:stretch;flex-direction:column}
}
/* Hotfix 18H.1.2 - responsive fantasy village map */
@media(max-width:1050px){.village-map-layout{grid-template-columns:1fr}.map-story-panel{position:relative;top:auto;min-height:0}.village-map{min-height:590px}.map-story-panel h3{font-size:clamp(2.2rem,6vw,3.2rem)}}
@media(max-width:720px){.village-map-heading{align-items:flex-start;gap:18px}.village-map-intro{max-width:none}.village-map{min-height:0;padding:88px 18px 76px}.village-map-atmosphere{opacity:.72}.map-paths{display:none}.map-village-label{left:22px;top:24px}.village-map-route{position:relative;inset:auto;display:grid;gap:11px}.map-marker,.map-marker-square,.map-marker-church,.map-marker-forest,.map-marker-inn,.map-marker-gate{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:100%;min-height:68px;transform:none}.map-marker:hover{transform:none}.map-marker-copy small{white-space:normal}.map-compass{right:20px;bottom:18px}.map-legend{left:20px;bottom:23px}.map-story-panel{padding:27px 23px;border-radius:23px}.map-story-panel h3{font-size:clamp(2rem,11vw,3rem)}}

/* Sprint 18H.1.4 — Responsive Fantasy Map Polish */
/* Keep long location titles safely inside the story panel on desktop. */
.map-story-panel h3{
  max-width:100%;
  font-size:clamp(1.95rem,2.45vw,2.8rem);
  line-height:.98;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
  text-wrap:balance;
}

@media (min-width:1051px){
  .village-map-layout{
    grid-template-columns:minmax(0,1.62fr) minmax(370px,.68fr);
  }
  .map-story-panel{
    padding:34px 32px;
  }
  .map-story-panel h3{
    font-size:clamp(1.9rem,2.35vw,2.7rem);
  }
}

/* On phones the fantasy map remains a real map rather than collapsing into a list. */
@media (max-width:720px){
  .village-map{
    min-height:560px;
    padding:0;
    overflow:hidden;
  }
  .village-map-atmosphere{
    opacity:.82;
  }
  .map-paths{
    display:block;
    opacity:.34;
  }
  .village-map-route{
    position:absolute;
    inset:0;
    display:block;
    width:auto;
  }
  .map-marker,
  .map-marker-square,
  .map-marker-church,
  .map-marker-forest,
  .map-marker-inn,
  .map-marker-gate{
    position:absolute;
    width:min(42vw,154px);
    min-height:56px;
    padding:8px 9px;
    grid-template-columns:34px minmax(0,1fr);
    gap:7px;
    border-radius:14px;
    transform:none;
  }
  .map-marker-number{
    width:32px;
    height:32px;
    border-radius:10px;
    font-size:.7rem;
  }
  .map-marker-copy small{
    display:none;
  }
  .map-marker-copy strong{
    font-size:.76rem;
    line-height:1.1;
    overflow-wrap:anywhere;
  }
  .map-marker-square,
  .map-marker[data-map-location="square"]{
    left:31%;
    top:45%;
  }
  .map-marker-church,
  .map-marker[data-map-location="church"]{
    left:auto;
    right:5%;
    top:15%;
  }
  .map-marker-forest,
  .map-marker[data-map-location="forest"]{
    left:5%;
    right:auto;
    top:21%;
  }
  .map-marker-inn,
  .map-marker[data-map-location="inn"]{
    left:auto;
    right:4%;
    top:59%;
  }
  .map-marker-gate,
  .map-marker[data-map-location="gate"]{
    left:6%;
    right:auto;
    top:auto;
    bottom:9%;
  }
  .map-village-label{
    left:20px;
    top:20px;
  }
  .map-compass{
    right:18px;
    bottom:16px;
  }
  .map-legend{
    left:18px;
    bottom:20px;
  }
  .map-story-panel h3{
    font-size:clamp(1.9rem,10vw,2.65rem);
    overflow-wrap:anywhere;
  }
}

@media (max-width:430px){
  .village-map{
    min-height:520px;
  }
  .map-marker,
  .map-marker-square,
  .map-marker-church,
  .map-marker-forest,
  .map-marker-inn,
  .map-marker-gate{
    width:min(43vw,145px);
  }
  .map-marker-square,
  .map-marker[data-map-location="square"]{
    left:29%;
    top:44%;
  }
}

/* Sprint 18K.1 — Volunteer Recruitment Experience */
.volunteer-recruitment-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 78% 35%,rgba(244,119,33,.2),transparent 26%),radial-gradient(circle at 70% 55%,rgba(155,77,202,.16),transparent 36%),linear-gradient(180deg,rgba(15,8,23,.3),#100918)}
.volunteer-recruitment-hero:after{content:"";position:absolute;inset:auto -10% -45% 35%;height:420px;background:radial-gradient(ellipse,rgba(244,119,33,.12),transparent 68%);pointer-events:none}.volunteer-recruitment-hero .wrap{position:relative;z-index:1}.volunteer-hero-cta{display:inline-flex;margin-top:12px;text-decoration:none}.volunteer-recruitment-section{padding-top:72px}.volunteer-intro{max-width:760px;margin-bottom:28px}.volunteer-intro h2{font-size:clamp(2.2rem,4vw,4rem);margin:.4rem 0 .8rem}.volunteer-intro p{color:var(--muted);line-height:1.75}.volunteer-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}.volunteer-choice{appearance:none;width:100%;min-height:270px;padding:24px;text-align:left;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.035);color:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;transition:transform .2s ease,border-color .2s ease,background .2s ease}.volunteer-choice:hover,.volunteer-choice.is-selected{transform:translateY(-3px);border-color:rgba(244,119,33,.55);background:linear-gradient(145deg,rgba(244,119,33,.09),rgba(155,77,202,.06))}.volunteer-choice-number{font-size:.72rem;letter-spacing:.18em;color:var(--orange2);font-weight:800;margin-bottom:auto}.volunteer-choice strong{font-family:var(--font-display,serif);font-size:1.55rem;margin:24px 0 10px}.volunteer-choice>span:not(.volunteer-choice-number){color:var(--muted);line-height:1.6;font-size:.9rem}.volunteer-choice b{margin-top:20px;color:var(--orange2);font-size:.85rem}.volunteer-route-message{margin:0 0 52px;padding:28px 30px;border:1px solid rgba(244,119,33,.28);border-radius:20px;background:linear-gradient(120deg,rgba(244,119,33,.08),rgba(155,77,202,.06));display:grid;grid-template-columns:auto 1fr;column-gap:18px;align-items:baseline}.volunteer-route-message>span{grid-column:1/-1;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:800;color:var(--orange2)}.volunteer-route-message strong{font-size:clamp(1.8rem,3vw,3rem);line-height:1.05}.volunteer-route-message p{margin:0;color:var(--muted);line-height:1.65;max-width:720px}.volunteer-layout#aanmelden{scroll-margin-top:110px}.volunteer-form-card>.eyebrow{margin-bottom:6px}
@media(max-width:900px){.volunteer-choice-grid{grid-template-columns:1fr}.volunteer-choice{min-height:0}.volunteer-choice-number{margin-bottom:8px}.volunteer-choice strong{margin:8px 0}.volunteer-route-message{grid-template-columns:1fr;gap:10px}}
@media(max-width:680px){.volunteer-recruitment-section{padding-top:48px}.volunteer-choice{padding:20px}.volunteer-route-message{padding:22px}}

/* Sprint 18K.1.1 — volunteer address data + public mobile navigation stacking */
.public-page .topbar{z-index:1000}
.volunteer-address-field{min-width:0;margin:0;padding:0;border:0;display:grid;gap:9px}.volunteer-address-field legend{padding:0;font-weight:700}.volunteer-address-help{margin:-2px 0 4px;color:var(--muted);font-size:.82rem;line-height:1.5}.volunteer-address-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(95px,.65fr) minmax(95px,.65fr);gap:12px}.volunteer-address-grid label:nth-child(4){grid-column:span 2}.field-optional{color:var(--muted);font-size:.72rem;font-weight:500}
@media(max-width:780px){.public-page .topbar{position:sticky;z-index:1000;isolation:isolate}.public-page .main-nav{z-index:1001}.volunteer-recruitment-hero{z-index:0}.volunteer-address-grid{grid-template-columns:minmax(0,1.35fr) minmax(90px,.65fr)}.volunteer-address-grid .volunteer-address-street{grid-column:1/-1}.volunteer-address-grid label:nth-child(4){grid-column:auto}}
@media(max-width:480px){.volunteer-address-grid{grid-template-columns:1fr 1fr}.volunteer-address-grid label:nth-child(4),.volunteer-address-grid label:nth-child(5){grid-column:1/-1}}

/* Sprint 18K.2 — Customer Account Experience */
.customer-event-companion{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:18px 0;padding:21px 22px;border:1px solid rgba(255,154,60,.2);border-radius:20px;background:radial-gradient(circle at 88% 20%,rgba(255,122,26,.10),transparent 30%),linear-gradient(135deg,rgba(36,18,48,.88),rgba(16,9,25,.92));box-shadow:0 18px 44px rgba(0,0,0,.13)}
.customer-event-companion h2{margin:.25rem 0 .3rem;font-size:clamp(1.35rem,2.3vw,1.9rem)}.customer-event-companion p{margin:0;color:var(--muted)}.customer-event-companion p strong{color:var(--text)}
.customer-event-companion-side{display:flex;align-items:center;gap:18px;flex:0 0 auto}.customer-event-countdown{display:grid;min-width:82px;text-align:center;padding-right:18px;border-right:1px solid var(--line)}.customer-event-countdown strong{font-family:var(--serif);font-size:1.65rem;line-height:1;color:var(--orange2)}.customer-event-countdown small{margin-top:4px;color:var(--muted);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.customer-event-countdown.is-today strong{font-family:inherit;font-size:1rem}
@media(max-width:760px){.customer-event-companion{align-items:flex-start;flex-direction:column}.customer-event-companion-side{width:100%;justify-content:space-between}.customer-event-companion-side .button{flex:1}.customer-event-countdown{min-width:72px}}
@media(max-width:460px){.customer-event-companion-side{align-items:stretch;flex-direction:column}.customer-event-countdown{display:flex;align-items:baseline;gap:7px;padding:0 0 12px;border-right:0;border-bottom:1px solid var(--line);text-align:left}.customer-event-companion-side .button{width:100%}}
