/* Shared screen polish; preserve printing and existing appearance preferences. */
@media screen {
  :root { --review-border:#d7e3dd;--review-surface:#fff;--review-muted:#46594f; }
  html[data-theme="night"] { --review-border:#42544b;--review-surface:#172a23;--review-muted:#c4d5cb; }
  body { overflow-wrap:break-word; }
  main { min-width:0; }
  .top-header { padding-block:12px!important;gap:12px; }
  .top-header h1 { margin-block:0 5px; }
  .v3-hero,.drive-hero { padding:20px 24px!important;margin-bottom:18px!important; }
  .v3-hero p { max-width:80ch;line-height:1.7; }
  .v3-panel,.panel,.drive-panel { border-radius:12px;border-color:var(--review-border); }
  :is(button,a,input,select,textarea):focus-visible { outline:3px solid #3984c4;outline-offset:3px; }
  button:disabled { opacity:.55;cursor:not-allowed; }
  .v3-table-wrap,.me-table-wrap { max-height:70vh;overflow:auto;overscroll-behavior:contain; }
  .v3-table-wrap thead th,.me-table-wrap thead th { position:sticky;top:0;z-index:2;background:var(--review-surface);color:inherit;box-shadow:0 1px 0 var(--review-border); }
  .v3-table td,.v3-table th { padding:11px 12px;vertical-align:middle; }
  .v3-table td { font-variant-numeric:tabular-nums; }
  .v3-table tbody tr:hover { background:rgba(70,130,95,.06); }
  .review-note { padding:12px 16px;border-inline-start:4px solid #54866b;border-radius:8px;background:var(--review-surface);color:var(--review-muted);line-height:1.8;margin:14px 0; }
  .review-empty-period { display:block;color:var(--review-muted);font-size:.8em; }
  .review-disclosure,#monthlyClosePanel { margin:16px 0;border:1px solid var(--review-border);border-radius:12px;background:var(--review-surface); }
  .review-disclosure>summary,#monthlyClosePanel>summary { padding:14px 18px;font-weight:700;cursor:pointer; }
  .review-disclosure>.panel,.review-disclosure>.v3-panel,.review-disclosure>.drive-panel { margin:0;border:0;box-shadow:none; }
  .review-disclosure[open]>summary { border-bottom:1px solid var(--review-border); }
  .review-pagination { display:flex;align-items:center;justify-content:center;gap:16px;padding-top:16px; }
  .review-secondary,#forgotBtn,#togglePassword { background:transparent!important;color:var(--appearance-accent,#176b4f)!important;border:1px solid var(--review-border)!important;box-shadow:none!important; }
  .review-danger { background:#a92828!important;color:white!important; }
  .review-nav-group { display:grid;gap:4px;margin:0;padding:8px;border:0; }
  .review-nav-group>strong { color:var(--review-muted);font-size:.85em;padding:8px;border-bottom:1px solid var(--review-border); }
  .minya-desktop-more-panel { width:min(780px,90vw)!important;max-height:75vh;overflow:auto; }
  .minya-desktop-more-panel:not([hidden]) { display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start; }
  .review-nav-group a { white-space:normal!important; }
  .review-quick-search { display:block;max-width:480px;margin:12px 0; }
  .review-reading { position:fixed;bottom:14px;left:14px;z-index:1600;background:var(--review-surface);color:var(--review-muted);border:1px solid var(--review-border);border-radius:10px;padding:10px;box-shadow:0 4px 16px #0001;max-width:260px; }
  .review-reading summary { cursor:pointer; }
  .review-reading label { display:block;margin:8px 0; }
  .review-reading select { width:100%;min-height:38px; }
  #annualComparisonGrid { grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important; }
  @media(max-width:760px) {
    .v3-hero,.drive-hero { padding:16px!important; }
    .v3-form-grid,.v3-search-grid { grid-template-columns:1fr!important; }
    .v3-filter { align-items:stretch; }
    .v3-filter>label { flex:1 1 140px;min-width:0; }
    .minya-desktop-more { display:none!important; }
    .review-reading { bottom:10px;left:10px;font-size:12px; }
    #annualSummaryCards { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  }
  @media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important;animation:none!important;transition:none!important; } }
}
@media print {
  .review-reading,.review-pagination,.review-quick-search { display:none!important; }
  .v3-table-wrap,.me-table-wrap { max-height:none!important;overflow:visible!important; }
}

@media screen and (min-width:761px) {
 body header.top-header > nav .minya-desktop-more-panel { position:fixed!important;left:16px!important;right:16px!important;width:auto!important;top:var(--review-menu-top,120px)!important;max-height:calc(100dvh - var(--review-menu-top,120px) - 20px);background:var(--review-surface)!important; }
 body header.top-header > nav .minya-desktop-more-panel .review-nav-group > a.app-nav-link { display:flex!important;width:100%!important;min-height:40px!important;height:auto!important;padding:8px 10px!important;color:var(--review-muted)!important;background:transparent!important;border:1px solid transparent!important;justify-content:flex-start!important; }
 body header.top-header > nav .minya-desktop-more-panel .review-nav-group > a.app-nav-link:is(:hover,:focus-visible,.active) { background:#17634c!important;color:#fff!important; }
}
@media screen { .review-reading { bottom:78px; } }

@media screen {
 html body main button.review-secondary { background:transparent!important;color:var(--appearance-accent,#176b4f)!important;border:1px solid var(--review-border)!important;box-shadow:none!important; }
 html body main button.review-danger { background:#a92828!important;color:#fff!important; }
 body:has(.minya-header-menu-wrap.open,.minya-desktop-more.open) :is(.review-reading,#minyaAppearanceButton,#minyaBackToTop) { visibility:hidden!important; }
 .review-page-nav { display:flex;gap:10px;flex-wrap:wrap; }
 #annualInsights { grid-template-columns:repeat(auto-fit,minmax(155px,1fr))!important; }
}

@media screen {
 .page-report section.actions { position:sticky;bottom:10px;z-index:90;padding:10px;border:1px solid var(--review-border);border-radius:12px;background:var(--review-surface); }
 .review-future-day { background:#fff8e8; }
 .review-future-label { display:block;color:#805d13;font-weight:700; }
 html[data-theme="night"] .review-future-day { background:#3d3420; }
 html[data-theme="night"] .review-future-label { color:#f8d996; }
 .review-disclosure .report-table-scroll { margin-bottom:0; }
}


@media screen {
  .integrity-extended { display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0; }
  .integrity-extended>div { border:1px solid var(--review-border);border-radius:10px;padding:10px;background:var(--review-surface);min-width:0; }
  .integrity-extended span,.integrity-extended small { display:block;color:var(--review-muted); }
  .integrity-extended strong { display:block;font-size:1.35rem;margin:4px 0; }
  .review-readonly-hidden { display:none!important; }
  .v3-panel,.panel,.drive-panel,.monthly-chart,.summary-box { content-visibility:auto;contain-intrinsic-size:320px; }
}
@media screen and (max-width:760px) {
  body { max-width:100vw;overflow-x:hidden; }
  main,.container,.v3-page,.panel,.v3-panel { width:100%;max-width:100%;min-width:0;box-sizing:border-box; }
  :is(input,select,textarea,button) { max-width:100%; }
  :is(button,a.app-nav-link) { min-height:42px; }
  .v3-table-wrap,.report-table-scroll,.me-table-wrap { width:100%;max-width:100vw;overflow:auto;overscroll-behavior-inline:contain; }
  .v3-table { width:100%;min-width:0; }
  .report-table,.me-table { width:max-content;min-width:100%; }
  .v3-filter,.actions,.monthly-actions { gap:8px!important;flex-wrap:wrap!important; }
  .v3-filter>* ,.actions>* ,.monthly-actions>* { min-width:0;max-width:100%; }
  .integrity-extended { grid-template-columns:1fr 1fr; }
}
@media screen and (max-width:430px) {
  .integrity-extended { grid-template-columns:1fr; }
  .top-header { padding-inline:10px!important; }
  .v3-hero,.drive-hero,.panel,.v3-panel { padding-inline:12px!important; }
}
@media print {
  @page { size:A4; margin:14mm 10mm 16mm; }
  html,body { width:auto!important;overflow:visible!important;background:#fff!important; }
  header.top-header nav,.no-print,.review-reading,.review-pagination,.review-quick-search,#minyaAppearanceButton,#minyaBackToTop { display:none!important; }
  main,.container,.v3-page { width:100%!important;max-width:none!important;margin:0!important;padding:0!important; }
  .v3-panel,.panel,.drive-panel,.monthly-chart,.summary-box { content-visibility:visible!important;contain:none!important;box-shadow:none!important;break-inside:avoid-page; }
  table { width:100%!important;max-width:100%!important;border-collapse:collapse!important; }
  thead { display:table-header-group; }
  tfoot { display:table-footer-group; }
  tr,td,th { break-inside:avoid;page-break-inside:avoid; }
  .v3-table-wrap,.report-table-scroll,.me-table-wrap { overflow:visible!important;max-height:none!important; }
  .review-disclosure { border:0!important; }
  .review-disclosure>summary { display:none!important; }
  .review-disclosure:not([open])>*:not(summary) { display:block!important; }
  a { color:#000!important;text-decoration:none!important; }
}


@media screen {
  .today-comparisons { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0; }
  .today-comparisons>div { border:1px solid var(--review-border);border-radius:10px;padding:10px;background:var(--review-surface);min-width:0; }
  .today-comparisons span,.today-comparisons small { display:block;color:var(--review-muted); }
  .today-comparisons strong { display:block;margin:4px 0;font-size:1.15rem; }
}
@media screen and (max-width:760px) { .today-comparisons { grid-template-columns:1fr; } }

/* Unified interaction language for every existing route. Presentation only. */
@media screen {
  :root {
    --ui-green-strong: #0f5c43;
    --ui-green: #176b4f;
    --ui-green-soft: #eaf6f0;
    --ui-line: #dce7e1;
    --ui-ink: #172a22;
  }

  .container, main.container { position: relative; }
  .panel, .v3-panel, .drive-panel, .summary-box {
    border: 1px solid var(--ui-line) !important;
    box-shadow: 0 8px 24px rgba(20, 56, 42, .055) !important;
  }

  :is(.panel, .v3-panel, .drive-panel) > :is(h1, h2, h3) {
    color: var(--ui-ink);
    letter-spacing: -.15px;
  }

  :is(button, .app-nav-link, .minya-menu-item) {
    min-height: 42px;
    touch-action: manipulation;
  }
  :is(button, .app-nav-link):not(:disabled):hover {
    filter: brightness(1.035);
  }
  :is(input, select, textarea) {
    border-color: #cbdad2;
    background-color: #fff;
  }
  :is(input, select, textarea):focus {
    border-color: var(--ui-green) !important;
    box-shadow: 0 0 0 4px rgba(23, 107, 79, .12) !important;
  }

  .v3-table-wrap, .report-table-scroll, .me-table-wrap {
    border: 1px solid var(--ui-line);
    border-radius: 12px;
    background: #fff;
  }
  :is(.v3-table, .report-table, .me-table) thead th {
    background: #f2f8f5 !important;
    color: #28463a !important;
    border-bottom-color: #cfe0d7 !important;
  }
  :is(.v3-table, .report-table, .me-table) tbody tr:nth-child(even) {
    background: #fbfdfc;
  }

  .message:not(:empty), .review-note {
    border-inline-start-color: var(--ui-green) !important;
    background: var(--ui-green-soft);
  }

  .minya-menu-item.active, .minya-menu-item:focus-visible {
    background: var(--ui-green-soft) !important;
    color: var(--ui-green-strong) !important;
    border-color: #c8e4d5 !important;
  }
}

@media screen and (max-width:760px) {
  .container { margin-inline: auto; }
  .panel, .v3-panel, .drive-panel { border-radius: 12px !important; }
  .actions, .monthly-actions { position: static !important; }
  :is(.v3-table-wrap, .report-table-scroll, .me-table-wrap) { scrollbar-width: thin; }
}
