/* Duja visual system: one quiet glass language across staff and guest surfaces. */
:root{--duja-ink:#112b43;--duja-blue:#164e74;--duja-gold:#cba969;--duja-line:rgba(255,255,255,.58);--duja-glass:rgba(255,255,255,.68);--duja-shadow:0 22px 60px rgba(11,37,61,.13)}
html{scroll-behavior:smooth}body{background:radial-gradient(circle at 83% 5%,#d4e9f1 0,transparent 32%),radial-gradient(circle at 8% 73%,#e7d9ba85 0,transparent 29%),linear-gradient(145deg,#eef5f8,#e4eff4 58%,#f6f7f5);background-attachment:fixed}
.glass{background:var(--duja-glass);border:1px solid var(--duja-line);box-shadow:var(--duja-shadow);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}
.btn,button,a,summary{touch-action:manipulation}.btn{min-height:44px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:focus-visible,a:focus-visible,summary:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bd9a5a;outline-offset:3px}
/* Staff workspace */
.app{background:transparent}.sidebar{background:linear-gradient(160deg,rgba(11,38,60,.94),rgba(22,72,102,.91));border-left:1px solid #ffffff40;box-shadow:-8px 0 28px #12365021;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px)}
.sidebar nav button{border:1px solid transparent;border-radius:13px}.sidebar nav button.active,.sidebar nav button:hover{border-color:#ffffff2c;background:#ffffff20;box-shadow:inset 0 1px #ffffff28,0 8px 20px #071b2a24;backdrop-filter:blur(14px)}.sidebar-help{background:#ffffff12;border-color:#ffffff36;backdrop-filter:blur(14px)}
.content{background:transparent}.top{border-bottom-color:#b9cedb8a}.toolbar{border:1px solid #ffffffc9;border-radius:18px;background:#ffffffa8;box-shadow:0 12px 34px #153e5b16;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.avatar{background:#ffffffbc;border-color:#ffffff;box-shadow:0 8px 20px #123f6120}
.panel,.event-item,.stat,.team-user{background:linear-gradient(150deg,#fffffff0,#ffffff9c);border:1px solid #fff;box-shadow:0 18px 48px #183e5917,inset 0 1px #fff;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.panel,.event-item{border-radius:20px}.stat{border-radius:18px!important}.team-user{border-radius:16px}.dashboard-activity .journey div{background:#ffffffad;border-color:#ffffff}.table-wrap{border:1px solid #ffffffde;border-radius:14px;background:#ffffff75;box-shadow:inset 0 1px #fff}th{background:#e9f2f5a8}tbody tr:hover{background:#e8f2f58c}
.dashboard-hero{background:radial-gradient(circle at 13% 16%,#39718d77,transparent 35%),linear-gradient(120deg,#0e2d46,#174663 75%,#215976);border:1px solid #ffffff48;border-radius:22px;box-shadow:0 21px 52px #102f4a42,inset 0 1px #ffffff36}.hero-rate{background:#ffffff16;border-color:#ffffff53;backdrop-filter:blur(14px)}.dashboard-hero .event-info span{background:#ffffff1d;border-color:#ffffff3e;backdrop-filter:blur(9px)}
.event-select,.modal-card input,.panel form input,.login-card input,.modal-card select{background:#ffffffc9;border-color:#b9cdd7}.modal-card{background:#f7fbf9f2;border:1px solid #fff;box-shadow:0 30px 70px #081e3580}.login-card{background:#ffffffd9;border:1px solid #ffffffd9;box-shadow:0 30px 80px #05172e82,inset 0 1px #fff}.login-screen{background:radial-gradient(circle at 17% 20%,#4b85a455,transparent 31%),radial-gradient(circle at 83% 84%,#bea16d42,transparent 30%),linear-gradient(145deg,#0a2236,#174865)}
#invitations>.panel{position:relative;overflow:hidden}#invitations>.panel::before{content:"";position:absolute;left:-80px;top:-125px;width:300px;height:300px;border-radius:50%;background:#d9c29120;pointer-events:none}#invitations .panel-head{position:relative}#invitations .hint{position:relative;padding:13px 17px;border:1px solid #dbe8e9;border-radius:12px;background:#ffffff8c;color:#48637a}#inviteRows .actions{gap:8px}#inviteRows .btn{min-height:40px;border-radius:10px}#inviteRows td:first-child{font-weight:700;color:#173e59}#inviteRows td:last-child{min-width:280px}
/* Guest invitation */
.invite-page{background:radial-gradient(circle at 7% 10%,#336c8c88,transparent 32%),radial-gradient(circle at 90% 91%,#c6a05b34,transparent 28%),linear-gradient(155deg,#0a2236,#123c59)}.invite-page::before{background:radial-gradient(circle at 70% 9%,#ffffff1c,transparent 25%)}.invite-shell{background:#ffffff17;border:1px solid #ffffff62;box-shadow:0 35px 90px #03131e80,inset 0 1px #ffffff3e;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);gap:1px}.invite-intro{background:radial-gradient(circle at 80% 15%,#4f80925c,transparent 38%),linear-gradient(155deg,#0d2b44ee,#16486aeb);border-left:1px solid #ffffff28}.invite-intro::before{border-color:#ffffff32}.intro-kicker{background:#e5c88f24;backdrop-filter:blur(8px)}.invite-card{background:linear-gradient(150deg,#ffffffed,#f7fbf4da);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px)}.invite-card .guest-details{box-shadow:0 10px 24px #0c30450d;border:1px solid #ffffff}.invite-card .guest-details div{background:#ffffffad}.invite-expiry{background:#f4eee1a6;border-color:#e9dcc4}.invite-card input{background:#ffffffd9;box-shadow:inset 0 1px #fff}.invite-card .invite-submit{background:linear-gradient(115deg,#123d5c,#22627f);box-shadow:0 10px 22px #123d5c37}.invite-note{color:#526c7e}.invite-success{background:linear-gradient(145deg,#f4fbf6,#eaf7ee);border-color:#d4e9d9}
/* Admission pass */
.ticket-page{padding:32px 18px;background:radial-gradient(circle at 12% 9%,#36779388,transparent 33%),radial-gradient(circle at 88% 80%,#c3a66a38,transparent 30%),linear-gradient(150deg,#092337,#123d5c)}
.ticket-page .guest-card{padding:0 0 30px;width:min(680px,100%);overflow:hidden;background:#f2f7f8de;border:1px solid #ffffff8c;border-radius:28px;box-shadow:0 35px 90px #0316259c,inset 0 1px #fff;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px)}
.ticket-page .guest-logo{display:block;width:78px;height:78px;margin:28px auto 12px;border:2px solid #ffffff88;border-radius:21px;box-shadow:0 12px 25px #081d2a60}
.ticket-page .ticket-special{margin:0 auto;padding:6px 15px;background:#ffffff1f;border-color:#ffffff5e;color:#e8f3f6;backdrop-filter:blur(8px)}
.ticket-page .guest-card>.vip-banner{margin:11px auto 0;box-shadow:0 9px 25px #071b2a48}
.ticket-page .guest-card>h1{margin:13px 20px 27px;font-size:clamp(24px,5vw,33px);color:#fff;line-height:1.45}
.ticket-page .guest-card:before{content:"";position:absolute;inset:0 0 auto;height:262px;background:radial-gradient(circle at 14% -30%,#5c8ba777,transparent 55%),linear-gradient(145deg,#0c2d49,#1b5874);border-radius:27px 27px 0 0;z-index:-1}
.entry-pass{position:relative;margin:0 clamp(13px,4vw,34px) 18px;padding:24px clamp(15px,4vw,29px) 17px;border:1px solid #ffffffdd;border-radius:23px;background:linear-gradient(150deg,#ffffffef,#f8fbf9df);box-shadow:0 22px 46px #0b2d4354,inset 0 1px #fff;text-align:center;overflow:hidden;backdrop-filter:blur(18px)}
.entry-pass::before,.entry-pass::after{content:"";position:absolute;top:46%;width:28px;height:28px;border-radius:50%;background:#dce8eb;border:1px solid #b7ced9;z-index:2}.entry-pass::before{right:-15px}.entry-pass::after{left:-15px}
.pass-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 2px 17px;border-bottom:1px dashed #c5d4dd;color:#638094;font-size:11px;font-weight:700;letter-spacing:.02em}.pass-caption span:first-child{direction:ltr;letter-spacing:.14em;font-family:Arial,sans-serif;font-size:10px}
.entry-pass .guest-details{margin:16px 0 15px;border:0!important;border-radius:14px!important;background:#edf5f78f;gap:0;overflow:hidden}.entry-pass .guest-details div{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:8px;min-height:54px;padding:10px 15px;text-align:right;border:0!important;border-radius:0!important;background:transparent!important}.entry-pass .guest-details div+div{border-top:1px solid #dbe7eb!important}.entry-pass .guest-details b{font-size:12px;color:#5d7587}.entry-pass .guest-details span{font-size:15px;font-weight:700;color:#183f57;overflow-wrap:anywhere}
.entry-pass .qr-panel{width:min(350px,100%);margin:0 auto;padding:15px;border:1px solid #d5e6ea;border-radius:17px;box-shadow:0 8px 24px #17456014;background:#fff}.entry-pass .qr-panel span{font-size:12px}.entry-pass .ticket-qr{width:min(282px,100%);max-width:100%;image-rendering:pixelated}
.entry-pass .manual-code{width:min(350px,100%);margin:14px auto 5px;padding:11px 12px;background:#edf4f7;border:1px solid #d8e7ed;border-radius:13px;box-shadow:none}.entry-pass .manual-code span{font-size:12px}.entry-pass .manual-code strong{font-size:clamp(16px,4vw,23px);color:#173b53}.entry-pass .manual-code small{font-size:11px;line-height:1.5}
.pass-footer{display:flex;justify-content:space-between;gap:10px;padding-top:13px;color:#6b8492;font-size:11px;border-top:1px dashed #c5d4dd;text-align:right}.pass-footer span:last-child{color:#386e71;font-weight:700}
.ticket-page .ticket-print-preview,.ticket-page .ticket-actions,.ticket-page .notification-setup,.ticket-page .notice{margin-inline:clamp(13px,4vw,34px)}
.ticket-page .ticket-print-preview{background:#ffffffb8;border-color:#ffffff;border-radius:14px;box-shadow:0 8px 22px #123b5420;backdrop-filter:blur(12px)}.ticket-page .ticket-print-preview summary{min-height:49px}.ticket-page .ticket-actions{gap:9px}.ticket-page .ticket-actions .btn{border-radius:12px}.ticket-page .ticket-actions .btn:first-child{background:#1c5678}
.ticket-page .notification-setup{padding:25px;border:1px solid #ffffff38;background:radial-gradient(circle at 10% 15%,#4c82926e,transparent 37%),linear-gradient(145deg,#102f47f0,#1c5269ec);border-radius:21px;box-shadow:0 19px 38px #12365041,inset 0 1px #ffffff40;backdrop-filter:blur(18px)}
.notification-status{background:#ffffff19;border-color:#ffffff53;backdrop-filter:blur(10px)}.notification-controls .ghost{background:#ffffff1b;border-color:#ffffff79}.notification-controls .btn{min-height:48px}
.push-guide{padding:0!important;background:#ffffffeb!important;border:1px solid #ffffff!important;color:#15394e!important;overflow:hidden;box-shadow:0 14px 35px #05203531;backdrop-filter:blur(18px)}.push-guide summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:62px;padding:15px 17px;list-style:none;cursor:pointer;font-weight:700}.push-guide summary::-webkit-details-marker{display:none}.push-guide summary:after{content:'+';font:400 26px/1 Arial;color:#1d607b}.push-guide[open] summary:after{content:'−'}.push-guide summary small{color:#5b7487;font-size:11px;font-weight:600}.guide-intro{padding:0 18px 15px;color:#527084;font-size:13px;line-height:1.8}.guide-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 15px 15px}.guide-step{overflow:hidden;border:1px solid #e1e9eb;border-radius:14px;background:#ffffffce;box-shadow:0 8px 18px #143c4e12}.guide-step img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#e9f1f5}.guide-step>div{padding:12px}.guide-number{display:inline-block;color:#a98248;font:700 11px Arial,sans-serif;letter-spacing:.12em}.guide-step h3{margin:4px 0 5px;color:#153d56;font-size:13px;line-height:1.5}.guide-step p{margin:0;color:#526c7e;font-size:11px;line-height:1.8}.push-guide>.btn{margin:0 15px 5px;width:calc(100% - 30px)!important}.guide-footnote{margin:10px 15px 16px;padding:12px;border-radius:10px;background:#edf5f6;color:#526c7e;font-size:11px;line-height:1.7}
.ticket-page .notice{background:#ffffffb5;border:1px solid #ffffffdc;box-shadow:0 9px 21px #123b5420}
@media(max-width:1120px){.sidebar{background:#ffffffcf;border-bottom:1px solid #ffffff;box-shadow:0 8px 25px #153e5b18}.sidebar nav button{color:#315a70}.sidebar nav button.active,.sidebar nav button:hover{background:#d9e9eea8;border-color:#fff;color:#143f5b}.brand b{color:#143f5b}.nav-label{color:#618094}.sidebar-help{background:#e8f1f4;color:#284e61}.sidebar-help span{color:#537387}.sidebar .logout{color:#285370;border-color:#c9dbe3}}
@media(max-width:760px){.invite-page{padding:12px}.invite-shell{border-radius:22px}.invite-intro{border-left:0;border-bottom:1px solid #ffffff37}.guide-steps{grid-template-columns:1fr}.guide-step{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center}.guide-step img{height:100%;min-height:116px}.guide-step>div{padding:11px}.ticket-page .guest-card:before{height:244px}}
@media(max-width:500px){.ticket-page{padding:0;background:#e9f1f3}.ticket-page .guest-card{width:100%;border:0;border-radius:0;box-shadow:none;padding-bottom:26px}.ticket-page .guest-card:before{border-radius:0;height:238px}.ticket-page .guest-logo{margin-top:23px;width:68px;height:68px}.ticket-page .guest-card>h1{margin-bottom:24px}.entry-pass{padding:18px 12px 14px;border-radius:18px}.entry-pass .guest-details div{grid-template-columns:90px 1fr;padding:10px 12px}.entry-pass .guest-details span{font-size:13px}.entry-pass .manual-code strong{font-size:clamp(15px,4.5vw,22px)}.pass-footer{font-size:10px}.ticket-page .notification-setup{padding:19px 16px;margin-inline:13px}.push-guide summary{align-items:flex-start;flex-direction:column;gap:2px;position:relative;padding-left:40px}.push-guide summary:after{position:absolute;left:17px;top:22px}.ticket-page .ticket-print-preview,.ticket-page .ticket-actions,.ticket-page .notice{margin-inline:13px}.invite-page{padding:0}.invite-shell{min-height:100dvh;border:0;border-radius:0}.invite-card{background:#ffffffed;padding:24px 18px 32px}.intro-copy .intro-title{font-size:32px}}
@media(max-width:360px){.entry-pass .guest-details div{grid-template-columns:1fr;gap:2px}.guide-step{grid-template-columns:102px 1fr}.guide-step h3{font-size:12px}.guide-step p{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Keep the entire event title within the dark ticket header. */
.ticket-page .guest-card:before{height:306px}
.ticket-page .guest-card>h1{position:relative;margin-bottom:63px}
@media(max-width:760px){.ticket-page .guest-card:before{height:293px}.ticket-page .guest-card>h1{margin-bottom:59px}}
@media(max-width:500px){.ticket-page .guest-card:before{height:275px}.ticket-page .guest-card>h1{margin-bottom:52px}}
@media(max-width:760px){.intro-copy .intro-title br{display:initial}}
/* Invitation links: ordered status groups with quick category counts. */
.invite-categories{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0 16px}
.invite-category{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:66px;padding:12px 14px;border:1px solid #fff;border-radius:15px;background:#ffffffb9;color:#345269;text-align:right;font:inherit;font-size:12px;font-weight:700;box-shadow:0 9px 22px #153e5b12;cursor:pointer;backdrop-filter:blur(14px);transition:background .2s ease,border-color .2s ease,transform .2s ease}
.invite-category strong{display:grid;place-items:center;min-width:35px;height:35px;padding:0 6px;border-radius:10px;background:#e5f0f2;color:#164d69;font:700 17px/1 'IBM Plex Sans Arabic',sans-serif}
.invite-category:hover{transform:translateY(-2px);background:#fff}.invite-category.active{border-color:#84afbb;background:#e6f2f3;color:#103e58;box-shadow:0 12px 25px #194f691e}.invite-category.active strong{background:#164d69;color:#fff}
#inviteRows .invite-section-row{background:transparent}#inviteRows .invite-section-row th{padding:16px 14px 10px;border:0;background:transparent;color:#184b67;font-size:14px}#inviteRows .invite-section-row th span{font-weight:800}#inviteRows .invite-section-row small{display:inline-block;margin-inline-start:9px;padding:3px 9px;border-radius:999px;background:#e3eef1;color:#42657a;font-size:11px}
@media(max-width:960px){.invite-categories{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.invite-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.invite-category{min-height:56px;padding:10px;font-size:11px}.invite-category:first-child{grid-column:1/-1}#inviteRows tr.invite-section-row{display:block;margin:18px 6px 4px;padding:0;border:0;background:transparent;box-shadow:none}#inviteRows .invite-section-row th{display:block;padding:8px 3px;color:#164d69}#inviteRows .invite-section-row th::before{display:none}#inviteRows tr.invite-section-row+tr{margin-top:5px}}

/* Clear check-in timestamps in the gate and guest register. */
.checkin-time{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:12px 15px;border-radius:12px;background:#ffffffb8;border:1px solid #b9ddca;color:#15573f}.checkin-time span{font-size:12px}.checkin-time strong{font-size:14px;font-variant-numeric:tabular-nums}.entry-time,.confirm-time{display:grid;gap:3px}.entry-time b,.confirm-time b{font-size:11px;color:#217657}.confirm-time b{color:#486c89}.entry-time time,.confirm-time time{font-size:13px;font-weight:700;color:#193f59;font-variant-numeric:tabular-nums}@media(max-width:600px){.checkin-time{align-items:flex-start;flex-direction:column}.entry-time,.confirm-time{text-align:left}}

/* Live entrance roster. */
.gate-list{margin-top:18px}.gate-list-count{display:inline-flex;align-items:center;min-height:32px;padding:5px 12px;border:1px solid #c7dfe2;border-radius:999px;background:#e7f3f2;color:#176477;font-size:12px;font-weight:800}.gate-guests{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.gate-guest{display:flex;align-items:center;gap:12px;min-width:0;padding:13px 15px;border:1px solid #ffffffc7;border-radius:14px;background:#ffffffa8;box-shadow:0 8px 18px #123f5810;backdrop-filter:blur(14px)}.gate-guest-number{display:grid;place-items:center;flex:none;width:31px;height:31px;border-radius:10px;background:#e3eff1;color:#1b5673;font-size:12px;font-weight:800}.gate-guest>div{min-width:0}.gate-guest strong{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#173e59;font-size:14px}.gate-guest small{display:block;margin-top:3px;color:#5b7585;font-size:11px;font-variant-numeric:tabular-nums}

/* Calm movement in guest pages; reduced-motion is honored below. */
@keyframes duja-guest-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes duja-guest-shimmer{from{background-position:110% 0}to{background-position:-10% 0}}
.invite-page .invite-intro,.invite-page .invite-card,.ticket-page .entry-pass,.ticket-page .notification-setup{animation:duja-guest-enter .65s cubic-bezier(.18,.8,.25,1) both}
.invite-page .invite-card,.ticket-page .entry-pass{animation-delay:.12s}.ticket-page .notification-setup{animation-delay:.22s}
.ticket-page .qr-panel,.ticket-page .manual-code,.invite-card .guest-details{transition:transform .25s ease,box-shadow .25s ease}
.ticket-page .qr-panel:hover,.invite-card .guest-details:hover{transform:translateY(-2px);box-shadow:0 15px 30px #123f5821}
.notification-setup .guide-step{transition:transform .2s ease,box-shadow .2s ease}.notification-setup .guide-step:hover{transform:translateY(-3px);box-shadow:0 14px 28px #0d375628}

@media(prefers-reduced-motion:reduce){.invite-page .invite-intro,.invite-page .invite-card,.ticket-page .entry-pass,.ticket-page .notification-setup{animation:none!important}.ticket-page .qr-panel,.ticket-page .manual-code,.invite-card .guest-details,.notification-setup .guide-step{transition:none!important}}

/* 2026-09-29 finish: stronger hierarchy and consistent glass depth. */
:root{--duja-glass:rgba(255,255,255,.72);--duja-line:rgba(255,255,255,.82);--duja-shadow:0 20px 52px rgba(16,45,68,.12)}
.content{position:relative;isolation:isolate}.content::before{content:"";position:fixed;inset:0 272px 0 0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 74% 12%,#c6e0eb77,transparent 28%),radial-gradient(circle at 13% 74%,#e6d4ae66,transparent 32%)}
.top{padding-bottom:20px;border-bottom:1px solid #b9cdd873}.top h1{font-size:clamp(27px,3vw,38px);line-height:1.25;letter-spacing:-.025em}.top .eyebrow{color:#658093;font-size:12px}.avatar{width:48px;height:48px;border:1px solid #fff;border-radius:16px;background:linear-gradient(145deg,#f9fcfd,#dcecf2);color:#1b506d;box-shadow:0 10px 22px #183c561c}
.toolbar,.panel,.event-item,.stat,.team-user{background:linear-gradient(145deg,#fffffff0,#ffffffe0 52%,#f2f8f8c7);border:1px solid #fff;box-shadow:0 18px 44px #123a5715,inset 0 1px #fff;backdrop-filter:blur(24px) saturate(138%);-webkit-backdrop-filter:blur(24px) saturate(138%)}
.panel,.event-item{border-radius:22px}.panel-head{align-items:flex-start}.panel-head h2,.panel h2{color:#16374e;line-height:1.4}.panel-head .eyebrow{display:block;margin-bottom:5px;letter-spacing:.02em}.hint{line-height:1.85}.event-item{position:relative;overflow:hidden}.event-item::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#d9ba79,#8dbbc6);opacity:.8}.event-item h3{font-size:clamp(19px,2vw,24px);line-height:1.4}
.btn{border-radius:12px;box-shadow:0 9px 19px #153d581c;font-weight:700}.btn:not(.ghost):not(.danger){background:linear-gradient(125deg,#174e70,#266b85)}.btn:not(.ghost):not(.danger):hover{background:linear-gradient(125deg,#123c5a,#1d5c75);transform:translateY(-2px);box-shadow:0 13px 24px #153d582e}.btn.ghost{box-shadow:inset 0 1px #fff,0 6px 14px #123d5410}.btn.ghost:hover{background:#f2f8f9;transform:translateY(-2px)}.btn:active{transform:translateY(0)!important}
.hero-actions .btn:first-child:not(.ghost){background:linear-gradient(125deg,#f0dbb3,#dcb978);color:#183750}.hero-actions .btn:first-child:not(.ghost):hover{background:linear-gradient(125deg,#f7e5c1,#e6c58a)}
.event-select,.modal-card input,.panel form input,.login-card input,.modal-card select{min-height:48px;border-radius:12px;border:1px solid #c7d8df;background:#ffffffdb;box-shadow:inset 0 1px #fff;font-size:15px}.event-select:hover,.modal-card input:hover,.panel form input:hover,.login-card input:hover,.modal-card select:hover{border-color:#8aafbd}.event-select:focus-visible,.modal-card input:focus-visible,.panel form input:focus-visible,.login-card input:focus-visible,.modal-card select:focus-visible{outline:3px solid #bd9a5a66;outline-offset:2px;border-color:#95723d}
.table-wrap{border:1px solid #e2edf0;border-radius:15px;background:#ffffffb5;box-shadow:inset 0 1px #fff;backdrop-filter:blur(14px)}th{background:#e9f2f3ad;color:#436275;font-weight:750}td{line-height:1.65}tbody tr:nth-child(even){background:#f5faf990}tbody tr:hover{background:#e6f2f2b8}.pill,.vip-pill,.gate-list-count{font-weight:800}
.invite-shell{box-shadow:0 34px 85px #0419298c,0 0 0 1px #ffffff24}.invite-intro{background:radial-gradient(circle at 80% 10%,#44819a5e,transparent 38%),linear-gradient(155deg,#0c2b43ed,#18516eef)}.invite-card{box-shadow:inset 1px 0 #ffffffad}.invite-card h1{letter-spacing:-.03em}.invite-card .guest-details{box-shadow:0 12px 26px #143b5111}.invite-card .invite-submit{box-shadow:0 14px 29px #123d5c36}.invite-card .invite-submit:hover{transform:translateY(-2px);box-shadow:0 18px 33px #123d5c46}
.ticket-page .guest-card{box-shadow:0 36px 90px #031625a3,0 0 0 1px #ffffff30}.entry-pass{border:1px solid #fff;background:linear-gradient(155deg,#fffffffa,#f2f8f8ed);box-shadow:0 24px 50px #082d4654,inset 0 1px #fff}.entry-pass .guest-details{background:#eaf3f5ad}.entry-pass .qr-panel{padding:20px;border:1px solid #dbe9ec;box-shadow:0 10px 28px #173e5614}.entry-pass .ticket-qr{width:min(290px,100%)}.ticket-page .notification-setup{border-color:#ffffff61;box-shadow:0 22px 42px #08283e56,inset 0 1px #ffffff38}
@media(max-width:1120px){.content::before{inset:0}.sidebar{backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%)}}
@media(max-width:600px){.content{padding-top:22px}.sidebar{border-bottom:1px solid #ffffffc9;box-shadow:0 9px 23px #143d571c}.sidebar nav{scrollbar-width:none;scroll-snap-type:x proximity;padding:2px 0 4px}.sidebar nav::-webkit-scrollbar{display:none}.sidebar nav button{flex:none;scroll-snap-align:start;min-height:43px}.top{margin-bottom:17px}.toolbar{border-radius:17px;padding:15px}.panel,.event-item{border-radius:18px}.panel-head{flex-wrap:wrap}.panel-head .actions{width:100%;gap:8px}.panel-head .actions .btn{flex:1 1 auto}.event-item{padding:22px}.ticket-page .guest-card{box-shadow:none}.entry-pass{margin-inline:12px}.entry-pass .qr-panel{padding:16px}.invite-page .invite-card{box-shadow:none}}

@media(prefers-reduced-motion:reduce){.btn,.invite-card .invite-submit{transition:none!important}}

/* Card register and assisted device recovery. */
.card-search-label{display:grid;gap:8px;max-width:540px;margin:18px 0 20px;color:#31536a;font-size:13px;font-weight:800}.card-search-label input{width:100%;min-height:50px;padding:10px 16px;border:1px solid #c4d8df;border-radius:13px;background:#ffffffdb;color:#173b55;font:inherit;font-size:15px;box-shadow:inset 0 1px #fff}.card-search-label input:focus-visible{outline:3px solid #b79c6380;outline-offset:2px}.cards-list{display:grid;gap:10px}.card-row{display:flex;align-items:center;gap:15px;padding:15px 17px;border:1px solid #e0ebee;border-radius:17px;background:#ffffffb9;box-shadow:0 10px 24px #173d5310}.card-row-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#173d5b,#2c7089);color:#e8c887;font-size:22px}.card-row-main{min-width:0;flex:1}.card-row-main strong{display:flex;align-items:center;gap:7px;color:#173b54;font-size:15px}.card-row-main span,.card-row-main small{display:block;margin-top:4px;color:#607a89;font-size:12px;overflow-wrap:anywhere}.card-row-main small b{color:#194b68;letter-spacing:.06em}.card-row-actions{display:flex;gap:8px;flex-wrap:wrap}.card-row-actions .btn{min-height:40px;font-size:12px}.recovery-code{width:max-content;max-width:100%;margin:18px auto;padding:15px 21px;border:1px dashed #8fb4c0;border-radius:13px;background:#eff7f7;color:#153f59;text-align:center;font:800 clamp(17px,4vw,25px)/1.3 Arial,sans-serif;letter-spacing:.12em}.ticket-recovery{margin:16px clamp(13px,4vw,34px);padding:20px;border:1px solid #ffffffbf;border-radius:18px;background:#ffffffd6;color:#193d53;text-align:right}.ticket-recovery h2{margin:0 0 8px;font-size:20px}.ticket-recovery p{color:#526f80;font-size:13px;line-height:1.8}.ticket-recovery form{display:grid;gap:9px}.ticket-recovery label{font-size:13px;font-weight:700}.ticket-recovery input{min-height:49px;padding:11px 14px;border:1px solid #bdd3dd;border-radius:11px;background:#fff;color:#173b55;font:700 16px Arial,sans-serif;letter-spacing:.08em;text-align:center;direction:ltr}.ticket-recovery #recoveryMessage{color:#9b3246}
@media(max-width:720px){.card-row{align-items:flex-start;flex-wrap:wrap}.card-row-main{flex-basis:calc(100% - 60px)}.card-row-actions{width:100%}.card-row-actions .btn{flex:1}.ticket-recovery{padding:16px}}


/* Dashboard statistics inspired by the supplied glass-card component. */
#dashboard .stats{gap:16px;align-items:stretch}
#dashboard .stat-premium{--stat-accent:#6bb6cb;position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;min-height:210px;padding:20px 21px 17px;border-radius:22px!important;overflow:hidden;background:linear-gradient(145deg,#1b4c67ed,#11334fe0 67%,#123348e8)!important;border:1px solid #ffffff45!important;color:#fff;box-shadow:0 22px 40px #0a2d4750,inset 0 1px #ffffff42!important;backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%);transition:transform .26s cubic-bezier(.2,.8,.2,1),box-shadow .26s ease,border-color .26s ease}
#dashboard .stat-premium::before{content:"";position:absolute;inset:auto -38px -76px auto;width:170px;height:170px;border:0;border-radius:50%;background:var(--stat-accent);filter:blur(62px);opacity:.22;pointer-events:none}
#dashboard .stat-premium::after{content:none!important}
#dashboard .stat-premium:hover{transform:translateY(-5px);border-color:#ffffff8a!important;box-shadow:0 29px 51px #07243e66,inset 0 1px #ffffff58!important}
#dashboard .stat-premium .stat-top,#dashboard .stat-premium .stat-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px}
#dashboard .stat-premium .stat-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:#ffffff20;border:1px solid #ffffff35;color:#e7f8fb;box-shadow:inset 0 1px #ffffff40}
#dashboard .stat-premium .stat-icon svg{width:23px;height:23px}
#dashboard .stat-premium .stat-index{color:#ffffff87;font:700 12px/1 sans-serif;letter-spacing:.12em}
#dashboard .stat-premium .stat-body{position:relative;z-index:1;margin:14px 0 10px}
#dashboard .stat-premium .stat-body>span{display:block;color:#d7e6ef!important;font-size:13px;font-weight:600}
#dashboard .stat-premium .stat-body strong{display:block;margin:1px 0 0;color:#fff!important;font-size:clamp(32px,3vw,42px);line-height:1.2;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
#dashboard .stat-premium .stat-body small{display:block;color:#abc8d5!important;font-size:11px}
#dashboard .stat-premium .stat-bottom{margin-top:auto;padding-top:10px;border-top:1px solid #ffffff30}
#dashboard .stat-premium .stat-caption{color:#c2dce5!important;font-size:11px;font-weight:600}
#dashboard .stat-premium .stat-trend{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:27px;padding:3px 8px;border-radius:999px;background:#d1f8e222;border:1px solid #a8eac75c;color:#b7f4d0!important;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}
#dashboard .stat-links{--stat-accent:#8ba9ef}#dashboard .stat-confirmed{--stat-accent:#68d4b0}#dashboard .stat-entry{--stat-accent:#e4ba72}
@media(max-width:1100px){#dashboard .stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#dashboard .stats{gap:10px}#dashboard .stat-premium{min-height:170px;padding:14px 14px 12px;border-radius:17px!important}#dashboard .stat-premium .stat-icon{width:36px;height:36px;border-radius:11px}#dashboard .stat-premium .stat-icon svg{width:19px;height:19px}#dashboard .stat-premium .stat-body{margin:13px 0 8px}#dashboard .stat-premium .stat-body strong{font-size:31px}#dashboard .stat-premium .stat-caption{font-size:10px}#dashboard .stat-premium .stat-trend{font-size:11px}}
@media(max-width:360px){#dashboard .stats{grid-template-columns:1fr}#dashboard .stat-premium{min-height:155px}}
@media(prefers-reduced-motion:reduce){#dashboard .stat-premium{transition:none!important}#dashboard .stat-premium:hover{transform:none}}

/* Event-specific notification copy editor. */
.notification-editor{max-width:1120px}.template-hint{padding:14px 16px;border:1px solid #b9d7df;border-radius:14px;background:#eaf4f5a8;color:#29516a;font-size:13px;line-height:2}.template-hint code{display:inline-block;margin:2px 3px;padding:1px 7px;border-radius:7px;background:#ffffffbd;color:#164c69;font-size:12px;direction:ltr}.notification-template-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}.notification-template{display:flex!important;flex-direction:column;gap:16px!important;margin:0!important;padding:20px;border:1px solid #cbdfe5;border-radius:18px;background:linear-gradient(145deg,#ffffffd9,#f2f8f8ad);box-shadow:0 12px 27px #153d5513}.template-heading,.template-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.template-heading h3{margin:3px 0 0;font-size:18px;color:#153e56}.template-heading .eyebrow{font-size:11px}.template-type{flex:none;padding:5px 9px;border:1px solid #bed5dc;border-radius:999px;background:#eaf3f5;color:#315b70;font-size:11px;font-weight:800}.template-fields{display:grid;gap:12px}.notification-template textarea{width:100%;min-height:105px;padding:12px;border:1px solid #c7d8df;border-radius:12px;background:#ffffffdb;color:#193c51;font:inherit;line-height:1.75;resize:vertical}.notification-template input{font-size:14px!important}.template-preview{display:grid;gap:5px;margin-top:auto;padding:14px 16px;border:1px solid #d8e6ec;border-radius:15px;background:#f5fafce8;box-shadow:0 8px 20px #183f5712}.template-preview>span{color:#618096;font-size:11px;font-weight:700}.template-preview strong{color:#173f59;font-size:14px}.template-preview p{margin:0;color:#446174;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.template-actions{align-items:flex-start}.template-actions .btn{flex:none}.template-status{color:#286c58;font-size:12px;line-height:1.7}
@media(max-width:850px){.notification-template-list{grid-template-columns:1fr}}@media(max-width:600px){.notification-template{padding:16px}.template-heading{align-items:flex-start}.template-heading h3{font-size:16px}}

