﻿/* Presentation only. Existing routes, controls, data and print styles are preserved. */
@media screen {
  :root { --pr-ink: #19374b; --pr-muted: #607687; --pr-line: #dce6ed; --pr-gold: #b58b31; --pr-blue: #315c77; }
  .adm-shell { background: radial-gradient(ellipse at 0 0, #faf1dc 0, transparent 38%), #f2f6f9; color: var(--pr-ink); }
  .adm-shell .adm-header { padding: 10px 28px; min-height: 72px; border-bottom: 2px solid #c8a650; box-shadow: 0 4px 20px #19374b08; }
  .adm-shell .adm-brand-fa { color: var(--pr-ink); line-height: 1.8; }
  .adm-shell .adm-brand-en { color: var(--pr-muted); }
  .adm-shell .adm-user { background: #f2f6f9; padding: 8px 12px; border-radius: 9px; }
  .adm-shell .adm-logout { background: #fff5f4; border-color: #e7c9c5; color: #923e35; padding: 9px 13px; }
  .adm-shell .adm-logout:hover { background: #fbe6e3; }
  .adm-shell .adm-bar { top: 72px; padding: 12px 28px; background: #f7f9fc; border-bottom: 1px solid var(--pr-line); gap: 10px; }
  .adm-shell .adm-bar .adm-link, .adm-shell .adm-group-btn { color: var(--pr-ink); border: 1px solid var(--pr-line); border-radius: 10px; box-shadow: 0 2px 5px #19374b06; padding: 10px 17px; font-size: 13px; }
  .adm-shell .adm-bar .adm-link:hover, .adm-shell .adm-group-btn:hover { color: var(--pr-blue); background: #fffaf0; transform: none; box-shadow: 0 3px 10px #19374b0a; }
  .adm-shell .adm-bar .adm-link.active, .adm-shell .adm-group.is-current > .adm-group-btn { background: var(--pr-ink); color: #fff; border-color: var(--pr-ink); box-shadow: inset 0 -2px #c8a650; }
  .adm-shell .adm-menu { border: 1px solid var(--pr-line); border-top: 3px solid #c8a650; padding: 8px; box-shadow: 0 16px 40px #19374b24; }
  .adm-shell .adm-item { padding: 11px 12px; line-height: 1.7; }
  .adm-shell .adm-item:hover { background: #f6f1e5; }
  .adm-shell .adm-item.active { background: var(--pr-ink); }
  .adm-shell .adm-main { max-width: 1600px; margin: auto; }
  .adm-shell .adm-content { padding: 20px 28px 36px; }
  .adm-shell .adm-crumb { padding: 22px 28px 0; color: var(--pr-muted); gap: 10px; }
  .adm-shell .admin-page { color: var(--pr-ink); }
  .adm-shell .admin-page > h1 { font-size: clamp(21px, 2vw, 28px); font-weight: 700; color: var(--pr-ink); border-inline-start: 4px solid #c8a650; padding-inline-start: 15px; line-height: 1.8; margin-bottom: 20px; }
  .adm-shell .admin-page h2 { color: var(--pr-blue); font-weight: 700; line-height: 1.8; margin-block: 24px 14px; }
  .adm-shell .admin-page .text-muted { color: var(--pr-muted) !important; font-size: 13px; line-height: 2; }
  .adm-shell .admin-filter { border: 1px solid var(--pr-line); background: linear-gradient(125deg, #fff, #fafcfd); padding: 22px; border-radius: 16px; box-shadow: 0 5px 20px #19374b05; margin-block: 20px; }
  .adm-shell .admin-filter-row { gap: 16px; margin-bottom: 12px; }
  .adm-shell .admin-filter-row:last-child { margin-bottom: 0; }
  .adm-shell .admin-filter label { color: #456174; font-weight: 700; line-height: 1.9; }
  .adm-shell .form-control, .adm-shell .form-select { border-color: #cedce5; border-radius: 8px; min-height: 38px; color: var(--pr-ink); background-color: #fff; font-size: 13px; }
  .adm-shell .admin-filter .form-control, .adm-shell .admin-filter .form-select { margin-top: 6px; }
  .adm-shell .form-control:focus, .adm-shell .form-select:focus { border-color: #9f8039; box-shadow: 0 0 0 3px #c8a65026; }
  .adm-shell .btn { border-radius: 8px; padding: 9px 15px; font-size: 12px; font-weight: 700; line-height: 1.6; }
  .adm-shell .btn-primary { background: var(--pr-blue); border-color: var(--pr-blue); }
  .adm-shell .btn-primary:hover { background: var(--pr-ink); border-color: var(--pr-ink); }
  .adm-shell .btn-outline-primary { color: var(--pr-blue); border-color: #a9bfcd; background: #fff; }
  .adm-shell .btn-outline-primary:hover { background: var(--pr-blue); border-color: var(--pr-blue); color: #fff; }
  .adm-shell .btn-outline-secondary { color: #556b7c; border-color: #cad7e0; background: #fff; }
  .adm-shell .btn-outline-secondary:hover { background: #eaf0f5; color: var(--pr-ink); }
  .adm-shell .btn:disabled { opacity: .5; }
  .adm-shell button:focus-visible, .adm-shell a:focus-visible { outline: 3px solid #b58b31; outline-offset: 3px; }
  .adm-shell .admin-export { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 12px 18px; }
  .adm-shell .table-responsive { border: 1px solid var(--pr-line); border-radius: 14px; background: #fff; box-shadow: 0 5px 20px #19374b05; margin-block: 16px; }
  .adm-shell .table:not(.official-dose-table) { margin-bottom: 0; color: var(--pr-ink); font-size: 12px; --bs-table-striped-bg: #f5f8fb; --bs-table-striped-color: #19374b; --bs-table-border-color: #e3ebf1; }
  .adm-shell .table:not(.official-dose-table) > thead > tr > th { background: #eaf0f5; color: #294d65; font-weight: 700; padding: 14px 12px; line-height: 1.8; border-bottom: 2px solid #c8a650; vertical-align: middle; }
  .adm-shell .table:not(.official-dose-table) > tbody > tr > td { padding: 11px 12px; line-height: 1.9; vertical-align: middle; }
  .adm-shell .table:not(.official-dose-table) > tbody > tr:hover > td { background-color: #fff9ec; }
  .adm-shell .admin-cards { gap: 16px; margin-block: 18px; }
  .adm-shell .admin-card, .adm-shell .admin-chart, .adm-shell .card { border: 1px solid var(--pr-line); border-radius: 14px; background: #fff; box-shadow: 0 5px 20px #19374b05; }
  .adm-shell .admin-card { padding: 22px; }
  .adm-shell .admin-metric { border: 1px solid var(--pr-line); border-top: 3px solid #c8a650; border-radius: 14px; background: #fff; padding: 22px; box-shadow: 0 5px 20px #19374b05; color: var(--pr-ink); }
  .adm-shell .admin-metric:hover { background: #fffcf5; box-shadow: 0 8px 24px #19374b10; }
  .adm-shell .admin-metric-title { color: var(--pr-muted); line-height: 1.8; }
  .adm-shell .admin-metric-value { color: var(--pr-ink); font-size: 28px; margin-block: 12px; }
  .adm-shell .admin-metric-note { color: var(--pr-muted); }
  .adm-shell .admin-card-title { color: var(--pr-muted); line-height: 1.8; }
  .adm-shell .admin-card-value { color: var(--pr-ink); }
  .adm-shell .admin-chart { padding: 22px; }
  .admin-login-page.admin-login-page { background: radial-gradient(ellipse at top left, #f6e8c8 0, transparent 45%), #f2f6f9; color: var(--pr-ink); }
  .admin-login-page .admin-login-header { border-bottom: 2px solid #c8a650; padding: 20px 28px; }
  .admin-login-page .admin-login-header a { color: var(--pr-blue); }
  .admin-login-page .admin-login-main { width: min(520px, calc(100% - 32px)); margin: 56px auto; }
  .admin-login-page .admin-login-logo { max-width: 100%; width: 420px; max-height: none; height: auto; margin: 0 auto 30px; }
  .admin-login-page .admin-login-main h1 { color: var(--pr-ink); font-size: 26px; line-height: 1.8; }
  .admin-login-page .admin-login-hint { color: var(--pr-muted); line-height: 2; }
  .admin-login-page .admin-login-card { border: 1px solid var(--pr-line); border-top: 3px solid #c8a650; border-radius: 18px; box-shadow: 0 18px 44px #19374b0d; padding: 30px; }
  .admin-login-page .admin-input { border: 1px solid #cedce5; border-radius: 9px; padding: 12px; background: #fbfcfd; }
  .admin-login-page .admin-input:focus { border-color: #b58b31; outline: 3px solid #c8a65026; }
  .admin-login-page .admin-submit { background: var(--pr-blue); border-radius: 9px; padding: 13px; }
  .admin-login-page .admin-submit:hover { background: var(--pr-ink); }
  .portal-page.portal-page { background: radial-gradient(ellipse at left top, #f9edcc 0, transparent 42%), #f2f6f9; }
  .portal-page .portal-header { border-bottom: 2px solid #c8a650; }
  .portal-page .portal-main-title { color: var(--pr-ink); }
  .portal-page .portal-card { border: 1px solid var(--pr-line); border-radius: 20px; box-shadow: 0 18px 44px #19374b0d; }
  .portal-page .portal-information { background: linear-gradient(135deg, #274d68, #19374b); }
  .portal-page .portal-login { background: #fff; }
  .portal-page .portal-login-button { background: var(--pr-blue); border-radius: 9px; }
  .portal-page .portal-form-control { border-color: #cedce5; border-radius: 9px; }
  .adm-shell .drep { border-color: var(--pr-line); border-radius: 16px; box-shadow: 0 5px 20px #19374b05; }
}
@media screen and (max-width: 900px) {
  .adm-shell .adm-header { padding-inline: 16px; }
  .adm-shell .adm-bar { padding-inline: 16px; }
  .adm-shell .adm-content { padding: 16px; }
  .adm-shell .adm-crumb { padding-inline: 16px; }
  .adm-shell .admin-cards-3 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
}
@media screen and (max-width: 600px) {
  .adm-shell .adm-header { min-height: 72px; gap: 8px; }
  .adm-shell .adm-brand-fa { font-size: 12px; }
  .adm-shell .adm-user { padding: 6px; }
  .adm-shell .adm-logout { padding: 7px; }
  .adm-shell .admin-filter { padding: 16px; }
  .adm-shell .admin-filter-row { gap: 12px; }
  .adm-shell .admin-filter label { min-width: 100%; }
  .adm-shell .admin-filter-row .btn { flex: 1; }
  .adm-shell .admin-chart { padding: 12px; }
  .admin-login-page .admin-login-main { margin-block: 28px; }
  .admin-login-page .admin-login-card { padding: 22px; }
}

/* Keep the responsive navigation above its click-to-close backdrop. */
@media screen and (max-width: 1024px) {
  .adm-shell .adm-bar {
    position: relative;
    top: auto;
    z-index: 40;
  }
}
