/* Classic-blue application presentation. No data, visibility or interaction rules.
 * Type scale: page 22/600, section 16/600, body 14/400, table 13/400,
 * column heading 12/600, help 12/400. Document/editor content is not targeted. */
body.ui-classic {
  --ui-accent: #2868dc;
  --ui-accent-soft: #edf3ff;
  --ui-bg: #f4f6f9;
  --ui-border: #e4e9f0;
  --ui-ink: #25334a;
  --ui-text: #45536a;
  --ui-muted: #738096;
  --ui-radius: 8px;
  --ui-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --app-bg: var(--ui-bg);
  --surface: #fff;
  --sidebar: #fff;
  --ink: var(--ui-ink);
  --text: var(--ui-text);
  --muted: var(--ui-muted);
  --line: var(--ui-border);
  --soft: #f7f9fc;
  --purple: var(--ui-accent);
  --blue: var(--ui-accent);
  --shadow: 0 8px 28px rgb(34 53 82 / 7%);
  font-family: var(--ui-font);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--ui-text);
  background: var(--ui-bg);
  -webkit-font-smoothing: antialiased;
}

/* Shared system controls only; no global input/editor formatting reset. */
body.ui-classic :is(.ghost-btn, .dark-btn, .pill-btn) {
  min-height: 34px;
  padding: 0 13px;
  border-radius: 6px;
  font: 500 13px/1.4 var(--ui-font);
  box-shadow: none;
}
body.ui-classic .ghost-btn { border-color: var(--ui-border); }
body.ui-classic .ghost-btn:hover:not(:disabled) { border-color: #b8cceb; background: #f7faff; }
body.ui-classic .dark-btn:not(.danger):not(.danger-btn):not(.is-danger) {
  background: var(--ui-accent); color: #fff;
}
body.ui-classic .dark-btn:not(.danger):not(.danger-btn):not(.is-danger):hover:not(:disabled) { background: #2059c1; }
body.ui-classic :is(.ghost-btn, .dark-btn, .pill-btn):disabled { opacity: .48; cursor: not-allowed; }
body.ui-classic :is(.ghost-btn, .dark-btn, .pill-btn, .menu-item):focus-visible {
  outline: 2px solid #86adeb; outline-offset: 2px;
}
body.ui-classic .content-header { padding: 18px 24px; border-bottom: 1px solid var(--ui-border); box-shadow: none; }
body.ui-classic .content-header h1 { font-size: 22px; font-weight: 600; line-height: 1.4; }
body.ui-classic .content-header p { font-size: 13px; font-weight: 400; color: var(--ui-muted); }
body.ui-classic .content-surface { background: var(--ui-bg); }
body.ui-classic .empty-state { color: var(--ui-muted); font-size: 13px; font-weight: 400; }
body.ui-classic .empty-state h2 { color: var(--ui-ink); font-size: 18px; font-weight: 600; }
body.ui-classic .empty-state p { font-size: 13px; line-height: 1.7; }

/* Shared modal shell: preserve all existing widths, stacking and scrolling. */
body.ui-classic .system-modal { border-color: var(--ui-border); border-radius: 10px; box-shadow: 0 20px 64px #1e34562b; }
body.ui-classic .modal-backdrop { background: rgb(29 43 64 / 35%); }
body.ui-classic .modal-header { padding: 20px 24px 16px; border-color: var(--ui-border); }
body.ui-classic .modal-header h2 { font-size: 20px; font-weight: 600; color: var(--ui-ink); line-height: 1.4; }
body.ui-classic .modal-header p { font-size: 13px; font-weight: 400; color: var(--ui-muted); }
body.ui-classic .modal-close { border-radius: 6px; font-weight: 400; color: var(--ui-muted); }
body.ui-classic .form-grid label { font-size: 13px; font-weight: 500; color: var(--ui-text); }
body.ui-classic .form-grid :is(input,select) { height: 38px; border-radius: 6px; font: 400 13px var(--ui-font); padding: 0 11px; }
body.ui-classic .form-grid :is(input,select):focus { border-color: #86adeb; box-shadow: 0 0 0 3px #edf3ff; }
body.ui-classic .app-message-head h2 { font-size: 18px; font-weight: 600; }
body.ui-classic .app-message-head p { font-size: 14px; font-weight: 400; }
body.ui-classic .filter-value-list { font-size: 13px; }
body.ui-classic :is(.filter-value-option,.filter-rule-box label,.filter-tabs button,.filter-sort-actions button) { font-size: 13px; font-weight: 500; }

/* Sign in belongs to the application shell, not to business forms. */
body.ui-classic.login-body { background: #f3f6fb; }
body.ui-classic .login-shell { border-radius: 12px; border: 1px solid var(--ui-border); box-shadow: 0 16px 60px #223b6210; }
body.ui-classic .login-brand { background: #eaf1fc; color: var(--ui-ink); }
body.ui-classic .login-brand p { color: #5d7393; font-size: 15px; font-weight: 500; }
body.ui-classic .login-logo { box-shadow: none; border-radius: 8px; }
body.ui-classic .login-card h2 { font-size: 24px; font-weight: 600; color: var(--ui-ink); }
body.ui-classic .login-card p { font-size: 13px; font-weight: 400; line-height: 1.6; }
body.ui-classic .login-card label { font-size: 13px; font-weight: 500; }
body.ui-classic .login-card input { height: 42px; border-radius: 6px; font: 400 14px var(--ui-font); }
body.ui-classic .login-card input:focus { border-color: #86adeb; box-shadow: 0 0 0 3px #edf3ff; }
body.ui-classic .login-card .dark-btn { height: 42px; }
