:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1c2734;background:#eef1f5;font-synthesis:none}*{box-sizing:border-box}html{min-width:320px}body{margin:0;min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #75a5f7;outline-offset:2px}a{color:inherit}svg{width:20px;height:20px;flex:none}h1,h2,h3,p{margin-top:0}[hidden]{display:none!important}#app{min-height:100vh}.challenge-bar{height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 clamp(14px,3vw,38px);background:#162339;color:#e8edf4;font-size:11px;letter-spacing:.01em}.challenge-left{display:flex;align-items:center;gap:9px;min-width:0}.challenge-bar svg{width:15px;height:15px;color:#82c2ff}.challenge-bar strong{white-space:nowrap;font-weight:700}.challenge-bar span{color:#a7b4c7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.challenge-bar a{color:#c7d7ee;text-decoration:none;white-space:nowrap}.challenge-bar a:hover{text-decoration:underline}.quiet-footer{padding:17px 20px 22px;color:#748092;font-size:11px;text-align:center;line-height:1.4}.kicker,.eyebrow,.dialog-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.setup-error{max-width:700px;margin:10vh auto;padding:30px;background:#fff;border-radius:12px}.setup-error h1{font-size:30px}.setup-error p{color:#5e6977}

/* Entry point */
.landing{max-width:1120px;margin:0 auto;min-height:calc(100vh - 94px);padding:clamp(55px,9vw,110px) 26px 70px;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(35px,7vw,100px);align-items:center}.landing-copy .kicker{color:#3569bd}.landing h1{font-size:clamp(48px,6vw,86px);line-height:1.02;letter-spacing:-.075em;margin:19px 0 24px;color:#172943}.landing-copy>p{font-size:17px;line-height:1.68;color:#516075;max-width:490px}.landing-note{display:flex;align-items:center;gap:10px;border-top:1px solid #d6dee9;margin-top:38px;padding-top:20px;color:#617083;font-size:12px}.landing-note svg{color:#496eaa;width:17px;height:17px}.landing-list{padding:20px 0}.list-caption{color:#708095;font-size:11px;letter-spacing:.12em;font-weight:800;text-transform:uppercase;margin-bottom:13px}.landing-item{min-height:90px;display:flex;align-items:center;gap:16px;padding:13px 16px;margin-bottom:8px;text-decoration:none;background:#fff;border:1px solid #dbe1e9;border-radius:13px;box-shadow:0 6px 20px #24395108;transition:transform .2s,border-color .2s,box-shadow .2s}.landing-item:hover{transform:translateX(4px);border-color:#9db9e0;box-shadow:0 12px 25px #24395112}.landing-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:11px;background:#e8f2fc;color:#1c5a9b}.landing-calendar{background:#eef0fc;color:#5a65ad}.landing-mfa{background:#e8f4ef;color:#28735e}.landing-oauth{background:#f8ede4;color:#9c5a29}.landing-device{background:#f0ebf6;color:#735492}.landing-item-text{display:grid;gap:5px;min-width:0;flex:1}.landing-item-text strong{font-size:15px;letter-spacing:-.02em}.landing-item-text small{color:#667588;font-size:12px;line-height:1.3}.landing-index{font-size:11px;color:#9da8b8;font-weight:800}.landing-item>svg{width:17px;color:#7588a1}

/* Shared controls and dialogs */
.icon-button{border:0;background:transparent;color:#56657a;display:grid;place-items:center;width:34px;height:34px;border-radius:8px}.icon-button:hover{background:#eef2f7;color:#1f354d}.text-button,.subtle-link{border:0;background:none;color:#315d9e;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:8px;padding:10px 0}.text-button:hover,.subtle-link:hover{text-decoration:underline}.text-button svg,.subtle-link svg{width:17px;height:17px}.primary-control,.action-button,.mail-primary,.submit-report,.phone-main-button,.auth-confirm{border:0;background:#1763c4;color:white;border-radius:6px;min-height:40px;padding:9px 17px;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .18s,transform .18s}.primary-control:hover,.action-button:hover,.mail-primary:hover,.submit-report:hover,.phone-main-button:hover,.auth-confirm:hover{background:#0b52ab;transform:translateY(-1px)}.primary-control svg,.mail-primary svg,.submit-report svg{width:16px;height:16px}.light-control{background:white;border:1px solid #d7e0ec;color:#35628f;border-radius:6px;min-height:40px;padding:8px 13px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:7px}.light-control:hover{background:#f5f8fc}.light-control svg{width:16px;height:16px}
dialog{border:0;max-width:min(92vw,520px);max-height:calc(100dvh - 24px);overflow-y:auto;width:100%;padding:0;box-shadow:0 27px 90px #0b19294d;border-radius:14px;color:#1c2734;animation:dialog-in .22s ease both}dialog::backdrop{background:#0c203c9c;backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.dialog-icon{width:38px;height:38px;display:grid;place-items:center;background:#e8f0fb;color:#175fb7;border-radius:10px}.dialog-icon svg{width:20px;height:20px}.dialog-content{padding:13px 26px 26px}.dialog-kicker{color:#426ea5;margin-bottom:9px}.dialog-content h2,.outcome-dialog h2{font-size:25px;letter-spacing:-.045em;margin:0 0 9px}.dialog-content>p,.outcome-dialog>p{color:#5f6e7f;line-height:1.55;font-size:13px;margin-bottom:22px}.dialog-content form{display:grid}.dialog-content label{font-size:12px;font-weight:700;color:#344357;margin-bottom:8px}.dialog-content textarea,.dialog-content input{width:100%;padding:12px;border:1px solid #cad4df;border-radius:7px;color:#243345;background:#fff;font-size:13px;line-height:1.45}.dialog-content textarea{resize:vertical;min-height:90px;margin-bottom:17px}.dialog-content input{margin-bottom:5px}.field-error{font-size:12px;color:#a8343b;min-height:20px;line-height:1.45;margin-top:5px}.dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:19px}.dialog-actions>button:first-child{border:1px solid #cad4df;background:white;color:#4c5969;padding:9px 16px;border-radius:6px;font-size:13px}.dialog-actions>button:first-child:hover{background:#f4f6f9}.outcome-dialog{padding:34px 38px 37px}.outcome-symbol{width:54px;height:54px;display:grid;place-items:center;background:#fff0e9;color:#a04d2d;border-radius:50%;margin-bottom:22px}.outcome-symbol svg{width:27px;height:27px}.outcome-dialog .dialog-kicker{color:#a04d2d}.outcome-lesson{display:grid;gap:7px;padding:15px 17px;background:#f8f3ef;border-left:3px solid #bf7652;margin:20px 0 24px;font-size:12px;line-height:1.5}.outcome-lesson strong{color:#6d432d}.outcome-lesson span{color:#5c646e}.success-dialog .outcome-symbol{color:#227a67;background:#e4f4ef}.success-dialog .dialog-kicker{color:#227a67}.final-flag{display:grid;gap:9px;padding:16px;background:#eff5f3;border:1px solid #cbded7;border-radius:8px;margin:24px 0}.final-flag span{font-size:11px;font-weight:800;color:#467565;letter-spacing:.06em;text-transform:uppercase}.final-flag code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;font-weight:800;overflow-wrap:anywhere;color:#183d35}.copy-status{font-size:11px;color:#607267;margin-top:14px;line-height:1.5}

/* Browser simulation */
.browser-stage{padding:36px clamp(16px,4vw,45px) 20px;min-height:calc(100vh - 94px);display:grid;place-items:center}.browser-window{width:min(100%,1130px);background:#fff;border:1px solid #cbd4df;border-radius:13px;overflow:visible;box-shadow:0 22px 75px #34425424}.browser-chrome{background:#e8edf3;border-radius:13px 13px 0 0;border-bottom:1px solid #cbd5df}.browser-top{height:34px;display:flex;align-items:end;padding:0 14px;gap:18px}.browser-dots{display:flex;gap:5px;align-self:center}.browser-dots i{width:8px;height:8px;background:#abb7c5;border-radius:50%}.browser-dots i:first-child{background:#d3aaa2}.browser-tab{height:27px;min-width:170px;display:flex;align-items:center;gap:7px;background:#fff;border-radius:8px 8px 0 0;padding:0 11px;font-size:11px;color:#445266}.browser-tab svg{width:13px;height:13px}.browser-nav{height:50px;display:flex;align-items:center;gap:11px;padding:0 13px;position:relative}.browser-back{width:25px;color:#68788c}.browser-back svg{width:17px;height:17px}.browser-address{min-width:0;flex:1;height:33px;display:flex;align-items:center;gap:8px;padding:0 12px;background:#fff;border:1px solid #d0dae4;border-radius:6px;color:#506070;text-align:left;font-size:12px}.browser-address:hover{border-color:#98b8dc}.browser-address svg{width:13px;height:13px;color:#667a8c}.address-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browser-menu-wrap{position:relative}.browser-menu{position:absolute;right:0;top:37px;width:240px;z-index:10;padding:8px;background:white;border:1px solid #dce3ec;border-radius:8px;box-shadow:0 14px 35px #1a2e4938}.browser-menu-title{font-size:10px;font-weight:800;color:#8995a4;padding:8px 10px;text-transform:uppercase;letter-spacing:.07em}.browser-menu button{width:100%;display:flex;gap:9px;align-items:center;border:0;background:none;color:#344256;text-align:left;padding:10px;border-radius:5px;font-size:12px}.browser-menu button:hover{background:#eef4fb}.browser-menu button svg{width:16px;height:16px}.browser-menu>span{display:block;border-top:1px solid #e4e8ee;color:#8d98a7;font-size:10px;margin-top:5px;padding:10px}.browser-preview{padding:12px 18px;background:#f5f8fc;border-bottom:1px solid #d7e2ef}.browser-window>.address-inspection{margin:16px}.address-inspection{padding:11px 13px;background:#f3f7fc;border:1px solid #d4e2f3;border-radius:7px;font-size:11px}.address-inspection-label{display:flex;align-items:center;gap:6px;color:#54728f;font-weight:700;margin-bottom:7px}.address-inspection-label svg{width:13px;height:13px}.address-inspection code{display:block;color:#274561;overflow-wrap:anywhere;font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.evidence-line{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid #dce7f3}.evidence-line span{color:#778da4}.evidence-line strong{font:700 11px ui-monospace,SFMono-Regular,Menlo,monospace;color:#174f96}

/* Cash-G campaign and wallet */
.qr-stage{background:radial-gradient(circle at 15% 5%,#d9e7ef,transparent 42%),#eef1f5}.campaign-site{font-family:DM Sans,Inter,sans-serif;background:#fefbf6;border-radius:0 0 13px 13px;overflow:hidden}.campaign-nav{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,58px);background:#fff;color:#1f2445}.wallet-brand{display:flex;align-items:center;gap:9px;letter-spacing:-.05em}.wallet-brand strong{font-size:22px}.wallet-symbol{width:33px;height:33px;background:#3b2278;color:#fff;display:grid;place-items:center;border-radius:11px;font-size:22px;font-weight:900;position:relative;line-height:1}.wallet-symbol span{position:absolute;right:-3px;bottom:-3px;background:#ffbd6b;color:#432764;width:15px;height:15px;display:grid;place-items:center;border-radius:50%;font-size:10px}.campaign-nav>span{font-size:12px;color:#6d6f82;font-weight:700}.campaign-hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:clamp(30px,6vw,100px);align-items:center;padding:clamp(45px,8vw,100px) clamp(28px,7vw,90px);background:radial-gradient(circle at 74% 17%,#6d49ad 0,transparent 38%),radial-gradient(circle at -9% 110%,#664195 0,transparent 42%),#3b2674;color:white;min-height:450px;position:relative;overflow:hidden}.campaign-hero:after{content:"";position:absolute;width:540px;height:540px;border-radius:50%;border:80px solid #ffffff0d;right:-250px;bottom:-410px}.campaign-copy{position:relative;z-index:1}.campaign-tag{display:inline-block;border:1px solid #ffffff55;border-radius:99px;padding:7px 12px;font-size:11px;letter-spacing:.08em;font-weight:800;text-transform:uppercase;color:#ffe6b5}.campaign-copy h1{font-size:clamp(45px,6vw,76px);letter-spacing:-.07em;line-height:1;margin:22px 0 16px}.campaign-copy p{font-size:clamp(16px,2vw,19px);line-height:1.55;max-width:530px;color:#f5edff;margin-bottom:20px}.campaign-copy p strong{color:#ffca7d}.campaign-pills{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.campaign-pills span{padding:7px 12px;background:#ffffff20;border:1px solid #ffffff2b;border-radius:99px;font-size:11px;font-weight:700}.campaign-fine{font-size:11px;color:#d0c5eb}.campaign-qr{position:relative;z-index:1;display:grid;justify-items:center;padding:23px 22px 20px;background:#fff;border-radius:15px;box-shadow:0 25px 46px #1c12415e;color:#29354c;transform:rotate(2deg)}.qr-head{color:#6d6282;font-size:10px;font-weight:900;letter-spacing:.1em;text-align:center}.campaign-qr img{display:block;width:190px;height:190px;margin:15px 0 8px;background:#fff}.campaign-qr strong{font-size:14px}.campaign-qr small{font-size:11px;color:#828c9b;margin-top:4px}.campaign-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px clamp(28px,7vw,90px);background:#fff}.wallet-site{font-family:DM Sans,Inter,sans-serif;width:min(100%,480px);margin:0 auto;min-height:650px;background:#fff}.browser-window:has(.wallet-site){width:min(100%,540px)}.wallet-top{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-bottom:1px solid #eee9f5}.wallet-top .wallet-brand strong{font-size:21px}.wallet-top>span{color:#695a81;font-size:13px;font-weight:700}.wallet-ribbon{text-align:center;background:#f7f2ff;color:#795aa5;padding:12px;font-size:10px;font-weight:800;letter-spacing:.09em}.wallet-reward{display:flex;align-items:center;gap:22px;margin:30px 32px 0;padding:24px;background:linear-gradient(115deg,#4b2a8e,#7b4fbb);border-radius:15px;color:#fff}.wallet-coin{width:70px;height:70px;flex:none;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#ffdaa3,#efac57);color:#59336c;font-size:39px;font-weight:900;box-shadow:0 7px 19px #2d155f55}.wallet-reward div:last-child{display:grid;gap:3px}.wallet-reward small{font-size:11px;color:#eee0ff}.wallet-reward strong{font-size:40px;line-height:1}.wallet-reward span{font-size:12px;color:#f3ebff}.wallet-auth{padding:32px}.wallet-auth .eyebrow{color:#7454a2}.wallet-auth h1{font-size:27px;letter-spacing:-.04em;margin:8px 0 7px}.wallet-auth p{font-size:13px;line-height:1.55;color:#6b6874;margin-bottom:23px}.mock-field{margin:15px 0}.mock-field label{display:block;color:#424757;font-size:12px;font-weight:700;margin-bottom:7px}.mock-field div{display:flex;align-items:center;height:45px;padding:0 13px;border:1px solid #d8d8e0;border-radius:7px;color:#a7a7b2;font-size:13px;background:#fafafa;cursor:not-allowed}.wallet-button{width:100%;margin-top:7px;background:#563097;min-height:47px}.wallet-button:hover{background:#412074}.field-note{display:block;color:#9096a1;font-size:10px;margin-top:12px;line-height:1.4}.wallet-terms{border-top:1px solid #eee;padding:16px 32px;color:#9695a3;font-size:10px;line-height:1.5}

/* Calendar */
.calendar-app{height:min(850px,calc(100vh - 64px));min-height:650px;max-width:1510px;margin:16px auto 0;background:#fff;border:1px solid #dde3e8;border-radius:10px;box-shadow:0 15px 50px #33425414;position:relative;overflow:hidden;font-family:Inter,Arial,sans-serif}.cal-top{height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e1e5eb;padding:0 25px}.cal-brand{display:flex;align-items:center;gap:12px;color:#3a414d}.cal-brand-icon{width:34px;height:34px;display:grid;place-items:center;color:#2672d5;background:#f2f7ff;border:2px solid #2672d5;border-radius:5px;font-size:13px;font-weight:800}.cal-brand strong{font-size:18px;font-weight:600;letter-spacing:-.03em}.cal-top-center{display:flex;align-items:center;gap:20px;font-size:15px;color:#343b47}.today-pill{padding:7px 11px;border:1px solid #d9e0e8;border-radius:5px;font-size:11px;color:#56616f}.week-label{color:#6e7987;font-size:11px}.cal-account,.mail-account{width:31px;height:31px;display:grid;place-items:center;background:#7b9ecf;color:#fff;border-radius:50%;font-size:11px;font-weight:800}.cal-body{height:calc(100% - 70px);display:grid;grid-template-columns:214px minmax(0,1fr)}.cal-sidebar{padding:25px 18px;border-right:1px solid #e2e6eb}.mini-month>strong{font-size:12px;color:#4b5968}.mini-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:15px;text-align:center;font-size:10px;color:#5f6c7a}.mini-days b{font-weight:700;font-size:9px;color:#9ba4b1}.mini-days span{width:22px;height:22px;line-height:22px;margin:auto;border-radius:50%}.mini-days .selected{background:#2672d5;color:white}.calendar-list{margin-top:40px;border-top:1px solid #e4e9ee;padding-top:18px;display:grid;gap:14px;font-size:11px;color:#5f6b77}.calendar-list div{display:flex;align-items:center;gap:9px}.calendar-dot{width:10px;height:10px;border-radius:3px}.calendar-dot.blue{background:#6b9ed9}.calendar-dot.green{background:#82bba3}.cal-main{min-width:0;overflow:auto}.week-grid{display:grid;grid-template-columns:57px repeat(5,minmax(130px,1fr));min-width:730px;height:100%}.time-axis{border-right:1px solid #e3e8ed;color:#8792a0;font-size:10px}.time-axis>div:not(.day-head){height:82px;text-align:right;padding:0 8px;transform:translateY(-6px)}.time-axis .day-head{height:71px;border-bottom:1px solid #e6ebef}.week-day{min-width:0;border-right:1px solid #e7ebef}.day-head{height:71px;display:flex;align-items:center;justify-content:center;gap:8px;border-bottom:1px solid #e3e8ed}.day-head span{color:#737f8f;font-size:11px;text-transform:uppercase}.day-head strong{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;font-size:17px;font-weight:500}.day-head strong.today{background:#1d73d4;color:#fff}.day-track{height:738px;position:relative}.hour-cell{height:82px;border-bottom:1px solid #edf0f4}.cal-event{position:absolute;left:5px;right:5px;width:calc(100% - 10px);border:0;border-radius:5px;text-align:left;padding:6px 8px;display:flex;flex-direction:column;gap:3px;overflow:hidden;transition:filter .17s,transform .17s}.cal-event:hover{filter:brightness(.97);transform:translateY(-1px)}.cal-event span{font-size:10px;line-height:1.2;white-space:nowrap}.cal-event strong{font-size:11px;line-height:1.25;font-weight:700}.cal-event.blue{background:#d9e9fb;color:#24568b;border-left:3px solid #6aa1d9}.cal-event.purple{background:#eee5f8;color:#674c85;border-left:3px solid #ae8bcb}.cal-event.amber{background:#fff1d5;color:#765725;border-left:3px solid #d7a84e}.cal-event.green{background:#ddf2e6;color:#39745e;border-left:3px solid #83bc9e}.event-popover{position:absolute;z-index:3;width:min(430px,calc(100% - 30px));top:110px;left:clamp(260px,39%,600px);padding:18px 22px 20px;background:white;border:1px solid #d9e0e8;border-radius:10px;box-shadow:0 17px 42px #24324738;animation:dialog-in .18s ease}.popover-head{display:flex;justify-content:space-between;align-items:center}.event-color{width:11px;height:11px;border-radius:3px}.event-color.amber{background:#d9ab4f}.event-color.blue{background:#76a8dc}.event-color.green{background:#78b997}.event-color.purple{background:#a88bca}.event-popover h2{font-size:18px;line-height:1.3;letter-spacing:-.02em;margin:11px 0 8px}.event-time{font-size:12px;color:#657182;margin-bottom:17px}.event-rule{height:1px;background:#e8ebf0;margin:15px 0}.detail-row{display:flex;align-items:start;gap:13px;color:#677485;font-size:12px;line-height:1.5;margin:12px 0}.detail-row svg{width:16px;height:16px;color:#8c98a6}.detail-row strong{font-weight:600;color:#394b60}.event-description{color:#4a596a;font-size:12px;line-height:1.6;margin:19px 0 20px;white-space:normal}.event-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.event-report{border:0;background:none;color:#657587;padding:8px 0;font-size:11px;display:inline-flex;align-items:center;gap:6px}.event-report:hover{text-decoration:underline}.event-report svg{width:14px;height:14px}.status-preview{margin-top:15px}.normal-event-note{font-size:11px;color:#8692a0}.mobile-agenda{display:none}.calendar-fake-stage{background:#edf1f6}.foogle-login{max-width:610px;margin:54px auto 65px;padding:0 25px}.foogle-mark{font-size:28px;font-weight:700;letter-spacing:-.075em;color:#3674c8;margin-bottom:24px}.foogle-mark span{color:#e8a64d}.login-form-look{border:1px solid #d7dfe9;border-radius:10px;padding:36px;background:white;box-shadow:0 8px 24px #2e446213}.login-form-look h1{font-size:29px;letter-spacing:-.04em;margin-bottom:8px}.login-form-look p{color:#657181;font-size:13px;line-height:1.5}.login-form-look .mock-field{margin-top:23px}.login-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.login-bottom span{font-size:11px;color:#718093;max-width:200px}.login-form-look>small{display:block;margin-top:21px;color:#96a0ac;font-size:10px}

/* Authenticator */
.mfa-stage{min-height:calc(100vh - 95px);display:grid;grid-template-columns:1fr 370px 1fr;align-items:center;gap:clamp(20px,5vw,90px);padding:30px clamp(25px,6vw,100px);background:radial-gradient(circle at 55% 32%,#dce6ee,#f0f2f5 47%,#e9edf1);overflow:hidden}.desk-copy{justify-self:end;width:min(100%,350px);color:#24364b}.mfa-app-logo{width:45px;height:45px;display:grid;place-items:center;border-radius:12px;background:#317ac9;color:white;margin-bottom:25px}.desk-copy>span{font-size:12px;font-weight:800;color:#456786}.desk-copy h2{font-size:clamp(33px,3.5vw,55px);line-height:1.06;letter-spacing:-.06em;margin:14px 0}.desk-copy p{color:#788698;font-size:15px}.desk-side{justify-self:start;align-self:end;margin-bottom:110px;display:grid;gap:5px;border-left:2px solid #a6bdd2;padding-left:18px;color:#43556a}.desk-side-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#8091a1;font-weight:800}.desk-side strong{font-size:14px}.desk-side small{font-size:11px;color:#718196}.phone-frame{width:365px;min-height:740px;background:#14202d;border:8px solid #16202c;border-radius:48px;box-shadow:0 30px 70px #18263859, inset 0 0 0 1px #576576;position:relative;padding:5px}.phone-frame:before{content:"";position:absolute;left:-11px;top:180px;width:3px;height:70px;background:#293744;border-radius:3px}.phone-screen{height:724px;border-radius:37px;overflow:hidden;background:#f7f9fb;position:relative;padding:14px 18px 24px}.phone-status{height:30px;display:flex;justify-content:space-between;padding:0 5px;color:#26374a;font-size:12px}.phone-status span{font-size:10px;letter-spacing:2px}.phone-island{position:absolute;top:4px;left:50%;transform:translateX(-50%);background:#14202d;width:106px;height:23px;border-radius:0 0 15px 15px}.phone-app-head{display:flex;align-items:center;gap:10px;padding:12px 1px 18px}.auth-logo{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#2f78c6;color:#fff}.auth-logo svg{width:18px;height:18px}.phone-app-head strong{font-size:14px;color:#253850}.account-badge{margin-left:auto;background:#d8e7f6;color:#2665a3;font-weight:800;font-size:11px;border-radius:50%;width:28px;height:28px;display:grid;place-items:center}.phone-greeting{padding:13px 1px 17px}.phone-greeting span{font-size:10px;letter-spacing:.1em;color:#69819c;font-weight:800}.phone-greeting h1{font-size:22px;letter-spacing:-.04em;margin:6px 0}.phone-greeting p{font-size:12px;color:#8190a0;margin:0}.push-header{display:flex;justify-content:space-between;align-items:center;margin:12px 0;font-size:12px;font-weight:700;color:#3c4f66}.live-indicator{color:#4079a9;font-size:10px;font-weight:700}.live-indicator:before{content:"";display:inline-block;width:6px;height:6px;background:#5aa1da;border-radius:50%;margin-right:5px}.notifications{height:180px;overflow:auto;display:flex;flex-direction:column;gap:7px;scrollbar-width:thin}.notification{display:flex;gap:9px;padding:10px;background:white;border:1px solid #e1e7ee;border-radius:11px;box-shadow:0 3px 11px #2030420d;animation:slide-in .25s ease both}.notification.support{background:#f8f8fe;border-color:#e5e5f5}.notification-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;background:#e7f1fb;color:#3070ad}.notification.support .notification-icon{background:#eeeafa;color:#7764a2}.notification-icon svg{width:14px;height:14px}.notification>div{flex:1;min-width:0}.notification-meta{display:flex;justify-content:space-between;gap:5px}.notification-meta strong{font-size:10px;color:#3c4e63}.notification-meta time{font-size:9px;color:#9ba6b1;white-space:nowrap}.notification p{font-size:10px;line-height:1.35;color:#596b7e;margin:4px 0 0}.approval-card{margin-top:14px;background:white;border:1px solid #dae4ee;border-radius:13px;padding:16px;box-shadow:0 10px 25px #203f5814}.approval-top{display:flex;align-items:center;gap:10px}.approval-icon{width:34px;height:34px;display:grid;place-items:center;color:#fff;background:#2e70b4;border-radius:9px}.approval-icon svg{width:19px;height:19px}.approval-top div{display:grid;gap:3px}.approval-top strong{font-size:13px;color:#2c3b4c}.approval-top span:not(.approval-icon){font-size:10px;color:#8a96a4}.approval-details{margin:14px 0;display:grid;grid-template-columns:65px 1fr;gap:7px;font-size:10px}.approval-details span{color:#91a0ae}.approval-details strong{font-weight:600;color:#506176}.approval-actions{display:flex;gap:8px}.approval-actions button{width:50%;min-height:37px;border:1px solid #b9cde0;border-radius:6px;background:white;color:#325a80;font-size:12px;font-weight:700}.approval-actions button:last-child{background:#2b6ab0;border-color:#2b6ab0;color:#fff}.approval-actions button:hover{filter:brightness(.94)}.phone-home{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);height:4px;width:100px;background:#243748;border-radius:99px}.phone-decision{padding:63px 5px 20px;text-align:center}.decision-symbol{width:64px;height:64px;display:grid;place-items:center;margin:0 auto 22px;border-radius:19px;background:#e2effb;color:#3478bc}.decision-symbol svg{width:30px;height:30px}.phone-decision.safe .decision-symbol{background:#e4f2ef;color:#267762}.phone-decision h1{font-size:23px;letter-spacing:-.04em}.phone-decision p{color:#697b8e;font-size:12px;line-height:1.6;margin:0 auto 24px;max-width:260px}.phone-option{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:1px solid #dce5ee;border-radius:10px;text-align:left;padding:14px;margin:9px 0;color:#2a567d;font-size:12px;font-weight:700}.phone-option svg{width:15px;height:15px}.muted-option{color:#627383}.phone-option:hover{background:#f3f7fb}.phone-evidence{display:grid;gap:7px;text-align:left;border:1px solid #c9dedd;background:white;border-radius:10px;padding:14px;margin:29px 0 15px}.phone-evidence span{font-size:10px;color:#64827f;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.phone-evidence code{font:700 13px ui-monospace,SFMono-Regular,Menlo,monospace;color:#245550;overflow-wrap:anywhere}.phone-main-button{width:100%;min-height:43px}

/* Outlook-style inbox */
.mail-app{height:min(900px,calc(100vh - 64px));min-height:650px;max-width:1600px;margin:16px auto 0;background:#fff;border:1px solid #d7e0ea;border-radius:8px;box-shadow:0 15px 50px #33425414;position:relative;overflow:hidden;font-family:Inter,"Segoe UI",sans-serif}.mail-top{height:50px;background:#1262a3;color:white;display:flex;align-items:center;gap:18px;padding:0 16px}.device-mail .mail-top{background:#0c5b91}.mail-brand{display:flex;align-items:center;gap:9px;min-width:185px}.mail-brand-symbol{display:grid;place-items:center;width:26px;height:26px;background:#ffffff29;border-radius:5px}.mail-brand-symbol svg{width:18px;height:18px}.mail-brand strong{font-size:15px;font-weight:600}.mail-search{height:31px;display:flex;align-items:center;gap:9px;flex:1;max-width:560px;background:#ffffffd9;border-radius:4px;color:#53647a;font-size:11px;padding:0 12px}.mail-search svg{width:14px;height:14px}.mail-account{margin-left:auto;background:#4c88bf}.mail-shell{height:calc(100% - 50px);display:grid;grid-template-columns:48px 195px 330px minmax(0,1fr)}.mail-rail{background:#eef4fa;border-right:1px solid #dee6ef;padding:17px 0;display:flex;align-items:center;flex-direction:column;gap:21px;color:#7792ab}.mail-rail span{width:29px;height:29px;display:grid;place-items:center}.mail-rail svg{width:18px;height:18px}.mail-rail .rail-active{color:#1262a3;background:#d7e8f7;border-radius:5px}.mail-folders{background:#f6f8fb;border-right:1px solid #e1e6ed;padding:22px 12px}.mail-folders>strong{font-size:13px;display:block;margin:0 12px 30px;color:#3b4b5e}.folder-title{font-size:10px;color:#8d9baa;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin:0 12px 9px}.folder-title.second{margin-top:23px}.folder{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:5px;color:#5a6b7b;font-size:11px}.folder svg{width:15px;height:15px}.folder span{margin-left:auto}.folder.selected{background:#dfeaf6;color:#1c5d9f;font-weight:700}.mail-list{border-right:1px solid #dfe5eb;min-width:0;background:#fff}.mail-list-title{display:flex;align-items:baseline;justify-content:space-between;padding:24px 20px 14px}.mail-list-title h1{font-size:22px;letter-spacing:-.04em;margin:0}.mail-list-title span{font-size:10px;color:#8795a2}.mail-tabs{display:flex;gap:22px;padding:0 20px;border-bottom:1px solid #e5e9ee;color:#8996a4;font-size:11px}.mail-tabs span{padding-bottom:11px}.mail-tabs span:first-child{color:#135f9f;border-bottom:2px solid #176aac;font-weight:700}.mail-row{width:100%;display:flex;align-items:flex-start;gap:11px;text-align:left;background:white;border:0;border-bottom:1px solid #e9edf1;padding:16px 14px;min-height:108px;position:relative}.mail-row:hover,.mail-row.selected{background:#edf5fb}.row-avatar,.sender-avatar{width:29px;height:29px;flex:none;display:grid;place-items:center;background:#dfe6ee;color:#476073;border-radius:50%;font-size:12px;font-weight:700}.row-avatar.unread{background:#d7e8f8;color:#235c8d}.row-content{display:grid;gap:5px;min-width:0;flex:1}.row-top{display:flex;justify-content:space-between;gap:7px}.row-top strong{font-size:11px;color:#334559;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-top time{white-space:nowrap;color:#8b98a6;font-size:10px}.row-subject{font-size:11px;color:#3e5064;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-preview{font-size:10px;color:#8593a0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unread-dot{position:absolute;right:8px;bottom:12px;width:6px;height:6px;background:#2f82c2;border-radius:50%}.mail-reading{min-width:0;overflow-y:auto;background:#fff}.mail-empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#8a98a8}.mail-empty-illustration{width:74px;height:74px;display:grid;place-items:center;background:#f2f6fa;border-radius:18px;margin-bottom:19px;color:#91a9bc}.mail-empty-illustration svg{width:34px;height:34px}.mail-empty h2{font-size:18px;letter-spacing:-.03em;color:#587087;margin-bottom:5px}.mail-empty p{font-size:12px}.reading-head{padding:25px clamp(22px,3.5vw,55px) 0;border-bottom:1px solid #edf0f3}.reading-head h2{font-size:20px;letter-spacing:-.03em;line-height:1.35;margin:0 0 14px}.reading-actions{display:flex;align-items:center;gap:12px;padding-bottom:15px}.reading-actions button{display:inline-flex;align-items:center;gap:7px;background:#fff;color:#4d6884;border:1px solid #dce4eb;border-radius:5px;padding:7px 10px;font-size:11px;font-weight:700}.reading-actions button:hover{background:#eef5fb}.reading-actions button svg{width:15px;height:15px}.sender-line{display:flex;gap:11px;align-items:center;padding:15px 0}.sender-avatar{width:37px;height:37px;font-size:15px;background:#d7e8f8;color:#245c8c}.sender-line div{display:grid;gap:3px}.sender-line strong{font-size:11px;color:#34485b}.sender-line span,.sender-line small{font-size:10px;color:#8090a0}.reading-body{padding:25px clamp(22px,3.5vw,55px) 60px;font-size:13px;line-height:1.75;color:#46556a;max-width:800px}.reading-body p{margin-bottom:16px}.reading-body ol{padding-left:22px}.reading-body li{margin-bottom:7px}.reading-body li strong{color:#225d9c}.document-attachment{display:flex;align-items:center;gap:12px;max-width:390px;padding:13px 15px;margin:23px 0;border:1px solid #dce4eb;border-radius:6px;background:#f9fbfd}.document-attachment>span{width:34px;height:34px;background:#e2ecf8;color:#2b6eae;border-radius:5px;display:grid;place-items:center}.document-attachment div{display:grid}.document-attachment strong{font-size:11px;color:#35475a}.document-attachment small{font-size:10px;color:#8b9baa}.mail-primary{min-height:37px}.mail-signoff{color:#728091;margin-top:26px}.email-code{max-width:350px;display:grid;gap:3px;text-align:center;border:1px solid #dce3eb;background:#f7f9fc;padding:15px;margin:21px 0;border-radius:6px}.email-code span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#6a7b8b;font-weight:800}.email-code strong{font:700 20px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;color:#273d56}.email-code small{font-size:10px;color:#98a4b1}.email-evidence{max-width:500px;border-left:3px solid #4d9b8e;background:#f0f8f6;padding:15px 18px;margin-bottom:23px}.email-evidence>span{display:flex;align-items:center;gap:8px;color:#286e64;font-size:11px;font-weight:800}.email-evidence svg{width:15px;height:15px}.email-evidence p{font-size:11px;margin:7px 0 14px;color:#5b7772}.email-evidence div{display:grid;gap:3px}.email-evidence small{font-size:10px;color:#658680}.email-evidence code{font:700 12px ui-monospace,SFMono-Regular,Menlo,monospace;color:#205c54;overflow-wrap:anywhere}.mobile-back{display:none}

/* Internal consent and device authorization */
.auth-overlay{position:absolute;z-index:5;inset:50px 0 0;background:#e8edf4e8;display:grid;place-items:start center;overflow-y:auto;padding:30px 20px;backdrop-filter:blur(3px);animation:fade-in .2s ease}.auth-panel{width:min(100%,480px);background:#fff;box-shadow:0 14px 45px #223b5b2a;padding:33px 40px 28px;color:#242d3c}.auth-brand{display:flex;align-items:center;gap:10px;font-size:11px;color:#4c5b6f}.ms-mark{width:19px;height:19px;display:grid;grid-template-columns:1fr 1fr;gap:2px}.ms-mark i{background:#e35b44}.ms-mark i:nth-child(2){background:#79b65a}.ms-mark i:nth-child(3){background:#55a4d3}.ms-mark i:nth-child(4){background:#e5b64a}.auth-account{display:flex;align-items:center;justify-content:space-between;margin-top:26px;padding:11px 12px;border:1px solid #d7e0e9;color:#4a5a6c;font-size:11px}.auth-account svg{width:14px;height:14px}.auth-app-icon{width:50px;height:50px;display:grid;place-items:center;background:#e6ecfa;color:#476aba;margin-top:29px;border-radius:7px}.auth-app-icon svg{width:26px;height:26px}.auth-panel h1{font-size:23px;letter-spacing:-.04em;margin:15px 0 6px;font-weight:650}.publisher{color:#6d7b8a;font-size:11px}.publisher strong{color:#a34d43;font-weight:700}.auth-intro{font-size:12px;line-height:1.55;color:#5a6c7c;margin:20px 0}.permission-heading{font-size:11px;font-weight:800;color:#394d60;border-bottom:1px solid #e2e7ed;padding-bottom:11px}.permissions{list-style:none;margin:0;padding:0}.permissions li{display:flex;gap:11px;padding:12px 0;border-bottom:1px solid #edf0f3}.permissions li>span{color:#647e9b}.permissions li svg{width:17px;height:17px}.permissions li div{display:grid;gap:3px}.permissions li strong{font-size:11px;color:#36495b;font-weight:650}.permissions li small{font-size:10px;color:#8391a0}.auth-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:23px}.auth-actions button{border:1px solid #a9b9ca;background:white;color:#2a5f94;min-height:36px;min-width:88px;padding:7px 12px;font-size:11px;font-weight:700}.auth-actions button:hover{background:#f1f6fa}.auth-actions .auth-accept{background:#1765aa;border-color:#1765aa;color:white}.auth-actions .auth-accept:hover{background:#0d528f}.auth-foot{display:block;margin-top:25px;color:#a1acb7;font-size:10px;line-height:1.4}.device-icon{background:#edf0f7;color:#456b9b}.device-request{border:1px solid #dce4ec;margin:22px 0;background:#fbfcfd}.device-request div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #e9edf1;padding:12px;font-size:11px}.device-request div:last-child{border:0}.device-request span{color:#7e8d9b}.device-request strong{color:#354759;text-align:right}.device-caption{font-size:11px;color:#7b8290;line-height:1.5}.confirm-panel{max-width:440px;margin-top:50px}.confirm-icon{width:48px;height:48px;display:grid;place-items:center;background:#e8f1fa;color:#2868a7;border-radius:12px}.confirm-panel h1{margin-top:22px}.confirm-panel>p{font-size:12px;color:#647689;line-height:1.5}.confirm-check{display:flex;gap:10px;align-items:center;background:#f7f9fc;border:1px solid #dfe6ed;padding:14px;margin-top:20px;font-size:11px;font-weight:700;color:#425a71}.confirm-check input{width:16px;height:16px;accent-color:#1765aa}.auth-confirm{margin-top:13px;min-width:100px}

@keyframes dialog-in{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}@keyframes slide-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes fade-in{from{opacity:0}to{opacity:1}}

.report-qr .dialog-icon{background:#f1eafa;color:#654295}.report-qr .dialog-kicker{color:#6f5099}.report-qr .submit-report{background:#59338f}.report-qr .submit-report:hover{background:#472777}.report-mfa .dialog-icon{background:#e3effa;color:#286da9}

@media(max-width:1150px){.mail-shell{grid-template-columns:42px 160px 290px minmax(0,1fr)}.mail-brand{min-width:160px}.mfa-stage{grid-template-columns:1fr 370px;gap:25px}.desk-side{display:none}.cal-sidebar{display:none}.cal-body{grid-template-columns:1fr}.event-popover{left:30%}}
@media(max-width:800px){.landing{grid-template-columns:1fr;padding-top:55px;gap:30px}.landing h1{font-size:58px}.landing-copy>p{max-width:640px}.mail-shell{grid-template-columns:40px 270px minmax(0,1fr)}.mail-folders{display:none}.mail-brand{min-width:120px}.mail-top{padding:0 13px}.mfa-stage{grid-template-columns:1fr;justify-items:center;padding:35px 14px}.desk-copy{justify-self:center;text-align:center}.desk-copy h2{font-size:35px}.desk-copy p{display:none}.mfa-app-logo{margin:0 auto 10px}.phone-frame{margin-top:0}.campaign-hero{grid-template-columns:1fr 210px;gap:18px;padding:45px 35px}.campaign-qr{padding:17px}.campaign-qr img{width:165px;height:165px}.campaign-copy h1{font-size:52px}.cal-top{padding:0 16px}.cal-brand strong{font-size:14px}.cal-top-center{gap:8px;font-size:12px}.event-popover{left:20%}}
@media(max-width:620px){.challenge-bar{height:36px;padding:0 12px}.challenge-bar span{display:none}.quiet-footer{font-size:10px}.browser-stage{padding:12px 9px 5px;align-items:start}.browser-window{border-radius:8px}.browser-chrome{border-radius:8px 8px 0 0}.browser-top{height:25px}.browser-tab{height:22px;min-width:135px;font-size:10px}.browser-nav{height:46px;gap:7px;padding:0 8px}.browser-address{font-size:10px}.campaign-nav{height:55px;padding:0 20px}.campaign-hero{grid-template-columns:1fr;min-height:0;padding:38px 22px 26px;gap:30px}.campaign-copy h1{font-size:clamp(41px,11vw,60px)}.campaign-copy p{font-size:15px}.campaign-qr{transform:none;width:min(100%,235px);justify-self:center}.campaign-qr img{width:165px;height:165px}.campaign-bottom{flex-direction:column;align-items:flex-start;padding:14px 22px}.wallet-top{padding:19px 22px}.wallet-reward{margin:20px 20px 0;padding:17px;gap:15px}.wallet-coin{width:58px;height:58px;font-size:32px}.wallet-reward strong{font-size:34px}.wallet-auth{padding:24px 22px}.wallet-auth h1{font-size:25px}.wallet-site{min-height:0}.calendar-app{height:calc(100vh - 56px);min-height:600px;margin:8px 8px 0;border-radius:7px}.cal-top{height:58px}.cal-top-center .today-pill,.cal-top-center .week-label{display:none}.cal-brand strong{font-size:13px}.cal-brand-icon{width:29px;height:29px;font-size:11px}.cal-account{width:27px;height:27px}.cal-body{height:calc(100% - 58px)}.week-grid{display:none}.mobile-agenda{display:block;padding:0 14px 25px;min-height:100%;background:#fff}.agenda-head{font-size:13px;font-weight:800;color:#3e5062;padding:20px 2px;border-bottom:1px solid #e7ebf0}.agenda-day{padding:15px 0;border-bottom:1px solid #edf0f4}.agenda-day h3{font-size:11px;color:#7c8b9a;text-transform:uppercase;letter-spacing:.07em;margin:0 0 9px}.agenda-day .cal-event{position:static;width:100%;height:auto;min-height:55px;margin-bottom:6px;padding:9px 11px}.agenda-day .cal-event span{font-size:10px}.agenda-day .cal-event strong{font-size:12px}.event-popover{position:absolute;top:65px;left:10px;right:10px;width:auto;max-height:calc(100% - 75px);overflow-y:auto;padding:15px}.event-popover h2{font-size:16px}.event-actions{gap:7px}.event-actions .primary-control,.event-actions .light-control{font-size:11px;min-height:38px}.calendar-fake-stage .foogle-login{margin:35px auto}.login-form-look{padding:25px 20px}.login-bottom{align-items:flex-start;flex-direction:column}.mfa-stage{min-height:calc(100vh - 80px);padding:18px 10px}.desk-copy{display:none}.phone-frame{width:min(100%,365px);min-height:685px}.phone-screen{height:669px}.notifications{height:145px}.phone-decision{padding-top:55px}.mail-app{height:calc(100vh - 56px);min-height:590px;margin:8px 8px 0}.mail-top{height:45px}.mail-brand{min-width:100px}.mail-search{font-size:0;max-width:45px;justify-content:center;padding:0}.mail-search svg{width:16px;height:16px}.mail-shell{height:calc(100% - 45px);grid-template-columns:1fr}.mail-rail{display:none}.mail-list{display:block;border-right:0}.mail-list.has-selected{display:none}.mail-reading{display:none}.mail-reading.visible{display:block}.mail-list-title{padding:22px 18px 14px}.mail-row{min-height:86px;padding:13px 12px}.row-top strong,.row-subject{font-size:12px}.row-preview{font-size:11px}.reading-head{padding:17px 19px 0}.reading-head h2{font-size:18px}.reading-body{padding:22px 19px 50px;font-size:12px}.mobile-back{display:inline-flex;align-items:center;gap:5px;background:none;border:0;padding:0 0 17px;color:#286ca9;font-size:11px;font-weight:700}.mobile-back svg{width:16px;height:16px}.mail-empty{display:none}.auth-overlay{inset:45px 0 0;padding:11px 8px}.auth-panel{padding:23px 22px}.auth-panel h1{font-size:21px}.permissions li{padding:9px 0}.auth-actions{justify-content:stretch}.auth-actions button{flex:1}.outcome-dialog{padding:27px 23px}.dialog-content{padding:13px 20px 23px}.dialog-top{padding:18px 20px 0}}
@media(max-width:380px){.campaign-copy h1{font-size:39px}.campaign-qr{width:210px}.campaign-qr img{width:150px;height:150px}.phone-frame{transform:scale(.91);transform-origin:top center;margin-bottom:-60px}.mail-top{gap:8px}.mail-brand strong{font-size:13px}.cal-top-center strong{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Destination details stay in browser chrome, never in a separate CTF panel. */
.browser-nav:has(.browser-address.expanded){height:auto;min-height:50px;padding-top:8px;padding-bottom:8px}
.browser-address.expanded{height:auto;min-height:33px;padding-top:8px;padding-bottom:8px}
.browser-address.expanded .address-text{white-space:normal;overflow-wrap:anywhere;text-overflow:clip}
.campaign-qr{text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.campaign-qr:hover{transform:rotate(0) translateY(-3px);box-shadow:0 28px 48px #1c124178}
.browser-status{position:absolute;z-index:4;left:0;bottom:0;max-width:min(90%,760px);padding:7px 12px;background:#eef2f7;border:1px solid #aebdcd;border-radius:0 6px 0 0;box-shadow:0 -3px 12px #253c571a;color:#2f4054;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere;pointer-events:none}
.browser-status[hidden]{display:none}
@media(max-width:620px){.browser-nav:has(.browser-address.expanded){min-height:46px}.campaign-qr:hover{transform:translateY(-2px)}.browser-status{max-width:calc(100% - 12px);font-size:10px}}

/* Shared challenge navigation and local utilities */
.workspace-tabs{position:relative;z-index:12;background:#fff;border-bottom:1px solid #dce4ed;box-shadow:0 3px 13px #243b5110;padding:0 clamp(14px,3vw,38px)}
.workspace-tablist{max-width:1510px;margin:auto;display:flex;align-items:center;gap:6px;min-height:52px}
.workspace-tablist button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:115px;min-height:42px;padding:8px 16px;border:0;border-bottom:2px solid transparent;background:transparent;color:#617186;font-size:12px;font-weight:700;transition:color .18s,background .18s}
.workspace-tablist button svg{width:16px;height:16px}
.workspace-tablist button:hover{background:#f3f6fa;color:#2f557a}
.workspace-tablist button[aria-selected="true"]{border-bottom-color:#236da8;color:#175d98;background:#f5f9fd}
.workspace-page{min-height:calc(100vh - 145px);padding:clamp(22px,5vw,58px) 18px;display:grid;place-items:start center}
.tool-panel,.report-panel{width:min(100%,900px);padding:clamp(24px,4vw,42px);background:#fff;border:1px solid #dce4ed;border-radius:12px;box-shadow:0 16px 45px #243b5112}
.report-panel{max-width:590px}
.workspace-kicker{display:flex;align-items:center;gap:8px;color:#336d9f;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.workspace-kicker svg{width:17px;height:17px}
.tool-panel h1,.report-panel h1{margin:12px 0 8px;color:#1c2d40;font-size:clamp(25px,3vw,33px);letter-spacing:-.045em}
.tool-panel>p,.report-panel>p{max-width:660px;color:#64758a;font-size:13px;line-height:1.6;margin-bottom:25px}
.tool-field,.report-panel form{display:grid;gap:9px}
.tool-field label,.report-panel label{font-size:12px;font-weight:750;color:#364b61}
.tool-field select,.tool-field textarea,.report-panel textarea,.report-panel input{width:100%;border:1px solid #cbd7e3;border-radius:7px;background:#fff;color:#24364a;padding:11px 12px;font-size:13px;line-height:1.5}
.tool-field select{max-width:260px;height:42px}
.tool-field textarea{resize:vertical;min-height:160px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.tool-field textarea[readonly]{background:#f7f9fc}
.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}
.tool-actions{display:flex;flex-wrap:wrap;gap:9px}
.tool-actions button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;border:1px solid #c8d5e2;border-radius:6px;background:#fff;color:#305c84;font-size:12px;font-weight:700}
.tool-actions button:hover:not(:disabled){background:#f0f6fc}
.tool-actions .tool-primary{background:#1763a5;border-color:#1763a5;color:#fff}
.tool-actions .tool-primary:hover{background:#0d538e}
.tool-actions button:disabled{cursor:default;opacity:.5}
.tool-actions svg{width:14px;height:14px}
.tool-status,.tool-error{margin-top:14px;font-size:12px;line-height:1.4}
.tool-status{color:#246e61}.tool-error{color:#b24645}
.tool-status:empty,.tool-error:empty{display:none}
.report-panel form{gap:12px}
.report-panel textarea{resize:vertical;min-height:110px}
.report-panel .submit-report{justify-self:start;margin-top:5px}
.report-panel .field-error{min-height:0}
.browser-stage{min-height:calc(100vh - 148px)}
.calendar-app,.mail-app{height:min(850px,calc(100vh - 125px))}
.mail-app{height:min(900px,calc(100vh - 125px))}
@media(max-width:620px){.workspace-tabs{padding:0 8px}.workspace-tablist{gap:0;min-height:48px}.workspace-tablist button{flex:1;min-width:0;min-height:46px;padding:7px 4px;font-size:11px}.workspace-tablist button svg{width:15px;height:15px}.workspace-page{padding:18px 10px;min-height:calc(100vh - 126px)}.tool-panel,.report-panel{padding:22px 18px;border-radius:9px}.tool-grid{grid-template-columns:1fr;gap:16px;margin:17px 0}.tool-field textarea{min-height:130px}.tool-actions button{flex:1 1 calc(50% - 9px)}.calendar-app,.mail-app{height:calc(100vh - 110px)}.mfa-stage{min-height:calc(100vh - 130px)}}

/* Duo-inspired fictional push flow. No official mark or authentication is used. */
.duo-stage{background:radial-gradient(circle at 53% 28%,#e0ebf3,#eef2f6 55%,#e7edf2)}
.duo-stage .mfa-app-logo{background:#1a6a9e;color:#fff}
.duo-phone .phone-screen{background:#f7f9fb;overflow-y:auto;scrollbar-width:none}
.duo-phone .phone-screen::-webkit-scrollbar{display:none}
.duo-app-head{border-bottom:1px solid #e3e9ef;padding-bottom:15px;margin-bottom:14px}
.duo-app-head .auth-logo{background:#136ca5;color:#fff}
.duo-app-head>div{display:grid;gap:2px}
.duo-app-head strong{font-size:15px;color:#183a58}
.duo-app-head small{font-size:10px;font-weight:750;color:#62809b;text-transform:uppercase;letter-spacing:.06em}
.duo-intro{padding:3px 1px 1px}
.duo-intro>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#6f8397}
.duo-intro h1{font-size:24px;letter-spacing:-.045em;line-height:1.1;margin:7px 0 5px;color:#193247}
.duo-intro p{font-size:11px;color:#73879b;margin:0}
.duo-request{border:1px solid #cfdde8;border-radius:12px;margin-top:17px;padding:16px;box-shadow:0 12px 24px #16436b14}
.duo-request-head{display:flex;align-items:center;gap:9px;padding-bottom:13px;border-bottom:1px solid #e6edf2}
.duo-app-mark{width:34px;height:34px;border-radius:8px;background:#164c76;color:#fff;display:grid;place-items:center;font-size:16px;font-weight:800}
.duo-request-head>div{display:grid;gap:2px;min-width:0}
.duo-request-head strong{font-size:13px;color:#243d54}
.duo-request-head small{font-size:10px;color:#8392a0}
.duo-request-count{margin-left:auto;display:inline-flex;align-items:center;gap:4px;color:#39739d;font-size:9px;font-weight:800;white-space:nowrap}
.duo-request-count:before{content:"";width:6px;height:6px;background:#3e9ed0;border-radius:50%;animation:duo-pulse 2s ease-in-out infinite}
.duo-request-details{display:grid;gap:0;margin:6px 0 15px}
.duo-request-details>div{display:grid;grid-template-columns:59px minmax(0,1fr);gap:9px;padding:7px 0;border-bottom:1px solid #f0f3f6;font-size:10px}
.duo-request-details span{color:#8192a0}
.duo-request-details strong{color:#344b60;font-weight:700;overflow-wrap:anywhere}
.duo-request-details small{display:block;color:#96a2ae;font-size:9px;font-weight:500;margin-top:2px}
.duo-request .approval-actions{gap:9px}
.duo-request .approval-actions button{min-height:43px;font-size:12px;border-radius:6px}
.duo-request .approval-actions button:first-child{border-color:#b9cbd9;color:#2c5a7b;background:#fff}
.duo-request .approval-actions button:last-child{border-color:#116ca5;background:#116ca5;color:#fff}
.duo-stage .push-header{margin:17px 0 10px}
.duo-stage .notifications{height:165px;padding-bottom:8px}
.duo-stage .notification{border-radius:9px}
.duo-decision{padding-top:43px}
.duo-decision .phone-evidence{margin-top:18px}
.duo-decision .phone-evidence code{font-size:10px;line-height:1.5}
@keyframes duo-pulse{0%,100%{box-shadow:0 0 0 0 #3e9ed045}50%{box-shadow:0 0 0 5px #3e9ed000}}
@media(max-width:620px){.duo-phone .phone-screen{height:669px}.duo-stage .notifications{height:130px}.duo-request{padding:13px;margin-top:13px}.duo-request-details>div{padding:6px 0}.duo-intro h1{font-size:22px}.duo-decision{padding-top:40px}}

/* Visual system: a quiet shell around the five distinct simulated products. */
:root {
  --font-ui: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ink: #1d2b3d;
  --ink-soft: #42546a;
  --muted: #596b80;
  --canvas: #f5f7fa;
  --surface: #fff;
  --surface-soft: #f9fbfd;
  --line: #dce4ec;
  --line-strong: #bdcbd9;
  --accent: #245f95;
  --accent-hover: #194b78;
  --focus: #4b88bf;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --shadow-sm: 0 3px 12px #20354b0d;
  --shadow-md: 0 12px 34px #20354b12;
  --shadow-lg: 0 24px 64px #17283d24;
  font-family: var(--font-ui);
  color: var(--ink);
  background: var(--canvas);
  font-size: 14px;
  line-height: 1.5;
}

body { color: var(--ink); background: var(--canvas); -webkit-font-smoothing: antialiased; }
button, input, textarea, select { font: inherit; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 3px;
}
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
.challenge-bar { height:44px; padding-inline:clamp(16px,3vw,40px); background:#1d2a3b; font-size:12px; }
.challenge-bar span { color:#c3cfdd; }
.challenge-bar a { color:#edf4fb; }
.quiet-footer { padding:var(--space-5) var(--space-4); color:var(--muted); font-size:12px; }
.kicker, .eyebrow, .dialog-kicker, .workspace-kicker { font-size:11px; letter-spacing:.095em; }

/* Shared navigation, surfaces and controls. */
.workspace-tabs { background:var(--surface); border-bottom:1px solid var(--line); box-shadow:none; padding-inline:clamp(12px,3vw,40px); }
.workspace-tablist { min-height:60px; gap:var(--space-2); }
.workspace-tablist button {
  min-width:106px;
  min-height:42px;
  padding:var(--space-2) var(--space-4);
  border:1px solid transparent;
  border-radius:var(--radius-sm);
  color:var(--ink-soft);
  font-size:13px;
  font-weight:650;
  transition:background .18s ease, border-color .18s ease, color .18s ease;
}
.workspace-tablist button:hover { background:#f0f5f9; color:var(--accent-hover); }
.workspace-tablist button[aria-selected="true"] { background:#eaf2f8; border-color:#d3e3f0; color:#164d7c; }
.workspace-page { min-height:calc(100vh - 170px); padding:clamp(28px,5vw,64px) var(--space-4); }
.tool-panel, .report-panel { padding:clamp(24px,4vw,40px); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); }
.tool-panel { max-width:940px; }
.report-panel { max-width:620px; }
.workspace-kicker { color:var(--accent); }
.tool-panel h1, .report-panel h1 { font-size:clamp(26px,3vw,34px); line-height:1.17; letter-spacing:-.035em; margin:var(--space-3) 0 var(--space-2); }
.tool-panel>p, .report-panel>p { font-size:14px; line-height:1.65; color:var(--muted); margin-bottom:var(--space-6); }
.tool-field, .report-panel form { gap:var(--space-2); }
.tool-field label, .report-panel label { color:var(--ink-soft); font-size:13px; font-weight:650; }
.tool-field select, .tool-field textarea, .report-panel textarea, .report-panel input,
.dialog-content textarea, .dialog-content input {
  border:1px solid var(--line-strong);
  border-radius:var(--radius-sm);
  background:var(--surface);
  color:var(--ink);
  font-size:14px;
  line-height:1.5;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.tool-field select:focus, .tool-field textarea:focus, .report-panel textarea:focus,
.report-panel input:focus, .dialog-content textarea:focus, .dialog-content input:focus {
  border-color:var(--focus);
  box-shadow:0 0 0 3px #4b88bf24;
}
.tool-field select { height:44px; max-width:290px; }
.tool-field textarea { min-height:180px; background:#fff; }
.tool-field textarea[readonly] { background:var(--surface-soft); }
.tool-grid { gap:var(--space-5); margin:var(--space-5) 0; }
.tool-actions { gap:var(--space-2); }
.tool-actions button, .light-control, .dialog-actions>button:first-child, .reading-actions button {
  min-height:44px;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-sm);
  background:#fff;
  color:var(--accent-hover);
  font-size:13px;
  font-weight:650;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}
.tool-actions button:hover:not(:disabled), .light-control:hover, .dialog-actions>button:first-child:hover, .reading-actions button:hover {
  background:#f1f6fa;
  border-color:#9ab6ce;
}
.tool-actions .tool-primary, .primary-control, .action-button, .mail-primary, .submit-report, .phone-main-button, .auth-confirm {
  min-height:44px;
  border-radius:var(--radius-sm);
  background:var(--accent);
  font-size:13px;
  font-weight:650;
  box-shadow:none;
}
.tool-actions .tool-primary { border-color:var(--accent); }
.tool-actions .tool-primary:hover, .primary-control:hover, .action-button:hover,
.mail-primary:hover, .submit-report:hover, .phone-main-button:hover, .auth-confirm:hover { background:var(--accent-hover); }
.icon-button { width:44px; height:44px; border-radius:var(--radius-sm); }
.text-button, .subtle-link { font-weight:650; }
.field-error, .tool-status, .tool-error { font-size:13px; }
.report-panel form { gap:var(--space-3); }
.report-panel textarea { min-height:124px; }
.report-panel .submit-report { margin-top:var(--space-2); }

/* Start screen. */
.landing { max-width:1190px; gap:clamp(40px,7vw,104px); padding:clamp(48px,8vw,96px) clamp(20px,4vw,48px) 72px; }
.landing h1 { font-size:clamp(42px,5.4vw,66px); line-height:1.06; letter-spacing:-.055em; margin:var(--space-4) 0 var(--space-5); }
.landing-copy>p { font-size:16px; line-height:1.65; color:var(--ink-soft); }
.landing-note { margin-top:var(--space-6); padding-top:var(--space-4); color:var(--muted); font-size:13px; }
.list-caption { color:var(--muted); font-size:11px; letter-spacing:.09em; }
.landing-item { min-height:88px; gap:var(--space-4); margin-bottom:var(--space-2); padding:var(--space-3) var(--space-4); border-color:var(--line); border-radius:var(--radius-md); box-shadow:var(--shadow-sm); }
.landing-item:hover { transform:translateY(-2px); border-color:#a9c2d7; box-shadow:var(--shadow-md); }
.landing-item-text strong { font-size:15px; font-weight:650; }
.landing-item-text small { font-size:13px; line-height:1.45; color:var(--muted); }
.landing-index { color:#65778b; font-size:12px; }

/* Simulated browser, QR campaign, and wallet sign-in. */
.browser-stage { padding:clamp(18px,3vw,36px) clamp(12px,3vw,44px) var(--space-5); }
.browser-window { border-color:var(--line-strong); border-radius:var(--radius-md); box-shadow:var(--shadow-lg); min-width:0; }
.browser-chrome { background:#edf1f5; border-color:var(--line-strong); border-radius:var(--radius-md) var(--radius-md) 0 0; }
.browser-tab { color:var(--ink-soft); font-size:12px; }
.browser-address { height:40px; min-height:40px; color:var(--ink-soft); font-size:12px; border-color:#c6d3df; border-radius:var(--radius-sm); }
.browser-address.expanded { min-height:40px; }
.browser-menu { border-color:var(--line); border-radius:var(--radius-md); box-shadow:var(--shadow-md); }
.browser-menu button { min-height:42px; font-size:13px; }
.campaign-site { font-family:var(--font-ui); background:#fff; border-radius:0 0 var(--radius-md) var(--radius-md); }
.campaign-nav { height:64px; }
.campaign-hero { min-height:430px; gap:clamp(32px,5vw,72px); padding:clamp(40px,6vw,76px) clamp(28px,6vw,76px); background:linear-gradient(120deg,#34225f,#4e3681); }
.campaign-hero:after { display:none; }
.campaign-copy h1 { font-size:clamp(40px,5vw,62px); line-height:1.06; letter-spacing:-.055em; margin:var(--space-5) 0 var(--space-4); }
.campaign-copy p { font-size:clamp(15px,1.6vw,18px); line-height:1.6; }
.campaign-tag, .campaign-pills span, .campaign-fine { font-size:12px; }
.campaign-qr { transform:none; border-radius:var(--radius-md); box-shadow:0 16px 38px #1a123b40; }
.campaign-qr:hover { transform:none; box-shadow:0 16px 38px #1a123b40; }
.qr-head { font-size:11px; }
.campaign-qr small { font-size:12px; color:var(--muted); }
.wallet-site {
  width:min(100%,430px);
  min-height:660px;
  overflow:hidden;
  font-family:var(--font-ui);
  color:#12233f;
  background:#f7fbff;
}
.browser-window:has(.wallet-site) { width:min(100%,510px); }
.wallet-appbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:76px;
  padding:18px 24px;
  color:#fff;
  background:linear-gradient(135deg,#066ddb,#1389f2);
}
.cashg-brand { display:flex; align-items:center; gap:10px; letter-spacing:-.025em; }
.cashg-brand strong { font-size:21px; font-weight:760; }
.cashg-mark {
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border:2px solid #fff;
  border-radius:50%;
  font-size:20px;
  font-weight:800;
  box-shadow:inset 0 0 0 3px #ffffff24;
}
.wallet-appbar-help { font-size:13px; font-weight:650; color:#eaf6ff; }
.wallet-login { display:flex; flex-direction:column; align-items:center; padding:28px 34px 22px; text-align:center; }
.wallet-profile {
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  margin-bottom:12px;
  border:1px solid #cce4fb;
  border-radius:50%;
  color:#0878df;
  background:#e9f5ff;
  font-size:16px;
  font-weight:750;
}
.wallet-welcome { margin:0 0 3px; color:#60738c; font-size:13px; }
.wallet-login h1 { margin:0; color:#13243f; font-size:25px; line-height:1.25; letter-spacing:-.035em; }
.wallet-account { margin:8px 0 13px; color:#60738c; font-size:13px; letter-spacing:.02em; }
.wallet-reward-pill {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:5px 11px 5px 6px;
  border:1px solid #d7e9fa;
  border-radius:999px;
  color:#375c82;
  background:#fff;
  font-size:12px;
  font-weight:650;
  box-shadow:0 5px 16px #376c9e12;
}
.wallet-reward-pill span { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; color:#fff; background:#f4a622; font-weight:800; }
.wallet-pin-dots { display:flex; justify-content:center; gap:17px; margin:25px 0 8px; }
.wallet-pin-dot {
  display:block;
  width:13px;
  height:13px;
  border:1.5px solid #9db1c7;
  border-radius:50%;
  background:#fff;
  transition:transform .16s ease,background-color .16s ease,border-color .16s ease;
}
.wallet-pin-dot.is-filled { border-color:#087be4; background:#087be4; transform:scale(1.08); }
.wallet-pin-status { min-height:17px; color:#7890a7; font-size:11px; }
.wallet-keypad { display:grid; grid-template-columns:repeat(3,68px); justify-content:center; gap:9px 20px; margin:13px 0 20px; }
.wallet-key {
  display:grid;
  place-items:center;
  width:68px;
  height:48px;
  padding:0;
  border:0;
  border-radius:14px;
  color:#17304f;
  background:#fff;
  box-shadow:inset 0 0 0 1px #e0eaf3,0 3px 8px #264e7610;
  font:650 18px/1 var(--font-ui);
  cursor:pointer;
  transition:background-color .14s ease,transform .14s ease,box-shadow .14s ease;
}
.wallet-key:hover { background:#edf7ff; box-shadow:inset 0 0 0 1px #bcdcf7,0 4px 10px #264e7617; }
.wallet-key:active { transform:scale(.96); }
.wallet-key:focus-visible { outline:3px solid #8bc8ff; outline-offset:2px; }
.wallet-key-delete { color:#4f6780; font-size:22px; }
.wallet-key-spacer { width:68px; height:48px; }
.wallet-button, .wallet-button:hover {
  width:min(100%,280px);
  min-height:46px;
  margin:0;
  border-radius:12px;
  background:#087be4;
  box-shadow:0 8px 20px #087be42b;
}
.wallet-button:hover { background:#076bc6; }
.wallet-button:disabled, .wallet-button:disabled:hover { color:#879bb0; background:#dce8f2; box-shadow:none; cursor:not-allowed; }
.wallet-simulation-note { margin:13px 0 0; color:#71869a; font-size:11px; line-height:1.45; }
.wallet-terms { padding:15px 24px 18px; border-top:1px solid #e5eef6; color:#718398; background:#fff; font-size:11px; line-height:1.5; text-align:center; }
.field-note { font-size:12px; color:#637185; }

/* Calendar and its simulated destination. */
.calendar-app, .mail-app { margin:var(--space-4) auto 0; border-color:var(--line); border-radius:var(--radius-md); box-shadow:var(--shadow-md); }
.cal-top { border-color:var(--line); }
.cal-brand strong { font-size:17px; font-weight:650; }
.cal-top-center { font-size:14px; }
.today-pill, .week-label, .calendar-list, .day-head span { font-size:12px; }
.mini-month>strong { font-size:13px; }
.mini-days { font-size:11px; }
.mini-days b { font-size:10px; color:#627386; }
.time-axis { font-size:11px; color:#627386; }
.cal-event { border-radius:var(--radius-sm); }
.cal-event span { font-size:11px; }
.cal-event strong { font-size:12px; }
.event-popover { border-color:var(--line); border-radius:var(--radius-md); box-shadow:var(--shadow-lg); }
.event-popover h2 { font-size:19px; }
.event-time, .detail-row, .event-description, .normal-event-note { font-size:13px; }
.event-report { min-height:44px; padding-inline:var(--space-3); font-size:13px; }
.preparing-link, .preparing-link:hover { color:#6f7f90; background:#e8edf3; transform:none; cursor:wait; }
.foogle-login { margin-block:var(--space-7); }
.login-form-look { border-color:var(--line); border-radius:var(--radius-md); box-shadow:var(--shadow-sm); }
.login-form-look h1 { font-size:27px; }
.login-form-look p, .login-bottom span { font-size:13px; }
.login-field { display:block; margin-top:var(--space-5); text-align:left; }
.login-field span { display:block; margin-bottom:8px; color:#33475d; font-size:13px; font-weight:650; }
.login-field input {
  width:100%;
  min-height:48px;
  padding:11px 13px;
  border:1px solid #cbd6e2;
  border-radius:var(--radius-sm);
  color:var(--ink);
  background:#fff;
  font:14px/1.4 var(--font-ui);
  transition:border-color .16s ease,box-shadow .16s ease;
}
.login-field input::placeholder { color:#8a98a8; }
.login-field input:hover { border-color:#9fb1c5; }
.login-field input:focus { border-color:#2874cb; outline:0; box-shadow:0 0 0 3px #2874cb1f; }
.login-error { min-height:18px; margin-top:8px; color:#b43a35; font-size:12px; text-align:left; }
.login-form-look .primary-control:disabled, .login-form-look .primary-control:disabled:hover { color:#8290a0; background:#dfe5eb; transform:none; cursor:not-allowed; }
.login-form-look>small { display:block; margin-top:var(--space-5); color:#718093; font-size:11px; line-height:1.5; }

/* Authenticator phone. Keep product-specific colors while improving legibility. */
.duo-stage { background:#eef3f7; }
.desk-copy h2 { font-size:clamp(32px,3.4vw,46px); line-height:1.12; letter-spacing:-.05em; }
.desk-copy p { color:var(--muted); }
.desk-side small { font-size:12px; }
.duo-phone { box-shadow:0 26px 62px #17283d38,inset 0 0 0 1px #576576; }
.iphone-device {
  width:365px;
  padding:2px;
  border:7px solid #111214;
  border-radius:51px;
  background:#17181a;
  box-shadow:0 30px 70px #18263859,0 0 0 1px #a2a7ac,0 0 0 3px #33363a,inset 0 0 0 1px #050506;
}
.iphone-device:before { left:-12px; top:148px; width:4px; height:106px; background:linear-gradient(#8a8f94 0 25%,transparent 25% 34%,#8a8f94 34% 62%,transparent 62% 70%,#8a8f94 70%); border-radius:3px 0 0 3px; box-shadow:inset 1px 0 #d0d3d6; }
.iphone-device:after { content:""; position:absolute; right:-12px; top:185px; width:4px; height:82px; border-radius:0 3px 3px 0; background:#858a90; box-shadow:inset -1px 0 #c9cdd0; }
.iphone-screen { border-radius:42px; box-shadow:inset 0 0 0 1px #000; }
.iphone-status { position:relative; z-index:5; align-items:center; padding:0 9px; font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",var(--font-ui); }
.iphone-status strong { min-width:38px; font-size:12px; font-weight:700; letter-spacing:-.02em; }
.iphone-status-icons { display:flex; align-items:center; gap:6px; color:currentColor; }
.iphone-signal { display:flex; align-items:end; gap:1.5px; height:11px; }
.iphone-signal i { display:block; width:2.5px; border-radius:2px; background:currentColor; }
.iphone-signal i:nth-child(1) { height:4px; }
.iphone-signal i:nth-child(2) { height:6px; }
.iphone-signal i:nth-child(3) { height:8px; }
.iphone-signal i:nth-child(4) { height:10px; }
.iphone-wifi { width:15px; height:12px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.iphone-battery { position:relative; display:block; width:20px; height:10px; padding:1.5px; border:1px solid currentColor; border-radius:3px; opacity:.95; }
.iphone-battery:after { content:""; position:absolute; right:-3px; top:2px; width:1.5px; height:4px; border-radius:0 1px 1px 0; background:currentColor; opacity:.65; }
.iphone-battery i { display:block; width:80%; height:100%; border-radius:1px; background:currentColor; }
.iphone-notch { position:absolute; z-index:7; top:0; left:50%; width:144px; height:31px; transform:translateX(-50%); border-radius:0 0 18px 18px; background:#050506; box-shadow:0 1px 1px #ffffff0a; }
.notch-speaker { position:absolute; top:9px; left:50%; width:45px; height:5px; transform:translateX(-50%); border-radius:999px; background:#1e2023; box-shadow:inset 0 1px 2px #000; }
.notch-camera { position:absolute; top:8px; right:23px; width:8px; height:8px; border-radius:50%; background:radial-gradient(circle at 38% 35%,#274c70 0 12%,#0c1723 30%,#020406 72%); box-shadow:0 0 0 1px #16181a; }
.duo-app-head strong { font-size:15px; }
.duo-app-head small, .duo-intro>span { font-size:11px; color:#526f87; }
.duo-intro h1 { font-size:23px; }
.duo-intro p { font-size:12px; color:#536c80; }
.duo-request { box-shadow:var(--shadow-sm); }
.duo-request-head strong { font-size:13px; }
.duo-request-head small, .duo-request-count { font-size:11px; }
.duo-request-details>div { grid-template-columns:67px minmax(0,1fr); font-size:11px; }
.duo-request-details span { color:#536c80; }
.duo-request-details small { font-size:10px; color:#5c7184; }
.duo-request .approval-actions button { min-height:44px; font-size:13px; border-radius:var(--radius-sm); }
.duo-stage .notifications { height:175px; }
.notification-copy { display:block; flex:1; min-width:0; text-align:left; }
.notification-message { display:block; margin-top:4px; color:#596b7e; font-size:10px; line-height:1.35; }
.mfa-home-screen {
  color:#fff;
  background:
    linear-gradient(180deg,#07152b0d 0%,#07152b12 48%,#07152b24 100%),
    url('/assets/iphone-wallpaper.jpg') center center / cover no-repeat;
  overflow:hidden;
}
.mfa-home-screen:before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#00000008,#07152b12); pointer-events:none; }
.mfa-home-screen .phone-status { position:relative; z-index:3; color:#fff; text-shadow:0 1px 5px #07142580; }
.mfa-home-content { position:relative; z-index:2; min-height:650px; padding:8px 0 25px; font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",var(--font-ui); }
.ios-widget-row { display:grid; grid-template-columns:1fr 1fr; gap:11px; margin:0 2px 20px; }
.ios-widget { min-height:134px; display:grid; align-content:start; padding:14px; border:1px solid #ffffff1f; border-radius:22px; color:#fff; background:linear-gradient(150deg,#738092ed,#46546fe8); box-shadow:0 8px 22px #07152a2e; text-shadow:0 1px 4px #0714254d; }
.ios-widget small { font-size:9px; font-weight:750; letter-spacing:.035em; }
.ios-widget small span { font-size:8px; }
.ios-widget strong { margin-top:3px; font-size:40px; font-weight:300; line-height:.95; letter-spacing:-.065em; }
.ios-widget b { align-self:end; margin-top:28px; font-size:10px; }
.ios-widget>span { margin-top:2px; font-size:9px; color:#f5f7fb; }
.date-widget { color:#3b3b3d; background:linear-gradient(160deg,#fffdfaeF,#e8e8e6eF); text-shadow:none; }
.date-widget small { color:#c4494f; }
.date-widget strong { color:#202124; font-size:37px; font-weight:300; }
.date-widget>span { margin-top:auto; color:#838386; font-size:10px; line-height:1.25; }
.home-push-layer { position:absolute; z-index:8; top:146px; left:0; right:0; pointer-events:none; }
.home-push-label { display:flex; align-items:center; justify-content:space-between; margin:0 4px 6px; color:#fff; font-size:9px; font-weight:700; text-shadow:0 1px 4px #0714258c; }
.home-push-label strong { padding:3px 7px; border:1px solid #ffffff38; border-radius:999px; background:#0c1c366b; font-size:8px; font-weight:750; backdrop-filter:blur(10px); }
.home-push-stack { display:grid; gap:6px; min-height:0; }
.home-push.notification {
  width:100%; min-height:58px; margin:0; padding:8px 10px; border:1px solid #ffffff82; border-radius:16px;
  color:#172637; background:#f4f5f5e8; box-shadow:0 8px 24px #06152b40; backdrop-filter:blur(22px) saturate(140%);
  cursor:pointer; text-align:left; pointer-events:auto;
}
.home-push.notification:hover { transform:translateY(-1px); background:#fff; }
.home-push.notification:focus-visible { outline:3px solid #b8e4ff; outline-offset:2px; }
.home-push .notification-icon { width:30px; height:30px; flex:0 0 30px; border-radius:8px; background:#1d8ad0; color:#fff; }
.home-push.support .notification-icon { background:#7562a4; }
.home-push .notification-meta strong, .home-push .notification-message { font-size:10px; }
.home-app-grid { display:grid; grid-template-columns:repeat(4,1fr); align-items:start; gap:12px 9px; margin:0 -2px; }
.home-app { min-width:0; display:grid; justify-items:center; gap:5px; padding:0; border:0; color:#fff; background:none; font:600 8.5px/1.1 -apple-system,BlinkMacSystemFont,"SF Pro Text",var(--font-ui); text-shadow:0 1px 4px #020b14d9; cursor:pointer; }
.home-app>span:last-child { max-width:62px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.home-app-icon { position:relative; display:grid; place-items:center; width:49px; height:49px; border-radius:12px; color:#fff; background:#1a91c6; box-shadow:0 3px 8px #08172d42,inset 0 0 0 1px #ffffff30; overflow:visible; }
.home-app:hover .home-app-icon { transform:translateY(-2px); box-shadow:0 11px 20px #08172d66,inset 0 0 0 1px #ffffff45; }
.home-app:focus-visible { outline:0; }
.home-app:focus-visible .home-app-icon { outline:3px solid #b9e5ff; outline-offset:3px; }
.mfa-icon-ring { display:grid; place-items:center; width:30px; height:30px; border:2px solid currentColor; border-radius:50%; font-size:14px; font-weight:800; }
.home-app-icon b { position:absolute; top:-6px; right:-8px; display:grid; place-items:center; min-width:22px; height:22px; padding:0 5px; border:2px solid #fff; border-radius:999px; color:#fff; background:#d9343b; font-size:10px; line-height:1; text-shadow:none; }
.home-app-icon svg { width:25px; height:25px; }
.placeholder-app { cursor:default; }
.ios-facetime-icon { background:linear-gradient(145deg,#61e342,#19b72e); }
.ios-calendar-icon { display:flex; flex-direction:column; gap:0; color:#151515; background:#fff; }
.ios-calendar-icon small { color:#e03b42; font-size:8px; font-weight:800; }
.ios-calendar-icon strong { font-size:23px; font-weight:400; line-height:1; }
.ios-photos-icon { background:#fff; }
.photos-flower { position:relative; width:34px; height:34px; }
.photos-flower i { position:absolute; inset:11px 7px; border-radius:9px; transform-origin:10px 6px; background:#ff4d58; }
.photos-flower i:nth-child(2) { transform:rotate(45deg); background:#ff9638; }.photos-flower i:nth-child(3) { transform:rotate(90deg); background:#ffd13c; }.photos-flower i:nth-child(4) { transform:rotate(135deg); background:#6bcf51; }.photos-flower i:nth-child(5) { transform:rotate(180deg); background:#39c5c9; }.photos-flower i:nth-child(6) { transform:rotate(225deg); background:#438cdd; }.photos-flower i:nth-child(7) { transform:rotate(270deg); background:#8767d8; }.photos-flower i:nth-child(8) { transform:rotate(315deg); background:#df5eb7; }
.ios-camera-icon { color:#171719; background:linear-gradient(145deg,#f4f4f4,#a6a6aa); }.ios-camera-icon svg { width:29px; height:29px; stroke-width:1.5; }
.ios-mail-icon { background:linear-gradient(180deg,#43b9f7,#0875d6); }
.ios-notes-icon { background:linear-gradient(#ffd62c 0 18%,#fff 18%); }
.notes-paper,.reminder-list { width:32px; display:grid; gap:6px; }.notes-paper i { height:1px; background:#c7c7cc; }
.ios-reminders-icon { background:#fff; }.reminder-list i { position:relative; height:2px; margin-left:9px; background:#c8c8cc; }.reminder-list i:before { content:""; position:absolute; left:-8px; top:-2px; width:5px; height:5px; border-radius:50%; background:#f05c52; }.reminder-list i:nth-child(2):before { background:#4d8ee9; }.reminder-list i:nth-child(3):before { background:#efad3d; }
.ios-clock-icon { background:#fff; }.clock-face { position:relative; width:35px; height:35px; border:2px solid #111; border-radius:50%; background:repeating-conic-gradient(#111 0 1deg,transparent 1deg 30deg); }.clock-face:after { content:""; position:absolute; inset:3px; border-radius:50%; background:#fff; }.clock-face i,.clock-face b { position:absolute; z-index:1; left:16px; bottom:16px; width:1.5px; transform-origin:bottom; background:#111; }.clock-face i { height:10px; transform:rotate(8deg); }.clock-face b { height:13px; transform:rotate(120deg); }
.ios-news-icon { color:#e22d31; background:#fff; }.ios-news-icon strong { font:900 30px/1 Georgia,serif; }.ios-tv-icon { color:#fff; background:#161719; }.ios-tv-icon strong { font-size:19px; }.ios-podcasts-icon { background:linear-gradient(145deg,#c658ef,#7829d5); }.podcast-mark { position:relative; width:27px; height:27px; border:2px solid #fff; border-radius:50%; }.podcast-mark:before { content:""; position:absolute; inset:5px; border:2px solid #fff; border-radius:50%; }.podcast-mark i { position:absolute; z-index:1; left:50%; bottom:-2px; width:7px; height:15px; transform:translateX(-50%); border-radius:6px; background:#fff; }.ios-store-icon { background:linear-gradient(145deg,#45bdf7,#167ee6); }.ios-store-icon strong { font:700 27px/1 Georgia,serif; }.ios-mfa-icon { background:linear-gradient(145deg,#1a91c6,#07537c); }.ios-health-icon { color:#ee3447; background:#fff; }.ios-health-icon svg { fill:#ee3447; stroke:#ee3447; }.ios-wallet-icon { background:#18191d; }.wallet-cards { width:34px; display:grid; gap:3px; }.wallet-cards i { height:6px; border-radius:2px; background:#e84c55; }.wallet-cards i:nth-child(2) { background:#46b5e9; }.wallet-cards i:nth-child(3) { background:#efb542; }.ios-settings-icon { color:#4f5053; background:linear-gradient(145deg,#f2f2f2,#a8a8aa); }.ios-settings-icon svg { width:31px; height:31px; stroke-width:1.5; }
.ios-page-dots { display:flex; justify-content:center; gap:6px; margin-top:13px; }
.ios-page-dots i { width:5px; height:5px; border-radius:50%; background:#ffffff75; }
.ios-page-dots i:first-child { background:#fff; }
.phone-dock { display:flex; justify-content:space-between; gap:10px; margin:12px 2px 0; padding:10px 13px; border:1px solid #ffffff31; border-radius:25px; background:#f5f5f567; box-shadow:0 8px 22px #07152a26; backdrop-filter:blur(24px) saturate(145%); }
.dock-app { display:grid; place-items:center; width:45px; height:45px; border-radius:12px; color:#fff; box-shadow:inset 0 0 0 1px #ffffff28; font-size:28px; font-weight:600; }
.dock-app svg { width:23px; height:23px; }
.dock-phone { background:linear-gradient(145deg,#70e34d,#19b92f); }.dock-phone svg { fill:#fff; stroke-width:1.4; }
.dock-browser { color:#1789df; background:#fff; }.compass-mark { display:grid; place-items:center; width:31px; height:31px; border:2px solid #288bd1; border-radius:50%; font-size:21px; line-height:1; transform:rotate(8deg); }
.dock-message { background:linear-gradient(145deg,#72e955,#25bd3b); }.message-mark { position:relative; width:27px; height:21px; border-radius:50%; background:#fff; }.message-mark:after { content:""; position:absolute; width:8px; height:8px; transform:translate(3px,15px) rotate(28deg); background:#fff; }
.dock-music { background:linear-gradient(145deg,#fa4059,#d81e46); }
.mfa-home-screen .phone-home { background:#fff; }
.auth-logo .mfa-icon-ring { width:20px; height:20px; border-width:1.5px; font-size:9px; }
.iphone-screen:not(.mfa-home-screen) { background:#f2f2f7; }
.iphone-screen:not(.mfa-home-screen) .duo-app-head { margin-inline:-18px; padding:11px 19px 14px; border-bottom:1px solid #d8d8dc; background:#ffffffd9; backdrop-filter:blur(18px); }
.iphone-screen:not(.mfa-home-screen) .duo-request { border-color:#dedee3; border-radius:16px; background:#fff; box-shadow:0 7px 18px #24384b12; }
.iphone-screen:not(.mfa-home-screen) .duo-request .approval-actions button { min-height:46px; border-radius:11px; }
.iphone-screen:not(.mfa-home-screen) .duo-request .approval-actions button:first-child { border-color:#d1d1d6; color:#bc3535; background:#f2f2f7; }
.iphone-screen:not(.mfa-home-screen) .duo-request .approval-actions button:last-child { border-color:#0878d1; background:#0878d1; }
.phone-frame.is-buzzing { animation:phone-buzz .28s ease both; }
@keyframes phone-buzz { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-2px) rotate(-.2deg)} 75%{transform:translateX(2px) rotate(.2deg)} }
.notification { box-shadow:none; }
.notification-meta strong, .notification p { font-size:11px; }
.notification-meta time { font-size:10px; color:#5d7082; }
.phone-option { min-height:48px; font-size:13px; }
.phone-decision p { font-size:13px; }
.phone-evidence span { font-size:11px; }
.phone-evidence code { font-size:11px; }
.duo-decision .phone-evidence code { font-size:11px; }

/* Mail, reading pane and authorization simulations. */
.mail-list-title h1 { font-size:21px; }
.mail-list-title span, .mail-tabs, .folder-title { font-size:12px; }
.folder, .mail-folders>strong { font-size:13px; }
.mail-row { min-height:100px; }
.row-top strong, .row-subject { font-size:12px; }
.row-top time, .row-preview { font-size:11px; color:#607286; }
.reading-head h2 { font-size:21px; }
.reading-actions button { padding:8px 12px; }
.sender-line strong, .sender-line span, .sender-line small { font-size:12px; }
.reading-body { font-size:14px; line-height:1.7; }
.document-attachment { border-radius:var(--radius-sm); }
.document-attachment strong, .document-attachment small { font-size:12px; }
.email-code { border-radius:var(--radius-sm); }
.email-code span, .email-code small, .email-evidence>span, .email-evidence p, .email-evidence small { font-size:12px; }
.auth-overlay { background:#e8eef4ed; }
.auth-panel { border:1px solid var(--line); border-radius:var(--radius-md); box-shadow:var(--shadow-lg); }
.auth-brand, .auth-account, .publisher, .permission-heading, .permissions li strong,
.permissions li small, .device-request div, .device-caption, .confirm-panel>p, .confirm-check,
.auth-foot { font-size:12px; }
.auth-panel h1 { font-size:24px; line-height:1.25; }
.auth-intro { font-size:13px; }
.auth-actions button { min-height:44px; border-radius:var(--radius-sm); font-size:13px; }
.auth-foot { color:#5e7082; }

/* Dialogs and feedback. */
dialog { border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); color:var(--ink); }
dialog::backdrop { background:#16283a99; }
.dialog-content h2, .outcome-dialog h2 { font-size:25px; line-height:1.2; letter-spacing:-.035em; }
.dialog-content>p, .outcome-dialog>p { font-size:14px; line-height:1.6; }
.dialog-content label { font-size:13px; }
.outcome-lesson { border-radius:var(--radius-sm); font-size:13px; }
.final-flag { border-radius:var(--radius-sm); }
.final-flag span, .copy-status { font-size:12px; }

@media (max-width: 900px) {
  .landing { grid-template-columns:1fr; max-width:760px; gap:var(--space-7); }
  .landing h1 { font-size:clamp(42px,7vw,58px); }
  .campaign-hero { grid-template-columns:minmax(0,1fr) 220px; gap:var(--space-5); }
  .campaign-copy h1 { font-size:clamp(38px,5.5vw,50px); }
  .mfa-stage { grid-template-columns:1fr; justify-items:center; gap:var(--space-5); }
  .desk-copy { justify-self:center; text-align:center; }
  .desk-copy .mfa-app-logo { margin-inline:auto; }
}

@media (max-width: 760px) {
  .week-grid { display:none; }
  .mobile-agenda { display:block; padding:0 var(--space-5) var(--space-6); min-height:100%; background:#fff; }
  .agenda-head { padding:var(--space-5) 2px var(--space-4); color:var(--ink-soft); font-size:14px; font-weight:700; border-bottom:1px solid var(--line); }
  .agenda-day { padding:var(--space-4) 0; border-bottom:1px solid var(--line); }
  .agenda-day h3 { color:var(--muted); font-size:12px; letter-spacing:.06em; }
  .agenda-day .cal-event { position:static; width:100%; height:auto; min-height:60px; margin-bottom:var(--space-2); padding:10px 12px; }
  .event-popover { top:76px; left:var(--space-4); right:var(--space-4); width:auto; max-height:calc(100% - 92px); overflow-y:auto; }
}

@media (max-width: 620px) {
  .challenge-bar { height:42px; font-size:12px; }
  .workspace-tabs { padding-inline:8px; }
  .workspace-tablist { min-height:56px; gap:4px; }
  .workspace-tablist button { min-width:0; min-height:44px; padding:8px 5px; font-size:12px; }
  .workspace-page { padding:var(--space-4) var(--space-3); min-height:calc(100vh - 155px); }
  .tool-panel, .report-panel { padding:var(--space-5) var(--space-4); border-radius:var(--radius-md); }
  .tool-panel h1, .report-panel h1 { font-size:26px; }
  .tool-grid { grid-template-columns:1fr; gap:var(--space-4); }
  .tool-field textarea { min-height:140px; }
  .tool-actions button { flex:1 1 calc(50% - 8px); }
  .landing { padding:var(--space-7) var(--space-5) var(--space-6); gap:var(--space-6); }
  .landing h1 { font-size:clamp(39px,9vw,48px); }
  .landing-copy>p { font-size:15px; }
  .landing-list { padding:0; }
  .browser-stage { padding:var(--space-3) var(--space-2) var(--space-4); }
  .browser-top { height:28px; }
  .browser-tab { font-size:11px; }
  .browser-nav { height:52px; }
  .browser-address { font-size:11px; }
  .campaign-hero { grid-template-columns:1fr; gap:var(--space-6); padding:var(--space-6) var(--space-5); }
  .campaign-copy h1 { font-size:clamp(38px,10vw,48px); }
  .campaign-qr { width:min(100%,250px); }
  .wallet-site { min-height:0; }
  .wallet-appbar { min-height:66px; padding:14px 20px; }
  .cashg-brand strong { font-size:19px; }
  .cashg-mark { width:33px; height:33px; font-size:18px; }
  .wallet-login { padding:22px 20px 18px; }
  .wallet-profile { width:48px; height:48px; margin-bottom:10px; }
  .wallet-login h1 { font-size:23px; }
  .wallet-pin-dots { margin-top:20px; }
  .wallet-keypad { grid-template-columns:repeat(3,64px); gap:8px 18px; margin-block:11px 17px; }
  .wallet-key, .wallet-key-spacer { width:64px; height:46px; }
  .wallet-terms { padding:13px 20px 15px; }
  .calendar-app, .mail-app { height:calc(100dvh - 135px); min-height:530px; margin:var(--space-2) var(--space-2) 0; border-radius:var(--radius-sm); }
  .cal-top { height:60px; }
  .cal-brand strong { font-size:13px; }
  .cal-top-center strong { font-size:11px; }
  .cal-body { height:calc(100% - 60px); }
  .mobile-agenda { padding-inline:var(--space-4); }
  .agenda-day .cal-event { min-height:60px; padding:10px 12px; }
  .agenda-day .cal-event span { font-size:11px; }
  .agenda-day .cal-event strong { font-size:13px; }
  .event-popover { top:68px; max-height:calc(100% - 78px); }
  .event-actions .primary-control, .event-actions .light-control { min-height:44px; font-size:12px; }
  .mfa-stage { padding:var(--space-4) var(--space-2); min-height:calc(100vh - 155px); }
  .duo-stage .notifications { height:150px; }
  .phone-frame { width:min(100%,365px); }
  .mfa-home-content { min-height:595px; }
  .home-push-stack { min-height:0; }
  .home-push.notification { min-height:62px; padding:8px 10px; }
  .home-app-grid { margin-top:0; }
  .phone-dock { margin-top:12px; padding:10px 13px; }
  .mail-row { min-height:88px; }
  .reading-body { font-size:13px; padding:var(--space-5) var(--space-4) 50px; }
  .reading-head { padding-inline:var(--space-4); }
  .mobile-back { min-height:44px; font-size:13px; }
  .auth-panel { padding:var(--space-5); }
  .auth-actions { flex-wrap:wrap; }
  .auth-actions button { flex:1 1 125px; }
}

@media (max-width: 380px) {
  .challenge-bar { padding-inline:8px; }
  .challenge-bar strong { font-size:11px; }
  .workspace-tablist button { gap:4px; font-size:11px; }
  .workspace-tablist button svg { width:14px; height:14px; }
  .campaign-copy h1 { font-size:38px; }
  .phone-frame { transform:none; margin-bottom:0; }
  .cal-top { gap:8px; padding-inline:10px; }
  .cal-brand { gap:6px; }
  .cal-brand strong { font-size:12px; }
}

/* Server-issued incident evidence is separate from the fictional application UI. */
.landing-simple { grid-template-columns:minmax(0,680px); justify-content:center; }
.incident-reveal {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:var(--space-3);
  padding:var(--space-4) var(--space-5);
  border:1px solid #bfd9d2;
  border-radius:var(--radius-md);
  background:#f0f8f5;
  color:#204f44;
}
.incident-reveal>div { display:grid; gap:var(--space-1); min-width:0; }
.incident-reveal span { color:#466e63; font-size:11px; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }
.incident-reveal code { font:700 15px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.015em; overflow-wrap:anywhere; }
.incident-reveal .light-control { color:#235b4e; border-color:#aaccc2; min-height:40px; }
.browser-window>.incident-reveal { margin:var(--space-4); }
.phone-decision .incident-reveal { text-align:left; margin:var(--space-5) 0 var(--space-4); padding:var(--space-3); }
.phone-decision .incident-reveal code { font-size:12px; }
.email-evidence .incident-reveal { margin-top:var(--space-3); }
.device-auth {
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 16px;
  background:radial-gradient(circle at 18% 14%,#d7e8f7 0,transparent 40%),radial-gradient(circle at 86% 85%,#d2e5e2 0,transparent 45%),#e8edf2;
  backdrop-filter:none;
  font-family:"Segoe UI",Arial,sans-serif;
}
.device-signin-shell { width:min(100%,440px); margin:auto; }
.device-signin-card { padding:42px 44px 36px; background:#fff; box-shadow:0 4px 18px #1b304625; color:#1b1b1b; }
.device-ms-brand { display:flex; align-items:center; gap:9px; color:#5e5e5e; font-size:20px; font-weight:600; letter-spacing:-.045em; }
.device-ms-brand .ms-mark { width:21px; height:21px; gap:2px; }
.device-ms-brand .ms-mark i:first-child { background:#f35325; }
.device-ms-brand .ms-mark i:nth-child(2) { background:#81bc06; }
.device-ms-brand .ms-mark i:nth-child(3) { background:#05a6f0; }
.device-ms-brand .ms-mark i:nth-child(4) { background:#ffba08; }
.device-signin-card h1 { margin:24px 0 8px; font-size:24px; line-height:1.25; font-weight:600; letter-spacing:0; }
.device-lead { margin:0 0 23px; color:#333; font-size:14px; line-height:1.55; }
.device-code-label { display:block; margin-bottom:7px; color:#313131; font-size:13px; font-weight:600; }
.device-signin-card [data-device-code] { width:100%; height:42px; padding:8px 10px; border:1px solid #777; border-bottom:2px solid #666; border-radius:0; background:#fff; color:#1b1b1b; font:16px "Segoe UI",Arial,sans-serif; letter-spacing:.055em; text-transform:uppercase; }
.device-signin-card [data-device-code]:focus { outline:2px solid #0067b8; outline-offset:2px; border-bottom-color:#0067b8; }
.device-code-error { min-height:22px; padding-top:7px; color:#a4262c; font-size:12px; line-height:1.35; }
.device-actions { display:flex; justify-content:flex-end; gap:5px; margin-top:22px; }
.device-actions button { min-width:108px; min-height:36px; padding:7px 15px; border:1px solid transparent; border-radius:0; background:#e5e5e5; color:#1b1b1b; font:600 13px "Segoe UI",Arial,sans-serif; cursor:pointer; }
.device-actions button:hover { background:#d5d5d5; }
.device-actions .device-primary { background:#0067b8; color:#fff; }
.device-actions .device-primary:hover { background:#005da6; }
.device-actions button:focus-visible,.device-back:focus-visible { outline:2px solid #0067b8; outline-offset:2px; }
.device-account { display:inline-flex; max-width:100%; margin-top:21px; padding:5px 10px; border:1px solid #d2d2d2; border-radius:99px; color:#454545; font-size:12px; overflow-wrap:anywhere; }
.device-review h1 { margin-top:23px; }
.device-review .device-lead { margin-bottom:17px; }
.device-review .device-request { margin:0; border:1px solid #dfdfdf; background:#fafafa; }
.device-review .device-request div { padding:11px 13px; border-color:#e7e7e7; font-size:13px; }
.device-review .device-request span { color:#5e5e5e; }
.device-review .device-request strong { color:#242424; font-weight:600; }
.device-back { display:block; margin-top:18px; padding:0; border:0; background:none; color:#0067b8; font:13px "Segoe UI",Arial,sans-serif; cursor:pointer; }
.device-back:hover { text-decoration:underline; }
.device-signin-footer { display:flex; justify-content:center; flex-wrap:wrap; gap:7px 17px; padding:17px 5px 0; color:#343a40; font-size:11px; text-align:center; }
.device-confirm-check { display:flex; align-items:center; gap:11px; padding:13px 0; color:#272727; font-size:14px; cursor:pointer; }
.device-confirm-check input { width:18px; height:18px; accent-color:#0067b8; }
.device-confirm-overlay .device-actions { margin-top:12px; }
@media(max-width:620px) {
  .device-auth { padding:20px 0; align-items:flex-start; }
  .device-signin-shell { width:100%; }
  .device-signin-card { padding:34px 25px 30px; }
  .device-signin-footer { padding:16px 18px 0; }
}
.character-counter { margin-top:calc(-1 * var(--space-2)); color:var(--muted); font-size:11px; text-align:right; font-variant-numeric:tabular-nums; }
.report-panel .submit-report:disabled { transform:none; background:#7894a8; opacity:1; cursor:not-allowed; }
.progress-error { color:#a4383e; font-size:13px; line-height:1.5; }
.progress-error:empty { display:none; }
.global-error:not(:empty) { max-width:900px; margin:var(--space-4) auto 0; padding:var(--space-3) var(--space-4); border:1px solid #e4c0c4; border-radius:var(--radius-sm); background:#fff7f7; }

/* Social media impersonation phone simulation. */
.social-stage { min-height:calc(100vh - 170px); display:grid; grid-template-columns:minmax(0,1fr) 365px minmax(0,1fr); align-items:center; gap:clamp(24px,5vw,78px); padding:30px clamp(20px,5vw,80px); background:radial-gradient(circle at 50% 36%,#e4e9f0,#f5f7fa 58%); }
.social-intro { justify-self:end; max-width:330px; color:var(--ink); }
.social-intro-mark { display:grid; place-items:center; width:45px; height:45px; margin-bottom:21px; border-radius:13px; background:#e9f1ff; color:#0878e5; }
.social-intro-mark svg { width:25px; height:25px; }
.social-intro>span { color:#526b8b; font-size:12px; font-weight:750; }
.social-intro h1 { margin:13px 0 10px; font-size:clamp(29px,3vw,41px); line-height:1.1; letter-spacing:-.055em; }
.social-intro p { max-width:310px; color:var(--muted); font-size:14px; line-height:1.6; }
.social-side { justify-self:start; align-self:end; display:grid; gap:5px; margin-bottom:110px; border-left:2px solid #a6bdd2; padding-left:15px; color:var(--ink-soft); }
.social-side strong { font-size:13px; }.social-side span { max-width:190px; color:var(--muted); font-size:11px; line-height:1.5; }
.social-phone { width:365px; min-height:740px; }
.iphone-screen.social-home-screen { background:linear-gradient(#07152b08,#07152b14),url('/assets/iphone-wallpaper.jpg') center / cover no-repeat; }
.social-home-screen .phone-status { position:relative; z-index:3; color:#fff; text-shadow:0 1px 5px #07142580; }
.social-home-content { position:absolute; z-index:2; inset:42px 0 0; padding:22px 12px 42px; font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",var(--font-ui); }
.social-home-date { display:grid; justify-items:center; gap:2px; margin:12px 0 34px; color:#fff; text-shadow:0 1px 5px #071425a0; }
.social-home-date strong { font-size:49px; font-weight:300; letter-spacing:-.07em; line-height:1; }
.social-home-date span { font-size:14px; font-weight:550; }
.social-home-notifications { display:grid; gap:6px; margin:-15px 2px 17px; }
.social-push-card { display:flex; align-items:center; gap:9px; width:100%; min-height:51px; padding:7px 10px; border:1px solid #ffffffa8; border-radius:14px; background:#f7f8f4e8; color:#202124; box-shadow:0 6px 17px #06152b35; backdrop-filter:blur(20px) saturate(145%); text-align:left; cursor:pointer; }
.social-push-card:focus-visible { outline:3px solid #b9e5ff; outline-offset:2px; }
.social-push-card>span:last-child { display:grid; gap:3px; min-width:0; flex:1; }
.social-push-card strong { display:flex; justify-content:space-between; gap:8px; font-size:10px; }
.social-push-card time { color:#68717c; font-size:8px; font-weight:500; white-space:nowrap; }
.social-push-card small { overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.social-push-avatar,.social-inbox-avatar { display:grid; flex:none; place-items:center; width:31px; height:31px; border-radius:50%; color:#fff; font-size:12px; font-weight:750; }
.baby-avatar { background:linear-gradient(145deg,#f08bb3,#d74a83)!important; }
.mia-avatar { background:linear-gradient(145deg,#8b72dc,#5a45b5)!important; }
.paolo-avatar { background:linear-gradient(145deg,#4a9ed1,#27648d)!important; }
.scam-avatar { background:linear-gradient(145deg,#16a56a,#087b55)!important; }
.social-push-suspicious { border-color:#ffffffc9; }
.social-home-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); justify-items:center; gap:23px 5px; }
.social-home-app { display:grid; justify-items:center; gap:5px; min-width:0; padding:0; border:0; color:#fff; background:none; font:600 9px/1.1 -apple-system,BlinkMacSystemFont,"SF Pro Text",var(--font-ui); text-shadow:0 1px 4px #061426c9; }
.social-home-app>span:last-child { white-space:nowrap; }
.social-home-app[data-action] { cursor:pointer; }
.social-home-app:focus-visible { outline:2px solid #fff; outline-offset:3px; border-radius:12px; }
.social-messenger-icon { position:relative; display:grid; place-items:center; width:55px; height:55px; border-radius:15px; filter:drop-shadow(0 4px 6px #07152b63); }
.social-messenger-icon svg { width:55px; height:55px; }
.social-messenger-icon b { position:absolute; top:-5px; right:-7px; display:grid; place-items:center; min-width:18px; height:18px; padding:0 4px; border:2px solid white; border-radius:999px; background:#f03e3e; color:white; font:700 9px var(--font-ui); text-shadow:none; }
.social-messenger-icon b:empty { display:none; }
.social-placeholder { display:grid; place-items:center; width:55px; height:55px; border-radius:15px; color:#fff; box-shadow:0 4px 8px #07152b55,inset 0 0 0 1px #ffffff35; font-style:normal; font-size:24px; }
.photos-placeholder { background:linear-gradient(145deg,#fff,#e8e8f1); color:#ed7849; }.calendar-placeholder { background:linear-gradient(#fff 0 20%,#e8464b 20% 36%,#fff 36%); color:#23262d; font-size:22px; }.settings-placeholder { background:linear-gradient(145deg,#ededed,#9da2aa); color:#555b64; }.social-placeholder svg { width:27px; height:27px; }
.social-home-dock { position:absolute; right:14px; bottom:28px; left:14px; display:flex; justify-content:space-between; padding:10px 12px; border:1px solid #ffffff37; border-radius:23px; background:#f6f7f777; backdrop-filter:blur(22px) saturate(145%); }
.social-home-dock .social-placeholder { width:46px; height:46px; border-radius:13px; }.phone-placeholder { background:linear-gradient(145deg,#75e651,#1db534); }.mail-placeholder { background:linear-gradient(145deg,#55bff9,#0871d1); }.browser-placeholder { color:#1687d5; background:#fff; }.camera-placeholder { background:linear-gradient(145deg,#f5f5f5,#9da0a5); color:#25262a; }
.social-home-simulation { position:absolute; right:0; bottom:88px; left:0; color:#fff; font-size:9px; font-weight:650; text-align:center; text-shadow:0 1px 4px #061426b3; }
/* Keep the MFA home screen on the same iPhone home-screen layout as Social. */
.mfa-home-screen .mfa-home-content { position:absolute; inset:42px 0 0; min-height:0; padding:22px 12px 42px; }
.mfa-home-screen .home-app-grid { grid-template-columns:repeat(4,minmax(0,1fr)); justify-items:center; gap:22px 5px; margin:0; }
.mfa-home-screen .home-app { font-size:9px; }
.mfa-home-screen .home-app-icon { width:55px; height:55px; border-radius:15px; }
.mfa-home-screen .home-push-layer { position:relative; top:auto; right:auto; left:auto; margin:-18px 0 18px; z-index:8; }
.mfa-home-screen .home-push-label { margin-inline:2px; }
.mfa-home-screen .phone-dock { position:absolute; right:14px; bottom:28px; left:14px; margin:0; }
.mfa-home-screen .phone-home { background:#fff; }
.iphone-screen.social-chat-screen { background:#f0f2f5; padding:14px 18px 24px; }
.social-messenger-screen { position:absolute; z-index:2; inset:43px 0 0; display:flex; flex-direction:column; background:#f0f2f5; font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",var(--font-ui); }
.social-inbox-screen { padding:0 18px 24px; }
.social-inbox-header { display:flex; align-items:center; gap:8px; min-height:58px; margin:0 -18px; padding:6px 13px; border-bottom:1px solid #e6e8eb; background:#fff; }
.social-inbox-header h2 { flex:1; margin:0; color:#17191d; font-size:17px; letter-spacing:-.02em; }
.social-inbox-compose { display:grid; place-items:center; width:31px; height:31px; border-radius:50%; background:#e9f1ff; color:#0866ff; font-size:23px; }
.social-inbox-search { display:flex; align-items:center; gap:8px; min-height:35px; margin:12px 0 8px; padding:0 10px; border-radius:9px; background:#e4e6eb; color:#717985; font-size:11px; }
.social-inbox-search svg { width:14px; height:14px; }
.social-inbox-list { flex:1; min-height:0; overflow-y:auto; margin:0 -8px; }
.social-inbox-row { display:flex; align-items:center; gap:10px; width:100%; min-height:70px; padding:9px 8px; border:0; border-bottom:1px solid #e3e5e8; background:transparent; color:#1c1e21; text-align:left; cursor:pointer; }
.social-inbox-row:hover,.social-inbox-row:focus-visible { background:#e8edf5; outline:none; }
.social-inbox-row.social-inbox-scam { background:#e8effb; }
.social-inbox-avatar { width:42px; height:42px; }
.social-inbox-copy { display:grid; flex:1; min-width:0; gap:5px; }
.social-inbox-copy strong { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.social-inbox-copy strong i { margin-left:3px; color:#8a5a2b; font-size:8px; font-style:normal; font-weight:600; }
.social-inbox-copy small { overflow:hidden; color:#707781; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.social-inbox-meta { display:grid; justify-items:end; align-self:stretch; align-content:center; gap:5px; color:#7c838c; }
.social-inbox-meta time { font-size:8px; white-space:nowrap; }
.social-inbox-meta b { display:grid; place-items:center; min-width:17px; height:17px; padding:0 4px; border-radius:99px; background:#0866ff; color:#fff; font-size:9px; }
.social-inbox-foot { padding:12px 4px; color:#89919b; font-size:8px; text-align:center; }
.social-chat-header { position:relative; z-index:3; display:flex; align-items:center; gap:8px; min-height:58px; margin:0 -18px; padding:6px 13px; border-bottom:1px solid #dce0e5; background:#fff; }
.social-chat-back,.social-chat-menu-button { display:grid; place-items:center; flex:none; width:32px; height:36px; padding:0; border:0; border-radius:50%; background:transparent; color:#0866ff; cursor:pointer; }
.social-chat-back svg,.social-chat-menu-button svg { width:21px; height:21px; }
.social-avatar { display:grid; place-items:center; flex:none; width:35px; height:35px; border-radius:50%; background:linear-gradient(145deg,#16a56a,#087b55); color:#fff; font-size:16px; font-weight:750; }
.social-chat-title { display:grid; gap:3px; flex:1; min-width:0; }.social-chat-title strong { overflow:hidden; color:#1c1e21; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.social-chat-title small { color:#777d86; font-size:9px; }
.social-chat-menu { position:absolute; z-index:5; top:48px; right:10px; width:205px; padding:6px; border:1px solid #e4e7eb; border-radius:13px; background:white; box-shadow:0 12px 32px #1723382c; }
.social-chat-menu button { display:flex; align-items:center; gap:10px; width:100%; min-height:43px; padding:9px 11px; border:0; border-radius:8px; background:white; color:#30343a; font:600 12px var(--font-ui); text-align:left; cursor:pointer; }.social-chat-menu button:hover { background:#f3f5f7; }.social-chat-menu button svg { width:17px; height:17px; color:#596675; }
.social-chat-thread { flex:1; min-height:0; overflow-y:auto; padding:15px 12px 10px; scrollbar-width:thin; }
.social-chat-date { margin:0 0 13px; color:#727984; font-size:8px; font-weight:750; letter-spacing:.08em; text-align:center; }
.social-profile-intro { display:grid; justify-items:center; gap:5px; margin:0 auto 14px; color:#25282d; text-align:center; }.social-avatar-large { width:52px; height:52px; font-size:22px; }.social-profile-intro strong { font-size:12px; }.social-profile-intro small { color:#747b84; font-size:9px; }
.social-bubble { max-width:91%; margin:7px 0; padding:10px 12px; border:1px solid #e1e4e8; border-radius:16px 16px 16px 5px; background:#fff; color:#202327; font-size:11px; line-height:1.5; box-shadow:0 1px 2px #0e17220a; }
.personal-bubble { max-width:82%; margin-block:9px; }
.outgoing-bubble { margin-left:auto; border-color:#0866ff; border-radius:16px 16px 5px 16px; background:#0866ff; color:#fff; }
.social-personal-thread .social-profile-intro { margin-bottom:22px; }
.social-suspicious-link { display:inline-block; margin-top:4px; color:#0866ff; font-weight:700; overflow-wrap:anywhere; }
.social-message-time { margin:6px 0 12px; color:#777d86; font-size:9px; text-align:center; }
.social-safety-note { max-width:240px; margin:0 auto; padding:8px 10px; border-radius:10px; background:#e3e6eb; color:#626973; font-size:9px; line-height:1.4; text-align:center; }
.social-chat-bottom { flex:none; padding:7px 10px 20px; border-top:1px solid #e0e3e7; background:#fff; }
.social-chat-status { display:flex; flex-wrap:wrap; justify-content:center; gap:5px; min-height:4px; margin-bottom:5px; }.social-action-done,.social-chat-status>span:last-child { padding:4px 8px; border-radius:999px; background:#e5f4ec; color:#18794e; font-size:9px; font-weight:700; }
.social-chat-bottom .incident-reveal { margin:6px 0 9px; padding:8px 10px; gap:7px; border-radius:10px; }.social-chat-bottom .incident-reveal span { font-size:8px; }.social-chat-bottom .incident-reveal code { font-size:11px; }.social-chat-bottom .incident-reveal .light-control { min-height:34px; padding:6px 8px; font-size:10px; }
.social-composer { display:flex; align-items:center; justify-content:space-between; min-height:38px; padding:0 12px; border-radius:99px; background:#f0f2f5; color:#777d86; font-size:11px; }.social-composer i { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#0866ff; color:#fff; font-size:18px; font-style:normal; }
.social-composer { gap:8px; min-height:46px; padding:4px 5px 4px 14px; border:1px solid #e4e6eb; }
.social-composer:focus-within { border-color:#9bbdf5; box-shadow:0 0 0 2px #0866ff18; }
.social-composer input { flex:1; min-width:0; min-height:38px; padding:0 4px; border:0; outline:0; background:transparent; color:#24272b; font-size:16px; }
.social-composer input::placeholder { color:#828a95; }
.social-composer button { display:grid; flex:none; place-items:center; width:34px; height:34px; padding:0; border:0; border-radius:50%; background:#0866ff; color:#fff; font-size:21px; font-weight:700; line-height:1; }
.social-composer button:hover { background:#0758dc; }
.social-composer button:focus-visible { outline:3px solid #8db7ff; outline-offset:2px; }
.social-composer input:focus-visible { outline:0; }
.social-composer-note { display:block; margin-top:5px; color:#89919b; font-size:8px; line-height:1.35; text-align:center; }
.social-chat-thread { overscroll-behavior:contain; scroll-behavior:smooth; }
.social-action-overlay { position:absolute; z-index:8; inset:30px 0 0; display:grid; align-items:end; padding:12px; background:#11182769; }
.social-action-sheet { width:100%; padding:19px 17px 15px; border:1px solid #e7e9ed; border-radius:19px; background:#fff; color:#22252a; box-shadow:0 14px 38px #08142638; }.social-sheet-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#eef3ff; color:#276be8; }.social-sheet-icon svg { width:18px; height:18px; }.social-action-sheet h2 { margin:12px 0 6px; font-size:17px; letter-spacing:-.025em; }.social-action-sheet p { margin:0 0 14px; color:#68717c; font-size:11px; line-height:1.5; }.social-action-sheet label { display:block; padding:10px 11px; border:1px solid #e3e6ea; border-radius:9px; color:#6a727c; font-size:10px; }.social-action-sheet label strong { display:block; margin-top:4px; color:#2d333b; font-size:11px; }.social-sheet-actions { display:flex; gap:8px; margin-top:15px; }.social-sheet-actions button { flex:1; min-height:39px; border:1px solid #d9dee5; border-radius:9px; background:#fff; color:#313740; font-size:11px; font-weight:700; }.social-sheet-actions .social-sheet-primary { border-color:#0866ff; background:#0866ff; color:#fff; }
@media(max-width:900px) { .social-stage { grid-template-columns:minmax(0,1fr) 365px; justify-content:center; gap:25px; }.social-intro { justify-self:center; }.social-side { display:none; } }
@media(max-width:760px) { .social-stage { grid-template-columns:1fr; justify-items:center; min-height:calc(100vh - 145px); padding:18px 8px 25px; }.social-intro { display:none; }.social-phone { width:min(100%,365px); } }

/* MFA phone ergonomics on narrow screens and short mobile viewports. */
@media(max-width:620px) {
  .mfa-stage.duo-stage { grid-template-columns:minmax(0,1fr); justify-items:center; align-content:start; gap:0; min-height:0; padding:12px 8px 22px; overflow:visible; }
  .duo-phone { width:min(365px,calc(100vw - 24px)); min-height:0; margin:0 auto; }
  .duo-phone .phone-screen { height:clamp(520px,calc(100dvh - 190px),669px); min-height:0; padding:14px 16px 24px; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; scroll-padding-block:18px; }
  .duo-phone .duo-app-head { margin-inline:-16px; padding:11px 16px 13px; }
  .duo-phone .duo-intro h1 { font-size:21px; }
  .duo-phone .duo-request { margin-top:12px; padding:12px; }
  .duo-phone .duo-request-details { margin:5px 0 12px; }
  .duo-phone .duo-request-details>div { grid-template-columns:56px minmax(0,1fr); gap:7px; padding:7px 0; }
  .duo-phone .duo-request .approval-actions { gap:10px; }
  .duo-phone .duo-request .approval-actions button { min-height:50px; width:50%; touch-action:manipulation; }
  .duo-stage .push-header { margin:14px 0 8px; }
  .duo-stage .notifications { height:clamp(118px,20dvh,150px); }
  .duo-phone .notification { min-height:52px; padding:8px 9px; }
  .mfa-home-screen .mfa-home-content { padding:14px 12px 42px; }
  .mfa-home-screen .social-home-date { margin:8px 0 18px; }
  .mfa-home-screen .social-home-date strong { font-size:44px; }
  .mfa-home-screen .home-app-grid { gap:12px 3px; }
  .mfa-home-screen .home-app-icon { width:49px; height:49px; border-radius:14px; }
  .mfa-home-screen .home-push-layer { top:auto; margin:-12px 0 14px; }
  .mfa-home-screen .home-push.notification:nth-child(n+2) { display:none; }
  .mfa-home-screen .home-push.notification { min-height:52px; }
  .duo-phone .phone-decision { padding:34px 3px 28px; }
  .duo-phone .phone-decision p { margin-bottom:18px; }
  .duo-phone .phone-option { min-height:50px; margin:8px 0; touch-action:manipulation; }
  .duo-phone .phone-main-button { min-height:48px; }
}
@media(max-width:380px) {
  .mfa-stage.duo-stage { padding-inline:6px; }
  .duo-phone { width:min(365px,calc(100vw - 16px)); }
  .duo-phone .phone-screen { height:clamp(520px,calc(100dvh - 170px),620px); padding-inline:13px; }
  .duo-phone .duo-app-head { margin-inline:-13px; padding-inline:13px; }
  .duo-phone .duo-request-details>div { grid-template-columns:52px minmax(0,1fr); gap:6px; }
  .mfa-home-screen .home-push-layer { margin-inline:0; }
}

@media(max-width:620px) {
  .incident-reveal { padding:var(--space-3) var(--space-4); }
  .incident-reveal code { font-size:13px; }
  .incident-reveal .light-control { width:100%; }
}

/* Cloud-sharing document review challenge. */
.cloud-drive-stage { position:relative; min-height:calc(100vh - 145px); overflow:hidden; border:1px solid #e5eaf0; border-radius:18px; background:#f8fafd; color:#202632; }
.cloud-drive-top { display:flex; align-items:center; gap:clamp(14px,3vw,40px); height:72px; padding:0 clamp(16px,3vw,34px); border-bottom:1px solid #e6eaf0; background:#fff; }
.cloud-drive-brand { display:flex; align-items:center; gap:11px; min-width:220px; border:0; background:none; color:#4b5563; text-align:left; }
.cloud-drive-brand strong { font-size:21px; font-weight:550; letter-spacing:-.045em; }
.cloud-drive-brand small { margin-left:2px; color:#97a0ae; font-size:11px; }
.cloud-drive-mark { position:relative; display:inline-block; width:25px; height:23px; transform:rotate(0); }
.cloud-drive-mark i { position:absolute; display:block; width:9px; height:20px; border-radius:2px; transform:skewY(-30deg); }
.cloud-drive-mark i:nth-child(1) { left:2px; top:1px; background:#4285f4; transform:skewY(-29deg) rotate(28deg); }
.cloud-drive-mark i:nth-child(2) { right:2px; top:1px; background:#34a853; transform:skewY(29deg) rotate(-28deg); }
.cloud-drive-mark i:nth-child(3) { left:8px; bottom:0; width:17px; height:7px; background:#fbbc04; transform:skewX(-29deg); }
.cloud-search { display:flex; align-items:center; gap:12px; width:min(680px,62vw); height:46px; padding:0 16px; border-radius:14px; background:#f0f4f9; color:#7a8492; font-size:13px; }
.cloud-search svg { width:18px; height:18px; }
.cloud-search-filter { margin-left:auto; font-size:18px; }
.cloud-account { display:grid; flex:none; place-items:center; width:36px; height:36px; margin-left:auto; border:1px solid #d6e2fa; border-radius:50%; background:#e8effd; color:#355a9f; font-weight:700; }
.cloud-drive-body { display:grid; grid-template-columns:220px minmax(0,1fr); min-height:calc(100vh - 218px); }
.cloud-drive-sidebar { padding:19px 12px; border-right:1px solid #e7ebf0; background:#fbfcfe; }
.cloud-new-button { display:flex; align-items:center; gap:12px; min-width:122px; height:46px; margin:0 0 21px 5px; padding:0 17px; border:1px solid #e6e9ee; border-radius:14px; background:#fff; box-shadow:0 1px 3px #26364a12; color:#414955; font-size:13px; font-weight:600; }
.cloud-new-button:first-letter { color:#4285f4; font-size:21px; }
.cloud-nav-active,.cloud-nav-item { display:flex; align-items:center; gap:14px; height:42px; margin:3px 0; padding:0 13px; border-radius:0 24px 24px 0; color:#596372; font-size:12px; }
.cloud-nav-active { background:#e8f0fe; color:#174ea6; font-weight:650; }
.cloud-nav-active svg,.cloud-nav-item svg { width:17px; height:17px; }
.cloud-storage { display:grid; gap:9px; margin:35px 16px 0; color:#747f8d; font-size:10px; }
.cloud-storage i { height:4px; border-radius:99px; background:#e1e5e9; }.cloud-storage i b { display:block; width:65%; height:100%; border-radius:99px; background:#4285f4; }
.cloud-storage small { font-size:10px; }
.cloud-main { min-width:0; padding:22px clamp(16px,4vw,54px) 32px; }
.cloud-breadcrumb { display:flex; align-items:center; gap:10px; color:#707b89; font-size:12px; }.cloud-breadcrumb span { color:#a4acb6; font-size:18px; }.cloud-breadcrumb strong { color:#303844; font-weight:600; }
.cloud-file-heading { display:flex; align-items:center; gap:12px; margin:25px 0 15px; }.cloud-pdf-icon { display:grid; place-items:center; width:38px; height:42px; border-radius:5px; background:#fce8e6; color:#c5221f; font-size:9px; font-weight:800; }.cloud-file-heading h1 { margin:0; font-size:18px; font-weight:600; letter-spacing:-.025em; }.cloud-file-heading p { margin:5px 0 0; color:#788392; font-size:11px; }.cloud-more { margin-left:auto; border:0; background:none; color:#66717f; font-size:19px; letter-spacing:2px; }
.cloud-viewer { max-width:960px; margin:auto; overflow:hidden; border:1px solid #dfe4eb; border-radius:11px; background:#edf0f3; box-shadow:0 2px 8px #1d2c3d0b; }
.cloud-viewer-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:43px; padding:0 14px; border-bottom:1px solid #dfe4eb; background:#fff; color:#596574; font-size:10px; }.cloud-viewer-toolbar>div { display:flex; align-items:center; gap:12px; }.cloud-viewer-toolbar button { width:26px; height:26px; border:1px solid #e0e4e9; border-radius:5px; background:#fff; color:#626d7b; }
.cloud-pdf-page { position:relative; width:min(100% - 48px,670px); min-height:448px; margin:18px auto; padding:35px clamp(24px,5vw,60px) 44px; background:#fff; box-shadow:0 2px 7px #12243b18; color:#3b4654; font-family:Arial,sans-serif; font-size:12px; line-height:1.65; }
.pdf-company { display:flex; align-items:center; gap:9px; color:#244a75; font-size:10px; font-weight:750; letter-spacing:.06em; line-height:1.15; }.pdf-company-mark { display:grid; place-items:center; width:29px; height:29px; border-radius:7px; background:#eaf1fa; color:#2c659e; font-family:Georgia,serif; font-size:19px; }.pdf-company small { font-size:7px; letter-spacing:.13em; }.pdf-company time { margin-left:auto; color:#8993a0; font-size:8px; font-weight:600; letter-spacing:.07em; }
.cloud-pdf-page h2 { margin:32px 0 2px; color:#203c59; font-size:23px; font-weight:650; letter-spacing:-.04em; }.pdf-lede { margin:0 0 15px; color:#718093; font-size:11px; }.pdf-rule { height:1px; margin:18px 0; background:#e5e9ee; }.cloud-pdf-page h3 { margin:19px 0 6px; color:#324a64; font-size:13px; }.cloud-pdf-page ul { margin:8px 0 17px; padding-left:18px; }.cloud-pdf-page li { margin:5px 0; }.pdf-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:18px 0; padding:14px 0; border-block:1px solid #e8ebef; }.pdf-summary div { display:grid; gap:5px; }.pdf-summary span { color:#8993a0; font-size:8px; font-weight:700; letter-spacing:.06em; }.pdf-summary strong { color:#294d72; font-size:18px; }.cloud-pdf-page .pdf-cutoff { overflow:hidden; max-height:22px; margin-top:17px; color:#646e7b; }.pdf-page-foot { position:absolute; right:clamp(24px,5vw,60px); bottom:15px; left:clamp(24px,5vw,60px); display:flex; justify-content:space-between; color:#98a0aa; font-size:8px; }
.cloud-cutoff-card { display:flex; align-items:center; gap:13px; max-width:960px; margin:15px auto 0; padding:15px 17px; border:1px solid #e2e7ed; border-radius:12px; background:#fff; }.cloud-cutoff-icon { display:grid; flex:none; place-items:center; width:36px; height:36px; border-radius:10px; background:#f1f5fb; color:#52739d; }.cloud-cutoff-icon svg { width:18px; height:18px; }.cloud-cutoff-card>div:nth-child(2) { min-width:0; }.cloud-cutoff-card strong { color:#303a46; font-size:12px; }.cloud-cutoff-card p { margin:4px 0 0; color:#77818f; font-size:10px; line-height:1.45; }.cloud-view-button { display:inline-flex; flex:none; align-items:center; justify-content:center; gap:8px; min-height:40px; margin-left:auto; padding:0 14px; border:0; border-radius:8px; background:#1a73e8; color:white; font-size:11px; font-weight:650; text-decoration:none; }.cloud-view-button:hover { background:#1765cc; }.cloud-view-button:focus-visible { outline:3px solid #9bc2fa; outline-offset:2px; }.cloud-view-button svg { width:15px; height:15px; }.cloud-drive-note { max-width:960px; margin:11px auto 0; color:#8993a0; font-size:10px; text-align:right; }
.cloud-browser-status { z-index:12; max-width:100%; overflow-wrap:anywhere; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.cloud-login-stage { display:grid; align-items:start; min-height:calc(100vh - 145px); padding-top:25px; background:#f5f8fc; }.cloud-login-card { width:min(100% - 36px,440px); margin:40px auto 50px; padding:39px 42px 26px; border:1px solid #e2e7ee; border-radius:20px; background:#fff; box-shadow:0 4px 22px #26364a0c; text-align:center; }.cloud-google-wordmark { display:flex; align-items:center; justify-content:center; gap:9px; margin-bottom:21px; color:#4b5563; font-size:18px; }.cloud-google-wordmark span { font-size:30px; font-weight:650; letter-spacing:-.08em; background:conic-gradient(from 40deg,#4285f4 0 28%,#34a853 28% 49%,#fbbc05 49% 68%,#ea4335 68% 83%,#4285f4 83%); color:transparent; background-clip:text; }.cloud-google-wordmark b { font-size:17px; font-weight:550; }.cloud-login-card h1 { margin:0; color:#252c36; font-size:22px; font-weight:500; letter-spacing:-.035em; }.cloud-login-card>p { margin:9px 0 25px; color:#66717f; font-size:12px; }.cloud-login-form { display:grid; gap:8px; text-align:left; }.cloud-login-form label { margin-top:5px; color:#515d6a; font-size:10px; font-weight:650; }.cloud-login-form input { width:100%; height:47px; padding:0 13px; border:1px solid #c9d1dc; border-radius:7px; background:#fff; color:#303a46; font:13px var(--font-ui); }.cloud-login-form input:focus { border-color:#4285f4; outline:2px solid #4285f426; }.cloud-login-form input::placeholder { color:#a1a9b3; }.cloud-login-error { min-height:16px; color:#b3261e; font-size:10px; }.cloud-login-actions { display:flex; justify-content:flex-end; margin-top:7px; }.cloud-next { min-width:82px; min-height:38px; border:0; border-radius:7px; background:#1a73e8; color:white; font-size:11px; font-weight:650; }.cloud-login-form>small { margin-top:14px; color:#808a97; font-size:9px; line-height:1.5; text-align:center; }.cloud-login-footer { margin-top:23px; padding-top:17px; border-top:1px solid #edf0f3; color:#99a1ab; font-size:9px; }
@media(max-width:760px) { .cloud-drive-stage { min-height:calc(100dvh - 130px); border-radius:12px; }.cloud-drive-top { height:61px; gap:12px; padding-inline:13px; }.cloud-drive-brand { min-width:76px; gap:8px; }.cloud-drive-brand strong { font-size:18px; }.cloud-drive-brand small { display:none; }.cloud-search { height:40px; width:auto; min-width:0; flex:1; padding-inline:11px; font-size:11px; }.cloud-drive-body { grid-template-columns:1fr; min-height:0; }.cloud-drive-sidebar { display:none; }.cloud-main { padding:17px 12px 24px; }.cloud-file-heading { margin-top:19px; }.cloud-file-heading h1 { font-size:15px; }.cloud-file-heading p { font-size:9px; }.cloud-pdf-page { width:calc(100% - 22px); min-height:430px; margin:11px auto; padding:25px 22px 40px; font-size:11px; }.cloud-pdf-page h2 { margin-top:26px; font-size:20px; }.pdf-company time { font-size:7px; }.pdf-page-foot { right:22px; left:22px; }.cloud-cutoff-card { align-items:flex-start; flex-wrap:wrap; padding:13px; }.cloud-cutoff-card>div:nth-child(2) { flex:1; }.cloud-view-button { width:100%; margin:2px 0 0; }.cloud-drive-note { text-align:left; }.cloud-login-stage { padding:10px 0; }.cloud-login-card { width:min(100% - 24px,440px); margin:22px auto 35px; padding:32px 23px 23px; border-radius:17px; } }
@media(max-width:390px) { .cloud-drive-top { gap:7px; padding-inline:9px; }.cloud-drive-brand { min-width:65px; }.cloud-drive-brand strong { font-size:16px; }.cloud-account { width:32px; height:32px; }.cloud-file-heading { gap:8px; }.cloud-pdf-page { padding-inline:17px; }.cloud-pdf-page h2 { font-size:18px; }.cloud-login-card h1 { font-size:20px; } }
@media(prefers-reduced-motion:reduce) { .cloud-drive-stage *, .cloud-login-stage * { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }
.cloud-nav-button { display:flex; align-items:center; gap:14px; width:100%; height:42px; margin:3px 0; padding:0 13px; border:0; border-radius:0 24px 24px 0; background:transparent; color:#596372; font:500 12px var(--font-ui); text-align:left; cursor:pointer; }
.cloud-nav-button svg { width:17px; height:17px; }.cloud-nav-button:hover { background:#f0f3f7; }.cloud-nav-button.active { background:#e8f0fe; color:#174ea6; font-weight:650; }
.cloud-list-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:22px 0 17px; }.cloud-list-heading h1 { margin:0; color:#303844; font-size:21px; font-weight:550; letter-spacing:-.035em; }.cloud-list-heading p { margin:5px 0 0; color:#7b8592; font-size:11px; }.cloud-sort-button { display:flex; align-items:center; gap:7px; height:34px; padding:0 10px; border:1px solid #e0e5eb; border-radius:7px; background:#fff; color:#586371; font:500 10px var(--font-ui); }.cloud-sort-button svg { width:14px; height:14px; }
.cloud-file-table { overflow:hidden; border:1px solid #e2e7ed; border-radius:10px; background:#fff; }.cloud-file-table-head,.cloud-file-row { display:grid; grid-template-columns:minmax(220px,1fr) minmax(110px,180px) 70px 28px; align-items:center; gap:12px; padding:0 16px; }.cloud-file-table-head { min-height:39px; border-bottom:1px solid #e6eaf0; color:#7a8491; font-size:10px; font-weight:600; }.cloud-file-row { min-height:59px; color:#3d4754; font:inherit; text-align:left; }.cloud-file-row+.cloud-file-row { border-top:1px solid #edf0f3; }.cloud-file-row:not(button) { cursor:default; }.cloud-file-row button { border:0; }.cloud-file-row.cloud-shared-file { width:100%; border:0; background:#fff; cursor:pointer; }.cloud-file-row.cloud-shared-file:hover,.cloud-file-row.cloud-shared-file:focus-visible { outline:0; background:#f5f8fd; }.cloud-row-filetype { display:grid; place-items:center; width:27px; height:31px; border-radius:4px; font-size:7px; font-weight:800; }.cloud-row-pdf { background:#fce8e6; color:#c5221f; }.cloud-row-sheet { background:#e6f4ea; color:#188038; }.cloud-row-doc { background:#e8f0fe; color:#1967d2; }.cloud-row-name { display:grid; min-width:0; gap:3px; }.cloud-row-name strong { overflow:hidden; color:#36414e; font-size:11px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }.cloud-row-name small { overflow:hidden; color:#89929e; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.cloud-row-date,.cloud-row-owner,.cloud-row-more { color:#788391; font-size:10px; }.cloud-row-owner { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:#e9effa; color:#52688b; font-size:8px; font-weight:700; }.cloud-row-more { justify-self:end; letter-spacing:2px; }.cloud-list-note { margin:14px 2px; color:#87919e; font-size:10px; }.cloud-list-note strong { color:#566575; font-weight:600; }
.cloud-pdf-back { display:grid; flex:none; place-items:center; width:34px; height:34px; margin-right:2px; border:0; border-radius:50%; background:transparent; color:#687483; cursor:pointer; }.cloud-pdf-back:hover { background:#eef2f7; }.cloud-pdf-back svg { width:18px; height:18px; }.cloud-pdf-main .cloud-viewer { margin-top:5px; }.pdf-embedded-cta { display:grid; justify-items:center; gap:9px; margin:28px 0 19px; padding:17px 18px; border:1px solid #e2e9f2; border-radius:7px; background:#f6f9fd; text-align:center; }.pdf-embedded-cta p { max-width:390px; margin:0; color:#596878; font-size:11px; line-height:1.55; }.pdf-embedded-cta .cloud-view-button { margin:0; min-width:185px; }.pdf-following-copy { margin-top:17px; color:#667382; }
@media(max-width:760px) { .cloud-drive-sidebar { display:flex; gap:5px; overflow-x:auto; padding:7px 9px; border-right:0; border-bottom:1px solid #e7ebf0; background:#fff; scrollbar-width:none; }.cloud-drive-sidebar::-webkit-scrollbar { display:none; }.cloud-drive-sidebar>.cloud-new-button,.cloud-drive-sidebar>.cloud-nav-item,.cloud-drive-sidebar>.cloud-storage { display:none; }.cloud-nav-button { flex:none; width:auto; height:36px; margin:0; padding:0 13px; border-radius:20px; white-space:nowrap; }.cloud-nav-button svg { width:15px; height:15px; }.cloud-file-table-head,.cloud-file-row { grid-template-columns:32px minmax(0,1fr) 25px; gap:9px; padding-inline:10px; }.cloud-file-table-head span:nth-child(2),.cloud-file-table-head span:nth-child(3),.cloud-file-row>.cloud-row-date,.cloud-file-row>.cloud-row-owner { display:none; }.cloud-file-table-head { min-height:34px; }.cloud-file-row { min-height:61px; }.cloud-row-more { grid-column:3; }.cloud-pdf-back { width:30px; height:30px; }.cloud-pdf-page { min-height:490px; }.pdf-embedded-cta { margin:22px 0 16px; padding:14px 12px; }.pdf-embedded-cta p { font-size:10px; } }
.cloud-file-table-head,.cloud-file-row { grid-template-columns:32px minmax(200px,1fr) minmax(110px,180px) 28px 28px; }
.cloud-file-table-head span:first-child { grid-column:1 / 3; }
@media(max-width:760px) {
  .cloud-drive-sidebar { display:flex; gap:5px; overflow-x:auto; padding:7px 9px; border-right:0; border-bottom:1px solid #e7ebf0; background:#fff; scrollbar-width:none; }
  .cloud-drive-sidebar::-webkit-scrollbar { display:none; }
  .cloud-drive-sidebar>.cloud-new-button,.cloud-drive-sidebar>.cloud-nav-item,.cloud-drive-sidebar>.cloud-storage { display:none; }
  .cloud-nav-button { flex:none; width:auto; height:36px; margin:0; padding:0 13px; border-radius:20px; white-space:nowrap; }
  .cloud-file-table-head,.cloud-file-row { grid-template-columns:30px minmax(0,1fr) 24px; }
  .cloud-file-table-head span:nth-child(2),.cloud-file-table-head span:nth-child(3),.cloud-file-row>.cloud-row-date,.cloud-file-row>.cloud-row-owner { display:none; }
}
