/* Medical communication: one palette and shared controls across student/admin UI. */
:root {
  --care-brand: #416bc4; --care-brand-deep: #3159ad; --care-brand-soft: #e9f0fc;
  --care-ink: #1d3352; --care-muted: #6f7f96; --care-canvas: #edf3fc;
  --care-panel: #fff; --care-line: #dbe4f1; --care-warm: #c87685; --care-warm-soft: #fbecef;
  --care-radius: 14px; --care-shadow: 0 12px 32px rgba(37,64,113,.08);
  --global-primary-color: var(--care-brand); --global-primary-deep: var(--care-brand-deep);
  --global-primary-soft: var(--care-brand-soft); --global-care-color: var(--care-warm);
  --global-care-deep: #aa5668; --global-care-soft: var(--care-warm-soft); --global-ink-color: var(--care-ink);
  --med-brand: var(--care-brand); --med-brand-deep: var(--care-brand-deep); --med-brand-soft: var(--care-brand-soft);
  --med-care: var(--care-warm); --med-care-deep: #aa5668; --med-care-soft: var(--care-warm-soft);
  --med-ink: var(--care-ink); --med-text: var(--care-ink); --med-muted: var(--care-muted);
  --med-line: var(--care-line); --med-surface: var(--care-canvas); --med-radius-xl: 20px;
  --admin-theme-shell: var(--care-canvas); --admin-theme-side: #f7f9fd; --admin-theme-side-2: #eff4fc;
  --admin-theme-action-gradient: linear-gradient(135deg,#3159ad,#416bc4);
  --admin-theme-action-gradient-hover: linear-gradient(135deg,#294986,#3159ad);
  --admin-theme-action-shadow: 0 7px 16px rgba(65,107,196,.18);
  --care-blue: var(--care-brand); --care-blue-deep: var(--care-brand-deep);
  --care-pink: var(--care-warm); --care-pink-deep: #aa5668;
}
body { font-family: "PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif; color: var(--care-ink); background-color: var(--care-canvas); }
#student-shell { background: var(--care-canvas); }
.student-page { border-color: var(--care-line); border-radius: 20px; box-shadow: var(--care-shadow); }
.student-section, .ui-card { border-color: var(--care-line); border-radius: var(--care-radius); }
.student-topbar-wrap { background: linear-gradient(135deg,#3159ad,#416bc4 68%,#5a82d4); }
.layui-btn:not(.layui-btn-primary):not(.layui-btn-danger):not(.layui-btn-warm):not(.layui-btn-disabled):not(.layui-btn-normal),
.pear-btn-primary { background: var(--care-brand) !important; border-color: var(--care-brand) !important; border-radius: 8px; }
.layui-btn-primary { color: var(--care-brand-deep); border-color: var(--care-line); border-radius: 8px; }
.layui-btn-primary:hover { border-color: var(--care-brand); }
.layui-input, .layui-textarea, .layui-select { border-color: var(--care-line); border-radius: 8px; background-color: #fff; }
.layui-input:focus, .layui-textarea:focus { border-color: var(--care-brand) !important; box-shadow: 0 0 0 3px rgba(65,107,196,.10); }
.layui-form-select dl dd.layui-this, .layui-laypage .layui-laypage-curr .layui-laypage-em { background-color: var(--care-brand); }
.layui-form-checked[lay-skin=primary] i, .layui-form-onswitch { border-color: var(--care-brand); background-color: var(--care-brand); }
.layui-form-radio:hover *, .layui-form-radioed, .layui-form-radioed>i { color: var(--care-brand); }
.layui-layer { border-radius: var(--care-radius) !important; overflow: hidden; box-shadow: 0 18px 55px rgba(29,51,82,.18) !important; }
.layui-layer-title { background: #f3f6fc !important; color: var(--care-ink); border-bottom-color: var(--care-line); }
.layui-layer-btn .layui-layer-btn0 { background: var(--care-brand) !important; border-color: var(--care-brand) !important; border-radius: 8px; }
.layui-layer-btn a { border-radius: 8px; }
.layui-table-view, .layui-card { border-color: var(--care-line); border-radius: 12px; }
.layui-table-header, .layui-table-tool { background: #f3f6fc; }
.layui-table tbody tr:hover { background: #f0f4fc; }
.pear-admin .layui-header { background: linear-gradient(135deg,#3159ad,#416bc4) !important; }
.pear-admin .layui-header .layui-nav .layui-nav-item>a, .pear-admin .layui-header .layui-icon { color: #fff !important; }
.pear-admin .layui-header .layui-nav .layui-nav-item>a:hover { color:#fff !important; background:rgba(255,255,255,.12); }
.pear-admin .layui-side, .pear-admin .layui-side .layui-logo, .pear-admin .layui-side .layui-side-scroll,
.pear-admin .layui-side .pear-side-scroll, .pear-admin .layui-side .pear-nav-tree { background: #f7f9fd !important; }
.pear-admin .layui-this>a, .pear-admin .layui-side .layui-nav-itemed>.layui-nav-child { background-color: var(--care-brand-soft); }
.pear-admin .layui-side .layui-this>a { color:var(--care-brand-deep) !important; }
/* The dialogue backdrop remains case-specific; only the conversation controls share the theme. */
.input-container { border-color: var(--care-line); }
.chat-header { background: transparent; border: 0; box-shadow: none; }
.chat-messages { background: rgba(255,255,255,.94); }
.chat-container { border-color: var(--care-line); }
.send-button, .primary-btn, .start-button { background: var(--care-brand); }
.conv-nav-link.bg-blue-50 { background: var(--care-brand-soft); color:var(--care-brand-deep); }
.profile-hero, .exam-hero { background: linear-gradient(135deg,#3159ad,#416bc4 75%,#668bd2); }
/* Login and mode entry share the same humanistic care scene. */
.login-page { background: var(--care-canvas); }
.login-shell { border-color:var(--care-line); box-shadow:var(--care-shadow); }
.login-hero { background:#e9f0fc; }
.login-hero::before { background: linear-gradient(180deg,rgba(237,243,252,.94),rgba(237,243,252,.65) 35%,rgba(237,243,252,.08)); mask-image:none; }
.login-bg-img { object-fit:cover; object-position:45% center; opacity:.9; }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; } }

.student-topbar { max-width:1760px; height:60px; box-sizing:border-box; display:flex; align-items:center; }
.student-topbar>nav { width:100%; }
.text-blue-600,.text-blue-700,.text-blue-800 { color:var(--care-brand-deep); }
.bg-blue-50 { background-color:var(--care-brand-soft); }
.bg-blue-500,.bg-blue-600,.bg-blue-700 { background-color:var(--care-brand); }
.border-blue-100,.border-blue-200 { border-color:var(--care-line); }
.login-bg-img { inset:0; width:100%; height:100%; max-height:none; object-fit:cover; object-position:42% center; filter:none; z-index:0; }
.login-hero::before { z-index:1; }
.login-bg-copy { position:relative; z-index:2; }
.hero-chip-row { z-index:2; }
.lang-chip.is-active { background:var(--care-brand); }
.login-bg-kicker { color:var(--care-brand-deep); }

@media(min-width:1024px) {
  .login-page { min-height:100dvh; padding:24px 28px 48px; }
  .login-shell { height:min(760px,calc(100dvh - 88px)); min-height:0; }
  .login-hero,.login-form { height:100%; min-height:0; }
  .login-form { padding-block:28px; }
  .hero-chip-row { bottom:30px; }
}
