:root{--ink:#07111f;--ink-2:#0c1b2e;--text:#f7fbff;--muted:#9fb0c4;--line:rgba(255,255,255,.13);--glass:rgba(13,28,48,.62);--glass-soft:rgba(255,255,255,.07);--white-glass:rgba(255,255,255,.76);--cyan:#55e7e2;--blue:#6d8dff;--violet:#a86cff;--green:#55e6a5;--amber:#ffc768;--red:#ff7890;--shadow:0 30px 80px rgba(0,0,0,.34);--radius:28px;--radius-sm:16px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}*{box-sizing:border-box}html{min-height:100%;background:var(--ink)}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(circle at 10% 10%,#123b55 0,transparent 34%),radial-gradient(circle at 90% 90%,#312151 0,transparent 38%),linear-gradient(145deg,#06101c,#0a182a 55%,#0b1120);font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a{color:inherit}.glass-panel{background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.045));border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%)}.ambient{position:fixed;border-radius:999px;filter:blur(5px);opacity:.55;pointer-events:none;animation:float 14s ease-in-out infinite}.ambient-one{width:34vw;height:34vw;min-width:330px;min-height:330px;background:radial-gradient(circle,rgba(72,229,222,.23),transparent 66%);top:-14vw;right:-7vw}.ambient-two{width:36vw;height:36vw;min-width:360px;min-height:360px;background:radial-gradient(circle,rgba(160,93,255,.2),transparent 68%);bottom:-18vw;left:-10vw;animation-delay:-6s}@keyframes float{50%{transform:translate3d(2vw,2vh,0) scale(1.08)}}.brand-mark{display:inline-grid;grid-template-columns:repeat(3,7px);align-items:end;gap:4px;width:34px;height:34px;padding:7px;border-radius:11px;background:linear-gradient(145deg,rgba(85,231,226,.26),rgba(109,141,255,.2));border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 8px 20px rgba(35,196,210,.17)}.brand-mark span{display:block;border-radius:4px;background:linear-gradient(#9df8f4,#68a5ff)}.brand-mark span:nth-child(1){height:9px}.brand-mark span:nth-child(2){height:15px}.brand-mark span:nth-child(3){height:21px}.portal-body{overflow-x:hidden}.portal-shell{position:relative;z-index:2;width:min(1180px,calc(100% - 40px));min-height:calc(100vh - 54px);margin:auto;display:grid;grid-template-columns:minmax(0,.86fr) minmax(420px,.92fr);gap:72px;align-items:center;padding:64px 0}.portal-intro{padding:28px 0}.portal-brand,.admin-brand{display:inline-flex;gap:12px;align-items:center;text-decoration:none}.portal-brand>span:last-child,.admin-brand>span:last-child{display:flex;flex-direction:column}.portal-brand strong,.admin-brand strong{font-size:15px;letter-spacing:.01em}.portal-brand small,.admin-brand small{font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.hero-copy{margin:90px 0 42px}.eyebrow{display:block;color:#61dcd9;font-size:11px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.eyebrow.light{color:#a8f7f2}.hero-copy h1{font-size:clamp(46px,6vw,78px);line-height:.98;letter-spacing:-.055em;margin:14px 0 24px;max-width:680px}.hero-copy h1 em{font-style:normal;background:linear-gradient(100deg,#63e7e0,#7ea3ff 58%,#bd82ff);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy p{max-width:510px;color:#b9c8d9;font-size:18px;line-height:1.7}.network-card{display:flex;align-items:center;gap:14px;max-width:510px;padding:15px 18px;border-radius:19px;box-shadow:0 16px 40px rgba(0,0,0,.2)}.network-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(85,231,226,.13);color:var(--cyan);font-size:27px}.network-card>div:nth-child(2){display:flex;flex:1;min-width:0;flex-direction:column}.network-card small,.network-card span{color:var(--muted);font-size:11px}.network-card strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signal-bars{display:flex;gap:3px;height:22px;align-items:flex-end}.signal-bars b{display:block;width:4px;border-radius:4px;background:var(--cyan)}.signal-bars b:nth-child(1){height:6px}.signal-bars b:nth-child(2){height:10px}.signal-bars b:nth-child(3){height:15px}.signal-bars b:nth-child(4){height:21px}.trust-row{display:flex;flex-wrap:wrap;gap:20px;margin-top:25px;color:#9fb0c4;font-size:12px}.portal-card{padding:34px;border-radius:var(--radius);max-width:590px}.card-head{display:flex;gap:16px;align-items:flex-start}.card-head .step{display:grid;place-items:center;min-width:38px;height:38px;border:1px solid rgba(85,231,226,.34);border-radius:12px;color:var(--cyan);font-size:11px;font-weight:800}.card-head h2,.form-card h2,.section-head h2{font-size:22px;letter-spacing:-.025em;margin:0}.card-head p,.form-card>p{margin:4px 0 0;color:var(--muted)}.tabs{display:grid;grid-template-columns:1fr 1fr;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.07);padding:5px;border-radius:14px;margin:28px 0}.tab{border:0;border-radius:10px;padding:11px;background:transparent;color:var(--muted);cursor:pointer;font-weight:700}.tab.active{background:rgba(255,255,255,.11);color:var(--text);box-shadow:0 7px 18px rgba(0,0,0,.16),inset 0 1px rgba(255,255,255,.1)}.plan-grid{border:0;padding:0;margin:0;display:grid;gap:10px}.plan-option{display:block;cursor:pointer}.plan-option>input{position:absolute;opacity:0;pointer-events:none}.plan-glass{display:block;border:1px solid rgba(255,255,255,.1);border-radius:17px;padding:16px 17px;background:rgba(3,12,22,.23);transition:.18s ease}.plan-option:hover .plan-glass{border-color:rgba(85,231,226,.3);transform:translateY(-1px)}.plan-option input:checked+.plan-glass{border-color:rgba(85,231,226,.68);background:linear-gradient(120deg,rgba(85,231,226,.12),rgba(109,141,255,.08));box-shadow:0 0 0 3px rgba(85,231,226,.08),inset 0 1px rgba(255,255,255,.12)}.plan-option input:focus-visible+.plan-glass{outline:3px solid rgba(85,231,226,.34);outline-offset:2px}.plan-top{display:flex;justify-content:space-between;align-items:center}.plan-top strong{font-size:15px}.popular{padding:3px 8px;border-radius:999px;background:rgba(85,231,226,.12);color:#8cf1ec;text-transform:uppercase;letter-spacing:.1em;font-size:8px}.plan-price{display:block;font-size:23px;font-weight:800;letter-spacing:-.03em;margin:5px 0}.plan-meta{display:flex;gap:8px;align-items:center;color:#bed0df;font-size:11px}.plan-meta i{width:3px;height:3px;border-radius:50%;background:#63768a}.plan-description{display:block;color:#8295aa;font-size:11px;margin-top:6px}.field{display:flex;flex-direction:column;gap:7px;margin-top:20px}.field>span{font-weight:700;font-size:12px;color:#dce8f2}.field small{color:#8295aa;font-size:11px}.field input,.field select,.field textarea,.voucher-input{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(1,9,18,.38);color:var(--text);padding:13px 14px;outline:none;transition:.18s}.field textarea{resize:vertical;min-height:90px}.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(85,231,226,.68);box-shadow:0 0 0 3px rgba(85,231,226,.09)}.field select option{background:#102036}.phone-field{display:flex;align-items:center;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(1,9,18,.38);overflow:hidden}.phone-field:focus-within{border-color:rgba(85,231,226,.68);box-shadow:0 0 0 3px rgba(85,231,226,.09)}.phone-field b{padding:0 12px;border-right:1px solid rgba(255,255,255,.1);white-space:nowrap;font-size:12px;color:#c9d5df}.phone-field input{border:0!important;box-shadow:none!important;background:transparent}.voucher-input{text-transform:uppercase;letter-spacing:.11em;font-weight:800;font-size:16px}.terms{display:flex;gap:9px;align-items:flex-start;margin:18px 0;color:#97a9bc;font-size:11px}.terms input{accent-color:#55e7e2;margin-top:2px}.primary-button,.secondary-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;border:0;border-radius:14px;padding:14px 18px;font-weight:800;text-decoration:none;cursor:pointer}.primary-button{color:#061521;background:linear-gradient(105deg,#67ece5,#7aa3ff);box-shadow:0 15px 35px rgba(60,203,213,.2);transition:.18s}.primary-button:hover{transform:translateY(-1px);filter:brightness(1.05)}.primary-button b{font-size:18px}.primary-button.compact{width:auto;padding:11px 16px;font-size:12px}.secondary-button{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:var(--text);margin-top:16px}.link-button{display:flex}.support-line{display:flex;justify-content:center;gap:8px;margin-top:22px;color:#8295aa;font-size:11px}.support-line a{color:#a9f0ed;text-decoration:none}.portal-footer{position:relative;z-index:2;text-align:center;color:#657b90;font-size:10px;padding:0 20px 20px}.alert{display:flex;gap:6px;flex-direction:column;border-radius:14px;padding:12px 14px;margin:20px 0;font-size:12px}.alert.danger{background:rgba(255,120,144,.1);border:1px solid rgba(255,120,144,.25);color:#ffc5cf}.alert.success{background:rgba(85,230,165,.1);border:1px solid rgba(85,230,165,.25);color:#aaf4cf}.center-shell{position:relative;z-index:2;min-height:100vh;display:grid;place-items:center;width:min(100% - 32px,660px);margin:auto;padding:40px 0}.waiting-card,.success-card{width:100%;border-radius:32px;padding:52px;text-align:center}.waiting-card h1,.success-card h1{font-size:38px;letter-spacing:-.045em;margin:10px 0}.waiting-card p,.success-card p{color:#b2c1d0;max-width:510px;margin:0 auto 25px}.orb-loader{width:88px;height:88px;margin:0 auto 25px;position:relative}.orb-loader span{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(85,231,226,.4);animation:pulse 2s ease-out infinite}.orb-loader span:nth-child(2){animation-delay:.55s}.orb-loader span:nth-child(3){display:grid;inset:25px;background:linear-gradient(145deg,#55e7e2,#6d8dff);box-shadow:0 0 35px rgba(85,231,226,.35);animation:none}@keyframes pulse{0%{transform:scale(.45);opacity:1}100%{transform:scale(1.25);opacity:0}}.payment-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:30px 0}.payment-steps span{display:flex;align-items:center;gap:7px;justify-content:center;color:#71869a;font-size:11px}.payment-steps b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid #41556b}.payment-steps .done,.payment-steps .active{color:#bfece9}.payment-steps .done b{background:rgba(85,230,165,.15);border-color:var(--green)}.payment-steps .active b{background:rgba(85,231,226,.15);border-color:var(--cyan);box-shadow:0 0 15px rgba(85,231,226,.18)}.status-message{display:inline-flex;padding:8px 14px;border-radius:999px;background:rgba(255,199,104,.1);color:#ffd895;font-size:12px;margin-bottom:12px}.muted{display:block;color:#8397aa}.success-check{display:grid;place-items:center;width:88px;height:88px;margin:0 auto 24px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#9ef5cb,#4fd89d);box-shadow:0 0 0 12px rgba(85,230,165,.08),0 20px 50px rgba(38,198,127,.25);color:#073122;font-size:42px;font-weight:900}.access-detail{display:flex;justify-content:center;align-items:center;gap:24px;margin:28px 0;padding:17px;border-radius:17px;background:rgba(0,0,0,.17)}.access-detail span{display:flex;flex-direction:column}.access-detail small{color:#8094a8}.access-detail i{width:1px;height:35px;background:rgba(255,255,255,.1)}.error-icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 20px;border-radius:50%;background:rgba(255,120,144,.12);border:1px solid rgba(255,120,144,.25);color:var(--red);font-size:30px;font-weight:900}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Admin */.admin-body{background:linear-gradient(145deg,#07111e,#0b1726)}.admin-layout{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.admin-sidebar{position:fixed;z-index:10;inset:14px auto 14px 14px;width:236px;border-radius:24px;padding:22px 14px;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.26);background:rgba(7,18,31,.72)}.admin-brand{padding:0 8px 22px;border-bottom:1px solid rgba(255,255,255,.08)}.admin-nav{display:flex;flex-direction:column;gap:5px;margin-top:20px}.admin-nav a{position:relative;text-decoration:none;color:#8fa3b7;padding:11px 13px;border-radius:12px;font-weight:700;font-size:13px}.admin-nav a:hover{color:#dce8f2;background:rgba(255,255,255,.05)}.admin-nav a.active{color:#eaffff;background:linear-gradient(90deg,rgba(85,231,226,.15),rgba(109,141,255,.08));box-shadow:inset 3px 0 var(--cyan)}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding:17px 8px 0}.admin-identity{display:flex;gap:10px;align-items:center;min-width:0}.admin-identity>span:last-child{display:flex;flex-direction:column;min-width:0}.admin-identity strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.admin-identity small{color:#71869a;text-transform:capitalize}.avatar{display:grid;place-items:center;min-width:32px;height:32px;border-radius:10px;background:linear-gradient(145deg,rgba(85,231,226,.26),rgba(109,141,255,.25));text-transform:uppercase;font-weight:900}.text-button{background:transparent;border:0;color:#8397aa;padding:10px 0 0;cursor:pointer;font-size:11px}.admin-main{grid-column:2;min-width:0}.admin-top{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(6,16,28,.35);backdrop-filter:blur(16px);position:sticky;top:0;z-index:5}.admin-top>div:first-of-type{display:flex;gap:14px;align-items:center}.status-online{display:inline-flex;gap:7px;align-items:center;font-size:11px;color:#a7b8c8}.status-online i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}.top-time{color:#71869a;font-size:11px}.mobile-menu{display:none;border:0;background:rgba(255,255,255,.08);color:white;border-radius:10px;width:38px;height:38px}.admin-content{padding:34px 36px 60px;max-width:1500px;margin:auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading h1{font-size:36px;letter-spacing:-.045em;margin:6px 0 4px}.page-heading p{margin:0;color:#8fa3b7}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.metric-card{position:relative;border-radius:20px;padding:21px;overflow:hidden}.metric-card:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;background:rgba(85,231,226,.07);filter:blur(8px);right:-45px;top:-45px}.metric-card small,.metric-card em{display:block;color:#8296aa;font-style:normal}.metric-card>strong{display:block;font-size:27px;letter-spacing:-.04em;margin:9px 0 5px}.metric-card em{font-size:10px}.metric-icon{float:right;display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:rgba(85,231,226,.09);color:var(--cyan)}.dashboard-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:16px;margin-top:16px}.data-card,.form-card,.code-reveal{border-radius:22px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.18)}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.section-head a{color:#83dfdc;text-decoration:none;font-size:11px}.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:620px}.table-wrap th{text-align:left;color:#6f8499;font-size:9px;text-transform:uppercase;letter-spacing:.12em;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08)}.table-wrap td{padding:13px 12px;border-bottom:1px solid rgba(255,255,255,.06);font-size:12px;color:#bed0df}.table-wrap tr:last-child td{border-bottom:0}.table-wrap td strong,.table-wrap td small{display:block}.table-wrap td small{color:#6f8499;font-size:9px;margin-top:2px;max-width:160px;overflow:hidden;text-overflow:ellipsis}.pill{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:9px!important;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.pill.success,.device-dot.success{background:rgba(85,230,165,.13);color:#8df1bd}.pill.warning,.device-dot.warning{background:rgba(255,199,104,.13);color:#ffd790}.pill.danger,.device-dot.danger{background:rgba(255,120,144,.13);color:#ffafbd}.pill.neutral,.device-dot.neutral{background:rgba(143,163,183,.12);color:#a7b7c7}.session-list article{display:flex;align-items:center;gap:10px;padding:13px 2px;border-bottom:1px solid rgba(255,255,255,.06)}.session-list article:last-child{border:0}.session-list article>div{display:flex;flex:1;min-width:0;flex-direction:column}.session-list strong{font-size:11px}.session-list small{color:#71869a;font-size:9px}.session-list article>span:last-child{display:flex;align-items:flex-end;flex-direction:column}.device-dot{width:8px;height:8px;border-radius:50%}.empty{text-align:center!important;color:#71869a!important;padding:30px!important}.two-column{display:grid;grid-template-columns:1.2fr .8fr;gap:17px}.form-card h2{margin:5px 0 20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 13px}.admin-plan-list article{display:grid;grid-template-columns:42px 1fr auto;gap:13px;align-items:center;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.07)}.admin-plan-list article:last-child{border:0}.plan-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:rgba(85,231,226,.08);color:var(--cyan)}.admin-plan-list article>div:nth-child(2) p{margin:3px 0;color:#8498ac;font-size:11px}.admin-plan-list article>div:nth-child(2) span{color:#6f8499;font-size:10px}.admin-plan-list article>div:last-child{display:flex;align-items:flex-end;flex-direction:column;gap:5px}.vouchers-layout{grid-template-columns:.7fr 1.3fr}.code-reveal{display:grid;grid-template-columns:1fr auto;gap:16px;margin-bottom:17px;border-color:rgba(85,230,165,.25);background:linear-gradient(135deg,rgba(85,230,165,.1),rgba(109,141,255,.06))}.code-reveal h2{margin:5px 0 0}.code-reveal p{margin:2px 0;color:#8fa3b7;font-size:11px}.code-reveal .secondary-button{width:auto;margin:0;align-self:center}.code-reveal textarea{grid-column:1/-1;width:100%;min-height:120px;border:1px dashed rgba(255,255,255,.18);border-radius:14px;background:rgba(0,0,0,.18);color:#cffff0;padding:14px;font:700 13px ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical}.admin-login-body{overflow:hidden}.login-shell{position:relative;z-index:2;min-height:100vh;width:min(1080px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:1fr 430px;gap:100px;align-items:center}.login-brand h1{font-size:54px;line-height:1.02;letter-spacing:-.055em;margin:85px 0 20px}.login-brand>p{color:#9db0c3;font-size:17px;max-width:500px}.mini-metrics{display:flex;max-width:480px;padding:15px;border-radius:18px;margin-top:38px}.mini-metrics span{display:flex;flex:1;flex-direction:column;padding:0 16px;border-right:1px solid rgba(255,255,255,.09)}.mini-metrics span:last-child{border:0}.mini-metrics b{color:#bff5f2}.mini-metrics small{color:#71869a;font-size:10px}.login-card{border-radius:28px;padding:38px}.login-card h2{font-size:30px;letter-spacing:-.04em;margin:7px 0 2px}.login-card>p{margin:0;color:#8599ad}.login-note{display:block;text-align:center;color:#657b90;margin-top:18px}
:focus-visible{outline:3px solid rgba(85,231,226,.5);outline-offset:3px}@media(max-width:1050px){.portal-shell{grid-template-columns:1fr;gap:24px;max-width:690px;padding:34px 0}.portal-intro{padding:0}.hero-copy{margin:54px 0 28px}.network-card{max-width:none}.portal-card{max-width:none}.trust-row{margin-bottom:10px}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.two-column{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr 400px;gap:45px}.login-brand h1{font-size:44px}}@media(max-width:760px){.portal-shell{width:min(100% - 22px,620px);padding:20px 0}.hero-copy{margin:42px 0 24px}.hero-copy h1{font-size:46px}.hero-copy p{font-size:15px}.portal-card{padding:22px;border-radius:23px}.trust-row{gap:10px}.trust-row span{font-size:10px}.waiting-card,.success-card{padding:30px 20px}.payment-steps{grid-template-columns:1fr;gap:10px}.payment-steps span{justify-content:flex-start;max-width:220px;margin:auto;width:100%}.admin-layout{display:block}.admin-sidebar{transform:translateX(-110%);transition:.22s}.menu-open .admin-sidebar{transform:translateX(0)}.admin-main{width:100%}.admin-top{padding:0 16px}.mobile-menu{display:grid;place-items:center}.admin-top .eyebrow{display:none}.admin-content{padding:24px 14px 50px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:30px}.metric-grid{grid-template-columns:1fr 1fr}.metric-card{padding:17px}.dashboard-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.vouchers-layout{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr;width:min(100% - 24px,480px);padding:24px 0}.login-brand{display:none}.login-card{padding:28px 22px}.code-reveal{grid-template-columns:1fr}.code-reveal .secondary-button{width:100%}}@media(max-width:480px){.hero-copy h1{font-size:40px}.portal-brand{margin-left:5px}.network-card{padding:13px}.plan-meta{flex-wrap:wrap}.metric-grid{grid-template-columns:1fr}.page-heading .primary-button{width:100%}.access-detail{gap:13px;flex-direction:column}.access-detail i{height:1px;width:70px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.ambient{display:none}}@supports not (backdrop-filter:blur(2px)){.glass-panel{background:#102238}}
.terms a{color:#a9f0ed}.legal-shell{position:relative;z-index:2;width:min(100% - 30px,820px);margin:auto;padding:46px 0}.legal-card{border-radius:28px;padding:42px}.legal-card>.portal-brand{margin-bottom:55px}.legal-card h1{font-size:42px;letter-spacing:-.045em;margin:8px 0 22px}.legal-card h2{font-size:18px;margin:30px 0 7px}.legal-card p{color:#a8bacb;line-height:1.75}.policy-note{padding:15px 17px;border-radius:14px;background:rgba(255,199,104,.09);border:1px solid rgba(255,199,104,.2);color:#ebcf9e;font-size:11px;margin-top:30px}@media(max-width:600px){.legal-card{padding:26px 20px}.legal-card h1{font-size:34px}.legal-card>.portal-brand{margin-bottom:38px}}


/* GlassWave Operations & Analytics v0.2 */
.admin-sidebar{overflow-y:auto;overscroll-behavior:contain}.admin-nav{display:flex;flex-direction:column;gap:4px}.admin-nav a{display:flex;align-items:center;gap:11px}.admin-nav a i{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:rgba(255,255,255,.045);font-style:normal;font-size:12px;color:#85a0b8}.admin-nav a.active i{background:rgba(85,231,226,.13);color:var(--cyan)}
.page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.secondary-button.disabled{opacity:.35;pointer-events:none}.nav-scrim{display:none;border:0;padding:0}.pill.info{background:rgba(109,141,255,.14);color:#aebeff}.muted{color:#7f94a8}.stack-mobile{gap:16px;flex-wrap:wrap}.metric-grid-six{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}.season-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border-radius:20px;margin-bottom:16px;background:linear-gradient(120deg,rgba(85,231,226,.09),rgba(109,141,255,.06),rgba(168,108,255,.07))}.season-banner div{display:flex;flex-direction:column}.season-banner strong{font-size:17px}.season-banner small{color:#7890a5;margin-top:2px}.micro-progress,.share-line,.index-line,.usage-meter{height:5px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}.micro-progress{margin-top:7px;max-width:150px}.micro-progress span,.share-line i,.index-line i,.usage-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--cyan),var(--blue))}.analytics-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr);gap:16px;margin-top:16px}.chart-wide{min-width:0}.chart-legend{display:flex;gap:14px;color:#8298ac;font-size:10px}.chart-legend span:before{content:"";display:inline-block;width:8px;height:8px;border-radius:3px;margin-right:5px}.legend-revenue:before{background:var(--cyan)}.legend-expense:before{background:var(--violet)}.bar-chart-scroll{overflow-x:auto;padding:6px 2px 2px}.bar-chart{display:grid;grid-template-columns:repeat(30,minmax(24px,1fr));gap:5px;align-items:end;min-width:820px;height:240px;padding-top:15px}.bar-column{display:grid;grid-template-rows:1fr 22px;height:100%;align-items:end;text-align:center}.bar-pair{height:190px;display:flex;align-items:flex-end;justify-content:center;gap:2px}.bar{display:block;width:8px;min-height:2px;border-radius:5px 5px 2px 2px}.bar.revenue{background:linear-gradient(180deg,#8bf6ed,#38bab9)}.bar.expense{background:linear-gradient(180deg,#c59bff,#7952b6)}.bar-column small{color:#6c8397;font-size:8px;white-space:nowrap;transform:rotate(-35deg);transform-origin:center}.insight-list{display:grid;gap:4px}.insight-list div{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.06)}.insight-list div:last-child{border:0}.insight-list span{color:#8196aa}.insight-list strong{font-size:15px}.season-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.season-grid article{padding:15px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(255,255,255,.025)}.season-grid article>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.season-grid article>b,.season-grid article>small,.season-grid article>em{display:block}.season-grid article>b{font-size:15px;margin-top:10px}.season-grid article>small{color:#768da2;font-size:9px}.season-grid article>em{color:#657d92;font-size:9px;font-style:normal;margin-top:4px}.index-line{margin-top:11px}.rank-list article{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}.rank-list article:last-child{border:0}.rank-list article>div:first-child{display:flex;flex-direction:column}.rank-list article>div:nth-child(2){display:flex;align-items:flex-end;flex-direction:column}.rank-list small,.rank-list span{color:#73899e;font-size:9px}.rank-list .share-line{grid-column:1/-1}.hour-chart{height:190px;display:grid;grid-template-columns:repeat(24,minmax(8px,1fr));gap:3px;align-items:end}.hour-chart div{height:100%;display:grid;grid-template-rows:1fr 18px;align-items:end;text-align:center}.hour-chart i{display:block;min-height:2px;border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,var(--cyan),rgba(109,141,255,.45))}.hour-chart small{font-size:7px;color:#71879b}.filter-tabs{display:flex;gap:5px;overflow-x:auto;padding:3px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(0,0,0,.09);max-width:100%}.filter-tabs a{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:7px 10px;border-radius:9px;color:#8197ab;text-decoration:none;font-size:10px}.filter-tabs a b{display:grid;place-items:center;min-width:18px;height:18px;border-radius:7px;background:rgba(255,255,255,.06);font-size:8px}.filter-tabs a.active{background:rgba(85,231,226,.1);color:#baf6f2}.filter-tabs a.active b{background:rgba(85,231,226,.14);color:var(--cyan)}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:15px;border-top:1px solid rgba(255,255,255,.06);color:#748a9e;font-size:10px}.pager>span{display:flex;gap:7px}.pager .secondary-button{width:auto;margin:0;text-decoration:none}.expense-layout{grid-template-columns:.75fr 1.25fr}.check-field{display:flex!important;flex-direction:row!important;align-items:center;gap:10px}.check-field input{width:18px;height:18px}.usage-cell{min-width:120px}.usage-cell small{margin-top:5px!important}.integration-note{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:18px}.integration-note p{max-width:760px;color:#8297aa}.integration-note code,.responsive-table code{font:600 10px ui-monospace,SFMono-Regular,Menlo,monospace;color:#a9e9e5;background:rgba(0,0,0,.16);padding:3px 6px;border-radius:6px}.incident-list{display:grid;gap:12px}.incident-card{padding:18px;border:1px solid rgba(255,255,255,.08);border-left-width:3px;border-radius:17px;background:rgba(255,255,255,.025)}.incident-card.danger{border-left-color:var(--red)}.incident-card.warning{border-left-color:var(--amber)}.incident-card.info{border-left-color:var(--blue)}.incident-card.neutral{border-left-color:#647b90}.incident-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.incident-head small{margin-left:auto;color:#6d8499}.incident-card h3{margin:12px 0 3px;font-size:17px}.incident-card p{margin:0;color:#91a5b8}.incident-meta{display:flex;gap:18px;color:#60778c;font-size:9px;margin-top:11px}.resolution{margin-top:13px;padding:10px 12px;border-radius:11px;background:rgba(85,230,165,.07);display:flex;gap:10px;font-size:10px;color:#9ccab1}.incident-actions{display:grid;grid-template-columns:auto 1fr auto;gap:8px;margin-top:14px}.incident-actions input{min-width:0;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(0,0,0,.12);color:var(--text);padding:9px 11px}.incident-actions .primary-button,.incident-actions .secondary-button{width:auto;margin:0}.success-empty{color:#8fe1b4!important}.responsive-table td small{white-space:normal}.admin-content{max-width:1600px;margin:0 auto;width:100%}
.bar-h-0{width:0%;height:0%}.bar-h-1{width:5%;height:5%}.bar-h-2{width:10%;height:10%}.bar-h-3{width:15%;height:15%}.bar-h-4{width:20%;height:20%}.bar-h-5{width:25%;height:25%}.bar-h-6{width:30%;height:30%}.bar-h-7{width:35%;height:35%}.bar-h-8{width:40%;height:40%}.bar-h-9{width:45%;height:45%}.bar-h-10{width:50%;height:50%}.bar-h-11{width:55%;height:55%}.bar-h-12{width:60%;height:60%}.bar-h-13{width:65%;height:65%}.bar-h-14{width:70%;height:70%}.bar-h-15{width:75%;height:75%}.bar-h-16{width:80%;height:80%}.bar-h-17{width:85%;height:85%}.bar-h-18{width:90%;height:90%}.bar-h-19{width:95%;height:95%}.bar-h-20{width:100%;height:100%}
.bar.bar-h-0,.hour-chart i.bar-h-0{height:2px;width:8px}.bar.bar-h-1,.bar.bar-h-2,.bar.bar-h-3,.bar.bar-h-4,.bar.bar-h-5,.bar.bar-h-6,.bar.bar-h-7,.bar.bar-h-8,.bar.bar-h-9,.bar.bar-h-10,.bar.bar-h-11,.bar.bar-h-12,.bar.bar-h-13,.bar.bar-h-14,.bar.bar-h-15,.bar.bar-h-16,.bar.bar-h-17,.bar.bar-h-18,.bar.bar-h-19,.bar.bar-h-20{width:8px}.hour-chart i.bar-h-1,.hour-chart i.bar-h-2,.hour-chart i.bar-h-3,.hour-chart i.bar-h-4,.hour-chart i.bar-h-5,.hour-chart i.bar-h-6,.hour-chart i.bar-h-7,.hour-chart i.bar-h-8,.hour-chart i.bar-h-9,.hour-chart i.bar-h-10,.hour-chart i.bar-h-11,.hour-chart i.bar-h-12,.hour-chart i.bar-h-13,.hour-chart i.bar-h-14,.hour-chart i.bar-h-15,.hour-chart i.bar-h-16,.hour-chart i.bar-h-17,.hour-chart i.bar-h-18,.hour-chart i.bar-h-19,.hour-chart i.bar-h-20{width:100%}.micro-progress .bar-h-0,.share-line .bar-h-0,.index-line .bar-h-0,.usage-meter .bar-h-0{height:100%;width:0}.micro-progress [class*=bar-h-],.share-line [class*=bar-h-],.index-line [class*=bar-h-],.usage-meter [class*=bar-h-]{height:100%}
@media(max-width:1180px){.metric-grid-six{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid{grid-template-columns:1fr}.season-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.expense-layout{grid-template-columns:1fr}}
@media(max-width:760px){body.menu-open{overflow:hidden}.nav-scrim{position:fixed;display:block;inset:0;z-index:39;background:rgba(1,8,16,.64);opacity:0;pointer-events:none;transition:.2s}.menu-open .nav-scrim{opacity:1;pointer-events:auto}.admin-sidebar{z-index:40;width:min(88vw,310px)}.admin-nav a{padding:12px 13px}.page-actions{width:100%}.page-actions>a{flex:1}.metric-grid-six,.metric-grid-two{grid-template-columns:1fr 1fr;max-width:none}.season-banner{align-items:flex-start}.season-grid{grid-template-columns:repeat(2,minmax(135px,1fr))}.filter-tabs{width:100%}.stack-mobile{align-items:flex-start!important;flex-direction:column}.pager{align-items:flex-start;flex-direction:column}.pager>span{width:100%}.pager .secondary-button{flex:1;text-align:center}.integration-note{align-items:flex-start;flex-direction:column}.incident-actions{grid-template-columns:1fr}.incident-actions .primary-button,.incident-actions .secondary-button{width:100%}.responsive-table{min-width:0!important}.responsive-table thead{display:none}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table tbody{display:grid;gap:10px}.responsive-table tr{padding:8px 13px;border:1px solid rgba(255,255,255,.07);border-radius:15px;background:rgba(255,255,255,.025)}.responsive-table td{display:grid;grid-template-columns:minmax(90px,34%) 1fr;gap:10px;align-items:start;padding:8px 0!important;border-bottom:1px solid rgba(255,255,255,.05)!important;text-align:left}.responsive-table td:last-child{border-bottom:0!important}.responsive-table td:before{content:attr(data-label);color:#6f879b;font-size:9px;text-transform:uppercase;letter-spacing:.09em}.responsive-table td.empty{display:block;padding:25px!important}.responsive-table td.empty:before{display:none}.table-wrap{overflow:visible}.hour-chart{gap:2px}.chart-card{padding-left:15px;padding-right:15px}}
@media(max-width:520px){.metric-grid-six,.metric-grid-two{grid-template-columns:1fr}.season-grid{grid-template-columns:1fr}.season-banner{flex-direction:column}.analytics-grid{gap:12px}.bar-chart{min-width:700px}.admin-content{padding-left:11px;padding-right:11px}.data-card,.form-card{padding:17px}.incident-meta{flex-direction:column;gap:2px}.page-heading h1{font-size:28px}.top-time{font-size:9px}}

/* v0.3.0 interface polish and secure sign-in */
:root{--content-max:1440px;--control-height:50px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.brand-mark{flex:0 0 auto;width:38px;height:38px;padding:8px;grid-template-columns:repeat(3,6px);gap:3px;border-radius:13px}.brand-mark span:nth-child(1){height:8px}.brand-mark span:nth-child(2){height:14px}.brand-mark span:nth-child(3){height:20px}.admin-brand,.portal-brand{min-width:0}.admin-brand>span:last-child,.portal-brand>span:last-child{min-width:0}.admin-brand strong,.portal-brand strong{line-height:1.2}.admin-brand small,.portal-brand small{line-height:1.35}.admin-layout{grid-template-columns:270px minmax(0,1fr)}.admin-sidebar{width:252px;padding:22px 16px}.admin-main{grid-column:2;min-width:0;overflow:hidden}.admin-content{width:min(100%,var(--content-max));padding:34px clamp(20px,3vw,44px) 72px}.data-card,.form-card,.code-reveal,.metric-card,.security-card{min-width:0;overflow:clip}.two-column{grid-template-columns:minmax(0,1fr) minmax(360px,430px);gap:22px;align-items:start}.two-column>*,.dashboard-grid>*,.analytics-grid>*,.security-grid>*{min-width:0}.admin-plan-list article{grid-template-columns:42px minmax(0,1fr) auto}.admin-plan-list article>div:nth-child(2){min-width:0}.admin-plan-list article>div:nth-child(2) p,.admin-plan-list article>div:nth-child(2) span{overflow-wrap:anywhere}.form-card{padding:26px}.form-card form{display:grid;gap:18px}.form-card form>.field,.form-card .form-grid .field{margin-top:0}.form-grid{gap:16px}.field{min-width:0}.field input,.field select,.field textarea,.voucher-input{min-height:var(--control-height);padding:13px 15px}.field textarea{min-height:108px}.form-card .primary-button{margin-top:3px;min-height:52px}.primary-button,.secondary-button,.danger-button{min-height:48px}.section-head{gap:16px}.section-head>div{min-width:0}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.page-heading>div{min-width:0}.page-heading p{max-width:780px}.table-wrap{max-width:100%}.responsive-table{table-layout:auto}.responsive-table td,.responsive-table th{overflow-wrap:anywhere}.login-shell{width:min(1120px,calc(100% - 40px));grid-template-columns:minmax(0,1fr) minmax(390px,440px);gap:clamp(40px,8vw,100px)}.login-card{padding:40px}.login-card form{display:grid;gap:18px;margin-top:24px}.login-card .field{margin-top:0}.auth-action-row{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:12px;align-items:stretch}.auth-action-row .primary-button{margin:0;min-height:54px}.passkey-button{display:grid;place-items:center;width:54px;min-height:54px;border:1px solid rgba(124,234,227,.34);border-radius:15px;background:linear-gradient(145deg,rgba(85,231,226,.17),rgba(109,141,255,.16));color:#b9fffa;box-shadow:inset 0 1px rgba(255,255,255,.12),0 12px 30px rgba(21,162,181,.14);cursor:pointer;transition:.18s}.passkey-button:hover{transform:translateY(-1px);border-color:rgba(124,234,227,.65);filter:brightness(1.08)}.passkey-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.passkey-button svg{width:25px;height:25px;fill:currentColor}.passkey-button.is-loading svg{animation:pulse-key 1s ease-in-out infinite}@keyframes pulse-key{50%{transform:scale(.82);opacity:.55}}.auth-message{margin-bottom:0}.warning-note{color:#c9a873}.mfa-shell{min-height:100vh;display:grid;place-items:center;padding:30px 16px}.mfa-card{width:min(100%,520px);padding:38px;border-radius:28px}.mfa-card h1{font-size:36px;letter-spacing:-.045em;margin:8px 0}.mfa-card>p{color:#9db0c3;margin:0 0 24px}.mfa-card form{display:grid;gap:18px}.mfa-card .field{margin:0}.mfa-icon{display:grid;place-items:center;width:58px;height:58px;margin:30px 0 20px;border-radius:18px;background:linear-gradient(145deg,rgba(85,231,226,.18),rgba(109,141,255,.16));border:1px solid rgba(255,255,255,.13);font-size:28px;color:var(--cyan)}.otp-input{text-align:center;font-size:24px!important;letter-spacing:.24em;font-weight:800}.login-back{display:block;margin-top:20px;text-align:center;color:#8fa6ba;text-decoration:none;font-size:12px}.security-score{min-width:150px;padding:13px 16px;border-radius:17px;display:flex;flex-direction:column;align-items:flex-end}.security-score span,.security-score small{color:#7890a5;font-size:10px}.security-score strong{color:#a9f4d0}.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.security-card{padding:26px;border-radius:24px}.security-card-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:22px}.security-card-head>div{min-width:0}.security-card-head h2{font-size:24px;letter-spacing:-.035em;margin:3px 0}.security-card-head p{color:#8499ad;margin:4px 0 0}.security-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,rgba(85,231,226,.16),rgba(109,141,255,.12));border:1px solid rgba(255,255,255,.11);color:var(--cyan);font-size:20px;font-weight:800}.security-icon svg{width:24px;height:24px;fill:currentColor}.security-warning,.security-state{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border-radius:14px;background:rgba(255,199,104,.08);border:1px solid rgba(255,199,104,.18);margin-bottom:16px}.security-warning span,.security-state span{color:#8da1b4;font-size:11px}.security-state.success{background:rgba(85,230,165,.08);border-color:rgba(85,230,165,.2)}.security-state.success strong{color:#a8efc9}.passkey-list{display:grid;gap:9px}.passkey-list article{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px;border:1px solid rgba(255,255,255,.07);border-radius:15px;background:rgba(255,255,255,.025)}.passkey-list article>div{min-width:0;display:flex;flex-direction:column}.passkey-list small,.passkey-list em{color:#71879b;font-size:10px;font-style:normal}.icon-danger,.danger-button{border:1px solid rgba(255,120,144,.25);background:rgba(255,120,144,.09);color:#ffb4c1;border-radius:11px;padding:9px 12px;cursor:pointer}.passkey-create{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:18px}.passkey-create .field{margin:0}.passkey-create .primary-button{width:auto;white-space:nowrap}.compact-empty{padding:22px}.setup-button{margin:0}.totp-setup,.recovery-reveal{margin-top:16px;padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:rgba(0,0,0,.12)}.totp-setup p,.recovery-reveal p{color:#8297aa;font-size:12px}.manual-secret{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;margin-bottom:12px}.manual-secret span{grid-column:1/-1;color:#8398ac;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.manual-secret code{min-width:0;overflow-wrap:anywhere;color:#c6fff9;background:rgba(0,0,0,.22);padding:11px;border-radius:10px;font:700 12px ui-monospace,SFMono-Regular,Menlo,monospace}.manual-secret button{border:0;border-radius:9px;padding:10px;background:rgba(255,255,255,.08);color:#dce8f2;cursor:pointer}.recovery-reveal textarea{width:100%;min-height:210px;border:1px dashed rgba(85,231,226,.28);border-radius:13px;background:rgba(0,0,0,.2);color:#bffaf4;padding:14px;font:700 13px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;resize:none}.security-details{margin-top:16px;border-top:1px solid rgba(255,255,255,.07);padding-top:14px}.security-details summary{cursor:pointer;color:#d5e2ec;font-weight:700}.security-details form{display:grid;gap:14px;margin-top:14px}.security-details .field{margin:0}.security-guidance{margin-top:20px}.guidance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.guidance-grid article{padding:16px;border:1px solid rgba(255,255,255,.06);border-radius:15px;background:rgba(255,255,255,.02);display:flex;flex-direction:column;gap:5px}.guidance-grid b{color:var(--cyan);font-size:10px}.guidance-grid span{color:#788da1;font-size:11px}
@media(max-width:1280px){.two-column{grid-template-columns:minmax(0,1fr) minmax(340px,390px)}.admin-content{padding-left:26px;padding-right:26px}}
@media(max-width:1120px){.two-column,.security-grid{grid-template-columns:1fr}.form-card{max-width:none}.guidance-grid{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr;max-width:620px;padding:40px 0}.login-brand{display:none}}
@media(max-width:760px){.admin-layout{display:block}.admin-main{margin-left:0}.admin-sidebar{transform:translateX(-115%);transition:transform .22s ease}.menu-open .admin-sidebar{transform:translateX(0)}.admin-content{padding:24px 14px 54px}.page-heading{align-items:flex-start;flex-direction:column}.security-score{align-items:flex-start}.passkey-create{grid-template-columns:1fr}.passkey-create .primary-button{width:100%}.security-card{padding:20px}.form-grid{grid-template-columns:1fr}.form-card form{gap:15px}.admin-plan-list article{grid-template-columns:38px minmax(0,1fr)}.admin-plan-list article>div:last-child{grid-column:2;align-items:flex-start}.login-card{padding:28px}.mfa-card{padding:28px}.auth-action-row{grid-template-columns:minmax(0,1fr) 54px}}
@media(max-width:440px){.login-shell{width:min(100% - 20px,620px)}.login-card{padding:23px}.auth-action-row{grid-template-columns:1fr 52px;gap:9px}.passkey-button{width:52px}.security-card-head{gap:12px}.security-icon{width:42px;height:42px;flex-basis:42px}.manual-secret{grid-template-columns:1fr}.manual-secret button{width:100%}.mfa-card h1{font-size:31px}}

/* v0.3.1 notification, form and responsive polish */
[hidden]{display:none!important}
.toast-stack{position:fixed;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:2000;display:grid;gap:10px;width:min(420px,calc(100vw - 32px));pointer-events:none}
.toast{display:grid;grid-template-columns:34px minmax(0,1fr) 30px;align-items:center;gap:11px;padding:13px 12px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:linear-gradient(145deg,rgba(13,29,48,.96),rgba(18,28,49,.94));box-shadow:0 22px 55px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);opacity:0;transform:translateY(-10px) scale(.98);transition:opacity .18s ease,transform .18s ease;pointer-events:auto;overflow:hidden}
.toast.is-visible{opacity:1;transform:none}.toast.is-leaving{opacity:0;transform:translateY(-8px) scale(.98)}
.toast:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--red)}.toast.success:before{background:var(--green)}.toast.warning:before{background:var(--amber)}
.toast-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(255,120,144,.12);color:#ffc3ce;font-weight:900}.toast.success .toast-icon{background:rgba(85,230,165,.12);color:#aaf4cf}.toast.warning .toast-icon{background:rgba(255,199,104,.12);color:#ffe0a4}
.toast-message{min-width:0;color:#edf6ff;font-size:12px;font-weight:650;line-height:1.45;overflow-wrap:anywhere}.toast-close{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:9px;background:transparent;color:#91a5b8;font-size:19px;cursor:pointer}.toast-close:hover{background:rgba(255,255,255,.07);color:#fff}
.unit-field{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:8px}.unit-field input,.unit-field select{min-width:0;margin:0}.unit-field select{text-align:center;font-weight:800}
.plan-meta b{white-space:nowrap}.portal-card,.login-card,.data-card,.form-card,.security-card{isolation:isolate}.form-card form{padding-bottom:2px}.form-card .primary-button{margin-top:8px}.field+button,.form-grid+button{margin-top:8px}
@media(max-width:640px){.toast-stack{top:max(10px,env(safe-area-inset-top));right:10px;left:10px;width:auto}.toast{grid-template-columns:32px minmax(0,1fr) 28px}.unit-field{grid-template-columns:minmax(0,1fr) 86px}.plan-meta{gap:6px;flex-wrap:wrap}.plan-meta i{display:none}.plan-meta b:not(:last-child):after{content:" ·";color:#63768a;margin-left:5px}}

/* v0.3.4 usage spacing and fingerprint artwork */
body[data-usage-live="true"] .metric-grid{margin-bottom:30px}
body[data-usage-live="true"] .metric-grid+.data-card{margin-top:0}
.passkey-button{overflow:hidden}
.fingerprint-icon{display:block;width:30px;height:30px;object-fit:contain;background:transparent;filter:brightness(0) invert(1);opacity:.96}
.passkey-button .fingerprint-icon{width:31px;height:31px}
.passkey-button.is-loading .fingerprint-icon{animation:pulse-key 1s ease-in-out infinite}
.security-icon .fingerprint-icon{width:28px;height:28px}
.collector-error{display:block;max-width:240px;margin-top:5px;color:#ffc98a;font-size:10px;line-height:1.35;overflow-wrap:anywhere}
@media(max-width:760px){body[data-usage-live="true"] .metric-grid{margin-bottom:22px}}

/* v0.4.0 multi-site */
.site-switcher{margin-left:auto}.site-switcher label{display:flex;align-items:center;gap:9px}.site-switcher label>span{color:#71889d;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.site-switcher select{min-width:180px;height:38px;padding:0 34px 0 12px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#0b1828;color:#dceaf5;font-weight:700}.site-management{grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr)}.site-list{display:grid;gap:16px}.site-card{padding:20px;border:1px solid rgba(255,255,255,.07);border-radius:19px;background:rgba(255,255,255,.025)}.site-card-head,.site-ap{display:flex;align-items:center;justify-content:space-between;gap:14px}.site-card-head>div,.site-ap>span{display:flex;min-width:0;flex-direction:column}.site-card-head small,.site-ap small{color:#73899c}.site-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.site-meta span{display:flex;flex-direction:column;padding:12px;border-radius:13px;background:rgba(0,0,0,.13)}.site-meta small{color:#71869a;font-size:10px}.site-meta b{overflow-wrap:anywhere}.site-aps{display:grid;gap:9px;margin-top:12px}.site-ap{padding:11px 12px;border:1px solid rgba(255,255,255,.06);border-radius:13px}.site-ap-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.8fr) auto;gap:10px;align-items:end;margin-top:14px}.site-ap-form .field{margin:0}.site-ap-form .secondary-button{min-height:50px;white-space:nowrap}@media(max-width:980px){.site-management{grid-template-columns:1fr}.site-switcher select{min-width:145px}}@media(max-width:700px){.site-switcher label>span{display:none}.site-switcher select{min-width:118px;max-width:42vw}.site-meta{grid-template-columns:1fr}.site-ap-form{grid-template-columns:1fr}.site-ap-form .secondary-button{width:100%}}
.site-card-actions{display:flex;align-items:center;gap:10px}.compact-site-action{padding:5px 0;color:#8fe7df;white-space:nowrap}

/* v0.4.1 direct cnMaestro site health */
.site-health-panel{margin-bottom:16px}.site-health-panel .section-head{align-items:flex-start}.site-health-panel .section-head h2{margin:4px 0 3px}.site-health-panel .section-head p{margin:0;color:#7f94a8;font-size:11px}.site-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.site-health-card{display:flex;min-width:0;flex-direction:column;gap:13px;padding:16px;border:1px solid rgba(255,255,255,.07);border-radius:17px;background:rgba(255,255,255,.025);color:inherit;text-decoration:none;transition:transform .18s,border-color .18s,background .18s}.site-health-card:hover{transform:translateY(-1px);border-color:rgba(124,234,227,.25);background:rgba(255,255,255,.04)}.site-health-card.current{box-shadow:inset 0 0 0 1px rgba(85,231,226,.22)}.site-health-card-head{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px}.site-health-card-head>div{display:flex;min-width:0;flex-direction:column}.site-health-card-head strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-health-card-head small{color:#71889d;font-size:9px}.site-health-indicator{width:9px;height:9px;border-radius:50%;background:#667b8f;box-shadow:0 0 12px rgba(102,123,143,.45)}.site-health-card.success .site-health-indicator{background:var(--green);box-shadow:0 0 13px rgba(85,230,165,.7)}.site-health-card.warning .site-health-indicator{background:var(--amber);box-shadow:0 0 13px rgba(255,199,104,.65)}.site-health-card.danger .site-health-indicator{background:var(--red);box-shadow:0 0 13px rgba(255,120,144,.65)}.site-health-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.site-health-counts span{display:flex;flex-direction:column;padding:9px 10px;border-radius:11px;background:rgba(0,0,0,.14)}.site-health-counts b{font-size:15px}.site-health-counts small{color:#71869a;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.site-health-card em{color:#637b90;font-size:9px;font-style:normal}.site-ap-health{display:inline-flex;align-items:center;gap:6px;margin-top:3px}.site-ap-health i{width:7px;height:7px;border-radius:50%;background:#667b8f}.site-ap-health.success i{background:var(--green)}.site-ap-health.danger i{background:var(--red)}.site-ap-health.warning i{background:var(--amber)}
@media(max-width:760px){.site-health-panel .section-head{flex-direction:column}.site-health-grid{grid-template-columns:1fr}}

/* v0.4.2 cnMaestro device details and preserved top-right clock */
.admin-top{justify-content:flex-start;gap:16px}
.site-switcher{min-width:0;margin-left:auto}
.site-switcher select{max-width:min(42vw,360px);text-overflow:ellipsis}
.top-time{flex:0 0 auto;min-width:104px;margin-left:0;text-align:right;white-space:nowrap}
.site-live-stack{display:grid;gap:16px;margin-bottom:16px}
.site-live-stack .site-health-panel{margin-bottom:0}
.site-details-panel .section-head{align-items:flex-start}
.site-details-panel .section-head h2{margin:4px 0 3px}
.site-details-panel .section-head p{margin:0;color:#7f94a8;font-size:11px}
.site-device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:12px}
.site-device-card{min-width:0;padding:17px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(255,255,255,.025)}
.site-device-head{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:15px}
.site-device-head>div{display:flex;min-width:0;flex-direction:column}
.site-device-head strong,.site-device-head small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.site-device-head small{color:#71889d;font-size:9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.site-health-indicator.success{background:var(--green);box-shadow:0 0 13px rgba(85,230,165,.7)}
.site-health-indicator.warning{background:var(--amber);box-shadow:0 0 13px rgba(255,199,104,.65)}
.site-health-indicator.danger{background:var(--red);box-shadow:0 0 13px rgba(255,120,144,.65)}
.site-device-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.site-device-facts>div{min-width:0;padding:11px 12px;border-radius:12px;background:rgba(0,0,0,.14)}
.site-device-facts dt{color:#71869a;font-size:8px;text-transform:uppercase;letter-spacing:.09em}
.site-device-facts dd{margin:4px 0 0;color:#d6e4ee;font-size:11px;font-weight:700;overflow-wrap:anywhere}
.site-device-card footer{margin-top:13px;color:#637b90;font-size:9px}
.site-device-error{display:flex;flex-direction:column;gap:3px;margin-top:12px;padding:11px 12px;border:1px solid rgba(255,199,104,.2);border-radius:12px;background:rgba(255,199,104,.07)}
.site-device-error strong{color:#ffd790;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.site-device-error span{color:#b8a482;font-size:9px;overflow-wrap:anywhere}
@media(max-width:760px){.admin-top{gap:9px}.admin-top>div:first-of-type{display:none}.site-switcher{margin-left:0;flex:1}.site-switcher select{width:100%;max-width:none;min-width:0}.top-time{min-width:86px;font-size:8px}.site-details-panel .section-head{flex-direction:column}.site-device-grid{grid-template-columns:1fr}}
@media(max-width:430px){.site-device-facts{grid-template-columns:1fr}.top-time{min-width:78px}.site-switcher select{font-size:10px;padding-left:9px}}

/* v0.4.6 analytics visibility and card rhythm */
.admin-content>.metric-grid{margin-bottom:28px}
.admin-content>.metric-grid+.analytics-grid{margin-top:0}
.analytics-grid{gap:22px;margin-top:24px}
.analytics-grid+.analytics-grid{margin-top:24px}
.dashboard-grid{gap:22px;margin-top:24px}
.site-live-stack{gap:22px;margin-bottom:28px}
.site-device-grid,.site-health-grid{gap:16px}
.bar-chart-scroll{scroll-behavior:smooth;scrollbar-gutter:stable}
@media(max-width:760px){.admin-content>.metric-grid{margin-bottom:22px}.analytics-grid,.dashboard-grid{gap:16px;margin-top:18px}.site-live-stack{gap:16px;margin-bottom:22px}}
/* v0.5.0 operations spacing, staff management and reporting */
.ops-section{margin-top:30px}.admin-content>.data-card+.data-card,.admin-content>.metric-grid+.data-card,.two-column+.data-card{margin-top:30px}.report-metrics{margin-bottom:30px}.role-grid,.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.role-grid article,.report-grid article{padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.025)}.role-grid small,.report-grid p{display:block;margin-top:6px;color:#8297aa;line-height:1.45}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(0,0,0,.12)}.check-grid.compact{grid-template-columns:1fr;padding:8px;margin-top:8px}.span-2{grid-column:span 2}.danger-button.compact,.secondary-button.compact{min-height:38px;padding:8px 12px}.responsive-table input,.responsive-table select{max-width:190px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(0,0,0,.18);color:#dce8f2;padding:8px}
@media(max-width:760px){.span-2{grid-column:span 1}.ops-section{margin-top:22px}}
/* v0.5.3 production reporting */
.pro-reports article{display:flex;flex-direction:column;gap:10px;min-height:210px;background:linear-gradient(145deg,rgba(85,231,226,.07),rgba(109,141,255,.04));box-shadow:0 18px 46px rgba(0,0,0,.12)}
.pro-reports h3{font-size:21px;margin:0}.pro-reports p{min-height:58px}.report-actions{display:flex;gap:10px;align-items:center;margin-top:auto}.report-actions .primary-button{width:auto}.report-actions .secondary-button{width:auto}

/* v0.5.6 approvals bell, permission toasts and account sign-out polish */
.top-bell{position:relative;display:inline-grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.035);color:#dceaf5;text-decoration:none;box-shadow:inset 0 1px rgba(255,255,255,.08);transition:.18s}
.top-bell:hover{transform:translateY(-1px);border-color:rgba(124,234,227,.42);background:rgba(85,231,226,.08)}
.top-bell.has-alert{border-color:rgba(255,199,104,.48);box-shadow:0 0 22px rgba(255,199,104,.12),inset 0 1px rgba(255,255,255,.12)}
.top-bell b{position:absolute;right:-4px;top:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ff784d;color:#fff;font-size:10px;line-height:20px;text-align:center;box-shadow:0 8px 18px rgba(255,120,77,.28)}
.logout-form{margin-top:12px}.logout-button{display:flex;width:100%;min-height:42px;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025));color:#dceaf5;font-weight:800;padding:10px 13px;cursor:pointer;transition:.18s}.logout-button b{color:#8fe7df}.logout-button:hover{border-color:rgba(255,120,144,.32);background:rgba(255,120,144,.08);transform:translateY(-1px)}
.toast-stack{position:fixed;right:22px;top:22px;z-index:9999;display:grid;gap:10px;width:min(420px,calc(100vw - 32px));pointer-events:none}.toast{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 15px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(9,18,32,.94);box-shadow:0 20px 60px rgba(0,0,0,.34);color:#dceaf5;opacity:0;transform:translateY(-8px);transition:.18s;pointer-events:auto;backdrop-filter:blur(18px)}.toast.is-visible{opacity:1;transform:translateY(0)}.toast.is-leaving{opacity:0;transform:translateY(-8px)}.toast.success{border-color:rgba(85,230,165,.34)}.toast.warning{border-color:rgba(255,199,104,.34)}.toast.danger{border-color:rgba(255,120,144,.38)}.toast-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:rgba(255,255,255,.06);font-weight:900}.toast.success .toast-icon{color:#8ff0be}.toast.warning .toast-icon{color:#ffd790}.toast.danger .toast-icon{color:#ffb4c1}.toast-message{font-size:13px;line-height:1.4;overflow-wrap:anywhere}.toast-close{border:0;background:transparent;color:#89a0b5;font-size:18px;cursor:pointer}
@media(max-width:760px){.top-bell{flex-basis:38px;width:38px;height:38px}.toast-stack{right:12px;top:12px;width:calc(100vw - 24px)}}


/* v0.5.7 permission UX and approval bell polish */
.top-bell svg{width:22px;height:22px;fill:currentColor;display:block}
.top-bell span[aria-hidden="true"]{display:none}
.top-bell{color:#e8f6ff;background:linear-gradient(145deg,rgba(12,28,47,.85),rgba(21,34,57,.75));border-color:rgba(124,234,227,.18)}
.top-bell.has-alert{color:#ffd36c;border-color:rgba(255,199,104,.7);background:linear-gradient(145deg,rgba(255,199,104,.16),rgba(21,34,57,.8));box-shadow:0 0 0 1px rgba(255,199,104,.12),0 14px 34px rgba(255,199,104,.12),inset 0 1px rgba(255,255,255,.14)}
.top-bell.has-alert:after{content:"";position:absolute;inset:-5px;border:1px solid rgba(255,199,104,.35);border-radius:18px;animation:bell-glow 1.9s ease-in-out infinite;pointer-events:none}
@keyframes bell-glow{50%{transform:scale(1.05);opacity:.45}}
.top-bell b{font-weight:900}
.logout-button{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;padding:11px 13px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025));color:#dceaf5;font-weight:800;letter-spacing:-.01em;cursor:pointer;transition:.18s}.logout-button svg{width:17px;height:17px;fill:currentColor}.logout-button:hover{transform:translateY(-1px);border-color:rgba(124,234,227,.36);background:rgba(85,231,226,.08);color:#fff}.logout-button:focus-visible,.top-bell:focus-visible{outline:2px solid rgba(124,234,227,.75);outline-offset:3px}.toast.warning{border-color:rgba(255,199,104,.65);background:linear-gradient(145deg,rgba(36,28,15,.96),rgba(13,29,48,.96))}.toast.warning .toast-icon{color:#ffd790;background:rgba(255,199,104,.12)}

/* v0.5.9 voucher approval action spacing */
.voucher-approval-form{display:grid;gap:12px;min-width:190px}
.voucher-approval-form .decision-note{width:100%;min-height:42px;border-radius:12px}
.approval-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.approval-actions .compact{min-width:104px;justify-content:center}
.approve-button{border-color:rgba(124,234,227,.34)}
.reject-button{margin-left:0}
@media(max-width:760px){.approval-actions{display:grid;grid-template-columns:1fr 1fr}.approval-actions .compact{width:100%;min-width:0}}

/* v0.6.0 approval form spacing */
.voucher-approval-form{gap:16px!important;align-items:stretch!important}
.voucher-approval-form .approval-actions{display:flex!important;flex-direction:column!important;gap:14px!important;align-items:stretch!important}
.voucher-approval-form .approval-actions .compact{width:100%!important;justify-content:center!important;margin:0!important;min-height:48px!important}

/* v0.6.1 compatibility: voucher approval forms post to ID route. */

/* v0.6.5 voucher POST reliability */
.voucher-approval-form .approval-actions button{position:relative;z-index:1}

/* v0.7.0 secure voucher delivery and captive-flow reliability */
.voucher-delivery-inbox{margin-top:28px}
.delivery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:18px}
.delivery-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;border:1px solid rgba(151,222,214,.18);border-radius:18px;background:rgba(10,25,45,.52)}
.delivery-card h3{margin:10px 0 6px}.delivery-card p{margin:0 0 4px}.delivery-card small{display:block;color:var(--muted)}
.delivery-card form{flex:0 0 auto}.delivery-card .compact{min-width:128px;justify-content:center}
.voucher-approval-form[aria-busy="true"]{opacity:.7;pointer-events:none}
.portal-card form[data-submitting="true"]{pointer-events:none}
.portal-card button[aria-busy="true"]{opacity:.8}
@media(max-width:700px){.delivery-card{align-items:stretch;flex-direction:column}.delivery-card form,.delivery-card .compact{width:100%}}

/* v0.7.1 universal device onboarding */
.pairing-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;margin-top:22px;padding:17px;border:1px solid rgba(85,231,226,.2);border-radius:18px;background:linear-gradient(135deg,rgba(85,231,226,.08),rgba(109,141,255,.055))}
.pairing-card p{margin:4px 0 0;color:var(--muted);font-size:11px}.pairing-card>div:first-child>strong{display:block;margin-top:4px}.pair-code{display:flex;flex-direction:column;align-items:center;min-width:112px;padding:11px 14px;border-radius:14px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.08)}.pair-code small,.pair-code span{font-size:9px;color:var(--muted)}.pair-code b{font-size:24px;letter-spacing:.16em;color:#a8f7f2}.pairing-card .compact-link{grid-column:1/-1;width:auto;margin:0;padding:10px 14px}
.device-fallback{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:14px;color:#8398aa;font-size:11px}.device-fallback a{color:#a8f7f2;text-decoration:none;font-weight:700}
.device-connect-card,.companion-card{width:min(100%,620px);padding:34px;border-radius:30px}.device-connect-card h1,.companion-card h1{margin:14px 0 8px;font-size:36px;letter-spacing:-.04em}.device-connect-card>p,.companion-card>p{color:#aebfd0}.pair-code-input{text-transform:uppercase;letter-spacing:.22em;font-size:24px;font-weight:900;text-align:center}.device-connect-options{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);text-align:center;color:var(--muted);font-size:11px}.device-connect-options .secondary-button{margin-top:10px}.prepared-device{display:flex;flex-direction:column;gap:4px;margin:18px 0;padding:16px;border-radius:16px;background:rgba(85,230,165,.08);border:1px solid rgba(85,230,165,.2)}.prepared-device small{color:var(--muted)}.prepared-device strong{font-size:18px;letter-spacing:.04em}.device-help{margin-top:22px;padding:16px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}.device-help ol{margin:8px 0 0;padding-left:20px;color:var(--muted);font-size:12px}.paired-device{margin:20px 0;padding:16px;border-radius:16px;background:rgba(85,231,226,.07);border:1px solid rgba(85,231,226,.18)}.paired-device strong,.paired-device small{display:block}.paired-device small{margin-top:4px;color:var(--muted)}
.device-tv .ambient,.device-console .ambient{display:none}.device-tv,.device-console{background:#07111f}.device-tv .portal-shell,.device-console .portal-shell{grid-template-columns:1fr;gap:28px;align-items:start;width:min(100% - 28px,880px);padding:28px 0}.device-tv .portal-intro,.device-console .portal-intro{padding:0}.device-tv .hero-copy,.device-console .hero-copy{margin:26px 0 18px}.device-tv .hero-copy h1,.device-console .hero-copy h1{font-size:40px}.device-tv .portal-card,.device-console .portal-card{max-width:none;width:100%;backdrop-filter:none;-webkit-backdrop-filter:none}.device-tv .tab,.device-console .tab,.device-tv .primary-button,.device-console .primary-button{min-height:56px;font-size:16px}.device-tv .field input,.device-console .field input{min-height:54px;font-size:18px}.device-tv .pair-code b,.device-console .pair-code b{font-size:30px}
@media(max-width:760px){.pairing-card{grid-template-columns:1fr}.pair-code{align-items:flex-start}.pairing-card .compact-link{grid-column:auto;width:100%}.device-connect-card,.companion-card{padding:26px 20px;border-radius:24px}.device-connect-card h1,.companion-card h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){.ambient,.orb-loader span,.top-bell.has-alert:after{animation:none!important}.primary-button,.plan-glass,.toast{transition:none!important}}

/* v0.7.2 voucher approval plan identity fix */

/* v0.7.3 captive authorization finalization reliability */

/* v0.7.7 compact authenticator QR and horizontal manual setup key */
.totp-enrollment-grid{display:grid;grid-template-columns:minmax(190px,230px) minmax(0,1fr);gap:20px;align-items:start;margin-bottom:18px}
.totp-qr-card,.totp-manual-card{min-width:0;padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.025)}
.totp-qr-card>span,.totp-manual-card>span{display:block;color:#91a6b8;font-size:10px;text-transform:uppercase;letter-spacing:.11em;margin-bottom:10px}
.totp-qr{display:grid;place-items:center;width:min(100%,210px);margin:0 auto;padding:14px;border-radius:16px;background:#fff;box-shadow:0 14px 34px rgba(0,0,0,.24)}
.totp-qr svg{display:block;width:100%;height:auto;max-width:190px;aspect-ratio:1}
.totp-qr-card small,.totp-manual-card small{display:block;color:#8197aa;font-size:11px;line-height:1.55;margin-top:12px}
.totp-manual-card .manual-secret{margin-bottom:12px}
.totp-manual-card .manual-secret code{white-space:nowrap;overflow-x:auto;overflow-y:hidden;overflow-wrap:normal;word-break:normal;display:block;max-width:100%;letter-spacing:.06em}
.manual-secret button{min-height:42px;padding-inline:16px;font-weight:800}
.manual-secret code:focus{outline:2px solid rgba(85,231,226,.7);outline-offset:3px}
@media(max-width:900px){.totp-enrollment-grid{grid-template-columns:1fr}.totp-qr{width:min(100%,210px)}}
@media(max-width:440px){.totp-qr-card,.totp-manual-card{padding:13px}.totp-qr{padding:12px;width:100%}}

/* v0.7.8 misuse accountability and enforcement */
.abuse-intake{padding:0;overflow:hidden}.abuse-intake details>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;cursor:pointer;list-style:none}.abuse-intake details>summary::-webkit-details-marker{display:none}.abuse-intake summary span{display:flex;flex-direction:column;gap:4px}.abuse-intake summary b{font-size:15px}.abuse-intake summary small{color:var(--muted);font-size:10px}.abuse-intake summary i{font-style:normal;font-size:20px;color:var(--cyan)}.abuse-report-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 24px 24px;border-top:1px solid rgba(255,255,255,.06);padding-top:20px}.abuse-report-form .field{margin:0}.abuse-report-form textarea{min-height:110px;resize:vertical}.abuse-span-two{grid-column:span 3}.abuse-form-actions{display:flex;align-items:center;gap:14px;justify-content:space-between}.abuse-form-actions small{max-width:560px;color:var(--muted);font-size:10px}.abuse-case-list{display:grid;gap:14px}.abuse-case{padding:20px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(255,255,255,.022)}.abuse-case.warning{border-color:rgba(255,199,104,.22)}.abuse-case.danger{border-color:rgba(255,105,125,.25)}.abuse-case-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.abuse-case-head>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.abuse-case-head time{color:var(--muted);font-size:10px;white-space:nowrap}.abuse-case h3{margin:14px 0 6px;font-size:18px}.abuse-case>p{margin:0;color:#95a8ba;font-size:12px;line-height:1.65}.abuse-attribution{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.abuse-attribution>div{min-width:0;padding:12px;border-radius:13px;background:rgba(0,0,0,.14);border:1px solid rgba(255,255,255,.04)}.abuse-attribution small,.abuse-attribution strong,.abuse-attribution span{display:block}.abuse-attribution small{color:#6f879c;font-size:8px;text-transform:uppercase;letter-spacing:.09em}.abuse-attribution strong{margin-top:5px;color:#dce8f1;font-size:11px;overflow-wrap:anywhere}.abuse-attribution span{margin-top:4px;color:#7890a5;font-size:9px;overflow-wrap:anywhere}.abuse-evidence{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.abuse-evidence summary{cursor:pointer;color:#b8c9d7;font-size:11px;font-weight:700}.abuse-evidence p{color:#8297a9;font-size:10px;line-height:1.6}.abuse-evidence code{display:block;padding:10px;border-radius:10px;background:rgba(0,0,0,.18);color:#8fded9;font-size:9px;overflow-wrap:anywhere}.abuse-case-actions{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-top:16px;padding-top:15px;border-top:1px solid rgba(255,255,255,.06)}.abuse-case-actions label{display:flex;flex-direction:column;gap:6px}.abuse-case-actions label span{color:#778da1;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.abuse-case-actions input,.abuse-case-actions select{width:100%;min-height:42px}.abuse-action-buttons{grid-column:1/-1;display:flex;gap:9px;flex-wrap:wrap}.danger-button{border:1px solid rgba(255,105,125,.3);border-radius:12px;background:rgba(255,105,125,.12);color:#ffb7c1;font-weight:800;cursor:pointer;padding:11px 14px}.danger-button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:900px){.abuse-report-form{grid-template-columns:repeat(2,minmax(0,1fr))}.abuse-span-two{grid-column:1/-1}.abuse-attribution{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.abuse-report-form{grid-template-columns:1fr;padding:18px}.abuse-span-two{grid-column:auto}.abuse-form-actions{align-items:stretch;flex-direction:column}.abuse-attribution{grid-template-columns:1fr}.abuse-case{padding:16px}.abuse-case-head{flex-direction:column}.abuse-case-actions{grid-template-columns:1fr}.abuse-action-buttons{display:grid;grid-template-columns:1fr 1fr}.abuse-action-buttons button{width:100%}}

/* v0.8.0 plan controls */
.plan-admin-actions{min-width:116px}.plan-admin-actions form{margin:3px 0 0}.plan-admin-actions .icon-danger{padding:6px 9px}.admin-plan-list article>div.plan-admin-actions{display:flex;align-items:flex-end;flex-direction:column;gap:5px}
@media(max-width:640px){.admin-plan-list article{grid-template-columns:42px minmax(0,1fr)}.admin-plan-list article>div.plan-admin-actions{grid-column:2;align-items:flex-start;flex-direction:row;flex-wrap:wrap}.plan-admin-actions form{margin:0}}

/* v0.8.1 analytics reliability and visible empty states */
.analytics-notice{display:flex;align-items:flex-start;gap:12px;margin:4px 0 12px;padding:11px 13px;border:1px solid rgba(85,231,226,.14);border-radius:13px;background:linear-gradient(135deg,rgba(85,231,226,.055),rgba(109,141,255,.035));color:#8fa5b9}
.analytics-notice span{flex:0 0 auto;color:#77ddd8;font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.analytics-notice p{margin:0;font-size:10px;line-height:1.55}
.bar-chart{position:relative;background:repeating-linear-gradient(to top,rgba(255,255,255,.035) 0,rgba(255,255,255,.035) 1px,transparent 1px,transparent 47px);border-bottom:1px solid rgba(255,255,255,.07)}
.bar-pair{position:relative;z-index:1}
.season-grid:empty:before{content:"Season history is preparing";grid-column:1/-1;display:grid;place-items:center;min-height:170px;border:1px dashed rgba(255,255,255,.11);border-radius:16px;color:#73899d;font-size:11px}
@media(max-width:760px){.analytics-notice{flex-direction:column;gap:4px}.season-grid{overflow-x:auto;grid-template-columns:repeat(12,minmax(150px,1fr));padding-bottom:5px}.season-grid article{min-width:150px}}
/* v0.8.4 release identity */
.system-version{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 13px;padding:8px 10px;border:1px solid rgba(85,231,226,.13);border-radius:11px;background:rgba(85,231,226,.055);color:#7790a6;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.system-version strong{color:#aef4ef;font-size:10px;letter-spacing:.04em}.portal-footer{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;padding:16px 20px 22px;text-align:center}.portal-footer span{opacity:.5}.waiting-card .text-link{display:block;margin-top:15px;color:#86a2b9;text-align:center;text-decoration:none;font-size:12px}.waiting-card .text-link:hover{color:#bfeeed}

/* v0.8.6 captive-browser navigation and responsive reliability */
html,body{min-height:100%;min-height:100dvh}.portal-body{min-height:100dvh;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}.portal-shell{min-height:calc(100vh - 54px);min-height:calc(100dvh - 54px)}.portal-card,.waiting-card,.success-card{min-width:0}.portal-card form[aria-busy="true"]{cursor:progress}.primary-button[aria-busy="true"],.secondary-button[aria-busy="true"]{opacity:.78;cursor:progress;transform:none}.checkout-launch-button{margin-top:18px}.checkout-help{display:block;margin-top:12px;line-height:1.55}.status-message{overflow-wrap:anywhere}.pairing-card p,.pairing-card b,.device-fallback,.support-line{overflow-wrap:anywhere}.phone-field input{min-width:0}.portal-footer{padding-bottom:max(22px,env(safe-area-inset-bottom))}
@media(max-width:760px){.portal-shell{width:min(100% - 16px,620px);padding:max(12px,env(safe-area-inset-top)) 0 12px;gap:16px}.portal-intro{padding:0 6px}.hero-copy{margin:26px 0 18px}.hero-copy h1{font-size:clamp(37px,11vw,46px)}.hero-copy p{font-size:14px;line-height:1.55}.portal-card{width:100%;padding:20px 16px;border-radius:22px}.card-head{gap:12px}.tabs{margin:22px 0}.tab{min-width:0;padding:11px 7px}.plan-glass{padding:14px}.primary-button,.secondary-button{min-height:52px}.phone-field b{padding-inline:10px}.waiting-card,.success-card{width:100%;padding:28px 17px;border-radius:24px}.waiting-card h1,.success-card h1{font-size:clamp(30px,9vw,38px)}.center-shell{width:min(100% - 16px,660px);padding:max(12px,env(safe-area-inset-top)) 0 max(18px,env(safe-area-inset-bottom))}.checkout-launch-button{position:relative;z-index:1}}
@media(max-width:390px){.portal-shell{width:min(100% - 10px,620px)}.portal-card{padding:18px 13px}.plan-meta{font-size:10px}.phone-field b{font-size:11px}.terms{font-size:10px}.pairing-card{padding:14px}.pair-code b{font-size:23px;letter-spacing:.12em}}
@media(max-width:760px) and (max-height:720px){.hero-copy{margin:16px 0 12px}.hero-copy p{margin-bottom:0}.trust-row{margin-top:15px}.portal-card{padding-top:18px}}

/* v0.8.10 Captive Wi-Fi Pesapal handoff */
.payment-progress-body{min-height:100dvh;overflow-x:hidden;overflow-y:auto;background:radial-gradient(circle at 18% 4%,rgba(38,154,187,.26),transparent 34%),radial-gradient(circle at 84% 92%,rgba(133,75,219,.24),transparent 38%),linear-gradient(155deg,#06101c 0%,#0a1a30 52%,#120d2b 100%)}
.payment-progress-shell{width:min(100% - 28px,640px);padding:max(22px,env(safe-area-inset-top)) 0 max(18px,env(safe-area-inset-bottom));place-items:center}
.payment-progress-card{position:relative;width:100%;padding:24px;border-radius:30px;overflow:hidden;text-align:left;isolation:isolate}
.payment-progress-card:before{content:"";position:absolute;z-index:-1;inset:-1px;background:linear-gradient(135deg,rgba(91,235,229,.16),transparent 35%,transparent 70%,rgba(169,105,255,.14));pointer-events:none}
.payment-progress-card:after{content:"";position:absolute;z-index:-1;width:250px;height:250px;border-radius:50%;right:-150px;top:115px;background:radial-gradient(circle,rgba(90,133,255,.22),transparent 68%);pointer-events:none}
.payment-progress-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.09)}
.payment-security-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(85,231,226,.2);border-radius:999px;background:rgba(85,231,226,.07);color:#aaf4ef;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.payment-security-badge svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.payment-progress-hero{text-align:center;padding:25px 8px 18px}
.payment-status-orb{position:relative;display:grid;place-items:center;width:66px;height:66px;margin:0 auto 18px;border:1px solid rgba(85,231,226,.28);border-radius:22px;background:linear-gradient(145deg,rgba(85,231,226,.18),rgba(109,141,255,.13));box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 16px 42px rgba(31,181,205,.16)}
.payment-status-orb>span{position:absolute;inset:7px;border:1px solid rgba(85,231,226,.18);border-radius:17px;animation:paymentOrbPulse 2.2s ease-out infinite}
.payment-status-orb>span:nth-child(2){animation-delay:1.1s}
.payment-status-orb svg{width:31px;height:31px;fill:none;stroke:#8ef1ed;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@keyframes paymentOrbPulse{0%{transform:scale(.76);opacity:.85}100%{transform:scale(1.34);opacity:0}}
.payment-progress-hero h1{margin:8px 0 8px;font-size:clamp(32px,7vw,43px);line-height:1;letter-spacing:-.045em}
.payment-progress-hero p{max-width:510px;margin:0 auto;color:#afc0d1;font-size:14px;line-height:1.6}
.payment-order-summary{display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;gap:17px;margin:0 0 20px;padding:13px 15px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:rgba(1,9,18,.23);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.payment-order-summary span{display:flex;min-width:0;flex-direction:column;text-align:center}
.payment-order-summary small{color:#7890a7;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.payment-order-summary strong{margin-top:2px;overflow:hidden;color:#edf8ff;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.payment-order-summary i{width:1px;height:31px;background:rgba(255,255,255,.1)}
.payment-progress-flow{position:relative;display:grid;gap:0;margin:0;padding:5px 0 4px;list-style:none}
.payment-progress-flow:before{display:none}
.payment-progress-flow li{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;padding:11px 0;color:#70869b}
.payment-progress-flow li:not(:last-child):after{content:"";position:absolute;z-index:0;left:17px;top:52px;bottom:-8px;width:1px;background:linear-gradient(rgba(85,231,226,.82),rgba(109,141,255,.32));pointer-events:none}
.payment-progress-flow li:nth-child(2):not(:last-child):after{background:linear-gradient(rgba(109,141,255,.42),rgba(255,255,255,.1))}
.payment-step-marker{position:relative;z-index:1;display:grid;place-items:center;width:35px;height:35px;border:1px solid #39516a;border-radius:12px;background:#0b1929;color:#7790a6;font-size:12px;font-weight:900;transition:.22s ease}
.payment-step-content{min-width:0;padding:3px 0 5px}
.payment-step-content>strong{display:block;color:#8ba0b5;font-size:14px;line-height:1.35;transition:.22s ease}
.payment-step-content>small{display:block;margin-top:5px;color:#6f8498;font-size:10px;line-height:1.5}
.payment-progress-flow li.is-active .payment-step-marker{border-color:rgba(85,231,226,.78);background:linear-gradient(145deg,rgba(85,231,226,.2),rgba(109,141,255,.15));color:#b7fffb;box-shadow:0 0 0 5px rgba(85,231,226,.06),0 0 24px rgba(85,231,226,.14)}
.payment-progress-flow li.is-active .payment-step-content>strong{color:#f3fbff}
.payment-progress-flow li.is-done .payment-step-marker{border-color:rgba(85,230,165,.58);background:rgba(85,230,165,.13);color:#a5f2cc}
.payment-progress-flow li.is-done .payment-step-marker:after{content:"✓";font-size:15px}
.payment-progress-flow li.is-done .payment-step-marker{font-size:0}
.payment-progress-flow li.is-done .payment-step-content>strong{color:#bce6d3}
.payment-step-detail{position:relative;z-index:1;display:flex;align-items:center;gap:10px;margin-top:9px;padding:9px 11px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.045)}
.payment-mobile-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:linear-gradient(145deg,rgba(85,231,226,.15),rgba(109,141,255,.12));color:#84ebe7}
.payment-mobile-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.payment-step-detail>span:last-child{display:flex;min-width:0;flex-direction:column}
.payment-step-detail small{color:#7890a7;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.payment-step-detail b{color:#f5fbff;font-size:14px;letter-spacing:.025em}
.payment-step-amount{margin-top:7px;color:#f7fbff;font-size:24px;font-weight:850;letter-spacing:-.035em}
.payment-countdown-row{display:flex;align-items:center;gap:8px;margin:15px 0 12px;padding:12px 14px;border:1px solid rgba(255,199,104,.17);border-radius:14px;background:linear-gradient(100deg,rgba(255,199,104,.08),rgba(255,255,255,.035));color:#c7d4df;font-size:11px}
.payment-countdown-row svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:#ffd68d;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.payment-countdown-row span{flex:1}
.payment-countdown-row strong{color:#ffe1aa;font-size:17px;font-variant-numeric:tabular-nums;letter-spacing:.03em}
.payment-countdown-row.is-expired{border-color:rgba(255,120,144,.22);background:rgba(255,120,144,.08)}
.payment-countdown-row.is-expired svg,.payment-countdown-row.is-expired strong{color:#ffafbd;stroke:#ffafbd}
.payment-live-status{display:flex;align-items:flex-start;gap:9px;min-height:44px;margin-bottom:12px;padding:11px 13px;border:1px solid rgba(85,231,226,.13);border-radius:13px;background:rgba(85,231,226,.055);color:#b9cedd;font-size:11px;line-height:1.5}
.payment-live-dot{width:8px;height:8px;flex:0 0 auto;margin-top:4px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 5px rgba(85,231,226,.08);animation:paymentStatusPulse 1.6s ease-in-out infinite}
.payment-live-status.failed{border-color:rgba(255,120,144,.25);background:rgba(255,120,144,.08);color:#ffc0cb}
.payment-live-status.failed .payment-live-dot{background:var(--red);box-shadow:0 0 0 5px rgba(255,120,144,.08);animation:none}
.payment-live-status.success{border-color:rgba(85,230,165,.23);background:rgba(85,230,165,.08);color:#b8f1d4}
.payment-live-status.success .payment-live-dot{background:var(--green);box-shadow:0 0 0 5px rgba(85,230,165,.08)}
@keyframes paymentStatusPulse{50%{opacity:.45;transform:scale(.78)}}
.payment-confirm-button{min-height:54px;margin-top:0;border-radius:16px;font-size:14px}
.payment-confirm-button[aria-busy="true"] span:after{content:"…"}
.payment-assurance{display:block;margin:11px auto 0;max-width:490px;color:#73899d;text-align:center;font-size:10px;line-height:1.5}
.payment-return-button{min-height:46px;margin-top:12px;font-size:12px}
.payment-cancel-link{display:block;margin-top:13px;color:#7f98ad;text-align:center;text-decoration:none;font-size:11px}
.payment-cancel-link:hover{color:#bfeeed}
.payment-support-line{display:flex;justify-content:center;gap:7px;margin-top:12px;color:#6f869a;font-size:10px}
.payment-support-line a{color:#a4ece8;text-decoration:none}
@media(max-width:520px){.payment-progress-shell{width:min(100% - 14px,640px);padding-top:max(9px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom))}.payment-progress-card{padding:18px 15px;border-radius:24px}.payment-progress-header{padding-bottom:15px}.payment-security-badge{padding:6px 8px;font-size:8px}.payment-progress-header .portal-brand small{font-size:9px}.payment-progress-hero{padding:19px 2px 14px}.payment-status-orb{width:56px;height:56px;margin-bottom:15px;border-radius:19px}.payment-status-orb svg{width:27px;height:27px}.payment-progress-hero h1{font-size:clamp(29px,9vw,37px)}.payment-progress-hero p{font-size:12px;line-height:1.5}.payment-order-summary{margin-bottom:13px;padding:11px 10px;gap:10px}.payment-progress-flow li{grid-template-columns:32px minmax(0,1fr);gap:11px;padding:8px 0}.payment-progress-flow:before{display:none}.payment-progress-flow li:not(:last-child):after{left:15px;top:45px;bottom:-7px}.payment-step-marker{width:31px;height:31px;border-radius:10px}.payment-step-content{padding-top:2px}.payment-step-content>strong{font-size:12px}.payment-step-content>small{font-size:9px}.payment-step-detail{margin-top:7px;padding:7px 9px}.payment-step-amount{font-size:21px}.payment-countdown-row{margin:11px 0 9px;padding:10px 11px}.payment-live-status{min-height:40px;margin-bottom:10px;padding:9px 11px}.payment-confirm-button{min-height:50px}.payment-assurance{margin-top:8px;font-size:9px}.payment-support-line{margin-top:10px}}
@media(max-height:730px) and (max-width:520px){.payment-progress-card{padding-top:14px;padding-bottom:14px}.payment-progress-header{padding-bottom:11px}.payment-progress-hero{padding:12px 2px 8px}.payment-status-orb{width:46px;height:46px;margin-bottom:10px;border-radius:16px}.payment-status-orb svg{width:23px;height:23px}.payment-progress-hero h1{margin:5px 0 6px;font-size:29px}.payment-progress-hero p{font-size:11px}.payment-order-summary{margin-bottom:8px;padding:8px 9px}.payment-progress-flow li{padding:5px 0}.payment-step-detail{margin-top:5px;padding:6px 8px}.payment-step-content>small{margin-top:3px;line-height:1.35}.payment-step-amount{margin-top:4px;font-size:19px}.payment-countdown-row{margin:8px 0 7px;padding:8px 10px}.payment-live-status{margin-bottom:8px;padding:8px 10px}.payment-confirm-button{min-height:47px;padding-block:11px}.payment-assurance{line-height:1.35}.payment-return-button{min-height:42px;margin-top:8px}.payment-cancel-link,.payment-support-line{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.payment-status-orb>span,.payment-live-dot{animation:none!important}}


/* Embedded Pesapal checkout: same-origin shell for captive browsers. */
.pesapal-embed-body{min-height:100dvh;overflow-x:hidden;overflow-y:auto;background:radial-gradient(circle at 12% 0,rgba(45,181,205,.22),transparent 31%),radial-gradient(circle at 92% 100%,rgba(139,80,229,.22),transparent 35%),linear-gradient(155deg,#06101c,#0a1830 58%,#110d29)}
.pesapal-embed-shell{position:relative;z-index:2;width:min(100% - 22px,760px);min-height:calc(100dvh - 54px);margin:0 auto;padding:max(12px,env(safe-area-inset-top)) 0 14px}
.pesapal-embed-header{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px;padding:10px 12px;border-radius:20px;margin-bottom:10px}
.pesapal-embed-header .portal-brand{justify-self:center;min-width:0}.pesapal-embed-header .portal-brand>span:last-child{min-width:0}.pesapal-embed-header .portal-brand strong,.pesapal-embed-header .portal-brand small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pesapal-embed-back,.pesapal-embed-lock{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.055);color:#b8d9e4;text-decoration:none}
.pesapal-embed-back{font-size:21px}.pesapal-embed-lock svg{width:17px;height:17px;fill:none;stroke:#8ef1ed;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pesapal-embed-summary{display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;gap:12px;padding:10px 14px;margin-bottom:10px;border-radius:18px}
.pesapal-embed-summary span{display:flex;min-width:0;flex-direction:column;text-align:center}.pesapal-embed-summary small{color:#7890a7;font-size:8px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.pesapal-embed-summary strong{overflow:hidden;color:#effaff;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.pesapal-embed-summary i{width:1px;height:28px;background:rgba(255,255,255,.11)}
.pesapal-frame-card{position:relative;height:clamp(560px,72dvh,820px);min-height:560px;overflow:hidden;border-radius:25px;background:#fff}
.pesapal-checkout-frame{display:block;width:100%;height:100%;border:0;background:#fff;color-scheme:light}
.pesapal-frame-loading{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;padding:28px;background:linear-gradient(155deg,#09192d,#10122b);color:#effaff;text-align:center;transition:opacity .25s ease,visibility .25s ease}
.pesapal-frame-loading.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.pesapal-frame-loading strong{font-size:15px}.pesapal-frame-loading small{max-width:320px;color:#8fa7ba;font-size:11px;line-height:1.5}
.pesapal-frame-spinner{width:34px;height:34px;border:3px solid rgba(255,255,255,.13);border-top-color:var(--cyan);border-radius:50%;animation:pesapalFrameSpin .8s linear infinite}@keyframes pesapalFrameSpin{to{transform:rotate(360deg)}}
.pesapal-frame-status{display:flex;align-items:flex-start;gap:9px;margin-top:10px;padding:10px 12px;border:1px solid rgba(85,231,226,.14);border-radius:14px;background:rgba(85,231,226,.055);color:#b8cedd;font-size:11px;line-height:1.45}.pesapal-frame-status.failed{border-color:rgba(255,120,144,.22);background:rgba(255,120,144,.08);color:#ffc0cb}.pesapal-frame-status.failed .payment-live-dot{background:var(--red);box-shadow:0 0 0 5px rgba(255,120,144,.08);animation:none}
.pesapal-frame-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:10px}.pesapal-frame-actions .secondary-button{min-height:46px;margin:0}.pesapal-frame-actions .text-link{white-space:nowrap;font-size:11px}
.pesapal-frame-note{max-width:620px;margin:10px auto 0;color:#7890a5;text-align:center;font-size:10px;line-height:1.5}
@media(max-width:520px){.pesapal-embed-shell{width:min(100% - 10px,760px);padding-top:max(6px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom))}.pesapal-embed-header{grid-template-columns:38px minmax(0,1fr) 38px;padding:8px;border-radius:17px}.pesapal-embed-back,.pesapal-embed-lock{width:34px;height:34px;border-radius:11px}.pesapal-embed-header .brand-mark{width:30px;height:30px}.pesapal-embed-header .portal-brand strong{font-size:13px}.pesapal-embed-header .portal-brand small{font-size:8px}.pesapal-embed-summary{padding:8px 10px;margin-bottom:7px;border-radius:15px}.pesapal-frame-card{height:calc(100dvh - 245px);min-height:470px;border-radius:20px}.pesapal-frame-status{margin-top:7px;padding:8px 10px;font-size:10px}.pesapal-frame-actions{grid-template-columns:1fr;gap:7px;margin-top:7px}.pesapal-frame-actions .secondary-button{min-height:43px}.pesapal-frame-actions .text-link{text-align:center}.pesapal-frame-note{margin-top:7px;padding:0 8px;font-size:9px}}
@media(max-height:700px) and (max-width:520px){.pesapal-embed-header{margin-bottom:6px}.pesapal-embed-summary{display:none}.pesapal-frame-card{height:calc(100dvh - 132px);min-height:430px}.pesapal-frame-status{display:none}.pesapal-frame-actions{margin-top:6px}.pesapal-frame-note{display:none}}
@media(prefers-reduced-motion:reduce){.pesapal-frame-spinner{animation:none}}

/* Captive-browser-safe Pesapal handoff. */
.pesapal-handoff-body{min-height:100dvh;overflow-x:hidden;background:radial-gradient(circle at 12% 0,rgba(45,181,205,.24),transparent 31%),radial-gradient(circle at 92% 100%,rgba(139,80,229,.25),transparent 36%),linear-gradient(155deg,#06101c,#0a1830 58%,#110d29)}
.pesapal-handoff-shell{position:relative;z-index:2;width:min(100% - 18px,640px);min-height:calc(100dvh - 54px);padding:max(12px,env(safe-area-inset-top)) 0 max(16px,env(safe-area-inset-bottom))}
.pesapal-handoff-card{width:100%;padding:24px;border-radius:28px}
.pesapal-handoff-hero{text-align:center;padding:24px 4px 18px}.pesapal-handoff-hero h1{margin:7px 0 8px;color:#f5fbff;font-size:clamp(34px,8vw,48px);letter-spacing:-.045em}.pesapal-handoff-hero p{max-width:480px;margin:0 auto;color:#9fb4c6;font-size:13px;line-height:1.6}.pesapal-handoff-hero strong{color:#eefcff}
.pesapal-handoff-status{display:flex;align-items:center;gap:13px;margin:18px 0 14px;padding:15px;border:1px solid rgba(85,231,226,.15);border-radius:17px;background:rgba(85,231,226,.06);color:#d9f5f3}.pesapal-handoff-status>span:last-child{display:flex;min-width:0;flex-direction:column;gap:3px}.pesapal-handoff-status strong{font-size:13px}.pesapal-handoff-status small{color:#88a3b7;font-size:10px;line-height:1.45}.pesapal-handoff-status.is-waiting{border-color:rgba(255,205,122,.2);background:rgba(255,205,122,.07)}
.pesapal-handoff-form{margin:0}.pesapal-handoff-form .primary-button{width:100%}.pesapal-handoff-form[aria-busy="true"] .primary-button{opacity:.78;cursor:progress}
@media(max-width:520px){.pesapal-handoff-shell{width:min(100% - 12px,640px);padding-top:max(8px,env(safe-area-inset-top))}.pesapal-handoff-card{padding:18px 15px;border-radius:24px}.pesapal-handoff-hero{padding:20px 2px 14px}.pesapal-handoff-hero h1{font-size:clamp(31px,9vw,39px)}.pesapal-handoff-hero p{font-size:12px}.pesapal-handoff-status{margin:13px 0 11px;padding:12px}.pesapal-handoff-status strong{font-size:12px}}
@media(max-height:700px) and (max-width:520px){.pesapal-handoff-card{padding-top:14px}.pesapal-handoff-hero{padding:12px 2px 10px}.pesapal-handoff-hero .payment-status-orb{width:48px;height:48px;margin-bottom:10px}.pesapal-handoff-hero h1{font-size:30px}.pesapal-handoff-status{margin:9px 0}.pesapal-handoff-status small{display:none}}
