:root {
  --paper:#f3ede8;
  --surface:#fbf8f5;
  --surface-strong:#fffdfb;
  --ink:#2c2724;
  --muted:#80736d;
  --line:rgba(83,65,56,.14);
  --accent:#c76f69;
  --accent-dark:#a9504b;
  --accent-soft:#f3ddda;
  --green:#5e7e5a;
  --green-soft:#e8efe5;
  --shadow:0 22px 70px rgba(68,48,39,.09);
  --serif:"Noto Serif SC","Songti SC",Georgia,serif;
  color-scheme:light;
}
* { box-sizing:border-box; }
html,body { min-height:100%; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif; }
body.admin-dialog-open { overflow:hidden; }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
[hidden] { display:none!important; }
.admin-grain { position:fixed; z-index:100; inset:0; pointer-events:none; opacity:.2; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E"); }
.admin-gate { min-height:100vh; display:grid; place-content:center; justify-items:center; gap:10px; padding:30px; text-align:center; }
.admin-gate-mark { width:62px; height:62px; display:flex; align-items:center; justify-content:center; gap:5px; margin-bottom:12px; border-radius:20px; background:var(--ink); color:#fff; font:500 14px/1 Georgia,serif; box-shadow:var(--shadow); }
.admin-gate-mark i { width:4px; height:4px; border-radius:50%; background:var(--accent); }
.admin-gate strong { font:600 28px/1.3 var(--serif); }
.admin-gate p { margin:0; color:var(--muted); font-size:14px; }
.admin-gate.is-error .admin-gate-mark { background:var(--accent-dark); }
.admin-gate.is-error p { max-width:450px; color:#934a45; line-height:1.7; }

.admin-shell { min-height:100vh; display:grid; grid-template-columns:274px minmax(0,1fr); }
.admin-sidebar { position:sticky; z-index:20; top:0; height:100vh; display:flex; flex-direction:column; padding:32px 24px 24px; background:linear-gradient(165deg,#2c2724 0%,#382e2a 72%,#65443f 160%); color:#fffaf7; }
.admin-brand { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; }
.admin-brand-mark { width:48px; height:48px; display:flex; align-items:center; justify-content:center; gap:4px; border:1px solid rgba(255,255,255,.13); border-radius:15px; background:rgba(255,255,255,.08); }
.admin-brand-mark b { font:500 12px/1 Georgia,serif; }.admin-brand-mark i { width:3px; height:3px; border-radius:50%; background:#df8f87; }
.admin-brand>span:last-child { display:grid; gap:4px; }.admin-brand strong { font:600 18px/1 var(--serif); letter-spacing:.08em; }.admin-brand small { color:rgba(255,255,255,.44); font-size:9px; letter-spacing:.19em; }
.admin-nav { display:grid; gap:7px; margin-top:58px; }
.admin-nav a { position:relative; display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:11px; min-height:62px; padding:9px 11px; border:1px solid transparent; border-radius:16px; color:rgba(255,255,255,.57); text-decoration:none; transition:.2s ease; }
.admin-nav a::after { content:""; position:absolute; right:12px; width:5px; height:5px; border-radius:50%; background:#df8f87; opacity:0; transform:scale(.5); transition:.2s ease; }
.admin-nav a:hover { color:#fff; background:rgba(255,255,255,.055); }
.admin-nav a.active { border-color:rgba(255,255,255,.1); background:rgba(255,255,255,.1); color:#fff; }
.admin-nav a.active::after { opacity:1; transform:scale(1); }
.admin-nav svg { width:22px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.admin-nav a>span { display:grid; gap:4px; }.admin-nav strong { font-size:14px; font-weight:600; }.admin-nav small { color:rgba(255,255,255,.35); font-size:10px; }
.admin-side-foot { display:grid; grid-template-columns:40px minmax(0,1fr) 30px; align-items:center; gap:10px; margin-top:auto; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); }
.admin-user-avatar { position:relative; width:40px; height:40px; display:grid; place-items:center; overflow:hidden; border-radius:13px; background:#f4e3df; color:#9f504b; font:600 15px/1 var(--serif); }
.admin-side-foot>span:nth-child(2) { min-width:0; display:grid; gap:4px; }.admin-side-foot strong,.admin-side-foot small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.admin-side-foot strong { font-size:13px; }.admin-side-foot small { color:rgba(255,255,255,.4); font-size:10px; }
.admin-side-foot>a { width:30px; height:30px; display:grid; place-items:center; border-radius:10px; background:rgba(255,255,255,.08); color:#fff; text-decoration:none; }

.admin-main { min-width:0; padding:0 clamp(25px,4vw,62px) 65px; }
.admin-topbar { min-height:116px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); }
.admin-topbar>div:first-of-type { min-width:0; }
.admin-topbar p,.admin-panel-head p,.admin-hero p,.admin-test-form>p:first-child { margin:0 0 7px; color:var(--accent-dark); font-size:10px; font-weight:700; letter-spacing:.2em; }
.admin-topbar h1 { margin:0; font:600 30px/1.2 var(--serif); letter-spacing:-.035em; }
.admin-top-actions { display:flex; align-items:center; gap:11px; }
.admin-live { display:flex; align-items:center; gap:7px; padding:10px 13px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.46); color:var(--muted); font-size:12px; }
.admin-live i { width:7px; height:7px; border-radius:50%; background:#6f9369; box-shadow:0 0 0 4px rgba(111,147,105,.12); }
.admin-refresh,.admin-soft-button { min-height:38px; display:inline-flex; align-items:center; justify-content:center; padding:0 14px; border:1px solid var(--line); border-radius:11px; background:var(--surface); color:var(--ink); font-size:12px; font-weight:600; line-height:1.2; text-align:center; cursor:pointer; }
.admin-refresh:disabled,.admin-soft-button:disabled { opacity:.55; cursor:wait; }
.admin-menu-button { display:none; width:42px; height:42px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--ink); }
.admin-page { padding-top:34px; }

.admin-hero { position:relative; min-height:310px; overflow:hidden; display:flex; align-items:center; padding:46px clamp(34px,5vw,68px); border-radius:28px; background:linear-gradient(145deg,#342d29 0%,#493631 69%,#78534d 135%); color:#fff; box-shadow:var(--shadow); }
.admin-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 77% 27%,rgba(220,137,128,.22),transparent 29%); }
.admin-hero>div:first-child { position:relative; z-index:2; max-width:590px; }
.admin-hero h2 { margin:0; font:500 clamp(34px,4vw,54px)/1.28 var(--serif); letter-spacing:-.05em; }
.admin-hero>div>span { display:block; max-width:520px; margin-top:20px; color:rgba(255,255,255,.56); font-size:14px; line-height:1.85; }
.admin-hero-orbit { position:absolute; right:-87px; top:-154px; width:470px; height:470px; border:1px solid rgba(255,255,255,.08); border-radius:50%; }
.admin-hero-orbit::before,.admin-hero-orbit::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.07); border-radius:50%; }.admin-hero-orbit::before { inset:56px; }.admin-hero-orbit::after { inset:118px; }
.admin-hero-orbit i { position:absolute; left:52px; bottom:87px; width:10px; height:10px; border-radius:50%; background:#df8b84; box-shadow:0 0 20px rgba(223,139,132,.65); }.admin-hero-orbit span { position:absolute; left:207px; bottom:205px; color:rgba(255,255,255,.44); font:400 38px/1 Georgia; }
.admin-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:17px; }
.admin-stats article { display:grid; gap:8px; min-height:137px; padding:22px; border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.56); }
.admin-stats span { color:var(--muted); font-size:12px; }.admin-stats strong { font:600 34px/1 var(--serif); }.admin-stats small { color:#a2948d; font-size:10px; line-height:1.5; }
.admin-overview-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:17px; margin-top:17px; }
.admin-panel { border:1px solid var(--line); border-radius:22px; background:rgba(255,255,255,.58); box-shadow:0 10px 35px rgba(73,51,42,.035); }
.admin-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:23px 24px 19px; border-bottom:1px solid var(--line); }
.admin-panel-head h2 { margin:0; font:600 23px/1.2 var(--serif); letter-spacing:-.025em; }.admin-panel-head>div>span { display:block; margin-top:8px; color:var(--muted); font-size:12px; line-height:1.6; }
.admin-panel-head>a { flex:none; color:var(--accent-dark); font-size:12px; font-weight:600; text-decoration:none; }
.admin-activity-list,.admin-member-list { display:grid; padding:8px 24px 14px; }
.admin-activity { display:grid; grid-template-columns:10px minmax(0,1fr) auto; align-items:center; gap:13px; padding:14px 0; border-bottom:1px solid rgba(83,65,56,.09); }.admin-activity:last-child { border-bottom:0; }
.admin-activity>i { width:8px; height:8px; border-radius:50%; background:#7f9b78; box-shadow:0 0 0 4px rgba(127,155,120,.1); }.admin-activity.is-error>i { background:var(--accent); box-shadow:0 0 0 4px rgba(199,111,105,.1); }
.admin-activity>span { min-width:0; display:grid; gap:4px; }.admin-activity strong { overflow:hidden; color:#4c423d; font-size:12px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }.admin-activity small { color:var(--muted); font-size:10px; }.admin-activity>time { color:#9d9089; font-size:10px; white-space:nowrap; }
.admin-member { display:grid; grid-template-columns:45px minmax(0,1fr) auto; align-items:center; gap:12px; padding:15px 0; border-bottom:1px solid rgba(83,65,56,.09); }.admin-member:last-child { border-bottom:0; }
.admin-member-avatar,.admin-table-avatar { position:relative; display:grid; place-items:center; overflow:hidden; border-radius:14px; background:var(--accent-soft); color:var(--accent-dark); font:600 16px/1 var(--serif); }.admin-member-avatar { width:45px; height:45px; }
.admin-user-avatar img,.admin-member-avatar img,.admin-table-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.admin-avatar-fallback { font:inherit; }
.admin-member>span:nth-child(2) { min-width:0; display:grid; gap:4px; }.admin-member strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }.admin-member small { color:var(--muted); font-size:10px; }
.admin-role-pill,.admin-state-pill,.admin-count-pill { display:inline-flex; align-items:center; justify-content:center; min-height:25px; padding:0 9px; border-radius:99px; background:var(--accent-soft); color:var(--accent-dark); font-size:10px; font-weight:700; line-height:1; text-align:center; white-space:nowrap; }.admin-role-pill.is-member { background:#ece7e2; color:#6f625c; }
.admin-empty { margin:35px 0; color:var(--muted); font-size:12px; text-align:center; }

.admin-table-panel { overflow:hidden; }
.admin-count-pill { min-height:29px; }
.admin-table-scroll { overflow:auto; }
table { width:100%; border-collapse:collapse; min-width:820px; }
th { padding:13px 18px; background:rgba(248,243,239,.72); color:#978a83; font-size:10px; font-weight:600; letter-spacing:.06em; text-align:left; white-space:nowrap; }
td { padding:16px 18px; border-top:1px solid rgba(83,65,56,.08); color:#544a45; font-size:12px; vertical-align:middle; }
tbody tr:first-child td { border-top:0; }
.admin-table-person { display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:10px; min-width:160px; }.admin-table-avatar { width:38px; height:38px; border-radius:12px; font-size:14px; }.admin-table-person>span:last-child { min-width:0; display:grid; gap:3px; }.admin-table-person strong,.admin-table-person small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.admin-table-person strong { color:var(--ink); font-size:12px; }.admin-table-person small { color:var(--muted); font-size:10px; }
.admin-verified { display:grid; gap:4px; }.admin-verified strong { font-size:12px; }.admin-verified small { color:var(--muted); font-size:10px; }.admin-verified.is-missing strong { color:#9b514c; }
.admin-space-summary { display:grid; min-width:150px; gap:4px; }.admin-space-summary strong { overflow:hidden; color:var(--ink); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.admin-space-summary small { color:var(--muted); font-size:10px; }
.admin-user-actions { display:flex; align-items:center; gap:7px; min-width:174px; }.admin-user-action { min-height:34px; display:inline-flex; align-items:center; justify-content:center; padding:0 10px; border:1px solid var(--line); border-radius:9px; background:rgba(255,255,255,.7); color:#5c514b; font-size:10px; font-weight:600; line-height:1.2; text-align:center; cursor:pointer; white-space:nowrap; }.admin-user-action:hover { border-color:rgba(199,111,105,.35); background:#fff; }.admin-user-action.is-danger { color:#a34e49; }.admin-user-action:disabled { cursor:not-allowed; opacity:.42; }.admin-action-lock { color:var(--muted); font-size:9px; white-space:nowrap; }
.admin-empty-cell { height:150px; color:var(--muted); text-align:center; }
.admin-space-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:17px; }
.admin-space-stats article { display:grid; gap:7px; min-height:116px; padding:20px 22px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.52); }
.admin-space-stats span { color:var(--muted); font-size:12px; }.admin-space-stats strong { font:600 27px/1.1 var(--serif); }.admin-space-stats small { color:#9d9089; font-size:10px; }
.admin-space-table { min-width:980px; }
.admin-space-identity { display:grid; grid-template-columns:40px minmax(0,1fr); align-items:center; gap:10px; min-width:180px; }.admin-space-mark { width:40px; height:40px; display:grid; place-items:center; border-radius:13px; background:var(--accent-soft); color:var(--accent-dark); font:500 20px/1 Georgia,serif; }.admin-space-identity>span:last-child { min-width:0; display:grid; gap:4px; }.admin-space-identity strong,.admin-space-identity small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.admin-space-identity strong { color:var(--ink); font-size:12px; }.admin-space-identity small { color:var(--muted); font:500 9px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace; }
.admin-space-accounts { display:grid; min-width:190px; gap:4px; }.admin-space-accounts>span { overflow:hidden; color:#5b504a; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.admin-space-accounts>span::before { content:""; display:inline-block; width:5px; height:5px; margin-right:7px; border-radius:50%; background:#809c78; vertical-align:1px; }.admin-space-accounts>span.is-empty { color:var(--muted); }.admin-space-accounts>span.is-empty::before { background:#b9ada7; }
.admin-member-count { display:inline-flex; align-items:center; justify-content:center; min-height:26px; padding:0 9px; border-radius:99px; background:#ece7e2; color:#665a54; font-size:10px; font-weight:700; line-height:1; text-align:center; white-space:nowrap; }
.admin-storage-usage { display:grid; min-width:170px; gap:7px; }.admin-storage-usage>span:first-child { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }.admin-storage-usage strong { color:var(--ink); font-size:12px; }.admin-storage-usage small { color:var(--muted); font-size:9px; white-space:nowrap; }.admin-storage-track { height:6px; overflow:hidden; border-radius:99px; background:#e6dfda; }.admin-storage-track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#7f9b78,#98ad91); }.admin-storage-usage.is-warning small { color:#a14c47; font-weight:700; }.admin-storage-usage.is-warning .admin-storage-track i { background:linear-gradient(90deg,#c76f69,#a9504b); }
.admin-space-quota { color:var(--ink); font-weight:700; white-space:nowrap; }
.admin-access-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:17px; }
.admin-access-summary article { display:flex; align-items:flex-end; justify-content:space-between; gap:15px; padding:20px 22px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.52); }.admin-access-summary span { color:var(--muted); font-size:12px; }.admin-access-summary strong { font:600 27px/1 var(--serif); }
.admin-access-table { min-width:1080px; }.admin-access-table td:nth-child(3) { max-width:270px; }.admin-request { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:8px; }.admin-method { padding:4px 6px; border-radius:6px; background:#ebe5df; color:#665a54; font:700 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace; }.admin-request code { overflow:hidden; color:#504641; font:500 11px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace; text-overflow:ellipsis; white-space:nowrap; }
.admin-http-status { display:inline-flex; align-items:center; gap:6px; font-weight:700; }.admin-http-status::before { content:""; width:7px; height:7px; border-radius:50%; background:#73936d; }.admin-http-status.is-error { color:#a14c47; }.admin-http-status.is-error::before { background:var(--accent); }
.admin-ip-display { display:grid; gap:5px; min-width:112px; }.admin-ip-display strong { color:#504641; font:600 11px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:nowrap; }.admin-ip-display small { width:max-content; min-height:18px; display:inline-flex; align-items:center; justify-content:center; padding:3px 6px; border-radius:99px; background:#dfeadc; color:#567451; font-size:8px; font-weight:700; line-height:1; text-align:center; }.admin-ip-display.is-private small { background:#ece7e2; color:#71645e; }.admin-ip-display.is-unknown strong { color:var(--muted); }.admin-ip-display.is-unknown small { background:#eee9e5; color:#8b7e77; }
.admin-device { display:block; max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-pagination { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 20px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }.admin-pagination>div { display:flex; gap:8px; }.admin-pagination button { min-height:34px; display:inline-flex; align-items:center; justify-content:center; padding:0 12px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--ink); font-size:11px; line-height:1.2; text-align:center; cursor:pointer; }.admin-pagination button:disabled { opacity:.42; cursor:not-allowed; }

.admin-email-grid { display:grid; grid-template-columns:minmax(0,1.42fr) minmax(290px,.58fr); align-items:start; gap:18px; }
.admin-settings-form { overflow:hidden; }
.admin-switch { flex:none; display:flex; align-items:center; gap:8px; cursor:pointer; }.admin-switch input { position:absolute; opacity:0; pointer-events:none; }.admin-switch>span { position:relative; width:43px; height:24px; border-radius:99px; background:#d8d0ca; transition:.2s; }.admin-switch>span::after { content:""; position:absolute; left:3px; top:3px; width:18px; height:18px; border-radius:50%; background:white; box-shadow:0 2px 7px rgba(50,35,29,.18); transition:.2s; }.admin-switch input:checked+span { background:var(--accent); }.admin-switch input:checked+span::after { transform:translateX(19px); }.admin-switch em { color:var(--muted); font-size:11px; font-style:normal; }
.admin-credential-state { display:grid; grid-template-columns:43px minmax(0,1fr) auto; align-items:center; gap:12px; margin:22px 24px 4px; padding:14px; border:1px solid rgba(94,126,90,.15); border-radius:15px; background:var(--green-soft); }.admin-state-icon { width:43px; height:43px; display:grid; place-items:center; border-radius:13px; background:rgba(94,126,90,.13); color:var(--green); font:600 13px/1 var(--serif); }.admin-credential-state>div { min-width:0; display:grid; gap:4px; }.admin-credential-state strong { font-size:12px; }.admin-credential-state p { margin:0; color:#70806c; font-size:10px; line-height:1.5; }.admin-credential-state .admin-state-pill { background:#d8e7d5; color:#52734e; }
.admin-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:17px 15px; padding:20px 24px 24px; }
.admin-form-grid label,.admin-limit-grid label,.admin-test-form label { display:grid; gap:8px; }.admin-form-grid label>span,.admin-limit-grid label>span:first-child,.admin-test-form label>span { color:#635852; font-size:12px; font-weight:600; }.admin-form-grid input,.admin-limit-grid input,.admin-test-form input { width:100%; height:47px; padding:0 13px; border:1px solid var(--line); border-radius:12px; outline:0; background:rgba(255,255,255,.72); color:var(--ink); font-size:13px; }.admin-form-grid input:focus,.admin-limit-grid input:focus,.admin-test-form input:focus { border-color:rgba(199,111,105,.68); background:#fff; box-shadow:0 0 0 4px rgba(199,111,105,.09); }.admin-form-grid small { color:var(--muted); font-size:10px; line-height:1.5; }
.admin-credential-grid { padding-bottom:19px; }
.admin-email-parameter-grid { grid-template-columns:repeat(3,minmax(0,1fr)); padding-top:21px; }
.admin-settings-form fieldset { margin:0; padding:20px 24px 24px; border:0; border-top:1px solid var(--line); }.admin-settings-form legend { padding:0; color:var(--ink); font:600 17px/1.2 var(--serif); }
.admin-limit-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:17px; }.admin-number-input { position:relative; display:block; }.admin-number-input input { padding-right:36px; }.admin-number-input em { position:absolute; right:12px; top:16px; color:var(--muted); font-size:10px; font-style:normal; }
.admin-form-actions { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 24px; border-top:1px solid var(--line); background:rgba(248,243,239,.55); }.admin-form-actions p { margin:0; color:var(--muted); font-size:10px; }.admin-primary-button { min-height:43px; display:inline-flex; align-items:center; justify-content:center; padding:0 18px; border:0; border-radius:12px; background:var(--ink); color:#fff; font-size:12px; font-weight:600; line-height:1.2; text-align:center; cursor:pointer; box-shadow:0 8px 20px rgba(55,39,32,.13); }.admin-primary-button:disabled { opacity:.55; cursor:wait; }
.admin-email-side { display:grid; gap:18px; }
.admin-test-form { display:grid; gap:14px; padding:24px; }.admin-test-form h2 { margin:0; font:600 23px/1.25 var(--serif); }.admin-test-form>span { color:var(--muted); font-size:12px; line-height:1.7; }.admin-test-form label { margin-top:7px; }.admin-test-form button { width:100%; }.admin-test-result { margin:0; padding:11px; border-radius:10px; background:var(--green-soft); color:var(--green); font-size:11px; line-height:1.5; }.admin-test-result.is-error { background:var(--accent-soft); color:var(--accent-dark); }
.admin-security-note { padding:24px; background:linear-gradient(145deg,#332c29,#4b3732); color:#fff; }.admin-security-note>span { color:#dc8b84; font-size:9px; font-weight:700; letter-spacing:.2em; }.admin-security-note h3 { margin:10px 0 12px; font:600 21px/1.3 var(--serif); }.admin-security-note p { margin:0; color:rgba(255,255,255,.55); font-size:11px; line-height:1.8; }.admin-security-note a { display:inline-flex; margin-top:19px; color:#fff; font-size:11px; font-weight:600; text-decoration:none; }.admin-security-note a i { margin-left:5px; font-style:normal; }
.admin-dialog-backdrop { position:fixed; z-index:120; inset:0; display:grid; place-items:center; padding:24px; background:rgba(37,29,25,.42); backdrop-filter:blur(9px); }.admin-dialog-backdrop[hidden] { display:none; }.admin-user-dialog { width:min(500px,100%); max-height:min(720px,calc(100dvh - 32px)); overflow:auto; padding:25px; border:1px solid rgba(255,255,255,.74); border-radius:24px; outline:0; background:var(--surface); box-shadow:0 30px 90px rgba(43,30,24,.28); }.admin-user-dialog>header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }.admin-user-dialog>header p { margin:0 0 8px; color:var(--accent-dark); font-size:10px; font-weight:700; letter-spacing:.18em; }.admin-user-dialog h2 { margin:0; font:600 30px/1.2 var(--serif); letter-spacing:-.035em; }.admin-dialog-close { width:40px; height:40px; display:grid; place-items:center; flex:none; padding:0; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.7); color:var(--muted); font-size:21px; line-height:1; text-align:center; cursor:pointer; }.admin-dialog-lead { margin:13px 0 21px; color:var(--muted); font-size:13px; line-height:1.7; }.admin-password-reset-form { display:grid; gap:15px; }.admin-password-reset-form[hidden],.admin-delete-user-panel[hidden] { display:none; }.admin-password-reset-form label { display:grid; gap:8px; }.admin-password-reset-form label>span { color:#635852; font-size:12px; font-weight:600; }.admin-password-reset-form input { width:100%; height:49px; padding:0 13px; border:1px solid var(--line); border-radius:12px; outline:0; background:rgba(255,255,255,.78); color:var(--ink); font-size:14px; }.admin-password-reset-form input:focus { border-color:rgba(199,111,105,.68); background:#fff; box-shadow:0 0 0 4px rgba(199,111,105,.09); }.admin-password-reset-form>small { color:var(--muted); font-size:10px; line-height:1.6; }.admin-user-dialog footer { display:flex; justify-content:flex-end; gap:9px; margin-top:8px; padding-top:18px; border-top:1px solid var(--line); }.admin-dialog-error { margin:0; padding:10px 12px; border:1px solid rgba(171,72,65,.15); border-radius:10px; background:rgba(199,111,105,.1); color:#994641; font-size:12px; line-height:1.55; }.admin-delete-warning { display:grid; grid-template-columns:42px minmax(0,1fr); gap:13px; padding:15px; border:1px solid rgba(180,76,67,.16); border-radius:15px; background:rgba(199,111,105,.08); }.admin-delete-warning>span { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:#a9534d; color:#fff; font-weight:800; }.admin-delete-warning strong { color:#7f3733; font-size:13px; }.admin-delete-warning p { margin:5px 0 0; color:#7d5e58; font-size:12px; line-height:1.7; }.admin-danger-button { min-height:43px; display:inline-flex; align-items:center; justify-content:center; padding:0 18px; border:0; border-radius:12px; background:#a9534d; color:#fff; font-size:12px; font-weight:700; line-height:1.2; text-align:center; cursor:pointer; box-shadow:0 8px 20px rgba(137,60,54,.2); }.admin-danger-button:disabled { cursor:wait; opacity:.58; }
.admin-quota-form { display:grid; gap:15px; }.admin-quota-form>label { display:grid; gap:8px; }.admin-quota-form>label>span:first-child { color:#635852; font-size:12px; font-weight:600; }.admin-quota-input { position:relative; display:block; }.admin-quota-input input { width:100%; height:52px; padding:0 58px 0 14px; border:1px solid var(--line); border-radius:13px; outline:0; background:rgba(255,255,255,.78); color:var(--ink); font-size:16px; font-weight:700; }.admin-quota-input input:focus { border-color:rgba(199,111,105,.68); background:#fff; box-shadow:0 0 0 4px rgba(199,111,105,.09); }.admin-quota-input em { position:absolute; right:15px; top:18px; color:var(--muted); font-size:11px; font-style:normal; font-weight:700; }.admin-quota-current { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 14px; border-radius:12px; background:#eee8e3; }.admin-quota-current span { color:var(--muted); font-size:11px; }.admin-quota-current strong { font-size:12px; }.admin-quota-form>small { color:var(--muted); font-size:10px; line-height:1.65; }.admin-quota-warning { margin:0; padding:11px 12px; border:1px solid rgba(171,72,65,.18); border-radius:11px; background:rgba(199,111,105,.1); color:#8e433e; font-size:11px; font-weight:600; line-height:1.55; }

.admin-toast { position:fixed; z-index:120; left:50%; bottom:27px; display:flex; align-items:center; gap:10px; max-width:min(460px,calc(100vw - 30px)); padding:11px 16px; border-radius:13px; background:#2d2825; color:white; box-shadow:0 14px 40px rgba(0,0,0,.22); opacity:0; transform:translate(-50%,16px); pointer-events:none; transition:.25s ease; }.admin-toast.show { opacity:1; transform:translate(-50%,0); }.admin-toast.is-error { background:#8f4641; }.admin-toast>span { flex:none; width:26px; height:26px; display:grid; place-items:center; border-radius:9px; background:var(--accent); }.admin-toast p { margin:0; font-size:12px; line-height:1.5; }

@media (max-width:1120px) {
  .admin-shell { grid-template-columns:235px minmax(0,1fr); }
  .admin-sidebar { padding-inline:18px; }
  .admin-stats { grid-template-columns:1fr 1fr; }
  .admin-overview-grid,.admin-email-grid { grid-template-columns:1fr; }
  .admin-limit-grid { grid-template-columns:1fr 1fr; }
  .admin-email-side { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px) {
  .admin-shell { display:block; }
  .admin-sidebar { position:fixed; left:0; top:0; z-index:90; width:min(300px,86vw); height:100dvh; overflow-y:auto; transform:translateX(-104%); box-shadow:25px 0 70px rgba(29,21,18,.25); transition:transform .25s cubic-bezier(.2,.8,.2,1); }
  .admin-sidebar.open { transform:none; }
  .admin-nav { margin-top:34px; }.admin-side-foot { flex:none; margin-top:30px; }
  .admin-main { padding:0 18px 42px; }
  .admin-topbar { min-height:92px; gap:13px; }
.admin-menu-button { flex:none; display:grid; place-items:center; padding:0; line-height:1; }
  .admin-topbar h1 { font-size:23px; }.admin-topbar p { font-size:9px; }
  .admin-live { display:none; }.admin-refresh { padding:0 11px; }
  .admin-page { padding-top:22px; }
  .admin-hero { min-height:290px; padding:35px 27px; }.admin-hero h2 { font-size:36px; }.admin-hero>div>span { font-size:13px; }.admin-hero-orbit { right:-290px; }
  .admin-stats { gap:10px; }.admin-stats article { min-height:122px; padding:17px; }.admin-stats strong { font-size:29px; }
  .admin-overview-grid { gap:12px; }
  .admin-panel-head { padding:19px 18px 16px; }.admin-activity-list,.admin-member-list { padding-inline:18px; }
  .admin-access-summary { grid-template-columns:1fr; gap:9px; }.admin-access-summary article { padding:16px 18px; }
  .admin-space-stats { grid-template-columns:1fr; gap:9px; }.admin-space-stats article { min-height:96px; padding:16px 18px; }
  .admin-access-table,.admin-space-table { min-width:0; }
  .admin-access-table thead,.admin-space-table thead { display:none; }
  .admin-access-table tbody,.admin-space-table tbody { display:grid; gap:12px; padding:12px; }
  .admin-access-table tr,.admin-space-table tr { display:grid; overflow:hidden; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.58); }
  .admin-access-table td,.admin-space-table td { display:grid; grid-template-columns:82px minmax(0,1fr); align-items:center; gap:12px; min-height:45px; padding:10px 13px; border-top:1px solid rgba(83,65,56,.08); }
  .admin-access-table td:first-child,.admin-space-table td:first-child { border-top:0; }
  .admin-access-table td::before,.admin-space-table td::before { color:#978a83; font-size:9px; font-weight:700; letter-spacing:.06em; }
  .admin-access-table td:nth-child(1)::before { content:"时间"; }.admin-access-table td:nth-child(2)::before { content:"访问者"; }.admin-access-table td:nth-child(3)::before { content:"请求"; }.admin-access-table td:nth-child(4)::before { content:"状态"; }.admin-access-table td:nth-child(5)::before { content:"耗时"; }.admin-access-table td:nth-child(6)::before { content:"公网 IP"; }.admin-access-table td:nth-child(7)::before { content:"设备"; }
  .admin-space-table td:nth-child(1)::before { content:"空间"; }.admin-space-table td:nth-child(2)::before { content:"所属账号"; }.admin-space-table td:nth-child(3)::before { content:"成员"; }.admin-space-table td:nth-child(4)::before { content:"存储使用"; }.admin-space-table td:nth-child(5)::before { content:"配额"; }.admin-space-table td:nth-child(6)::before { content:"操作"; }
  .admin-access-table td.admin-empty-cell,.admin-space-table td.admin-empty-cell { display:block; height:auto; padding:45px 18px; text-align:center; }.admin-access-table td.admin-empty-cell::before,.admin-space-table td.admin-empty-cell::before { display:none; }
  .admin-request code,.admin-device { max-width:100%; white-space:normal; overflow-wrap:anywhere; }.admin-ip-display,.admin-storage-usage,.admin-space-accounts,.admin-space-identity { min-width:0; }
  .admin-form-grid { grid-template-columns:1fr; padding-inline:18px; }.admin-credential-state { grid-template-columns:40px minmax(0,1fr); margin-inline:18px; }.admin-credential-state>.admin-state-pill { grid-column:2; justify-self:start; }
  .admin-settings-form fieldset { padding-inline:18px; }.admin-limit-grid { grid-template-columns:1fr 1fr; }.admin-form-actions { align-items:flex-start; flex-direction:column; padding-inline:18px; }.admin-form-actions button { width:100%; }
  .admin-email-side { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .admin-dialog-backdrop { align-items:end; padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); }
  .admin-user-dialog { max-height:calc(100dvh - 24px); padding:21px 18px; border-radius:22px; }
  .admin-user-dialog h2 { font-size:27px; }
  .admin-user-dialog footer { display:grid; grid-template-columns:1fr 1fr; }.admin-user-dialog footer button { width:100%; }
  .admin-user-actions { min-width:160px; flex-wrap:wrap; }.admin-action-lock { width:100%; }
}
@media (max-width:440px) {
  .admin-top-actions { margin-left:auto; }.admin-refresh { font-size:0; width:40px; padding:0; }.admin-refresh::after { content:"↻"; font-size:20px; }
  .admin-stats { grid-template-columns:1fr 1fr; }.admin-stats article { min-height:112px; padding:15px; }.admin-stats strong { font-size:26px; }
  .admin-limit-grid { grid-template-columns:1fr; }
  .admin-pagination { align-items:flex-start; flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; } }
