:root{color-scheme:light;--primary:#31235e;--secondary:#0b8ed6;--bg:#f3f6fb;--surface:#fff;--text:#252236;--muted:#707482;--line:rgba(49,35,94,.09);--shadow:0 22px 70px rgba(42,31,82,.10);--soft-shadow:0 10px 30px rgba(42,31,82,.08);--radius:26px;--safe-bottom:max(18px,env(safe-area-inset-bottom))}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:radial-gradient(circle at 12% -10%,rgba(11,142,214,.11),transparent 30%),radial-gradient(circle at 90% 0,rgba(49,35,94,.11),transparent 30%),var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,Arial,sans-serif;line-height:1.6}
body.workspace-body{background:#eef2f8}
a{color:inherit;text-decoration:none}
img{max-width:100%}
button,input,select,textarea{font:inherit}
button,.primary-btn{border:0;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border-radius:16px;padding:14px 20px;font-weight:850;font-size:14px;cursor:pointer;box-shadow:0 12px 28px rgba(49,35,94,.18);transition:.18s ease}
button:hover,.primary-btn:hover{transform:translateY(-1px);filter:saturate(1.06)}
button:active,.primary-btn:active{transform:translateY(0)}
button:disabled,input:disabled{opacity:.5;cursor:not-allowed}
.primary-btn,.secondary-btn,.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center}
.secondary-btn,.ghost-button{border:1px solid rgba(49,35,94,.15);background:#fff;color:var(--primary);border-radius:16px;padding:13px 18px;font-weight:850;box-shadow:none}
.ghost-button{background:rgba(255,255,255,.7)}
.compact{padding:10px 14px!important;font-size:12px!important;border-radius:13px!important}
.app-shell{width:min(100%,820px);min-height:100vh;margin:auto;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,254,.97));box-shadow:0 0 100px rgba(49,35,94,.07);overflow:clip}
.workspace-shell{width:min(100%,1420px);background:#f7f9fc}
main{padding:0 18px 34px}
.workspace-main{padding-bottom:calc(105px + env(safe-area-inset-bottom))}
.topbar{height:78px;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;position:sticky;top:0;background:rgba(255,255,255,.88);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);z-index:50;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:11px;min-width:0}
.brand img{width:50px;height:50px;object-fit:contain;background:#fff;border-radius:16px;border:1px solid var(--line);padding:3px;box-shadow:0 6px 18px rgba(49,35,94,.08)}
.brand span{display:flex;flex-direction:column;min-width:0}
.brand b{color:var(--primary);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand small{color:var(--muted);font-size:10px;letter-spacing:.4px}
.top-actions{display:flex;align-items:center;gap:7px}
.icon-btn{font-size:11px;padding:9px 11px;border-radius:13px;background:#f2eff8;color:var(--primary);font-weight:850;white-space:nowrap}
.card,.form-card,.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--soft-shadow)}
footer{text-align:center;padding:28px 18px calc(25px + env(safe-area-inset-bottom));color:var(--muted);font-size:10px}
footer a{color:var(--primary);font-weight:750}

/* Public landing and galleries */
.hero{padding:52px 4px 24px;text-align:center;overflow:hidden}
.eyebrow,.form-eyebrow{display:inline-flex;padding:7px 12px;border-radius:999px;background:#f0ecf8;color:var(--primary);font-size:10px;font-weight:900;letter-spacing:1px}
.hero h1{font-size:clamp(40px,10vw,72px);line-height:1.04;margin:18px 0 12px;letter-spacing:-2px}
.hero h1 span{background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;color:transparent}
.hero p{max-width:560px;margin:auto;color:var(--muted);font-size:16px;line-height:1.9}
.hero-orb{width:300px;height:300px;margin:22px auto;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fff 0,#dff4ff 25%,#b7a5df 60%,var(--primary) 100%);box-shadow:0 35px 80px rgba(49,35,94,.22);position:relative}
.hero-orb:after,.hero-orb:before{content:"";position:absolute;border-radius:24px;background:white;box-shadow:0 14px 35px rgba(32,25,58,.18)}
.hero-orb:before{width:72px;height:92px;right:-4px;top:42px;transform:rotate(10deg)}
.hero-orb:after{width:62px;height:76px;left:8px;bottom:38px;transform:rotate(-12deg)}
.phone{width:154px;height:265px;background:#111;border:7px solid #15131a;border-radius:34px;padding:13px 9px;transform:rotate(-5deg);box-shadow:0 25px 50px rgba(0,0,0,.35);z-index:2}
.phone-head{color:white;font-weight:800;font-size:13px;padding:12px 0}
.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.mini-grid i{height:82px;border-radius:10px;background:linear-gradient(145deg,#dbd4eb,#8069af)}
.mini-grid i:nth-child(2){background:linear-gradient(145deg,#bfe9fa,#278ac0)}
.mini-grid i:nth-child(3){background:linear-gradient(145deg,#f1d7e8,#8e619a)}
.join-card{padding:24px;margin:22px 0}
.join-card h2{margin:0 0 4px}.join-card p{color:var(--muted);margin:4px 0 16px}
.join-card form{display:flex;gap:9px}
.join-card input{flex:1}
.portal-entry{text-align:center;color:var(--muted);font-size:12px}.portal-entry a{color:var(--secondary);font-weight:900}
.event-cover{margin:18px 0;padding:24px;border-radius:30px;background:linear-gradient(135deg,var(--primary),#513b88 58%,var(--secondary));color:white;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 22px 55px rgba(49,35,94,.24)}
.event-cover h1{font-size:clamp(25px,7vw,38px);margin:12px 0 5px;line-height:1.2}.event-cover p{margin:0;opacity:.8;font-size:11px}
.live-pill{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.16);padding:7px 10px;border-radius:99px;font-size:11px}.live-pill i{width:8px;height:8px;border-radius:50%;background:#6effb0;box-shadow:0 0 0 5px rgba(110,255,176,.15)}
.qr-small{padding:6px;background:white;border-radius:17px;box-shadow:none;flex:0 0 auto}.qr-small img{width:78px;display:block}
.event-choices{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:0 0 20px}.event-choices.single{grid-template-columns:1fr}
.event-choice{display:flex;align-items:center;gap:12px;padding:17px;border-radius:23px;border:1px solid var(--line);background:#fff;box-shadow:var(--soft-shadow);min-height:96px}.event-choice span:not(.choice-icon){display:flex;flex-direction:column;gap:3px;flex:1}.event-choice b{font-size:15px;color:var(--primary)}.event-choice small{font-size:10px;line-height:1.6;color:var(--muted)}.event-choice strong{font-size:20px;color:var(--secondary)}
.choice-icon,.face-icon,.face-badge{display:grid;place-items:center;flex:0 0 auto;width:49px;height:49px;border-radius:17px;background:#f1eef8;color:var(--primary);font-size:25px}
.face-choice{background:linear-gradient(135deg,var(--primary),#51418a);color:#fff}.face-choice b,.face-choice small,.face-choice strong{color:#fff}.face-choice small{opacity:.82}.face-choice .choice-icon{background:rgba(255,255,255,.16);color:#fff}
.disabled-choice{opacity:.92;cursor:default}.disabled-choice>a{font-size:11px;text-decoration:underline;white-space:nowrap}
.gallery{columns:2;column-gap:8px}.photo{display:block;padding:0;margin:0 0 8px;width:100%;background:none!important;box-shadow:none!important;border-radius:18px;overflow:hidden;break-inside:avoid}.photo img{display:block;width:100%;border-radius:18px;background:#e9edf4}
.empty-grid{column-span:all;text-align:center;padding:68px 20px;color:var(--muted)}
.spinner{width:50px;height:50px;border-radius:50%;border:4px solid #e9e4f2;border-top-color:var(--secondary);animation:spin 1s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}
dialog{border:0;border-radius:28px;max-width:min(92vw,570px);padding:20px;text-align:center;box-shadow:0 40px 100px rgba(0,0,0,.35)}dialog::backdrop{background:rgba(15,11,28,.78);backdrop-filter:blur(8px)}dialog>button{position:absolute;left:12px;top:12px;width:38px;height:38px;padding:0;border-radius:50%}dialog img{max-width:100%;max-height:72vh;border-radius:20px}dialog p{word-break:break-all;color:var(--muted)}#viewer .primary-btn{display:flex;margin-top:12px}

/* Forms and authentication */
.auth-card,.form-card{max-width:650px;margin:42px auto;padding:28px}.wide-form{max-width:940px}
.auth-card{text-align:center}.auth-card>p,.provider-auth>p{color:var(--muted);line-height:1.8}
.auth-card form,.form-card form{display:grid;gap:15px;text-align:right}
.webapp-login{margin-top:70px}.webapp-login img{width:150px;max-height:100px;object-fit:contain}
label{font-size:12px;font-weight:800;display:grid;gap:7px;color:#3b3850}label small{color:var(--muted);font-weight:500}
input,select,textarea{width:100%;border:1px solid #dce2ec;background:#fbfcfe;padding:13px 14px;border-radius:14px;outline:none;color:var(--text);transition:.18s ease}
textarea{resize:vertical;min-height:92px}
input:focus,select:focus,textarea:focus{border-color:var(--secondary);box-shadow:0 0 0 4px rgba(11,142,214,.1);background:#fff}
.form-grid{display:grid;gap:13px}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1/-1}
.toggle{display:flex;align-items:flex-start;gap:10px;background:#f7f7fb;padding:13px;border-radius:15px;border:1px solid rgba(49,35,94,.05)}.toggle input{width:auto;margin-top:3px}.toggle span{line-height:1.6}
.feature-group{display:grid;gap:10px;border:1px solid var(--line);background:#fcfbfe;border-radius:20px;padding:14px}
.color-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.auth-switch{text-align:center!important;font-size:12px}.auth-switch a{color:var(--secondary);font-weight:850}
.account-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.provider-notice,.price-banner,.success-card,.payment-summary{margin:14px 0;padding:16px 18px;border-radius:18px;border:1px solid var(--line);background:#f7f5fb}.provider-notice b,.price-banner b,.success-card b,.payment-summary b{color:var(--primary)}.provider-notice p,.price-banner span,.success-card p{display:block;margin:6px 0 0;color:var(--muted);font-size:11px;line-height:1.8}.price-banner{display:grid;gap:4px}.price-banner small{color:var(--secondary);font-weight:900}.price-banner b{font-size:28px}.success-card{background:#effaf5;border-color:#bce8d2}.success-card b{color:#087a55}

/* App navigation and page headers */
.app-nav{position:fixed;z-index:80;right:50%;transform:translateX(50%);bottom:0;width:min(100%,820px);display:grid;grid-template-columns:repeat(auto-fit,minmax(52px,1fr));align-items:end;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);backdrop-filter:blur(22px);border-top:1px solid var(--line);box-shadow:0 -14px 40px rgba(49,35,94,.09)}
.app-nav a{min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#757688;border-radius:15px;font-size:10px;font-weight:800}.app-nav a:hover{background:#f2eff8;color:var(--primary)}.app-nav span{font-size:21px;line-height:1}.app-nav b{font-size:9px}.nav-main-action{background:linear-gradient(135deg,var(--primary),var(--secondary))!important;color:#fff!important;transform:translateY(-10px);box-shadow:0 12px 26px rgba(49,35,94,.23)}
.app-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:30px 3px 18px}.app-page-head>div{min-width:0}.app-page-head>a:first-child,.event-detail-head>div>a:first-child{color:var(--secondary);font-size:11px;font-weight:850}.app-page-head small{display:block;color:var(--secondary);font-weight:900;font-size:10px;letter-spacing:.4px}.app-page-head h1{font-size:clamp(25px,5vw,38px);margin:4px 0;line-height:1.25}.app-page-head p{margin:0;color:var(--muted);font-size:12px;max-width:680px}.head-actions{display:flex;gap:8px;flex-wrap:wrap}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.stats.four{grid-template-columns:repeat(4,1fr)}.stats div{background:#fff;padding:17px 10px;border-radius:20px;text-align:center;border:1px solid var(--line);box-shadow:0 7px 20px rgba(49,35,94,.04)}.stats b{display:block;font-size:24px;color:var(--primary);line-height:1.2}.stats span{font-size:10px;color:var(--muted)}
.section-title{display:flex;align-items:center;justify-content:space-between;margin:27px 3px 11px}.section-title h2{margin:0;font-size:19px}.section-title a{color:var(--secondary);font-size:11px;font-weight:850}
.admin-list,.compact-request-list,.notification-list{display:grid;gap:10px}
.event-admin-card,.compact-request-card,.notification-card{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;padding:16px;border-radius:20px;border:1px solid var(--line);box-shadow:0 7px 22px rgba(49,35,94,.04);transition:.18s ease}.event-admin-card:hover,.compact-request-card:hover{transform:translateY(-1px);box-shadow:var(--soft-shadow)}.event-admin-card h3,.compact-request-card h3{margin:6px 0 2px;font-size:15px}.event-admin-card p,.compact-request-card p,.notification-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.6}.event-admin-card>div,.compact-request-card>div{min-width:0;flex:1}
.app-event-card time{width:54px;height:58px;border-radius:17px;background:#f2eff8;color:var(--primary);display:grid;place-items:center;align-content:center;flex:0 0 auto}.app-event-card time b{font-size:22px;line-height:1}.app-event-card time small{font-size:9px}.app-event-card strong{color:var(--secondary)}
.status{display:inline-flex;font-size:9px;padding:4px 8px;border-radius:99px;background:#e8f8ef;color:#087a55;font-weight:850}.status.expired{background:#f1f2f4;color:#777}.status.request-pending{background:#fff4d9;color:#946200}.status.request-approved{background:#e8f8ef;color:#087a55}.status.request-rejected{background:#fdecea;color:#b42318}
.admin-shortcuts,.app-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:14px 0}.admin-shortcuts a{display:flex;flex-direction:column;gap:5px;background:#fff;border:1px solid var(--line);border-radius:19px;padding:16px;box-shadow:0 7px 20px rgba(49,35,94,.04)}.admin-shortcuts span{font-weight:900;color:var(--primary);font-size:13px}.admin-shortcuts b{font-size:10px;color:var(--secondary)}
.system-health-grid,.compliance-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:13px 0}.service-status{display:flex;align-items:center;gap:11px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:18px}.service-status div{display:flex;flex-direction:column;min-width:0}.service-status b{font-size:12px}.service-status small{color:var(--muted);font-size:9px;overflow:hidden;text-overflow:ellipsis}.dot{width:10px;height:10px;border-radius:50%;background:#a5a7ad;flex:0 0 auto}.dot.ok{background:#19a974;box-shadow:0 0 0 5px rgba(25,169,116,.12)}.dot.off{background:#d59b28;box-shadow:0 0 0 5px rgba(213,155,40,.12)}

/* Professional calendars */
.calendar-filter{display:flex;justify-content:flex-end;margin-bottom:10px}.calendar-filter label{width:min(100%,320px)}
.calendar-layout{display:grid;grid-template-columns:minmax(470px,1.1fr) minmax(320px,.9fr);gap:14px;align-items:start}
.calendar-card,.calendar-agenda{padding:18px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.calendar-toolbar>a{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#f2eff8;color:var(--primary);font-size:25px;font-weight:800}.calendar-toolbar div{text-align:center}.calendar-toolbar small{color:var(--secondary);font-size:9px;font-weight:900}.calendar-toolbar h2{margin:0;font-size:20px}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-weekdays{margin-bottom:5px}.calendar-weekdays span{text-align:center;color:var(--muted);font-size:9px;font-weight:800;padding:5px}
button.calendar-day,.calendar-day{min-height:74px;padding:7px;border-radius:14px;background:#f9fafc!important;color:var(--text)!important;border:1px solid #edf0f5!important;box-shadow:none!important;text-align:right;display:flex;flex-direction:column;justify-content:space-between}.calendar-day:hover{border-color:rgba(11,142,214,.35)!important;background:#f3f9fd!important}.calendar-day b{font-size:12px}.calendar-day>span{display:flex;gap:3px;flex-wrap:wrap}.calendar-day i{width:6px;height:6px;background:var(--secondary);border-radius:50%}.calendar-day small{font-size:8px;color:var(--secondary)}.calendar-day.has-events{background:linear-gradient(145deg,#f3effb,#eef9fd)!important;border-color:rgba(49,35,94,.12)!important}.calendar-day.muted-day{opacity:.35}.calendar-day.is-selected{outline:3px solid rgba(11,142,214,.14);border-color:var(--secondary)!important}
.agenda-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.agenda-head h3{margin:0;font-size:17px}.agenda-head small{color:var(--muted);font-size:9px}
.calendar-event{display:flex;align-items:center;gap:11px;padding:12px;border-radius:16px;background:#fafbfe;border:1px solid #edf0f5;margin-bottom:7px}.calendar-event time{width:66px;color:var(--primary);font-size:11px;font-weight:900;flex:0 0 auto}.calendar-event>div{display:flex;flex-direction:column;min-width:0;flex:1}.calendar-event b{font-size:12px}.calendar-event span{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event strong{color:var(--secondary)}.company-chip{display:inline-flex!important;width:max-content;margin-top:3px;padding:3px 6px;background:#f0ecf8;border-radius:99px;color:var(--primary)!important;font-weight:800}
.filter-row{display:flex;gap:8px;overflow:auto;padding:2px 0 10px}.filter-chip{white-space:nowrap;padding:8px 12px;border-radius:99px;background:#fff;border:1px solid var(--line);font-size:10px;font-weight:800}.filter-chip.active{background:var(--primary);color:#fff}
.next-event-hero{display:flex;justify-content:space-between;gap:18px;padding:22px;margin:8px 0 15px;background:linear-gradient(135deg,var(--primary),#51418a 58%,var(--secondary));color:#fff;border-radius:26px;box-shadow:0 20px 48px rgba(49,35,94,.22)}.next-event-hero small{opacity:.72}.next-event-hero h2{margin:5px 0}.next-event-hero p{margin:0;opacity:.82;font-size:11px}.next-event-hero a{align-self:center;background:#fff;color:var(--primary);padding:11px 14px;border-radius:14px;font-weight:850;font-size:11px}

/* Event workspace, QR and camera setup */
.event-info-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:12px 0}.event-info-strip>div,.event-info-strip>a{background:#fff;border:1px solid var(--line);border-radius:17px;padding:13px;min-width:0}.event-info-strip small{display:block;color:var(--muted);font-size:9px}.event-info-strip b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-info-strip>a{display:grid;place-items:center;color:var(--secondary);font-size:10px;font-weight:850}
.provider-event-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}.provider-event-summary>div{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px}.provider-event-summary small{color:var(--secondary);font-weight:900;font-size:9px}.provider-event-summary b{color:var(--primary);font-size:17px}.provider-event-summary span{font-size:10px;color:var(--muted)}
.event-setup-pro{display:grid;grid-template-columns:minmax(300px,.86fr) minmax(390px,1.14fr);gap:14px;margin:14px 0}.setup-panel{background:#fff;border:1px solid var(--line);border-radius:30px;padding:22px;box-shadow:var(--shadow);position:relative;overflow:hidden}.setup-panel:before{content:"";position:absolute;width:160px;height:160px;border-radius:50%;background:rgba(11,142,214,.07);top:-70px;left:-60px}.panel-kicker{display:flex;align-items:center;gap:9px;position:relative}.panel-kicker span{width:31px;height:31px;border-radius:11px;display:grid;place-items:center;background:#f0ecf8;color:var(--primary);font-size:10px;font-weight:900}.panel-kicker b{font-size:12px;color:var(--primary)}
.qr-panel{text-align:center}.qr-frame{width:min(72%,250px);margin:18px auto 10px;background:#fff;padding:12px;border:1px solid #e8e9ef;border-radius:25px;box-shadow:0 15px 35px rgba(49,35,94,.12);position:relative}.qr-frame:after{content:"ONS";position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);background:#fff;padding:4px 6px;border-radius:7px;color:var(--primary);font-size:9px;font-weight:900}.qr-panel h2{margin:10px 0 2px}.qr-panel p{margin:0 auto 9px;max-width:350px;color:var(--muted);font-size:10px;line-height:1.7}.qr-panel code{display:block;padding:9px;background:#f7f8fb;border-radius:12px;font-size:9px;word-break:break-all;color:var(--primary)}.panel-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.panel-actions button{padding:11px;font-size:10px;box-shadow:none}
.ftp-panel{background:linear-gradient(155deg,#fff,#fbfcff)}.ftp-status{display:flex;align-items:center;gap:8px;margin:16px 0 10px;padding:10px 12px;border-radius:14px;background:#effaf5;color:#087a55;font-size:10px;font-weight:800}.ftp-status i{width:9px;height:9px;border-radius:50%;background:#19a974;box-shadow:0 0 0 5px rgba(25,169,116,.12)}
.credential-list{border:1px solid #e9edf3;border-radius:20px;overflow:hidden}.credential-list>div{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid #edf0f5}.credential-list>div:last-child{border-bottom:0}.credential-list small{color:var(--muted);font-size:9px}.credential-list code{font-size:11px;font-weight:850;color:#2f2d3d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.credential-list button{padding:6px 9px;border-radius:9px;background:#f1eef8;color:var(--primary);font-size:8px;box-shadow:none}.credential-buttons{display:flex;gap:4px}.setup-steps{display:grid;grid-template-columns:100px 1fr;gap:10px;align-items:start;margin-top:14px;padding:12px;border-radius:16px;background:#f7f8fb}.setup-steps b{font-size:10px;color:var(--primary)}.setup-steps ol{margin:0;padding-right:18px;color:var(--muted);font-size:9px}.security-note{margin:11px 0 0;padding:10px 12px;border-radius:14px;background:#fff7e5;color:#785500;font-size:9px;line-height:1.7;border:1px solid #f2ddab}
.prereg-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;margin-top:12px}.prereg-card small{color:var(--secondary);font-weight:900;font-size:9px}.prereg-card h3{margin:5px 0}.prereg-card p{color:var(--muted);font-size:10px}.prereg-card code{display:block;color:var(--secondary);font-size:9px;word-break:break-all}.prereg-card img{width:124px;border-radius:16px;background:#fff;padding:7px}.prereg-card button{margin-top:8px;padding:9px 12px;font-size:9px}
.uploader,.event-settings,.provider-edit,.request-overview,.approval-card,.rejection-card,.settings-card,.env-settings,.compliance-checklist{padding:21px;margin-top:12px}.modern-uploader{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;align-items:center}.modern-uploader small,.card-heading small{color:var(--secondary);font-size:9px;font-weight:900}.modern-uploader h3,.card-heading h3{margin:4px 0}.modern-uploader p{margin:0;color:var(--muted);font-size:10px}.modern-uploader form{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center}.upload-drop{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px dashed rgba(49,35,94,.25);border-radius:16px;padding:12px;background:#f9f8fc;cursor:pointer}.upload-drop input{display:none}.upload-drop span{color:var(--primary);font-weight:850}.upload-drop small{color:var(--muted)}
.event-settings form{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.event-settings form button{grid-column:1/-1}
.warning-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:15px;border-radius:18px;background:#fff8e8;border:1px solid #f2d48e}.warning-card span{font-size:10px;color:#805a00}.warning-card button{padding:9px 12px;font-size:10px}

/* Requests, settings, notifications */
.payment-summary{display:flex;align-items:center;gap:12px}.payment-summary b{font-size:21px}.payment-summary small{margin-inline-start:auto;color:#087a55;font-weight:800}
.request-overview dl{display:grid;grid-template-columns:130px 1fr;margin:14px 0}.request-overview dt,.request-overview dd{padding:10px;border-bottom:1px solid #edf0f5;margin:0}.request-overview dt{color:var(--muted);font-size:10px}.request-overview dd{font-weight:800;font-size:11px}
.approval-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin-top:14px}.approval-card,.rejection-card{display:grid;gap:12px}.approval-card form,.rejection-card form,.provider-edit form{display:grid;gap:12px}.rejection-card{border-color:#f4d2ce}
.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.legal-acceptance{padding:14px;border-radius:16px;background:#f7f5fb;color:var(--muted);font-size:10px}.legal-acceptance a{color:var(--secondary);font-weight:850}
.settings-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:13px}.logo-preview{min-height:190px;display:grid;place-items:center;background:linear-gradient(145deg,#f7f8fb,#eef2f8);border-radius:22px;margin:12px 0;padding:20px}.logo-preview img{max-width:220px;max-height:150px;object-fit:contain}.env-settings p{color:var(--muted);font-size:11px}.env-settings a{color:var(--secondary);font-weight:850}
.notification-card{justify-content:flex-start}.notification-card>div{display:flex;flex-direction:column;min-width:0}.notification-card small{font-size:9px;color:var(--muted)}

/* Compliance and legal */
.compliance-alert{margin:12px 0;padding:16px 18px;border-radius:19px;background:#fff7e5;border:1px solid #f0d38e;color:#6f5000}.compliance-alert b{font-size:12px}.compliance-alert p{margin:5px 0;color:#806520;font-size:10px;line-height:1.8}.compliance-alert a{color:var(--primary);font-weight:900;font-size:10px}.success-alert{background:#effaf5;border-color:#bce8d2;color:#087a55}.success-alert p{color:#286b53}
.compliance-status-grid .card{padding:18px}.compliance-status-grid small{color:var(--secondary);font-size:9px;font-weight:900}.compliance-status-grid h2{margin:5px 0;font-size:18px}.compliance-status-grid p{margin:0;color:var(--muted);font-size:9px}.compliance-checklist ol{color:var(--muted);font-size:11px;line-height:2}.legal-links,.legal-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.legal-links a{color:var(--secondary);font-weight:850;font-size:10px}
.legal-page{max-width:800px;margin:28px auto}.legal-hero{padding:30px;border-radius:30px;background:linear-gradient(135deg,var(--primary),#51418a 58%,var(--secondary));color:#fff;box-shadow:0 22px 55px rgba(49,35,94,.22)}.legal-hero small{opacity:.7}.legal-hero h1{margin:6px 0;font-size:clamp(28px,6vw,45px)}.legal-hero p{margin:0;opacity:.82}.face-legal{background:linear-gradient(135deg,#27203f,#513b88 55%,#0b8ed6)}.legal-card{margin-top:13px;padding:27px;background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--soft-shadow)}.legal-card h2{font-size:17px;margin:24px 0 5px;color:var(--primary)}.legal-card h2:first-of-type{margin-top:0}.legal-card p{color:#606275;font-size:12px;line-height:1.95}.legal-card a:not(.primary-btn):not(.secondary-btn){color:var(--secondary);font-weight:850}

/* Face profile and account */
.account-head,.my-photos-head{text-align:center;padding:32px 10px 22px}.account-head .face-badge,.my-photos-head .face-badge{margin:auto;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;box-shadow:0 11px 25px rgba(49,35,94,.20)}.account-head h1,.my-photos-head h1{margin:12px 0 4px;font-size:32px}.account-head p,.my-photos-head p{margin:0;color:var(--muted)}.my-photos-head>a{display:inline-block;color:var(--secondary);font-size:11px;font-weight:850;margin-bottom:18px}.my-photos-head small{display:inline-block;margin-top:8px;padding:5px 9px;border-radius:99px;background:#edf7fc;color:#0877ad;font-size:9px}
.face-profile-card{margin:8px 0 24px;padding:21px;display:flex;align-items:center;justify-content:space-between;gap:18px}.face-profile-card small{color:var(--secondary);font-weight:900;font-size:9px}.face-profile-card h2{margin:5px 0}.face-profile-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.7}
.selfie-card{margin-top:28px}.selfie-hero{text-align:center;margin:14px 0 25px}.selfie-hero>span{display:grid;place-items:center;width:74px;height:74px;border-radius:26px;margin:0 auto 14px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-size:39px;box-shadow:0 18px 36px rgba(49,35,94,.24)}.selfie-hero h1{margin:0 0 8px}.selfie-hero p{margin:0;color:var(--muted);line-height:1.8;font-size:11px}.privacy-box{padding:15px;border-radius:16px;background:#f4f1fa;border:1px solid var(--line)}.privacy-box b{color:var(--primary)}.privacy-box p{margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.8}.consent{align-items:flex-start}.privacy-actions{margin:24px 0}.privacy-actions details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.privacy-actions summary{cursor:pointer;font-weight:850}.privacy-actions p{color:var(--muted);font-size:10px;line-height:1.8}

/* Dangerous actions and common empty states */
.danger-zone{margin:28px 0;padding:20px;background:#fff;border:1px solid #f3d1cd;border-radius:24px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px}.danger-zone h3{margin:0}.danger-zone p{margin:4px 0 0;color:var(--muted);font-size:10px}.danger-zone form{display:grid;gap:7px}.danger-button{background:#fff!important;color:#b42318!important;border:1px solid #efc0bc!important;box-shadow:none!important}.solid-danger{background:#b42318!important;color:#fff!important}.text-link{background:none!important;color:#a23!important;box-shadow:none!important;padding:9px!important}.logout-form{text-align:center;margin-top:18px}.empty{text-align:center;padding:72px 20px}.empty h1{color:var(--primary)}.empty p{color:var(--muted)}.empty-mini{padding:22px;text-align:center;color:var(--muted)}

@media(max-width:900px){
  .calendar-layout,.event-setup-pro,.settings-grid{grid-template-columns:1fr}
  .calendar-card{order:1}.calendar-agenda{order:2}
  .event-info-strip{grid-template-columns:repeat(3,1fr)}
  .modern-uploader{grid-template-columns:1fr}
  .system-health-grid,.compliance-status-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  main{padding-inline:14px}.topbar{padding-inline:14px;height:72px}.brand img{width:45px;height:45px}.top-actions .icon-btn:first-child{display:none}
  .hero{padding-top:38px}.hero-orb{width:270px;height:270px}.join-card form{display:grid}
  .event-choices,.form-grid.two,.account-choice,.provider-event-summary,.approval-grid{grid-template-columns:1fr}
  .stats.four{grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(3,1fr)}.stats b{font-size:21px}.stats span{font-size:8px}
  .app-page-head{align-items:flex-start;flex-direction:column;padding-top:23px}.app-page-head .primary-btn{width:100%}.head-actions{width:100%}.head-actions a{flex:1}
  .admin-shortcuts,.app-shortcuts{grid-template-columns:1fr 1fr}
  .system-health-grid,.compliance-status-grid{grid-template-columns:1fr}
  .event-info-strip{grid-template-columns:1fr 1fr}.event-info-strip>a{grid-column:1/-1}
  .event-settings form{grid-template-columns:1fr}
  .modern-uploader form{grid-template-columns:1fr}
  .prereg-card{align-items:flex-start}.prereg-card img{width:95px}
  .danger-zone{grid-template-columns:1fr}.danger-zone button{width:100%}
  .calendar-card,.calendar-agenda{padding:13px}.calendar-day{min-height:58px!important;padding:5px!important;border-radius:10px!important}.calendar-day b{font-size:10px}.calendar-event time{width:58px;font-size:9px}
  .credential-list>div{grid-template-columns:72px minmax(0,1fr) auto;padding:10px}.credential-list code{font-size:9px}.setup-panel{padding:18px}.setup-steps{grid-template-columns:1fr}
  .event-admin-card,.compact-request-card{padding:14px}.app-event-card time{width:49px;height:54px}
  .legal-hero,.legal-card{padding:22px}.legal-actions>a{width:100%}
  .gallery{columns:2}.face-profile-card{align-items:flex-start;flex-direction:column}
}
@media(min-width:1000px){
  .workspace-shell{padding-right:112px}
  .workspace-main{padding:0 28px 45px}
  .app-nav{right:24px;transform:none;top:104px;bottom:auto;width:84px;display:flex;flex-direction:column;gap:7px;padding:9px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:25px;box-shadow:var(--shadow)}
  .app-nav a{width:100%;min-height:62px}.app-nav b{font-size:9px}.nav-main-action{transform:none}
  .workspace-shell footer{padding-right:20px}
}
@media(min-width:760px){.gallery{columns:3}}
@media print{body *{visibility:hidden!important}.qr-panel,.qr-panel *{visibility:visible!important}.qr-panel{position:absolute!important;inset:0!important;width:100%!important;min-height:100vh!important;border:0!important;box-shadow:none!important}.qr-panel .panel-actions,.qr-panel .panel-kicker{display:none!important}.qr-frame{width:360px!important;max-width:75vw!important}}
.calendar-day.selected{outline:3px solid rgba(11,142,214,.14);border-color:var(--secondary)!important}

.events-filter{display:grid;grid-template-columns:minmax(220px,1.8fr) repeat(3,minmax(130px,.8fr)) auto;gap:9px;align-items:end;padding:14px;margin-bottom:12px}.events-filter button{height:47px}@media(max-width:900px){.events-filter{grid-template-columns:1fr 1fr}}@media(max-width:650px){.events-filter{grid-template-columns:1fr}.events-filter button{width:100%}}

/* =====================================================================
   ONS Moment v1.5 — Premium UI refresh
   Inspired by the lighter, elegant v1.2/v1.3 visual language while keeping
   the operational features introduced in v1.4.
   ===================================================================== */
:root{
  --primary:#2e2671;
  --secondary:#078ed1;
  --accent:#7258e8;
  --accent-soft:#ece9ff;
  --success:#128a63;
  --warning:#a16a00;
  --danger:#b42318;
  --bg:#f4f6fb;
  --surface:#ffffff;
  --surface-soft:#f8f9fd;
  --text:#25223a;
  --muted:#747789;
  --line:rgba(46,38,113,.09);
  --line-strong:rgba(46,38,113,.15);
  --shadow:0 24px 70px rgba(35,29,88,.12);
  --soft-shadow:0 12px 34px rgba(35,29,88,.075);
  --small-shadow:0 8px 22px rgba(35,29,88,.06);
  --radius:24px;
  --radius-sm:16px;
  --sidebar-width:236px;
}

html,body{min-height:100%}
body{
  background:
    radial-gradient(circle at 10% 0,rgba(7,142,209,.12),transparent 28%),
    radial-gradient(circle at 96% 10%,rgba(114,88,232,.10),transparent 30%),
    linear-gradient(180deg,#f8f9fd 0,#f3f5fa 100%);
  letter-spacing:0;
}
body.workspace-body{background:linear-gradient(145deg,#f4f6fb 0,#eef2f8 100%)}
body:not(.ui-ready){visibility:visible}

button,.primary-btn{
  min-height:46px;
  border-radius:15px;
  padding:12px 18px;
  background:linear-gradient(135deg,var(--primary) 0,var(--accent) 52%,var(--secondary) 100%);
  box-shadow:0 13px 28px rgba(66,52,156,.20);
  font-weight:800;
  letter-spacing:.05px;
}
button:hover,.primary-btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(66,52,156,.24)}
.secondary-btn,.ghost-button{
  min-height:44px;
  border-radius:15px;
  border:1px solid var(--line-strong);
  background:rgba(255,255,255,.92);
  box-shadow:0 7px 20px rgba(35,29,88,.05);
}

.app-shell{
  width:min(100%,860px);
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-inline:1px solid rgba(255,255,255,.75);
  box-shadow:0 0 110px rgba(36,31,83,.08);
}
.workspace-shell{
  width:min(100%,1580px);
  background:transparent;
  border:0;
  box-shadow:none;
  overflow:visible;
}
.workspace-main{padding-bottom:118px}

.topbar{
  height:82px;
  margin:0;
  padding:14px 20px;
  background:rgba(255,255,255,.86);
  border-bottom:1px solid rgba(46,38,113,.07);
  box-shadow:0 6px 24px rgba(35,29,88,.035);
}
.brand{gap:12px}
.brand img{
  width:52px;height:52px;
  border-radius:17px;
  border:1px solid rgba(46,38,113,.08);
  background:#fff;
  padding:4px;
  box-shadow:0 9px 24px rgba(35,29,88,.09);
}
.brand b{font-size:16px;letter-spacing:-.15px}
.brand small{font-size:10px;color:#8a8d9a}
.top-actions{gap:8px}
.icon-btn{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 13px;
  border:1px solid rgba(46,38,113,.07);
  border-radius:14px;
  background:#f7f5fc;
  color:var(--primary);
  box-shadow:none;
}
.language-switch{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 11px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--primary);
  box-shadow:var(--small-shadow);
  border-radius:14px;
  font-size:10px;
  font-weight:900;
}
.language-switch i{width:1px;height:15px;background:#d8d9e2}
.language-switch[aria-pressed="false"] .lang-ar,
.language-switch[aria-pressed="true"] .lang-en{color:var(--secondary)}
.language-switch[aria-pressed="false"] .lang-en,
.language-switch[aria-pressed="true"] .lang-ar{color:#aaaeba}
.auth-language{position:fixed;z-index:90;top:18px;left:18px}
html[dir="ltr"] .auth-language{left:auto;right:18px}

.card,.form-card,.auth-card{
  border:1px solid rgba(46,38,113,.075);
  border-radius:22px;
  background:rgba(255,255,255,.96);
  box-shadow:var(--soft-shadow);
}

.app-page-head{
  position:relative;
  align-items:center;
  padding:31px 3px 20px;
}
.app-page-head:before{
  content:"";
  position:absolute;
  inset-inline-start:-10px;
  top:25px;
  width:4px;
  height:42px;
  border-radius:9px;
  background:linear-gradient(180deg,var(--accent),var(--secondary));
}
.app-page-head small{font-size:10px;letter-spacing:.65px;text-transform:uppercase}
.app-page-head h1{font-size:clamp(27px,4vw,42px);letter-spacing:-.7px;margin:3px 0 6px}
.app-page-head p{font-size:12px;line-height:1.8}
.head-actions{align-items:center}

.stats,.stats.four{
  gap:12px;
  margin:2px 0 16px;
}
.stats div{
  min-height:108px;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:19px 20px;
  text-align:start;
  border:1px solid rgba(46,38,113,.07);
  border-radius:21px;
  background:linear-gradient(155deg,#fff 0,#fbfbff 100%);
  box-shadow:var(--small-shadow);
}
.stats div:after{
  content:"";
  position:absolute;
  width:84px;height:84px;
  border-radius:50%;
  inset-inline-end:-28px;
  top:-28px;
  background:radial-gradient(circle,rgba(114,88,232,.13),rgba(7,142,209,.03) 66%,transparent 68%);
}
.stats div:nth-child(2):after{background:radial-gradient(circle,rgba(7,142,209,.14),rgba(7,142,209,.02) 66%,transparent 68%)}
.stats div:nth-child(3):after{background:radial-gradient(circle,rgba(245,161,69,.14),rgba(245,161,69,.02) 66%,transparent 68%)}
.stats div:nth-child(4):after{background:radial-gradient(circle,rgba(20,167,118,.13),rgba(20,167,118,.02) 66%,transparent 68%)}
.stats b{font-size:28px;line-height:1.1;color:var(--primary);letter-spacing:-.8px}
.stats span{margin-top:8px;font-size:10px;font-weight:700;color:var(--muted)}

.admin-shortcuts,.app-shortcuts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:14px 0 18px;
}
.admin-shortcuts a,.app-shortcuts a{
  min-height:116px;
  position:relative;
  overflow:hidden;
  justify-content:flex-end;
  padding:18px;
  border:1px solid rgba(46,38,113,.07);
  border-radius:21px;
  background:linear-gradient(150deg,#fff 0,#f9f9fe 100%);
  box-shadow:var(--small-shadow);
  transition:.2s ease;
}
.admin-shortcuts a:before,.app-shortcuts a:before{
  content:"";
  position:absolute;
  width:58px;height:58px;
  border-radius:20px;
  inset-inline-end:15px;
  top:15px;
  background:linear-gradient(145deg,rgba(114,88,232,.16),rgba(7,142,209,.08));
}
.admin-shortcuts a:hover,.app-shortcuts a:hover{transform:translateY(-3px);border-color:rgba(114,88,232,.22);box-shadow:0 16px 36px rgba(35,29,88,.10)}
.admin-shortcuts span,.app-shortcuts span{font-size:13px;color:var(--primary)}
.admin-shortcuts b,.app-shortcuts b{font-size:10px;line-height:1.6;color:var(--muted)}

.system-health-grid,.compliance-status-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:13px 0 20px;
}
.service-status{
  margin:0;
  min-height:78px;
  border-radius:19px;
  background:rgba(255,255,255,.88);
  box-shadow:var(--small-shadow);
}
.service-status b{font-size:12px}.service-status small{font-size:9px;line-height:1.5}

.section-title{margin:27px 3px 12px}
.section-title h2{margin:0;font-size:18px;letter-spacing:-.25px}
.section-title a{padding:7px 10px;border-radius:12px;background:#eef7fc;font-size:10px}

.admin-list,.compact-request-list{gap:10px}
.event-admin-card,.compact-request-card{
  min-height:86px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:15px 17px;
  border:1px solid rgba(46,38,113,.075);
  border-radius:20px;
  background:rgba(255,255,255,.95);
  box-shadow:0 8px 24px rgba(35,29,88,.055);
  transition:.2s ease;
}
.event-admin-card:hover,.compact-request-card:hover{transform:translateY(-2px);border-color:rgba(114,88,232,.22);box-shadow:0 14px 34px rgba(35,29,88,.09)}
.app-event-card time{
  width:58px;height:62px;
  display:grid;
  place-items:center;
  align-content:center;
  border-radius:18px;
  background:linear-gradient(145deg,#f1effd,#eef8fc);
  color:var(--primary);
  border:1px solid rgba(114,88,232,.09);
  flex:0 0 auto;
}
.app-event-card time b{font-size:21px;line-height:1}.app-event-card time small{font-size:8px;margin-top:3px;color:var(--secondary)}
.event-admin-card>div,.compact-request-card>div{flex:1;min-width:0}
.event-admin-card h3,.compact-request-card b{margin:5px 0 3px;font-size:13px;color:var(--text)}
.event-admin-card p,.compact-request-card small{font-size:9.5px;line-height:1.7;color:var(--muted)}
.event-admin-card strong,.compact-request-card strong{font-size:19px;color:var(--secondary)}
.status{font-weight:800;border:1px solid rgba(18,138,99,.1)}
.status.active{background:#eaf8f2;color:#117455}
.status.expired{background:#f1f2f5;color:#727582}
.status.request-pending{background:#fff6df;color:#8d6100}
.status.request-approved{background:#eaf8f2;color:#117455}
.status.request-rejected{background:#fff0ef;color:#a92b22}

.next-event-hero{
  min-height:155px;
  position:relative;
  overflow:hidden;
  align-items:center;
  padding:24px 26px;
  border-radius:26px;
  background:
    radial-gradient(circle at 82% 20%,rgba(255,255,255,.20),transparent 27%),
    linear-gradient(125deg,#282063 0,#4b36a2 50%,#078ed1 100%);
  box-shadow:0 23px 55px rgba(42,32,112,.24);
}
.next-event-hero:after{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(255,255,255,.17);border-radius:50%;inset-inline-end:-65px;bottom:-105px}
.next-event-hero h2{font-size:25px;letter-spacing:-.4px}.next-event-hero p{font-size:11px;line-height:1.8}
.next-event-hero a{z-index:1;min-width:120px;text-align:center;border-radius:15px;box-shadow:0 10px 24px rgba(17,13,52,.18)}

/* Calendar */
.calendar-layout{gap:15px}
.calendar-card,.calendar-agenda{
  padding:20px;
  border:1px solid rgba(46,38,113,.07);
  border-radius:23px;
  background:rgba(255,255,255,.96);
  box-shadow:var(--soft-shadow);
}
.calendar-toolbar{margin-bottom:17px}
.calendar-toolbar>a{width:42px;height:42px;border-radius:14px;background:#f2effd;box-shadow:none}
.calendar-toolbar h2{font-size:21px}.calendar-toolbar small{letter-spacing:.5px}
.calendar-weekdays span{font-size:9px;color:#9093a0}
button.calendar-day,.calendar-day{
  min-height:82px;
  border-radius:15px!important;
  background:#fbfbfd!important;
  border:1px solid #edf0f6!important;
  transition:.18s ease!important;
}
.calendar-day:hover{transform:translateY(-1px);background:#f4f8fd!important;border-color:rgba(7,142,209,.25)!important}
.calendar-day.has-events{background:linear-gradient(150deg,#f2effd,#edf8fd)!important;border-color:rgba(114,88,232,.16)!important}
.calendar-day.is-selected,.calendar-day.selected{outline:3px solid rgba(114,88,232,.13)!important;border-color:var(--accent)!important}
.calendar-day i{width:7px;height:7px;background:linear-gradient(135deg,var(--accent),var(--secondary))}
.calendar-event{border-radius:17px;background:#fafbfe;padding:13px;border-color:#edf0f5}
.calendar-event:hover{background:#f5f7fc}
.calendar-event time{width:70px;font-size:10px}.calendar-event b{font-size:12px}.calendar-event span{font-size:9px}
.company-chip{background:#efecfb!important;color:var(--primary)!important}
.calendar-filter label{background:#fff;padding:10px 12px;border-radius:16px;box-shadow:var(--small-shadow)}

/* Event workspace */
.event-detail-head{padding-bottom:16px}
.provider-event-summary{
  gap:12px;
  margin-bottom:13px;
}
.provider-event-summary>div,.payment-summary{
  min-height:92px;
  padding:17px 19px;
  border-radius:20px;
  border:1px solid rgba(46,38,113,.07);
  background:linear-gradient(145deg,#fff,#f9f9fd);
  box-shadow:var(--small-shadow);
}
.event-info-strip{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
  margin:13px 0;
}
.event-info-strip>div,.event-info-strip>a{
  min-height:76px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:13px 14px;
  border-radius:18px;
  border:1px solid rgba(46,38,113,.07);
  background:#fff;
  box-shadow:var(--small-shadow);
}
.event-info-strip small{font-size:8.5px;color:var(--secondary);font-weight:900}.event-info-strip b{font-size:11px;line-height:1.55}
.event-info-strip>a{align-items:center;color:var(--secondary);font-size:10px;font-weight:850}
.event-setup-pro{
  grid-template-columns:minmax(330px,.9fr) minmax(440px,1.1fr);
  gap:15px;
  margin:15px 0;
}
.setup-panel{
  border-radius:25px;
  padding:22px;
  border:1px solid rgba(46,38,113,.075);
  box-shadow:var(--soft-shadow);
  background:linear-gradient(160deg,#fff 0,#fbfbfe 100%);
}
.setup-panel:before{width:190px;height:190px;top:-100px;left:-90px;background:rgba(114,88,232,.06)}
.panel-kicker span{width:34px;height:34px;border-radius:12px;background:linear-gradient(145deg,#efecfb,#eaf6fc);font-size:9px}
.panel-kicker b{font-size:12px}
.qr-panel{text-align:center}
.qr-frame{
  width:min(100%,255px);
  margin:21px auto 12px;
  padding:13px;
  border-radius:25px;
  background:#fff;
  border:1px solid rgba(46,38,113,.07);
  box-shadow:0 14px 35px rgba(35,29,88,.08);
}
.qr-frame img{display:block;width:100%;border-radius:14px}
.qr-panel h2{font-size:20px;margin:8px 0}.qr-panel p{font-size:10px;color:var(--muted);line-height:1.75}
.qr-panel code{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:10px;border-radius:12px;background:#f4f5fa;font-size:8.5px}
.panel-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}
.ftp-panel{background:linear-gradient(150deg,#fff 0,#f7f8fd 100%)}
.ftp-status{display:inline-flex;align-items:center;gap:7px;margin:17px 0 12px;padding:7px 10px;border-radius:99px;background:#eaf8f2;color:#147155;font-size:9px;font-weight:850}
.ftp-status i{width:7px;height:7px;border-radius:50%;background:#1eb57e;box-shadow:0 0 0 4px rgba(30,181,126,.12)}
.credential-list{
  overflow:hidden;
  border:1px solid rgba(46,38,113,.07);
  border-radius:18px;
  background:#fff;
}
.credential-list>div{
  display:grid;
  grid-template-columns:88px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:12px 13px;
  border-bottom:1px solid #eef0f5;
}
.credential-list>div:last-child{border-bottom:0}
.credential-list small{font-size:8px;color:var(--muted);font-weight:800}
.credential-list code{font-size:9.5px;font-weight:750;color:#2f2a55;overflow:hidden;text-overflow:ellipsis}
.credential-list button{min-height:32px;padding:6px 9px;border-radius:10px;font-size:8px;box-shadow:none}
.credential-buttons{display:flex;gap:5px}
.setup-steps{margin-top:14px;padding:14px 15px;border-radius:17px;background:#f2f0fb;display:grid;grid-template-columns:90px 1fr;gap:8px}
.setup-steps b{font-size:10px;color:var(--primary)}.setup-steps ol{margin:0;padding-inline-start:18px;font-size:9px;color:var(--muted);line-height:1.9}
.security-note{font-size:8.5px!important;color:#8b6e2d!important;background:#fff9e9;padding:10px 12px;border-radius:13px;border:1px solid #f3e0a9}
.premium-prereg{
  border-radius:23px;
  padding:20px;
  background:linear-gradient(145deg,#fff,#f7f5fd);
  box-shadow:var(--soft-shadow);
}
.premium-prereg img{padding:8px;background:#fff;border:1px solid var(--line);box-shadow:var(--small-shadow)}
.modern-uploader,.event-settings{
  border-radius:23px;
  padding:21px;
  background:linear-gradient(150deg,#fff,#fbfbfe);
}
.upload-drop{min-height:68px;border-radius:17px;background:#f7f6fc;border-color:rgba(114,88,232,.28)}
.event-settings form{gap:9px}
.toggle{border-radius:15px;background:#f8f8fc;border-color:rgba(46,38,113,.055)}

/* Forms and settings */
.auth-card,.form-card{border-radius:26px;padding:30px}
.webapp-login{
  max-width:490px;
  margin-top:78px;
  padding:34px;
  background:
    radial-gradient(circle at 88% 0,rgba(7,142,209,.10),transparent 28%),
    #fff;
  box-shadow:0 28px 80px rgba(35,29,88,.13);
}
.webapp-login img{width:138px;max-height:92px;margin-bottom:6px}
.webapp-login h1{font-size:29px;margin:8px 0}.webapp-login>p{font-size:11px;line-height:1.8}
label{font-size:11px;color:#403d57}
input,select,textarea{
  min-height:47px;
  border-radius:14px;
  border:1px solid #e0e3ec;
  background:#fbfcfe;
  padding:12px 14px;
}
input:focus,select:focus,textarea:focus{border-color:rgba(7,142,209,.65);box-shadow:0 0 0 4px rgba(7,142,209,.09)}
textarea{min-height:104px}
.feature-group,.legal-acceptance{border-radius:19px;background:#faf9fd}
.settings-grid{gap:14px}
.logo-preview{border-radius:20px;background:linear-gradient(145deg,#f7f8fc,#eff3f9)}
.color-row{gap:12px}
.events-filter{
  padding:16px;
  border-radius:21px;
  background:#fff;
  box-shadow:var(--small-shadow);
}
.events-filter label{font-size:9px}
.provider-events-filter{grid-template-columns:minmax(260px,1.8fr) minmax(180px,.8fr) auto}

/* Public event experience, closer to the elegant v1.2/v1.3 direction */
.event-cover{
  min-height:190px;
  position:relative;
  overflow:hidden;
  padding:27px;
  border-radius:27px;
  background:
    radial-gradient(circle at 83% 24%,rgba(255,255,255,.20),transparent 24%),
    linear-gradient(125deg,#2d256f 0,#543ba9 54%,#078ed1 100%);
}
.event-cover:after{content:"";position:absolute;inset-inline-end:-65px;bottom:-95px;width:200px;height:200px;border:1px solid rgba(255,255,255,.17);border-radius:50%}
.event-cover>div,.event-cover>.qr-small{position:relative;z-index:1}
.event-cover h1{font-size:clamp(27px,6vw,40px);letter-spacing:-.6px}
.event-choices{gap:12px}
.event-choice{
  min-height:105px;
  padding:18px;
  border-radius:22px;
  background:linear-gradient(155deg,#fff,#fbfbfe);
  box-shadow:var(--small-shadow);
}
.event-choice:hover{transform:translateY(-2px);border-color:rgba(114,88,232,.18)}
.choice-icon,.face-icon,.face-badge{border-radius:16px;background:linear-gradient(145deg,#efecfb,#eaf6fc)}
.face-choice{background:linear-gradient(130deg,#30266f,#5c44b4 58%,#078ed1)}
.gallery{column-gap:10px}.photo{margin-bottom:10px;border-radius:20px}.photo img{border-radius:20px}

/* Navigation: floating app bar on mobile, full premium sidebar on desktop */
.app-nav{
  width:calc(100% - 20px);
  max-width:820px;
  right:50%;
  transform:translateX(50%);
  bottom:10px;
  display:block;
  padding:7px;
  border:1px solid rgba(46,38,113,.10);
  border-radius:23px;
  background:rgba(255,255,255,.93);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  box-shadow:0 18px 46px rgba(35,29,88,.18);
}
.nav-identity,.nav-foot{display:none}
.nav-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end}
.app-nav a{
  min-height:58px;
  padding:5px 3px;
  border-radius:16px;
  color:#838593;
  gap:4px;
  transition:.18s ease;
}
.app-nav a span{width:25px;height:25px;display:grid;place-items:center;font-size:0}
.app-nav a svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-nav a b{font-size:8.5px;font-weight:800}
.app-nav a:hover,.app-nav a.is-active{background:#f1eefc;color:var(--primary)}
.app-nav .nav-main-action{
  width:64px;
  min-height:64px;
  justify-self:center;
  transform:translateY(-12px);
  border-radius:22px;
  background:linear-gradient(135deg,var(--primary),var(--accent),var(--secondary))!important;
  color:#fff!important;
  box-shadow:0 15px 31px rgba(66,52,156,.30);
}
.app-nav .nav-main-action span{width:27px;height:27px}.app-nav .nav-main-action b{font-size:8px}
.app-nav .nav-desktop-extra{display:none}

html[dir="ltr"] body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
html[dir="ltr"] .auth-card form,html[dir="ltr"] .form-card form{text-align:left}
html[dir="ltr"] .event-admin-card strong,html[dir="ltr"] .compact-request-card strong{transform:rotate(180deg)}
html[dir="ltr"] .app-page-head:before{left:-10px;right:auto}

@media(max-width:900px){
  .admin-shortcuts,.app-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .event-info-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .event-setup-pro{grid-template-columns:1fr}
  .calendar-layout{grid-template-columns:1fr}
  .system-health-grid,.compliance-status-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:650px){
  body{background:#f5f6fa}
  .app-shell{width:100%;border:0;box-shadow:none}
  .workspace-shell{width:100%}
  main,.workspace-main{padding-inline:14px;padding-bottom:118px}
  .topbar{height:70px;padding:10px 14px;background:rgba(255,255,255,.94)}
  .brand img{width:44px;height:44px;border-radius:14px}.brand b{font-size:14px}.brand small{font-size:8px}
  .top-actions{gap:5px}.icon-btn{display:none}.language-switch{display:inline-flex;min-height:37px;padding:6px 9px}
  .app-page-head{align-items:flex-start;padding:23px 3px 15px}.app-page-head:before{display:none}
  .app-page-head h1{font-size:26px}.app-page-head p{font-size:10px}.app-page-head .primary-btn{width:100%;margin-top:7px}
  .stats,.stats.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .stats div{min-height:96px;padding:15px;border-radius:19px}.stats b{font-size:24px}.stats span{font-size:8px}
  .admin-shortcuts,.app-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .admin-shortcuts a,.app-shortcuts a{min-height:100px;padding:14px;border-radius:18px}.admin-shortcuts span,.app-shortcuts span{font-size:11px}.admin-shortcuts b,.app-shortcuts b{font-size:8px}
  .system-health-grid,.compliance-status-grid{grid-template-columns:1fr}
  .next-event-hero{min-height:170px;align-items:flex-start;flex-direction:column;padding:21px}.next-event-hero h2{font-size:21px}.next-event-hero a{align-self:stretch;text-align:center}
  .section-title h2{font-size:16px}
  .event-admin-card,.compact-request-card{padding:13px;border-radius:18px}.app-event-card time{width:51px;height:56px;border-radius:16px}.app-event-card time b{font-size:18px}
  .event-info-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.event-info-strip>a{grid-column:1/-1}
  .setup-panel{padding:17px;border-radius:22px}.qr-frame{width:220px}.panel-actions{grid-template-columns:1fr}
  .credential-list>div{grid-template-columns:72px minmax(0,1fr) auto;padding:10px}.credential-list code{font-size:8px}.credential-list button{padding:5px 7px}
  .setup-steps{grid-template-columns:1fr}.modern-uploader{grid-template-columns:1fr}.modern-uploader form{grid-template-columns:1fr}
  .event-settings form{grid-template-columns:1fr}
  .calendar-card,.calendar-agenda{padding:13px;border-radius:20px}.calendar-day{min-height:61px!important;padding:6px!important;border-radius:12px!important}.calendar-day b{font-size:10px}.calendar-weekdays span{font-size:7px}
  .calendar-event{padding:10px}.calendar-event time{width:56px;font-size:8px}
  .events-filter,.provider-events-filter{grid-template-columns:1fr;padding:12px;border-radius:19px}.events-filter button{width:100%}
  .form-grid.two,.event-choices,.provider-event-summary,.approval-grid,.settings-grid{grid-template-columns:1fr}
  .auth-card,.form-card{padding:22px;border-radius:23px}.webapp-login{margin-top:55px;padding:26px 22px}.webapp-login h1{font-size:25px}
  .event-cover{min-height:175px;padding:21px}.event-cover h1{font-size:28px}.qr-small img{width:66px}
  .event-choice{min-height:92px;padding:15px}.event-choice b{font-size:14px}.event-choice small{font-size:9px}
  footer{padding-bottom:125px}
}

@media(min-width:1050px){
  .workspace-shell{
    width:min(100%,1580px);
    padding-right:calc(var(--sidebar-width) + 36px);
    min-height:100vh;
  }
  html[dir="ltr"] .workspace-shell{padding-right:0;padding-left:calc(var(--sidebar-width) + 36px)}
  .workspace-main{padding:0 28px 48px}
  .workspace-shell>.topbar{
    margin:18px 24px 0;
    border:1px solid rgba(46,38,113,.07);
    border-radius:21px;
    box-shadow:var(--small-shadow);
  }
  .app-nav{
    position:fixed;
    z-index:80;
    top:18px;
    bottom:18px;
    right:max(18px,calc((100vw - 1580px)/2 + 18px));
    transform:none;
    width:var(--sidebar-width);
    max-width:none;
    display:flex;
    flex-direction:column;
    padding:17px 13px;
    border:0;
    border-radius:28px;
    overflow:hidden;
    background:
      radial-gradient(circle at 20% 0,rgba(255,255,255,.10),transparent 24%),
      linear-gradient(180deg,#262064 0,#302674 48%,#123e7e 100%);
    box-shadow:0 28px 70px rgba(26,24,70,.26);
  }
  html[dir="ltr"] .app-nav{right:auto;left:max(18px,calc((100vw - 1580px)/2 + 18px))}
  .nav-identity{
    display:flex;
    align-items:center;
    gap:11px;
    min-height:72px;
    margin:0 5px 15px;
    padding:9px;
    border-bottom:1px solid rgba(255,255,255,.11);
  }
  .nav-identity img{width:48px;height:48px;object-fit:contain;padding:3px;border-radius:15px;background:#fff}
  .nav-identity span{display:flex;flex-direction:column;min-width:0}.nav-identity b{color:#fff;font-size:13px}.nav-identity small{color:rgba(255,255,255,.62);font-size:8px}
  .nav-links{display:flex;flex-direction:column;gap:5px;align-items:stretch}
  .app-nav a{
    min-height:48px;
    width:100%;
    flex-direction:row;
    justify-content:flex-start;
    gap:11px;
    padding:8px 12px;
    border-radius:14px;
    color:rgba(255,255,255,.72);
  }
  .app-nav a span{width:25px;height:25px}.app-nav a b{font-size:11px}
  .app-nav a:hover,.app-nav a.is-active{background:linear-gradient(90deg,rgba(255,255,255,.17),rgba(255,255,255,.08));color:#fff;box-shadow:inset 3px 0 0 #56c8ff}
  html[dir="rtl"] .app-nav a:hover,html[dir="rtl"] .app-nav a.is-active{box-shadow:inset -3px 0 0 #56c8ff}
  .app-nav .nav-main-action{
    width:100%;
    min-height:48px;
    transform:none;
    justify-self:auto;
    border-radius:14px;
    background:transparent!important;
    color:rgba(255,255,255,.72)!important;
    box-shadow:none;
  }
  .app-nav .nav-main-action:hover,.app-nav .nav-main-action.is-active{background:linear-gradient(90deg,rgba(255,255,255,.17),rgba(255,255,255,.08))!important;color:#fff!important}
  .app-nav .nav-main-action b{font-size:11px}
  .app-nav .nav-desktop-extra{display:flex}
  .nav-foot{
    display:flex;
    align-items:center;
    gap:9px;
    margin-top:auto;
    padding:13px 11px;
    border-radius:16px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.08);
  }
  .nav-secure-dot{width:9px;height:9px;border-radius:50%;background:#45e2a6;box-shadow:0 0 0 5px rgba(69,226,166,.12)}
  .nav-foot div{display:flex;flex-direction:column}.nav-foot b{font-size:9px;color:#fff}.nav-foot small{font-size:7.5px;color:rgba(255,255,255,.55)}
  .workspace-shell footer{padding-right:20px}
  html[dir="ltr"] .workspace-shell footer{padding-left:20px;padding-right:20px}
}

@media(min-width:1250px){
  .workspace-main{padding-inline:34px}
  .calendar-layout{grid-template-columns:minmax(570px,1.18fr) minmax(340px,.82fr)}
}

/* ============================================================
   ONS Moment v1.6 — premium responsive application layer (base retained in v1.7)
   ============================================================ */
:root{
  --navy:#102657;
  --navy-2:#173b82;
  --blue:#168fe5;
  --violet:#6958e8;
  --success:#0f9f6e;
  --warning:#b77808;
  --danger:#c83d4d;
  --app-border:rgba(18,43,93,.09);
  --app-shadow:0 22px 60px rgba(28,55,112,.10);
  --app-shadow-soft:0 10px 30px rgba(28,55,112,.07);
  --ease:cubic-bezier(.2,.8,.2,1);
}
body.workspace-body{background:linear-gradient(145deg,#f7f9fd 0,#eef3fa 58%,#f8fbff 100%)}
.workspace-shell{width:100%;max-width:none;min-height:100vh;background:transparent;box-shadow:none;overflow:visible}
.workspace-main{max-width:1380px;margin-inline:auto;padding:24px 26px 110px}
.topbar{height:76px;border-bottom:1px solid var(--app-border);box-shadow:0 8px 30px rgba(18,43,93,.035)}
.brand img{border-radius:14px;box-shadow:0 8px 20px rgba(24,61,133,.08)}
.brand b{font-size:16px}.brand small{font-size:10px;letter-spacing:.7px}

/* professional vector icons */
.app-nav svg,.primary-btn svg,.secondary-btn svg,.ghost-button svg,.provider-admin-card svg,.provider-admin-overview svg,.event-form-intro svg,.agreement-preview svg,.public-venue-card svg,.venue-map-button svg,.service-window-banner svg,.empty-icon svg,.stat-icon svg,.feature-card-icon svg,.prereg-icon svg{
  width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto
}
.primary-btn svg,.secondary-btn svg,button svg{width:18px;height:18px}

/* mobile application navigation: always fixed */
.app-nav{
  position:fixed!important;z-index:200;left:0!important;right:0!important;bottom:0!important;top:auto!important;transform:none!important;width:100%!important;
  padding:7px 10px calc(7px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border:0;border-top:1px solid rgba(18,43,93,.10);
  box-shadow:0 -12px 36px rgba(22,48,104,.11);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)
}
.app-nav .nav-identity,.app-nav .nav-foot{display:none}
.app-nav .nav-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;max-width:820px;margin:auto}
.app-nav a{min-height:56px;padding:5px 2px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#7d8799;transition:transform .22s var(--ease),background .22s,color .22s}
.app-nav a:hover{transform:translateY(-2px);background:#f2f6fc;color:var(--primary)}
.app-nav a span{display:grid;place-items:center}.app-nav a svg{width:21px;height:21px}.app-nav a b{font-size:9px;font-weight:800;line-height:1.1}
.app-nav .nav-main-action{transform:translateY(-10px)!important;width:58px;height:58px;min-height:58px;margin:auto;border-radius:20px!important;background:linear-gradient(135deg,var(--primary),var(--secondary))!important;color:#fff!important;box-shadow:0 14px 28px rgba(41,63,155,.28)}
.app-nav .nav-main-action b{display:none}.app-nav .nav-main-action svg{width:25px;height:25px}
.nav-desktop-only{display:none!important}

/* cards and transitions */
.card,.form-card,.auth-card,.setup-panel,.provider-admin-card,.provider-profile-summary,.provider-agreement-summary{border:1px solid var(--app-border);box-shadow:var(--app-shadow-soft)}
.card,.form-card,.setup-panel,.provider-admin-card,.event-admin-card,.compact-request-card{animation:ons-rise .46s var(--ease) both}
@keyframes ons-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes ons-pulse{0%,100%{box-shadow:0 0 0 0 rgba(22,143,229,.20)}50%{box-shadow:0 0 0 8px rgba(22,143,229,0)}}
@keyframes ons-shimmer{0%{transform:translateX(-140%)}100%{transform:translateX(240%)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* page heads */
.app-page-head{padding:30px 4px 18px;align-items:center}.app-page-head h1{letter-spacing:-.6px}.app-page-head p{font-size:12px;line-height:1.8}
.primary-btn,button{position:relative;overflow:hidden}.primary-btn:after,button:not(.calendar-day):not(.language-switch):after{content:"";position:absolute;top:-40%;bottom:-40%;width:28px;background:rgba(255,255,255,.18);transform:translateX(-140%) rotate(18deg);transition:.65s var(--ease)}.primary-btn:hover:after,button:hover:after{transform:translateX(420%) rotate(18deg)}

/* company administration */
.provider-stats{margin-bottom:16px}.provider-stats>div{position:relative;overflow:hidden}.provider-stats .stat-icon{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;margin:0 auto 8px;background:linear-gradient(145deg,#eef4ff,#f6f2ff);color:var(--primary)}
.provider-admin-list{display:grid;gap:11px}
.provider-admin-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:15px;padding:17px 18px;border-radius:22px;background:rgba(255,255,255,.94);transition:.22s var(--ease)}
.provider-admin-card:hover{transform:translateY(-2px);box-shadow:var(--app-shadow);border-color:rgba(22,143,229,.22)}
.provider-card-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#edf4ff,#f3efff);color:var(--primary)}.provider-card-mark svg{width:25px;height:25px}
.provider-card-main{min-width:0}.provider-card-main h3{margin:5px 0 1px;font-size:16px}.provider-card-main p{margin:0;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.provider-card-main>small{display:block;margin-top:5px;color:#8a92a3;font-size:9px}
.provider-card-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.agreement-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;font-size:8px;font-weight:850}.agreement-chip svg{width:12px;height:12px}.agreement-chip.accepted{background:#eaf9f3;color:#07875c}.agreement-chip.pending{background:#fff5df;color:#9b6500}
.provider-card-price{text-align:left;display:grid;justify-items:end}.provider-card-price b{color:var(--primary);font-size:14px}.provider-card-price span{font-size:8px;color:var(--muted)}.provider-card-price svg{margin-top:8px;width:16px;height:16px;color:var(--secondary)}
.provider-admin-overview{display:grid;grid-template-columns:1.08fr .92fr;gap:12px;margin-bottom:12px}.provider-profile-summary,.provider-agreement-summary{display:flex;align-items:center;gap:14px;padding:19px;border-radius:23px;background:#fff}.provider-profile-summary>span:first-child,.provider-agreement-summary>span:first-child{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:#eff4ff;color:var(--primary)}.provider-profile-summary>div,.provider-agreement-summary>div{min-width:0;flex:1}.provider-profile-summary small,.provider-agreement-summary small{color:var(--secondary);font-size:9px;font-weight:850}.provider-profile-summary h2,.provider-agreement-summary h3{margin:2px 0}.provider-profile-summary p,.provider-agreement-summary p{margin:0;color:var(--muted);font-size:9px}.provider-agreement-summary.accepted{background:linear-gradient(145deg,#f4fffa,#fff);border-color:#c8eadc}.provider-agreement-summary.pending{background:linear-gradient(145deg,#fffaf0,#fff);border-color:#efdbac}.provider-agreement-summary>a{font-weight:900;color:var(--secondary);font-size:11px}
.form-section{padding:17px;border:1px solid var(--app-border);border-radius:20px;background:#fbfcff}.form-section+ .form-section{margin-top:3px}.form-section h3{margin:0 0 12px;color:var(--primary);font-size:13px}
.provider-create-form form,.provider-edit form{gap:12px}.agreement-preview{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:linear-gradient(145deg,#eff5ff,#f7f3ff);border:1px solid rgba(39,75,153,.10)}.agreement-preview>span{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#fff;color:var(--primary)}.agreement-preview>div{display:grid;flex:1}.agreement-preview small{color:var(--muted);font-size:9px}.agreement-preview a{font-size:10px;font-weight:900;color:var(--secondary)}

/* agreement and consent experiences */
.agreement-shell{max-width:980px;margin:24px auto}.agreement-hero{display:flex;align-items:center;gap:18px;padding:28px;border-radius:30px;background:linear-gradient(135deg,#112a61,#315cae 56%,#765ce9);color:#fff;box-shadow:0 26px 65px rgba(24,55,119,.24);position:relative;overflow:hidden}.agreement-hero:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.08);left:-70px;top:-100px}.agreement-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:21px;background:rgba(255,255,255,.14);backdrop-filter:blur(8px)}.agreement-icon svg{width:31px;height:31px}.agreement-hero h1{margin:4px 0;font-size:clamp(26px,5vw,42px)}.agreement-hero p{margin:0;opacity:.82;font-size:11px;line-height:1.8}.agreement-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;margin:12px 0}.agreement-summary h2{margin:2px 0}.agreement-summary p{margin:0;color:var(--muted);font-size:10px}.agreement-points{padding:20px}.agreement-point-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.agreement-point-grid>div{display:grid;gap:5px;padding:14px;background:#f8faff;border-radius:17px}.agreement-point-grid svg{color:var(--secondary)}.agreement-point-grid b{font-size:11px}.agreement-point-grid span{color:var(--muted);font-size:9px}.agreement-form{margin-top:12px}.agreement-submit{min-height:52px}
.terms-renewal-card,.consent-status-card,.event-consent-card{max-width:850px;margin:28px auto;padding:24px}.terms-renewal-icon,.agreement-status-icon,.event-consent-card>span:first-child{width:58px;height:58px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(145deg,#eef4ff,#f5efff);color:var(--primary)}.terms-document-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.biometric-disclosure{padding:18px;border:1px solid rgba(70,62,150,.14);border-radius:21px;background:linear-gradient(145deg,#f8f9ff,#f5faff)}.disclosure-head{display:flex;align-items:center;gap:11px}.disclosure-head span{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#fff;color:var(--primary)}.disclosure-warning{margin-top:12px;padding:12px;border-radius:14px;background:#fff5e6;color:#805400;font-size:10px}.text-document-link{font-weight:850;color:var(--secondary)}

/* event workspace */
.service-window-banner{display:flex;align-items:center;gap:13px;padding:16px 18px;border-radius:21px;margin:11px 0}.service-window-banner>span:first-child{width:43px;height:43px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.72)}.service-window-banner>div{display:grid;flex:1}.service-window-banner small{font-size:9px}.service-window-banner b{font-size:13px}.service-window-banner.open{background:#eaf9f3;color:#087e59}.service-window-banner.open>span:first-child{animation:ons-pulse 2s infinite}.service-window-banner.scheduled{background:#edf5ff;color:#155f9f}.service-window-banner.closed{background:#fff0f0;color:#a22e3e}.service-window-banner.neutral{background:#f3f4f8;color:#60687a}
.premium-info-strip{grid-template-columns:repeat(4,1fr)!important}.premium-info-strip>div{min-height:75px;display:flex;flex-direction:column;justify-content:center}.venue-map-button{display:flex!important;align-items:center;gap:10px!important;justify-content:center;padding:13px!important;border-radius:16px!important;background:linear-gradient(135deg,#edf5ff,#f4efff)!important;color:var(--primary)!important;font-weight:900}.disabled-map{opacity:.55}
.event-setup-pro{align-items:stretch}.setup-panel{transition:.24s var(--ease)}.setup-panel:hover{transform:translateY(-3px);box-shadow:var(--app-shadow)}.feature-card-icon,.prereg-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:#f0f4ff;color:var(--primary)}
.upload-locked{padding:16px;border-radius:17px;background:#fff1f1;color:#9d3340}.locked-action{opacity:.5;pointer-events:none}
.public-venue-card{display:flex;align-items:center;gap:14px;margin:12px 0 18px;padding:16px;border-radius:22px;background:linear-gradient(135deg,#102a61,#2d5bab 62%,#735be5);color:#fff;box-shadow:0 16px 38px rgba(25,57,122,.20);transition:.22s var(--ease)}.public-venue-card:hover{transform:translateY(-2px);box-shadow:0 22px 48px rgba(25,57,122,.27)}.public-venue-icon{width:49px;height:49px;display:grid;place-items:center;border-radius:17px;background:rgba(255,255,255,.15)}.public-venue-card>span:nth-child(2){display:grid;flex:1}.public-venue-card small{opacity:.72;font-size:9px}.public-venue-card b{font-size:15px}.public-venue-card>svg{width:18px;height:18px}
.empty-icon{width:68px;height:68px;display:grid;place-items:center;margin:0 auto 12px;border-radius:23px;background:#f0f4ff;color:var(--primary)}.empty-icon svg{width:31px;height:31px}

/* responsive desktop sidebar */
@media(min-width:1050px){
  .workspace-shell{padding-right:258px!important}
  [dir="ltr"] .workspace-shell{padding-right:0!important;padding-left:258px!important}
  .workspace-main{padding:30px 34px 50px!important}
  .app-nav{top:18px!important;bottom:18px!important;right:18px!important;left:auto!important;width:222px!important;height:auto!important;padding:18px 13px!important;border:1px solid rgba(255,255,255,.12);border-radius:29px!important;background:linear-gradient(180deg,#112b61 0,#123774 57%,#162d60 100%)!important;box-shadow:0 26px 65px rgba(13,38,88,.24)!important;display:flex!important;flex-direction:column!important;overflow:hidden}
  [dir="ltr"] .app-nav{right:auto!important;left:18px!important}
  .app-nav:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(76,167,255,.14);right:-80px;top:-70px}
  .app-nav .nav-identity{display:flex;align-items:center;gap:10px;padding:5px 7px 18px;color:#fff;position:relative}.nav-identity img{width:47px;height:47px;border-radius:15px;background:#fff;object-fit:contain;padding:3px}.nav-identity span{display:grid}.nav-identity b{font-size:13px}.nav-identity small{font-size:8px;opacity:.64}
  .app-nav .nav-links{display:flex!important;flex-direction:column;gap:5px;width:100%;margin:0;position:relative;flex:1}
  .app-nav a{width:100%!important;min-height:48px!important;padding:8px 11px!important;border-radius:15px!important;display:flex!important;flex-direction:row!important;justify-content:flex-start!important;gap:11px!important;color:rgba(255,255,255,.72)!important}
  .app-nav a:hover{background:rgba(255,255,255,.10)!important;color:#fff!important;transform:translateX(-2px)}
  [dir="ltr"] .app-nav a:hover{transform:translateX(2px)}
  .app-nav a span{width:30px;height:30px;border-radius:10px;background:rgba(255,255,255,.08)}.app-nav a svg{width:18px;height:18px}.app-nav a b{font-size:10px!important}
  .app-nav .nav-main-action{width:100%!important;height:auto!important;min-height:50px!important;margin:0!important;transform:none!important;background:linear-gradient(135deg,#6656e8,#168fe5)!important;box-shadow:0 12px 24px rgba(11,27,72,.25)!important}.app-nav .nav-main-action b{display:block!important}.app-nav .nav-main-action span{background:rgba(255,255,255,.14)}
  .nav-desktop-only{display:flex!important}
  .app-nav .nav-foot{display:flex;align-items:center;gap:9px;padding:13px 8px 4px;color:#fff;border-top:1px solid rgba(255,255,255,.10)}.nav-secure-dot{width:9px;height:9px;border-radius:50%;background:#58e0a1;box-shadow:0 0 0 5px rgba(88,224,161,.10)}.nav-foot div{display:grid}.nav-foot b{font-size:9px}.nav-foot small{font-size:7px;opacity:.55}
  .workspace-shell footer{padding-bottom:26px!important}
}

@media(max-width:820px){
  .workspace-main{padding:12px 14px 100px}.topbar{height:68px}.top-actions .compliance-link,.top-actions>a:last-child{display:none}
  .provider-admin-overview,.agreement-point-grid{grid-template-columns:1fr 1fr}.premium-info-strip{grid-template-columns:1fr 1fr!important}
  .provider-admin-card{grid-template-columns:48px minmax(0,1fr)}.provider-card-mark{width:46px;height:46px}.provider-card-price{display:none}
  .agreement-hero{padding:22px;align-items:flex-start}.agreement-summary{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
  .app-page-head{padding-top:20px}.app-page-head h1{font-size:25px}.stats.four,.provider-stats{grid-template-columns:1fr 1fr}
  .provider-admin-overview,.agreement-point-grid{grid-template-columns:1fr}.provider-admin-card{padding:14px 13px;gap:11px}.provider-card-main h3{font-size:14px}.provider-card-main p{white-space:normal;line-height:1.5}
  .agreement-hero{display:grid}.agreement-icon{width:52px;height:52px}.agreement-point-grid>div{grid-template-columns:30px 1fr}.agreement-point-grid>div span{grid-column:2}.premium-info-strip{grid-template-columns:1fr!important}
  .public-venue-card{padding:14px}.public-venue-card b{font-size:13px}
  .event-setup-pro{gap:10px}.setup-panel{border-radius:23px;padding:16px}
}
.app-shortcuts a span{display:flex;align-items:center;gap:8px}.app-shortcuts a span svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-shortcuts a{transition:.22s var(--ease)}.app-shortcuts a:hover{transform:translateY(-3px);box-shadow:var(--app-shadow)}

/* =========================================================
   ONS Moment v1.7 - premium onboarding and legal experience
   ========================================================= */
:root{
  --v17-navy:#122756;
  --v17-blue:#2469d3;
  --v17-cyan:#1aa7dc;
  --v17-purple:#7157df;
  --v17-ink:#20283a;
  --v17-soft:#f6f8fd;
  --v17-border:rgba(28,55,107,.10);
  --v17-shadow:0 28px 80px rgba(26,50,99,.14);
}

.provider-login-v17{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.95fr) minmax(390px,.72fr);align-items:stretch;background:#fff;overflow:hidden}
.provider-login-story{position:relative;padding:clamp(34px,6vw,78px);color:#fff;background:radial-gradient(circle at 20% 10%,rgba(90,177,255,.35),transparent 28%),radial-gradient(circle at 90% 85%,rgba(130,91,235,.32),transparent 32%),linear-gradient(145deg,#0d214e 0%,#183a78 55%,#294f9e 100%);display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.provider-login-story:before,.provider-login-story:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.10)}
.provider-login-story:before{width:420px;height:420px;inset:auto -180px -190px auto}.provider-login-story:after{width:250px;height:250px;inset:-110px auto auto -100px}
.provider-login-brand{position:relative;z-index:1;display:flex;align-items:center;gap:13px;margin-bottom:34px}.provider-login-brand img{width:62px;height:62px;border-radius:19px;object-fit:contain;background:#fff;padding:5px;box-shadow:0 18px 40px rgba(0,0,0,.18)}.provider-login-brand span{display:grid}.provider-login-brand b{font-size:19px}.provider-login-brand small{font-size:11px;opacity:.72;letter-spacing:.6px}
.provider-portal-pill{position:relative;z-index:1;width:max-content;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.10);border-radius:999px;font-size:10px;font-weight:850;backdrop-filter:blur(12px)}.provider-portal-pill svg{width:17px;height:17px}
.provider-login-story h1{position:relative;z-index:1;font-size:clamp(34px,5vw,62px);line-height:1.18;margin:18px 0 10px;letter-spacing:-1.6px}.provider-login-story h1 em{font-style:normal;background:linear-gradient(90deg,#a9dcff,#d8c7ff);-webkit-background-clip:text;color:transparent}.provider-login-story>p{position:relative;z-index:1;max-width:650px;margin:0 0 26px;color:rgba(255,255,255,.73);font-size:13px;line-height:1.9}
.provider-login-stepper{position:relative;z-index:1;display:grid;gap:9px;max-width:650px}.provider-login-stepper article{display:grid;grid-template-columns:44px 1fr 30px;align-items:center;gap:12px;padding:13px 15px;border:1px solid rgba(255,255,255,.10);border-radius:18px;background:rgba(255,255,255,.055);backdrop-filter:blur(14px);transition:.2s ease}.provider-login-stepper article:hover{transform:translateX(-3px);background:rgba(255,255,255,.10)}.provider-login-stepper article>span{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.11);font:800 11px/1 Aptos,sans-serif}.provider-login-stepper article>div{display:grid}.provider-login-stepper b{font-size:12px}.provider-login-stepper small{font-size:9px;color:rgba(255,255,255,.65)}.provider-login-stepper svg{width:20px;height:20px;opacity:.4}.provider-login-stepper .is-current{background:linear-gradient(110deg,rgba(75,145,255,.30),rgba(128,90,236,.20));border-color:rgba(171,213,255,.28)}.provider-login-stepper .is-current>span{background:#fff;color:var(--v17-blue)}.provider-login-stepper .is-current svg{opacity:1;color:#7cf0bc}
.provider-login-trust{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.provider-login-trust span{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:11px;background:rgba(255,255,255,.07);font-size:8.5px;color:rgba(255,255,255,.72)}.provider-login-trust svg{width:14px;height:14px;color:#9fd8ff}
.provider-login-card{margin:auto;width:min(100% - 42px,510px);padding:34px;border:1px solid var(--v17-border);border-radius:30px;background:rgba(255,255,255,.96);box-shadow:var(--v17-shadow)}.provider-login-progress{display:flex;align-items:center;gap:7px;margin-bottom:28px}.provider-login-progress>span{height:5px;flex:1;border-radius:99px;background:#e8edf6}.provider-login-progress>span.active{background:linear-gradient(90deg,var(--v17-blue),var(--v17-purple))}.provider-login-progress b{font-size:9px;color:var(--muted);margin-inline-start:7px}.provider-login-card h2{font-size:30px;margin:8px 0 4px;color:var(--v17-navy)}.provider-login-card>p{margin:0 0 22px;color:var(--muted);font-size:11px}.provider-login-card form{display:grid;gap:15px}.input-with-icon{display:grid;grid-template-columns:22px 1fr;align-items:center;border:1px solid #dce4f1;background:#f9fbff;border-radius:16px;padding-inline:13px;transition:.18s ease}.input-with-icon:focus-within{border-color:var(--v17-blue);box-shadow:0 0 0 4px rgba(36,105,211,.10);background:#fff}.input-with-icon svg{width:18px;height:18px;color:#7d8aa2}.input-with-icon input{border:0;background:transparent;box-shadow:none!important;padding-inline:8px}.provider-login-submit{min-height:53px;margin-top:4px;display:flex;align-items:center;justify-content:center;gap:8px}.provider-login-submit svg{width:18px;height:18px;transform:scaleX(-1)}
.provider-login-help{margin-top:22px;padding:15px;border-radius:18px;background:#f5f8fd;display:grid;gap:4px}.provider-login-help b{font-size:11px;color:var(--v17-navy)}.provider-login-help span{font-size:9px;color:var(--muted);line-height:1.7}.provider-login-help a{display:inline-flex;align-items:center;gap:5px;margin-top:5px;color:var(--v17-blue);font-size:9px;font-weight:850}.provider-login-help svg{width:15px;height:15px}.provider-login-legal{margin-top:13px;text-align:center;color:#8b93a4;font-size:8px;line-height:1.7}.provider-login-legal b{color:var(--v17-blue)}

.agreement-onboarding-v17{max-width:1060px;margin:0 auto;padding:18px 0 42px}.onboarding-progress-v17{display:flex;align-items:center;justify-content:center;gap:9px;margin:13px auto 22px}.onboarding-progress-v17>div{display:flex;align-items:center;gap:7px;color:#9aa3b3}.onboarding-progress-v17>div span{width:31px;height:31px;display:grid;place-items:center;border:1px solid #dce4f0;border-radius:11px;background:#fff;font:800 10px/1 Aptos,sans-serif}.onboarding-progress-v17>div b{font-size:9px}.onboarding-progress-v17>i{width:55px;height:2px;background:#e1e7f1}.onboarding-progress-v17 .active,.onboarding-progress-v17 .done{color:var(--v17-blue)}.onboarding-progress-v17 .active span{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--v17-blue),var(--v17-purple));box-shadow:0 8px 18px rgba(70,88,205,.22)}.onboarding-progress-v17 .done span{background:#eaf9f3;border-color:#c8eadc;color:#07875c}.onboarding-progress-v17 .done+i{background:linear-gradient(90deg,#8ad5b8,#8da7eb)}
.agreement-hero-v17{display:grid;grid-template-columns:70px 1fr auto;gap:18px;align-items:center;padding:26px;border-radius:30px;background:radial-gradient(circle at 85% 10%,rgba(130,95,236,.40),transparent 28%),linear-gradient(135deg,#11275a,#2259ad);color:#fff;box-shadow:0 24px 62px rgba(20,48,103,.24)}.agreement-hero-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:21px;background:rgba(255,255,255,.12);backdrop-filter:blur(10px)}.agreement-hero-icon svg{width:30px;height:30px}.agreement-hero-v17 small{font-size:9px;color:#a9d7ff;font-weight:850}.agreement-hero-v17 h1{font-size:clamp(25px,4vw,40px);margin:4px 0}.agreement-hero-v17 p{margin:0;font-size:10px;line-height:1.8;color:rgba(255,255,255,.75)}.agreement-version-chip{padding:8px 10px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.09);font:700 9px/1 Aptos,sans-serif;direction:ltr}
.agreement-party-v17{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:12px 0;padding:18px}.agreement-party-v17 small{font-size:8px;color:var(--secondary);font-weight:850}.agreement-party-v17 h2{margin:2px 0;font-size:19px}.agreement-party-v17 p{margin:0;font-size:9px;color:var(--muted)}
.agreement-essentials-v17{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:12px 0}.agreement-essentials-v17 article{display:flex;align-items:flex-start;gap:10px;padding:15px;border:1px solid var(--v17-border);border-radius:19px;background:#fff;box-shadow:0 12px 32px rgba(28,54,105,.055)}.agreement-essentials-v17 svg{width:21px;height:21px;flex:0 0 auto;color:var(--v17-blue)}.agreement-essentials-v17 article>div{display:grid}.agreement-essentials-v17 b{font-size:10px;color:var(--v17-navy)}.agreement-essentials-v17 span{font-size:8px;color:var(--muted);line-height:1.6}
.agreement-read-v17{padding:20px;margin:12px 0}.agreement-read-head{display:flex;align-items:center;gap:11px}.agreement-read-head>span{width:43px;height:43px;display:grid;place-items:center;border-radius:14px;background:#eef4ff;color:var(--v17-blue)}.agreement-read-head svg{width:21px;height:21px}.agreement-read-head small{font-size:8px;color:var(--secondary);font-weight:850}.agreement-read-head h3{margin:2px 0}.agreement-read-v17 ul{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px}.agreement-read-v17 li{position:relative;padding-inline-start:23px;font-size:9px;color:#4f586c;line-height:1.75}.agreement-read-v17 li:before{content:"✓";position:absolute;inset-inline-start:0;top:2px;width:16px;height:16px;display:grid;place-items:center;border-radius:6px;background:#e8f8f1;color:#0a8a5e;font-size:9px;font-weight:900}
.agreement-sign-v17{max-width:none;margin:12px 0;padding:24px}.agreement-sign-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}.agreement-sign-title>span{width:43px;height:43px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--v17-blue),var(--v17-purple));color:#fff;font:800 11px/1 Aptos,sans-serif}.agreement-sign-title small{font-size:8px;color:var(--secondary);font-weight:850}.agreement-sign-title h2{margin:2px 0;font-size:20px}.agreement-submit-v17{min-height:53px;display:flex;justify-content:center;align-items:center;gap:8px}.agreement-submit-v17 svg{width:19px;height:19px}

.biometric-test-ribbon,.biometric-event-test-banner{display:flex;align-items:flex-start;gap:11px;padding:14px 16px;margin-bottom:13px;border-radius:18px;background:linear-gradient(135deg,#fff7e4,#fffaf1);border:1px solid #efd7a1;color:#805400}.biometric-test-ribbon svg,.biometric-event-test-banner svg{width:22px;height:22px;flex:0 0 auto}.biometric-test-ribbon>div,.biometric-event-test-banner>div{display:grid}.biometric-test-ribbon b,.biometric-event-test-banner b{font-size:10px}.biometric-test-ribbon span,.biometric-event-test-banner span{font-size:8.5px;line-height:1.7}.biometric-event-test-banner{margin:0 0 12px}

.legal-modern-v17{max-width:1080px;margin:20px auto 46px}.legal-modern-hero{display:grid;grid-template-columns:1fr 125px;align-items:center;gap:20px;padding:30px;border-radius:32px;background:radial-gradient(circle at 12% 0,rgba(101,177,255,.25),transparent 30%),linear-gradient(135deg,#11275a,#255cac);color:#fff;box-shadow:0 26px 68px rgba(24,54,115,.24);overflow:hidden}.legal-modern-hero img{width:105px;height:105px;border-radius:27px;object-fit:contain;background:#fff;padding:8px;box-shadow:0 18px 35px rgba(0,0,0,.15)}.legal-label{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.10);font-size:8px;font-weight:850}.legal-label svg{width:16px;height:16px}.legal-modern-hero h1{font-size:clamp(28px,5vw,47px);margin:10px 0 5px}.legal-modern-hero p{margin:0;max-width:720px;color:rgba(255,255,255,.74);font-size:11px;line-height:1.9}.legal-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.legal-meta span{padding:6px 9px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:rgba(255,255,255,.07);font-size:8px}.face-hero,.provider-legal-hero,.user-legal-hero{grid-template-columns:1fr auto}.face-hero-orb,.legal-doc-orb{width:105px;height:105px;display:grid;place-items:center;border-radius:32px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.13)}.face-hero-orb svg,.legal-doc-orb svg{width:52px;height:52px}.provider-legal-hero{background:radial-gradient(circle at 85% 0,rgba(136,101,236,.38),transparent 30%),linear-gradient(135deg,#122756,#254e9f)}.user-legal-hero{background:radial-gradient(circle at 10% 0,rgba(59,196,233,.32),transparent 30%),linear-gradient(135deg,#11275a,#256b9f)}
.legal-layout-v17{display:grid;grid-template-columns:230px 1fr;gap:13px;margin-top:13px;align-items:start}.legal-index-v17{position:sticky;top:90px;display:grid;gap:5px;padding:17px;border:1px solid var(--v17-border);border-radius:22px;background:#fff;box-shadow:0 15px 40px rgba(26,50,99,.07)}.legal-index-v17>b{padding:4px 6px 9px;color:var(--v17-navy)}.legal-index-v17>a{padding:9px 10px;border-radius:11px;color:#687187;font-size:9px}.legal-index-v17>a:hover{background:#f2f6fd;color:var(--v17-blue)}.legal-index-v17 .download{margin-top:6px;display:flex;align-items:center;gap:6px;background:#eef4ff;color:var(--v17-blue);font-weight:850}.legal-index-v17 svg{width:15px;height:15px}.legal-content-v17{display:grid;gap:9px}.legal-content-v17>section{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:20px;border:1px solid var(--v17-border);border-radius:21px;background:#fff;box-shadow:0 12px 34px rgba(26,50,99,.05);scroll-margin-top:100px}.legal-content-v17>section>span{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:#eef4ff;color:var(--v17-blue);font:800 10px/1 Aptos,sans-serif}.legal-content-v17 h2{margin:1px 0 5px;font-size:16px;color:var(--v17-navy)}.legal-content-v17 p{margin:0;color:#5f687b;font-size:9.5px;line-height:1.9}.legal-content-v17 .test-section{background:linear-gradient(145deg,#fffaf0,#fff);border-color:#eddbb6}.legal-inline-note{display:flex;align-items:center;gap:7px;margin-top:10px;padding:9px 10px;border-radius:12px;background:#eef9f5;color:#0b7c59;font-size:8.5px;font-weight:800}.legal-inline-note svg{width:17px;height:17px}
.face-mode-banner{margin:13px 0;padding:18px 20px;border-radius:21px;border:1px solid}.face-mode-banner b{font-size:13px}.face-mode-banner p{margin:4px 0 0;font-size:9px;line-height:1.8}.face-mode-banner.testing{background:#fff7e4;border-color:#efd7a1;color:#805400}.face-mode-banner.approved{background:#eaf9f3;border-color:#bde5d2;color:#087a55}.face-mode-banner.off{background:#f5f7fb;border-color:#dde3ee;color:#687187}
.legal-feature-grid-v17{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:13px 0}.legal-feature-grid-v17 article{display:grid;justify-items:start;gap:5px;padding:16px;border:1px solid var(--v17-border);border-radius:19px;background:#fff;box-shadow:0 12px 32px rgba(26,50,99,.05)}.legal-feature-grid-v17 svg{width:23px;height:23px;color:var(--v17-blue)}.legal-feature-grid-v17 b{font-size:10px;color:var(--v17-navy)}.legal-feature-grid-v17 span{font-size:8px;color:var(--muted);line-height:1.6}.legal-card-v17{padding:26px;border:1px solid var(--v17-border);border-radius:26px;background:#fff;box-shadow:0 16px 46px rgba(26,50,99,.07)}.legal-card-v17 h2{font-size:16px;color:var(--v17-navy);margin:21px 0 5px}.legal-card-v17 h2:first-child{margin-top:0}.legal-card-v17 p{font-size:9.5px;line-height:1.95;color:#5f687b}.legal-card-v17 .legal-actions{margin-top:20px}

@media(max-width:900px){
  .provider-login-v17{grid-template-columns:1fr}.provider-login-story{padding:34px 24px}.provider-login-story h1{font-size:39px}.provider-login-card{margin:0 auto 36px;transform:translateY(-8px)}
  .agreement-essentials-v17,.legal-feature-grid-v17{grid-template-columns:1fr 1fr}.legal-layout-v17{grid-template-columns:1fr}.legal-index-v17{position:static;grid-template-columns:repeat(3,1fr)}.legal-index-v17>b,.legal-index-v17 .download{grid-column:1/-1}
}
@media(max-width:650px){
  .provider-login-v17{min-height:100svh}.provider-login-story{padding:28px 18px 30px}.provider-login-brand{margin-bottom:22px}.provider-login-brand img{width:52px;height:52px}.provider-login-story h1{font-size:32px;letter-spacing:-.8px}.provider-login-story>p{font-size:10px}.provider-login-stepper article{grid-template-columns:37px 1fr 24px;padding:11px}.provider-login-stepper article>span{width:33px;height:33px}.provider-login-trust{display:none}.provider-login-card{width:calc(100% - 24px);padding:23px;border-radius:25px}.provider-login-card h2{font-size:25px}.auth-language{z-index:120}
  .agreement-onboarding-v17{padding-inline:0}.onboarding-progress-v17>div b{display:none}.onboarding-progress-v17>i{width:34px}.agreement-hero-v17{grid-template-columns:48px 1fr;padding:20px;border-radius:25px}.agreement-hero-icon{width:47px;height:47px;border-radius:16px}.agreement-version-chip{grid-column:2;width:max-content}.agreement-party-v17{align-items:flex-start;flex-direction:column}.agreement-party-v17 a{width:100%}.agreement-essentials-v17{grid-template-columns:1fr 1fr}.agreement-essentials-v17 article{padding:12px}.agreement-sign-v17{padding:19px}
  .legal-modern-v17{margin-top:12px}.legal-modern-hero{grid-template-columns:1fr;padding:23px;border-radius:25px}.legal-modern-hero img,.face-hero-orb,.legal-doc-orb{width:76px;height:76px;border-radius:23px;grid-row:1}.legal-modern-hero>div{grid-row:2}.legal-modern-hero h1{font-size:29px}.legal-meta{gap:5px}.legal-index-v17{grid-template-columns:1fr 1fr}.legal-feature-grid-v17{grid-template-columns:1fr 1fr}.legal-content-v17>section{grid-template-columns:35px 1fr;padding:16px}.legal-content-v17>section>span{width:32px;height:32px}.legal-card-v17{padding:19px}
}
@media(max-width:410px){.agreement-essentials-v17,.legal-feature-grid-v17{grid-template-columns:1fr}.provider-login-stepper small{font-size:8px}}

/* =====================================================================
   ONS Moment v1.8 — compact premium polish
   ===================================================================== */
:root{
  --v18-navy:#16265d;
  --v18-blue:#2475d8;
  --v18-cyan:#2aa9dc;
  --v18-purple:#7058df;
  --v18-soft:#f6f8fc;
  --v18-border:rgba(28,54,112,.10);
  --v18-shadow:0 15px 40px rgba(28,54,112,.08);
}

/* Vector icon normalization: never render as oversized black shapes. */
.ons-icon{
  width:18px;
  height:18px;
  display:block;
  flex:0 0 auto;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.75!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  overflow:visible;
}
.ons-icon path,.ons-icon rect,.ons-icon circle,.ons-icon line,.ons-icon polyline,.ons-icon polygon{
  fill:none!important;
  stroke:currentColor!important;
  vector-effect:non-scaling-stroke;
}
.app-nav .ons-icon{width:19px;height:19px}
.stat-icon .ons-icon,.feature-card-icon .ons-icon,.venue-map-icon .ons-icon,.public-venue-icon .ons-icon,.prereg-icon .ons-icon,.service-window-icon .ons-icon{width:20px;height:20px}
.primary-btn .ons-icon,.secondary-btn .ons-icon,button .ons-icon{width:17px;height:17px}

/* More compact cards and typography. */
.workspace-main{padding-bottom:104px}
.card,.form-card,.auth-card,.setup-panel{border-radius:20px}
.app-page-head{padding-top:23px;padding-bottom:14px}
.app-page-head h1{font-size:clamp(24px,3.4vw,36px);margin:2px 0 4px}
.app-page-head p{font-size:10.5px;line-height:1.65}
.stats,.stats.four{gap:9px}
.stats div{min-height:86px;padding:13px 15px;border-radius:18px}
.stats .stat-icon{width:34px;height:34px;border-radius:12px;margin:0 0 5px;background:linear-gradient(145deg,#eef4ff,#f5efff);color:var(--v18-blue)}
.stats b{font-size:20px}.stats small{font-size:8px}

/* Event information and location hierarchy. */
.premium-info-strip{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  margin:10px 0!important;
}
.premium-info-strip>div{
  min-width:0!important;
  min-height:82px!important;
  display:grid!important;
  grid-template-columns:30px 1fr!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  gap:2px 9px!important;
  padding:12px!important;
  border:1px solid var(--v18-border)!important;
  border-radius:17px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(28,54,112,.045)!important;
}
.premium-info-strip>div>span:first-child{
  grid-row:1/3!important;
  width:30px!important;height:30px!important;
  display:grid!important;place-items:center!important;
  border-radius:10px!important;
  background:#eef4ff!important;color:var(--v18-blue)!important;
}
.premium-info-strip small{font-size:7.5px!important;color:#8991a3!important}
.premium-info-strip b{font-size:10px!important;line-height:1.35!important;white-space:normal!important;overflow-wrap:anywhere!important;min-width:0!important}
.venue-map-button,.public-venue-card{
  min-width:0;
  padding:13px 15px!important;
  gap:11px!important;
  border-radius:18px!important;
}
.venue-map-button>span:nth-child(2),.public-venue-card>span:nth-child(2){min-width:0;display:grid;gap:1px}
.venue-map-button b,.public-venue-card b{font-size:12px!important;line-height:1.45!important;white-space:normal!important;overflow-wrap:anywhere!important}
.venue-map-button em,.public-venue-card em{font-size:8.5px!important;line-height:1.4!important;white-space:normal!important}
.venue-map-icon,.public-venue-icon{width:38px!important;height:38px!important;border-radius:13px!important}

/* QR / FTP cards. */
.event-setup-pro{gap:10px;margin:10px 0}
.setup-panel{padding:17px!important;box-shadow:var(--v18-shadow)!important}
.panel-kicker span{width:32px!important;height:32px!important;border-radius:11px!important}
.panel-kicker b{font-size:10px!important}
.qr-frame{max-width:220px!important;margin:12px auto!important;padding:10px!important;border-radius:18px!important}
.qr-panel h2{font-size:20px!important;margin:5px 0!important}.qr-panel p{font-size:9px!important;line-height:1.6!important}
.credential-list>div{min-height:45px!important;padding:8px 10px!important}.credential-list small{font-size:7px!important}.credential-list code{font-size:9px!important}
.setup-steps{padding:12px!important;border-radius:15px!important}.setup-steps li,.security-note{font-size:8.5px!important}

/* Fixed, reachable mobile bottom bar. */
@media(max-width:999px){
  body.workspace-body{padding-bottom:calc(78px + env(safe-area-inset-bottom))!important}
  .workspace-main{padding-bottom:24px!important}
  .app-nav{
    position:fixed!important;
    z-index:1000!important;
    left:50%!important;
    right:auto!important;
    bottom:10px!important;
    top:auto!important;
    transform:translateX(-50%)!important;
    width:min(calc(100% - 20px),760px)!important;
    min-height:64px!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    align-items:center!important;
    gap:3px!important;
    padding:6px 8px calc(6px + env(safe-area-inset-bottom))!important;
    border:1px solid rgba(28,54,112,.10)!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.94)!important;
    backdrop-filter:blur(24px)!important;
    -webkit-backdrop-filter:blur(24px)!important;
    box-shadow:0 16px 42px rgba(18,38,91,.18)!important;
  }
  .app-nav .nav-identity,.app-nav .nav-foot,.app-nav .nav-desktop-only{display:none!important}
  .app-nav .nav-links{display:contents!important}
  .app-nav a{min-width:0!important;min-height:50px!important;padding:4px 2px!important;border-radius:15px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;color:#7d8495!important}
  .app-nav a>span{width:28px!important;height:28px!important;display:grid!important;place-items:center!important;background:transparent!important;border-radius:10px!important}
  .app-nav a b{font-size:8px!important;line-height:1!important;white-space:nowrap!important}
  .app-nav a.is-active{background:#eef4ff!important;color:var(--v18-blue)!important}
  .app-nav .nav-main-action{transform:none!important;background:linear-gradient(135deg,var(--v18-blue),var(--v18-purple))!important;color:#fff!important;box-shadow:0 9px 22px rgba(61,86,183,.24)!important}
  .app-nav .nav-main-action b{display:block!important;color:#fff!important}
  footer{padding-bottom:18px!important;margin-bottom:76px!important}
}
@media(min-width:1000px){
  .workspace-shell{padding-right:224px!important}
  .app-nav{
    position:fixed!important;
    top:20px!important;bottom:20px!important;right:20px!important;left:auto!important;
    transform:none!important;
    width:194px!important;
    display:flex!important;flex-direction:column!important;
    padding:15px!important;border-radius:28px!important;
    background:linear-gradient(180deg,#13265d,#204d9a 66%,#6655d3)!important;
    border:0!important;box-shadow:0 24px 65px rgba(23,50,111,.24)!important;
  }
  .app-nav .nav-identity{display:flex!important}.app-nav .nav-foot{display:flex!important}.app-nav .nav-links{display:grid!important;gap:5px!important}
  .app-nav a{min-height:44px!important;display:flex!important;flex-direction:row!important;justify-content:flex-start!important;gap:10px!important;padding:8px 11px!important;border-radius:13px!important;color:rgba(255,255,255,.73)!important}
  .app-nav a>span{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.07)}
  .app-nav a b{font-size:10px!important}.app-nav a.is-active{background:rgba(255,255,255,.14)!important;color:#fff!important}
  .app-nav .nav-main-action{transform:none!important;background:rgba(255,255,255,.13)!important;color:#fff!important;box-shadow:none!important}.app-nav .nav-main-action b{display:block!important}
}

/* Compact face enrollment. */
.selfie-card-v18{max-width:650px!important;padding:22px!important}
.compact-selfie-hero{text-align:center;margin:0 0 15px!important}
.compact-selfie-hero>span{width:52px!important;height:52px!important;border-radius:18px!important;font-size:0!important;margin-bottom:9px!important}
.compact-selfie-hero>span .ons-icon{width:25px;height:25px}
.compact-selfie-hero h1{font-size:26px!important;margin:5px 0!important}.compact-selfie-hero p{font-size:9.5px!important;line-height:1.7!important;max-width:500px;margin:auto!important}
.compact-selfie-form{display:grid;gap:11px!important}
.selfie-capture-card{display:grid;gap:9px}
.selfie-open-button{width:100%;min-height:76px;display:grid!important;grid-template-columns:46px 1fr 18px!important;align-items:center!important;text-align:start!important;gap:11px!important;padding:12px 14px!important;border:1px solid #dce5f3!important;background:linear-gradient(145deg,#f8faff,#f3f7ff)!important;color:var(--v18-navy)!important;box-shadow:none!important}
.selfie-open-button>span:first-child{width:42px;height:42px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,var(--v18-blue),var(--v18-purple));color:#fff}
.selfie-open-button>span:nth-child(2){display:grid;gap:2px}.selfie-open-button b{font-size:11px}.selfie-open-button small{font-size:8px;color:#7c8496}
.selfie-selected{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:10px;padding:9px;border:1px solid #cee9dd;border-radius:17px;background:#f1fbf6}
.selfie-selected img{width:58px;height:58px;object-fit:cover;border-radius:14px}.selfie-selected span{display:grid}.selfie-selected b{font-size:10px}.selfie-selected small{font-size:8px;color:#6b746f}
.selfie-camera-dialog{width:min(94vw,520px);padding:0!important;border-radius:26px!important;background:#0c1430!important;color:#fff!important;overflow:hidden!important}
.selfie-camera-shell{padding:15px}.selfie-camera-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.selfie-camera-head>div{display:grid}.selfie-camera-head small{font-size:8px;color:#9fb3db}.selfie-camera-head b{font-size:12px}.dialog-close{width:36px;height:36px;min-height:0!important;padding:0!important;border-radius:12px!important;background:rgba(255,255,255,.11)!important;color:#fff!important;box-shadow:none!important;font-size:22px!important}
.selfie-video-frame{position:relative;aspect-ratio:1/1;overflow:hidden;border-radius:23px;background:#030711}.selfie-video-frame video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}
.face-guide{position:absolute;inset:13%;border:2px solid rgba(255,255,255,.75);border-radius:45% 45% 42% 42%;box-shadow:0 0 0 999px rgba(4,8,20,.25);pointer-events:none}.face-guide span{position:absolute;inset:12%;border:1px dashed rgba(255,255,255,.38);border-radius:50%}
.camera-status{position:absolute;inset:auto 12px 12px;padding:8px;border-radius:11px;background:rgba(8,14,34,.72);font-size:9px;text-align:center}
.selfie-camera-actions{display:grid;grid-template-columns:1fr 66px 1fr;align-items:center;gap:10px;padding-top:13px}.camera-shutter{width:62px;height:62px;min-height:0!important;padding:0!important;border-radius:50%!important;background:#fff!important;box-shadow:0 0 0 5px rgba(255,255,255,.14)!important}.camera-shutter i{display:block;width:48px;height:48px;margin:auto;border-radius:50%;border:3px solid #1d4f9d;background:linear-gradient(135deg,#2e7ce0,#7058df)}
.compact-privacy-details{border:1px solid #e0e6f0;border-radius:15px;background:#fafbfe;overflow:hidden}.compact-privacy-details summary{display:flex;align-items:center;gap:8px;padding:11px 13px;cursor:pointer;color:var(--v18-navy);font-size:9px;font-weight:850}.compact-privacy-details summary .ons-icon{width:16px;height:16px;color:var(--v18-blue)}
.compact-disclosure{border:0!important;border-top:1px solid #e7ebf2!important;border-radius:0!important;padding:13px!important;background:#fff!important}.compact-disclosure .biometric-test-ribbon{padding:9px!important}.compact-disclosure dl{grid-template-columns:105px 1fr!important;gap:0!important}.compact-disclosure dt,.compact-disclosure dd{padding:6px!important;font-size:7.8px!important}.compact-disclosure .disclosure-head h3{font-size:12px!important}.compact-disclosure .disclosure-head>span{width:34px!important;height:34px!important}.compact-disclosure .disclosure-warning{font-size:8px!important;padding:9px!important}
.compact-consent{display:flex!important;align-items:flex-start!important;gap:9px!important;padding:11px 12px!important;border:1px solid #dce4ef!important;border-radius:14px!important;background:#f8faff!important;color:#4f586d!important;font-size:8.6px!important;font-weight:600!important;line-height:1.65!important}.compact-consent input{width:17px!important;height:17px!important;margin-top:2px!important;flex:0 0 auto!important}.compact-consent a{color:var(--v18-blue)!important;font-weight:850!important}.selfie-submit-button{min-height:48px!important}
.compact-event-card{margin:8px 0!important;padding:12px!important}.compact-event-card>span:first-child{width:38px!important;height:38px!important;border-radius:13px!important}

/* Signature panel. */
.agreement-sign-v18{max-width:none!important;margin:12px 0!important;padding:22px!important}.agreement-sign-title p{margin:2px 0 0;color:var(--muted);font-size:8.5px}
.signature-canvas-card{padding:13px;border:1px solid #dce4f0;border-radius:18px;background:#f8faff}.signature-canvas-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.signature-canvas-head>div{display:grid}.signature-canvas-head small{font-size:8px;color:var(--v18-blue);font-weight:850}.signature-canvas-head b{font-size:11px;color:var(--v18-navy)}
.signature-canvas-card canvas{display:block;width:100%;height:150px;touch-action:none;border:1px dashed #cbd6e6;border-radius:14px;background:#fff}.signature-canvas-card>small{display:block;margin-top:7px;color:#7e8799;font-size:8px}

/* General reductions on small screens. */
@media(max-width:700px){
  main{padding-inline:11px!important}.topbar{height:64px!important;padding:9px 11px!important}.brand img{width:40px!important;height:40px!important;border-radius:13px!important}.brand b{font-size:13px!important}
  .premium-info-strip{grid-template-columns:1fr 1fr!important}.premium-info-strip>div{min-height:70px!important}
  .event-setup-pro{grid-template-columns:1fr!important}.setup-panel{padding:14px!important}
  .event-detail-head .head-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}.event-detail-head .head-actions a{width:100%!important}
  .event-cover{padding:17px!important;border-radius:22px!important}.event-cover h1{font-size:23px!important}
  .event-choice{min-height:75px!important;padding:12px!important;border-radius:18px!important}.choice-icon{width:38px!important;height:38px!important;border-radius:13px!important}.event-choice b{font-size:12px!important}.event-choice small{font-size:8px!important}
  .agreement-essentials-v17{grid-template-columns:1fr 1fr!important}.agreement-essentials-v17 article{padding:10px!important}.agreement-read-v17{padding:15px!important}.agreement-sign-v18{padding:15px!important}
  .signature-canvas-card canvas{height:130px}
}

/* =====================================================================
   ONS Moment v2.0 — stable side navigation + premium compact RTL UI
   ===================================================================== */
:root{
  --v19-navy:#17245a;
  --v19-blue:#1779d4;
  --v19-cyan:#27a8d8;
  --v19-purple:#6757d8;
  --v19-ink:#20243a;
  --v19-muted:#747b8e;
  --v19-line:#e4e9f2;
  --v19-soft:#f5f8fd;
  --v19-card:#ffffff;
  --v19-shadow:0 14px 40px rgba(24,45,97,.075);
  --v19-sidebar:224px;
}

/* Never allow application icons to become large filled black objects. */
.ons-icon{
  inline-size:18px!important;
  block-size:18px!important;
  min-inline-size:18px!important;
  max-inline-size:18px!important;
  min-block-size:18px!important;
  max-block-size:18px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.75!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  overflow:visible!important;
}
.ons-icon *{fill:none!important;stroke:currentColor!important;vector-effect:non-scaling-stroke!important}
.stat-icon .ons-icon,.feature-card-icon .ons-icon,.provider-card-mark .ons-icon{inline-size:19px!important;block-size:19px!important}
.app-nav .ons-icon{inline-size:18px!important;block-size:18px!important}

body.workspace-body{overflow-x:hidden!important;background:linear-gradient(145deg,#f6f8fc,#eef3fa)!important}
.workspace-shell{width:100%!important;max-width:none!important;min-height:100vh!important;margin:0!important;background:transparent!important;overflow:visible!important}
.workspace-main{width:100%!important;max-width:1280px!important;margin-inline:auto!important;padding:0 26px 44px!important}
.topbar{width:100%!important;margin:0!important;padding-inline:26px!important;border-radius:0!important}

/* Desktop side list — one stable layout, no bottom navigation. */
.app-nav{
  position:fixed!important;
  z-index:120!important;
  top:18px!important;
  right:18px!important;
  bottom:18px!important;
  left:auto!important;
  transform:none!important;
  width:var(--v19-sidebar)!important;
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  padding:16px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:28px!important;
  background:linear-gradient(180deg,#14275d 0%,#1d4c95 61%,#6254ce 100%)!important;
  color:#fff!important;
  box-shadow:0 25px 70px rgba(22,45,101,.24)!important;
  overflow:hidden auto!important;
  overscroll-behavior:contain!important;
}
html[dir="ltr"] .app-nav{right:auto!important;left:18px!important}
.workspace-shell{padding-right:calc(var(--v19-sidebar) + 38px)!important}
html[dir="ltr"] .workspace-shell{padding-right:0!important;padding-left:calc(var(--v19-sidebar) + 38px)!important}
.app-nav .nav-identity{display:flex!important;align-items:center!important;gap:10px!important;padding:3px 3px 14px!important;border-bottom:1px solid rgba(255,255,255,.12)!important}
.app-nav .nav-identity img{width:44px!important;height:44px!important;object-fit:contain!important;border-radius:14px!important;background:#fff!important;padding:4px!important}
.app-nav .nav-identity span{display:grid!important;min-width:0!important}
.app-nav .nav-identity b{font-size:12px!important;color:#fff!important;white-space:nowrap!important}
.app-nav .nav-identity small{font-size:8px!important;color:rgba(255,255,255,.62)!important;white-space:nowrap!important}
.app-nav .nav-links{display:grid!important;gap:5px!important;align-content:start!important;flex:1!important}
.app-nav a{
  width:100%!important;
  min-height:43px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  padding:7px 9px!important;
  border-radius:13px!important;
  background:transparent!important;
  color:rgba(255,255,255,.72)!important;
  box-shadow:none!important;
  transform:none!important;
}
.app-nav a>span{width:30px!important;height:30px!important;display:grid!important;place-items:center!important;border-radius:10px!important;background:rgba(255,255,255,.075)!important;flex:0 0 auto!important}
.app-nav a b{display:block!important;font-size:10px!important;line-height:1.2!important;color:inherit!important;white-space:nowrap!important}
.app-nav a:hover,.app-nav a.is-active{background:rgba(255,255,255,.14)!important;color:#fff!important}
.app-nav a.is-active>span{background:#fff!important;color:var(--v19-blue)!important;box-shadow:0 8px 20px rgba(5,20,60,.15)!important}
.app-nav .nav-main-action{background:rgba(255,255,255,.10)!important;color:#fff!important}
.app-nav .nav-foot{display:flex!important;align-items:center!important;gap:9px!important;padding:11px!important;border-radius:15px!important;background:rgba(255,255,255,.08)!important}
.nav-secure-dot{width:8px!important;height:8px!important;border-radius:50%!important;background:#65e0aa!important;box-shadow:0 0 0 5px rgba(101,224,170,.12)!important}
.app-nav .nav-foot div{display:grid!important}.app-nav .nav-foot b{font-size:9px!important}.app-nav .nav-foot small{font-size:7px!important;color:rgba(255,255,255,.55)!important}
.side-menu-toggle,.side-menu-backdrop{display:none!important}

/* Dashboard shortcuts: remove empty decorative boxes and use real vector icons. */
.admin-shortcuts,.app-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.admin-shortcuts a,.app-shortcuts a{
  min-height:92px!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  align-content:center!important;
  align-items:center!important;
  gap:2px 11px!important;
  padding:14px!important;
  border:1px solid var(--v19-line)!important;
  border-radius:19px!important;
  background:#fff!important;
  box-shadow:var(--v19-shadow)!important;
  overflow:hidden!important;
}
.admin-shortcuts a:before,.app-shortcuts a:before{display:none!important;content:none!important}
.admin-shortcuts a span,.app-shortcuts a span{display:contents!important;font-size:12px!important;color:var(--v19-navy)!important}
.admin-shortcuts a span .ons-icon,.app-shortcuts a span .ons-icon{
  grid-column:1!important;grid-row:1/3!important;
  width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;min-height:40px!important;max-height:40px!important;
  padding:10px!important;border-radius:13px!important;
  color:var(--v19-blue)!important;background:linear-gradient(145deg,#edf5ff,#f4efff)!important;
}
.admin-shortcuts a span:not(:has(.ons-icon)),.app-shortcuts a span:not(:has(.ons-icon)){display:block!important}
.admin-shortcuts a b,.app-shortcuts a b{grid-column:2!important;font-size:8.5px!important;color:var(--v19-muted)!important;line-height:1.55!important}

/* Compact cards and remove useless decorative empty blocks. */
.card,.form-card,.auth-card,.setup-panel{border-color:var(--v19-line)!important;border-radius:20px!important;box-shadow:var(--v19-shadow)!important}
.stats div{min-height:84px!important;padding:13px 14px!important;border-radius:18px!important}
.stats div:after{width:54px!important;height:54px!important;opacity:.42!important}
.stats .stat-icon{position:relative!important;z-index:2!important;width:34px!important;height:34px!important;display:grid!important;place-items:center!important;border-radius:11px!important;background:linear-gradient(145deg,#edf5ff,#f4efff)!important;color:var(--v19-blue)!important}
.service-status{min-height:72px!important;padding:13px!important}

/* Better page heading and spacing. */
.app-page-head{padding:24px 2px 15px!important;gap:13px!important}
.app-page-head h1{font-size:clamp(24px,3vw,35px)!important;line-height:1.25!important}
.app-page-head p{font-size:10px!important;line-height:1.7!important}
.app-page-head:before{height:36px!important;top:25px!important}

/* Agreement and legal pages: true Arabic RTL and polished hierarchy. */
.legal-modern-v19,.agreement-onboarding-v19{direction:rtl!important;text-align:right!important;unicode-bidi:plaintext!important}
.legal-modern-v19 *,.agreement-onboarding-v19 *{text-align:start}
.legal-modern-v19{max-width:1080px!important;margin:24px auto 48px!important}
.legal-modern-hero-v19{
  direction:rtl!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 104px!important;
  align-items:center!important;
  gap:22px!important;
  padding:28px!important;
  border-radius:28px!important;
  background:radial-gradient(circle at 12% 0,rgba(89,174,255,.26),transparent 30%),linear-gradient(135deg,#13285f,#2358a6 62%,#6854d6)!important;
  color:#fff!important;
  box-shadow:0 24px 62px rgba(24,52,109,.22)!important;
}
.legal-modern-hero-v19 h1{font-size:clamp(29px,4vw,44px)!important;margin:8px 0 5px!important;color:#fff!important}
.legal-modern-hero-v19 p{max-width:760px!important;margin:0!important;color:rgba(255,255,255,.77)!important;font-size:10.5px!important;line-height:1.85!important}
.legal-modern-hero-v19 img,.face-hero-orb,.legal-doc-orb{width:92px!important;height:92px!important;border-radius:25px!important;background:#fff!important;padding:8px!important;object-fit:contain!important}
.legal-layout-v19{display:grid!important;grid-template-columns:220px minmax(0,1fr)!important;gap:13px!important;margin-top:13px!important;align-items:start!important}
.legal-index-v19{position:sticky!important;top:88px!important;display:grid!important;gap:4px!important;padding:15px!important;border:1px solid var(--v19-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:var(--v19-shadow)!important}
.legal-index-v19>a{padding:9px 10px!important;border-radius:10px!important;color:#687187!important;font-size:9px!important}
.legal-index-v19>a:hover{background:#eef5ff!important;color:var(--v19-blue)!important}
.legal-content-v19{display:grid!important;gap:9px!important}
.legal-content-v19>section{direction:rtl!important;display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:12px!important;padding:18px!important;border:1px solid var(--v19-line)!important;border-radius:19px!important;background:#fff!important;box-shadow:0 11px 30px rgba(28,54,112,.045)!important}
.legal-content-v19>section>span{width:35px!important;height:35px!important;display:grid!important;place-items:center!important;border-radius:11px!important;background:#eef5ff!important;color:var(--v19-blue)!important;font-size:9px!important;font-weight:900!important}
.legal-content-v19 h2,.legal-card-v19 h2{text-align:right!important;color:var(--v19-navy)!important}
.legal-content-v19 p,.legal-card-v19 p{text-align:right!important;color:#5d6679!important;font-size:9.5px!important;line-height:1.95!important}
.legal-feature-grid-v19{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:9px!important;margin:12px 0!important}
.legal-feature-grid-v19 article{min-height:108px!important;display:grid!important;align-content:start!important;gap:5px!important;padding:15px!important;border:1px solid var(--v19-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 10px 28px rgba(28,54,112,.045)!important}
.legal-feature-grid-v19 article .ons-icon{color:var(--v19-blue)!important;margin-bottom:4px!important}
.legal-card-v19{direction:rtl!important;padding:24px!important;border:1px solid var(--v19-line)!important;border-radius:23px!important;background:#fff!important;box-shadow:var(--v19-shadow)!important}

/* Agreement onboarding rebuilt to match the signed PDF and the site theme. */
.agreement-onboarding-v19{max-width:1040px!important;margin:22px auto 48px!important}
.agreement-hero-v19{display:grid!important;grid-template-columns:62px minmax(0,1fr) auto!important;gap:16px!important;align-items:center!important;padding:24px!important;border-radius:27px!important;background:radial-gradient(circle at 12% 0,rgba(91,178,255,.28),transparent 28%),linear-gradient(135deg,#13285f,#2359a7 65%,#6754d7)!important;color:#fff!important;box-shadow:0 24px 62px rgba(24,52,109,.22)!important}
.agreement-hero-v19 h1{margin:4px 0!important;font-size:clamp(25px,3.6vw,39px)!important;color:#fff!important}.agreement-hero-v19 p{margin:0!important;color:rgba(255,255,255,.76)!important;font-size:10px!important;line-height:1.8!important}
.agreement-party-v19{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:17px!important;margin:11px 0!important}
.agreement-essentials-v19{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:9px!important;margin:11px 0!important}
.agreement-essentials-v19 article{min-height:88px!important;display:flex!important;align-items:flex-start!important;gap:9px!important;padding:13px!important;border:1px solid var(--v19-line)!important;border-radius:17px!important;background:#fff!important;box-shadow:0 10px 28px rgba(28,54,112,.045)!important}
.agreement-essentials-v19 article .ons-icon{color:var(--v19-blue)!important;margin-top:1px!important}.agreement-essentials-v19 b{font-size:9.5px!important;color:var(--v19-navy)!important}.agreement-essentials-v19 span{font-size:8px!important;color:var(--v19-muted)!important;line-height:1.6!important}
.agreement-read-v19{padding:18px!important;margin:11px 0!important}
.agreement-sign-v19{padding:21px!important;margin:11px 0!important}
.agreement-submit-v19{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important}

/* Mobile/tablet: slide-in side list, never a bottom bar. */
@media(max-width:999px){
  .workspace-shell,html[dir="ltr"] .workspace-shell{padding:0!important}
  .workspace-main{max-width:none!important;padding:0 14px 34px!important}
  .topbar{height:68px!important;padding:9px 13px!important;position:sticky!important;top:0!important;z-index:90!important}
  .top-actions .compliance-link,.top-actions>a.icon-btn{display:none!important}
  .side-menu-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-height:38px!important;padding:8px 10px!important;border:1px solid var(--v19-line)!important;border-radius:12px!important;background:#f5f7fc!important;color:var(--v19-navy)!important;box-shadow:none!important;font-size:9px!important}
  .side-menu-toggle .ons-icon{width:16px!important;height:16px!important}
  .app-nav{
    top:10px!important;right:10px!important;bottom:10px!important;left:auto!important;
    width:min(84vw,300px)!important;
    transform:translateX(calc(100% + 24px))!important;
    transition:transform .28s cubic-bezier(.2,.8,.2,1)!important;
    box-shadow:0 28px 80px rgba(15,34,78,.34)!important;
  }
  html[dir="ltr"] .app-nav{right:auto!important;left:10px!important;transform:translateX(calc(-100% - 24px))!important}
  body.side-menu-open .app-nav{transform:translateX(0)!important}
  .side-menu-backdrop{display:block!important;position:fixed!important;z-index:110!important;inset:0!important;border:0!important;border-radius:0!important;background:rgba(13,23,51,.34)!important;backdrop-filter:blur(3px)!important;opacity:0!important;visibility:hidden!important;transition:.25s ease!important;box-shadow:none!important;padding:0!important;min-height:0!important}
  body.side-menu-open .side-menu-backdrop{opacity:1!important;visibility:visible!important}
  body.side-menu-open{overflow:hidden!important}
  footer{margin:0!important;padding-bottom:24px!important}
  .admin-shortcuts,.app-shortcuts{grid-template-columns:1fr 1fr!important}
  .legal-layout-v19{grid-template-columns:1fr!important}.legal-index-v19{position:static!important;grid-template-columns:repeat(2,1fr)!important}.legal-index-v19>b,.legal-index-v19 .download{grid-column:1/-1!important}
}

@media(max-width:680px){
  .workspace-main{padding-inline:10px!important}
  .brand span{display:none!important}.brand img{width:40px!important;height:40px!important;border-radius:12px!important}
  .language-switch{min-height:36px!important;padding:6px 9px!important}
  .admin-shortcuts,.app-shortcuts{grid-template-columns:1fr!important}
  .admin-shortcuts a,.app-shortcuts a{min-height:78px!important}
  .legal-modern-hero-v19{grid-template-columns:1fr!important;padding:20px!important}.legal-modern-hero-v19 img,.face-hero-orb,.legal-doc-orb{width:68px!important;height:68px!important;grid-row:1!important}.legal-modern-hero-v19>div{grid-row:2!important}.legal-modern-hero-v19 h1{font-size:28px!important}
  .legal-feature-grid-v19{grid-template-columns:1fr 1fr!important}.legal-feature-grid-v19 article{min-height:92px!important;padding:12px!important}
  .legal-content-v19>section{grid-template-columns:32px minmax(0,1fr)!important;padding:14px!important}.legal-content-v19>section>span{width:30px!important;height:30px!important}
  .agreement-hero-v19{grid-template-columns:48px minmax(0,1fr)!important;padding:18px!important}.agreement-version-chip{grid-column:2!important;width:max-content!important}.agreement-party-v19{align-items:flex-start!important;flex-direction:column!important}.agreement-party-v19 a{width:100%!important}.agreement-essentials-v19{grid-template-columns:1fr 1fr!important}.agreement-sign-v19{padding:15px!important}
}

/* =====================================================================
   ONS Moment v2.0 - Modern SaaS documentation + refined operations UI
   ===================================================================== */
:root{
  --v20-ink:#172033;
  --v20-muted:#697386;
  --v20-line:#e4e9f1;
  --v20-soft:#f7f9fc;
  --v20-blue:#246bfd;
  --v20-cyan:#22a8e6;
  --v20-violet:#6b57e7;
  --v20-green:#159a6c;
  --v20-red:#c94343;
  --v20-sidebar:252px;
  --v20-shadow:0 16px 45px rgba(24,37,62,.08);
  --v20-ease:cubic-bezier(.2,.8,.2,1);
}
body.workspace-body{background:#f5f7fb!important}
.workspace-shell{padding-right:calc(var(--v20-sidebar) + 30px)!important;background:transparent!important}
html[dir="ltr"] .workspace-shell{padding-right:0!important;padding-left:calc(var(--v20-sidebar) + 30px)!important}
.workspace-main{max-width:1260px!important;margin:0 auto!important;padding:0 24px 48px!important}
.workspace-shell>.topbar{max-width:1260px!important;margin:12px auto 0!important;border:1px solid var(--v20-line)!important;border-radius:20px!important;box-shadow:0 10px 28px rgba(29,48,84,.055)!important;background:rgba(255,255,255,.92)!important}

/* Refined side list */
.app-nav{
  position:fixed!important;z-index:120!important;top:14px!important;right:14px!important;bottom:14px!important;left:auto!important;
  width:var(--v20-sidebar)!important;height:auto!important;padding:14px!important;
  display:flex!important;flex-direction:column!important;gap:12px!important;
  transform:none!important;border:1px solid rgba(25,45,83,.08)!important;border-radius:24px!important;
  background:rgba(255,255,255,.96)!important;color:var(--v20-ink)!important;
  box-shadow:0 24px 70px rgba(23,41,78,.13)!important;backdrop-filter:blur(20px)!important;
}
html[dir="ltr"] .app-nav{right:auto!important;left:14px!important}
.app-nav .nav-identity{display:flex!important;align-items:center!important;gap:11px!important;padding:4px 5px 14px!important;border-bottom:1px solid var(--v20-line)!important}
.app-nav .nav-identity img{width:42px!important;height:42px!important;border-radius:13px!important;background:#fff!important;border:1px solid var(--v20-line)!important;padding:4px!important;box-shadow:0 6px 18px rgba(31,51,88,.08)!important}
.app-nav .nav-identity span{display:grid!important;min-width:0!important}.app-nav .nav-identity b{font-size:12px!important;color:var(--v20-ink)!important}.app-nav .nav-identity small{font-size:8px!important;color:var(--v20-muted)!important}
.app-nav .nav-scroll{display:grid!important;gap:13px!important;overflow:auto!important;padding:0 2px!important;scrollbar-width:thin!important;flex:1!important}
.app-nav .nav-section{display:grid!important;gap:5px!important}.app-nav .nav-section>small{padding:0 9px!important;font-size:7.5px!important;font-weight:900!important;letter-spacing:.3px!important;color:#9aa3b2!important}
.app-nav .nav-links{display:grid!important;grid-template-columns:1fr!important;gap:4px!important;margin:0!important;max-width:none!important}
.app-nav a{
  width:100%!important;min-height:44px!important;height:auto!important;margin:0!important;padding:7px 9px!important;
  display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;align-items:center!important;justify-content:stretch!important;gap:9px!important;
  border-radius:13px!important;background:transparent!important;color:#586274!important;box-shadow:none!important;transform:none!important;
  transition:background .18s var(--v20-ease),color .18s var(--v20-ease),transform .18s var(--v20-ease)!important;
}
.app-nav a:hover{background:#f2f6ff!important;color:var(--v20-blue)!important;transform:translateX(-2px)!important}
html[dir="ltr"] .app-nav a:hover{transform:translateX(2px)!important}
.app-nav a.is-active{background:linear-gradient(135deg,#edf4ff,#f4efff)!important;color:#1f57cb!important;box-shadow:inset 0 0 0 1px rgba(36,107,253,.10)!important}
.app-nav a.is-active:after{content:"";position:absolute;right:-6px;width:3px;height:24px;border-radius:99px;background:linear-gradient(180deg,var(--v20-blue),var(--v20-violet))}
html[dir="ltr"] .app-nav a.is-active:after{right:auto;left:-6px}
.app-nav a>span{width:32px!important;height:32px!important;display:grid!important;place-items:center!important;border-radius:10px!important;background:#f3f6fb!important;color:#637088!important}
.app-nav a.is-active>span{background:#fff!important;color:var(--v20-blue)!important;box-shadow:0 6px 16px rgba(36,107,253,.13)!important}
.app-nav a .ons-icon{width:17px!important;height:17px!important;stroke-width:1.8!important}.app-nav a b{font-size:9.5px!important;font-weight:800!important;white-space:nowrap!important;color:inherit!important}
.app-nav .nav-main-action{background:linear-gradient(135deg,#eef4ff,#f4efff)!important;color:#245fcf!important}
.app-nav .nav-foot{display:flex!important;align-items:center!important;gap:9px!important;padding:11px!important;border:1px solid var(--v20-line)!important;border-radius:14px!important;background:#f8fafc!important;color:var(--v20-ink)!important}
.app-nav .nav-foot b{font-size:9px!important}.app-nav .nav-foot small{font-size:7px!important;color:var(--v20-muted)!important}.nav-secure-dot{width:8px!important;height:8px!important;background:#20b77a!important;border-radius:50%!important;box-shadow:0 0 0 5px rgba(32,183,122,.10)!important}

/* Request builder + progress */
.request-builder-page,.request-status-page{max-width:980px;margin:22px auto 50px}
.request-builder-head,.request-status-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.request-builder-head h1,.request-status-head h1{margin:4px 0;font-size:clamp(26px,3.4vw,40px);line-height:1.2;color:var(--v20-ink)}.request-builder-head p,.request-status-head p{margin:0;color:var(--v20-muted);font-size:11px}.request-builder-head a,.request-status-head a{color:var(--v20-blue);font-size:10px;font-weight:800}.request-builder-head small,.request-status-head small{display:block;color:var(--v20-blue);font-size:9px;font-weight:900}
.request-price{min-width:180px;padding:15px 17px;border:1px solid var(--v20-line);border-radius:18px;background:#fff;box-shadow:var(--v20-shadow);display:grid;gap:2px}.request-price small{color:var(--v20-muted);font-size:8px}.request-price b{font-size:21px;color:var(--v20-ink)}.request-price span{font-size:7.5px;color:var(--v20-muted)}
.request-progress{position:relative;margin:15px 0 18px;padding:18px 20px;border:1px solid var(--v20-line);border-radius:22px;background:#fff;box-shadow:0 11px 32px rgba(28,48,83,.055)}
.request-progress-track{position:absolute;top:34px;right:9%;left:9%;height:4px;border-radius:99px;background:#edf1f6;overflow:hidden}.request-progress-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--v20-blue),var(--v20-violet));transition:width .35s var(--v20-ease)}
.request-progress-steps{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.request-progress-steps>div{display:grid;justify-items:center;text-align:center;gap:3px;color:#9aa4b4}.request-progress-steps>div>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#f1f4f8;border:3px solid #fff;box-shadow:0 0 0 1px #e7ebf2;font-size:8px;font-weight:900}.request-progress-steps>div b{font-size:8.5px}.request-progress-steps>div small{font-size:6.8px;line-height:1.35}.request-progress-steps>div.active{color:var(--v20-blue)}.request-progress-steps>div.active>span{background:linear-gradient(135deg,var(--v20-blue),var(--v20-violet));color:#fff;box-shadow:0 8px 20px rgba(36,107,253,.24)}.request-progress-steps>div.done{color:var(--v20-green)}.request-progress-steps>div.done>span{background:#eaf8f2;color:var(--v20-green)}.request-progress-steps .ons-icon{width:14px;height:14px}
.request-wizard-form{display:block!important}.request-wizard{display:grid}.wizard-step{display:none;padding:24px;border:1px solid var(--v20-line);border-radius:24px;background:#fff;box-shadow:var(--v20-shadow)}.wizard-step.is-active{display:block;animation:wizardIn .32s var(--v20-ease)}@keyframes wizardIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.wizard-step-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}.wizard-step-head>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eef4ff;color:var(--v20-blue);font-size:9px;font-weight:900}.wizard-step-head small{color:var(--v20-blue);font-size:8px;font-weight:900}.wizard-step-head h2{margin:2px 0;font-size:20px;color:var(--v20-ink)}.wizard-step-head p{margin:0;color:var(--v20-muted);font-size:9px}
.wizard-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}.option-card{position:relative;display:grid!important;grid-template-columns:40px 1fr!important;align-items:center!important;gap:11px!important;padding:14px!important;border:1px solid var(--v20-line)!important;border-radius:17px!important;background:#fbfcfe!important;cursor:pointer!important}.option-card>input{position:absolute;opacity:0}.option-card>span{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#eef4ff;color:var(--v20-blue)}.option-card .ons-icon{width:18px;height:18px}.option-card div{display:grid;gap:2px}.option-card b{font-size:10px;color:var(--v20-ink)}.option-card small{font-size:7.7px;color:var(--v20-muted);line-height:1.5}.option-card:has(input:checked){border-color:rgba(36,107,253,.30)!important;background:linear-gradient(145deg,#f6f9ff,#fbf9ff)!important;box-shadow:0 8px 22px rgba(36,107,253,.08)}.option-card:has(input:checked)>span{background:linear-gradient(135deg,var(--v20-blue),var(--v20-violet));color:#fff}.option-card.is-disabled{opacity:.52;cursor:not-allowed!important}
.compact-grid textarea{min-height:78px}.wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px}.wizard-actions button{min-width:160px}.request-single-consent{margin:14px 0!important;padding:12px!important;font-size:8.5px!important;background:#f8fafc!important}.request-review{display:grid;grid-template-columns:1fr 1fr;gap:9px}.request-review>div{padding:13px;border:1px solid var(--v20-line);border-radius:15px;background:#fafbfd;display:grid;gap:3px}.request-review small{color:var(--v20-muted);font-size:7.5px}.request-review b{font-size:10px;color:var(--v20-ink);overflow-wrap:anywhere}.request-submit.is-loading{opacity:.75;cursor:wait}.request-spinner{width:15px;height:15px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
.request-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.request-summary-grid article{padding:15px;border:1px solid var(--v20-line);border-radius:17px;background:#fff;display:grid;gap:3px}.request-summary-grid small{font-size:7.5px;color:var(--v20-muted)}.request-summary-grid b{font-size:11px;color:var(--v20-ink)}.request-summary-grid span{font-size:7px;color:var(--v20-green)}
.email-delivery-note{display:flex;align-items:center;gap:11px;padding:13px 15px;margin:12px 0;border-radius:16px;border:1px solid;box-shadow:0 8px 24px rgba(27,45,78,.04)}.email-delivery-note>.ons-icon{width:20px;height:20px}.email-delivery-note>div{display:grid;gap:2px;flex:1}.email-delivery-note b{font-size:9.5px}.email-delivery-note span{font-size:7.5px}.email-delivery-note.sent{background:#effaf5;border-color:#ccebdd;color:#157651}.email-delivery-note.failed{background:#fff7ed;border-color:#f4d5ac;color:#9a5c16}.email-delivery-note form{margin:0}.provider-notice.polished{background:#f6f9ff;border-color:#dfe8f7}.success-card.activated{display:grid;gap:8px}.success-card.activated .primary-btn{width:max-content}

/* Documentation-inspired legal pages */
.legal-modern-v19{max-width:1120px!important;margin:24px auto 56px!important;color:var(--v20-ink)!important}.legal-modern-hero-v19{grid-template-columns:minmax(0,1fr) 88px!important;padding:30px!important;border-radius:26px!important;background:#fff!important;color:var(--v20-ink)!important;border:1px solid var(--v20-line)!important;box-shadow:var(--v20-shadow)!important}.legal-modern-hero-v19:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,var(--v20-blue),var(--v20-violet));border-radius:26px 0 0 26px}.legal-modern-hero-v19 h1{color:var(--v20-ink)!important;font-size:clamp(30px,4vw,46px)!important;letter-spacing:-.6px!important}.legal-modern-hero-v19 p{color:var(--v20-muted)!important;font-size:11px!important;max-width:780px!important}.legal-modern-hero-v19 img,.legal-doc-orb,.face-hero-orb{width:76px!important;height:76px!important;border:1px solid var(--v20-line)!important;background:#fff!important;box-shadow:0 10px 26px rgba(28,47,82,.08)!important;color:var(--v20-blue)!important}.legal-label{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:#eef4ff;color:var(--v20-blue);font-size:8px;font-weight:900}.legal-label .ons-icon{width:14px;height:14px}.legal-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.legal-meta span{padding:6px 9px;border:1px solid var(--v20-line);border-radius:999px;background:#fafbfd;color:var(--v20-muted)!important;font-size:7px!important}
.legal-layout-v19{grid-template-columns:230px minmax(0,1fr)!important;gap:18px!important;margin-top:18px!important}.legal-index-v19{top:92px!important;border-radius:18px!important;padding:12px!important;box-shadow:none!important}.legal-index-v19>b{font-size:8px;color:var(--v20-ink);padding:6px 8px}.legal-index-v19>a{font-size:8px!important;padding:8px 9px!important}.legal-content-v19{gap:11px!important}.legal-content-v19>section{grid-template-columns:32px minmax(0,1fr)!important;padding:20px!important;border-radius:18px!important;box-shadow:none!important}.legal-content-v19>section>span{width:30px!important;height:30px!important;border-radius:9px!important;font-size:8px!important}.legal-content-v19 h2{font-size:16px!important;margin:0 0 5px!important}.legal-content-v19 p,.legal-card-v19 p{font-size:9.7px!important;line-height:1.95!important}.legal-card-v19{border-radius:20px!important;box-shadow:none!important}.legal-feature-grid-v19{grid-template-columns:repeat(4,1fr)!important}.legal-feature-grid-v19 article{min-height:100px!important;border-radius:17px!important;box-shadow:none!important}.legal-actions{border-top:1px solid var(--v20-line);padding-top:16px}
.agreement-onboarding-v19{max-width:1050px!important}.agreement-hero-v19{background:#fff!important;color:var(--v20-ink)!important;border:1px solid var(--v20-line)!important;box-shadow:var(--v20-shadow)!important}.agreement-hero-v19 h1{color:var(--v20-ink)!important}.agreement-hero-v19 p{color:var(--v20-muted)!important}.agreement-version-chip{background:#eef4ff!important;color:var(--v20-blue)!important}.agreement-hero-icon{background:linear-gradient(135deg,#edf4ff,#f3efff)!important;color:var(--v20-blue)!important}.agreement-essentials-v19 article,.agreement-read-v19,.agreement-sign-v19{box-shadow:none!important}

@media(max-width:1100px){
  .workspace-shell,html[dir="ltr"] .workspace-shell{padding:0!important}.workspace-main{padding:0 16px 40px!important}.workspace-shell>.topbar{margin:8px 10px 0!important}
  .app-nav{top:10px!important;right:10px!important;bottom:10px!important;width:min(86vw,290px)!important;transform:translateX(calc(100% + 24px))!important;transition:transform .28s var(--v20-ease)!important}.app-nav .nav-section>small{display:block!important}
  html[dir="ltr"] .app-nav{right:auto!important;left:10px!important;transform:translateX(calc(-100% - 24px))!important}.side-menu-open .app-nav{transform:translateX(0)!important}
  .side-menu-toggle{display:inline-flex!important}.request-summary-grid{grid-template-columns:1fr 1fr}.legal-layout-v19{grid-template-columns:1fr!important}.legal-index-v19{position:static!important}
}
@media(max-width:700px){
  .request-builder-head,.request-status-head{align-items:flex-start;flex-direction:column}.request-price{width:100%}.request-progress{padding:15px 8px}.request-progress-track{right:12%;left:12%;top:30px}.request-progress-steps>div small{display:none}.request-progress-steps>div b{font-size:7px}.request-progress-steps>div>span{width:30px;height:30px}.wizard-step{padding:16px}.wizard-options-grid,.request-review,.request-summary-grid{grid-template-columns:1fr}.wizard-actions{align-items:stretch;flex-direction:column-reverse}.wizard-actions button{width:100%}.legal-feature-grid-v19{grid-template-columns:1fr 1fr!important}.legal-modern-hero-v19{grid-template-columns:1fr!important;padding:22px!important}.legal-modern-hero-v19 img,.legal-doc-orb,.face-hero-orb{grid-row:1!important;width:62px!important;height:62px!important}.legal-modern-hero-v19>div{grid-row:2!important}.request-progress-steps>div:nth-child(2) small,.request-progress-steps>div:nth-child(3) small{display:none}
}


/* =====================================================================
   ONS Moment 2.0 final polish - SaaS side list, account, wizard, portrait selfie
   ===================================================================== */
:root{--v20-side:#ffffff;--v20-side-line:#e5eaf2;--v20-side-ink:#172033;--v20-side-muted:#7b8495;--v20-blue:#246bfd;--v20-violet:#6b57e7;--v20-green:#168b64;--v20-red:#bd3f48;--v20-shadow:0 18px 55px rgba(30,45,75,.09);--v20-ease:cubic-bezier(.2,.8,.2,1)}
body.workspace-body{background:#f5f7fb!important}
.workspace-shell{padding-right:274px!important}
html[dir="ltr"] .workspace-shell{padding-right:0!important;padding-left:274px!important}
.workspace-main{max-width:1240px!important;padding:0 28px 52px!important}
.app-nav{top:14px!important;right:14px!important;bottom:14px!important;width:246px!important;padding:14px!important;gap:12px!important;border:1px solid var(--v20-side-line)!important;border-radius:24px!important;background:rgba(255,255,255,.96)!important;color:var(--v20-side-ink)!important;box-shadow:0 22px 70px rgba(24,37,65,.12)!important;backdrop-filter:blur(20px)!important;overflow:hidden!important}
html[dir="ltr"] .app-nav{right:auto!important;left:14px!important}
.app-nav .nav-identity{padding:5px 5px 16px!important;border-bottom:1px solid var(--v20-side-line)!important}
.app-nav .nav-identity img{width:42px!important;height:42px!important;border:1px solid var(--v20-side-line)!important;box-shadow:none!important}
.app-nav .nav-identity b{font-size:12px!important;color:var(--v20-side-ink)!important}.app-nav .nav-identity small{font-size:8px!important;color:var(--v20-side-muted)!important}
.app-nav .nav-scroll{display:grid!important;gap:13px!important;overflow-y:auto!important;padding:1px 1px 8px!important;scrollbar-width:none!important}.app-nav .nav-scroll::-webkit-scrollbar{display:none}
.app-nav .nav-section{display:grid!important;gap:5px!important}.app-nav .nav-section>small{padding:0 8px!important;color:#9aa2b1!important;font-size:7.5px!important;font-weight:900!important;letter-spacing:.3px!important}
.app-nav .nav-links{display:grid!important;gap:3px!important}
.app-nav a{min-height:42px!important;padding:6px 8px!important;border-radius:12px!important;color:#5f6879!important;transition:.18s var(--v20-ease)!important}
.app-nav a>span{width:30px!important;height:30px!important;border-radius:10px!important;background:#f4f6fa!important;color:#6f7889!important}
.app-nav a b{font-size:9.5px!important}.app-nav a:hover{background:#f4f7fc!important;color:var(--v20-side-ink)!important}.app-nav a.is-active{background:linear-gradient(135deg,#edf4ff,#f3efff)!important;color:#1f56c7!important}.app-nav a.is-active>span{background:#fff!important;color:var(--v20-blue)!important;box-shadow:0 6px 16px rgba(36,107,253,.12)!important}
.app-nav .nav-main-action{background:linear-gradient(135deg,var(--v20-blue),var(--v20-violet))!important;color:#fff!important;margin:2px 0!important}.app-nav .nav-main-action>span{background:rgba(255,255,255,.17)!important;color:#fff!important}.app-nav .nav-main-action:hover{filter:saturate(1.08)!important;color:#fff!important}
.app-nav .nav-foot{padding:10px!important;border:1px solid var(--v20-side-line)!important;background:#f7f9fc!important}.app-nav .nav-foot b{color:var(--v20-side-ink)!important}.app-nav .nav-foot small{color:var(--v20-side-muted)!important}
.topbar{min-height:70px!important;padding:10px 28px!important;background:rgba(245,247,251,.86)!important;border-bottom:0!important}

/* Admin home - focused and useful */
.admin-home-v20{padding-top:10px}.admin-home-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:18px 0 15px}.admin-home-head small{color:var(--v20-blue);font-size:9px;font-weight:900}.admin-home-head h1{margin:4px 0;font-size:clamp(27px,3.4vw,42px);letter-spacing:-.8px}.admin-home-head p{margin:0;color:#768093;font-size:11px}.admin-essential-stats{margin-bottom:12px}.admin-home-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:12px;margin:12px 0}.admin-attention-card,.admin-services-card{padding:19px}.card-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.card-title-row small{color:var(--v20-blue);font-size:8px;font-weight:900}.card-title-row h2{margin:2px 0;font-size:18px}.card-title-row>a{color:var(--v20-blue);font-size:9px;font-weight:850}.dashboard-request-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border-radius:14px;border:1px solid #e8edf4;background:#fbfcfe;margin-top:7px}.dashboard-request-row>span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#eef4ff;color:var(--v20-blue)}.dashboard-request-row b{display:block;font-size:10px}.dashboard-request-row small{display:block;color:#7d8697;font-size:8px;margin-top:2px}.dashboard-request-row em{font-style:normal;color:var(--v20-blue);font-size:8px;font-weight:900}.service-mini-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid #edf0f5}.service-mini-row:first-of-type{border-top:0}.service-mini-row b{font-size:10px}.service-mini-row small{display:block;color:#7d8697;font-size:8px;margin-top:2px}

/* Provider account */
.provider-account-v20{max-width:1040px;margin:18px auto 52px}.provider-account-hero{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:15px;padding:22px;border-radius:24px;background:linear-gradient(135deg,#172c66,#285ab2 64%,#705bdd);color:#fff;box-shadow:0 20px 55px rgba(35,74,154,.20)}.provider-account-brandmark{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;background:rgba(255,255,255,.14)}.provider-account-brandmark .ons-icon{width:24px!important;height:24px!important}.provider-account-hero small{font-size:8px;color:#bfe1ff;font-weight:900}.provider-account-hero h1{margin:3px 0;font-size:clamp(25px,3.2vw,38px)}.provider-account-hero p{margin:0;color:rgba(255,255,255,.72);font-size:9px}.provider-account-hero .secondary-btn{background:#fff!important;border:0!important;color:#1e4d9e!important}.account-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:11px 0}.account-kpis article{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid #e5eaf2;border-radius:17px;background:#fff;box-shadow:0 10px 30px rgba(26,45,79,.05)}.account-kpis article>span{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#eff4ff;color:var(--v20-blue)}.account-kpis b{font-size:17px}.account-kpis small{display:block;color:#7c8597;font-size:8px}.account-columns-v20{display:grid;grid-template-columns:1.05fr .95fr;gap:11px}.account-company-card,.account-agreement-card,.account-preferences-card{padding:19px}.account-section-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.account-section-head>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eef4ff;color:var(--v20-blue)}.account-section-head small{font-size:8px;color:#7b8495}.account-section-head h2{margin:1px 0;font-size:16px}.account-company-card dl{display:grid;grid-template-columns:135px minmax(0,1fr);margin:0}.account-company-card dt,.account-company-card dd{margin:0;padding:10px 4px;border-bottom:1px solid #edf0f4;font-size:9px}.account-company-card dt{color:#7d8697}.account-company-card dd{font-weight:800}.account-agreement-card p{font-size:9px;color:#707a8d;line-height:1.8}.account-agreement-card.is-accepted{border-color:#d4ece1!important}.account-agreement-card.is-pending{border-color:#f2dfbc!important}.account-agreement-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.account-preferences-card{margin-top:11px}.account-preference-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #edf0f5}.account-preference-row:first-of-type{border-top:0}.account-preference-row b{font-size:10px}.account-preference-row small{display:block;color:#7d8697;font-size:8px;margin-top:2px}.account-preference-row>a{display:inline-flex;align-items:center;gap:5px;color:var(--v20-blue);font-size:9px;font-weight:850}.preference-status{font-style:normal;padding:5px 9px;border-radius:99px;font-size:8px;font-weight:900}.preference-status.on{background:#eaf8f2;color:#168b64}.preference-status.off{background:#f2f4f7;color:#7a8292}.account-logout-v20{text-align:center;margin-top:18px}

/* Request progress and wizard */
.request-progress{overflow:hidden}.request-progress-track{height:5px!important}.request-progress-track i{box-shadow:0 0 14px rgba(36,107,253,.28)}.request-progress-steps>div>span{transition:.24s var(--v20-ease)}.request-progress-steps>div.active>span{transform:translateY(-2px)}.wizard-step{animation:wizardIn .28s var(--v20-ease)}@keyframes wizardIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.request-submit.is-loading{cursor:wait;opacity:.82}.request-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;display:inline-block;animation:spin .8s linear infinite}.email-delivery-note{display:flex;align-items:center;gap:11px;padding:14px;border-radius:16px;margin:12px 0;border:1px solid}.email-delivery-note>.ons-icon{width:20px!important;height:20px!important}.email-delivery-note>div{flex:1}.email-delivery-note b{font-size:10px}.email-delivery-note span{display:block;font-size:8px;margin-top:2px}.email-delivery-note.sent{background:#eefaf5;border-color:#cceadd;color:#177b59}.email-delivery-note.failed{background:#fff5f3;border-color:#f0d3ce;color:#9f3c43}

/* Portrait selfie camera */
.selfie-camera-dialog{width:min(94vw,430px)!important;max-width:430px!important;padding:0!important;border-radius:28px!important;background:#111827!important}.selfie-camera-shell{padding:14px!important}.selfie-video-frame{aspect-ratio:3/4!important;max-height:72vh!important;border-radius:22px!important;background:#080d18!important}.selfie-video-frame video{width:100%!important;height:100%!important;object-fit:cover!important}.face-guide{inset:10% 17%!important;border-radius:46% 46% 42% 42% / 38% 38% 52% 52%!important}.selfie-selected img{width:58px!important;height:78px!important;object-fit:cover!important;border-radius:14px!important}.selfie-camera-head{color:#fff!important}.selfie-camera-head small{color:#9fb6d9!important}.dialog-close{background:rgba(255,255,255,.12)!important;color:#fff!important}.selfie-camera-actions{grid-template-columns:1fr auto 1fr!important}.camera-shutter{width:62px!important;height:62px!important}.camera-shutter i{width:48px!important;height:48px!important}

/* Compliance diagnostics */
.compliance-test-result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-radius:16px;margin-bottom:11px;border:1px solid}.compliance-test-result b{font-size:10px}.compliance-test-result span{font-size:8px}.compliance-test-result.ok{background:#eefaf5;border-color:#cceadd;color:#177b59}.compliance-test-result.failed{background:#fff5f3;border-color:#f0d3ce;color:#9f3c43}

@media(max-width:1000px){.workspace-shell{padding-right:0!important;padding-left:0!important}.workspace-main{padding:0 16px 42px!important}.app-nav{right:10px!important;left:auto!important;top:10px!important;bottom:10px!important;width:min(84vw,280px)!important;transform:translateX(calc(100% + 24px))!important}.side-menu-open .app-nav{transform:translateX(0)!important}html[dir="ltr"] .app-nav{left:10px!important;right:auto!important;transform:translateX(calc(-100% - 24px))!important}html[dir="ltr"] .side-menu-open .app-nav{transform:translateX(0)!important}.side-menu-toggle{display:inline-flex!important}.admin-home-grid,.account-columns-v20{grid-template-columns:1fr}.topbar{padding-inline:15px!important}}
@media(max-width:650px){.provider-account-hero{grid-template-columns:48px minmax(0,1fr);padding:18px}.provider-account-hero>a{grid-column:1/-1;width:100%}.account-kpis{grid-template-columns:1fr}.account-company-card dl{grid-template-columns:1fr}.account-company-card dt{padding-bottom:2px;border-bottom:0}.account-company-card dd{padding-top:2px}.account-preference-row{align-items:flex-start;flex-direction:column}.admin-home-head{align-items:flex-start;flex-direction:column}.admin-home-head .head-actions{width:100%}.admin-home-head .head-actions a{flex:1}.request-progress-steps>div small{display:none}.request-progress-steps>div b{font-size:7px}.selfie-camera-dialog{width:calc(100vw - 18px)!important}.selfie-video-frame{max-height:68vh!important}}

/* =========================================================
   ONS Moment 2.1 - compact navigation, progress and recovery
   ========================================================= */
:root{--v21-blue:#246bfd;--v21-violet:#7559df;--v21-ink:#17213a;--v21-muted:#778196;--v21-line:#e5eaf2;--v21-shadow:0 14px 36px rgba(30,50,90,.07)}

/* Side list: tighter rhythm, clearer groups, no empty vertical gaps. */
.app-nav{padding:14px!important;gap:8px!important}
.app-nav .nav-identity{padding:3px 4px 12px!important;margin:0!important;border-bottom:1px solid rgba(25,50,105,.08)!important}
.app-nav .nav-scroll{display:flex!important;flex-direction:column!important;gap:8px!important;padding:2px 0!important;overflow-y:auto!important;overscroll-behavior:contain!important}
.app-nav .nav-section{display:grid!important;gap:4px!important;margin:0!important;padding:0!important}
.app-nav .nav-section>small{margin:0!important;padding:5px 8px 2px!important;font-size:7px!important;line-height:1.2!important;letter-spacing:.08em!important;color:#98a1b2!important;text-transform:none!important}
.app-nav .nav-links{display:grid!important;gap:3px!important}
.app-nav .nav-links a{min-height:42px!important;padding:7px 8px!important;gap:8px!important;border-radius:12px!important;margin:0!important}
.app-nav .nav-links a>span{width:28px!important;height:28px!important;border-radius:9px!important}
.app-nav .nav-links a b{font-size:9px!important;line-height:1.15!important}
.app-nav .nav-foot{margin-top:auto!important;padding:9px 10px!important;border-radius:13px!important}

/* Modern back action. */
.back-button{display:inline-flex!important;align-items:center!important;gap:6px!important;width:max-content!important;min-height:34px!important;padding:7px 11px!important;border:1px solid var(--v21-line)!important;border-radius:11px!important;background:#fff!important;color:#4d5870!important;font-size:9px!important;font-weight:850!important;box-shadow:0 6px 18px rgba(30,50,90,.045)!important;transition:.2s ease!important}
.back-button:hover{transform:translateY(-1px)!important;border-color:#cfd8e8!important;color:var(--v21-blue)!important;box-shadow:0 10px 24px rgba(36,107,253,.10)!important}
.back-button .ons-icon{width:15px!important;height:15px!important;transform:rotate(180deg)!important}
html[dir="ltr"] .back-button .ons-icon{transform:none!important}

/* Forgot-password rows and recovery cards. */
.forgot-row{display:flex;justify-content:flex-start;margin:-3px 0 9px}
.forgot-row a{font-size:9px;font-weight:850;color:var(--v21-blue)}
.password-reset-card{max-width:480px!important;padding:26px!important}
.password-reset-card>small{display:block;color:var(--v21-blue);font-size:8px;font-weight:900;margin:5px 0}
.password-reset-card h1{margin:4px 0 7px!important;font-size:clamp(24px,4vw,34px)!important}
.password-reset-card p{font-size:10px!important;line-height:1.8!important;color:var(--v21-muted)!important}
.password-reset-card .back-button{margin-top:14px!important}
.security-mini-note{margin-top:15px;padding:10px 12px;border-radius:12px;background:#f5f7fb;color:#7b8496;font-size:8px;line-height:1.7}
.password-reset-success .success-orb{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 12px;border-radius:18px;background:linear-gradient(145deg,#e9f8f1,#eff6ff);color:#168b64}
.password-reset-success .success-orb .ons-icon{width:25px!important;height:25px!important}

/* Full-page premium progress overlay for long operations. */
.global-progress-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;background:rgba(14,24,48,.42);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
.global-progress-overlay.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.global-progress-card{width:min(92vw,430px);padding:28px;border-radius:28px;background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.78);box-shadow:0 32px 90px rgba(7,19,48,.28);text-align:center;animation:v21ProgressIn .28s cubic-bezier(.2,.75,.2,1)}
@keyframes v21ProgressIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.global-progress-logo{width:62px;height:62px;margin:0 auto 13px;padding:7px;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(30,54,110,.10)}
.global-progress-logo img{width:100%;height:100%;object-fit:contain;border-radius:12px}
.global-progress-card>small{display:block;color:var(--v21-blue);font-size:8px;font-weight:900;letter-spacing:.04em}
.global-progress-card h2{margin:5px 0 6px;font-size:22px;color:var(--v21-ink)}
.global-progress-card p{margin:0;color:var(--v21-muted);font-size:9.5px;line-height:1.7}
.global-progress-track{height:7px;margin:20px 0 8px;border-radius:999px;background:#edf1f7;overflow:hidden}
.global-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--v21-blue),#1eb8dc,var(--v21-violet));box-shadow:0 0 18px rgba(36,107,253,.28);transition:width .3s ease}
.global-progress-percent{direction:ltr;color:#667085;font:800 9px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.progress-locked{overflow:hidden!important}
form[data-ons-progress] button.is-loading{cursor:wait!important;opacity:.82!important}

/* WhatsApp support CTA. */
.provider-login-help a[href*="wa.me"],a.whatsapp-support{background:#eefaf5!important;color:#11845d!important;border:1px solid #cfeadd!important;border-radius:11px!important;padding:8px 10px!important}

/* Camera credentials intentionally short and camera-friendly. */
.camera-credential-row code,.ftp-value{font-family:"SFMono-Regular",Consolas,monospace!important;letter-spacing:.14em!important;font-weight:850!important}

@media(max-width:1000px){
  .app-nav{gap:6px!important;padding:12px!important}
  .app-nav .nav-links a{min-height:41px!important}
}
@media(max-width:650px){
  .global-progress-card{padding:23px;border-radius:24px}
  .global-progress-card h2{font-size:20px}
  .password-reset-card{padding:21px!important}
}

/* ONS Moment 2.3 - compact face search, native photo saving and FTPS-only uploads */
.status.request-cancelled,.status.cancelled{background:#eef0f3!important;color:#667085!important;border-color:#d9dde4!important}
.status.request-pending{background:#fff5d8!important;color:#8b5e00!important;border-color:#efd892!important}
.status.request-rejected{background:#ffeceb!important;color:#b42318!important;border-color:#f3c4c0!important}
.status.request-approved{background:#eaf8f1!important;color:#087a55!important;border-color:#bfe4d3!important}

.global-progress-spinner{position:relative;width:72px;height:72px;margin:23px auto 1px;display:grid;place-items:center}
.global-progress-spinner:before{content:"";position:absolute;inset:2px;border-radius:50%;border:5px solid rgba(36,107,253,.12);border-top-color:var(--v21-blue,#246bfd);border-right-color:var(--secondary,#0b8ed6);animation:onsCircularLoader .85s linear infinite}
.global-progress-spinner i{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--secondary,#0b8ed6);box-shadow:0 0 18px rgba(11,142,214,.45);animation:onsLoaderPulse 1.2s ease-in-out infinite}
.global-progress-spinner i:nth-child(2){animation-delay:.15s;transform:translateX(-20px)}
.global-progress-spinner i:nth-child(3){animation-delay:.3s;transform:translateX(20px)}
@keyframes onsCircularLoader{to{transform:rotate(360deg)}}
@keyframes onsLoaderPulse{0%,100%{opacity:.25;scale:.72}50%{opacity:1;scale:1}}

.inline-face-panel{margin:18px 0 22px;padding:22px;border:1px solid #dfe5f0;border-radius:26px;background:linear-gradient(145deg,#fff,#f6f8ff);box-shadow:0 18px 46px rgba(32,52,100,.08);scroll-margin-top:90px}
.inline-face-heading{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.inline-face-heading>span{width:52px;height:52px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,#eceaff,#edf8ff);color:var(--primary);flex:none}
.inline-face-heading>span svg{width:26px;height:26px}
.inline-face-heading small,.photo-folder-head small,.face-ready-card small{color:var(--secondary);font-size:9px;font-weight:900}
.inline-face-heading h2,.photo-folder-head h2{margin:2px 0 3px;font-size:20px;color:var(--primary)}
.inline-face-heading p,.photo-folder-head p,.face-ready-card p{margin:0;color:var(--muted);line-height:1.65}
.inline-account-choice{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border-radius:19px;background:#fff;border:1px solid #e4e9f2}
.inline-account-choice>div:last-child{display:flex;gap:9px;flex-wrap:wrap}
.inline-account-choice b{display:block;color:var(--primary);margin-bottom:4px}.inline-account-choice p{margin:0;color:var(--muted)}
.inline-face-form{display:grid;gap:15px}.face-ready-card{display:flex;align-items:center;gap:13px;padding:16px 17px;border-radius:19px;background:#fff;border:1px solid #e1e7f0}
.face-ready-card>span{width:45px;height:45px;display:grid;place-items:center;border-radius:14px;background:#eef5ff;color:var(--secondary);flex:none}.face-ready-card>span svg{width:23px;height:23px}
.face-ready-card b{display:block;font-size:14px;color:var(--primary);margin:1px 0 3px}

.my-photo-folder{background:linear-gradient(145deg,#f8f6ff,#fff 48%,#f5fbff);border-color:#d8d5ef}
.photo-folder-head{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:15px;padding:18px;border-radius:21px;background:#fff;border:1px solid #e0e4ef;box-shadow:0 10px 28px rgba(33,48,93,.06)}
.folder-icon{width:56px;height:48px;display:grid;place-items:center;border-radius:13px 13px 16px 16px;background:linear-gradient(145deg,#322365,#0b8ed6);color:#fff;position:relative}
.folder-icon:before{content:"";position:absolute;top:-7px;right:7px;width:24px;height:10px;border-radius:6px 6px 0 0;background:#443783}
.folder-icon svg{width:26px;height:26px;position:relative;z-index:1}
.matched-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:15px}
.matched-photo-item{position:relative;min-width:0}.matched-photo-item .photo{width:100%;aspect-ratio:4/5;border-radius:18px;overflow:hidden;padding:0;background:#eef1f6;box-shadow:0 8px 22px rgba(22,38,78,.08)}
.matched-photo-item .photo img{width:100%;height:100%;object-fit:cover;display:block}
.matched-photo-download{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:7px;min-height:34px;border-radius:11px;background:#fff;border:1px solid #dfe5ef;color:var(--primary);font-size:9px;font-weight:900}
.matched-photo-download svg{width:15px;height:15px}.folder-privacy-actions{margin-top:15px;padding:13px 15px;border-radius:15px;background:rgba(255,255,255,.7);border:1px solid #e2e5ed}.folder-privacy-actions summary{cursor:pointer;font-weight:900;color:var(--primary)}
.face-inline-state{margin:0!important}

.request-success-dialog{width:min(92vw,470px);padding:28px!important;border-radius:28px!important;text-align:center!important;background:#fff!important;color:var(--text)!important}
.request-success-dialog .dialog-close{position:absolute;left:14px;top:14px;color:#344054!important;background:#f2f4f7!important}
.success-dialog-icon{width:70px;height:70px;margin:0 auto 13px;display:grid;place-items:center;border-radius:23px;background:linear-gradient(145deg,#e9fbf2,#eff8ff);color:#087a55}.success-dialog-icon svg{width:35px;height:35px}.request-success-dialog>small{color:var(--secondary);font-weight:900}.request-success-dialog h2{margin:6px 0 7px;color:var(--primary)}.request-success-dialog p{color:var(--muted);line-height:1.8}

.security-note.secure-note{background:#eaf8f2!important;border-color:#bee6d3!important;color:#096a4e!important}.security-note.insecure-note{background:#fff5e9!important;border-color:#eed3a6!important;color:#865a10!important}
.agreement-file-actions{display:flex;gap:8px;flex-wrap:wrap}.agreement-file-actions a{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:900;color:var(--secondary)}.agreement-file-actions svg{width:15px;height:15px}
[data-company-only][hidden]{display:none!important}.provider-delete-zone{margin-top:22px}

html[dir="ltr"] .folder-icon:before{right:auto;left:7px}
html[dir="ltr"] .request-success-dialog .dialog-close{left:auto;right:14px}

@media(max-width:850px){.matched-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-folder-head{grid-template-columns:52px minmax(0,1fr)}.photo-folder-head>.primary-btn{grid-column:1/-1;width:100%}.inline-account-choice{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.inline-face-panel{padding:15px;border-radius:22px}.inline-face-heading{align-items:flex-start}.inline-face-heading>span{width:44px;height:44px;border-radius:14px}.inline-face-heading h2,.photo-folder-head h2{font-size:17px}.matched-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.photo-folder-head{padding:14px;gap:11px}.folder-icon{width:48px;height:43px}.inline-account-choice>div:last-child{width:100%}.inline-account-choice a{flex:1;text-align:center}}
.security-note.disabled-note {
  border-color: rgba(217, 119, 6, .32);
  background: rgba(251, 191, 36, .12);
  color: #9a5a00;
}

/* ONS Moment v2.4 - compact face-search dropdown, live results, and native photo-album saving */
.event-face-dropdown{margin:0 0 18px;border:1px solid var(--line);border-radius:23px;background:#fff;box-shadow:var(--soft-shadow);overflow:hidden}
.event-face-dropdown>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:16px 17px;min-height:84px;cursor:pointer;user-select:none}
.event-face-dropdown>summary::-webkit-details-marker{display:none}
.event-face-dropdown>summary>span:not(.choice-icon){display:flex;flex-direction:column;gap:3px;flex:1}
.event-face-dropdown>summary b{font-size:15px;color:var(--primary)}
.event-face-dropdown>summary small{font-size:10px;line-height:1.6;color:var(--muted)}
.event-face-dropdown>summary strong{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:rgba(11,142,214,.09);color:var(--secondary);transition:transform .24s ease}
.event-face-dropdown[open]>summary strong{transform:rotate(90deg)}
.event-face-dropdown[open]>summary{border-bottom:1px solid var(--line);background:linear-gradient(135deg,rgba(49,35,94,.035),rgba(11,142,214,.045))}
.event-face-dropdown-body{padding:13px}
.event-face-dropdown-body .inline-face-panel{margin:0;box-shadow:none;border:0;background:transparent;padding:4px}
.event-face-dropdown.disabled-choice>summary{cursor:default;opacity:.76}
.matched-photo-download,.photo-album-save,.save-all-photos{display:flex!important;align-items:center;justify-content:center;gap:7px}
.matched-photo-download{width:100%;margin-top:7px;padding:10px 8px;border:1px solid rgba(49,35,94,.12);border-radius:13px;background:#fff;color:var(--primary);font-size:10px;font-weight:800;box-shadow:none}
.matched-photo-download:hover{background:#f6f8ff}
.photo-save-hint{display:block;margin:9px auto 0;max-width:360px;color:var(--muted);font-size:9px;line-height:1.6}
.album-save-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.38);border-top-color:#fff;animation:spin .75s linear infinite;flex:0 0 auto}
.matched-photo-download .album-save-spinner{border-color:rgba(49,35,94,.18);border-top-color:var(--primary)}
[data-save-photo].is-saving,[data-save-all].is-saving{opacity:.78;cursor:wait}
#viewer .photo-album-save{width:100%;margin-top:12px}
@media(max-width:620px){.event-face-dropdown>summary{padding:13px;min-height:72px}.event-face-dropdown>summary b{font-size:13px}.event-face-dropdown>summary small{font-size:8.5px}.event-face-dropdown-body{padding:8px}.photo-folder-head{align-items:flex-start}.save-all-photos{width:100%;margin-top:7px}}


/* =========================================================
   ONS Moment 2.4 - launch polish, live matches and responsive progress
   ========================================================= */
:root{--v24-space-1:6px;--v24-space-2:10px;--v24-space-3:14px;--v24-space-4:18px;--v24-space-5:24px;--v24-radius:20px;--v24-focus:0 0 0 4px rgba(11,142,214,.13)}
*{box-sizing:border-box}
html{scroll-padding-top:92px}
body{overflow-x:hidden;text-align:start}
main,.workspace-main{min-width:0}
img,video,canvas,svg{max-width:100%}
button,a,input,select,textarea{font:inherit}
button,a{touch-action:manipulation}
:where(.card,.form-card,.auth-card,.setup-panel,.inline-face-panel,.legal-card-v19,.wizard-step,.event-face-dropdown){min-width:0}
:where(.card,.form-card,.auth-card,.setup-panel,.legal-card-v19,.wizard-step){padding:clamp(16px,2.2vw,24px)}
:where(.form-grid,.request-review,.request-summary-grid)>*{min-width:0}
:where(input,select,textarea,button,a){max-width:100%}
:where(input,select,textarea):focus-visible{outline:0;box-shadow:var(--v24-focus);border-color:var(--secondary)!important}
:where(button,a):focus-visible{outline:0;box-shadow:var(--v24-focus)}
.form-card form,.auth-card form{gap:var(--v24-space-4)!important;text-align:start!important}
label{min-width:0;text-align:start}
label>small{display:block;margin-block:4px 7px;color:var(--muted);font-size:8px;line-height:1.55}
.form-grid{align-items:start}
.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.card-heading,.app-page-head,.request-builder-head,.request-status-head{gap:var(--v24-space-3)}
.card-heading>div,.app-page-head>div{min-width:0}
.card-heading h1,.card-heading h2,.card-heading h3,.app-page-head h1{overflow-wrap:anywhere}
.primary-btn,.secondary-btn,.danger-button,button{justify-content:center}

/* Correct direction and alignment throughout both language modes. */
html[dir="rtl"] :where(.auth-card form,.form-card form,.legal-modern-v19,.agreement-onboarding-v19,.legal-content-v19 h2,.legal-content-v19 p,.legal-card-v19 h2,.legal-card-v19 p){direction:rtl;text-align:right}
html[dir="ltr"] :where(.auth-card form,.form-card form,.legal-modern-v19,.agreement-onboarding-v19,.legal-content-v19 h2,.legal-content-v19 p,.legal-card-v19 h2,.legal-card-v19 p){direction:ltr!important;text-align:left!important}
html[dir="ltr"] :where(.legal-content-v19>section,.agreement-hero-v19,.agreement-sign-v19,.provider-account-hero){direction:ltr!important}
html[dir="ltr"] .legal-content-v19>section{grid-template-columns:38px minmax(0,1fr)!important}
html[dir="ltr"] .setup-steps ol{padding-left:18px;padding-right:0}
html[dir="rtl"] .setup-steps ol{padding-right:18px;padding-left:0}
html[dir="ltr"] .calendar-day{text-align:left}
html[dir="rtl"] .calendar-day{text-align:right}
html[dir="ltr"] dialog>.dialog-close,html[dir="ltr"] dialog>button:first-child{left:auto;right:12px}
html[dir="rtl"] dialog>.dialog-close,html[dir="rtl"] dialog>button:first-child{right:auto;left:12px}

/* Premium, compact and fully responsive progress window. */
.global-progress-overlay{padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:rgba(9,18,42,.58);backdrop-filter:blur(16px) saturate(130%);-webkit-backdrop-filter:blur(16px) saturate(130%)}
.global-progress-card{position:relative;width:min(94vw,420px);padding:0 28px 28px;overflow:hidden;border-radius:30px;background:linear-gradient(160deg,rgba(255,255,255,.99),rgba(247,250,255,.97));border:1px solid rgba(255,255,255,.88);box-shadow:0 34px 100px rgba(3,15,42,.34);text-align:center;transform-origin:center}
.global-progress-accent{height:5px;margin-inline:-28px;background:linear-gradient(90deg,var(--primary),var(--secondary),#7b5ce4);background-size:200% 100%;animation:v24Accent 2.2s linear infinite}
.global-progress-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin:22px auto 5px;color:var(--primary)}
.global-progress-brand>div:last-child{display:grid;gap:1px;text-align:start}
.global-progress-brand small{font-size:7px;font-weight:900;letter-spacing:.08em;color:var(--secondary)}
.global-progress-brand b{font-size:11px;letter-spacing:.02em}
.global-progress-logo{width:48px;height:48px;margin:0;padding:5px;border-radius:15px;box-shadow:0 8px 22px rgba(30,54,110,.10)}
.global-progress-card h2{margin:12px 0 7px;font-size:clamp(19px,5vw,24px);line-height:1.35;color:#17213a}
.global-progress-card p{max-width:330px;margin:0 auto;color:#68758c;font-size:10px;line-height:1.85}
.global-progress-spinner{position:relative;width:78px;height:78px;margin:19px auto 2px;display:grid;place-items:center}
.global-progress-spinner:before,.global-progress-spinner:after{content:"";position:absolute;border-radius:50%}
.global-progress-spinner:before{inset:0;border:5px solid rgba(36,107,253,.10);border-top-color:var(--secondary);border-right-color:var(--primary);animation:onsCircularLoader .86s linear infinite}
.global-progress-spinner:after{inset:12px;border:1px solid rgba(49,35,94,.10);animation:v24Reverse 1.5s linear infinite}
.global-progress-spinner span{width:35px;height:35px;border-radius:13px;background:linear-gradient(145deg,rgba(49,35,94,.10),rgba(11,142,214,.12));box-shadow:inset 0 0 0 1px rgba(49,35,94,.06)}
.global-progress-spinner i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--secondary);box-shadow:0 0 16px rgba(11,142,214,.50);animation:onsLoaderPulse 1.15s ease-in-out infinite}
.global-progress-hint{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:17px;color:#8290a7;font-size:7.5px;font-weight:850}
.global-progress-hint span{width:22px;height:1px;background:linear-gradient(90deg,transparent,#c8d1e0)}
.global-progress-hint span:last-child{transform:scaleX(-1)}
.global-progress-hint em{font-style:normal}
@keyframes v24Accent{to{background-position:-200% 0}}
@keyframes v24Reverse{to{transform:rotate(-360deg)}}
@media(max-width:480px){.global-progress-card{width:calc(100vw - 24px);padding:0 20px 22px;border-radius:25px}.global-progress-accent{margin-inline:-20px}.global-progress-brand{margin-top:18px}.global-progress-spinner{width:68px;height:68px;margin-top:16px}.global-progress-card p{font-size:9px}}
@media(prefers-reduced-motion:reduce){.global-progress-accent,.global-progress-spinner:before,.global-progress-spinner:after,.global-progress-spinner i{animation-duration:2.5s}}

/* Live face results appear without refresh. */
.my-photo-folder{position:relative}
.live-status-dot{display:inline-block;width:7px;height:7px;margin-inline-start:5px;border-radius:50%;background:#19a974;box-shadow:0 0 0 4px rgba(25,169,116,.11);vertical-align:middle}
.my-photo-folder.is-syncing .live-status-dot{background:var(--secondary);animation:onsLoaderPulse 1s ease-in-out infinite}
.matched-gallery{transition:opacity .18s ease,transform .18s ease}
.matched-gallery.is-updating{opacity:.55;transform:translateY(3px)}
.matched-photo-item{animation:v24PhotoIn .3s cubic-bezier(.2,.75,.2,1)}
@keyframes v24PhotoIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.live-match-empty{grid-column:1/-1;min-height:210px;border:1px dashed #d7dfed;border-radius:20px;background:linear-gradient(145deg,#fff,#f7faff)}
.save-all-photos[hidden]{display:none!important}

/* Launch-ready compliance treatment. */
.disclosure-warning.approved,.compliance-checklist.launch-ready{background:#edf9f4!important;border-color:#c9eadc!important;color:#156f52!important}
.face-mode-banner.approved{background:#edf9f4!important;border-color:#c9eadc!important;color:#156f52!important}

/* Small-screen consistency audit. */
@media(max-width:760px){
  .form-grid.two{grid-template-columns:1fr!important}
  .workspace-main,main{padding-inline:max(11px,env(safe-area-inset-left))!important}
  .form-card,.auth-card,.card,.setup-panel,.inline-face-panel,.wizard-step{border-radius:20px!important}
  .app-page-head{padding-top:18px!important}
  .head-actions,.wizard-actions,.agreement-file-actions{width:100%}
  .head-actions>*{flex:1}
  dialog{width:calc(100vw - 20px);max-width:none;padding:17px;border-radius:23px}
  .photo-folder-head{grid-template-columns:48px minmax(0,1fr)!important;padding:14px!important}
  .photo-folder-head>.save-all-photos{grid-column:1/-1;width:100%}
}
@media(max-width:390px){
  .matched-gallery{grid-template-columns:1fr 1fr;gap:8px}
  .event-face-dropdown>summary{gap:9px;padding:12px}
  .event-face-dropdown>summary strong{width:30px;height:30px}
  .top-actions{gap:5px}
}


/* =========================================================
   ONS Moment 2.5 - viewport-safe loading and bilingual layout audit
   ========================================================= */
/* Fixed descendants must remain relative to the browser viewport on iOS. */
.app-shell{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html.progress-locked,html.progress-locked body,body.progress-locked{overflow:hidden!important;overscroll-behavior:none!important}
body>.global-progress-overlay{
  position:fixed!important;inset:0!important;z-index:2147483000!important;
  width:100vw!important;height:100vh!important;height:100dvh!important;
  min-height:var(--ons-visible-height,100dvh)!important;max-height:var(--ons-visible-height,100dvh)!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  overflow-y:auto!important;overscroll-behavior:contain!important;
  padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))!important;
  background:rgba(9,18,42,.62)!important;isolation:isolate!important
}
body>.global-progress-overlay:not(.is-visible){display:flex!important}
.global-progress-card{
  flex:0 0 auto!important;width:min(100%,420px)!important;max-width:420px!important;
  min-height:0!important;max-height:calc(var(--ons-visible-height,100dvh) - 28px)!important;
  margin:auto!important;overflow:auto!important;overscroll-behavior:contain!important;
  padding:0 clamp(20px,5vw,28px) clamp(22px,5vw,28px)!important;
  border-radius:clamp(23px,6vw,30px)!important;
  background:#FFFFFF!important;border:1px solid rgba(255,255,255,.9)!important;
  box-shadow:0 30px 90px rgba(3,15,42,.38)!important;text-align:center!important;
  -webkit-overflow-scrolling:touch
}
.global-progress-accent{margin-inline:calc(clamp(20px,5vw,28px) * -1)!important}
.global-progress-brand{margin-top:clamp(17px,4vh,22px)!important}
.global-progress-card h2{font-size:clamp(19px,5.2vw,24px)!important;overflow-wrap:anywhere!important}
.global-progress-card p{font-size:clamp(9.5px,2.8vw,11px)!important}
.global-progress-card:focus{outline:none}
@media(max-height:620px){
  .global-progress-brand{margin-top:13px!important}.global-progress-logo{width:42px!important;height:42px!important}
  .global-progress-spinner{width:58px!important;height:58px!important;margin:12px auto 0!important}
  .global-progress-card h2{margin-top:9px!important;font-size:18px!important}.global-progress-card p{line-height:1.55!important}
  .global-progress-hint{margin-top:11px!important}
}
@media(max-width:420px){
  body>.global-progress-overlay{padding-inline:10px!important}
  .global-progress-card{width:100%!important;max-width:none!important}
}

/* Higher-specificity reset fixes the LTR sidebar padding that survived mobile media queries. */
@media(max-width:1100px){
  html[dir="ltr"] body.workspace-body .workspace-shell,
  html[dir="rtl"] body.workspace-body .workspace-shell,
  body.workspace-body .workspace-shell{
    width:100%!important;max-width:none!important;margin:0!important;
    padding-left:0!important;padding-right:0!important;padding-inline:0!important
  }
  html[dir] body.workspace-body .workspace-main{
    width:100%!important;max-width:none!important;min-width:0!important;margin:0 auto!important;
    padding-left:max(14px,env(safe-area-inset-left))!important;
    padding-right:max(14px,env(safe-area-inset-right))!important;
    padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right))!important
  }
  html[dir] body.workspace-body .workspace-shell>.topbar{
    width:auto!important;max-width:none!important;margin:8px 10px 0!important;
    padding-inline:14px!important
  }
}

/* Shared bilingual geometry: no card or English label may force horizontal overflow. */
html[dir] :where(.workspace-main,.app-page-head,.provider-dashboard-head,.stats,.stats.four,.admin-list,.compact-request-list,.card,.form-card,.next-event-hero,.provider-notice){min-width:0!important;max-width:100%!important}
html[dir="ltr"] :where(.app-page-head,.provider-dashboard-head,.card,.form-card,.next-event-hero,.provider-notice,.stats div){direction:ltr!important;text-align:left!important}
html[dir="rtl"] :where(.app-page-head,.provider-dashboard-head,.card,.form-card,.next-event-hero,.provider-notice,.stats div){direction:rtl;text-align:right}
html[dir] :where(.app-page-head h1,.app-page-head p,.stats span,.stats b,.provider-notice,.next-event-hero,.event-admin-card,.compact-request-card,.primary-btn,.secondary-btn,.icon-btn){overflow-wrap:anywhere!important;word-break:normal!important}
.stats,.stats.four{grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%!important}
.stats>div{min-width:0!important;width:auto!important}
.topbar .brand{min-width:0!important;flex:1 1 auto!important}.topbar .brand span{min-width:0!important}.topbar .brand b,.topbar .brand small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{flex:0 0 auto!important}

@media(max-width:700px){
  html[dir] .app-page-head,html[dir] .provider-dashboard-head{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:13px!important;width:100%!important}
  html[dir] .app-page-head>.primary-btn,html[dir] .provider-dashboard-head>.primary-btn{width:100%!important;margin:0!important}
  .stats,.stats.four,.provider-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .stats>div{min-height:108px!important;padding:14px 10px!important;text-align:center!important}
  .stats b{font-size:23px!important;letter-spacing:-.3px!important}.stats span{font-size:9px!important;line-height:1.45!important}
  .next-event-hero{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.next-event-hero>a{width:100%!important;text-align:center!important}
  .topbar{min-height:66px!important;height:auto!important}.topbar .brand span{display:none!important}
  .language-switch,.side-menu-toggle{min-height:40px!important}
}
@media(max-width:360px){
  html[dir] body.workspace-body .workspace-main{padding-inline:10px!important}
  .stats,.stats.four,.provider-stats{gap:7px!important}.stats>div{padding-inline:7px!important}
  .topbar{padding-inline:10px!important}.top-actions{gap:4px!important}
}

/* ================================================================
   ONS Moment 2.6 - responsive forms, camera guides and email themes
   ================================================================ */
html,body{max-width:100%;overflow-x:hidden}
.form-grid>*{min-width:0}
.event-datetime-field{min-width:0;width:100%;overflow:hidden}
.event-datetime-control,input[type="date"],input[type="time"]{
  display:block;width:100%;min-width:0;max-width:100%;height:52px;box-sizing:border-box;
  appearance:none;-webkit-appearance:none;border-radius:14px;line-height:1.2;padding:12px 14px;
  font-variant-numeric:tabular-nums;background-clip:padding-box
}
input[type="date"]::-webkit-date-and-time-value,input[type="time"]::-webkit-date-and-time-value{
  display:block;min-width:0;width:100%;text-align:start;margin:0;padding:0
}
input[type="date"]::-webkit-calendar-picker-indicator,input[type="time"]::-webkit-calendar-picker-indicator{margin-inline-start:auto;opacity:.72}

.camera-guides{display:grid;gap:10px;margin-top:18px}
.camera-guides-title{font-size:13px;color:var(--primary);padding-inline:2px}
.camera-guide{border:1px solid rgba(49,35,94,.13);border-radius:17px;background:rgba(248,250,255,.9);overflow:hidden}
.camera-guide summary{list-style:none;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:11px 13px;cursor:pointer;user-select:none}
.camera-guide summary::-webkit-details-marker{display:none}
.camera-guide summary>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(11,142,214,.10);color:var(--secondary)}
.camera-guide summary svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}
.camera-guide summary b{min-width:0;font-size:12px;color:var(--primary)}
.camera-guide summary small{font-size:8px;color:var(--muted);white-space:nowrap}
.camera-guide summary:after{content:"⌄";grid-column:3;font-size:15px;color:var(--secondary);transition:transform .2s ease}
.camera-guide summary small{grid-column:2;grid-row:2}
.camera-guide[open] summary:after{transform:rotate(180deg)}
.camera-guide ol,.camera-guide ul{margin:0;padding:2px 38px 16px 18px;display:grid;gap:8px;color:var(--muted);font-size:10px;line-height:1.7}
html[dir="ltr"] .camera-guide ol,html[dir="ltr"] .camera-guide ul{padding:2px 18px 16px 38px}
.camera-guide code{font-size:9px;overflow-wrap:anywhere;color:var(--primary)}
.troubleshooting-guide{background:#fffaf0;border-color:#f0dba9}
.credential-list small em{display:block;font-size:7px;font-style:normal;color:var(--muted)}

.upload-selection-status{margin-top:10px;padding:9px 12px;border-radius:12px;background:rgba(11,142,214,.08);color:var(--primary);font-weight:800;font-size:10px;text-align:center}
form[data-unlimited-upload][aria-busy="true"] .upload-drop{opacity:.62;pointer-events:none}

.settings-separator{width:100%;border:0;border-top:1px solid rgba(49,35,94,.12);margin:10px 0 2px}
.email-theme-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-top:3px}
.email-theme-heading h2{margin:3px 0 4px;font-size:20px}
.email-theme-heading p{margin:0;color:var(--muted);font-size:10px;line-height:1.7}
.email-theme-presets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:3px 0 5px}
.email-theme-presets button{min-width:0;padding:9px 5px;border:1px solid rgba(49,35,94,.12);border-radius:14px;background:var(--theme-card);color:var(--text);box-shadow:none;display:grid;place-items:center;gap:3px}
.email-theme-presets button i{width:34px;height:22px;border-radius:8px;background:linear-gradient(135deg,var(--theme-header) 0 58%,var(--theme-accent) 58% 68%,var(--theme-card) 68%);border:1px solid rgba(0,0,0,.06)}
.email-theme-presets button span{font-size:9px;font-weight:900;overflow-wrap:anywhere}
.email-theme-presets button small{font-size:7px;color:var(--muted);overflow-wrap:anywhere}
.email-theme-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;border:1px solid rgba(49,35,94,.10);border-radius:18px;background:rgba(248,250,255,.75)}
.email-theme-editor label{min-width:0;margin:0;font-size:9px}
.email-color-input{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:9px;margin-top:5px}
.email-color-input input[type="color"]{width:48px;height:38px;min-height:38px;padding:3px;border-radius:10px}
.email-color-input code{font-size:9px;letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis}
.email-theme-preview{padding:15px;border-radius:20px;background:var(--mail-outer);border:1px solid var(--mail-border);transition:background .2s ease}
.mail-preview-shell{max-width:410px;margin:auto;border-radius:18px;overflow:hidden;background:var(--mail-card);border:1px solid var(--mail-border);text-align:center;color:var(--mail-text)}
.mail-preview-shell header{display:grid;place-items:center;gap:4px;padding:16px;background:var(--mail-header);border-bottom:4px solid var(--mail-accent);color:var(--mail-title)}
.mail-preview-shell header img{width:42px;height:42px;object-fit:contain;border-radius:12px;background:#fff;padding:3px}
.mail-preview-shell header small{font-size:6px;letter-spacing:.08em;color:var(--mail-title);opacity:.84}
.mail-preview-shell header b{font-size:13px;color:var(--mail-title)}
.mail-preview-shell main{padding:16px;color:var(--mail-text)}
.mail-preview-shell main p{font-size:9px;color:var(--mail-muted)}
.mail-preview-shell main div{padding:10px;border:1px solid var(--mail-border);border-radius:12px;background:var(--mail-panel);font-size:9px;color:var(--mail-text)}
.mail-preview-shell main button{margin-top:12px;padding:9px 14px;border:0;border-radius:10px;background:var(--mail-button);color:var(--mail-button-text);font-size:9px}
.mail-preview-shell footer{padding:10px;background:var(--mail-footer);color:var(--mail-link);font-size:7px}

/* iOS automatically zooms controls below 16px. Keep every writing field at 16px on touch screens. */
@media(max-width:900px),(hover:none) and (pointer:coarse){
  input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),select,textarea{
    font-size:16px!important;line-height:1.35!important
  }
  input[type="date"],input[type="time"]{height:54px!important;padding:12px 13px!important}
}
@media(max-width:720px){
  .form-grid.two{grid-template-columns:1fr!important}
  .event-datetime-field{grid-column:auto!important}
  .email-theme-presets{grid-template-columns:repeat(2,minmax(0,1fr))}
  .email-theme-editor{grid-template-columns:1fr}
  .camera-guide summary{grid-template-columns:34px minmax(0,1fr) 18px}
  .camera-guide summary small{white-space:normal}
}
@media(max-width:420px){
  .email-theme-preview{padding:8px}
  .camera-guide ol,.camera-guide ul{font-size:9px}
}
