/* Focused interface refinement, using ADM's existing palette and components. */
:root { --surface:#f5f5f1; --line:#e3e3db; --muted:#65655d; --shadow-soft:0 4px 16px rgb(24 24 20 / 4%); }
body { background:var(--surface); }
[hidden] { display:none !important; }
.skip-link { position:fixed;top:-60px;left:16px;z-index:100;padding:12px 18px;background:white;color:var(--ink);border-radius:8px; }
.skip-link:focus { top:12px; }
button:focus-visible, a:focus-visible, input:focus-visible { outline:3px solid #9a6b20;outline-offset:3px; }
.sidebar { padding:22px 14px 16px; }
.sidebar .brand { padding-bottom:20px; }
.sidebar nav { margin-top:12px;gap:3px;overflow:auto;min-height:0;overscroll-behavior:contain;padding:0 3px 12px; }
.nav-group-label { color:#92948b;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:15px 12px 6px; }
.sidebar .nav-item { min-height:41px;padding:10px 12px;font-size:13px;font-weight:550; }
.sidebar .nav-item.active { background:#35382e;color:#fff; }
.sidebar .nav-item:hover { background:#2b2e26; }
.sidebar-footer { flex-shrink:0;margin-top:12px;padding:16px 10px 0; }
.office-login { min-height:42px;padding:10px 18px;border:1px solid transparent;border-radius:9px;background:#e4bf77;color:#302719;font-size:13px;font-weight:750;white-space:nowrap; }
.office-login:hover { background:#edcb8d; }
main { padding:28px 32px 48px; }
.topbar { margin-bottom:24px; }
.topbar h1 { font-size:25px;font-weight:700; }
.topbar .eyebrow { font-size:10px;color:#72736a; }
.global-search input { height:46px;box-shadow:none;border-radius:12px;padding:0 16px;font-size:14px; }
.welcome { position:relative;min-height:148px;padding:28px 30px;margin-bottom:18px;border-radius:16px;background:#24271f;box-shadow:none;align-items:center; }
.welcome::after { display:none; }
.welcome h2 { font-size:clamp(23px,2.6vw,32px);line-height:1.17;letter-spacing:-.035em;margin:8px 0;max-width:620px; }
.welcome p { color:#c9cec0;font-size:14px; }
.welcome-date { color:#e4ce9f;font-size:12px;white-space:nowrap;text-transform:capitalize;align-self:flex-start;margin-left:16px; }
.office-access-banner { max-width:1240px;margin:0 auto 26px;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 20px;border:1px solid #e7dcc5;border-radius:12px;background:#fcf8ef; }
.office-access-banner strong { font-size:14px; }
.office-access-banner p { font-size:13px;color:var(--muted);margin-top:4px;line-height:1.5; }
.section-title h2, .summary-heading h2 { font-size:19px;font-weight:700;letter-spacing:-.025em; }
.quick-section { margin-bottom:28px; }
.quick-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.quick-card { min-height:104px;padding:20px;gap:14px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:none;transition:border-color .16s,box-shadow .16s,transform .16s; }
.quick-card:hover { border-color:#b5a175;box-shadow:0 5px 15px #28291809;transform:translateY(-2px); }
.quick-card strong { font-size:14px;font-weight:700; }
.quick-card small { font-size:12px;line-height:1.5; }
.quick-card .card-icon { flex-shrink:0;width:40px;height:40px;border-radius:10px; }
.summary-heading { max-width:1240px;margin:0 auto 12px;display:flex;align-items:baseline;gap:16px;justify-content:space-between; }
.summary-heading > span { font-size:12px;color:var(--muted); }
.direction-grid { gap:10px;margin-bottom:26px; }
.direction-card { position:relative;padding:17px 15px;border-radius:12px;background:#fff;box-shadow:none;text-align:left;min-width:0; }
button.direction-card { color:var(--ink);font:inherit;cursor:pointer; }
button.direction-card:hover { border-color:#b5a175;background:#fdfcf8;transform:none;box-shadow:none; }
.direction-card span { font-size:10px;letter-spacing:.06em; }
.direction-card strong { font-size:28px;line-height:1.3; }
.direction-card small { font-size:11px;line-height:1.45; }
.panel { border-radius:14px;box-shadow:none;border-color:var(--line); }
.panel-heading h2 { font-size:18px; }
.activity-empty { padding:22px 12px;color:var(--muted);font-size:13px;line-height:1.6; }
.document-auth-dialog { border-radius:16px;padding:28px;box-shadow:0 24px 80px #0003; }
.document-auth-dialog::backdrop { background:#1a1d1860;backdrop-filter:blur(3px); }
.document-auth-dialog input { min-height:44px; }
.document-auth-dialog .primary-button { color:#302719;background:#e4bf77;min-height:42px; }
@media(min-width:701px) and (max-width:1100px) {
  main { padding:24px; }
  .quick-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .direction-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .welcome-date { display:none; }
}
@media(max-width:700px) {
  main { margin-left:0;padding:20px 16px 90px; }
  .topbar { margin-bottom:18px; }
  .topbar h1 { font-size:23px; }
  .welcome { min-height:0;padding:24px 20px;margin-bottom:14px; }
  .welcome h2 { font-size:27px; }
  .welcome p { font-size:13px; }
  .welcome-date { display:none; }
  .office-access-banner { padding:16px;align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:24px; }
  .office-access-banner .office-login { width:100%;min-height:44px; }
  .quick-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
  .quick-card { min-height:145px;padding:16px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px;text-align:left; }
  .quick-card b { display:none; }
  .quick-card strong { font-size:13px; }
  .quick-card small { font-size:12px; }
  .quick-card .card-icon { width:32px;height:32px; }
  .summary-heading { align-items:flex-start;flex-direction:column;gap:5px; }
  .direction-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .direction-card { min-height:108px;padding:16px; }
  .mobile-office-strip { display:none; }
  .mobile-nav-list button { min-height:48px;font-weight:600; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important;transition:none !important;animation:none !important; } }
@media(min-width:701px) and (max-height:800px) {
  .sidebar { padding-top:16px; }
  .sidebar .brand { padding-bottom:14px; }
  .sidebar nav { gap:1px;margin-top:6px; }
  .nav-group-label { padding-top:9px;padding-bottom:4px;font-size:9px; }
  .sidebar .nav-item { min-height:32px;padding:7px 12px;font-size:12px; }
  .sidebar-footer { margin-top:6px;padding-top:10px; }
}
.welcome { justify-content:space-between; }
.welcome-date { margin-left:auto;padding-left:16px; }
@media(max-width:700px) {
  .mobile-nav .nav-group-label { padding:12px 10px 3px;color:#6a6f60;font-size:10px; }
}
