:root { color-scheme:light dark; --page:light-dark(#f6f8f8,#131b20); --paper:light-dark(#fff,#202a31); --ink:light-dark(#243538,#edf3f4); --muted:light-dark(#596e74,#b7c5ca); --line:light-dark(#e0e8e9,#3a4c54); --green:light-dark(#226b5f,#a4d7ca); }
body { margin:0; background:var(--page); color:var(--ink); font:14px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; }
html { scrollbar-gutter:stable; }
body.drawer-open { overflow:hidden; }
[hidden] { display:none!important; }
.sr-only { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.login-screen { min-height:100vh;display:grid;place-items:center;padding:30px;box-sizing:border-box; }
.login-box { box-sizing:border-box;width:380px;max-width:100%;padding:34px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 50px light-dark(#263a3e08,#00000020); }
.login-logo { display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--green);color:var(--paper);margin-bottom:22px; }
.login-logo svg { width:21px;height:21px; }
.login-box h1 { font-size:24px;margin:0;font-weight:600;letter-spacing:-.5px; }
.login-box>p { font-size:13px;color:var(--muted);margin:9px 0 26px; }
.login-box label { display:flex;flex-direction:column;gap:8px;margin-top:18px;font-size:13px;color:var(--muted); }
.login-box input { box-sizing:border-box;width:100%;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);padding:11px 12px;font:inherit; }
.login-box>button { display:block;width:100%;border:0;border-radius:7px;background:var(--green);color:light-dark(#fff,#18392f);padding:12px;font:inherit;margin-top:24px;cursor:pointer; }
.login-box button:disabled { opacity:.65; }
.login-box .login-error { margin:12px 0 0;color:light-dark(#a04438,#efb1a5);min-height:18px; }
#account-hub { --ah-bg:var(--page);--ah-paper:var(--paper);--ah-ink:var(--ink);--ah-muted:var(--muted);--ah-line:var(--line);--ah-green:var(--green); }
#account-hub .ah-app { border:0;border-radius:0;min-height:100vh;overflow:visible; }
#account-hub .ah-header { padding:0 24px;height:62px;justify-content:flex-start;gap:42px;border-bottom:1px solid var(--ah-line); }
#account-hub .ah-brand { flex-shrink:0; }
#account-hub .ah-logo { width:30px;height:30px;border-radius:8px; }
#account-hub .ah-logo svg { width:17px;height:17px; }
#account-hub .ah-brand strong { font-size:17px; }
#account-hub .ah-nav { padding:0;gap:26px;border:0;align-self:stretch; }
#account-hub .ah-nav button { padding:0 2px;font-size:14px; }
#account-hub .ah-count { font-size:12px; }
#account-hub .ah-user { display:flex;gap:16px;align-items:center;margin-left:auto;font-size:12px;color:var(--ah-muted); }
#account-hub .ah-export { color:var(--ah-muted);text-decoration:none; }
#account-hub .ah-export:hover { color:var(--ah-green);text-decoration:underline; }
#account-hub .ah-content { padding:20px 24px; }
#account-hub .ah-toolbar { flex-wrap:wrap;justify-content:space-between;gap:14px;margin-bottom:16px; }
#account-hub .ah-heading { margin:0;flex-shrink:0; }
#account-hub h1 { font-size:21px; }
#account-hub .ah-toolbar-actions { display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
#account-hub .ah-search { width:230px; }
#account-hub .ah-search input { font-size:13px;padding-top:9px;padding-bottom:9px; }
#account-hub .ah-search svg { top:11px; }
#account-hub .ah-filter-field { display:flex;align-items:center;gap:8px;border:1px solid var(--ah-line);border-radius:7px;background:var(--ah-paper);padding:0 9px;height:38px;box-sizing:border-box; }
#account-hub .ah-filter-field>span { font-size:12px;color:var(--ah-muted); }
#account-hub .ah-filter-field select { width:auto;min-width:70px;max-width:122px;border:0;outline-offset:2px;padding:5px 0;background:transparent;font-size:13px; }
#account-hub .ah-button { font-size:13px;padding:9px 12px; }
#account-hub .ah-table-panel { border-radius:9px; }
#account-hub table { min-width:1230px;table-layout:fixed;font-size:14px; }
#account-hub th { font-size:12px;font-weight:500;color:var(--ah-muted);padding:10px 12px; }
#account-hub thead .ah-group-head th { background:light-dark(#f1f5f4,#27353b);font-size:12px;color:var(--ah-ink);padding:8px 12px;border-bottom:1px solid var(--ah-line); }
#account-hub thead .ah-column-head th { background:light-dark(#fafcfc,#222f36);font-weight:400; }
#account-hub td { padding:12px;vertical-align:middle;font-size:14px;line-height:1.45; }
#account-hub .ah-group-start { border-left:1px solid var(--ah-line); }
#account-hub .ah-record { transition:background-color 110ms ease; }
#account-hub .ah-record:hover>td { background:light-dark(#f5faf8,#293c35); }
#account-hub .ah-record.is-editing>td { background:var(--ah-soft); }
#account-hub .ah-name.ah-link { color:var(--ah-ink);font-size:14px;font-weight:500; }
#account-hub .ah-name.ah-link:hover { color:var(--ah-green);text-decoration:underline; }
#account-hub .ah-value-link { color:var(--ah-ink); }
#account-hub .ah-value-link:hover { color:var(--ah-green);text-decoration:underline; }
#account-hub .ah-meta { font-size:12px;margin-top:5px;line-height:1.45; }
#account-hub .ah-account-main { display:flex;gap:9px;align-items:flex-start; }
#account-hub .ah-platform-mark { width:24px;height:24px;display:grid;place-items:center;flex-shrink:0;border-radius:6px;background:var(--ah-soft);color:var(--ah-green);font-size:12px; }
#account-hub .ah-platform-mark.ah-wecom { color:var(--ah-blue);background:light-dark(#edf3fb,#283d55); }
#account-hub .ah-account-text { min-width:0;flex:1; }
#account-hub .ah-secondary-line { display:flex;align-items:center;gap:4px;flex-wrap:wrap; }
#account-hub .ah-tag,#account-hub .ah-kind { font-size:11px;padding:2px 5px; }
#account-hub .ah-kind.ah-private { background:var(--ah-bg);color:var(--ah-muted); }
#account-hub .ah-password { font-size:13px;line-height:1.5; }
#account-hub .ah-copy-line { display:flex;align-items:center;gap:5px;min-width:0; }
#account-hub .ah-copy-line>span,#account-hub .ah-copy-line>.ah-value-link { min-width:0;overflow-wrap:anywhere; }
#account-hub .ah-copy { display:inline-grid;place-items:center;border:0;border-radius:4px;background:none;color:var(--ah-muted);width:24px;height:26px;flex-shrink:0;padding:0; }
#account-hub .ah-copy svg { width:13px;height:13px; }
#account-hub .ah-copy:hover { background:var(--ah-soft);color:var(--ah-green); }
#account-hub .ah-copy:disabled { opacity:.3;cursor:default; }
#account-hub .ah-table-footer { padding:12px 15px;font-size:12px; }
#account-hub .ah-pagination { gap:10px; }
#account-hub .ah-pagination label { display:flex;align-items:center;gap:7px;font-size:12px; }
#account-hub .ah-pagination select { border:1px solid var(--ah-line);border-radius:5px;background:var(--ah-paper);padding:6px;font-size:12px; }
#account-hub .ah-pagination button { width:31px;height:31px; }
#account-hub .ah-footnote { font-size:12px;gap:10px; }
#account-hub .ah-associated { font-size:13px; }
#account-hub .ah-drawer { position:fixed;inset:0 0 0 auto;margin:0;width:520px;max-width:calc(100vw - 30px);height:100dvh;max-height:100dvh;padding:0;border:0;border-left:1px solid var(--ah-line);background:var(--ah-paper);color:var(--ah-ink);box-shadow:-18px 0 60px light-dark(#172d3822,#00000065);box-sizing:border-box; }
#account-hub .ah-drawer::backdrop { background:light-dark(#233b4833,#00000066); }
#account-hub .ah-drawer[open] { display:flex;flex-direction:column; }
#account-hub .ah-drawer-head { display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:22px 24px 18px;border-bottom:1px solid var(--ah-line);flex-shrink:0; }
#account-hub .ah-drawer-head h2 { font-size:19px;font-weight:500; }
#account-hub .ah-drawer-head p { color:var(--ah-muted);font-size:12px;margin-top:4px; }
#account-hub .ah-close { background:none;border:0;padding:4px;color:var(--ah-muted);display:grid;place-items:center; }
#account-hub .ah-close svg { width:18px;height:18px; }
#account-hub .ah-drawer-body { flex:1;min-height:0;overflow:auto;padding:0 24px 24px; }
#account-hub .ah-form-section { padding-top:23px; }
#account-hub .ah-form-section+.ah-form-section { margin-top:23px;border-top:1px solid var(--ah-line); }
#account-hub .ah-form-section h3 { font-size:13px;font-weight:500;color:var(--ah-ink);margin-bottom:13px; }
#account-hub .ah-form-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
#account-hub .ah-form-grid label { font-size:12px; }
#account-hub .ah-form-grid input,#account-hub .ah-form-grid select { padding:10px;font-size:14px; }
#account-hub .ah-form-grid .ah-wide { grid-column:1/-1; }
#account-hub .ah-form-hint { font-size:12px;color:var(--ah-muted);margin-top:9px; }
#account-hub .ah-drawer-footer { display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--ah-line);background:var(--ah-paper);flex-shrink:0; }
#account-hub .ah-drawer-footer .ah-button { min-width:76px; }
#account-hub .ah-error { font-size:13px; }
#account-hub .ah-toast { position:fixed;z-index:10000;left:50%;bottom:24px;transform:translateX(-50%);padding:12px 18px;border:1px solid var(--ah-line);border-radius:8px;background:var(--ah-paper);color:var(--ah-ink);box-shadow:0 5px 30px light-dark(#172d3825,#00000065);font-size:13px;max-width:calc(100vw - 80px); }
.copy-buffer { position:fixed;left:-9999px;top:0; }
body.password-open { overflow:hidden; }
#account-hub .ah-password-dialog { width:420px;max-width:calc(100vw - 48px);max-height:calc(100dvh - 48px);padding:26px;border:1px solid var(--ah-line);border-radius:12px;background:var(--ah-paper);color:var(--ah-ink);box-shadow:0 20px 70px light-dark(#172d3828,#00000065); }
#account-hub .ah-password-dialog::backdrop { background:light-dark(#233b4840,#00000066); }
#account-hub .ah-password-heading { display:flex;align-items:center;justify-content:space-between;gap:16px; }
#account-hub .ah-password-heading h2 { font-size:19px;font-weight:500; }
#account-hub #ah-password-hint { color:var(--ah-muted);font-size:12px;margin:8px 0 22px; }
#account-hub .ah-password-dialog label { display:flex;flex-direction:column;gap:8px;margin-top:16px;font-size:13px; }
#account-hub .ah-password-dialog input { width:100%;padding:10px 12px;border:1px solid var(--ah-line);border-radius:7px;background:var(--ah-paper);font-size:14px; }
#account-hub #ah-password-error { min-height:20px;margin-top:12px; }
#account-hub .ah-password-footer { display:flex;justify-content:flex-end;gap:10px;margin-top:16px; }
#account-hub .ah-password-dialog button:disabled { opacity:.6;cursor:default; }
@media(prefers-reduced-motion:reduce) { #account-hub .ah-record { transition:none; } }
