html.mb-auth-pending { overflow: hidden; }
html.mb-auth-pending body > :not(#mbAuthGate) { visibility: hidden !important; }
#mbAuthGate, #mbAuthGate * { box-sizing: border-box; }
#mbAuthGate { position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: center; justify-content: center; overflow-y: auto; padding: 30px 20px; background: radial-gradient(ellipse at 20% 15%, #e9efff 0, transparent 45%), radial-gradient(ellipse at 90% 90%, #eee8ff 0, transparent 40%), #f5f7fc; color: #172238; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Microsoft YaHei', sans-serif; font-size: 14px; line-height: 1.55; }
#mbAuthGate [hidden] { display: none !important; }
#mbAuthGate .mb-auth-card { width: 100%; max-width: 660px; margin: auto; padding: 40px 44px; border: 1px solid #e0e5f0; border-radius: 22px; background: #fff; box-shadow: 0 24px 75px #24366312; }
#mbAuthGate .mb-auth-brand { display: flex; gap: 12px; align-items: center; margin-bottom: 30px; font-size: 22px; font-weight: 750; letter-spacing: -.5px; }
#mbAuthGate .mb-auth-brand img { width: 42px; height: 42px; border-radius: 11px; object-fit: contain; }
#mbAuthGate .mb-auth-brand small { display: block; margin-top: 1px; color: #8893a6; font-size: 11px; font-weight: 500; letter-spacing: 1px; }
#mbAuthGate .mb-auth-heading { display: flex; align-items: flex-end; gap: 18px; margin-bottom: 26px; }
#mbAuthGate h1 { flex: 0 0 auto; margin: 0; color: #172238; font-size: 24px; font-weight: 700; line-height: 1.4; }
#mbAuthGate .mb-auth-description { min-width: 0; margin: 0 0 3px; color: #6d798e; font-size: 13px; line-height: 1.55; }
#mbAuthGate form { display: grid; gap: 16px; width: 100%; max-width: 510px; margin: 0 auto; }
#mbAuthGate label { display: grid; grid-template-columns: 82px minmax(0,1fr); align-items: center; column-gap: 14px; color: #445169; font-size: 13px; font-weight: 550; }
#mbAuthGate label > span:first-child { text-align: right; white-space: nowrap; }
#mbAuthGate label > input, #mbAuthGate label > select, #mbAuthGate label > .mb-select { grid-column: 2; width: 100%; }
#mbAuthGate input, #mbAuthGate select { width: 100%; height: 44px; min-width: 0; padding: 9px 12px; border: 1px solid #dce2ed; border-radius: 9px; background: #fff; color: #172238; font-family: inherit; font-size: 14px; box-shadow: none; outline: none; }
#mbAuthGate input::placeholder { color: #a4adbc; }
#mbAuthGate input:focus, #mbAuthGate select:focus { border-color: #607be8; box-shadow: 0 0 0 3px #607be818; }
#mbAuthGate .mb-auth-error { min-height: 0; margin: -2px 0 -2px 96px; color: #c94646; font-size: 12px; line-height: 1.6; }
#mbAuthGate .mb-auth-error:empty { display: none; }
#mbAuthGate .mb-auth-submit { width: calc(100% - 96px); min-height: 44px; margin-left: 96px; padding: 10px 14px; border: 0; border-radius: 9px; background: #536fdd; color: #fff; font-family: inherit; font-size: 14px; font-weight: 650; cursor: pointer; }
#mbAuthGate .mb-auth-submit:hover { background: #445fcd; }
#mbAuthGate .mb-auth-submit:disabled { background: #8e9fde; cursor: wait; }
#mbAuthGate .mb-auth-link { display: block; margin-top: 18px; color: #536fdd; font-size: 12px; text-align: center; text-decoration: none; }
#mbAuthGate .mb-auth-footnote { margin: 25px 0 0; padding-top: 20px; border-top: 1px solid #eef1f6; color: #929bac; font-size: 11px; text-align: center; }
@media (max-width: 620px) { #mbAuthGate { padding: 16px; } #mbAuthGate .mb-auth-card { padding: 28px 24px; border-radius: 16px; } #mbAuthGate .mb-auth-heading { display: block; } #mbAuthGate .mb-auth-description { margin-top: 7px; } #mbAuthGate form { max-width: none; } #mbAuthGate label { grid-template-columns: 74px minmax(0,1fr); column-gap: 10px; } #mbAuthGate .mb-auth-error { margin-left: 84px; } #mbAuthGate .mb-auth-submit { width: calc(100% - 84px); margin-left: 84px; } }

/* Unified account-security page for every child workspace. */
#mbPasswordDialog,#mbPasswordDialog *{box-sizing:border-box}
#mbPasswordDialog{width:min(820px,calc(100vw - 32px));height:auto!important;min-height:0!important;max-width:none;max-height:min(760px,calc(100vh - 32px));margin:auto;padding:0;border:0;border-radius:20px;background:#fff;color:#1c3442;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;box-shadow:0 28px 90px rgba(11,37,51,.3);overflow:hidden}
#mbPasswordDialog .mb-password-shell{height:auto!important;min-height:0!important;overflow:hidden;border-radius:inherit}
#mbPasswordDialog::backdrop{background:rgba(18,39,51,.58);backdrop-filter:blur(5px)}
#mbPasswordDialog .mb-password-shell>header{display:flex;align-items:center;gap:13px;padding:23px 27px;border-bottom:1px solid #e7edef;background:#fff}
#mbPasswordDialog .mb-password-shell>header>.mb-password-title-icon{display:grid!important;place-items:center!important;flex:0 0 40px;width:40px;height:40px;margin:0!important;padding:0!important;border:1px solid #ccebe5;border-radius:12px;background:linear-gradient(145deg,#ecfaf7,#dcf4ef);color:#078d80;font-size:0;line-height:1;box-shadow:0 4px 12px rgba(8,141,128,.09)}
.mb-password-title-icon::before{content:"";width:22px;height:22px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23078d80' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 19 6v5c0 4.6-2.8 8.1-7 10-4.2-1.9-7-5.4-7-10V6l7-3Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E")}
#mbPasswordDialog h2{margin:0;color:#183342;font-size:21px;line-height:1.35}
#mbPasswordDialog header p{margin:4px 0 0;color:#81929c;font-size:12px}
#mbPasswordDialog .mb-password-close{display:grid;place-items:center;width:34px;height:34px;margin-left:auto;padding:0;border:0;border-radius:50%;background:#f1f5f6;color:#718791;font-size:22px;line-height:1;cursor:pointer}
#mbPasswordDialog .mb-password-close:hover{background:#e8f0f1;color:#315562}
.mb-password-panel{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:0}
.mb-password-panel>aside{position:static!important;display:block!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;padding:35px 28px;background:linear-gradient(160deg,#0c5961,#087f76);color:#fff;overflow:visible!important}
.mb-password-shield{display:grid;place-items:center;width:48px;height:48px;margin-bottom:22px;border:1px solid rgba(255,255,255,.28);border-radius:15px;background:rgba(255,255,255,.14);font-size:24px;font-weight:800}
.mb-password-panel>aside b{font-size:18px}.mb-password-panel>aside p{margin:11px 0 25px;color:#c5e2df;font-size:12px;line-height:1.8}
.mb-password-panel>aside ul{display:grid;gap:13px;margin:0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.16);list-style:none;color:#d2e9e6;font-size:11px;line-height:1.6}
.mb-password-panel>aside li:before{content:"✓";margin-right:8px;color:#78e1d2;font-weight:800}
.mb-password-panel>form{display:block;padding:29px 34px 0;background:#fff}
.mb-password-account{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:22px;padding:13px 15px;border:1px solid #e1eaec;border-radius:10px;background:#f7fafb}
.mb-password-account span{color:#80929c;font-size:11px}.mb-password-account b{color:#254553;font-size:14px}.mb-password-account small{color:#11877b;font-size:10px}
.mb-password-panel form>label{display:block;margin-top:16px;color:#385462;font-size:12px;font-weight:650}
.mb-password-panel form>label>span{display:block;margin-bottom:7px}
.mb-password-input{position:relative}.mb-password-input input{display:block;width:100%;height:44px;padding:0 62px 0 13px;border:1px solid #d5e1e5;border-radius:9px;background:#fff;color:#1e3947;font:inherit;font-size:13px;outline:0;transition:border-color .18s,box-shadow .18s}
.mb-password-input input::placeholder{color:#a1afb6}.mb-password-input input:focus{border-color:#35ad9f;box-shadow:0 0 0 3px rgba(20,163,148,.12)}
.mb-password-input button{position:absolute;right:4px;top:4px;width:52px;height:36px;padding:0;border:0;border-radius:7px;background:transparent;color:#17877c;font:inherit;font-size:11px;cursor:pointer}
.mb-password-input button:hover{background:#eef8f6}
.mb-password-strength{display:grid;grid-template-columns:repeat(4,1fr) auto;align-items:center;gap:5px;margin-top:9px}.mb-password-strength i{height:4px;border-radius:4px;background:#e4eaec;transition:background .18s}.mb-password-strength span{margin-left:5px;color:#91a0a7;font-size:10px;white-space:nowrap}
.mb-password-strength[data-level="1"] i:nth-child(1){background:#e26d68}.mb-password-strength[data-level="2"] i:nth-child(-n+2){background:#e9ad45}.mb-password-strength[data-level="3"] i:nth-child(-n+3){background:#5bbfae}.mb-password-strength[data-level="4"] i{background:#129486}
.mb-password-rule{margin:7px 0 0;color:#8999a1;font-size:10px;line-height:1.6}.mb-password-error{min-height:19px;margin:12px 0 0;color:#c54545;font-size:11px;line-height:1.7}
.mb-password-panel footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:0;margin:20px -34px 0;padding:16px 34px 40px;border-top:1px solid #e7edef;background:#f8fafb}
.mb-password-panel footer button,.mb-password-success button{min-width:104px;height:38px;padding:0 22px;border-radius:9px;font:inherit;font-size:13px;font-weight:650;cursor:pointer}
.mb-password-cancel{border:1px solid #d4e0e4;background:#fff;color:#47616d}.mb-password-submit,.mb-password-success button{border:1px solid #078b7f;background:linear-gradient(135deg,#078b7f,#12a193);color:#fff;box-shadow:0 7px 17px rgba(8,139,127,.18)}.mb-password-submit:disabled{opacity:.58;cursor:wait}
.mb-password-success{display:grid;place-items:center;min-height:430px;padding:55px;text-align:center}.mb-password-success>span{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#e2f6f1;color:#0a9485;font-size:34px;font-weight:800}.mb-password-success h2{margin:22px 0 8px!important}.mb-password-success p{margin:0 0 25px;color:#738893;font-size:13px}.mb-password-success button{min-width:130px}
.account-password-button,.ws-password-entry{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;width:96px!important;min-width:96px!important;height:38px!important;min-height:38px!important;margin-left:12px!important;padding:0 12px!important;border:1px solid #b9ddd7!important;border-radius:9px!important;background:#eff9f7!important;color:#087b70!important;font-size:12px!important;font-weight:700!important;white-space:nowrap!important;box-shadow:0 3px 9px rgba(8,125,113,.08)!important}.account-password-button::before,.ws-password-entry::before{content:"";flex:0 0 auto;width:15px;height:15px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23087b70' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='10' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E")}.account-password-button:hover,.ws-password-entry:hover{border-color:#86c9bf!important;background:#e1f5f1!important;color:#066b62!important;box-shadow:0 6px 14px rgba(8,125,113,.13)!important}
#dashboard main>header>.buyer-shared-account{display:flex!important;align-items:center!important;gap:9px!important;margin:0 0 0 8px!important;padding:0 0 0 13px!important;border-left:1px solid #dce4e7!important;color:#334e60!important;white-space:nowrap}
#dashboard main>header>.buyer-shared-account>span{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;min-width:34px!important;border-radius:50%!important;background:#e6f3f1!important;color:#087d72!important;font-size:12px!important;font-weight:700!important}
#dashboard main>header>.buyer-shared-account b{display:block;color:#334e60;font-size:12px;line-height:1.2}
#dashboard main>header>.buyer-shared-account small{display:block;margin-top:3px;color:#81909c;font-size:10px;line-height:1.2}
#dashboard main>header>.buyer-shared-account .account-password-button{margin-left:12px!important}
#dashboard main>header>.buyer-shared-account .logout-button,
.topbar .top-account .logout-button,
.topbar #adminLogout,
.ws-header-actions .ws-btn[data-action="logout"]{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;width:96px!important;min-width:96px!important;height:38px!important;min-height:38px!important;margin-left:0!important;padding:0 14px!important;border:1px solid #efc7c7!important;border-radius:9px!important;background:#fff1f1!important;color:#bd5151!important;font-size:12px!important;font-weight:700!important;white-space:nowrap!important;box-shadow:0 3px 9px rgba(190,81,81,.09)!important}
#dashboard main>header>.buyer-shared-account .logout-button:hover,
.topbar .top-account .logout-button:hover,
.topbar #adminLogout:hover,
.ws-header-actions .ws-btn[data-action="logout"]:hover{border-color:#e6aaaa!important;background:#ffe5e5!important;color:#a93f3f!important;box-shadow:0 6px 14px rgba(190,81,81,.14)!important}
@media(max-width:680px){#mbPasswordDialog{width:min(540px,calc(100vw - 20px));border-radius:15px}.mb-password-panel{grid-template-columns:1fr}.mb-password-panel>aside{display:none}.mb-password-panel>form{padding:24px 20px 0}.mb-password-panel footer{min-height:0;margin:18px -20px 0;padding:14px 20px 40px}.mb-password-panel footer button{flex:1;min-width:0}#mbPasswordDialog .mb-password-shell>header{padding:18px 20px}.mb-password-account{grid-template-columns:68px minmax(0,1fr)}}

/* Spacious enterprise sign-in page, visually aligned with the account-security dialog. */
#mbAuthGate{overflow:hidden;padding:32px;background:radial-gradient(circle at 12% 18%,rgba(50,181,165,.14),transparent 30%),radial-gradient(circle at 88% 84%,rgba(31,133,124,.1),transparent 30%),linear-gradient(145deg,#eef5f5 0%,#f7faf9 48%,#edf5f4 100%);color:#183342}
#mbAuthGate .mb-auth-card{position:relative;display:grid;grid-template-columns:330px minmax(0,1fr);grid-template-rows:auto 1fr auto;width:min(980px,calc(100vw - 64px));max-width:none;min-height:590px;margin:auto;padding:0;overflow:hidden;border:1px solid rgba(199,220,218,.82);border-radius:22px;background:#fff;box-shadow:0 30px 90px rgba(22,62,72,.2)}
#mbAuthGate .mb-auth-card::before{content:"";position:absolute;inset:0 auto 0 0;width:330px;background:radial-gradient(circle at 20% 18%,rgba(98,230,210,.2),transparent 27%),linear-gradient(155deg,#0b5961 0%,#087f76 100%)}
#mbAuthGate .mb-auth-card::after{content:"";position:absolute;z-index:1;left:42px;top:164px;width:64px;height:64px;border:1px solid rgba(255,255,255,.3);border-radius:18px;background:rgba(255,255,255,.13) center/34px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 19 6v5c0 4.6-2.8 8.1-7 10-4.2-1.9-7-5.4-7-10V6l7-3Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E")}
#mbAuthGate .mb-auth-brand{position:relative;z-index:2;grid-column:1;grid-row:1;margin:0;padding:38px 40px;color:#fff;font-size:24px;letter-spacing:-.3px}
#mbAuthGate .mb-auth-brand img{width:48px;height:48px;border-radius:13px;box-shadow:0 7px 20px rgba(0,30,40,.22)}
#mbAuthGate .mb-auth-brand small{color:rgba(231,251,248,.76);font-size:11px;letter-spacing:.8px}
#mbAuthGate .mb-auth-brand::after{content:"安全、统一的投放数据工作台\A\A账号权限与数据范围由系统统一管理";position:absolute;top:218px;left:40px;width:246px;padding-top:24px;border-top:1px solid rgba(255,255,255,.18);color:rgba(233,251,248,.82);font-size:12px;font-weight:500;line-height:1.85;white-space:pre-wrap;letter-spacing:0}
#mbAuthGate .mb-auth-heading{position:relative;z-index:2;grid-column:2;grid-row:1;display:block;margin:0;padding:66px 64px 24px;align-self:end}
#mbAuthGate h1{font-size:27px;font-weight:750;letter-spacing:-.4px}
#mbAuthGate .mb-auth-description{margin-top:9px;color:#7b9099;font-size:13px}
#mbAuthGate form{position:relative;z-index:2;grid-column:2;grid-row:2;display:grid;align-content:start;gap:18px;width:auto;max-width:none;margin:0;padding:4px 64px 28px}
#mbAuthGate label{grid-template-columns:88px minmax(0,1fr);column-gap:15px;color:#3d5865;font-size:13px;font-weight:650}
#mbAuthGate input,#mbAuthGate select{height:46px;padding:0 14px;border-color:#d5e2e4;border-radius:10px;background:#f9fbfb;color:#203d49;font-size:14px}
#mbAuthGate input:focus,#mbAuthGate select:focus{border-color:#32ad9f;background:#fff;box-shadow:0 0 0 3px rgba(20,163,148,.12)}
#mbAuthGate .mb-auth-submit{width:calc(100% - 103px);min-height:46px;margin:4px 0 0 103px;border:1px solid #078b7f;border-radius:10px;background:linear-gradient(135deg,#078b7f,#12a193);font-size:14px;box-shadow:0 8px 20px rgba(8,139,127,.2)}
#mbAuthGate .mb-auth-submit:hover{background:linear-gradient(135deg,#067b71,#0c9185);box-shadow:0 10px 24px rgba(8,139,127,.25)}
#mbAuthGate .mb-auth-submit:disabled{background:#78b9b2;box-shadow:none}
#mbAuthGate .mb-auth-error{margin-left:103px}
#mbAuthGate .mb-auth-remember{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;gap:14px;margin:-4px 0 -2px 103px;color:#526b76;font-size:12px}
#mbAuthGate .mb-auth-remember>label{display:inline-flex;grid-template-columns:none;align-items:center;gap:8px;color:#294b57;font-size:13px;font-weight:650;cursor:pointer}
#mbAuthGate .mb-auth-remember>label>input{grid-column:auto;width:16px;height:16px;min-width:16px;margin:0;padding:0;border:1px solid #b9cdcf;border-radius:4px;accent-color:#0b9789;cursor:pointer}
#mbAuthGate .mb-auth-remember>label>span:first-child{display:inline;text-align:left}
#mbAuthGate .mb-auth-remember>small{color:#8a9ca4;font-size:11px;white-space:nowrap}
#mbAuthGate .mb-auth-link{position:relative;z-index:2;grid-column:2;grid-row:3;margin:0 64px 34px;padding-top:18px;border-top:1px solid #e9eff0;color:#16877c;font-weight:650}
#mbAuthGate .mb-auth-footnote{position:relative;z-index:2;grid-column:1;grid-row:2/4;align-self:end;margin:0 40px 38px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);color:rgba(225,248,245,.72);text-align:left;line-height:1.7}
@media(max-width:760px){#mbAuthGate{overflow-y:auto;padding:18px}#mbAuthGate .mb-auth-card{display:block;width:min(560px,100%);min-height:0;border-radius:18px}#mbAuthGate .mb-auth-card::before{inset:0 0 auto;width:auto;height:112px}#mbAuthGate .mb-auth-card::after{display:none}#mbAuthGate .mb-auth-brand{padding:27px 28px}#mbAuthGate .mb-auth-brand::after{display:none}#mbAuthGate .mb-auth-heading{padding:32px 28px 22px}#mbAuthGate form{padding:0 28px 28px}#mbAuthGate .mb-auth-link{margin:0 28px 24px}#mbAuthGate .mb-auth-footnote{margin:0;padding:17px 28px;background:#f7faf9;color:#84969e;text-align:center}#mbAuthGate label{grid-template-columns:78px minmax(0,1fr)}#mbAuthGate .mb-auth-submit{width:calc(100% - 93px);margin-left:93px}#mbAuthGate .mb-auth-error,#mbAuthGate .mb-auth-remember{margin-left:93px}}
@media(max-width:480px){#mbAuthGate label{display:block}#mbAuthGate label>span:first-child{display:block;margin-bottom:7px;text-align:left}#mbAuthGate label>input,#mbAuthGate label>select,#mbAuthGate label>.mb-select{width:100%}#mbAuthGate .mb-auth-submit{width:100%;margin-left:0}#mbAuthGate .mb-auth-error,#mbAuthGate .mb-auth-remember{margin-left:0}#mbAuthGate .mb-auth-remember{align-items:flex-start;flex-direction:column;gap:4px}#mbAuthGate .mb-auth-remember>label{display:inline-flex}#mbAuthGate .mb-auth-remember>label>span:first-child{display:inline;margin:0}}

/* Global control rhythm: every standard form control and action is 38px tall. */
:root{--mb-control-height:38px}
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="range"]):not([type="color"]),
select,
textarea[rows="1"],
button,
.mb-select-trigger,
.checklist-select>summary,
.single-checklist-select>summary,
.pagination-checklist-select>summary,
.plain-buyer-select>summary,
.api-project-picker>summary{
  box-sizing:border-box!important;
  height:var(--mb-control-height)!important;
  min-height:var(--mb-control-height)!important;
  max-height:var(--mb-control-height)!important;
}
.mb-select,
.checklist-select,
.single-checklist-select,
.pagination-checklist-select,
.plain-buyer-select,
.api-project-picker{
  box-sizing:border-box!important;
  height:var(--mb-control-height)!important;
  min-height:var(--mb-control-height)!important;
  max-height:var(--mb-control-height)!important;
}
.search,.campaign-search{
  box-sizing:border-box!important;
  height:var(--mb-control-height)!important;
  min-height:var(--mb-control-height)!important;
}
.search input,.search textarea,.campaign-search input{
  height:100%!important;
  min-height:0!important;
}
.mb-password-input button{top:0!important}
