[hidden] { display:none !important; }
:where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #6f2dbd; outline-offset:3px; }
.skip-link { position:fixed;top:8px;left:8px;z-index:1000;transform:translateY(-160%);padding:12px 18px;border-radius:8px;background:#17131d;color:#fff; }
.skip-link:focus { transform:translateY(0); }
.page-context { display:flex;align-items:flex-start;justify-content:space-between;gap:16px; }
.page-context h1 { margin:4px 0 8px;font-size:2rem;line-height:1.2; }
.page-context h1:focus { outline:none; }
.page-context p { max-width:64ch;line-height:1.5;color:#595361; }
.page-tools { display:flex;flex-wrap:wrap;gap:8px;align-items:center; }
.usage-help { margin:0 0 18px;border:1px solid #e3dde8;border-radius:10px;background:white;padding:12px 16px; }
.usage-help summary { cursor:pointer;font-weight:700;min-height:24px; }
.usage-help p { line-height:1.6;max-width:90ch; }
.app-status-region { position:fixed;bottom:calc(12px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(640px,calc(100% - 24px));z-index:200;display:grid;gap:8px; }
.app-status { display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px 18px;border:1px solid #dac4eb;border-radius:12px;background:#fff;color:#17131d;box-shadow:0 4px 24px #17131d24;font:14px/1.5 system-ui,sans-serif; }
.app-status span { flex:1 1 220px; }
.app-status button,.pwa-install { cursor:pointer;min-height:44px;padding:10px 14px;border:1px solid #6f2dbd;border-radius:8px;background:#6f2dbd;color:white;font:600 14px system-ui,sans-serif; }
.feedback { display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;margin:0 0 18px;border:1px solid #e6b8c2;border-radius:10px;background:#fff2f4;color:#82172b; }
.feedback [role] { flex:1;min-width:180px; }
.feedback[data-tone="success"] { background:#eef9f2;color:#075b36;border-color:#b6ddc6; }
.feedback button { min-height:44px; }
.loading-status { color:#595361;min-height:1.5em; }
.loading-status:empty { min-height:0;margin:0; }
.budget-field { display:grid;gap:5px;font-size:.85rem; }
.budget-field input { width:100%;min-width:120px; }
@media(min-width:721px) { #main-tabs.navbar-tabs { flex-wrap:wrap;overflow:visible; } .dashboard-navbar { align-items:flex-start; } }
@media(max-width:720px) {
  .dashboard-shell { padding-top:max(12px,env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom)); }
  .page-context { flex-direction:column;gap:4px; }
  .page-context h1 { font-size:1.65rem; }
  :where(input,select,textarea) { font-size:16px; }
  .page-tools { width:100%; }
  .usage-help { font-size:.9rem; }
  .mobile-menu-open #main-tabs { padding-bottom:calc(24px + env(safe-area-inset-bottom)); }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important;animation-duration:.01ms !important;transition-duration:.01ms !important;animation-iteration-count:1 !important; } }
