/* Derived from stage-design principles 1/3 and form/list components. All colors use existing tokens. */
.vp-access-page { margin:0; color:var(--ink); background:var(--paper); font:15px/1.6 var(--font); font-synthesis:none; color-scheme:light; }
.vp-access-page *, .vp-access-bar *, .vp-access-watermarks * { box-sizing:border-box; }
.vp-access-page :where(h1,h2,p) { margin:0; }
.vp-access-page button, .vp-access-page input, .vp-access-page select, .vp-access-bar button { font:inherit; border-radius:0; }
.vp-access-page button, .vp-access-bar button { cursor:pointer; }
.vp-access-page :focus-visible, .vp-access-bar :focus-visible { outline:3px solid var(--line); outline-offset:3px; }
.vp-access-header { min-height:72px; padding:16px 32px; border-bottom:4px solid var(--ink); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.vp-access-header > :first-child { font-size:20px; font-weight:900; }
.vp-access-header > :last-child { font-size:13px; color:var(--text2); }
.vp-access-header a { min-height:44px; display:inline-flex; align-items:center; }
.vp-login-layout { max-width:1280px; margin:0 auto; padding:72px 48px; display:grid; grid-template-columns:1.2fr 1fr; gap:80px; align-items:start; }
.vp-access-kicker { font-size:13px; font-weight:700; letter-spacing:.08em; margin-bottom:24px !important; }
.vp-login-intro h1 { font-size:clamp(64px,8vw,112px); font-weight:900; line-height:1.1; letter-spacing:-.04em; margin-bottom:32px; }
.vp-login-intro > p:not(.vp-access-kicker) { max-width:420px; }
.vp-access-note { font-size:14px; color:var(--text2); margin-top:24px !important; }
.vp-login-form-panel { border-top:5px solid var(--ink); padding-top:24px; margin-top:8px; }
.vp-login-form-panel h2 { font-size:26px; line-height:1.2; margin-bottom:32px; }
.vp-login-form-panel label { display:block; font-weight:700; margin:24px 0 8px; }
.vp-access-page input, .vp-access-page select { border:2px solid var(--ink); background:var(--card); color:var(--ink); min-height:48px; padding:10px 12px; min-width:0; width:100%; }
.vp-password-field { display:flex; }
.vp-password-field input { flex:1; }
.vp-password-field button { border:2px solid var(--ink); border-left:0; background:var(--paper); color:var(--ink); min-width:64px; }
.vp-access-primary { min-height:48px; padding:12px 24px; width:100%; border:2px solid var(--ink); color:var(--ink); background:var(--paper); font-weight:700 !important; }
.vp-access-primary:hover { background:var(--hover); }
.vp-access-primary:disabled, .vp-access-page button:disabled { cursor:wait; opacity:.6; }
.vp-access-message { min-height:28px; margin:16px 0 !important; color:var(--danger); overflow-wrap:anywhere; }
.vp-access-bar { position:relative; z-index:11; display:flex; flex-wrap:wrap; gap:8px 24px; align-items:center; justify-content:space-between; padding:0 24px; min-height:48px; border-bottom:1px solid var(--rule); background:var(--paper); color:var(--ink); font:13px/1.5 var(--font); }
.vp-access-bar > div { display:flex; align-items:center; gap:16px; }
.vp-access-bar form { margin:0; }
.vp-access-bar a { color:var(--ink); display:inline-flex; align-items:center; min-height:44px; }
.vp-access-bar button { background:var(--paper); color:var(--ink); border:0; text-decoration:underline; padding:8px; min-height:44px; }
.vp-access-watermarks { position:fixed; inset:0; z-index:20; pointer-events:none; display:flex; flex-direction:column; justify-content:space-around; align-items:center; overflow:hidden; color:var(--ink); opacity:.12; font:700 16px/1.5 var(--font); }
.vp-access-watermarks span { transform:rotate(-24deg); white-space:nowrap; }
.vp-admin-main { margin:0 auto; max-width:1440px; padding:40px 32px 80px; }
.vp-admin-main h1 { font-size:clamp(32px,4vw,54px); line-height:1.2; margin-bottom:16px; }
.vp-admin-main h2 { font-size:26px; line-height:1.2; }
.vp-admin-section { border-top:5px solid var(--ink); margin-top:40px; padding-top:24px; }
.vp-admin-section header { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:16px; margin-bottom:16px; }
.vp-admin-filters { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.vp-admin-filters select { width:auto; max-width:100%; }
.vp-admin-main button { min-height:44px; background:var(--paper); color:var(--ink); border:1px solid var(--ink); padding:8px 12px; }
.vp-admin-main button:hover { background:var(--hover); }
.vp-admin-table-wrap { overflow-x:auto; }
.vp-admin-main table { border-collapse:collapse; width:100%; min-width:820px; font-size:14px; text-align:left; }
.vp-admin-main th:first-child { min-width:160px; }
.vp-admin-scroll-hint { display:none; font-size:14px; color:var(--text2); margin:8px 0 !important; }
.vp-admin-main th { font-size:13px; color:var(--text2); }
.vp-admin-main td, .vp-admin-main th { padding:12px 12px 12px 0; border-bottom:1px solid var(--rule); vertical-align:top; }
.vp-admin-main td { overflow-wrap:anywhere; }
.vp-admin-actions { display:flex; flex-wrap:wrap; gap:8px; min-width:230px; }
.vp-admin-event-meta { color:var(--text2); font-size:12px; max-width:360px; }
.vp-admin-empty { padding:24px 0; color:var(--text2); }
.vp-admin-secret { border:2px solid var(--ink); padding:16px; margin:24px 0; }
.vp-admin-secret code { font:15px var(--font-code); overflow-wrap:anywhere; user-select:all; }
.vp-admin-secret p { margin-bottom:12px; }
.vp-access-page [hidden] { display:none !important; }
@media screen and (max-width:767px) {
  .vp-access-header { padding:12px 16px; flex-wrap:wrap; gap:4px; }
  .vp-access-header > :last-child { width:100%; }
  .vp-login-layout { padding:32px 20px 48px; display:block; }
  .vp-login-intro h1 { font-size:64px; }
  .vp-login-intro h1 br { display:none; }
  .vp-login-intro > .vp-access-note { margin-top:16px !important; }
  .vp-login-form-panel { margin-top:32px; }
  .vp-access-bar { padding:4px 16px; }
  .vp-admin-main { padding:24px 16px 64px; }
  .vp-admin-scroll-hint { display:block; }
}
@media print {
  .vp-access-bar { display:none; }
  .vp-access-watermarks { opacity:.14; color:var(--ink); font-family:'PingFang SC','Microsoft YaHei',sans-serif; }
  .vp-admin-secret { display:none; }
}
