:root{--auth-blue:#1e40af;--auth-border:#dbeafe;--auth-muted:#475569}
body.auth-page{min-height:100vh;margin:0;background:#f8fafc;color:#172b4d;font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
.auth-shell{box-sizing:border-box;width:100%;min-height:100vh;display:grid;place-items:center;padding:24px}
.auth-card{box-sizing:border-box;width:min(100%,440px);background:#fff;border:1px solid var(--auth-border);border-radius:16px;box-shadow:0 16px 50px rgba(30,64,175,.08);padding:36px}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:30px;color:#1e3a8a;font-weight:750}
.auth-brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--auth-blue);color:#fff;font-size:22px}
.auth-brand small{display:block;color:var(--auth-muted);font-size:12px;font-weight:500}
.auth-card h1{margin:0 0 8px;font-size:28px;line-height:1.2}
.auth-note{margin:0 0 26px;color:var(--auth-muted);font-size:14px}
.auth-form{display:grid;gap:18px}
.auth-field{display:grid;gap:7px;font-weight:650;font-size:14px}
.auth-field input,.auth-field select{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:9px;padding:12px 14px;font:inherit;font-size:16px;background:#fff;color:#172b4d}
.auth-field input:focus,.auth-field select:focus{outline:3px solid #bfdbfe;border-color:var(--auth-blue)}
.auth-button{border:0;border-radius:9px;background:var(--auth-blue);color:#fff;font:inherit;font-weight:700;padding:12px 18px;min-height:46px;cursor:pointer}
.auth-button:hover{background:#1e3a8a}.auth-button:disabled{opacity:.55;cursor:wait}
.auth-secondary{border:1px solid #b7c7e3;border-radius:9px;background:#fff;color:#1e40af;font:inherit;font-weight:650;padding:9px 14px;min-height:44px;cursor:pointer}
.auth-secondary:hover{background:#eff6ff}
.auth-error{margin:0;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 12px;font-size:14px}
.auth-hint{color:var(--auth-muted);font-size:13px}.auth-hint a{color:var(--auth-blue)}
.auth-logout{border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit;padding:8px 12px;min-height:44px}
.auth-logout:hover{text-decoration:underline}
.admin-main{margin-left:210px;padding:32px;max-width:1440px}
.admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}
.admin-head h1{margin:0;font-size:28px}.admin-head p{margin:6px 0;color:var(--auth-muted)}
.admin-card{background:#fff;border:1px solid var(--auth-border);border-radius:14px;padding:24px;margin-bottom:20px}
.admin-card h2{font-size:18px;margin:0 0 16px}.admin-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}
.admin-form .auth-button{grid-column:3}
.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;white-space:nowrap}
.admin-table th,.admin-table td{text-align:left;padding:13px 10px;border-bottom:1px solid #e2e8f0;font-size:14px}
.admin-table th{color:var(--auth-muted);font-size:13px}.admin-table button{margin-right:6px}
.status-active{color:#166534}.status-disabled{color:#b91c1c}
.admin-message{margin:0 0 14px;color:#1e40af}
:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}
[hidden]{display:none!important}
.yt-no-accounts-manage #openAccountDialog,.yt-no-accounts-manage .dashboard-link-button,.yt-no-accounts-manage [data-manage-assignments],.yt-no-accounts-manage #saveXingtuBinding{display:none!important}
.yt-no-accounts-refresh #quickRefreshAll,.yt-no-accounts-refresh #fullRefreshAll,.yt-no-accounts-refresh #quickSyncAccount,.yt-no-accounts-refresh #fullSyncAccount,.yt-no-accounts-refresh #updateAllXingtu,.yt-no-accounts-refresh #updateXingtuAccount,.yt-no-accounts-refresh [data-update],.yt-no-accounts-refresh [data-update-xingtu],.yt-no-accounts-refresh #refreshCurrentCreator{display:none!important}
.yt-no-accounts-export a[href="/api/monitor/export"]{display:none!important}
.yt-no-peers-manage [data-bind-peer],.yt-no-peers-manage [data-update-peer],.yt-no-peers-manage #updateSelectedPeers,.yt-no-peers-manage #openPeerXingtuLogin,.yt-no-peers-manage #peerRecoveryOpen,.yt-no-peers-manage #peerRecoveryResume{display:none!important}
.yt-no-proposals-manage #newProposal,.yt-no-proposals-manage #saveProposal,.yt-no-proposals-manage #batchEdit,.yt-no-proposals-manage #clearSelected,.yt-no-proposals-manage #confirmAccountEdit,.yt-no-proposals-manage #confirmBatchEdit,.yt-no-proposals-manage [data-action="duplicate"],.yt-no-proposals-manage [data-action="convert"],.yt-no-proposals-manage [data-output-action]{display:none!important}
.yt-no-proposals-export #download,.yt-no-proposals-export [data-action="download"]{display:none!important}
.yt-no-campaigns-manage #newCampaign,.yt-no-campaigns-manage #saveDetail{display:none!important}
@media(max-width:1050px){.admin-main{margin-left:190px}}
@media(max-width:900px){.admin-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form .auth-button{grid-column:auto}}
@media(max-width:700px){.admin-main{margin-left:0;padding:72px 16px 24px}}
@media(max-width:600px){.auth-shell{padding:16px}.auth-card{padding:26px 22px}.admin-form{grid-template-columns:1fr}.admin-head{display:block}.admin-table th,.admin-table td{padding:10px 8px}}
