:root{--accent:#2A50E8;--accent-dark:#2140D0;--ink:#202832;--muted:#65707d;--line:#e7e8e1;--surface:#FDFEFE;--canvas:#FAFAF8;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;background:var(--canvas);color:var(--ink)}
.status.pending{color:#8a641b}
body{background:var(--canvas)}*{scrollbar-width:thin;scrollbar-color:#d6c5cd transparent}::selection{background:#e8edff;color:#202832}input,textarea{caret-color:var(--accent)}button{touch-action:manipulation}.iconDefs{position:absolute;width:0;height:0;overflow:hidden}.icon, .navItem svg,.stat svg,.quickIcon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.shell{max-width:1400px;padding:30px 40px 55px;margin:auto}.top{height:52px;margin-bottom:30px}.brand{font-size:20px;letter-spacing:-.4px;color:var(--ink)}.mark{width:42px;height:42px;border-radius:13px;background:var(--accent)}.workspaceNav{display:flex;gap:5px;padding:8px;background:white;border:1px solid var(--line);border-radius:14px;margin-bottom:30px}.navItem{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:0;border-radius:10px;background:transparent;color:#697285;font:inherit;font-size:14px;cursor:pointer}.navItem:hover{background:#f4f5f3}.navItem.active{background:#eef2ff;color:#2A50E8;font-weight:700}.navNote{margin:auto 10px auto auto;font-size:12px;color:#7a8291;display:flex;align-items:center;gap:8px}.workspaceHeader{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 28px}.workspaceHeader h1{font-size:29px;letter-spacing:-.6px;line-height:1.3;margin:0 0 7px;font-weight:750}.workspaceHeader p{font-size:14px;color:var(--muted);margin:0;line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--accent);font-weight:650;transition:background .18s ease,box-shadow .18s ease}.btn:hover{background:var(--accent-dark)}.btn.secondary{background:white;border-color:var(--line);color:#50596b}.btn.secondary:hover{background:#f4f5f3;border-color:#cbd6f6}.btn.text{color:var(--muted)}.btn:disabled{cursor:default;opacity:.55}.btn:focus-visible,.template:focus-visible,summary:focus-visible,.navItem:focus-visible,.quickAction:focus-visible,.timePresets button:focus-visible{outline:3px solid #2A50E880;outline-offset:3px}.panel{border:1px solid var(--line);border-radius:16px;box-shadow:none;padding:28px;background:white}.welcome{display:flex;align-items:center;justify-content:space-between;padding:30px 38px;margin-bottom:24px;border-radius:16px;background:#eef2ff;overflow:hidden}.welcomeCopy{position:relative;z-index:1}.welcomeBadge{display:inline-flex;gap:7px;align-items:center;color:#6d5460;font-size:12px;margin-bottom:16px}.welcome h2{font-size:32px;line-height:1.3;letter-spacing:-.5px;margin:0 0 12px;font-weight:750}.welcomeArt{width:215px;flex:none;margin-right:32px}.welcomeArt svg{display:block;width:100%}.welcome .btn{min-width:160px}.statGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 24px}.stat{position:relative;display:flex;flex-direction:column;gap:10px;background:white;border:1px solid var(--line);padding:22px 24px;border-radius:14px;min-width:0}.stat>svg{position:absolute;right:20px;top:21px;color:#b3bac7}.stat>span{font-size:13px;color:var(--muted)}.stat strong{font-size:27px;line-height:1.3;letter-spacing:-.4px;font-weight:730;font-variant-numeric:tabular-nums}.stat strong.connected{color:#14644E}.stat em{font-style:normal;font-size:13px;font-weight:500;color:var(--muted)}.stat small{font-size:12px;color:var(--muted);line-height:1.4}.overviewColumns{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.sectionHeading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px}.sectionHeading h2{margin:0;font-size:18px;letter-spacing:-.3px}.pill.neutral{color:#65707d;background:#f4f5f3}.planTime{display:flex;align-items:baseline;gap:16px;margin-bottom:24px}.planTime>span{font-size:42px;line-height:1;font-weight:730;letter-spacing:-1px;font-variant-numeric:tabular-nums}.planTime small{font-size:12px;color:var(--muted)}.planRows{border-top:1px solid var(--line);padding-top:17px;margin-bottom:22px}.planRows>div{display:flex;gap:20px;margin:0 0 12px;align-items:baseline;font-size:13px}.planRows>div>span{color:var(--muted);min-width:40px}.planRows strong{font-weight:500;line-height:1.65;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.planPanel>.btn{width:100%}.quickAction{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:15px 0;border:0;border-top:1px solid var(--line);background:white;color:var(--ink);font:inherit;cursor:pointer}.quickAction:hover .quickIcon{background:#eef2ff;color:var(--accent)}.quickAction>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:6px}.quickAction strong{font-size:14px;font-weight:650}.quickAction small{font-size:12px;line-height:1.4;color:var(--muted)}.quickAction>.icon{width:17px;color:#a1a8b5}.quickIcon{display:grid;place-items:center;flex:none;width:42px;height:42px;background:#f6f7fa;color:#7c8597;border-radius:12px}.steps{gap:0;background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:0 0 20px}.step{border:0;background:transparent;border-radius:0;color:#717a8d;padding:14px 8px;font-size:13px}.step+.step{border-left:1px solid var(--line)}.step .num{color:inherit;font-weight:500;font-size:12px;margin-bottom:4px}.step.active{border:0;background:#eef2ff;color:var(--accent);font-weight:700}.step.active .num{color:var(--accent)}.step.done{color:#14644E;background:#eff8f4}.stepPanel{min-height:380px}.stepTitle{font-size:23px;color:var(--ink);letter-spacing:-.4px;margin:0 0 9px}.lead{color:var(--muted);font-size:14px;line-height:1.7;margin:0 0 22px;max-width:65ch}.field>label{font-size:14px;color:#444d60;font-weight:650}.input,textarea{border:1px solid #dce1ea;color:var(--ink);}.input::placeholder,textarea::placeholder{color:#667085;opacity:1}.input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2A50E814}textarea{min-height:140px}.field small,.hint{font-size:12px;line-height:1.7;color:var(--muted)}.notice{background:#fff8eb;border-color:#f0dfb9;border-radius:10px;font-size:13px;color:#77613b;padding:14px 16px}.notice.success{background:#edf8f2;border-color:#d4ecde;color:#14644E}.friendList{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.friendOption{min-height:66px;border-color:var(--line);border-radius:12px;font-size:14px;padding:16px}.friendOption input{width:19px;height:19px;accent-color:var(--accent)}.friendOption span{overflow-wrap:anywhere}.friendOption:has(input:checked){background:#eef2ff;border-color:#cbd6f6}.friendEmpty{grid-column:1/-1;padding:34px 20px;text-align:center;background:#f7f8fb;color:var(--muted);font-size:13px}.friendTools{align-items:center}.friendTools>.input{min-width:150px}.friendTools .btn{}.count{font-size:12px;color:var(--accent);margin:0 0 0 auto}.template{background:white;border-color:#dfe3eb;color:#46505b}.template:hover{background:#eef2ff;border-color:#cbd6f6}.manualEntry{border-top:1px solid var(--line);margin-top:24px;padding-top:12px}.manualEntry summary{display:flex;align-items:center;color:var(--muted);font-size:13px;cursor:pointer;min-height:44px}.manualEntry .field{margin-top:12px}.summary{background:#f7f8fb;border-radius:10px;padding:18px;line-height:1.9;font-size:13px;overflow-wrap:anywhere}.summary strong{color:#50596b}.toggleCard{background:#fafbfd;border-color:#e2e6ee;border-radius:12px;padding:18px}.toggleCard input{accent-color:var(--accent);width:23px;height:23px}.toggleText{font-size:14px;color:var(--ink)}.messagePreview{padding:20px;background:#f7f8fb;border-radius:12px;margin-bottom:22px}.messagePreview>span{display:block;color:var(--muted);font-size:12px;margin-bottom:12px}.messagePreview>div{margin-left:auto;width:fit-content;max-width:85%;background:#eef2ff;border-radius:12px 12px 2px 12px;padding:12px 16px;font-size:14px;color:#202832;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.timePresets{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.timePresets button{background:#f7f8fb;border:1px solid var(--line);font:inherit;color:var(--muted);cursor:pointer}.timePresets button:hover{color:var(--accent);border-color:#cbd6f6}.connectProgress{margin:28px 0 12px;gap:8px}.connectProgress div{font-size:12px;padding-top:32px}.connectProgress div:before{width:24px;height:24px;font-size:12px}.status{font-size:13px;overflow-wrap:anywhere}.syncCount{font-size:12px}.actions{margin-top:24px}#wizardActions{padding:0 3px}.details{margin-top:0;padding:12px 28px 25px}.details summary{font-size:19px;padding:12px 0 20px;color:var(--ink);cursor:pointer;pointer-events:auto;list-style:none;justify-content:space-between}.details summary::-webkit-details-marker{display:none}.details>summary:after{content:"＋";margin-left:12px;color:#758279;font-size:17px}.details[open]>summary:after{content:"−"}.recordHint{font-size:12px;color:var(--muted);font-weight:400}.runitem{padding:22px 0;border-color:var(--line);font-size:13px}.runhead{font-variant-numeric:tabular-nums;align-items:center;margin-bottom:12px}.pill{font-size:12px;background:#edf8f2;color:#14644E;padding:5px 10px;border-radius:6px}.pill.failed{color:#b0394b;background:#fff0f2}.muted{color:var(--muted)}.friendResult{flex-wrap:wrap;gap:10px;margin-top:14px}.friendDetail{font-size:12px;color:var(--muted);line-height:1.7}.footer{color:#828998;font-size:12px;line-height:1.7;margin:28px 0 0;text-align:center}.login{margin:70px auto 0;max-width:430px;padding:34px}.login h2{font-size:26px;letter-spacing:-.5px;margin-bottom:10px}.login .btn{width:100%}.login .lead{margin-bottom:28px}.login .status:empty{display:none}
@media(min-width:761px){
  .authenticated .shell{max-width:1040px;margin:0 auto;padding:24px 20px 80px;}
  .authenticated .top{display:flex;align-items:center;justify-content:space-between;height:auto;min-height:52px;margin-bottom:20px;}
  .authenticated .brandGroup{display:grid;gap:3px;}
  .authenticated .brand{position:static;display:inline-flex;align-items:center;gap:8px;font-size:22px;font-weight:780;color:var(--ink);letter-spacing:-.4px;}
  .authenticated .workspaceNav{position:static;display:flex;flex-direction:row;width:auto;gap:8px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:24px;box-shadow:0 1px 3px rgba(32,40,50,.03);}
  .authenticated .workspaceNav .navItem{flex:1;min-height:46px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;font-size:14px;font-weight:600;color:#697285;}
  .authenticated .workspaceNav .navItem:hover{background:#f4f5f3;}
  .authenticated .workspaceNav .navItem.active{background:#eef2ff;color:#2A50E8;font-weight:700;}
}
@media(max-width:760px){.shell{padding:20px 18px calc(100px + env(safe-area-inset-bottom))}.top{margin-bottom:26px;height:40px}.brand{font-size:17px;gap:9px}.mark{width:36px;height:36px;border-radius:11px}.mark svg{width:22px}.workspaceNav{position:fixed;left:0;right:0;bottom:0;z-index:20;margin:0;border:0;border-top:1px solid var(--line);border-radius:0;justify-content:space-around;padding:9px 8px calc(9px + env(safe-area-inset-bottom));gap:3px;background:#fff}.navItem{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;font-size:12px;padding:8px 2px;min-height:53px;border-radius:10px}.navItem svg{width:22px;height:22px}.navNote{display:none}.workspaceHeader{align-items:flex-start;margin-bottom:22px;gap:12px}.workspaceHeader h1{font-size:24px;line-height:1.4;margin-bottom:7px}.workspaceHeader p{font-size:12px;max-width:27ch}.workspaceHeader>.btn{white-space:nowrap;margin-top:4px}.workspaceHeader>.btn .icon{display:none}.welcome{padding:25px 23px;margin-bottom:18px;position:relative;min-height:250px}.welcome h2{font-size:28px}.welcomeBadge{font-size:12px;margin-bottom:14px}.welcome .btn{min-width:135px;}.welcomeArt{position:absolute;width:155px;right:-21px;bottom:18px;margin:0;opacity:.75}.welcomeCopy{width:100%}.statGrid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}.stat{padding:17px 17px;gap:9px}.stat>svg{width:17px;height:17px;top:16px;right:14px}.stat>span{font-size:12px}.stat strong{font-size:24px}.stat small{font-size:12px}.stat em{font-size:12px}.overviewColumns{grid-template-columns:1fr;gap:18px}.panel{padding:23px 20px;border-radius:14px}.sectionHeading{margin-bottom:22px}.sectionHeading h2{font-size:17px}.planTime>span{font-size:36px}.planTime small{font-size:12px}.steps{margin-top:0}.step{font-size:12px;padding:12px 4px}.step .num{font-size:12px}.stepTitle{font-size:20px}.lead{font-size:13px;line-height:1.75}.stepPanel{min-height:360px}.friendList{grid-template-columns:1fr;gap:9px}.friendOption{min-height:60px}.friendTools{gap:7px}.count{margin-left:0}.actions{gap:9px}.btn{}.input,textarea{}.notice{font-size:12px}.toggleText{font-size:13px}.toggleText small{font-size:12px}.connectProgress div{font-size:12px}.connectProgress{gap:3px}.details{padding:12px 20px 22px}.details summary{font-size:17px;display:block}.recordHint{display:block;margin-top:8px;font-size:12px}.runhead{font-size:12px;gap:8px;align-items:flex-start}.runhead>.runPrimary{flex:1 1 70%;max-width:70%;min-width:0;line-height:1.7}.friendResult strong{font-size:13px}.footer{font-size:12px}.login{margin-top:35px;padding:28px 24px}.login h2{font-size:24px}#wizardActions{flex-wrap:nowrap}.actionGroup{width:auto;gap:7px}#logout{font-size:12px;padding-inline:8px}#finished .actions .btn{flex:1}.messagePreview>div{max-width:93%}.timePresets{gap:6px}.timePresets button{}}
@media(prefers-reduced-motion:no-preference){.welcomeArt{animation:hello 650ms cubic-bezier(.16,1,.3,1)}@keyframes hello{from{transform:translateY(12px);filter:blur(2px)}to{transform:translateY(0);filter:blur(0)}}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:760px){#wizardActions>#back{flex:0 0 auto}#wizardActions .actionGroup{margin-left:auto}#logout{white-space:nowrap}}
.qrPreview{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,220px);align-items:center;gap:14px;margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fbfafb}.qrCopy{display:flex;flex-direction:column;gap:6px}.qrCopy strong{font-size:14px;color:var(--ink)}.qrCopy span,.qrHint{font-size:12px;line-height:1.6;color:var(--muted)}.qrPreview img{grid-column:2;grid-row:1/3;width:100%;aspect-ratio:1;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:#fff}.qrPreview img:not([src]){display:none}.qrHint{grid-column:1;grid-row:2}
@media(max-width:520px){.qrPreview{grid-template-columns:1fr;justify-items:center;text-align:center}.qrCopy,.qrHint{grid-column:1}.qrPreview img{grid-column:1;grid-row:auto;width:min(72vw,280px)}.qrHint{grid-row:auto}}
@media(max-width:760px){#qrPreview{scroll-margin-top:calc(8px + env(safe-area-inset-top))}}
.qrPreview:not(.hidden){display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px 18px;margin-top:18px;background:#fbfafb;text-align:center}.qrCopy{align-items:center;max-width:52ch}.qrCopy strong{font-size:19px}.qrCopy span{font-size:13px}.qrPreview img{display:block;width:min(82vw,520px);max-width:100%;height:auto;aspect-ratio:1;object-fit:contain;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff;image-rendering:pixelated}.qrPreview img:not([src]){display:none}.qrActions{display:flex;justify-content:center;width:100%}.qrActions .btn{min-width:180px;}.qrHint{display:block;max-width:60ch;text-align:center;font-size:13px}.smsVerification{display:grid;gap:11px;width:min(100%,520px);padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left}.smsVerification label{font-size:15px;font-weight:700;color:var(--ink)}.smsVerification .input{text-align:center;letter-spacing:.28em}.smsActions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.smsActions .btn{}.smsVerification .status{min-height:20px;margin:0;color:var(--muted);font-size:13px}.smsVerification.hidden{display:none!important}
@media(max-width:520px){.qrPreview:not(.hidden){gap:14px;padding:21px 15px}.qrCopy strong{font-size:18px}.qrCopy span{font-size:12px}.qrPreview img{width:min(84vw,440px);padding:9px}.smsVerification{padding:15px}.smsActions{grid-template-columns:1fr}.qrActions .btn{width:100%}}
.smsVerification>strong{font-size:16px;color:var(--ink)}.smsVerification>p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.smsVerification .input{letter-spacing:.18em}.qrPreview img.hidden{display:none!important}
@media(max-width:760px){.navItem{font-size:12px}.stat>span{font-size:12px}.stat small{font-size:12px}.step{font-size:12px}.step .num{font-size:12px}.footer{font-size:12px}#next{white-space:nowrap;min-width:104px;flex:none}}
.login{width:min(100%,500px);max-width:500px;margin:clamp(24px,7vh,64px) auto 28px;padding:34px 38px 26px;border-radius:22px;box-shadow:0 18px 48px #623a2710}

.loginEyebrow{margin:0 0 7px;color:#2A50E8;font-size:12px;font-weight:800;letter-spacing:1.4px}.login h2{font-size:30px;letter-spacing:-.6px;line-height:1.25;margin:0 0 8px}.login .lead{font-size:15px;line-height:1.65;color:#625c57;margin:0 0 20px}
.loginConnection{display:flex;align-items:center;gap:9px;min-height:42px;padding:9px 12px;margin:0 0 20px;border:1px solid #eaded9;border-radius:12px;background:#faf7f5;color:#685f5a;font-size:13px;line-height:1.4}.connectionDot{width:9px;height:9px;flex:none;border-radius:50%;background:#b3a9a4}.loginConnection.online{background:#f1f8f1;border-color:#d8e9d5;color:#14644E}.loginConnection.online .connectionDot{background:#14644E}.loginConnection.offline{background:#fff4f2;border-color:#f0d4d1;color:#813f3c}.loginConnection.offline .connectionDot{background:#cb4d55}.retryService{margin-left:auto;border:0;background:transparent;color:#2A50E8;font:inherit;font-weight:700;cursor:pointer;padding:6px 4px}.retryService:hover{text-decoration:underline}.retryService:focus-visible,.togglePassword:focus-visible{outline:3px solid #4c77bf80;outline-offset:2px;border-radius:5px}
.login .field{margin-bottom:17px}.login .field>label{font-size:14px;margin-bottom:7px}.passwordField{position:relative}.passwordField .input{}.togglePassword{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-width:48px;min-height:44px;border:0;border-radius:8px;background:#f4f5f3;color:#46505b;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.togglePassword:hover{background:#f4f5f3;color:#2A50E8}.loginSubmit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;margin-top:4px;border-radius:12px;font-size:16px}.loginSubmit .icon{width:19px;height:19px;stroke:currentColor}.login .status{margin:9px 0 0;min-height:20px;font-size:13px}.loginSteps{display:flex;align-items:center;gap:9px;margin:23px 0 0;padding-top:20px;border-top:1px solid #eee6e2}.loginSteps span{display:flex;align-items:center;gap:6px;white-space:nowrap;color:#6d6661;font-size:12px}.loginSteps b{display:grid;place-items:center;width:22px;height:22px;border:1px solid #cbd6f6;border-radius:50%;background:#eef2ff;color:#2A50E8;font-size:12px}.loginSteps i{height:1px;flex:1;background:#e7dcda}.loginFoot{margin:17px 0 0;text-align:center;color:#89807b;font-size:12px;line-height:1.5}
@media(max-width:480px){.login{margin:28px auto 18px;padding:24px 21px 20px;border-radius:18px}.login h2{font-size:27px}.loginSteps{gap:6px;margin-top:20px;padding-top:17px}.loginSteps span{gap:4px;font-size:12px}.loginSteps b{width:20px;height:20px;font-size:12px}.loginSteps i{min-width:8px}}
.authTabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 20px;background:#f7f2ef}.authTab{border:0;background:transparent;color:#766b65;font:inherit;font-weight:700;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.authTab.active{background:#fff;color:#2A50E8;box-shadow:0 2px 8px #56311a12}.authTab:focus-visible{outline:3px solid #4c77bf80;outline-offset:2px}.login .authHint{display:block;margin:7px 0 0;color:#746963;font-size:12px;line-height:1.5}.login .authHint.hidden{display:none}.login .field.hidden{display:none}
@media(max-width:480px){.authTabs{margin-bottom:18px}.authTab{}.loginFoot{font-size:12px}}
.storeSectionHeading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:2px 2px 0}.storeSectionHeading h3{margin:0 0 5px;color:#202832;font-size:18px}.storeSectionHeading p{margin:0;color:#786f69;font-size:12px;line-height:1.5}.storeCount{flex:none;color:#8b7f79;font-size:12px}.storeView .storefrontGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.storeView .productCard{display:flex;flex-direction:column;min-height:235px;padding:19px}.storeView .productCard h3{font-size:18px}.storeView .productPrice{font-size:34px}.storeView .productPrice.unpriced{font-size:19px;letter-spacing:0;color:#92857e;white-space:nowrap}.storeView .productFeatures{margin-top:auto;padding:10px 0 14px}.storeView .productBuy{margin-top:0}.storeView .productCard.featured{border:1.5px solid #cbd6f6;box-shadow:0 10px 28px #2A50E814}.storeView .productCard.featured .productTag{background:#2A50E8;color:#fff}
@media(max-width:1000px){.storeView .storefrontGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.storeSectionHeading{align-items:flex-start}.storeSectionHeading h3{font-size:16px}.storeView .storefrontGrid{grid-template-columns:1fr;gap:10px}.storeView .productCard{min-height:0;padding:17px}.storeView .productFeatures{margin-top:0;padding:4px 0 13px}.storeView .productTop{gap:7px}.storeView .productPrice.unpriced{font-size:18px}}
.licensePanel{margin-top:18px;padding:19px;border-radius:16px;box-shadow:none;background:#fffdfc}.licensePanel .sectionHeading{margin-bottom:12px}.licensePanel h2{margin:0;font-size:18px}.licensePanel .loginEyebrow{margin-bottom:4px}.licensePanel>p.muted{font-size:13px;line-height:1.65}.licensePlaceholder{display:flex;align-items:center;gap:12px;margin-top:14px;padding:14px;border:1px solid #eee4df;border-radius:13px;background:#faf7f5}.licenseMark{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:12px;background:#eef2ff;color:#2A50E8;font-size:19px}.licensePlaceholder strong,.licensePlaceholder small{display:block}.licensePlaceholder strong{font-size:13px;color:#202832}.licensePlaceholder small{margin-top:4px;color:#817771;font-size:12px;line-height:1.5}
.passwordMatchStatus{display:block;min-height:0;margin:7px 0 0;font-size:12px;line-height:1.45;color:#b02f43}.passwordMatchStatus:empty{display:none}.passwordMatchStatus.matched{color:#14644E}
.loginFoot{margin:3px 0 0;color:#716863;font-size:12px;line-height:1.55}.publicUsage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid #eee6e2;text-align:center}.publicUsage[hidden]{display:none}.publicUsage>div{display:grid;gap:4px}.publicUsage strong{color:#202832;font-size:20px;line-height:1.2;font-variant-numeric:tabular-nums}.publicUsage span{color:#766e69;font-size:12px}.publicUsage>p{grid-column:1/-1;margin:3px 0 0;color:#716863;font-size:12px;line-height:1.5}.card-uses{display:block;margin-top:4px;color:#7b736e;font-size:12px;line-height:1.5}.details-panel table{min-width:980px}
.publicPlans{margin-top:22px;padding-top:18px;border-top:1px solid #eee6e2}.publicPlans>summary{cursor:pointer;color:#2A50E8;font-size:14px;font-weight:750;list-style:none}.publicPlans>summary::-webkit-details-marker{display:none}.publicPlans>summary:after{content:'＋';float:right;color:#9e827f}.publicPlans[open]>summary:after{content:'－'}.publicPlansIntro{display:flex;flex-direction:column;gap:5px;margin:16px 0 12px}.publicPlansIntro strong{font-size:14px;color:#202832}.publicPlansIntro span{font-size:12px;color:#786f69;line-height:1.5}
.storeView{display:grid;gap:18px}.storeIntro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px}.storeIntro h2{font-size:23px;margin:0 0 7px}.storeIntro p:not(.loginEyebrow){font-size:13px;color:#766e69;margin:0;line-height:1.6}.storeConnections{display:grid;gap:8px;min-width:180px}.serviceBadge{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 11px;border:1px solid #eaded9;border-radius:999px;background:#faf7f5;color:#756862;font-size:12px;font-weight:700;white-space:nowrap}.serviceBadge:before{content:'';width:7px;height:7px;margin-right:7px;border-radius:50%;background:#aaa}.serviceBadge.connected{background:#eff8f1;border-color:#d6e8d7;color:#14644E}.serviceBadge.connected:before{background:#14644E}.serviceBadge.offline{background:#fff2f1;border-color:#edd2d0;color:#a44646}.serviceBadge.offline:before{background:#ca4b53}.serviceBadge.pending{background:#fff8e8;border-color:#f0e1bc;color:#906c22}.serviceBadge.pending:before{background:#d6a943}
.storefrontGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.productCard{min-width:0;padding:22px;border:1px solid #e9dfda;border-radius:17px;background:#fff;box-shadow:0 7px 22px #623a2707}.productCard.featured{border:1.5px solid #cbd6f6;background:linear-gradient(155deg,#eef2ff,#fff 70%)}.productTop{display:flex;align-items:center;justify-content:space-between;gap:8px}.productTag{padding:5px 8px;border-radius:999px;background:#eef2ff;color:#2A50E8;font-size:12px;font-weight:750}.productTerm{color:#7e746f;font-size:12px}.productCard h3{margin:15px 0 7px;color:#2f2927;font-size:19px}.productPrice{display:flex;align-items:baseline;gap:4px;color:#2A50E8;font-size:39px;font-weight:800;letter-spacing:-1.4px;font-variant-numeric:tabular-nums}.productPrice small{font-size:17px;letter-spacing:0}.productFeatures{margin:7px 0 18px;color:#716963;font-size:12px}.productFeatures i{padding:0 5px;color:#c7aaa9;font-style:normal}.productBuy{width:100%;min-height:43px;font-size:13px}.productBuy:disabled{background:#cbd6f6;color:#fff;opacity:.75;cursor:not-allowed}.storeEmpty{grid-column:1/-1;padding:20px;border-radius:13px;background:#faf7f5;color:#786f69;font-size:13px}.storeFootnote{margin:0;padding:0 4px;color:#817772;font-size:12px;line-height:1.7}.publicPlans .storefrontGrid{gap:9px}.publicPlans .productCard{padding:15px;border-radius:13px}.publicPlans .productCard h3{margin:11px 0 6px;font-size:16px}.publicPlans .productPrice{font-size:31px}.publicPlans .productPrice small{font-size:14px}.publicPlans .productFeatures{margin:5px 0 12px;font-size:12px}.publicPlans .productBuy{min-height:38px;font-size:12px}.entitlementBlock{display:grid;gap:7px;padding:15px;border:1px solid #e9e1dc;border-radius:13px;background:#faf8f6;color:#716863;font-size:12px;line-height:1.5}.entitlementBlock strong{color:#202832;font-size:14px}.redeemCardForm{margin-top:18px;padding-top:17px;border-top:1px solid #eee6e2}.redeemCardForm>label{display:block;margin-bottom:9px;color:#202832;font-size:13px;font-weight:750}.redeemRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.redeemRow .input{min-width:0;}.redeemRow .btn{white-space:nowrap}.redeemCardForm .status{margin:7px 0 0;min-height:18px;font-size:12px}.accountStoreLink{display:flex;align-items:center;gap:8px;margin-top:12px;min-height:42px;font-size:13px}
@media(max-width:600px){.storeIntro{align-items:flex-start;flex-direction:column;padding:22px}.storeConnections{width:100%;grid-template-columns:1fr 1fr;min-width:0}.serviceBadge{font-size:12px;padding-inline:8px;white-space:normal;text-align:center}.storefrontGrid{grid-template-columns:1fr}.productCard{padding:18px}.publicPlans .storefrontGrid{grid-template-columns:1fr 1fr}.publicPlans .productTop{align-items:flex-start;flex-direction:column;gap:5px}.publicPlans .productCard{padding:13px 11px}.publicPlans .productTag{font-size:12px}.publicPlans .productTerm{font-size:12px}.publicPlans .productPrice{font-size:26px}.publicPlans .productFeatures{line-height:1.5}.redeemRow{grid-template-columns:1fr}.redeemRow .btn{width:100%}}
.slotCapacityNotice{margin:0;padding:10px 12px;border:1px solid #f0dfb6;border-radius:10px;background:#fff9e9;color:#785a1d;font-size:12px;line-height:1.6}.slotCapacityNotice.hidden{display:none}.slotCapacityNotice.warning{border-color:#f0d4d7;background:#eef2ff;color:#8b3f4c}.runSummary{margin:8px 0;padding:8px 10px;border-radius:8px;background:#f8f5f5;color:#65595c;font-size:12px;line-height:1.5}.productProposal{margin:5px 0 9px;color:#897b74;font-size:12px;line-height:1.4}.pill.neutral{background:#f4f5f3;color:#65707d}
.accountBarMain{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.accountSelectWrap{display:grid;gap:5px;min-width:min(100%,260px);flex:0 1 320px}.accountSelectWrap label{font-size:12px;font-weight:750;color:#766b65}.accountSelectWrap .input{}.accountCapacity{align-self:center;color:#817771;font-size:12px;margin-left:auto}.accountBar .btn{}.slotDetails{border-top:1px solid #eee6e2;padding-top:9px}.slotDetails>summary{display:inline-flex;align-items:center;gap:8px;color:#2A50E8;font-size:12px;font-weight:750;cursor:pointer;list-style:none}.slotDetails>summary::-webkit-details-marker{display:none}.slotDetails>summary:after{content:'＋';font-size:15px}.slotDetails[open]>summary:after{content:'－'}.slotPicker{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:8px;margin:12px 0}.slotOption{display:flex;align-items:flex-start;gap:9px;padding:10px 11px;border:1px solid #eee4df;border-radius:11px;background:#fff;cursor:pointer}.slotOption input{margin:3px 0 0;accent-color:#2A50E8}.slotOption strong,.slotOption small{display:block}.slotOption strong{font-size:12px;color:#202832}.slotOption small{margin-top:4px;color:#827770;font-size:12px;line-height:1.45}.slotActions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.slotActions>span{flex:1;min-width:210px;color:#817771;font-size:12px;line-height:1.5}.slotDetails .status{margin:6px 0 0}.accountActions{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0 9px}.accountActions .btn{}.accountBar button:disabled{opacity:.55;cursor:not-allowed}.accountBar select:focus-visible,.slotOption:focus-within{outline:3px solid #2A50E840;outline-offset:2px}
@media(max-width:760px){.accountBarMain{align-items:stretch;gap:8px}.accountSelectWrap{flex:1 1 100%;min-width:0}.accountSelectWrap .input{width:100%;}.accountBarMain>#addAccount{flex:0 0 auto}.accountCapacity{align-self:center;margin-left:auto}.slotPicker{grid-template-columns:1fr}.slotActions{align-items:stretch}.slotActions .btn{width:100%}.accountActions .btn{flex:1}}

#removeAccount{color:#a64d5c;border-color:#cbd6f6}#removeAccount:hover{background:#fff3f5}

/* A compact daily workspace, led by the plan rather than decorative artwork. */
.welcome { min-height:0; padding:24px 28px; background:#fff; border:1px solid #e3e6ec; border-radius:14px; box-shadow:none; }
.welcomeCopy { max-width:none; width:100%; display:grid; grid-template-columns:1fr auto; gap:8px 24px; align-items:center; }
.welcomeCopy h2 { font-size:26px; line-height:1.3; margin:4px 0; letter-spacing:-.025em; }
.welcomeCopy p { font-size:14px; margin:0; }
.welcomeBadge { grid-column:1; }
.welcomeCopy .btn { grid-column:2; grid-row:1 / 4; }
.statGrid { gap:0; border:1px solid #e3e6ec; border-radius:14px; overflow:hidden; background:#fff; }
.stat { border:0; border-radius:0; box-shadow:none; background:transparent; padding:20px 24px; }
.stat + .stat { border-left:1px solid #e3e6ec; }
.stat strong { font-size:24px; }
.stat>svg { display:none; }
.overviewColumns { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); }
.workspaceHeader h1 { font-size:28px; letter-spacing:-.025em; }
.workspaceHeader { margin-bottom:22px; }
.accountBar { padding:16px 20px; }
.planPanel,.quickPanel { box-shadow:none; }
.planTime { margin:20px 0; }
.quickAction { padding:16px 0; }
.authCard { box-shadow:0 10px 40px rgba(25,35,55,.05); }
.loginEyebrow { display:none; }
@media(max-width:700px){ .welcomeCopy { display:block; } .welcomeCopy .btn{ margin-top:16px; width:100%; } .welcome { padding:20px; } .stat { padding:16px; } .stat:nth-child(3){ border-left:0; } .stat:nth-child(n+3){ border-top:1px solid #e3e6ec; } .overviewColumns { grid-template-columns:1fr; } }

.accountManagerStatus:empty,#accountManagerStatus:empty,#slotStatus:empty {display:none;min-height:0;}
.accountBar .slotCapacityNotice.hidden {display:none;} .accountBar>p:empty {display:none;}
.historyScope {display:flex;gap:9px;align-items:center;margin:18px 0;font-size:14px;color:#586278;}

/* Login prioritizes the form and real service data; no fictional dashboard preview. */
.loginExperience{display:grid;grid-template-columns:minmax(0,1fr) minmax(370px,460px);align-items:center;gap:clamp(36px,6vw,76px);max-width:1120px;margin:24px auto 58px}
.loginStory{min-width:0;align-self:center}
.loginExperience #login{width:100%;max-width:none;min-width:0;box-sizing:border-box;margin:0;padding:31px 32px 27px;border:1px solid #e7e8e1;border-radius:18px;background:#fff;box-shadow:0 14px 34px #29354b0b}
.loginExperience #login h2{font-size:26px;letter-spacing:-.035em}
.loginExperience #login .lead{margin-bottom:15px;color:#65707d;font-size:13px}
.loginExperience #login .loginConnection{min-height:38px;margin-bottom:17px;padding:8px 10px;font-size:12px}
.loginExperience #login .authTabs{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;margin-bottom:17px}
.loginExperience #login .authTab{min-width:0;white-space:normal}
.loginExperience #login .field{margin-bottom:14px}
.loginExperience #login .field>label{font-size:12px}
.loginExperience #login .input{}
.loginExperience #login .loginSubmit{min-height:49px;margin-top:7px;font-size:14px}
.loginExperience,.loginExperience>*{min-width:0;max-width:100%}
.loginExperience{width:100%}
/* Keep account controls available without occupying every workspace page. */

.accountSummary{display:flex;align-items:center;gap:11px;min-height:64px;padding:10px 17px;list-style:none;cursor:pointer}
.accountSummary::-webkit-details-marker{display:none}
.accountSummary:after{display:none}
.accountSummaryIcon{display:grid;width:34px;height:34px;place-items:center;flex:none;border-radius:10px;background:#f5f6f9;color:#697487}
.accountSummaryIcon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.accountSummaryCopy{display:grid;gap:3px;min-width:0}
.accountSummaryCopy strong{font-size:13px;font-weight:700;color:#343b49}
.accountSummaryCopy small{color:#65707d;font-size:12px;line-height:1.4}
.accountSummaryState{max-width:45%;margin-left:auto;overflow:hidden;color:#677285;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.accountSummaryChevron{display:grid;place-items:center;flex:none;border:1px solid #e8eaf0;color:#7b8492;transition:transform .18s ease}


.accountBarMain{padding-top:13px}


@media(max-width:900px){.loginExperience{grid-template-columns:minmax(0,1fr) minmax(340px,430px);gap:30px}}
@media(max-width:700px){.loginExperience{grid-template-columns:minmax(0,1fr);gap:18px;margin:0 auto 36px}.loginExperience #login{grid-column:1;grid-row:1;padding:24px 21px 21px;border-radius:16px}.loginStory{grid-column:1;grid-row:2;padding:0}.accountSummary{min-height:59px;padding:9px 12px;gap:9px}.accountSummaryIcon{width:31px;height:31px}.accountSummaryCopy small{font-size:12px}.accountSummaryState{max-width:39%;font-size:12px}.accountSummaryChevron{}}
/* Completed setup stays compact; open the row only when you need to change it. */
.accountConnectionPanel{min-height:0;padding:0;overflow:hidden}
.accountConnectionSummary,.licensePanelSummary{display:flex;align-items:center;gap:12px;min-height:70px;padding:15px 20px;cursor:pointer;list-style:none}
.accountConnectionSummary::-webkit-details-marker,.licensePanelSummary::-webkit-details-marker{display:none}
.accountConnectionSummary>.accountSummaryCopy{display:grid;gap:4px;min-width:0}
.accountConnectionSummary strong{font-size:17px;font-weight:720;color:#202832}
.accountConnectionSummary small{color:#65707d;font-size:12px;line-height:1.4}
.accountConnectionBadge{margin-left:auto;padding:6px 9px;border-radius:999px;background:#f4f5f3;color:#7b6870;font-size:12px;white-space:nowrap}
.accountConnectionBadge.is-connected{background:#edf7f1;color:#14644E}
.accountConnectionBadge.is-pending{background:#fff6e8;color:#886629}
.accountConnectionSummary>i,.licensePanelSummary>i{display:grid;width:25px;height:25px;place-items:center;border:1px solid #e6e9ef;border-radius:50%;color:#7b8492;font-size:14px;font-style:normal;transition:transform .18s ease}
.accountConnectionPanel[open]>.accountConnectionSummary,.licensePanel[open]>.licensePanelSummary{border-bottom:1px solid #edf0f3}
.accountConnectionPanel[open]>.accountConnectionSummary>i,.licensePanel[open]>.licensePanelSummary>i{transform:rotate(180deg)}
.accountConnectionBody{padding:20px 22px 22px}
.accountConnectionBody>.lead{margin-bottom:17px}
.licensePanel{margin-top:19px;padding:0;overflow:hidden;border-radius:13px;background:#fff}
.licensePanelSummary{min-height:57px;padding:12px 15px}
.licensePanelSummary h2{margin:0;font-size:14px;font-weight:680;color:#202832}
.licensePanelSummary .pill{margin-left:auto}
.licensePanelBody{padding:15px}
@media(max-width:700px){.accountConnectionSummary,.licensePanelSummary{min-height:62px;padding:12px 14px;gap:9px}.accountConnectionSummary strong{font-size:15px}.accountConnectionSummary small{font-size:12px}.accountConnectionBody{padding:16px 13px 17px}.licensePanelBody{padding:13px}.accountConnectionPanel.stepPanel{min-height:0}.licensePanel{margin-top:15px}}

/* One compact service panel with the three numbers customers asked to see. */
.visuallyHidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.publicMetrics{margin:0;padding:16px 18px;border:1px solid #e7e8e1;border-radius:16px;background:#fff}
.publicMetricsHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}
.publicMetricsHead h2{margin:0;color:#202832;font-size:15px;font-weight:720;letter-spacing:-.02em}
.metricsRefresh{display:inline-flex;align-items:center;gap:7px;padding:5px 0;color:#687386!important;font-size:12px!important;white-space:nowrap!important}
.metricsRefresh>i{width:7px;height:7px;flex:none;border-radius:50%;background:#14644E}
.metricsRefresh.is-unavailable>i{background:#8a93a1}
.metricsCanvas{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0;border-top:1px solid #edf0f3}
.metricCard{min-width:0;background:transparent}
.metricCardLabel{color:#667080;font-size:12px;font-weight:650;line-height:1.4}
.metricCardValue{display:flex;align-items:baseline;gap:5px;margin:7px 0 0;white-space:nowrap}
.metricCardValue strong{color:#202832;font-size:25px;font-weight:760;line-height:1;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.metricCardValue span{color:#697285;font-size:12px}
.publicMetrics.is-unavailable .metricCardValue>span{display:none}
.metricCard-total{display:grid;align-content:center;gap:9px;padding:17px 18px 17px 2px;border-right:1px solid #edf0f3}
.metricCard-total .metricCardLabel{font-size:12px}
.metricCard-total .metricCardValue{margin:0}
.metricCard-total .metricCardValue strong{color:#982e50;font-size:37px}
.metricCard-total>p{margin:0;color:#697285;font-size:12px;line-height:1.45}
.metricSide{display:grid;grid-template-rows:repeat(2,minmax(65px,1fr))}
.metricSide .metricCard{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:4px 12px;padding:12px 2px 12px 17px}
.metricSide .metricCard+.metricCard{border-top:1px solid #edf0f3}
.metricSide .metricCardLabel{grid-column:1;grid-row:1;white-space:normal}
.metricSide .metricCardValue{grid-column:2;grid-row:1/3;justify-self:end;margin:0}
.metricSide .metricCardValue strong{font-size:23px}
.metricCard-users .metricCardValue strong{color:#3e6685}
.metricCard-success .metricCardValue strong{color:#14644E}
.metricCardNote{grid-column:1;grid-row:2;color:#697285;font-size:12px;line-height:1.35}
.publicActivity{margin-top:9px;border:1px solid #e7e8e1;border-radius:13px;background:#fff;overflow:hidden}
.publicActivity>summary{display:flex;min-height:49px;align-items:center;justify-content:space-between;gap:10px;padding:9px 13px;cursor:pointer;list-style:none}
.publicActivity>summary::-webkit-details-marker{display:none}
.publicActivity>summary strong{color:#202832;font-size:12px;font-weight:700}
.publicActivityAction{display:inline-flex;align-items:center;gap:7px;color:#697285;font-size:12px;white-space:nowrap}
.publicActivityAction i{display:grid;width:26px;height:26px;place-items:center;border:1px solid #e8ebef;border-radius:9px;font-size:13px;font-style:normal;transition:transform .16s ease}
.publicActivity[open] .publicActivityAction i{transform:rotate(180deg)}
.publicActivity>summary:focus-visible{outline:2px solid #2A50E8;outline-offset:-3px}
.publicActivityList{display:grid;gap:0;padding:0 13px;border-top:1px solid #edf0f3}
.publicActivityDay{display:grid;grid-template-columns:58px 1fr 1.2fr;gap:7px;align-items:center;padding:10px 0;border-bottom:1px solid #f0f1f4;color:#697384;font-size:12px}
.publicActivityDay:last-child{border-bottom:0}
.publicActivityDay time{color:#202832;font-variant-numeric:tabular-nums;font-weight:650}
.publicActivityEmpty{margin:0;padding:13px 0;color:#697285;font-size:12px}
/* Tappable account selector and clear exit location */
.accountSummary{min-height:72px}
.accountSummaryState{max-width:44%;padding:7px 10px;border-radius:999px;background:#f7f8fb;color:#596477;font-variant-numeric:tabular-nums}
.accountSummaryChevron{display:flex;align-items:center;justify-content:center;gap:8px;background:#f8f9fc;color:#5f6879;}
.accountSummaryChevron i{font-style:normal;transition:transform .16s ease}
.accountBar[open] .accountSummaryChevron i{transform:rotate(180deg)}
.accountSelectWrap{position:relative}
.accountSelectWrap:after{position:absolute;right:9px;bottom:8px;display:grid;width:34px;height:34px;place-items:center;border-left:1px solid #e8ebef;color:#687386;content:"⌄";font-size:15px;pointer-events:none}
.accountSelectWrap .input{appearance:none;-webkit-appearance:none;background-image:none}





/* Scheduling controls have consistent spacing and a proper switch. */
#step3{min-width:0;overflow:hidden}
.stepPanel#step3{min-height:0}
.scheduleField{width:min(100%,560px);margin-top:20px}
.scheduleField .input{display:block;width:min(100%,360px);min-width:0;}
.timePresets{gap:8px;margin-top:12px}
.timePresets button{background:#f7f8fb;}
.scheduleMessageAction{width:auto;min-height:var(--control-height,48px);margin:8px 0 20px;padding:10px 14px}
.toggleCard{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;margin:4px 0 18px;padding:17px 18px;border:1px solid #e2e6ee;border-radius:14px;background:#fafbfd;cursor:pointer;transition:border-color .15s ease,background .15s ease}
.toggleCard:has(input:checked){border-color:#cbd6f6;background:#eef2ff}
.toggleCard input{position:absolute;width:1px;height:1px;margin:0;opacity:0}
.toggleText{display:block;min-width:0;color:#202832;font-size:14px;font-weight:720}

.switchTrack{display:flex;width:52px;height:31px;align-items:center;padding:3px;border-radius:999px;background:#dce1e8;transition:background .16s ease}
.switchTrack i{width:25px;height:25px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #27334a2c;transition:transform .16s ease}
.toggleCard:has(input:checked) .switchTrack{background:#2A50E8}
.toggleCard:has(input:checked) .switchTrack i{transform:translateX(21px)}
.toggleCard:has(input:focus-visible){outline:3px solid #2A50E8;outline-offset:3px}
#step3>.summary{margin:14px 0;border:1px solid #e7eaf0;background:#f8f9fc;font-size:12px;line-height:1.75}
#step3>.notice{font-size:12px;line-height:1.6}
/* Run history: summary first, then readable status counts and next steps. */
#recordsPanel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:65px;cursor:pointer;list-style:none}
#recordsPanel>summary::-webkit-details-marker{display:none}
#recordsPanel>summary::after{display:none}
.recordsTitle{display:grid;gap:3px;color:#202832;font-size:17px;font-weight:720}

.recordChevron{display:grid;place-items:center;border:1px solid #e7e9ef;color:#687386;transition:transform .16s ease}
#recordsPanel[open] .recordChevron{transform:rotate(180deg)}
.recordToolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 4px;padding:10px 0;border-bottom:1px solid #e8ebf0;color:#7e8797;font-size:12px}
.historyScope{display:inline-flex;align-items:center;gap:8px;min-height:var(--control-height,48px);margin:0;padding:6px 10px;border:1px solid #e5e8ee;border-radius:10px;background:#fff;color:#596477;font-size:12px;white-space:nowrap;cursor:pointer}
.historyScope input{width:18px;height:18px;margin:0;accent-color:#2A50E8}
#runs{min-width:0}
.runitem{min-width:0;padding:17px 0;border-top:1px solid #e8ebf0;font-size:12px}
.runhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.runPrimary{display:grid;min-width:0;gap:4px}
.runPrimary strong{overflow:hidden;color:#202832;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.runPrimary span{color:#7e8797;font-size:12px;font-variant-numeric:tabular-nums}
.runCounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 12px}
.runCounts.withWaiting{grid-template-columns:repeat(4,minmax(0,1fr))}
.runCount{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:6px;padding:8px 10px;border:1px solid #e8ebf0;border-radius:10px;background:#fafbfd}
.runCount small{overflow:hidden;color:#687386;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.runCount strong{color:#435064;font-size:13px;font-variant-numeric:tabular-nums}
.runCountSent{background:#f1f8f4;border-color:#e0eee5}.runCountSent strong{color:#14644E}
.runCountNotSent{background:#fff8ee;border-color:#f0e7d6}.runCountNotSent strong{color:#9b7538}
.runCountUnknown{background:#f7f4f6;border-color:#ece7eb}.runCountUnknown strong{color:#786d77}
.runCountWaiting{background:#f1f5fc;border-color:#e3eaf5}
.runNote,.runAlert{margin:9px 0;padding:10px 12px;border-radius:10px;background:#f7f8fb;color:#697384;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.runAlert{background:#fff5f4;color:#9b3e45}
.runFriendList{display:grid;gap:8px}
.friendResult{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 10px;margin:0;padding:10px 11px;border:1px solid #edf0f3;border-radius:10px;background:#fff}
.friendResult strong{min-width:0;overflow:hidden;color:#202832;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.friendResult .pill{justify-self:end}
.friendResult>small{grid-column:1/-1;color:#7c8594;font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.friendResult .friendNextStep{color:#52627a}
.runsEmpty{display:grid;gap:4px;padding:24px 8px;text-align:center}
.runsEmpty strong{color:#202832;font-size:13px}
.runsEmpty span{color:#87909d;font-size:12px}
@media(max-width:700px){
 .accountSummary{min-height:66px;padding:9px 11px;gap:8px}.accountSummaryIcon{width:32px;height:32px}.accountSummaryCopy small{font-size:12px}.accountSummaryState{max-width:35%;font-size:12px;padding:6px 8px}.accountSummaryChevron{gap:5px;}
 .scheduleField{margin-top:16px}.scheduleField .input{width:100%}.timePresets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.timePresets button{min-width:0;white-space:normal}.scheduleMessageAction{width:100%;margin:8px 0 16px}.toggleCard{gap:10px;min-height:76px;padding:13px}.toggleText{font-size:13px}.toggleText small{font-size:12px}.switchTrack{width:48px;height:29px}.switchTrack i{width:23px;height:23px}.toggleCard:has(input:checked) .switchTrack i{transform:translateX(19px)}
 #recordsPanel.details{padding:10px 14px 16px}.recordsTitle{font-size:15px}.recordChevron{}.recordToolbar{align-items:flex-start;flex-direction:column;gap:7px;padding:9px 0}.historyScope{width:100%;justify-content:flex-start;white-space:normal}.runitem{padding:14px 0}.runhead{align-items:flex-start;gap:8px}.runPrimary strong{font-size:12px}.runPrimary span{font-size:12px}.runhead>.pill{flex:none;font-size:12px;padding:5px 8px}.runCounts{gap:5px}.runCount{align-items:center;flex-direction:column-reverse;justify-content:center;gap:3px;padding:7px 3px}.runCount small{font-size:12px}.runCount strong{font-size:14px}.friendResult{gap:5px 7px;padding:9px}.friendResult strong{font-size:12px}.friendResult .pill{font-size:12px;padding:4px 6px}
 .workspaceHeader{margin-bottom:13px}.workspaceHeader:has(#viewHeaderCopy.hidden){justify-content:flex-end}
}
@media(max-width:380px){.metricsRefresh{font-size:12px!important}.metricCard-total .metricCardValue strong{font-size:29px}.metricSide .metricCardValue strong{font-size:19px}.metricCardLabel{font-size:12px}.metricCardNote{font-size:12px}.historyScope{font-size:12px}}
@media(max-width:700px){.metricCard-total .metricCardValue{gap:4px}.metricCard-total .metricCardValue strong{font-size:clamp(22px,7vw,28px)}.metricCard-total .metricCardValue span{flex:none;white-space:nowrap}}

/* One account card: login, account selection and slot actions share one clear place. */
.accountConnectionSummary{gap:10px;min-height:72px;padding:12px 16px}
.accountConnectionSummary>.accountSummaryCopy{display:grid;gap:4px;min-width:0}
.accountSummaryCopy{flex:1}
.accountSummaryCopy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.accountConnectionPanel[open]>.accountConnectionSummary{border-bottom:1px solid #edf0f3}
.accountConnectionBody{display:grid;gap:16px;padding:16px}
.accountManagementControls{display:grid;gap:11px;margin:0;padding:0;border:0;border-radius:0;background:transparent}
.accountManagementControls .accountBarMain{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:9px}
.accountManagementControls .accountSelectWrap{grid-column:1/-1;min-width:0;width:100%}
.accountManagementControls .accountSelectWrap .input{width:100%;}
.accountManagementControls .accountCapacity{display:none}
.accountManagementControls .slotDetails{margin-top:2px;padding-top:10px}
.accountManagementControls .status{margin:0}
.accountConnectionBody>.lead{margin:0}
.accountManagementControls>.accountActions{margin:0}
.accountConnectionBody>.actions{margin:0}
.accountConnectionStart{display:grid;gap:10px}
.accountConnectionStart>.accountState{margin:0}
.accountConnectionStart>.actions{margin:0}
.accountConnectionBody>#connectProgress{margin:10px 0 0}
.accountConnectionBody>#loginGuidance{margin:0}
.accountSelectWrap:after{display:none;content:none}
.accountSelectWrap .input{appearance:auto;-webkit-appearance:auto;background-image:none}

/* The account name is informational; actions live in the Settings destination. */
.userIdentity{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto;min-height:var(--control-height);padding:0 12px;border:1px solid var(--line);border-radius:var(--control-radius);background:#fff;color:#586278;font-size:var(--control-font);line-height:20px}
.userIdentity .icon{width:17px;height:17px}
.userIdentity>span{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:700px){
 .accountConnectionSummary{min-height:64px;padding:10px 11px;gap:8px}
 .accountSummaryIcon{width:31px;height:31px}
 .accountSummaryCopy small{font-size:12px}
 .accountConnectionBadge{padding:5px 7px;font-size:12px}
 .accountSummaryChevron{gap:4px;}
 .accountConnectionBody{gap:12px;padding:13px}
 .accountManagementControls{gap:9px;padding:0}
 .accountManagementControls .accountBarMain{grid-template-columns:minmax(0,1fr) auto auto;gap:7px}
 .accountManagementControls .accountBarMain>.btn{white-space:nowrap}
 .userIdentity{gap:5px;padding-inline:8px}
 .userIdentity .icon{width:15px;height:15px}
 .userIdentity>span{max-width:92px}
}
@media(max-width:360px){
 .accountConnectionSummary{gap:6px;padding-inline:9px}
 .accountSummaryIcon{width:28px;height:28px}
 .accountConnectionBadge{padding:4px 6px;font-size:12px}
 .accountSummaryChevron{}
 .accountManagementControls .accountBarMain{grid-template-columns:minmax(0,1fr) auto;}
 .accountManagementControls #removeAccount{grid-column:2}
}

#wizardActions > #back,#wizardActions .actionGroup > #next{width:112px;min-width:112px;flex:none}
/* Keep per-friend evidence available without expanding every historical run. */
.runDetails{margin-top:12px;border-top:1px solid #edf0f3}
.runDetails>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;color:#526078;font-size:12px;cursor:pointer;list-style:none}
.runDetails>summary::after{display:none}
.runDetails>summary::-webkit-details-marker{display:none}
.runDetails>summary::marker{content:""}
.runDetails>summary .icon{width:16px;height:16px;transition:transform .16s ease}
.runDetails[open]>summary .icon{transform:rotate(180deg)}
.runDetails .runFriendList{padding-bottom:4px}
@media(max-width:700px){
 .runPrimary span{font-size:12px;line-height:1.5}
 .runCount small{font-size:12px}
 .friendResult strong{font-size:12px}
 .friendResult>small{font-size:12px;line-height:1.6}
 .friendResult .pill{font-size:12px}
 .runNote,.runAlert{font-size:12px}
}

.accountConnectionSummary .accountSummaryCopy small:empty{display:none}
/* Disclosure titles are stable click targets; only the chevron changes state. */
.accountSummaryChevron .icon{transition:transform .16s ease}
.accountConnectionPanel[open] .accountSummaryChevron .icon{transform:rotate(180deg)}
.accountConnectionPanel:not([open])>summary .whenOpen,.accountConnectionPanel[open]>summary .whenClosed{display:none}
#step0:has(.accountSelectWrap.hidden) .accountBarMain{display:flex}
#step0:has(.accountSelectWrap.hidden) #addAccount{width:100%}

.accountConnectionStart>.actions:has(#connectDouyin.hidden),.accountManagementControls>.accountActions:has(> #reconnectDouyin.hidden):has(> #syncFriends.hidden){display:none}

.status:empty,.syncCount:empty{display:none}

/* Three destinations: account, plan and evidence. Editors stay inside the plan. */
.planPanel{max-width:780px;margin-inline:auto}
.preferencesPanel{max-width:780px;margin-inline:auto;padding:8px 24px}
.preferencesPanel>h2{margin:16px 0 4px;color:var(--ink);font-size:18px;letter-spacing:-.2px}
.preferenceRow{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:14px 0;border-top:1px solid var(--line)}
.preferenceRow>div:first-child{display:flex;flex:1;flex-direction:column;gap:5px;min-width:0}
.preferenceRow strong{color:#202832;font-size:14px;font-weight:650}
.preferenceRow small,.preferenceRow>div:first-child>span{color:#667287;font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.preferenceRow .btn{flex:none;white-space:nowrap}
.preferenceRow .status{margin:4px 0 0}
.preferenceIdentityRow{min-height:62px}
.preferenceIdentityRow>div{flex-direction:row!important;align-items:baseline;gap:12px!important}
.preferenceIdentityRow strong{font-variant-numeric:tabular-nums}
.preferenceBinding>div:last-child{flex:none;width:min(100%,220px)}
.preferenceLogout{justify-content:flex-end;margin-top:8px}
.preferenceLogout .btn{margin-left:auto;color:#8a3548}
.planAccountLine{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line);color:#526078;font-size:14px}
.planAccountLine>span{min-width:0;overflow-wrap:anywhere}
.planAccountLine .btn{flex:none;background:transparent}
.planValue{max-width:75%;border:0;background:transparent;color:#202832;font:inherit;font-size:14px;font-weight:600;text-align:right;text-decoration:underline;text-decoration-color:#d6dce6;text-underline-offset:4px;cursor:pointer;overflow-wrap:anywhere}
.planActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.planToday{display:flex;justify-content:space-between;gap:16px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line);color:#65707d;font-size:12px}
.planToday strong{color:#14644E;font-variant-numeric:tabular-nums}
@media(max-width:700px){
 .workspaceNav .navItem{flex:1}
 .planAccountLine{font-size:13px}
 .planActions>.btn{flex:1;min-width:130px}
 .planValue{font-size:13px;line-height:1.6}
 .preferencesPanel{padding:4px 18px}
 .preferenceRow{align-items:flex-start;flex-direction:column;gap:10px;padding:14px 0}
 .preferenceRow .btn{width:100%;justify-content:center}
 .preferenceIdentityRow{align-items:center;flex-direction:row}
 .preferenceIdentityRow>div{flex-direction:column!important;align-items:flex-start;gap:3px!important}
 .preferenceBinding>div:last-child{width:100%}
}

/* Shared action controls: one scale across pages and viewport sizes. */
:root{--control-height:44px;--control-radius:10px;--control-font:14px}
.btn,.authTab,.template,.timePresets button{min-height:var(--control-height);padding:10px 16px;border-radius:var(--control-radius);font-size:var(--control-font);line-height:20px}
.input{height:var(--control-height);min-height:var(--control-height);padding:10px 14px;border-radius:var(--control-radius);font-size:16px;line-height:24px}
textarea{border-radius:var(--control-radius);font-size:16px;line-height:1.6}
.passwordField .input{padding-right:68px}
.togglePassword{min-height:var(--control-height);font-size:13px}
.accountSummaryChevron,.recordChevron,.disclosureControl{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:6px;height:var(--control-height);border:1px solid var(--line);border-radius:var(--control-radius);background:#f8f9fc;color:#526078;font-size:var(--control-font)}
.accountSummaryChevron{width:auto;min-width:72px;padding:0 10px}
.recordChevron,.disclosureControl{width:var(--control-height)}
.disclosureControl .icon,.recordChevron .icon,.accountSummaryChevron .icon{width:16px;height:16px}
.licensePanel[open] .disclosureControl .icon{transform:rotate(180deg)}

/* Keep auth controls nested and let registration guidance enter normal document flow. */
.loginExperience{align-items:start}
.loginStory{align-self:start}
.loginExperience #login #authLead{display:none;margin:0;overflow:visible}
.loginExperience #login #authLead>span{display:block;min-height:0;overflow:visible}
.loginExperience #login #authLead.authLeadVisible{display:block;margin:0 0 15px;animation:authLeadEnter .18s ease-out both}
@keyframes authLeadEnter{from{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.loginExperience #login #authLead.authLeadVisible{animation:none}}
.loginExperience #login .authTabs{gap:4px;padding:4px;border-radius:14px}
.loginExperience #login .authTab{border-radius:10px}
.loginExperience #login .authTab.active{border-radius:9px}
#loginStatus{display:block;min-height:20px;margin:8px 0 0;line-height:1.5}
#loginStatus:empty{display:block;visibility:hidden}
#passwordMatchStatus{min-height:18px}
#passwordMatchStatus:empty{display:block;visibility:hidden}
.loginExperience #login .authTab:disabled{cursor:wait}
@media(prefers-reduced-motion:reduce){.loginExperience #login .authTab{transition:none!important}}
.slotDetails>summary{display:flex;align-items:center;justify-content:space-between;min-height:var(--control-height);gap:12px;font-size:var(--control-font)}
.slotDetails>summary::after{display:none}
.slotDetails>summary .icon{width:16px;height:16px;transition:transform .16s ease}
.slotDetails[open]>summary .icon{transform:rotate(180deg)}
.runDetails>summary{min-height:var(--control-height);font-size:13px}
.planValue{min-height:var(--control-height)}
@media(max-width:700px){
 .timePresets button{padding:10px 6px;white-space:nowrap}
 .accountManagementControls .accountBarMain>.btn{padding:10px 12px}
 .userIdentity>span{max-width:84px}
 .accountConnectionSummary{gap:8px}
 .accountConnectionSummary strong{font-size:14px}
 .accountConnectionBadge{font-size:12px;line-height:1.25;padding:5px 6px;max-width:78px;white-space:normal;text-align:center}
}

@media(max-width:360px){
 .accountConnectionSummary{gap:6px}
 .accountConnectionBadge{font-size:12px;padding:3px 5px;max-width:64px;line-height:1.2}
 .accountConnectionSummary>.disclosureAction{min-width:48px;gap:3px;font-size:12px}
}

.runBlockNotice{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 0;padding:10px 12px;border:1px solid #f0d4d7;border-radius:12px;background:#fff4f5;color:#79404a;font-size:13px;line-height:1.5}
.runBlockNotice.hidden{display:none}
.runBlockNotice>span{min-width:0}
.runBlockNotice .btn{flex:none;min-height:48px;padding:10px;color:#8c3549}
.noticeActionLink{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin:4px 0 0 4px;padding:8px 10px;border:0;border-radius:9px;background:transparent;color:#9e3150;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media(max-width:390px){.runBlockNotice{align-items:flex-start;flex-direction:column;gap:4px}.runBlockNotice .btn{min-height:48px;padding-inline:10px}}

/* Native disclosure rows, with one quiet action instead of a nested faux button. */
.disclosureAction{display:inline-flex;flex:none;align-items:center;justify-content:flex-end;gap:6px;min-width:64px;min-height:48px;padding:0;border:0;background:transparent;color:#667287;font-size:13px;font-weight:500;white-space:nowrap}
.disclosureAction .icon{width:16px;height:16px;transition:transform .16s ease}
.disclosureAction .whenOpen{display:none}
details[open]>summary .disclosureAction .whenOpen{display:inline}
details[open]>summary .disclosureAction .whenClosed{display:none}
details[open]>summary .disclosureAction .icon{transform:rotate(180deg)}
summary:hover .disclosureAction{color:var(--accent)}
.accountConnectionSummary,.licensePanelSummary{min-height:72px}

.accountRemovalRecoveryActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}
.accountRemovalRecoveryActions .btn{min-height:var(--control-height)}
@media(max-width:700px){.accountRemovalRecoveryActions{align-items:stretch}.accountRemovalRecoveryActions .btn{width:100%;justify-content:center}}

.licensePanelBody>#refreshAuthorization{margin-top:12px}
.slotCapacityNotice.authorizationShortcutOnly,.slotCapacityNotice.authorizationShortcutOnly.warning{padding:0;border-color:transparent;background:transparent;color:#526078}
.slotCapacityNotice.authorizationShortcutOnly .noticeActionLink{margin:0;padding-inline:10px;text-decoration:none}
/* Give mobile metric labels their own line instead of shrinking them. */
@media(max-width:700px){
 .metricSide .metricCard{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;gap:6px;padding:14px 0 14px 14px}
 .metricSide .metricCardLabel{grid-column:1;grid-row:1}
 .metricSide .metricCardValue{grid-column:1;grid-row:2;justify-self:start}
 .metricCardNote{grid-column:1;grid-row:3;color:#697285;line-height:1.5}
 .metricCard-total>p,.publicActivityEmpty{color:#697285}
 .metricsRefresh{gap:5px}
}


.friendListMeta{margin:8px 0 0;font-size:12px}
#showMoreFriends{grid-column:1/-1}


@media(min-width:701px){.accountManagementControls .accountBarMain>.accountSelectWrap{grid-column:auto}.accountManagementControls .accountBarMain>#addAccount{width:auto}}
:root{--spark-refined-css-ready:daybyday-warm-v223}

/* Keep pending actions readable and prevent misleading navigation affordances. */
#app button:disabled,#workspaceNav button:disabled{opacity:.55;cursor:not-allowed}
#app button[aria-busy="true"]{cursor:wait}
#run,#runOverview{min-inline-size:8.5rem}

/* Keep mobile actions in document flow; reserve one footer clearance for the
   fixed tab bar instead of stacking multiple bottom overlays and spacers. */
@media(max-width:760px){
  .authenticated #app{padding-bottom:0}
  .authenticated #wizardActions:not(.hidden){position:static;z-index:auto;inset:auto;width:auto;margin:24px 0 0;padding:0 3px;background:transparent;border:0;box-shadow:none}
  .authenticated .siteRegistration{padding-bottom:0}
}

/* Separate adjacent panels; keep one divider inside the run list. */
#recordsPanel.details{margin-top:16px}
@media(max-width:340px){
  .publicActivityDay{grid-template-columns:48px minmax(0,1fr);gap:4px 8px;align-items:start}
  .publicActivityDay time{grid-row:1 / 3}
  .top{display:flex;align-items:center;justify-content:space-between;gap:7px}
  .brand{display:flex;align-items:center;flex:0 1 auto;gap:7px;min-width:0;font-size:14px;letter-spacing:-.3px;white-space:nowrap}
  .brand .mark{width:36px;height:36px;flex:none}
  .userIdentity{max-width:130px;margin-left:0;padding-inline:7px}
  .userIdentity>span{max-width:68px}
}
@media(max-width:760px){#step1.stepPanel{min-height:300px}}

/* A QR must not occupy space until its current image request has loaded. */
.qrPreview:not(.hidden) img:not(.qrImageLoaded){display:none!important}

/* Keep the first-time account action clear of the fixed tab bar on short phones. */
@media(max-width:760px) and (max-height:650px){
  .authenticated .shell{padding-top:14px}
  .authenticated .top{margin-bottom:18px}
}

/* Keep nested disclosure labels in the same quiet hierarchy as other panels. */
.accountManagementControls .slotDetails>summary{color:#526078;font-size:13px;font-weight:650}

/* No empty connection block before the first account action. */
.accountConnectionStart:has(> #accountState.hidden):has(> .actions > #connectDouyin.hidden){display:none}

/* Keep the legal footer in document flow with only the space the fixed tab bar needs. */
@media(max-width:760px){
  .authenticated .shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding-bottom:calc(112px + env(safe-area-inset-bottom))}
  .authenticated #app{flex:1}
  .authenticated .siteRegistration{position:relative;margin-top:24px;padding:0}
}
@media(max-width:760px) and (max-height:720px){
  .authenticated #app{flex:0 0 auto}
  .authenticated .siteRegistration{margin-top:8px}
}
#recordsPanel #recordsStatus:empty{display:none}
#recordsPanel #recordsStatus{margin:0 0 12px}
#recordsPanel #runs{margin:0;border:0}
#recordsPanel #runs > .runitem{border:1px solid #edf0f4;border-radius:12px;background:#fafbfc;padding:14px 12px}
#recordsPanel #runs > .runitem + .runitem{margin-top:10px}
#recordsPanel .recordToolbar{margin:0 0 14px;padding:0;border:0}
#recordsPanel .runDetails{margin-top:8px;border:0}

/* Keep the repeated plan summary available on demand without lengthening the editor by default. */
.planReviewDetails{margin:14px 0 0;border:1px solid var(--line);border-radius:12px;background:#fafbfd;overflow:hidden}
.planReviewDetails>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:0 14px;cursor:pointer;list-style:none;color:#586278;font-size:13px;font-weight:650}
.planReviewDetails>summary::-webkit-details-marker{display:none}
.planReviewDetails>.summary{margin:0 10px 10px;background:#fff;padding:12px 14px;line-height:1.75}
@media(max-width:700px){.planReviewDetails>summary{padding-inline:12px}.planReviewDetails>.summary{font-size:12px;padding:11px 12px}}



/* Compact, owner-scoped QR login evidence inside the account workflow. */
.loginDiagnosticsPanel{margin:0;padding:0;border-top:1px solid var(--line,#e7e8e1)}
.loginDiagnosticsPanel.hidden{display:none!important}
.loginDiagnosticsPanel>summary{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 2px;cursor:pointer;list-style:none;color:var(--ink,#202832);font-size:14px;font-weight:680}
.loginDiagnosticsPanel>summary::-webkit-details-marker{display:none}
.loginDiagnosticsTitle{min-width:0;flex:1}
.loginDiagnosticsCount{color:var(--muted,#687386);font-size:12px;font-weight:550;font-variant-numeric:tabular-nums}
.loginDiagnosticsPanel[open]>summary{border-bottom:1px solid var(--line,#e7e8e1)}
.loginDiagnosticsPanel .disclosureAction{display:inline-flex;align-items:center;gap:6px;color:var(--muted,#687386);font-size:12px;font-weight:550;white-space:nowrap}
.loginDiagnosticsPanel:not([open]) .whenOpen,.loginDiagnosticsPanel[open] .whenClosed{display:none}
.loginDiagnosticsPanel .disclosureAction .icon{width:14px;height:14px;transition:transform .16s ease}
.loginDiagnosticsPanel[open] .disclosureAction .icon{transform:rotate(180deg)}
.loginDiagnosticsBody{display:grid;gap:9px;padding:11px 0 3px}
.loginDiagnosticsHint,.loginDiagnosticsMessage{margin:0;color:var(--muted,#687386);font-size:12px;line-height:1.5}
.loginDiagnosticsList{display:grid;gap:0;margin:0;padding:0;list-style:none}
.loginDiagnosticAttempt{min-width:0;padding:10px 0;border-top:1px solid var(--line,#e7e8e1)}
.loginDiagnosticAttemptHeading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:5px}
.loginDiagnosticAttemptHeading strong{color:var(--ink,#202832);font-size:13px;font-weight:680}
.loginDiagnosticAttemptHeading time,.loginDiagnosticEvent time{flex:none;color:var(--muted,#687386);font-size:11px;font-variant-numeric:tabular-nums}
.loginDiagnosticEvent{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:5px 0}
.loginDiagnosticEvent>strong{min-width:0;color:var(--ink,#202832);font-size:12px;font-weight:600;overflow-wrap:anywhere}
.loginDiagnosticFacts{display:flex;flex-wrap:wrap;gap:4px 12px;grid-column:1/-1;min-width:0}
.loginDiagnosticFact{color:var(--muted,#596477);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.loginDiagnosticUnavailable{margin:4px 0;color:var(--muted,#687386);font-size:12px;line-height:1.5}
.loginDiagnosticsBody>.btn{justify-self:start;min-height:44px;padding:8px 12px;font-size:13px}
@media(max-width:520px){.loginDiagnosticsPanel>summary{min-height:46px;gap:7px;font-size:13px}.loginDiagnosticsBody{gap:8px}.loginDiagnosticAttemptHeading{align-items:flex-start;flex-direction:column;gap:2px}.loginDiagnosticEvent{gap:2px 8px}.loginDiagnosticEvent time{font-size:11px}.loginDiagnosticFact{font-size:12px}}

.loginDiagnosticBuild{margin:5px 0 8px}
.loginDiagnosticBuild>summary{display:inline-flex;min-height:44px;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line,#e7e8e1);border-radius:10px;background:#fff;cursor:pointer;color:var(--muted,#596477);font-size:12px;font-weight:620;list-style:none;transition:border-color .16s ease,color .16s ease,background-color .16s ease}.loginDiagnosticBuild>summary::-webkit-details-marker{display:none}.loginDiagnosticBuild>summary::after{content:"⌄";margin-left:4px;color:#89939f;font-size:14px;transition:transform .16s ease}.loginDiagnosticBuild[open]>summary::after{transform:rotate(180deg)}.loginDiagnosticBuild>summary:hover{border-color:#cbd6f6;background:#eef2ff;color:#2A50E8}.loginDiagnosticBuild>summary:focus-visible{outline:3px solid #2A50E8;outline-offset:2px}
.loginDiagnosticBuildList{display:grid;gap:5px;margin:7px 0 0;padding:8px 0;border-top:1px solid var(--line,#e7e8e1)}
.loginDiagnosticBuildList>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;align-items:start}
.loginDiagnosticBuildList dt{color:var(--muted,#596477);font-size:11px;line-height:1.5}
.loginDiagnosticBuildList dd{min-width:0;margin:0}
.loginDiagnosticBuildList code{display:block;color:var(--ink,#202832);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.5;overflow-wrap:anywhere;word-break:break-all}
@media(max-width:380px){.loginDiagnosticBuildList>div{grid-template-columns:88px minmax(0,1fr);gap:6px}}
/* Put account-operation progress on the control that started it; the row keeps its size. */
.accountConnectionBody button[aria-busy="true"],#accountIdentityChangeNotice button[aria-busy="true"],#accountRemovalRecoveryNotice button[aria-busy="true"]{position:relative}
.accountConnectionBody button[aria-busy="true"]::after,#accountIdentityChangeNotice button[aria-busy="true"]::after,#accountRemovalRecoveryNotice button[aria-busy="true"]::after{content:"";position:absolute;inset-inline-end:7px;top:6px;width:10px;height:10px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;opacity:.78;pointer-events:none;animation:accountActionSpin .72s linear infinite}
.accountSelectWrap[aria-busy="true"] label{display:flex;align-items:center;gap:7px}
.accountSelectWrap[aria-busy="true"] label::after{content:"";width:11px;height:11px;flex:none;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;opacity:.78;animation:accountActionSpin .72s linear infinite}
@keyframes accountActionSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.accountConnectionBody button[aria-busy="true"]::after,#accountIdentityChangeNotice button[aria-busy="true"]::after,#accountRemovalRecoveryNotice button[aria-busy="true"]::after,.accountSelectWrap[aria-busy="true"] label::after{animation:none;border-top-color:transparent}}


/* Tablet portrait: keep login and service metrics wide enough to scan. */
@media (max-width: 960px) {
  .loginExperience { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .loginExperience #login { grid-column: 1; grid-row: 1; }
  .loginStory { grid-column: 1; grid-row: 2; }
}

/* Keep every expandable row on the same control and avoid duplicate markers. */
.disclosureAction {
  box-sizing: border-box;
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 84px;
  min-width: 84px;
  height: var(--control-height, 48px);
  min-height: var(--control-height, 48px);
  padding: 0 8px;
  border: 1px solid var(--line, #e7e8e1);
  border-radius: var(--control-radius, 10px);
  background: #f8f9fc;
  color: var(--muted, #667287);
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  white-space: nowrap;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}
.disclosureAction .icon,
.loginDiagnosticsPanel .disclosureAction .icon {
  width: 16px;
  height: 16px;
  transition: transform .16s ease;
}
.accountConnectionSummary > .disclosureAction {
  width: 84px;
  min-width: 84px;
  gap: 6px;
}
summary:hover .disclosureAction {
  border-color: #cbd6f6;
  background: #eef2ff;
  color: var(--accent, #2A50E8);
}
.details > summary,
.slotDetails > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.details > summary::after,
.slotDetails > summary::after {
  display: none !important;
  content: none !important;
}

/* Keep the paired account actions balanced on narrow screens. */
@media (max-width: 700px) {
  .accountManagementControls .accountBarMain {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .accountManagementControls .accountBarMain > .btn {
    width: 100%;
    min-width: 0;
  }
}

/* The selected account is already named above this history on its own page. */
body[data-current-view="account"] #runs[data-run-scope^="account:"] .runPrimary > strong {
  display: none;
}

/* Final refinement: one readable workspace, with task controls kept distinct from labels. */
.authenticated #app{width:100%;max-width:960px;margin-inline:auto}
.planPanel,.preferencesPanel{max-width:none}
.userIdentity{padding-inline:0;border:0;background:transparent}
.loginExperience #login{box-shadow:none}
.disclosureAction{border-color:transparent;background:transparent;color:#596579}
summary:hover .disclosureAction{border-color:transparent;background:#eef2ff;color:#2A50E8}
.friendOption{display:flex;align-items:center;gap:12px;margin:0;font-weight:500;line-height:1.5}
.friendOption>span{flex:1;min-width:0;font-weight:500}
.friendOption>input{margin:0;flex:none}
.friendOption:has(input:checked){border-color:#cbd6f6;background:#eef2ff}
.friendTools .btn{min-width:88px}
.planRows>div{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start}
.planRows .planValue{width:100%;max-width:none;line-height:1.65}
#recordsPanel #runs>.runitem{padding:20px 0;border:0;border-radius:0;background:transparent}
#recordsPanel #runs>.runitem+.runitem{margin-top:0;border-top:1px solid var(--line)}
.runCounts{gap:0;border:1px solid var(--line);border-radius:10px;background:#fafbfd;overflow:hidden}
.runCount{border:0;border-radius:0;background:transparent;padding:10px 12px}
.runCount+.runCount{border-left:1px solid var(--line)}
.runPrimary strong{font-size:14px}
.runNote,.runAlert{font-size:13px;line-height:1.65}
.friendResult strong{font-size:13px}
@media(max-width:700px){
 .friendTools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .friendTools .btn{width:100%;min-width:0}
 .friendTools .count{grid-column:1/-1;margin:0;text-align:right}
 .friendOption{padding:14px;gap:12px}
 .runCount{padding:10px 4px}
 .runCount strong{font-size:16px}
 .runPrimary strong{font-size:14px}
 .friendResult strong{font-size:13px}
 .runNote,.runAlert{font-size:13px}
}

/* Preserve readable amber results on the joined statistics surface. */
.runCountNotSent strong{color:#805b22}


/* Warm white product theme and the selected compact home layout. */
:root{
  --accent:#2A50E8;
  --accent-dark:#2140D0;
  --ink:#202832;
  --muted:#65707d;
  --line:#e7e8e1;
  --surface:#FDFEFE;
  --canvas:#FAFAF8;
  --control-height:44px;
  --control-radius:10px;
  --control-font:14px;
  color-scheme:light;
}
html,body{background:var(--canvas);color:var(--ink)}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
*,*::before,*::after{box-sizing:border-box}
button,input,select,textarea{font-family:inherit}
input,select,textarea{font-size:16px}
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]),
select,.input{min-height:44px}
.input{height:44px;min-height:44px;font-size:16px}
textarea{min-height:140px;font-size:16px}
button,.btn,.authTab,.template,.timePresets button,.togglePassword,.noticeActionLink,.disclosureAction{min-height:44px}
.btn,.authTab,.template,.timePresets button{border-radius:var(--control-radius)}
.btn:not(.secondary):not(.text){background-color:var(--accent);color:#fff}
.btn:not(.secondary):not(.text):hover{background-color:var(--accent-dark)}
.btn:focus-visible,.template:focus-visible,summary:focus-visible,.navItem:focus-visible,.quickAction:focus-visible,.timePresets button:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2A50E880;outline-offset:2px}
::selection{background:#e8edff;color:#202832}
*{scrollbar-color:#d5d8d2 transparent}
details>summary{min-height:44px;transition:none;background:transparent}
details>summary:hover{background:transparent}
.hidden,[hidden]{display:none!important}

/* Keep desktop workspaces readable and home content deliberately narrow. */
.authenticated .shell{max-width:1040px}
.authenticated #app{width:100%;max-width:1040px;margin-inline:auto}
.authenticated #app:has(.dayStatus){max-width:680px}
.shell:has(.dayStatus){max-width:1040px}
#app:has(.dayStatus){width:100%;max-width:680px;margin-inline:auto}

/* Home header: date and account identity stay compact and readable. */
.top:has(.homeDate){display:flex;align-items:center;justify-content:space-between;gap:16px;height:auto;min-height:52px;margin-bottom:20px}
.homeDate{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.45}
.homeAccount{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.homeAccountLabel{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:100%;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#46515d;font-size:13px;line-height:1.35}
.homeAccountLabel>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.homeAccountManage{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:6px 8px;border:0;border-radius:8px;background:transparent;color:var(--accent);font:inherit;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer}
.homeAccountManage:hover{background:#eef2ff;color:var(--accent-dark)}

/* Status is the first answer on the page, without turning it into another card. */
.dayStatus{display:grid;justify-items:center;gap:8px;margin:12px auto 20px;padding:8px 10px 16px;text-align:center}
.dayStatusIcon{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#e7f4ef;color:#14644E}
.dayStatusIcon svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dayStatus h1{margin:2px 0 0;color:var(--ink);font-size:28px;font-weight:720;line-height:1.25;letter-spacing:-.025em}
.dayStatusDescription{max-width:42ch;color:#65707d;font-size:14px;line-height:1.6}
.dayStatusMeta{color:#7a838e;font-size:12px;line-height:1.45;font-variant-numeric:tabular-nums}
.dayStatusAction{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:5px 10px;border:0;border-radius:8px;background:transparent;color:var(--accent);font:inherit;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}
.dayStatusAction:hover{background:#eef2ff;color:var(--accent-dark)}
.dayStatus[data-tone="success"] .dayStatusIcon{background:#e7f4ef;color:#14644E}
.dayStatus[data-tone="warning"] .dayStatusIcon{background:#fbf1df;color:#8b682b}
.dayStatus[data-tone="neutral"] .dayStatusIcon{background:#f0f1ee;color:#65707d}
.dayStatus[data-tone="warning"] .dayStatusAction{color:#8b682b}
.dayStatus[data-tone="neutral"] .dayStatusAction{color:var(--accent)}

/* One daily plan card holds its schedule, recipient and message details. */
.dailyPlan{width:100%;max-width:620px;margin:0 auto;padding:14px 18px 17px;border:1px solid var(--line);border-radius:16px;background:#FDFEFE;box-shadow:0 1px 2px rgba(32,40,50,.025)}
.dailyPlan>h2,.dailyPlan>h3{margin:0 0 2px;color:var(--ink);font-size:14px;font-weight:700;line-height:1.45}
.dailyPlanRow{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:12px;min-width:0;padding:13px 0;border-top:1px solid #ecece7}
.dailyPlan>h2+.dailyPlanRow,.dailyPlan>h3+.dailyPlanRow{margin-top:2px}
.dailyPlanRow>.icon,.dailyPlanRow>svg:first-child{width:21px;height:21px;color:#74808d}
.dailyPlanRow>.dailyPlanCopy{display:grid;gap:3px;min-width:0}
.dailyPlanCopy small{color:#7a838e;font-size:12px;line-height:1.4}
.dailyPlanCopy strong{display:block;min-width:0;color:var(--ink);font-size:14px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.dailyPlanTime{color:#202832;font-size:24px;font-weight:720;line-height:1.1;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.dailyPlanRow>.chevron,.dailyPlanRow>.icon:last-child{justify-self:end;width:17px;height:17px;color:#9aa1aa}
.dailyPlanRow .dailyPlanCopy small+strong{margin-top:1px}
.dailyPlan .planActions{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin:12px 0 0;padding-top:11px;border-top:1px solid #ecece7}
.dailyPlan .planActions>:first-child{width:100%;min-height:44px}
.dailyPlan .planActions>:not(:first-child){display:inline-flex;align-items:center;justify-content:center;justify-self:center;min-height:44px;padding:4px 12px;border:0;border-radius:8px;background:transparent;color:#65707d;font:inherit;font-size:13px;font-weight:550;text-decoration:none;cursor:pointer}
.dailyPlan .planActions>:not(:first-child):hover{background:transparent;color:var(--accent)}
.homePlanStatus,.homeNextExecution{color:#65707d;font-size:13px;line-height:1.5}
.homePlanStatus[data-tone="success"],.homePlanStatus.is-success{color:#14644E}
.homePlanStatus[data-tone="warning"],.homePlanStatus.is-warning{color:#8b682b}
.homeNextExecution{font-variant-numeric:tabular-nums}
.homeSectionDivider{height:1px;margin:20px 0;border:0;background:var(--line)}
.multiAccountPreference{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:10px 0;border-top:1px solid var(--line);color:#65707d;font-size:13px;line-height:1.5}
.multiAccountPreference>:first-child{min-width:0}
.multiAccountPreference button,.multiAccountPreference a{flex:none;color:var(--accent);font:inherit;font-size:13px;font-weight:600;text-decoration:none}
.homeOnboarding{display:block;max-width:620px;margin:16px auto 24px;padding:22px 24px;background:#ffffff;border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 3px rgba(32,40,50,.03);text-align:left;}
.homeOnboarding h2{font-size:16px;font-weight:700;margin:0 0 14px;color:var(--ink);display:flex;align-items:center;gap:8px;}
.homeOnboarding h2::before{content:'';display:inline-block;width:4px;height:16px;background:var(--accent);border-radius:2px;}
.dayStatus{display:grid;justify-items:center;gap:10px;max-width:620px;margin:16px auto 16px;padding:24px 20px 20px;background:#ffffff;border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 3px rgba(32,40,50,.03);text-align:center;}
.homeOnboarding h2,.homeOnboarding h3{margin:0;color:var(--ink);font-size:18px;line-height:1.4}
.homeOnboarding p{margin:0;color:#65707d;font-size:14px;line-height:1.65}
.homeOnboarding .btn{width:100%;min-height:44px;margin-top:4px}

@media(min-width:761px){
  .authenticated .shell{max-width:1040px}
  .authenticated #app:has(.dayStatus),#app:has(.dayStatus){max-width:680px}
  .dayStatus{margin-top:18px;margin-bottom:22px;padding-bottom:18px}
  .dailyPlan{max-width:620px}
}
@media(min-width:1100px){
  .authenticated .shell{max-width:1040px}
  .authenticated .shell:has(.dayStatus){max-width:1040px}
}
@media(max-width:760px){
  .authenticated .shell{width:100%;max-width:1040px;padding:20px 18px calc(112px + env(safe-area-inset-bottom))}
  .authenticated .shell:has(.dayStatus){max-width:620px}
  .authenticated #app:has(.dayStatus),#app:has(.dayStatus){width:100%;max-width:620px;margin-inline:auto}
  .authenticated .workspaceNav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));left:0;right:0;bottom:0;z-index:20;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}
  .authenticated .workspaceNav .navItem{min-width:0;min-height:52px}
  .authenticated .siteRegistration{position:relative;margin-top:24px;padding-bottom:0}
  .top:has(.homeDate){align-items:flex-start;min-height:46px;margin-bottom:15px}
  .homeAccount{max-width:52%;flex-wrap:wrap}
  .homeAccountLabel{max-width:100%;padding:6px 9px;font-size:12px}
  .homeAccountManage{min-height:44px;padding-inline:6px;font-size:12px}
  .dayStatus{gap:7px;margin:8px auto 16px;padding:6px 8px 13px}
  .dayStatus h1{font-size:24px}
  .dayStatusDescription{font-size:14px}
  .dailyPlan{padding:13px 15px 15px}
  .dailyPlanRow{grid-template-columns:23px minmax(0,1fr) 16px;gap:10px;padding:12px 0}
}
@media(max-width:380px){
  .homeAccount{max-width:48%;gap:5px}
  .homeAccountLabel{gap:5px;padding-inline:7px}
  .onboardingSteps{padding-left:19px}
  .multiAccountRow{align-items:flex-start;flex-direction:column;gap:3px}
  .multiAccountRow>span{text-align:left}
  .dayStatus h1{font-size:23px}
  .dailyPlan{padding-inline:13px}
}
@media(prefers-reduced-motion:reduce){
  .dayStatusAction,.homeAccountManage,.dailyPlan .planActions>*{transition:none!important}
}
.loginSubmit,.runBlockNotice .btn{min-height:44px}

/* Selected-reference details carried by the replacement home markup. */
.top:has(.brandGroup){align-items:flex-start}
.brandGroup{display:grid;align-content:start;gap:3px;min-width:0}
.brandGroup .brand,.brandGroup .logo{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-size:20px;font-weight:780;line-height:1.15;letter-spacing:-.035em;text-transform:none}
.brandGroup .logo{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
.homeAccountIdentity{display:flex;align-items:center;gap:8px;min-width:0;color:var(--ink)}
.homeAccountIdentity .homeAccountLabel{max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.homeAccountIdentity .homeAccountManage{flex:none}
.homeAccountManage .icon{width:16px;height:16px}
.homeAccount{padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);font:inherit;line-height:1.25}
.onboardingSteps{display:grid;gap:10px;max-width:48ch;margin:14px auto 0;padding-left:22px;color:#7a838e;font-size:12px;line-height:1.4;text-align:left}
.onboardingSteps>li{display:grid;gap:3px;min-width:0;padding-left:2px}
.onboardingSteps>li::marker{color:var(--accent);font-weight:700}
.onboardingSteps strong{color:var(--ink);font-size:14px;font-weight:650;line-height:1.4}
.onboardingSteps span{color:#65707d;font-size:12px;line-height:1.5}
.onboardingSteps .active,.onboardingSteps .is-active{color:var(--accent);font-weight:650}
.onboardingSteps .done,.onboardingSteps .is-done{color:#14644E}
.multiAccountHome{margin:18px 0 0;padding-top:4px;border-top:1px solid var(--line)}
.multiAccountRow{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:8px 0;color:#65707d;font-size:13px;line-height:1.5}
.multiAccountRow>strong{min-width:0;overflow:hidden;color:var(--ink);font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.multiAccountRow>span{flex:none;color:#65707d;text-align:right}
.multiAccountRow>div:first-child{display:grid;gap:3px;min-width:0}
.multiAccountRow strong{color:var(--ink);font-size:14px;font-weight:600}
.compactSwitch{position:relative;display:inline-flex;flex:none;align-items:center;gap:8px;min-height:44px;cursor:pointer}
.compactSwitch input{position:absolute;width:1px;height:1px;margin:0;opacity:0}
.compactSwitch .switchTrack{display:flex;width:44px;height:26px;align-items:center;padding:3px;border-radius:999px;background:#d9ddd8;transition:background .16s ease}
.compactSwitch .switchTrack i{width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(32,40,50,.18);transition:transform .16s ease}
.compactSwitch input:checked+.switchTrack{background:var(--accent)}
.compactSwitch input:checked+.switchTrack i{transform:translateX(18px)}
.compactSwitch input:focus-visible+.switchTrack{outline:3px solid #2A50E880;outline-offset:3px}
.homeHistoryLink{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:5px 8px;border:0;border-radius:8px;background:transparent;color:var(--accent);font-size:13px;font-weight:600;text-decoration:none}
.homeHistoryLink:hover{background:#eef2ff;color:var(--accent-dark)}
.rowChevron{display:block;flex:none;width:17px;height:17px;color:#9099a3}
.dailyPlanRow>.rowChevron{justify-self:end}
.dayStatusAction svg{width:16px;height:16px;flex:none;stroke:currentColor;stroke-width:1.8}
.dayStatus[data-tone="warning"] .dayStatusAction{min-height:44px;padding:0 18px;border:0;border-radius:10px;background:var(--accent);color:#fff;font-weight:650}
.dayStatus[data-tone="warning"] .dayStatusAction:hover{background:var(--accent-dark);color:#fff}
.dayStatus[data-tone="neutral"] .dayStatusAction[data-target="account"]{min-height:44px;padding:0 18px;border:0;border-radius:10px;background:var(--accent);color:#fff;font-weight:650}
.dayStatus[data-tone="neutral"] .dayStatusAction[data-target="account"]:hover{background:var(--accent-dark);color:#fff}
.dailyPlan .sectionHeading{margin:0;padding:0 0 8px}
.dailyPlan .sectionHeading h2{color:var(--ink);font-size:14px;font-weight:700;line-height:1.45;letter-spacing:0}
.dailyPlan .planActions>:first-child,.dailyPlan .planActions #overviewContinue,.dailyPlan .planActions #planEdit{width:100%;justify-self:stretch;border:1px solid var(--accent);border-radius:10px;background:var(--accent);color:#fff;font-weight:650}
.dailyPlan .planActions>:first-child:hover,.dailyPlan .planActions #overviewContinue:hover,.dailyPlan .planActions #planEdit:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.dailyPlan .planActions #runOverview{border:0;border-radius:8px;background:transparent;color:#65707d;font-size:13px;font-weight:550}
.dailyPlan .planActions #runOverview:hover{background:transparent;color:var(--accent)}
.dailyPlan .planActions #reviewPlanOverview{width:100%;justify-self:stretch;border:1px solid var(--line);border-radius:10px;background:#fff;color:#46515d}
.dailyPlan strong.dailyPlanTime,.dailyPlanCopy strong.dailyPlanTime{font-size:24px;font-weight:720;line-height:1.1;letter-spacing:-.025em}
.visuallyHidden:not(:focus):not(:active),.planAccountLine.visuallyHidden{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(prefers-reduced-motion:reduce){.compactSwitch .switchTrack,.compactSwitch .switchTrack i{transition:none!important}}

/* Screenshot-led corrections for the selected warm home design. */
.dayStatusDescription,.dayStatusMeta{margin:0}
.dayStatusMeta,.dailyPlanCopy small,.onboardingSteps{color:#65707d}
.dayStatus[data-tone="success"] .dayStatusIcon{width:34px;height:34px;background:#14644E;color:#fff}
.dayStatus[data-tone="success"] .dayStatusIcon svg{width:19px;height:19px}
.dailyPlan .planValue{display:block;width:100%;max-width:none;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:14px;font-weight:500;line-height:1.5;text-align:left;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dailyPlan .planValue:hover{text-decoration:underline;text-decoration-color:#aeb7c3;text-underline-offset:3px}
.dailyPlan #planBadge{display:block;width:auto;max-width:none;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#14644E;font-size:14px;font-weight:500;line-height:1.5}
.dailyPlan #planBadge.neutral{color:#65707d}
.dailyPlanRow>svg.homePlanStatus{color:#14644E}
.dailyPlan .sectionHeading h2{font-size:16px}
.dailyPlan .sectionHeading+.dailyPlanRow{padding-top:10px;border-top:0}
.rowChevron{transform:rotate(-90deg)}
.homeAccount{display:flex;width:176px;max-width:176px;flex:0 1 176px;flex-direction:column;align-items:flex-end;justify-content:center;gap:0;white-space:normal}
.homeAccountIdentity{width:100%;justify-content:flex-end}
.homeAccountIdentity .homeAccountLabel{flex:1;min-width:0;max-width:calc(100% - 24px);padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.homeAccountManage{align-self:flex-end}
.homeAccount:focus-visible{outline:3px solid #2A50E880;outline-offset:3px;border-radius:8px}
.metricCard-total .metricCardValue strong{color:#202832}
@media(max-width:760px){
  .homeAccount{width:min(176px,52%);max-width:176px;flex-basis:176px;padding:2px 0}
  .homeAccountManage{min-height:32px;padding:2px 4px}
  .dayStatus{gap:8px;margin:4px auto 8px;padding:4px 8px 8px}
  .homeSectionDivider{margin:8px 0 10px}
}
@media(max-width:700px){
  .preferenceRow.multiAccountPreference{display:flex;width:auto;max-width:100%;min-width:0;align-items:center;justify-content:space-between;flex-direction:row;gap:12px;padding:14px 0}
  .preferenceRow.multiAccountPreference>div:first-child{display:flex;flex:1;min-width:0;width:auto;flex-direction:column;align-items:flex-start}
  .preferenceRow.multiAccountPreference>.compactSwitch{display:inline-flex;flex:0 0 44px;width:44px;min-width:44px;align-self:center;margin-left:auto}
}
@media(max-width:760px){.dailyPlanRow{padding:6px 0}}
summary .disclosureAction .icon{transform:rotate(0deg)}
details[open]>summary .disclosureAction .icon{transform:rotate(180deg)}
.rowChevron{transform:rotate(-90deg)}
.homeAccountManage .icon{transform:rotate(-90deg)}

/* v223 header corrections: keep the identity together and the return action compact. */
.homeAccount{gap:8px}
.homeAccountIdentity{box-sizing:border-box;min-height:36px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#fff}
.homeAccountIdentity .homeAccountLabel{display:block;flex:1;min-width:0;max-width:none;padding:0;border:0;border-radius:0;background:transparent;color:inherit;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.homeAccountManage{min-height:44px}
#recordsBack{display:inline-flex;align-items:center;justify-content:flex-start;min-height:44px;margin:0 0 8px;padding:0 8px;border:0;border-radius:8px;background:transparent;color:#65707d;font:inherit;font-size:14px;font-weight:600;text-align:left;text-decoration:none;cursor:pointer}
#recordsBack:hover{background:#f4f5f3;color:var(--ink)}

@media(max-width:700px){
  .homeAccount{padding:0}
  .homeAccountManage{min-height:32px;padding-top:2px;padding-bottom:2px}
  .top:has(.homeDate){margin-bottom:10px}
  .dayStatus{margin-top:2px;margin-bottom:6px;padding-top:3px;padding-bottom:6px}
}

/* Unified password control for login and registration confirmation fields. */
.passwordField{box-sizing:border-box;display:flex;align-items:center;width:100%;min-width:0;min-height:var(--control-height);border:1px solid #dce1ea;border-radius:var(--control-radius);background:#fff;transition:border-color .16s ease,box-shadow .16s ease}
.passwordField:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #2A50E814}
.passwordField .input,.passwordField .input:focus{box-sizing:border-box;flex:1 1 auto;min-width:0;width:100%;border:0;border-radius:0;outline:none;box-shadow:none;padding-right:4px;background:transparent}
.passwordField .togglePassword{box-sizing:border-box;position:static;transform:none;flex:0 0 52px;width:52px;min-width:44px;min-height:44px;margin:0 4px 0 0;padding:4px;border:0;border-radius:8px;background:transparent}

/* The home status and card use spacing instead of an extra separator line. */
.homeSectionDivider{display:none}
@media(max-width:700px){.dayStatus{margin-bottom:12px}}

/* Only the recipient and message rows are interactive in the daily plan. */
.dailyPlanRow.dailyPlanLink{display:grid;width:100%;min-height:68px;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:10px 0;border:0;border-top:1px solid #ecece7;border-radius:0;background:transparent;color:inherit;font:inherit;line-height:inherit;text-align:left;text-decoration:none;cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}
.dailyPlanRow.dailyPlanLink>.icon:first-child{justify-self:center;align-self:center}
.dailyPlanRow.dailyPlanLink>.dailyPlanCopy{display:grid;align-content:center;gap:3px;min-width:0}
.dailyPlanRow.dailyPlanLink .dailyPlanValue{display:block;min-width:0;overflow:hidden;color:var(--ink);font-size:14px;font-weight:600;line-height:1.5;text-overflow:ellipsis;text-decoration:none;white-space:nowrap}
.dailyPlanRow.dailyPlanLink>.rowChevron{justify-self:end}
@media(hover:hover) and (pointer:fine){.dailyPlanRow.dailyPlanLink:hover{background:#f7f8fb}}
#recordsBack .recordsBackIcon{transform:rotate(180deg)}

/* This header does not inherit the legacy identity chip's nested span width limits. */
.homeAccount{width:176px;max-width:176px;flex-basis:176px}
.homeAccountIdentity .icon{width:16px;height:16px}
@media(max-width:760px){.homeAccount{width:min(176px,60%);max-width:176px}}

/* One focus treatment per text control; grouped password fields own their ring. */
.input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;box-shadow:0 0 0 3px #2A50E814;border-color:var(--accent)}
.passwordField .input:focus-visible{outline:none;box-shadow:none}

/* Registration links remain in document flow above the mobile navigation. */
.siteRegistration{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:16px;row-gap:0}
.siteRegistration a{gap:6px;white-space:nowrap}
.siteRegistration .policeRegistration img{display:block;flex:0 0 20px;width:20px;height:20px}
@media(max-width:600px){.siteRegistration{flex-direction:column;gap:0}.siteRegistration a{max-width:100%;box-sizing:border-box}}

/* Proxy Region Selector - Nationwide Residential Proxy City Switcher */
.proxyRegionSelector{box-sizing:border-box;margin:12px 0 16px;padding:14px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}
.proxyRegionHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:14px}
.proxyRegionHeader strong{color:#1e293b;font-weight:600;display:flex;align-items:center;gap:6px}
.proxyBadge{font-size:12px;padding:2px 8px;border-radius:12px;background:#ecfdf5;color:#059669;border:1px solid #a7f3d0;font-weight:500}
.proxyRegionChips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.proxyChip{padding:5px 12px;font-size:13px;border-radius:8px;border:1px solid #cbd5e1;background:#ffffff;color:#334155;cursor:pointer;transition:all 0.15s ease}
.proxyChip:hover{border-color:#3b82f6;color:#1d4ed8}
.proxyChip.active{background:#2563eb;color:#ffffff;border-color:#1d4ed8;font-weight:500;box-shadow:0 1px 3px rgba(37,99,235,0.25)}
.proxyMoreCities{display:flex;gap:8px;margin-top:8px;padding-top:8px;border-top:1px dashed #e2e8f0}
.proxySelect{flex:1;font-size:13px;padding:6px 10px;border-radius:6px;border:1px solid #cbd5e1;background:#ffffff}
.proxyRegionTip{margin:8px 0 0;font-size:12px;color:#64748b;line-height:1.5}


/* ========================================================
   Desktop Left Sidebar Navigation (Screens >= 761px)
   ======================================================== */
@media(min-width: 761px) {
  body.authenticated .shell {
    padding-left: 256px !important;
    padding-right: 36px !important;
    padding-top: 24px !important;
    padding-bottom: 70px !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }
  
  body.authenticated #workspaceNav {
    position: fixed !important;
    left: max(0px, calc((100vw - 1440px) / 2)) !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 228px !important;
    background: #ffffff !important;
    border: none !important;
    border-right: 1px solid #e9ecef !important;
    border-radius: 0 !important;
    box-shadow: 1px 0 4px rgba(32, 40, 50, 0.02) !important;
    padding: 20px 14px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    z-index: 95 !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
  }

  .sidebarBrand {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 6px 10px 18px !important;
    margin-bottom: 12px !important;
    border-bottom: 1px solid #f0f2f5 !important;
  }
  .sidebarLogo {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: var(--ink) !important;
    letter-spacing: -0.4px !important;
  }
  .sidebarTagline {
    font-size: 11px !important;
    color: #8c98a9 !important;
    font-weight: 500 !important;
    padding-left: 30px !important;
  }

  .sidebarNavList {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    width: 100% !important;
  }

  #workspaceNav .navItem {
    width: 100% !important;
    min-height: 44px !important;
    padding: 10px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    border: none !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #4e5969 !important;
    font-size: 14px !important;
    font-weight: 550 !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
  }
  #workspaceNav .navItem svg {
    width: 20px !important;
    height: 20px !important;
    flex: none !important;
  }
  #workspaceNav .navItem:hover {
    background: #f4f6fa !important;
    color: var(--ink) !important;
  }
  #workspaceNav .navItem.active {
    background: #eef2ff !important;
    color: #2A50E8 !important;
    font-weight: 700 !important;
  }

  .sidebarFooter {
    margin-top: auto !important;
    padding: 14px 10px 4px !important;
    border-top: 1px solid #f0f2f5 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
  }
  .sidebarProtectionStatus {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 12px !important;
    color: #14644E !important;
    font-weight: 550 !important;
  }
  .protectionDot {
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #14644E !important;
    box-shadow: 0 0 0 2px #d1ebd8 !important;
  }
  .sidebarVersion {
    font-size: 11px !important;
    color: #9aa5b5 !important;
  }

  /* Header adjustments for desktop sidebar */
  .authenticated .top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: auto !important;
    min-height: 48px !important;
    margin-bottom: 24px !important;
  }
  .authenticated .top .brandGroup .brand {
    display: none !important; /* Brand is in the sidebar */
  }
  .authenticated .top .homeDate {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #4e5969 !important;
    margin: 0 !important;
  }

  /* Space utilization: Overview Two-Column Grid */
  .overviewDashboardGrid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 1fr) !important;
    gap: 24px !important;
    align-items: start !important;
  }
  .overviewPrimaryCol {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }
  .overviewSidebarCol {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  .overviewPrimaryCol .dayStatus,
  .overviewPrimaryCol .homeOnboarding,
  .overviewPrimaryCol .dailyPlan {
    max-width: 100% !important;
    margin: 0 !important;
  }
}

.overviewQuickCard {
  padding: 20px !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  border: 1px solid var(--line) !important;
  box-shadow: 0 1px 3px rgba(32,40,50,.02) !important;
}
.quickCardHead {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 10px !important;
}
.quickCardIcon {
  font-size: 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 10px !important;
  background: #f4f6fa !important;
}
.quickCardHead strong {
  display: block !important;
  font-size: 14px !important;
  color: var(--ink) !important;
  font-weight: 650 !important;
}
.quickCardHead small {
  display: block !important;
  font-size: 11px !important;
  color: #8c98a9 !important;
}
.quickCardDesc {
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: #65707d !important;
  margin: 0 0 14px !important;
}
.guardianQuickList {
  margin: 0 !important;
  padding-left: 18px !important;
  font-size: 12px !important;
  line-height: 1.65 !important;
  color: #65707d !important;
}
.guardianQuickList li {
  margin-bottom: 6px !important;
}

/* ========================================================
   Pre-Login Proxy Region Selection Card UI
   ======================================================== */
.proxyPreLoginCard {
  box-sizing: border-box;
  margin: 12px 0 18px;
  padding: 18px 20px;
  background: #f8fafc;
  border: 1.5px solid #dbeafe;
  border-radius: 14px;
  box-shadow: 0 2px 8px rgba(37,99,235,0.04);
}
.proxyPreLoginHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.proxyPreLoginTitle {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.proxyPreLoginTitle .proxyIcon {
  font-size: 24px;
  line-height: 1;
  flex: none;
  margin-top: 2px;
}
.proxyPreLoginTitle strong {
  display: block;
  font-size: 15px;
  color: #1e293b;
  font-weight: 700;
  margin-bottom: 4px;
}
.proxyPreLoginTitle small {
  display: block;
  font-size: 12px;
  color: #64748b;
  line-height: 1.45;
}
.proxyActionRow {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #e2e8f0;
}
.btnPrimaryLarge {
  width: 100% !important;
  min-height: 46px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: linear-gradient(135deg, #2A50E8, #1d4ed8) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 6px rgba(42,80,232,0.25) !important;
  cursor: pointer !important;
  transition: all 0.16s ease !important;
}
.btnPrimaryLarge:hover {
  background: linear-gradient(135deg, #1d4ed8, #1e40af) !important;
  box-shadow: 0 4px 10px rgba(42,80,232,0.32) !important;
}

.qrActiveNetworkNotice {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 12px;
  color: #059669;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  border-radius: 8px;
  padding: 6px 12px;
  margin-bottom: 12px;
  font-weight: 550;
}
.qrActiveDot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #059669;
  box-shadow: 0 0 0 2px #d1fae5;
}

@media(max-width: 1080px) and (min-width: 761px) {
  .overviewDashboardGrid {
    grid-template-columns: 1fr !important;
  }
}

@media(max-width: 760px) {
  .desktopOnly {
    display: none !important;
  }
  .sidebarNavList {
    display: contents !important;
  }
}


/* ========================================================
   Clean Minimalist PC Sidebar (Original Brand Image)
   ======================================================== */
@media(min-width: 761px) {
  body.authenticated .shell {
    padding-left: 240px !important;
    padding-right: 36px !important;
    padding-top: 24px !important;
    padding-bottom: 70px !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }
  
  body.authenticated #workspaceNav {
    position: fixed !important;
    left: max(0px, calc((100vw - 1440px) / 2)) !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 210px !important;
    background: #ffffff !important;
    border: none !important;
    border-right: 1px solid var(--line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 24px 12px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    z-index: 95 !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
  }

  .sidebarBrand {
    padding: 4px 12px 18px !important;
    margin-bottom: 12px !important;
    border-bottom: 1px solid var(--line) !important;
  }
  .sidebarBrand .brand {
    font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif !important;
    font-size: 20px !important;
    font-weight: 780 !important;
    letter-spacing: -.035em !important;
    color: var(--ink) !important;
    line-height: 1.15 !important;
  }

  .sidebarNavList {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    width: 100% !important;
  }

  #workspaceNav .navItem {
    width: 100% !important;
    min-height: 42px !important;
    padding: 9px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    border: none !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #697285 !important;
    font-size: 14px !important;
    font-weight: 550 !important;
    cursor: pointer !important;
    transition: background 0.15s ease, color 0.15s ease !important;
  }
  #workspaceNav .navItem svg {
    width: 20px !important;
    height: 20px !important;
    stroke-width: 1.7 !important;
    flex: none !important;
  }
  #workspaceNav .navItem:hover {
    background: #f4f5f3 !important;
    color: var(--ink) !important;
  }
  #workspaceNav .navItem.active {
    background: #eef2ff !important;
    color: #2A50E8 !important;
    font-weight: 700 !important;
  }

  .sidebarFooter {
    margin-top: auto !important;
    padding: 12px 12px 4px !important;
    border-top: 1px solid var(--line) !important;
  }
  .sidebarVersion {
    font-size: 11px !important;
    color: #9aa5b5 !important;
  }

  .authenticated .top .brandGroup .brand {
    display: none !important;
  }
}

/* ========================================================
   Clean Neutral Pre-Login & Mode Tabs (No noisy colors/tips)
   ======================================================== */
.proxyPreLoginCard {
  box-sizing: border-box;
  margin: 12px 0 16px;
  padding: 18px 20px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.loginModeTabs {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
  border-bottom: 1px solid #f0f2f5;
  padding-bottom: 12px;
}
.loginModeTab {
  padding: 6px 14px;
  border: 1px solid var(--line);
  background: #f9fafb;
  color: #4b5563;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}
.loginModeTab:hover {
  background: #f3f4f6;
  color: var(--ink);
}
.loginModeTab.active {
  background: #2A50E8;
  color: #ffffff;
  border-color: #2A50E8;
}

.proxyRegionHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.proxyRegionTitle {
  font-size: 13px;
  font-weight: 600;
  color: #374151;
}
.proxyBadge {
  font-size: 12px;
  color: #4b5563;
  font-weight: 550;
}

.proxyRegionChips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
}
.proxyChip {
  padding: 5px 12px;
  font-size: 13px;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  background: #ffffff;
  color: #374151;
  cursor: pointer;
  transition: all 0.15s ease;
}
.proxyChip:hover {
  border-color: #cbd5e1;
  background: #f8fafc;
}
.proxyChip.active {
  background: #2A50E8;
  color: #ffffff;
  border-color: #2A50E8;
  font-weight: 600;
}

.passwordLoginFields {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 10px;
}
.fieldRow {
  width: 100%;
}

/* 5s Countdown Progress Display */
.qrCountdownBlock {
  box-sizing: border-box;
  padding: 12px 14px;
  margin-bottom: 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.countdownHeader {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #475569;
}
.countdownSpinner {
  width: 12px;
  height: 12px;
  border: 2px solid #cbd5e1;
  border-top-color: #2A50E8;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  flex: none;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}
.countdownTrack {
  width: 100%;
  height: 4px;
  background: #e2e8f0;
  border-radius: 2px;
  overflow: hidden;
}
.countdownFill {
  height: 100%;
  background: #2A50E8;
  border-radius: 2px;
  width: 0%;
  transition: width 0.9s linear;
}


/* ========================================================
   SMS Code Login & Modern Form Controls
   ======================================================== */
.smsLoginFields {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 10px;
  width: 100%;
  box-sizing: border-box;
}
.fieldLabel {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #4b5563;
  margin-bottom: 5px;
}
.phoneInputWrap {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}
.phonePrefix {
  position: absolute;
  left: 12px;
  font-size: 13px;
  font-weight: 600;
  color: #64748b;
  pointer-events: none;
  user-select: none;
  z-index: 2;
}
.phoneInputWrap .input {
  padding-left: 52px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.btnClearInput {
  position: absolute;
  right: 10px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 0;
  background: #e2e8f0;
  color: #64748b;
  font-size: 14px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 2;
}
.btnClearInput:hover {
  background: #cbd5e1;
  color: #1e293b;
}
.smsCodeRow {
  display: flex;
  gap: 8px;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}
.smsCodeInputWrap {
  flex: 1;
  min-width: 0;
}
.smsCodeInputWrap .input {
  width: 100% !important;
  box-sizing: border-box !important;
  font-size: 15px;
  letter-spacing: 2px;
}
.btnSendSms {
  flex: none;
  white-space: nowrap;
  min-width: 110px;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 600;
  border-radius: 8px;
}
.btnSendSms:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* ========================================================
   Strict Mobile Responsive Design (No Overflow / Full Visibility)
   ======================================================== */
@media (max-width: 760px) {
  #step0.panel {
    padding: 14px 12px !important;
    border-radius: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  .accountConnectionBody {
    padding: 6px 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    display: block !important;
  }
  .accountConnectionStart {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    display: block !important;
  }
  .proxyPreLoginCard {
    margin: 6px 0 12px !important;
    padding: 14px 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    border-radius: 12px !important;
  }
  .loginModeTabs {
    display: flex !important;
    gap: 5px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding-bottom: 8px !important;
    margin-bottom: 12px !important;
  }
  .loginModeTab {
    flex: 1 !important;
    min-width: 0 !important;
    text-align: center !important;
    padding: 8px 2px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
    border-radius: 8px !important;
  }
  .proxyRegionHeader {
    flex-wrap: wrap !important;
    gap: 6px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .proxyRegionChips {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .proxyChip {
    font-size: 12px !important;
    padding: 5px 8px !important;
    flex: none !important;
    border-radius: 6px !important;
  }
  .qrPreview {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px 10px !important;
    margin: 10px 0 !important;
    gap: 10px !important;
  }
  .qrCopy {
    text-align: center !important;
    width: 100% !important;
  }
  .qrCountdownBlock {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .qrPreview img {
    width: min(60vw, 210px) !important;
    height: min(60vw, 210px) !important;
    aspect-ratio: 1 !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    display: block !important;
    border-radius: 10px !important;
  }
  .qrActiveNetworkNotice {
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 11px !important;
    padding: 6px 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  .qrActions {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 8px !important;
  }
  .qrActions .btn {
    width: 100% !important;
    min-height: 42px !important;
    justify-content: center !important;
  }
  .proxyActionRow {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .proxyActionRow .btn {
    width: 100% !important;
    min-height: 44px !important;
    justify-content: center !important;
  }
  .smsCodeRow {
    flex-direction: row !important;
    gap: 8px !important;
  }
  .btnSendSms {
    min-width: 105px !important;
    padding: 9px 8px !important;
    font-size: 12px !important;
  }
  .passwordField, .fieldRow {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* ========================================================
   Clean Subtle City Picker & Countdown Overrides
   ======================================================== */
.proxySubtleBar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 12px !important;
  padding: 6px 12px !important;
  background: #f8fafc !important;
  border-radius: 8px !important;
  border: 1px dashed #cbd5e1 !important;
}
.proxySubtleLabel {
  font-size: 12px !important;
  color: #64748b !important;
}
.proxySubtleLabel strong {
  color: #1e293b !important;
  font-weight: 600 !important;
}
.btnSubtleChange {
  font-size: 12px !important;
  color: var(--primary, #2A50E8) !important;
  font-weight: 600 !important;
  padding: 2px 8px !important;
  background: transparent !important;
  cursor: pointer !important;
  border: none !important;
}
.proxyPickerPanel {
  margin-bottom: 14px !important;
  padding: 10px !important;
  background: #f8fafc !important;
  border-radius: 8px !important;
  border: 1px solid #e2e8f0 !important;
}
.qrActiveNetworkNotice {
  display: none !important;
}


/* ==========================================================================
   LUDI 5-PILLAR DESIGN SYSTEM (大厂AI客户端源码级质感升级)
   ========================================================================== */
/* 1. 微对比色阶（Surface 0~3 只差 1%~3%）与温润双环咬合阴影 */
:root {
  --surface-0: #fbfbf9;
  --surface-1: #ffffff;
  --surface-2: #f6f7f3;
  --surface-3: #eff0eb;
  --surface-quiet: #f6f7f3;
  --ease-snappy: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
}

.panel, .toolsPanel, .authCard, .loginExperience #login {
  background: var(--surface-1) !important;
  border: 1px solid rgba(0, 0, 0, 0.055) !important;
  box-shadow: 0 4px 20px -2px rgba(25, 35, 55, 0.035) !important;
}

.input:focus, .passwordField:focus-within, textarea:focus, select:focus, #extractorInput:focus {
  background: #ffffff !important;
  border-color: rgba(42, 80, 232, 0.42) !important;
  outline: none !important;
  box-shadow: 0 0 0 1px rgba(42, 80, 232, 0.42), 0 3px 12px -2px rgba(42, 80, 232, 0.16), inset 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

/* 2. 视网膜抗光渗（暗色模式/深色背景字重整体下调一档） */
/* Keep the established font weights in both system color schemes. */

/* 3. 行内小图标对齐（向下挪 1/8 个字高）与水墨晕染动画 */
.icon, svg.inlineIcon, .navItem svg, .stat svg, .quickIcon svg, .badge svg, .btn svg, #extractBtnIcon svg {
  vertical-align: -0.125em !important;
}

@keyframes inkBloom {
  0% {
    opacity: 0.15;
    filter: blur(5px);
    transform: translateY(2px);
  }
  60% {
    filter: blur(1px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
  }
}

.ink-bloom, .status:not(:empty), .statusLive, #extractResultCard:not(.hidden), #extractTitle, .dailyPlanCopy {
  animation: inkBloom 0.28s var(--ease-snappy) both;
}

/* 4. 等宽数字锁死防晃（tabular-nums）与排版防孤字（text-wrap: pretty） */
.tabular-nums, .metricCardValue, .dailyPlanTime, .planTime, .stat strong, .countdownText, .homeDate, .pill, time, #btnSendDouyinSms, #douyinSmsPhone, #btnSubmitDouyinSms, .proxyChip, .accountCapacity, .planRows strong {
  font-variant-numeric: tabular-nums lining-nums !important;
  font-feature-settings: "tnum" 1 !important;
}

h1, h2, h3, h4, .brand { text-wrap: balance !important; }
p, .lead, .notice, .dailyPlanCopy, .toolsEngineDetail, .status, #extractTitle, .welcome p, .productProposal, .workspaceHeader p, .runSummary {
  text-wrap: pretty !important;
}

/* 5. 动效性格化：吸附雷厉风行 vs 反馈欢快 Q 弹（+19.4% 回弹，2.5s 自动隐退） */
.btn, .navItem, .authTab, .dailyPlanLink, .loginModeTab, .proxyChip {
  transition: background-color 160ms ease, color 160ms ease, transform 160ms var(--ease-snappy) !important;
}
.btn:active:not(:disabled), .authTab:active, .proxyChip:active {
  transform: translateY(1px);
}

@keyframes popQSpring {
  0% { transform: scale(0.82); opacity: 0; }
  45% { transform: scale(1.194); } /* +19.4% 回弹 */
  75% { transform: scale(0.96); }
  100% { transform: scale(1); opacity: 1; }
}

.pop-q, .copySuccessBadge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  animation: popQSpring 0.36s var(--ease-spring) both;
  color: #14644E !important;
  font-weight: 650 !important;
}

/* ==========================================================================
   LUDI PRO DESIGN SYSTEM UPGRADE (v2.4 - Ambient Glass & Kinetic Precision)
   ========================================================================== */

:root {
  /* 玻璃切角顶光与微边框 (Specular Hairline & Micro-border) */
  --ludi-specular-top: inset 0 1px 0 0 rgba(255, 255, 255, 0.75);
  --ludi-border-hairline: 1px solid rgba(15, 23, 42, 0.06);
  --ludi-card-shadow-rest: 
    var(--ludi-specular-top),
    0 1px 2px -1px rgba(15, 23, 42, 0.04),
    0 4px 12px -2px rgba(15, 23, 42, 0.03);
  --ludi-card-shadow-hover: 
    var(--ludi-specular-top),
    0 4px 12px -2px rgba(15, 23, 42, 0.06),
    0 12px 28px -4px rgba(15, 23, 42, 0.06);

  /* 状态驱动环境光 (State-Driven Ambient Glow) */
  --ludi-glow-online: radial-gradient(120% 90% at 50% 0%, rgba(16, 185, 129, 0.085) 0%, rgba(16, 185, 129, 0) 70%);
  --ludi-glow-running: radial-gradient(120% 90% at 50% 0%, rgba(59, 130, 246, 0.09) 0%, rgba(59, 130, 246, 0) 70%);
  --ludi-glow-warn: radial-gradient(120% 90% at 50% 0%, rgba(245, 158, 11, 0.085) 0%, rgba(245, 158, 11, 0) 70%);

  /* 物理动效曲线 */
  --ease-overdamped: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-spring-pop: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* 暗色模式下的高光切角与抗光渗微调 */
@media (prefers-color-scheme: dark), [data-theme="dark"] {
  :root {
    --ludi-specular-top: inset 0 1px 0 0 rgba(255, 255, 255, 0.085);
    --ludi-border-hairline: 1px solid rgba(255, 255, 255, 0.065);
    --ludi-card-shadow-rest: 
      var(--ludi-specular-top),
      0 2px 6px -1px rgba(0, 0, 0, 0.35),
      0 8px 24px -4px rgba(0, 0, 0, 0.28);
    --ludi-card-shadow-hover: 
      inset 0 1px 0 0 rgba(255, 255, 255, 0.13),
      0 8px 20px -2px rgba(0, 0, 0, 0.45),
      0 16px 36px -6px rgba(0, 0, 0, 0.38);

    --ludi-glow-online: radial-gradient(120% 90% at 50% 0%, rgba(16, 185, 129, 0.14) 0%, rgba(16, 185, 129, 0) 72%);
    --ludi-glow-running: radial-gradient(120% 90% at 50% 0%, rgba(59, 130, 246, 0.15) 0%, rgba(59, 130, 246, 0) 72%);
  }

  /* 严格维持视网膜抗光渗 (Optical Irradiation Defense) */
  h1, h2, h3, .card-title, .section-title {
    font-weight: 620 !important;
    letter-spacing: -0.015em;
    -webkit-font-smoothing: antialiased;
  }
  body, p, span, li, input, button {
    font-weight: 380;
    -webkit-font-smoothing: antialiased;
  }
}

/* --------------------------------------------------------------------------
   1. 卡片容器：1px 玻璃顶光切角 + 状态环境光晕 (Ambient Card System)
   -------------------------------------------------------------------------- */
.card, .panel, .account-card, .login-box, .extractor-card, .bento-item {
  position: relative;
  border: var(--ludi-border-hairline);
  box-shadow: var(--ludi-card-shadow-rest);
  transition: transform 0.24s var(--ease-overdamped), 
              box-shadow 0.24s var(--ease-overdamped),
              background-color 0.2s ease;
  overflow: hidden;
}

.card:hover, .account-card:hover, .bento-item:hover {
  box-shadow: var(--ludi-card-shadow-hover);
  transform: translateY(-1px);
}

/* 在线账号卡片：顶部翡翠绿环境微光 */
.account-card[data-alive="true"]::before,
.account-card.is-online::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--ludi-glow-online);
  pointer-events: none;
  z-index: 0;
}

/* 任务执行中卡片：顶部电光蓝环境微光 */
.account-card[data-running="true"]::before,
.account-card.is-running::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--ludi-glow-running);
  pointer-events: none;
  z-index: 0;
}

/* --------------------------------------------------------------------------
   2. 住宅代理节点胶囊选择器 (Proxy Node Telemetry Pills)
   -------------------------------------------------------------------------- */
.proxy-pill-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 4px;
  border-radius: 12px;
  background: rgba(128, 128, 128, 0.06);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.06);
}

.proxy-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.2;
  cursor: pointer;
  user-select: none;
  border: 1px solid transparent;
  transition: all 0.18s var(--ease-overdamped);
  font-variant-numeric: tabular-nums lining-nums;
}

.proxy-pill .signal-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.5);
  animation: signalPulse 2.4s infinite cubic-bezier(0.4, 0, 0.6, 1);
}

.proxy-pill.is-active,
.proxy-pill[aria-selected="true"] {
  background: var(--surface-2, rgba(255, 255, 255, 0.9));
  border-color: rgba(16, 185, 129, 0.32);
  box-shadow: 
    inset 0 1px 0 rgba(255, 255, 255, 0.5),
    0 2px 6px rgba(0, 0, 0, 0.08);
  font-weight: 500;
}

@media (prefers-color-scheme: dark), [data-theme="dark"] {
  .proxy-pill.is-active,
  .proxy-pill[aria-selected="true"] {
    background: rgba(255, 255, 255, 0.09);
    border-color: rgba(16, 185, 129, 0.4);
  }
}

@keyframes signalPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.28); opacity: 0.65; }
}

/* --------------------------------------------------------------------------
   3. 内凹咬合输入框与分体式验证码舱 (Tactile Inset Input & OTP Array)
   -------------------------------------------------------------------------- */
input[type="text"],
input[type="password"],
input[type="tel"],
input[type="url"],
textarea,
.tactile-input {
  transition: box-shadow 0.18s var(--ease-overdamped), border-color 0.18s ease, background-color 0.18s ease;
  font-variant-numeric: tabular-nums lining-nums;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
textarea:focus,
.tactile-input:focus {
  outline: none;
  /* 外层微光环 + 内层下沉咬合阴影 */
  box-shadow: 
    0 0 0 3px rgba(59, 130, 246, 0.14),
    inset 0 2px 4px rgba(0, 0, 0, 0.09) !important;
}

/* 短信验证码输入高亮态（当收到 sms_send_result 自动聚焦时） */
.sms-code-input.is-awaiting-code {
  border-color: rgba(16, 185, 129, 0.55) !important;
  box-shadow: 
    0 0 0 3px rgba(16, 185, 129, 0.16),
    inset 0 2px 4px rgba(0, 0, 0, 0.08) !important;
  letter-spacing: 0.25em;
  font-weight: 600;
}

/* --------------------------------------------------------------------------
   4. 火花 24 小时排期时间轴丝带 (Spark 24h Timeline Ribbon)
   -------------------------------------------------------------------------- */
.spark-timeline-ribbon {
  position: relative;
  height: 6px;
  width: 100%;
  border-radius: 999px;
  background: rgba(128, 128, 128, 0.12);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.08);
  margin: 10px 0 6px;
  overflow: visible;
}

.spark-timeline-anchor {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #10b981;
  border: 2px solid var(--surface-1, #fff);
  box-shadow: 0 0 8px rgba(16, 185, 129, 0.6);
  transition: transform 0.2s var(--ease-spring-pop);
}

.spark-timeline-anchor:hover {
  transform: translate(-50%, -50%) scale(1.35);
}

/* --------------------------------------------------------------------------
   5. MediaExtractor 画廊级解析卡片与流式进度按钮
   -------------------------------------------------------------------------- */
.media-gallery-card {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
}

/* 按钮内嵌流式下载进度条 */
.btn-stream-download {
  position: relative;
  overflow: hidden;
  z-index: 1;
  font-variant-numeric: tabular-nums lining-nums;
}

.btn-stream-download::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: var(--download-progress, 0%);
  background: linear-gradient(90deg, rgba(16, 185, 129, 0.28), rgba(16, 185, 129, 0.45));
  transition: width 0.2s linear;
  z-index: -1;
}

/* Q弹复制成功徽标 (+19.4% 弹簧超调) */
.copy-badge-pop {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  animation: ludiSpringPop 0.38s var(--ease-spring-pop) forwards;
}

@keyframes ludiSpringPop {
  0% { transform: scale(0.75); opacity: 0; }
  60% { transform: scale(1.194); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

/* 水墨晕染过渡 (Ink Bloom) */
.ink-bloom-enter {
  animation: inkBloom 0.32s var(--ease-overdamped) forwards;
}

@keyframes inkBloom {
  0% { filter: blur(5px); opacity: 0; transform: translateY(2px); }
  100% { filter: blur(0); opacity: 1; transform: translateY(0); }
}

/* --------------------------------------------------------------------------
   6. 移动端 (<=760px) 悬浮毛玻璃灵动底座 (Floating Glass Dock)
   -------------------------------------------------------------------------- */
@media (max-width: 760px) {
  .mobile-bottom-nav,
  nav.mobile-tab-bar {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    width: auto !important;
    border-radius: 20px !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
    border: var(--ludi-border-hairline) !important;
    box-shadow: 
      var(--ludi-specular-top),
      0 10px 30px -5px rgba(0, 0, 0, 0.22),
      0 4px 12px -2px rgba(0, 0, 0, 0.12) !important;
    z-index: 999;
    padding-bottom: 0 !important;
  }

  /* 为页面底部留出浮岛安全距离，避免遮挡卡片内容 */
  body, main, .main-content {
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* 全局排版与 SVG 对齐守恒 */
svg.inline-icon, button svg, .nav-item svg, .badge svg {
  vertical-align: -0.125em;
  flex-shrink: 0;
}

p, .desc, .caption-text {
  text-wrap: pretty;
}

h1, h2, h3, .title {
  text-wrap: balance;
}

.num, .countdown, .time-display, .stat-value {
  font-variant-numeric: tabular-nums lining-nums;
}


/* ==========================================================================
   v2.4.1 REFINEMENTS: SEGMENTED CONTROLS, INSTANT CACHE BADGE, NATURAL FOOTER
   ========================================================================== */

/* 三模登录切换栏（iOS/Linear 级滑动胶囊分段控制器） */
.loginModeTabs {
  position: relative;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
  padding: 4px !important;
  border-radius: 13px !important;
  background: rgba(15, 23, 42, 0.045) !important;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.06) !important;
  border: 1px solid rgba(15, 23, 42, 0.04) !important;
}

.loginModeTabs button,
.loginModeTabs .tab-btn,
.loginModeTab {
  position: relative;
  z-index: 1;
  border-radius: 9px !important;
  font-weight: 500;
  transition: color 0.18s ease, transform 0.16s var(--ease-overdamped), box-shadow 0.2s var(--ease-overdamped), background-color 0.2s var(--ease-overdamped) !important;
}

.loginModeTabs button.active,
.loginModeTabs .tab-btn.active,
.loginModeTabs .loginModeTab.active,
.loginModeTabs [aria-selected="true"] {
  background: #ffffff !important;
  color: #0f172a !important;
  font-weight: 600 !important;
  box-shadow: 
    inset 0 1px 0 rgba(255, 255, 255, 0.8),
    0 1px 3px rgba(15, 23, 42, 0.08),
    0 4px 10px -2px rgba(15, 23, 42, 0.05) !important;
}

.loginModeTabs button:active,
.loginModeTab:active {
  transform: scale(0.97);
}

/* 创作者工具箱：秒级缓存命中徽标 */
.badge-instant {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(16, 185, 129, 0.12) !important;
  color: #047857 !important;
  border: 1px solid rgba(16, 185, 129, 0.25) !important;
  animation: inkBloom 0.32s var(--ease-overdamped) forwards;
}

/* 优化首页今日计划顶部：隐藏多余孤立时钟图标，重现呼吸大标题 */
.dayStatus {
  display: grid;
  justify-items: center;
  gap: 8px;
  margin: 12px auto 20px;
  padding: 24px 20px 20px !important;
  text-align: center;
}
.dayStatus[data-tone="neutral"] .dayStatusIcon,
.dayStatus[data-icon="i-clock"] .dayStatusIcon {
  display: none !important;
}

/* 备案号自然置于页面滚动最底端，绝不悬浮遮挡内容 */
.siteRegistration,
body .siteRegistration,
body.authenticated .siteRegistration {
  position: static !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  height: auto !important;
  min-height: 36px !important;
  margin: 32px 0 24px !important;
  padding: 0 12px !important;
  background: transparent !important;
  border-top: none !important;
  color: #8892a0 !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
  z-index: 1 !important;
}
.siteRegistration a {
  color: inherit !important;
  text-decoration: none !important;
  min-height: auto !important;
  padding: 4px !important;
  font-size: 11px !important;
}
.siteRegistration a:hover {
  text-decoration: underline !important;
}

/* ==========================================================================
   LUDI PRO v2.5: MOBILE DYNAMIC PILL DOCK & NATIVE APP DETAILS
   ========================================================================== */

/* 全局消除移动端点击蓝框与文本误选，提升原生 App 触感 */
* {
  -webkit-tap-highlight-color: transparent;
}
button, .tab-btn, .proxy-pill, #workspaceNav *, .loginModeTabs * {
  user-select: none;
  -webkit-user-select: none;
}

/* 状态微胶囊呼吸灯与小徽章 */
.dayStatusPill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px 3px 8px;
  border-radius: 999px;
  background: rgba(16, 185, 129, 0.08);
  border: 1px solid rgba(16, 185, 129, 0.22);
  color: #047857;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin-bottom: 6px;
}
.dayStatusPill .signal-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #10B981;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);
  animation: pulse-dot 2s infinite ease-in-out;
}

/* 24 小时排期时间轴丝带刻度增强 */
.spark-timeline-wrapper {
  margin-top: 10px;
  width: 100%;
}
.spark-timeline-ticks {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 5px;
  font-size: 11px;
  color: #94a3b8;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}
.timeline-tick-label {
  font-size: 10.5px;
  color: #94a3b8;
}
.timeline-active-badge {
  font-size: 10.5px;
  font-weight: 600;
  color: #059669;
  background: rgba(16, 185, 129, 0.09);
  border: 1px solid rgba(16, 185, 129, 0.2);
  padding: 1px 7px;
  border-radius: 999px;
}

/* 好友名单 Chip 容器化降噪 */
#planFriends .dailyPlanValue,
.friendRosterChip {
  display: inline-flex !important;
  align-items: center !important;
  background: #f8fafc !important;
  border-radius: 10px !important;
  padding: 6px 12px !important;
  border: 1px solid rgba(15, 23, 42, 0.05) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  margin-top: 4px !important;
  box-shadow: inset 0 1px 1px rgba(15, 23, 42, 0.02) !important;
}

@media (max-width: 760px) {
  /* 卡片间距与内边距黄金收敛，提高移动端屏效 */
  .panel,
  .card,
  .planPanel,
  .dayStatus,
  .dailyPlan,
  .stepPanel,
  .homeOnboarding {
    margin-bottom: 10px !important;
    padding: 14px 14px !important;
    border-radius: 16px !important;
  }
  .dayStatus {
    margin: 6px auto 10px !important;
    padding: 16px 14px 12px !important;
  }

  /* 1. 防止 iOS Safari 点击输入框时强制放大整个页面 (字号不低于 16px) */
  input[type="text"],
  input[type="password"],
  input[type="tel"],
  input[type="url"],
  input[type="number"],
  select,
  textarea {
    font-size: 16px !important;
  }

  /* 2. 高定灵动胶囊浮岛 */
  #workspaceNav,
  .workspaceNav,
  body.authenticated #workspaceNav {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 auto !important;
    bottom: calc(8px + env(safe-area-inset-bottom, 0px)) !important;
    width: calc(100vw - 28px) !important;
    max-width: 350px !important;
    height: 60px !important;
    padding: 6px 8px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    box-shadow:
      0 4px 20px rgba(0, 0, 0, 0.10),
      0 1px 4px rgba(0, 0, 0, 0.06) !important;
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    align-items: stretch !important;
    gap: 0px !important;
    z-index: 999 !important;
    overflow: visible !important;
    transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.28s ease !important;
  }

  /* 每个导航项：撑满格子，内容居中，用 ::before 做高亮背景避免溢出 */
  #workspaceNav > button,
  #workspaceNav > a,
  #workspaceNav .navItem,
  #workspaceNav .nav-item,
  #workspaceNav [data-tab],
  #workspaceNav [data-view] {
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 0 !important;       /* 覆盖旧CSS min-height:53px，防止溢出 */
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    color: #64748b !important;
    font-size: 10.5px !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.01em !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: color 0.2s ease !important;
  }

  /* 高亮背景用 ::before 伪元素，固定宽高居中，不受父级宽度影响 */
  #workspaceNav > button::before,
  #workspaceNav > a::before,
  #workspaceNav .navItem::before,
  #workspaceNav .nav-item::before,
  #workspaceNav [data-tab]::before,
  #workspaceNav [data-view]::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 52px !important;
    height: 44px !important;
    border-radius: 12px !important;
    background: transparent !important;
    transition: background 0.2s ease !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }

  /* 激活态：::before 显示蓝色居中高亮，内容层叠在上 */
  #workspaceNav > .active::before,
  #workspaceNav > .is-active::before,
  #workspaceNav > [aria-selected="true"]::before,
  #workspaceNav > [aria-current="page"]::before,
  #workspaceNav .navItem.active::before {
    background: rgba(42, 80, 232, 0.10) !important;
  }

  #workspaceNav > .active,
  #workspaceNav > .is-active,
  #workspaceNav > [aria-selected="true"],
  #workspaceNav > [aria-current="page"],
  #workspaceNav .navItem.active {
    background: transparent !important;
    color: #2A50E8 !important;
    font-weight: 600 !important;
  }

  /* 内容(svg + span文字)要在 ::before 的上层显示 */
  #workspaceNav .navItem > *,
  #workspaceNav .navItem svg,
  #workspaceNav .navItem span {
    position: relative !important;
    z-index: 1 !important;
  }

  #workspaceNav svg {
    width: 19px !important;
    height: 19px !important;
    stroke-width: 1.85 !important;
    vertical-align: middle !important;
    transition: transform 0.26s cubic-bezier(0.34, 1.56, 0.64, 1), color 0.2s ease !important;
  }

  /* 激活态svg微动效 */
  #workspaceNav .navItem.active svg {
    transform: translateY(-1px) scale(1.05) !important;
    color: #2A50E8 !important;
    stroke-width: 2.05 !important;
  }

  /* 浮岛按钮按压阻尼回馈 */
  #workspaceNav > *:active,
  #workspaceNav .navItem:active {
    transform: scale(0.92) !important;
  }

  /* 页面底部充裕安全留白 */
  body, main, .shell, .main-content, .authenticated .shell {
    padding-bottom: calc(130px + env(safe-area-inset-bottom, 0px)) !important;
  }

  /* 确保备案号在文档流最末尾自然展示 */
  .siteRegistration,
  body.authenticated .siteRegistration {
    margin: 24px 0 calc(80px + env(safe-area-inset-bottom, 0px)) !important;
    padding-bottom: 8px !important;
    font-size: 11.5px !important;
    opacity: 0.72 !important;
  }
}

/* navhidden fix 20261029: 未登录时底部导航保持隐藏 */
#workspaceNav.hidden,.workspaceNav.hidden{display:none !important;}

/* navpad fix 20261029: 登录后手机底栏贴底、去阴影、内容留白 */
@media (max-width:760px){
  body.authenticated #workspaceNav:not(.hidden){bottom:calc(8px + env(safe-area-inset-bottom,0px)) !important;box-shadow:0 1px 2px rgba(15,23,42,.06) !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;}
  body.authenticated #workspaceNav::before,body.authenticated #workspaceNav::after{content:none !important;display:none !important;}
  body.authenticated,body.authenticated main{padding-bottom:0 !important;}
  body.authenticated .shell{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px)) !important;}
  body.authenticated .siteRegistration{margin-bottom:8px !important;}
}

/* ui4 20261030: restrained visual pass (home status, run card, login chips/note, settings v2) */
/* 1 home dayStatus warning -> restrained */
#dayStatus[data-tone=warning]{background:#fff!important;border:1px solid #e6e9ef!important;box-shadow:none!important}
#dayStatus[data-tone=warning] .dayStatusIcon{background:#f4f6fa!important;color:#64748b!important;width:36px!important;height:36px!important;border-radius:10px!important}
#dayStatus[data-tone=warning] .dayStatusIcon svg{width:18px!important;height:18px!important;stroke:#64748b!important;fill:none!important}
#dayStatus[data-tone=warning] h1{font-size:20px!important;font-weight:650!important;color:#0f172a!important;letter-spacing:-.2px}
#dayStatus[data-tone=warning] .dayStatusDescription{color:#475569!important;font-size:13px!important}
#dayStatus[data-tone=warning] .dayStatusMeta{color:#94a3b8!important;font-size:12px!important;background:none!important;padding:0!important;border:0!important}
#dayStatus[data-tone=warning] .dayStatusAction{background:#fff!important;color:#2A50E8!important;border:1px solid #cbd6f6!important;box-shadow:none!important}
/* 2 run card */
.runhead .pill.failed{background:transparent!important;color:#64748b!important;border:1px solid #e2e8f0;border-radius:999px;padding:3px 9px!important;display:inline-flex;align-items:center;gap:5px}
.runhead .pill.failed::before{content:"";width:6px;height:6px;border-radius:50%;background:#c2410c;opacity:.75}
.runCount{background:#fff!important;border-color:#eef0f3!important}
.runCount strong{color:#0f172a!important;font-weight:650}
.runCountUnknown strong{color:#2A50E8!important}
.runNote{background:transparent!important;padding:0!important;color:#64748b!important}
.runAlert{background:#f8fafc!important;color:#475569!important;border-left:2px solid #cbd6f6;border-radius:6px!important}
/* 3 city chip + note */
#proxyRegionChips .proxy-pill.is-active,#proxyRegionChips .proxyChip.active{background:#eef2ff!important;color:#2A50E8!important;border:1.5px solid #2A50E8!important;font-weight:650!important;box-shadow:none!important}
#proxyRegionChips .proxy-pill.is-active::before,#proxyRegionChips .proxyChip.active::before{content:"✓";margin-right:3px;color:#2A50E8!important}
.loginModeNote{margin:0 0 12px!important;font-size:12px!important;line-height:1.6!important;color:#8a93a3!important;display:flex;gap:6px;align-items:center}
.loginModeNote::before{content:"";width:5px;height:5px;border-radius:50%;background:#b6c3ea;flex:none}
.setV2{max-width:640px}
.setV2 .setProfile{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e8ebf0;border-radius:14px;padding:14px;margin:0 0 22px}
.setV2 .setAvatar{width:44px;height:44px;border-radius:50%;background:#eef2ff;color:#2A50E8;display:grid;place-items:center;flex:none}
.setV2 svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.setV2 .setAvatar svg{width:22px;height:22px}
.setV2 .setProfileText{flex:1;min-width:0}.setV2 .setProfileLabel{margin:0;font-size:12px;font-weight:400;color:#8a93a3}
.setV2 .setProfileText strong{display:block;font-size:16px;font-weight:650;color:var(--ink);overflow-wrap:anywhere}
.setV2 .setStatus{font-size:12px;color:#64748b;display:inline-flex;align-items:center;gap:5px;flex:none}
.setV2 .setStatus::before{content:"";width:6px;height:6px;border-radius:50%;background:#2A50E8}
.setV2 .setGroupTitle{font-size:12px;color:#8a93a3;margin:0 4px 6px}
.setV2 .setGroup{background:#fff;border:1px solid #e8ebf0;border-radius:14px;overflow:hidden;padding:0;margin:0 0 8px}
.setV2 .setRow{display:flex;align-items:center;gap:12px;padding:10px 14px;min-height:52px;box-sizing:border-box;width:100%;background:#fff;border:0;font:inherit;color:inherit;text-align:left}
.setV2 .setRow.hidden{display:none}
.setV2 .setRow+.setRow{border-top:1px solid #f0f2f5}
.setV2 .setRowLink{cursor:pointer}.setV2 .setRowLink:active{background:#f7f8fb}
.setV2 .setIc{width:28px;height:28px;border-radius:8px;background:#f4f6fa;color:#64748b;display:grid;place-items:center;flex:none}
.setV2 .setIc.b{background:#eef2ff;color:#2A50E8}.setV2 .setIc svg{width:17px;height:17px}
.setV2 .setText{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.setV2 .setText strong{font-size:15px;font-weight:500;color:var(--ink)}
.setV2 .setText small{font-size:12px;color:#94a3b8;line-height:1.45}
.setV2 .setText .status:empty{display:none}
.setV2 .setChevron{color:#cbd5e1;font-size:20px;line-height:1}
.setV2 .setInput{flex:0 1 55%;min-width:0;border:0;background:transparent;text-align:right;font:inherit;font-size:14px;color:var(--ink);padding:6px 0;outline:none}
.setV2 .setInput::placeholder{color:#a3acba}
.setV2 .setSmallBtn{min-height:32px;padding:6px 12px;font-size:13px}
.setV2 .setActions{gap:8px}.setV2 .setActions .btn{flex:1;min-height:40px;font-size:14px}
.setV2 .setFoot{font-size:12px;color:#94a3b8;margin:0 4px 22px;line-height:1.5}.setV2 .setFoot:empty{margin-bottom:14px}
.setV2 .setLogout{display:block;width:100%;background:#fff;border:1px solid #e8ebf0;border-radius:14px;padding:14px;font:inherit;font-size:15px;color:#64748b;cursor:pointer}
.setV2 .notice{margin:0 0 8px}
#proxyRegionChips .proxy-pill.is-active .signal-dot,#proxyRegionChips .proxyChip.active .signal-dot{display:none!important}

/* ui5 20261030 */
/* 1 direct chip */
#proxyRegionChips .proxyChipDirect{border-style:dashed!important}
.proxyDirectNote{font-size:12px;color:#8a93a3;margin:8px 2px 0;line-height:1.55}
/* 2 email sheet */
.setV2 .setValue{color:#94a3b8;font-size:14px;max-width:52%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sheetMask{position:fixed;inset:0;background:rgba(15,23,42,.28);z-index:9998}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#fff;border-radius:18px 18px 0 0;padding:10px 18px calc(22px + env(safe-area-inset-bottom));font-family:inherit}
.sheet .grab{width:36px;height:4px;border-radius:2px;background:#e2e8f0;margin:0 auto 14px}
.sheet h3{margin:0 0 4px;font-size:17px;font-weight:650;color:#0f172a}.sheet p{margin:0 0 14px;font-size:12px;color:#94a3b8}
.sheet input{width:100%;box-sizing:border-box;border:1px solid #dce1ea;border-radius:12px;padding:13px 14px;font:inherit;font-size:15px;outline:none}
.sheet input:focus{border-color:#2A50E8;box-shadow:0 0 0 3px #2A50E814}
.sheet .row{display:flex;gap:10px;margin-top:16px}.sheet .row button{flex:1;min-height:44px;border-radius:12px;font:inherit;font-size:15px;font-weight:600;border:1px solid #e2e8f0;background:#fff;color:#475569}
.sheet .row .pri{background:#2A50E8;border-color:#2A50E8;color:#fff}.sheet .del{display:block;margin:14px auto 0;border:0;background:none;color:#94a3b8;font:inherit;font-size:13px}
/* 3 multi-account */
#multiAccountHome{background:#fff!important;border:1px solid #e8ebf0!important;border-radius:14px!important;padding:14px 0 4px!important;box-shadow:none!important}
#multiAccountHome .sectionHeading{padding:0 14px;margin-bottom:6px!important}#multiAccountHome .sectionHeading h2{font-size:15px!important;font-weight:650}
#multiAccountHome>.hint{padding:0 14px;color:#94a3b8!important;font-size:12px!important}
#multiAccountHomeList{display:block!important}
#multiAccountHomeList .multiAccountRow{display:grid!important;grid-template-columns:28px 1fr auto;align-items:center;column-gap:12px;padding:12px 14px!important;margin:0!important;border:0!important;border-top:1px solid #f0f2f5!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;min-height:52px}
#multiAccountHomeList .multiAccountRow::before{content:attr(data-initial);width:28px;height:28px;border-radius:50%;background:#f4f6fa;color:#64748b;display:grid;place-items:center;font-size:13px;font-weight:600;grid-row:1}
#multiAccountHomeList .multiAccountRow.is-online::before{background:#eef2ff;color:#2A50E8}
#multiAccountHomeList .multiAccountRow strong{font-size:15px!important;font-weight:500!important;color:#0f172a!important}
#multiAccountHomeList .multiAccountRow>span{font-size:12px!important;color:#94a3b8!important;display:inline-flex;align-items:center;gap:6px}
#multiAccountHomeList .multiAccountRow>span::before{content:"";width:6px;height:6px;border-radius:50%;background:#cbd5e1}
#multiAccountHomeList .multiAccountRow.is-online[data-on="1"]>span::before{background:#2A50E8}
#multiAccountHomeList .multiAccountRow[data-bad="1"]>span::before{background:#c2410c;opacity:.75}
#multiAccountHomeList .multiAccountRow>*:not(strong):not(span){display:none!important}
/* 4 records page */
#recordsPanel{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
#recordsPanel>summary{display:none!important}
#recordsPanel .recordToolbar{background:#fff;border:1px solid #e8ebf0;border-radius:14px;padding:10px 14px!important;margin-bottom:12px;font-size:13px;color:#64748b}
#runs .runitem,#recordsPanel .runitem{background:#fff;border:1px solid #e8ebf0!important;border-radius:14px;padding:14px!important;margin:0 0 10px}
.runhead .pill:not(.failed):not(.neutral){background:transparent!important;color:#64748b!important;border:1px solid #e2e8f0;border-radius:999px;padding:3px 9px!important;display:inline-flex;align-items:center;gap:5px}
.runhead .pill:not(.failed):not(.neutral)::before{content:"";width:6px;height:6px;border-radius:50%;background:#2A50E8}
.runPrimary strong{font-size:15px!important;font-weight:600!important}.runPrimary span{color:#94a3b8!important}
.runDetails summary{font-size:13px;color:#2A50E8;border-top:1px solid #f0f2f5;padding-top:10px;margin-top:10px}
/* 5 dock A2 20261030 */
@media (max-width:760px){
  #workspaceNav,.workspaceNav,body.authenticated #workspaceNav,body.authenticated #workspaceNav:not(.hidden){
    left:12px!important;right:12px!important;width:auto!important;max-width:none!important;
    bottom:calc(4px + env(safe-area-inset-bottom,0px))!important;
    height:auto!important;min-height:64px!important;
    padding:6px!important;gap:2px!important;border-radius:22px!important;
    box-shadow:0 1px 4px rgba(0,0,0,.04)!important;
    border:1px solid rgba(15,23,42,.08)!important;
    display:grid!important;grid-template-columns:repeat(5,1fr)!important;
  }
  #workspaceNav .navItem,#workspaceNav > button,body.authenticated #workspaceNav .navItem{
    min-height:0!important;height:100%!important;margin:0!important;padding:2px 0!important;
    gap:3px!important;border-radius:14px!important;
    font-size:11px!important;font-weight:500!important;line-height:1.2!important;letter-spacing:0!important;
  }
  #workspaceNav .navItem span,body.authenticated #workspaceNav .navItem span{font-size:11px!important;line-height:1.2!important;font-weight:500!important}
  #workspaceNav svg,#workspaceNav .navItem svg,body.authenticated #workspaceNav svg{width:22px!important;height:22px!important;stroke-width:1.75!important}
  #workspaceNav .navItem::before,#workspaceNav > button::before,body.authenticated #workspaceNav .navItem::before{
    width:60px!important;height:52px!important;border-radius:15px!important;
  }
  body.authenticated .shell{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important}
}
.setV2 .setValueBtn{margin-left:auto;display:inline-flex;align-items:center;gap:6px;border:0;background:none;font:inherit;cursor:pointer;padding:0;max-width:60%;min-width:0}
.setV2 .setValueBtn .setValue{max-width:100%}.setV2 .setChevron{color:#cbd5e1;font-size:18px;line-height:1}
.sheetMask.hidden,.sheet.hidden{display:none!important}

/* dock_dark 20261030 — dark theme */
html[data-theme="dark"]{
  color-scheme:dark;
  --accent:#5B7CFF;--accent-dark:#4a6af0;--ink:#e8edf5;--muted:#94a3b8;--line:#243044;--surface:#161d27;--canvas:#0f1419;
  background:#0f1419;color:#e8edf5;
}
html[data-theme="dark"] body,html[data-theme="dark"] .shell,html[data-theme="dark"] #app{background:var(--canvas)!important;color:var(--ink)!important}
html[data-theme="dark"] .panel,html[data-theme="dark"] .card,html[data-theme="dark"] .dayStatus,
html[data-theme="dark"] .dailyPlan,html[data-theme="dark"] .planPanel,html[data-theme="dark"] .stepPanel,
html[data-theme="dark"] .setV2 .setGroup,html[data-theme="dark"] .setV2 .setProfile,html[data-theme="dark"] .setV2 .setLogout,
html[data-theme="dark"] #recordsPanel .recordToolbar,html[data-theme="dark"] #runs .runitem,html[data-theme="dark"] #multiAccountHome,
html[data-theme="dark"] .proxyPreLoginCard,html[data-theme="dark"] .proxyPickerPanel,html[data-theme="dark"] .sheet,
html[data-theme="dark"] .homeOnboarding,html[data-theme="dark"] .welcome,html[data-theme="dark"] .stat,
html[data-theme="dark"] .toggleCard,html[data-theme="dark"] .messagePreview,html[data-theme="dark"] .summary,
html[data-theme="dark"] .friendEmpty,html[data-theme="dark"] .licensePanel,html[data-theme="dark"] .productCard,
html[data-theme="dark"] .authBootCard,html[data-theme="dark"] #authBoot .authBootCard{
  background:#161d27!important;border-color:#243044!important;color:#e8edf5!important;box-shadow:none!important;
}
html[data-theme="dark"] .brand,html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,
html[data-theme="dark"] strong,html[data-theme="dark"] .setText strong,html[data-theme="dark"] .runPrimary strong,
html[data-theme="dark"] .stepTitle,html[data-theme="dark"] .sheet h3{color:#e8edf5!important}
html[data-theme="dark"] .muted,html[data-theme="dark"] .hint,html[data-theme="dark"] .homeDate,html[data-theme="dark"] .lead,
html[data-theme="dark"] .setText small,html[data-theme="dark"] .setFoot,html[data-theme="dark"] .runPrimary span,
html[data-theme="dark"] .proxyDirectNote,html[data-theme="dark"] .loginModeNote,html[data-theme="dark"] .sheet p,
html[data-theme="dark"] .status{color:#94a3b8!important}
html[data-theme="dark"] #workspaceNav,html[data-theme="dark"] #workspaceNav{
  background:#161d27!important;border-color:#243044!important;
}
html[data-theme="dark"] .navItem{color:#94a3b8!important}
html[data-theme="dark"] .navItem.active{color:#5B7CFF!important}
html[data-theme="dark"] .navItem.active::before,html[data-theme="dark"] #workspaceNav .navItem.active::before{
  background:#1e2a45!important;
}
html[data-theme="dark"] .btn:not(.secondary):not(.text){background:#5B7CFF!important;border-color:#5B7CFF!important;color:#fff!important}
html[data-theme="dark"] .btn.secondary,html[data-theme="dark"] .btn.text{background:#1a2332!important;color:#cbd5e1!important;border-color:#334155!important}
html[data-theme="dark"] .btn:disabled{opacity:.5}
html[data-theme="dark"] .proxyChip,html[data-theme="dark"] .proxy-pill{background:#1a2332!important;border-color:#334155!important;color:#cbd5e1!important}
html[data-theme="dark"] .proxyChip.active,html[data-theme="dark"] .proxy-pill.is-active,
html[data-theme="dark"] .proxyChip.is-active,html[data-theme="dark"] .proxy-pill.active{
  background:#1e2a45!important;border-color:#5B7CFF!important;color:#5B7CFF!important;
}
html[data-theme="dark"] .input,html[data-theme="dark"] input:not([type=checkbox]):not([type=radio]),
html[data-theme="dark"] textarea,html[data-theme="dark"] select,html[data-theme="dark"] .setInput,
html[data-theme="dark"] #emailSheetInput,html[data-theme="dark"] .proxySelect,html[data-theme="dark"] #themeSelect{
  background:#0f1419!important;border-color:#334155!important;color:#e8edf5!important;
}
html[data-theme="dark"] input[type=checkbox],html[data-theme="dark"] .toggleCard input{accent-color:#5B7CFF!important}
html[data-theme="dark"] .sheetMask{background:rgba(0,0,0,.55)!important}
html[data-theme="dark"] .sheet .row button{background:#1a2332!important;border-color:#334155!important;color:#cbd5e1!important}
html[data-theme="dark"] .sheet .row .pri{background:#5B7CFF!important;border-color:#5B7CFF!important;color:#fff!important}
html[data-theme="dark"] .sheet .del{color:#94a3b8!important}
html[data-theme="dark"] .setV2 .setRow{border-color:#243044!important}
html[data-theme="dark"] .setV2 .setIc{background:#1e2a45!important;color:#94a3b8!important}
html[data-theme="dark"] .setV2 .setIc.b{background:#1e2a45!important;color:#5B7CFF!important}
html[data-theme="dark"] .setV2 .setValue,html[data-theme="dark"] .setV2 .setChevron{color:#94a3b8!important}
html[data-theme="dark"] .setV2 .setLogout{background:#161d27!important;border-color:#243044!important;color:#94a3b8!important}
html[data-theme="dark"] #dayStatus[data-tone=warning]{background:#161d27!important}
html[data-theme="dark"] .runhead .pill{border-color:#334155!important;color:#94a3b8!important}
html[data-theme="dark"] .pill.failed{background:#2a1f1c!important;color:#fb923c!important;border-color:#3f2a22!important}
html[data-theme="dark"] .runAlert{background:#1a2332!important;border-left-color:#5B7CFF!important;color:#94a3b8!important}
html[data-theme="dark"] .runCount strong{color:#e8edf5!important}
html[data-theme="dark"] .runCount.runCountUnknown strong{color:#5B7CFF!important}
html[data-theme="dark"] .loginModeTab{color:#94a3b8!important}
html[data-theme="dark"] .loginModeTab.active{color:#5B7CFF!important;border-bottom-color:#5B7CFF!important}
html[data-theme="dark"] .loginModeTabs{border-bottom-color:#243044!important}
html[data-theme="dark"] .proxySubtleBar{background:#161d27!important;border-color:#243044!important}
html[data-theme="dark"] .qrPreview,#qrPreview,html[data-theme="dark"] #qrPreview{background:#1a2332!important;border-color:#334155!important}
html[data-theme="dark"] .homeAccount{background:#1a2332!important;border-color:#334155!important;color:#e8edf5!important}
html[data-theme="dark"] .homeAccountManage{color:#5B7CFF!important}
html[data-theme="dark"] .siteRegistration,html[data-theme="dark"] .siteRegistration a{color:#64748b!important}
html[data-theme="dark"] .friendOption{background:#161d27!important;border-color:#243044!important}
html[data-theme="dark"] .friendOption:has(input:checked){background:#1e2a45!important;border-color:#5B7CFF!important}
html[data-theme="dark"] .timePresets button{background:#1a2332!important;border-color:#334155!important;color:#94a3b8!important}
html[data-theme="dark"] .steps,html[data-theme="dark"] .step{background:#161d27!important;border-color:#243044!important;color:#94a3b8!important}
html[data-theme="dark"] .step.active{background:#1e2a45!important;color:#5B7CFF!important}
html[data-theme="dark"] .notice{background:#2a2418!important;border-color:#3f3420!important;color:#e7c27d!important}
html[data-theme="dark"] .notice.success{background:#14241c!important;border-color:#1e3a2c!important;color:#6ee7b7!important}
html[data-theme="dark"] .notice.warning{background:#2a2418!important;border-color:#3f3420!important;color:#e7c27d!important}
html[data-theme="dark"] #multiAccountHomeList .multiAccountRow{background:#161d27!important;border-top-color:#243044!important}
html[data-theme="dark"] #multiAccountHomeList .multiAccountRow::before{background:#1a2332!important;color:#94a3b8!important}
html[data-theme="dark"] #multiAccountHomeList .multiAccountRow.is-online::before{background:#1e2a45!important;color:#5B7CFF!important}
html[data-theme="dark"] .setGroupTitle{color:#94a3b8!important}
html[data-theme="dark"] ::selection{background:#1e2a45;color:#e8edf5}
html[data-theme="dark"] #authBoot{background:#0f1419!important;color:#e8edf5!important}
html[data-theme="dark"] meta,html[data-theme="dark"]{color-scheme:dark}
#themeSelect{margin-left:auto;max-width:42%;-webkit-appearance:none;appearance:none;border:1px solid #e5e5e0;background:#f2f2f0;color:#46505b;border-radius:10px;padding:7px 28px 7px 10px;font:inherit;font-size:13px;font-weight:550;box-shadow:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M3 4.5L6 8l3-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}

/* dock_dark control pass 2 — setRow / hard white */
html[data-theme="dark"] .setV2 .setRow,
html[data-theme="dark"] .setV2 .setRowLink,
html[data-theme="dark"] .setV2 .setGroup .setRow{
  background:#161d27!important;color:#e8edf5!important;
}
html[data-theme="dark"] .setV2 .setRow+.setRow{border-top-color:#243044!important}
html[data-theme="dark"] .setV2 .setRowLink:active{background:#1a2332!important}
html[data-theme="dark"] .setV2 .setProfile{background:#161d27!important;border-color:#243044!important}
html[data-theme="dark"] .setV2 .setAvatar{background:#1e2a45!important;color:#5B7CFF!important}
html[data-theme="dark"] .setV2 .setProfileLabel,html[data-theme="dark"] .setV2 .setStatus{color:#94a3b8!important}
html[data-theme="dark"] .preferencesPanel{background:transparent!important}
html[data-theme="dark"] .homeAccount,html[data-theme="dark"] #userIdentity{
  background:#1a2332!important;border-color:#334155!important;color:#e8edf5!important;
}
html[data-theme="dark"] .dayStatus,html[data-theme="dark"] #dayStatus{
  background:#161d27!important;border-color:#243044!important;color:#e8edf5!important;
}
html[data-theme="dark"] .quickAction{background:#161d27!important;border-color:#243044!important;color:#e8edf5!important}
html[data-theme="dark"] .quickIcon{background:#1a2332!important;color:#94a3b8!important}
html[data-theme="dark"] .workspaceNav,html[data-theme="dark"] #workspaceNav{
  background:#161d27!important;border:1px solid #243044!important;
  box-shadow:0 2px 12px rgba(0,0,0,.35)!important;
}
html[data-theme="dark"] .mark{background:#5B7CFF!important}
html[data-theme="dark"] .footer,html[data-theme="dark"] .siteRegistration{color:#64748b!important}
html[data-theme="dark"] .switch,html[data-theme="dark"] input[type=checkbox]{accent-color:#5B7CFF}
html[data-theme="dark"] .setV2 .setSmallBtn{background:#1a2332!important;border-color:#334155!important;color:#cbd5e1!important}
html[data-theme="dark"] #themeSelect{background:#1c2430!important;border-color:#334155!important;color:#cbd5e1!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M3 4.5L6 8l3-3.5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 10px center!important}
html[data-theme="dark"] .panel.details,html[data-theme="dark"] details.panel{background:#161d27!important;border-color:#243044!important}
html[data-theme="dark"] .runDetails summary{color:#5B7CFF!important;border-top-color:#243044!important}
html[data-theme="dark"] .runhead .pill:not(.failed):not(.neutral)::before{background:#5B7CFF!important}
html[data-theme="dark"] #multiAccountHomeList .multiAccountRow strong{color:#e8edf5!important}
html[data-theme="dark"] .proxyChipDirect{border-color:#5B7CFF!important;color:#94a3b8!important}
html[data-theme="dark"] .sheet .grab{background:#334155!important}
html[data-theme="dark"] .btn:focus-visible,html[data-theme="dark"] .navItem:focus-visible{outline-color:#5B7CFF80!important}
html[data-theme="dark"] .homeAccountLabel,html[data-theme="dark"] .homeAccountIdentity .homeAccountLabel{
  background:#1a2332!important;border-color:#334155!important;color:#e8edf5!important;
}
html[data-theme="dark"] .homeAccountIdentity{background:transparent!important;color:#e8edf5!important}
html[data-theme="dark"] .userIdentity{background:#1a2332!important;border-color:#334155!important;color:#e8edf5!important}
html[data-theme="dark"] .homeOnboardingStep,html[data-theme="dark"] .onboardingStep{background:transparent!important}
html[data-theme="dark"] .homeHero,html[data-theme="dark"] .homeConnectCard{background:#161d27!important;border-color:#243044!important}

/* polish 20261030 — selected larger / faint shadow already in A2 patch / full-width bar restored */
@media (max-width:760px){
  #workspaceNav .navItem.active::before,#workspaceNav > .active::before,
  body.authenticated #workspaceNav .navItem.active::before{
    background:rgba(42,80,232,.08)!important;
  }
  #workspaceNav,.workspaceNav,body.authenticated #workspaceNav,body.authenticated #workspaceNav:not(.hidden){
    border:1px solid rgba(15,23,42,.06)!important;
  }
}
/* planActions: restore full-width bar (pre-polish #ecece7); no short midline; btn glow stays none */
.dailyPlan .planActions{
  border-top:1px solid #ecece7!important;
  padding-top:11px!important;
  margin-top:12px!important;
  position:static!important;
}
.dailyPlan .planActions::before,
.dailyPlan .planActions::after{
  content:none!important;
  display:none!important;
  width:0!important;height:0!important;background:none!important;
}
.dailyPlan .planActions>:first-child,
.dailyPlan .planActions #planEdit,
.dailyPlan .planActions #overviewContinue,
.dailyPlan .planActions .btn{
  box-shadow:none!important;
}

/* themeSelect polish 20261030 — soft chip, not black pill */
#themeSelect{
  margin-left:auto!important;
  max-width:42%!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  border:1px solid #e5e5e0!important;
  background-color:#f2f2f0!important;
  color:#46505b!important;
  border-radius:10px!important;
  padding:7px 28px 7px 10px!important;
  font:inherit!important;
  font-size:13px!important;
  font-weight:550!important;
  box-shadow:none!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M3 4.5L6 8l3-3.5'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 10px center!important;
}
html[data-theme="dark"] #themeSelect{
  background-color:#1c2430!important;
  border-color:#334155!important;
  color:#cbd5e1!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M3 4.5L6 8l3-3.5'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 10px center!important;
}

/* mijia dock 20261030 */
/* v4: left/right fixed via 100vw because html{scrollbar-gutter:stable} shrinks the containing block by ~10px on the right.
   mijia floating capsule — PREVIEW ONLY. Solid icons via index.html swap (icons_solid/). */
@media (max-width:760px){
  #workspaceNav,.workspaceNav,body.authenticated #workspaceNav,body.authenticated #workspaceNav:not(.hidden){
    position:fixed!important;left:12px!important;right:auto!important;width:calc(100vw - 24px)!important;max-width:none!important;
    bottom:calc(14px + env(safe-area-inset-bottom,0px))!important;
    height:64px!important;min-height:64px!important;max-height:64px!important;margin:0!important;
    padding:3px 2px!important;gap:0!important;border-radius:999px!important;box-sizing:border-box!important;
    background:rgba(255,255,255,.82)!important;
    backdrop-filter:blur(24px) saturate(180%)!important;-webkit-backdrop-filter:blur(24px) saturate(180%)!important;
    border:.5px solid rgba(0,0,0,.06)!important;
    box-shadow:inset 0 .5px 0 rgba(255,255,255,.9),inset 0 -.5px 0 rgba(0,0,0,.02),0 8px 28px rgba(15,23,42,.06),0 1px 3px rgba(15,23,42,.04)!important;
    display:grid!important;grid-template-columns:repeat(5,1fr)!important;align-items:stretch!important;z-index:999!important;
  }
  #workspaceNav::before,#workspaceNav::after,body.authenticated #workspaceNav::before,body.authenticated #workspaceNav::after{content:none!important;display:none!important}
  #workspaceNav .navItem,body.authenticated #workspaceNav .navItem{
    position:relative!important;width:100%!important;min-width:0!important;min-height:0!important;height:100%!important;
    margin:0!important;padding:0!important;gap:3px!important;border:0!important;border-radius:999px!important;
    background:transparent!important;box-shadow:none!important;
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
    color:#262626!important;font-size:10.5px!important;font-weight:600!important;line-height:1.1!important;letter-spacing:.2px!important;
  }
  #workspaceNav .navItem span,body.authenticated #workspaceNav .navItem span,html body.authenticated #workspaceNav .sidebarNavList .navItem span{position:relative!important;z-index:1!important;font-size:10.5px!important;font-weight:600!important;line-height:1.1!important;color:inherit!important}
  #workspaceNav svg,#workspaceNav .navItem svg,body.authenticated #workspaceNav svg{
    position:relative!important;z-index:1!important;width:22px!important;height:22px!important;
    fill:currentColor!important;stroke:none!important;color:inherit!important;transform:none!important;
  }
  /* selected = horizontal full-round capsule, ~full slot width, ~full height */
  #workspaceNav .navItem::before,body.authenticated #workspaceNav .navItem::before{
    content:""!important;position:absolute!important;top:2px!important;bottom:2px!important;left:2px!important;right:2px!important;
    width:auto!important;height:auto!important;transform:none!important;
    border-radius:999px!important;background:transparent!important;z-index:0!important;pointer-events:none!important;
  }
  #workspaceNav .navItem.active,body.authenticated #workspaceNav .navItem.active{color:#2A50E8!important;background:transparent!important}
  html body.authenticated #workspaceNav .sidebarNavList .navItem.active span,#workspaceNav .navItem.active span{font-weight:620!important}
  #workspaceNav .navItem.active::before,body.authenticated #workspaceNav .navItem.active::before{background:rgba(42,80,232,.09)!important}
  #workspaceNav .navItem.active svg{color:#2A50E8!important}
  body.authenticated .shell{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))!important}
}
html[data-theme="dark"] #workspaceNav,html[data-theme="dark"] body.authenticated #workspaceNav:not(.hidden){
  background:rgba(28,34,44,.78)!important;border:.5px solid rgba(255,255,255,.08)!important;
  box-shadow:inset 0 .5px 0 rgba(255,255,255,.07),0 10px 30px rgba(0,0,0,.30),0 1px 3px rgba(0,0,0,.20)!important;
  backdrop-filter:blur(20px) saturate(160%)!important;-webkit-backdrop-filter:blur(20px) saturate(160%)!important;
}
html[data-theme="dark"] #workspaceNav .navItem,html[data-theme="dark"] .navItem{color:#e5e7eb!important}
html[data-theme="dark"] #workspaceNav .navItem.active,html[data-theme="dark"] .navItem.active{color:#5B7CFF!important}
html[data-theme="dark"] #workspaceNav .navItem.active::before,html[data-theme="dark"] .navItem.active::before{background:rgba(91,124,255,.15)!important;border-radius:999px!important}

/* mijia dock shadow fix 20261030: no downward dark band, dock closer to Safari toolbar */
@media (max-width:760px){
  #workspaceNav,.workspaceNav,body.authenticated #workspaceNav,body.authenticated #workspaceNav:not(.hidden){
    bottom:max(6px, calc(env(safe-area-inset-bottom,0px) - 10px))!important;
    box-shadow:inset 0 .5px 0 rgba(255,255,255,.9),0 1px 3px rgba(15,23,42,.06),0 0 0 .5px rgba(15,23,42,.02)!important;
  }
  body.authenticated .shell{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important}
}
html[data-theme="dark"] #workspaceNav,html[data-theme="dark"] body.authenticated #workspaceNav:not(.hidden){
  box-shadow:inset 0 .5px 0 rgba(255,255,255,.07),0 1px 2px rgba(0,0,0,.22)!important;
}

/* polish2 20261030 */
/* mijia dock polish2 — PREVIEW ONLY (local override) */
@media (max-width:760px){
  /* 1 选中胶囊：内缩更紧凑 + 0.5px 同色描边 + 渐变过渡；图标-文字间距 3→2px */
  #workspaceNav .navItem,body.authenticated #workspaceNav .navItem{gap:2px!important;-webkit-tap-highlight-color:transparent!important;
    transition:color .18s ease,transform .16s cubic-bezier(.3,.7,.4,1)!important}
  #workspaceNav .navItem::before,body.authenticated #workspaceNav .navItem::before{
    top:3px!important;bottom:3px!important;left:3px!important;right:3px!important;
    box-shadow:inset 0 0 0 .5px transparent!important;transform:scale(.92)!important;opacity:0!important;
    transition:opacity .2s ease,transform .22s cubic-bezier(.3,.7,.4,1),background-color .2s ease!important}
  #workspaceNav .navItem.active::before,body.authenticated #workspaceNav .navItem.active::before{
    opacity:1!important;transform:none!important;background:rgba(42,80,232,.085)!important;box-shadow:inset 0 0 0 .5px rgba(42,80,232,.10)!important}
  /* 2 图标视觉重量：工具网格/齿轮偏重偏大，单独缩小；整体底对齐 */
  #workspaceNav .navItem svg{transition:transform .16s ease!important}
  #workspaceNav .navItem[data-view="tools"] svg{width:20px!important;height:20px!important;margin:1px 0!important}
  #workspaceNav .navItem[data-view="preferences"] svg{width:21px!important;height:21px!important;margin:.5px 0!important}
  #workspaceNav .navItem span{letter-spacing:.1px!important}
  #workspaceNav .navItem:not(.active) span{font-weight:560!important;opacity:.86}
  /* 4 点按反馈 */
  #workspaceNav .navItem:active{transform:scale(.94)!important}
  #workspaceNav .navItem:active::before{opacity:1!important;transform:none!important;background:rgba(42,80,232,.06)!important}
  #workspaceNav .navItem.active:active::before{background:rgba(42,80,232,.13)!important}
  /* 5 右上角账号：内层胶囊 1px #e2e8f0 硬边(深色下发白) → 0.5px 细边+淡填充，与底栏同语言 */
  #userIdentity .homeAccountIdentity{border:.5px solid rgba(15,23,42,.10)!important;border-radius:999px!important;
    background:rgba(255,255,255,.72)!important;box-shadow:inset 0 .5px 0 rgba(255,255,255,.9),0 1px 2px rgba(15,23,42,.04)!important;
    transition:transform .16s ease,background-color .2s ease!important}
  #userIdentity .homeAccountLabel{background:transparent!important;font-weight:560!important}
  #userIdentity:active .homeAccountIdentity{transform:scale(.96)!important}
}
/* 3 深色：外壳更融合（更深更透、顶部内高光、细边减弱） */
html[data-theme="dark"] #workspaceNav,html[data-theme="dark"] body.authenticated #workspaceNav:not(.hidden){
  background:rgba(22,27,36,.72)!important;border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 1px 2px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(24px) saturate(150%)!important;-webkit-backdrop-filter:blur(24px) saturate(150%)!important}
html[data-theme="dark"] #workspaceNav .navItem{color:#d9dde4!important}
html[data-theme="dark"] #workspaceNav .navItem.active{color:#6E8BFF!important}
html[data-theme="dark"] #workspaceNav .navItem.active::before{background:rgba(110,139,255,.16)!important;box-shadow:inset 0 0 0 .5px rgba(110,139,255,.18)!important}
html[data-theme="dark"] #workspaceNav .navItem:active::before{background:rgba(110,139,255,.10)!important}
html[data-theme="dark"] #userIdentity .homeAccountIdentity{background:rgba(22,27,36,.72)!important;border:.5px solid rgba(255,255,255,.09)!important;
  box-shadow:inset 0 .5px 0 rgba(255,255,255,.08),0 1px 2px rgba(0,0,0,.2)!important;color:#d9dde4!important}
html[data-theme="dark"] #userIdentity .homeAccountLabel{background:transparent!important}
/* 5b 深色下账号按钮外层多出的深色块（live 有一块 r99 的填充）→ 透明 */
html[data-theme="dark"] #userIdentity.homeAccount{background:transparent!important;box-shadow:none!important;border:0!important}

/* dark_fix 20261030 */
/* DayByDay dark contrast fix — PREVIEW ONLY. 仅在 html[data-theme=dark]（或未设置主题且系统深色）下生效 */

/* surfaces: 白底控件 → 深色分层 */
html[data-theme="dark"] :is(.modalCard){background:#161d27!important;border:1px solid rgba(255,255,255,.10)!important;color:#e8edf5!important}
html[data-theme="dark"] :is(.modalPackageInfo,.modalHint,#currentEntitlement,.runCounts,#planReviewDetails,#contactModalBackdrop .modalBody>div,.historyScope){background:#1e2733!important;border-color:rgba(255,255,255,.10)!important;color:#e8edf5!important}
html[data-theme="dark"] :is(#dayStatusAction,.btn.secondary){background:#1e2733!important;border:1px solid rgba(255,255,255,.14)!important;color:#8aa2ff!important}
html[data-theme="dark"] :is(.friendRosterChip,#planFriendsValue){background:#1e2733!important;border:1px solid rgba(255,255,255,.10)!important;color:#e8edf5!important}
html[data-theme="dark"] :is(#tabModeQr,#tabModeSms,#tabModePassword){background:#1e2733!important;border-color:rgba(255,255,255,.10)!important;color:#a3adbb!important}
html[data-theme="dark"] :is(#tabModeQr,#tabModeSms,#tabModePassword):is(.active,[aria-selected="true"]){background:#2a3546!important;color:#8aa2ff!important}
html[data-theme="dark"] :is(#accountConnectionBadge){background:rgba(52,211,153,.14)!important;color:#5fe0b0!important;border-color:rgba(52,211,153,.28)!important}
html[data-theme="dark"] :is(#licenseStateBadge,.productTag){background:#1e2733!important;color:#c3cad5!important;border-color:rgba(255,255,255,.12)!important}
html[data-theme="dark"] :is(.runCount){background:#252f3d!important;color:#e8edf5!important}
html[data-theme="dark"] .runCountSent{color:#5fe0b0!important} html[data-theme="dark"] .runCountUnknown{color:#fbbf24!important} html[data-theme="dark"] .runCountNotSent{color:#f87171!important}
html[data-theme="dark"] #overviewRunReason{background:rgba(251,191,36,.10)!important;color:#fcd34d!important;border-color:rgba(251,191,36,.25)!important}
html[data-theme="dark"] :is(.accountSummaryIcon,.toolsHeadingIcon,.dayStatusIcon){background:#1e2733!important;color:#c3cad5!important}
html[data-theme="dark"] .dayStatus[data-tone="warning"] .dayStatusIcon{background:rgba(251,191,36,.14)!important;color:#fbbf24!important}
html[data-theme="dark"] .dayStatus[data-tone="success"] .dayStatusIcon{background:rgba(52,211,153,.14)!important;color:#5fe0b0!important}
html[data-theme="dark"] .switchTrack{background:#3a4556!important}
html[data-theme="dark"] :is(textarea,input:not([type=checkbox]):not([type=radio]):not([type=range]),select){background:#0f1419!important;border:1px solid rgba(255,255,255,.14)!important;color:#e8edf5!important}
html[data-theme="dark"] :is(textarea,input)::placeholder{color:#8b95a5!important;opacity:1!important}
html[data-theme="dark"] .toolsView :is(button:not(.btn):not(#extractBtn)){background:#1e2733!important;border:1px solid rgba(255,255,255,.12)!important;color:#c3cad5!important}
/* 主按钮：白字 on #5B7CFF 只有 3.64 → #3d5ce6 (5.4) */
html[data-theme="dark"] :is(.btn:not(.secondary):not(.text):not(.modalClose),#extractBtn,.productBuy,#modalBuyLink,#emailSheetSave,.dailyPlan .planActions #planEdit,.dailyPlan .planActions #overviewContinue){background:#3d5ce6!important;border-color:#3d5ce6!important;color:#fff!important}
html[data-theme="dark"] :is(.btn:not(.secondary):not(.text),#extractBtn) *{color:#fff!important}
html[data-theme="dark"] :is(.btn,button):disabled{background:#273041!important;border-color:rgba(255,255,255,.10)!important;color:#8b95a5!important;opacity:1!important}
html[data-theme="dark"] :is(.btn,button):disabled *{color:#8b95a5!important}
/* 现在发送一次（text 按钮）*/
html[data-theme="dark"] .dailyPlan .planActions>:not(:first-child),html[data-theme="dark"] .btn.text:not(.modalClose){color:#8aa2ff!important;background:transparent!important}
html[data-theme="dark"] .dailyPlan .planActions>:not(:first-child):disabled{color:#8b95a5!important;background:transparent!important}
html[data-theme="dark"] .dailyPlan .planActions{border-top-color:rgba(255,255,255,.10)!important}
/* 文字：深字 → 亮字；弱化文字统一 #9aa4b2 / #a3adbb */
html[data-theme="dark"] :is(h1,h2,h3,h4,#dayStatusTitle,.toggleText,#redeemCardForm>label,#modalPackageTitle,#contactWechatDisplay,.modalHint strong,#currentEntitlement strong,.runCounts strong){color:#e8edf5!important}
html[data-theme="dark"] :is(small,label,.dayStatusDescription,.dayStatusMeta,#accountSummaryMeta,.whenClosed,.whenOpen,.proxySubtleLabel,.productTerm,.productProposal,.pill,.num,#modalPackageTerm,.modalDesc,.modalHint,.storeView p,.toolsView p,.toolsView small,.toolsView span:not(#extractBtnText),.productFeatures div,.productCard div:not(.productPrice):not(.productTag),.setupSteps .step,.step){color:#a3adbb!important}
html[data-theme="dark"] .step.active,html[data-theme="dark"] .step.active .num{color:#8aa2ff!important}
html[data-theme="dark"] :is(.productPrice,.productPrice small,.modalPackagePrice,.modalCurrency){color:#8aa2ff!important}
html[data-theme="dark"] .timeline-active-badge{color:#5fe0b0!important;background:rgba(52,211,153,.12)!important;border-color:rgba(52,211,153,.28)!important}
html[data-theme="dark"] #contactModalBackdrop .modalBody div{color:#a3adbb!important}
html[data-theme="dark"] :is(footer,footer *,a[href*="beian"],a[href*="beian"]~span,[class*=icp],[class*=Icp],[class*=beian]){color:#8b95a5!important}
html[data-theme="dark"] body #dayStatus[data-tone] .dayStatusAction{background:#1e2733!important;border:1px solid rgba(255,255,255,.14)!important;color:#8aa2ff!important}
html[data-theme="dark"] body #dayStatus[data-tone] .dayStatusIcon{background:#1e2733!important;color:#c3cad5!important;border:1px solid rgba(255,255,255,.10)!important}
html[data-theme="dark"] body #dayStatus[data-tone=warning] .dayStatusIcon{background:rgba(251,191,36,.12)!important;border-color:rgba(251,191,36,.25)!important}
html[data-theme="dark"] body #dayStatus[data-tone=warning] .dayStatusIcon svg{stroke:#fbbf24!important}
html[data-theme="dark"] body #dayStatus[data-tone=success] .dayStatusIcon{background:rgba(52,211,153,.14)!important}
html[data-theme="dark"] body #dayStatus[data-tone=success] .dayStatusIcon svg{stroke:#5fe0b0!important}
html[data-theme="dark"] body :is(textarea,#extractorInput,input:not([type=checkbox]):not([type=radio]):not([type=range])){background:#0f1419!important;border:1px solid rgba(255,255,255,.14)!important;color:#e8edf5!important}
html[data-theme="dark"] body :is(textarea,input)::placeholder{color:#8b95a5!important;opacity:1!important}
html[data-theme="dark"] .siteRegistration{opacity:1!important}
html[data-theme="dark"] .siteRegistration :is(a,span){color:#8b95a5!important;opacity:1!important}
html[data-theme="dark"] #contactModalBackdrop :is(p,div){color:#a3adbb!important}
html[data-theme="dark"] #planReviewDetails :is(summary,summary *,span){color:#a3adbb!important}
/* 底部按钮被底栏挡：加大底部留白 */
html[data-theme="dark"] body.authenticated .shell{padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))!important}

@media (prefers-color-scheme:dark){

/* surfaces: 白底控件 → 深色分层 */
html:not([data-theme]) :is(.modalCard){background:#161d27!important;border:1px solid rgba(255,255,255,.10)!important;color:#e8edf5!important}
html:not([data-theme]) :is(.modalPackageInfo,.modalHint,#currentEntitlement,.runCounts,#planReviewDetails,#contactModalBackdrop .modalBody>div,.historyScope){background:#1e2733!important;border-color:rgba(255,255,255,.10)!important;color:#e8edf5!important}
html:not([data-theme]) :is(#dayStatusAction,.btn.secondary){background:#1e2733!important;border:1px solid rgba(255,255,255,.14)!important;color:#8aa2ff!important}
html:not([data-theme]) :is(.friendRosterChip,#planFriendsValue){background:#1e2733!important;border:1px solid rgba(255,255,255,.10)!important;color:#e8edf5!important}
html:not([data-theme]) :is(#tabModeQr,#tabModeSms,#tabModePassword){background:#1e2733!important;border-color:rgba(255,255,255,.10)!important;color:#a3adbb!important}
html:not([data-theme]) :is(#tabModeQr,#tabModeSms,#tabModePassword):is(.active,[aria-selected="true"]){background:#2a3546!important;color:#8aa2ff!important}
html:not([data-theme]) :is(#accountConnectionBadge){background:rgba(52,211,153,.14)!important;color:#5fe0b0!important;border-color:rgba(52,211,153,.28)!important}
html:not([data-theme]) :is(#licenseStateBadge,.productTag){background:#1e2733!important;color:#c3cad5!important;border-color:rgba(255,255,255,.12)!important}
html:not([data-theme]) :is(.runCount){background:#252f3d!important;color:#e8edf5!important}
html:not([data-theme]) .runCountSent{color:#5fe0b0!important} html:not([data-theme]) .runCountUnknown{color:#fbbf24!important} html:not([data-theme]) .runCountNotSent{color:#f87171!important}
html:not([data-theme]) #overviewRunReason{background:rgba(251,191,36,.10)!important;color:#fcd34d!important;border-color:rgba(251,191,36,.25)!important}
html:not([data-theme]) :is(.accountSummaryIcon,.toolsHeadingIcon,.dayStatusIcon){background:#1e2733!important;color:#c3cad5!important}
html:not([data-theme]) .dayStatus[data-tone="warning"] .dayStatusIcon{background:rgba(251,191,36,.14)!important;color:#fbbf24!important}
html:not([data-theme]) .dayStatus[data-tone="success"] .dayStatusIcon{background:rgba(52,211,153,.14)!important;color:#5fe0b0!important}
html:not([data-theme]) .switchTrack{background:#3a4556!important}
html:not([data-theme]) :is(textarea,input:not([type=checkbox]):not([type=radio]):not([type=range]),select){background:#0f1419!important;border:1px solid rgba(255,255,255,.14)!important;color:#e8edf5!important}
html:not([data-theme]) :is(textarea,input)::placeholder{color:#8b95a5!important;opacity:1!important}
html:not([data-theme]) .toolsView :is(button:not(.btn):not(#extractBtn)){background:#1e2733!important;border:1px solid rgba(255,255,255,.12)!important;color:#c3cad5!important}
/* 主按钮：白字 on #5B7CFF 只有 3.64 → #3d5ce6 (5.4) */
html:not([data-theme]) :is(.btn:not(.secondary):not(.text):not(.modalClose),#extractBtn,.productBuy,#modalBuyLink,#emailSheetSave,.dailyPlan .planActions #planEdit,.dailyPlan .planActions #overviewContinue){background:#3d5ce6!important;border-color:#3d5ce6!important;color:#fff!important}
html:not([data-theme]) :is(.btn:not(.secondary):not(.text),#extractBtn) *{color:#fff!important}
html:not([data-theme]) :is(.btn,button):disabled{background:#273041!important;border-color:rgba(255,255,255,.10)!important;color:#8b95a5!important;opacity:1!important}
html:not([data-theme]) :is(.btn,button):disabled *{color:#8b95a5!important}
/* 现在发送一次（text 按钮）*/
html:not([data-theme]) .dailyPlan .planActions>:not(:first-child),html:not([data-theme]) .btn.text:not(.modalClose){color:#8aa2ff!important;background:transparent!important}
html:not([data-theme]) .dailyPlan .planActions>:not(:first-child):disabled{color:#8b95a5!important;background:transparent!important}
html:not([data-theme]) .dailyPlan .planActions{border-top-color:rgba(255,255,255,.10)!important}
/* 文字：深字 → 亮字；弱化文字统一 #9aa4b2 / #a3adbb */
html:not([data-theme]) :is(h1,h2,h3,h4,#dayStatusTitle,.toggleText,#redeemCardForm>label,#modalPackageTitle,#contactWechatDisplay,.modalHint strong,#currentEntitlement strong,.runCounts strong){color:#e8edf5!important}
html:not([data-theme]) :is(small,label,.dayStatusDescription,.dayStatusMeta,#accountSummaryMeta,.whenClosed,.whenOpen,.proxySubtleLabel,.productTerm,.productProposal,.pill,.num,#modalPackageTerm,.modalDesc,.modalHint,.storeView p,.toolsView p,.toolsView small,.toolsView span:not(#extractBtnText),.productFeatures div,.productCard div:not(.productPrice):not(.productTag),.setupSteps .step,.step){color:#a3adbb!important}
html:not([data-theme]) .step.active,html:not([data-theme]) .step.active .num{color:#8aa2ff!important}
html:not([data-theme]) :is(.productPrice,.productPrice small,.modalPackagePrice,.modalCurrency){color:#8aa2ff!important}
html:not([data-theme]) .timeline-active-badge{color:#5fe0b0!important;background:rgba(52,211,153,.12)!important;border-color:rgba(52,211,153,.28)!important}
html:not([data-theme]) #contactModalBackdrop .modalBody div{color:#a3adbb!important}
html:not([data-theme]) :is(footer,footer *,a[href*="beian"],a[href*="beian"]~span,[class*=icp],[class*=Icp],[class*=beian]){color:#8b95a5!important}
html:not([data-theme]) body #dayStatus[data-tone] .dayStatusAction{background:#1e2733!important;border:1px solid rgba(255,255,255,.14)!important;color:#8aa2ff!important}
html:not([data-theme]) body #dayStatus[data-tone] .dayStatusIcon{background:#1e2733!important;color:#c3cad5!important;border:1px solid rgba(255,255,255,.10)!important}
html:not([data-theme]) body #dayStatus[data-tone=warning] .dayStatusIcon{background:rgba(251,191,36,.12)!important;border-color:rgba(251,191,36,.25)!important}
html:not([data-theme]) body #dayStatus[data-tone=warning] .dayStatusIcon svg{stroke:#fbbf24!important}
html:not([data-theme]) body #dayStatus[data-tone=success] .dayStatusIcon{background:rgba(52,211,153,.14)!important}
html:not([data-theme]) body #dayStatus[data-tone=success] .dayStatusIcon svg{stroke:#5fe0b0!important}
html:not([data-theme]) body :is(textarea,#extractorInput,input:not([type=checkbox]):not([type=radio]):not([type=range])){background:#0f1419!important;border:1px solid rgba(255,255,255,.14)!important;color:#e8edf5!important}
html:not([data-theme]) body :is(textarea,input)::placeholder{color:#8b95a5!important;opacity:1!important}
html:not([data-theme]) .siteRegistration{opacity:1!important}
html:not([data-theme]) .siteRegistration :is(a,span){color:#8b95a5!important;opacity:1!important}
html:not([data-theme]) #contactModalBackdrop :is(p,div){color:#a3adbb!important}
html:not([data-theme]) #planReviewDetails :is(summary,summary *,span){color:#a3adbb!important}
/* 底部按钮被底栏挡：加大底部留白 */
html:not([data-theme]) body.authenticated .shell{padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))!important}
}

/* email_dialog 20261031 */
/* email_dialog preview 20261031 v2: no scrollbar-gutter strip while open, blur 3px — mobile only: 接收邮箱 sheet -> centered dialog */
@media (max-width:640px){
  html body #emailSheetMask:not(.hidden){background:rgba(15,23,42,.18)!important;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
  html[data-theme="dark"] body #emailSheetMask:not(.hidden){background:rgba(0,0,0,.35)!important}
  html body #emailSheet{left:50%;right:auto;bottom:auto;top:50%;transform:translate(-50%,-50%);
    width:calc(100vw - 40px);box-sizing:border-box;border-radius:18px;
    max-height:calc(100vh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    max-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    overflow-y:auto;overscroll-behavior:contain;padding:22px 18px 18px;
    box-shadow:0 20px 50px rgba(15,23,42,.18)}
  html[data-theme="dark"] body #emailSheet{box-shadow:0 20px 50px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.08)}
  html body #emailSheet .grab{display:none}
}
@media (max-width:640px){
  html:has(#emailSheetMask:not(.hidden)){scrollbar-gutter:auto}
}
