/* 起点教学管理 · independent administrator shell
   Existing dense-cards + accent-ladder direction, seed 216075249.
   Business/module geometry and every [hidden] state remain owned by the
   shared styles. This file only scopes the standalone shell and login. */
body.admin-application {
  --bg: #eef3f8;
  --panel: #ffffff;
  --ink: #263243;
  --muted: #5d6b7f;
  --line: #dfe7ef;
  --green: #167ac6;
  --green-soft: #eaf3fb;
  --palette-blue: #167ac6;
  --palette-teal: #3aa582;
  --palette-lime: #98ba43;
  --palette-orange: #f49b38;
  --palette-pink: #e36f8a;
  --palette-purple: #9b8bc5;
  --brand-silver: #dde7ed;
  --brand-coral: #f07874;
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--ui-font, -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei UI", "PingFang SC", sans-serif);
  font-size: 14px;
}
.admin-application #application-shell { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
.admin-application #app { flex: 1; min-width: 0; width: 100%; }
.admin-application .site-header { flex-shrink: 0; }
.admin-application .brand { flex-shrink: 0; }
.admin-application .header-account { margin-left: auto; }
.admin-application #account-label { max-width: 240px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-application .admin-view { margin-inline: auto; }
.admin-application .site-footer { margin-top: auto; padding-block: 16px; }

/* Login is an access form, with no classroom promotion or demo credentials. */
.admin-login-layout { width: min(100%, 448px); margin: clamp(32px, 8vh, 88px) auto; padding: 0 16px; }
.admin-login-card { width: 100%; max-width: none; padding: 30px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); box-shadow: none; }
.admin-login-card h1 { margin: 8px 0; color: var(--ink); font-size: 24px; font-weight: 600; line-height: 1.4; letter-spacing: 0; }
.admin-login-card .admin-login-description { margin: 0 0 24px; font-size: 14px; line-height: 1.6; }
.admin-login-card label { margin: 16px 0 7px; color: var(--ink); font-size: 14px; font-weight: 500; }
.admin-login-card input { width: 100%; min-height: 40px; padding: 8px 11px; border: 1px solid var(--ui-control-border, #bdccdc); border-radius: 8px; background: #fff; color: var(--ink); font: inherit; }
.admin-login-card .button-wide { margin-top: 24px; width: 100%; }
.admin-login-card .form-error { margin: 14px 0 0; font-size: 13px; line-height: 1.6; color: var(--red, #9f3e36); overflow-wrap: anywhere; }
.admin-login-help { margin: 16px 0 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.admin-no-script { margin: 24px auto; padding: 16px; max-width: 448px; color: var(--ink); }

@media (max-width: 760px) {
  .admin-application .site-header { gap: 12px; }
  .admin-application .header-middle, .admin-application #admin-application-label { display: none; }
  .admin-application .header-account { gap: 10px; }
  .admin-application #account-label { max-width: 144px; font-size: 12px; }
  .admin-login-layout { margin-block: 32px; padding-inline: 16px; }
  .admin-login-card { padding: 24px; }
}
@media (max-width: 430px) {
  .admin-application .brand-detail { margin-left: 8px; padding-left: 8px; font-size: 12px; }
  .admin-application #account-label { max-width: 96px; }
  .admin-application .site-footer { flex-direction: column; align-items: flex-start; gap: 4px; }
}

/* Explicit local read-only preview. Only rendered by the preview server. */
body.admin-application > .admin-preview-notice {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 9px 24px;
  border-bottom: 1px solid #c9daea;
  background: #eaf2fa;
  color: #315875;
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
  overflow-wrap: anywhere;
}
@media (max-width: 760px) {
  body.admin-application > .admin-preview-notice {
    padding: 8px 16px;
    font-size: 12px;
    text-align: left;
  }
}
