/*
  Morrow automatic dark mode
  Applies only when the browser/device requests a dark color scheme.
  The existing light theme remains the default and is not changed.
*/
@media (prefers-color-scheme: dark){
  :root{
    color-scheme:dark;

    --bg:#0f1822;
    --surface:#182431;
    --surface-soft:#202d3a;
    --text:#f4f1eb;
    --muted:#aeb9bb;
    --line:#334250;
    --accent:#d7c9f0;
    --accent-dark:#eadff8;
    --accent-soft:#2b2940;
    --blue-soft:#1d3142;
    --success:#77b897;
    --danger:#f28b82;
    --shadow:0 12px 32px rgba(0,0,0,.28);

    --navy:#f4f1eb;
    --sage:#9db9a7;
    --sage-soft:#23342d;
    --purple:#c6b6e6;
    --lavender-soft:#302c43;
    --gold:#dfb866;
    --gold-soft:#3b3221;
    --coral:#e49a89;
    --coral-soft:#412c2b;
    --blue:#8db6d4;

    --morrow-navy:#f4f1eb;
    --morrow-cream:#0f1822;
    --morrow-surface:#182431;
    --morrow-line:#334250;
    --morrow-muted:#aeb9bb;
    --morrow-lavender:#c6b6e6;
    --morrow-lavender-soft:#302c43;
    --morrow-sage:#9db9a7;
    --morrow-sage-soft:#23342d;
    --morrow-gold:#dfb866;
    --morrow-gold-soft:#3b3221;
    --morrow-coral:#e49a89;
    --morrow-coral-soft:#412c2b;
    --morrow-blue:#8db6d4;
    --morrow-blue-soft:#1d3142;
  }

  html,
  body,
  .app{
    background:#0f1822;
    color:var(--text);
  }

  .topbar{
    background:rgba(15,24,34,.94);
    border-bottom-color:var(--line);
  }

  .morrow-header-logo,
  .onboarding-logo,
  .landing-approved-logo{
    filter:brightness(0) invert(1);
  }

  .card,
  .upload-card,
  .form-card,
  .detail-sheet,
  .settings-section,
  .settings-person-card,
  .inbox-list,
  .school-attention-card,
  .school-coming-up-card,
  .activity-coming-up-card,
  .sports-coming-up-card{
    background:var(--surface);
    border-color:var(--line);
    box-shadow:0 8px 24px rgba(0,0,0,.2);
  }

  .card h2,
  .card h3,
  .greeting h1,
  .review-title h2,
  .form-card h3,
  .settings-header h1,
  .settings-section-heading h2,
  .settings-person-heading strong,
  .settings-setup-row strong,
  .sheet-top h2,
  .suggestion-list li{
    color:var(--text);
  }

  .greeting p,
  .card p,
  .date,
  .section-title,
  .teacher-context,
  .review-title p,
  .settings-header p,
  .settings-section-heading p,
  .settings-timezone-note,
  .settings-setup-row span,
  .supported-files,
  .upload-example{
    color:var(--muted);
  }

  .input,
  .search-box,
  .search-box input,
  .settings-field input,
  .settings-field select,
  .onboarding-field input,
  .onboarding-field select,
  textarea,
  select{
    background:var(--surface-soft);
    border-color:var(--line);
    color:var(--text);
  }

  .input:focus,
  .search-box input:focus,
  .settings-field input:focus,
  .settings-field select:focus,
  .onboarding-field input:focus,
  .onboarding-field select:focus{
    background:#263543;
  }

  input::placeholder,
  textarea::placeholder{
    color:#829094;
  }

  .bottom-nav{
    background:rgba(24,36,49,.96);
    border-top-color:var(--line);
  }

  .nav-btn{
    color:#8f9b9f;
  }

  .nav-btn.active{
    color:#f4f1eb;
  }

  .settings-back,
  .onboarding-explore{
    background:var(--surface-soft) !important;
    border-color:var(--line) !important;
    color:var(--text) !important;
  }

  .settings-person-card,
  .settings-school-fields,
  .settings-empty-people{
    border-color:var(--line);
  }

  .teacher-details,
  .favorite-preview,
  .sheet-fact,
  .reason,
  .status,
  .file-preview,
  .empty,
  .onboarding-empty,
  .onboarding-person-number{
    background:var(--surface-soft);
    border-color:var(--line);
    color:var(--text);
  }

  .detail-item{
    background:#273644;
    border-color:#3b4b59;
    color:var(--text);
  }

  .sheet-backdrop{
    background:rgba(0,0,0,.62);
  }

  .sheet-close{
    background:var(--surface-soft);
    color:var(--muted);
  }

  .inbox-row{
    color:var(--text);
    border-bottom-color:var(--line);
  }

  .inbox-row:active{
    background:var(--surface-soft);
  }

  .school-assistant-copy{
    background:#23342d;
    color:#c7dccd;
  }

  .activity-assistant-copy{
    background:#3b3221;
    color:#ead8aa;
  }

  .promise{
    background:#2b2940;
    color:#ded5ef;
  }

  .onboarding-overlay,
  .onboarding-app{
    background:#0f1822;
    color:var(--text);
  }

  .onboarding-topbar{
    background:rgba(15,24,34,.95);
    border-bottom-color:var(--line);
  }

  .onboarding-progress{
    background:var(--line);
  }

  .onboarding-step.active,
  .onboarding-person-card,
  .onboarding-school-card{
    background:var(--surface);
    border-color:var(--line);
    box-shadow:0 10px 28px rgba(0,0,0,.22);
  }

  .onboarding-step h1,
  .onboarding-ready-lead,
  .onboarding-memory-card strong,
  .onboarding-photo-button{
    color:var(--text);
  }

  .onboarding-skip{
    background:var(--surface-soft) !important;
    color:var(--muted) !important;
  }

  .onboarding-photo-button{
    background:var(--surface-soft);
  }

  .onboarding-photo-preview{
    background:var(--surface-soft);
    border-color:var(--line);
  }

  .onboarding-welcome-icons{
    border-color:var(--line);
  }

  .onboarding-memory-card{
    background:#272d31;
    border-color:var(--line);
  }

  .onboarding-memory-card span{
    color:#c5b891;
  }

  .landing-overlay{
    --landing-navy:#f4f1eb;
    --landing-cream:#0f1822;
    --landing-line:#334250;
    background:#0f1822;
    color:#f4f1eb;
  }

  .landing-page{
    background:
      radial-gradient(circle at 12% 8%,rgba(228,154,137,.10),transparent 26%),
      radial-gradient(circle at 88% 28%,rgba(198,182,230,.09),transparent 24%),
      #0f1822;
  }

  .landing-lead,
  .landing-how-grid p,
  .landing-outcome-card li{
    color:#b7c1c2;
  }

  .landing-lead-emphasis,
  .landing-outcome-card h3,
  .landing-how-grid h3{
    color:#f4f1eb;
  }

  .landing-preview,
  .landing-how{
    background:#131f2b;
  }

  .landing-outcomes{
    background:#0c151e;
  }

  .landing-outcome-card{
    background:#182431;
    border-color:#334250;
    box-shadow:0 10px 30px rgba(0,0,0,.2);
  }

  .landing-phone-frame{
    background:#202d3a;
    border-color:#3b4b59;
    box-shadow:0 32px 75px rgba(0,0,0,.35);
  }

  .landing-how-icon{
    background:#202d3a;
    color:#f4f1eb;
    box-shadow:inset 0 0 0 1px #334250;
  }

  .landing-kicker,
  .landing-scroll-cue{
    color:#9da9ab;
  }

  .landing-primary-button{
    background:#f4f1eb;
    color:#0f2238;
    box-shadow:0 12px 26px rgba(0,0,0,.3);
  }

  .landing-ending{
    background:#08111a;
  }

  .upload-examples{
    border-bottom-color:var(--line);
  }

  .supported-files strong{
    color:#b8c2c4;
  }

  img#preview,
  .sheet-image{
    background:var(--surface-soft);
    border-color:var(--line);
  }

  ::-webkit-calendar-picker-indicator{
    filter:invert(1);
  }
}


/* Dark-mode component corrections */
@media (prefers-color-scheme: dark){
  /*
    Preserve the approved full-color logo. A quiet cream backing keeps the
    original navy lettering readable without turning the entire mark white.
  */
  .morrow-header-logo,
  .onboarding-logo,
  .landing-approved-logo{
    filter:none;
  }

  .morrow-header-logo,
  .onboarding-logo{
    padding:4px 8px;
    border-radius:14px;
    background:#f8f5ef;
  }

  .landing-brand-crop{
    padding:6px 10px;
    border-radius:18px;
    background:#f8f5ef;
  }

  /* Keep all reminder content on the same dark card surface. */
  .timeline-summary-rows,
  .school-coming-up-card .school-assistant-copy,
  .school-attention-card .school-assistant-copy,
  .school-insight-card .school-assistant-copy,
  .activity-coming-up-card .activity-assistant-copy,
  .school-review-event,
  .activity-session-review,
  .activity-detail-session{
    background:var(--surface-soft);
    border-color:var(--line);
    color:var(--text);
  }

  .school-coming-up-card .school-assistant-copy,
  .school-attention-card .school-assistant-copy,
  .school-insight-card .school-assistant-copy{
    color:#c7dccd;
  }

  .activity-coming-up-card .activity-assistant-copy{
    color:#ead8aa;
  }

  /* Soft icon wells instead of bright white blocks. */
  .icon,
  .school-event-icon,
  .activity-icon,
  .school-thumb,
  .activity-thumb,
  .inbox-thumb.placeholder,
  .landing-how-icon{
    background:#263543 !important;
    color:#c4d0d1 !important;
    border-color:#3b4b59 !important;
  }

  /* Restore contrast for the five Add-tab labels. */
  #addPage .upload-example,
  #addPage .upload-example span:last-child{
    color:#d4dcdd !important;
  }

  /* Primary actions remain dark, then become lighter on hover/focus. */
  .btn.primary,
  .choose-file-label,
  #askPage .btn.primary,
  .search-box .btn.primary{
    background:#080f17 !important;
    color:#f4f1eb !important;
    border:1px solid #41515f !important;
    box-shadow:0 8px 18px rgba(0,0,0,.3) !important;
  }

  .btn.primary:hover,
  .choose-file-label:hover,
  #askPage .btn.primary:hover,
  .search-box .btn.primary:hover,
  .btn.primary:focus-visible,
  .choose-file-label:focus-visible,
  #askPage .btn.primary:focus-visible,
  .search-box .btn.primary:focus-visible{
    background:#2b3b49 !important;
    border-color:#60717f !important;
  }
}


/* Final landing CTA: match the corrected dark-mode primary buttons. */
@media (prefers-color-scheme: dark){
  .landing-ending .landing-primary-button{
    background:#182431 !important;
    color:#f4f1eb !important;
    border:1px solid #536473 !important;
    box-shadow:0 10px 24px rgba(0,0,0,.34) !important;
  }

  .landing-ending .landing-primary-button:hover,
  .landing-ending .landing-primary-button:focus-visible{
    background:#354654 !important;
    border-color:#738491 !important;
  }
}


/* Back and secondary actions must not fall back to light-mode gray. */
@media (prefers-color-scheme: dark){
  .btn.neutral,
  .onboarding-footer-actions .btn.neutral,
  .settings-back{
    background:#202d3a !important;
    color:#f4f1eb !important;
    border:1px solid #41515f !important;
    box-shadow:none !important;
  }

  .btn.neutral:hover,
  .btn.neutral:focus-visible,
  .onboarding-footer-actions .btn.neutral:hover,
  .onboarding-footer-actions .btn.neutral:focus-visible,
  .settings-back:hover,
  .settings-back:focus-visible{
    background:#354654 !important;
    border-color:#60717f !important;
  }
}


/* Empty-state actions and selected navigation controls. */
@media (prefers-color-scheme: dark){
  .btn.text,
  .empty .btn.text,
  .empty .empty-action{
    background:#182431 !important;
    color:#f4f1eb !important;
    border:1px solid #536473 !important;
    box-shadow:none !important;
  }

  .btn.text:hover,
  .btn.text:focus-visible,
  .empty .btn.text:hover,
  .empty .btn.text:focus-visible,
  .empty .empty-action:hover,
  .empty .empty-action:focus-visible{
    background:#354654 !important;
    border-color:#738491 !important;
  }

  .nav-btn.active .nav-icon{
    background:#263543 !important;
    color:#9db9a7 !important;
    box-shadow:inset 0 0 0 1px #41515f;
  }
}


/* Upload/save confirmation toast contrast. */
@media (prefers-color-scheme: dark){
  .toast{
    background:#263543 !important;
    color:#f4f1eb !important;
    border:1px solid #536473;
    box-shadow:0 10px 28px rgba(0,0,0,.4);
  }
}
