/* Life OS 0.41.4 — Vintage Garden authoritative mobile parity + contrast contract.
   Loaded last on purpose: mobile/refinement layers must never repaint this theme dark. */
:root[data-theme="vintage-garden"]{
  color-scheme:light;
  --vg-canvas:#FFEED0;
  --vg-surface:#F3CCD4;
  --vg-raised:#F5DDD8;
  --vg-hover:#EAB9C4;
  --vg-green:#4A6F39;
  --vg-green-dim:#3F5D34;
  --vg-green-faint:#535D42;
  --vg-ink:#2D3D27;
  --vg-accent:#A84B60;
  --vg-accent-hover:#974154;
  --vg-link:#7B3042;

  --bg:var(--vg-canvas);--bg-elevated:var(--vg-surface);--bg-elevated-2:var(--vg-raised);--bg-hover:var(--vg-hover);
  --border:var(--vg-green);--border-soft:rgba(74,111,57,.28);
  --text:var(--vg-green);--text-dim:var(--vg-green-dim);--text-faint:var(--vg-green-faint);
  --accent:var(--vg-accent);--accent-soft:rgba(168,75,96,.14);--accent-text:var(--vg-link);

  --life-canvas:var(--vg-canvas);--life-surface:var(--vg-surface);--life-surface-raised:var(--vg-raised);--life-surface-secondary:var(--vg-raised);
  --life-surface-soft:var(--vg-raised);--life-control:var(--vg-raised);--life-hover:var(--vg-hover);--life-fill-hover:var(--vg-hover);--life-fill-selected:var(--vg-surface);
  --life-ink:var(--vg-green);--life-secondary:var(--vg-green-dim);--life-muted:var(--vg-green-dim);--life-tertiary:var(--vg-green-faint);
  --life-line:var(--vg-green);--life-line-strong:var(--vg-green);--life-line-soft:rgba(74,111,57,.28);
  --life-action:var(--vg-accent);--life-action-ink:var(--vg-canvas);--life-focus:var(--vg-accent);--life-focus-strong:var(--vg-link);
  --life-accent:var(--vg-accent);--life-accent-muted:rgba(168,75,96,.14);
  --life-material:rgba(255,238,208,.96);--life-material-heavy:rgba(74,111,57,.98);
  --life-shadow-menu:0 12px 34px rgba(74,45,39,.14),0 1px 0 rgba(255,255,255,.46) inset;
  --life-shadow-sheet:0 28px 72px rgba(74,45,39,.20),0 1px 0 rgba(255,255,255,.54) inset;
}

/* Shared desktop/mobile semantic surfaces: mirrors the original desktop palette. */
:root[data-theme="vintage-garden"] body.life-ui{background:var(--vg-canvas)!important;color:var(--vg-green)!important}
:root[data-theme="vintage-garden"] body.life-ui #content{background:var(--vg-canvas)!important;color:var(--vg-green)!important}
:root[data-theme="vintage-garden"] body.life-ui :is(h1,h2,h3,h4,.page-title,.page-subtitle){color:var(--vg-green)}
:root[data-theme="vintage-garden"] body.life-ui a{color:var(--vg-link);text-decoration-color:var(--vg-accent)}
:root[data-theme="vintage-garden"] body.life-ui .btn-primary{background:var(--vg-accent)!important;border-color:var(--vg-accent)!important;color:var(--vg-canvas)!important}
:root[data-theme="vintage-garden"] body.life-ui .btn-primary:hover{background:var(--vg-accent-hover)!important;border-color:var(--vg-accent-hover)!important;color:var(--vg-canvas)!important}

/* Pink surfaces use the darker desktop card ink, not structural green. */
:root[data-theme="vintage-garden"] body.life-ui :is(
  .card,.life-surface,.module346-travel-card,.life-home-now,
  .mc343-search-panel,.mc343-allday,.mc343-timeline,.mc343-selected-list,
  .life-cal-search-results,.mcal155-filter-panel,.qa-preview,.todo345-filter-details>.card
){
  --life-ink:var(--vg-ink);--life-secondary:var(--vg-green-dim);--life-muted:var(--vg-green-dim);--life-tertiary:var(--vg-green-faint);
  background-color:var(--vg-surface)!important;color:var(--vg-ink)!important;
}
:root[data-theme="vintage-garden"] body.life-ui :is(.card,.life-surface,.module346-travel-card,.life-home-now) :is(.card-title,strong,h2,h3,h4){color:var(--vg-ink)}

/* Raised/input surfaces. */
:root[data-theme="vintage-garden"] body.life-ui :is(input,textarea,select,.search-trigger,.ask040-composer textarea,.mc343-search-field){
  --life-ink:var(--vg-ink);--life-secondary:var(--vg-green-dim);--life-muted:var(--vg-green-dim);--life-tertiary:var(--vg-green-faint);
  background:var(--vg-raised)!important;color:var(--vg-ink)!important;border-color:rgba(74,111,57,.45)!important;
}
:root[data-theme="vintage-garden"] body.life-ui :is(input,textarea)::placeholder{color:var(--vg-green-faint)!important;opacity:1}

/* Sheets/editors stay cream, exactly like the desktop modal language. */
:root[data-theme="vintage-garden"] body.life-ui :is(.modal,.life-editor,#ai-panel.ask040,#qa-overlay .qa-panel,.palette){
  --life-ink:var(--vg-green);--life-secondary:var(--vg-green-dim);--life-muted:var(--vg-green-dim);--life-tertiary:var(--vg-green-faint);
  background:var(--vg-canvas)!important;color:var(--vg-green)!important;border-color:rgba(74,111,57,.28)!important;
}

@media(max-width:900px){
  /* Desktop parity: green chrome on top/bottom, cream content, pink selected states. */
  :root[data-theme="vintage-garden"] body.life-ui #topbar,
  :root[data-theme="vintage-garden"] body.life-ui #sidebar,
  :root[data-theme="vintage-garden"] body.life-ui #mobiletab,
  :root[data-theme="vintage-garden"] body.life-ui .mobile-nav-v150{
    --life-ink:var(--vg-canvas);--life-secondary:var(--vg-canvas);--life-muted:var(--vg-canvas);--life-tertiary:var(--vg-canvas);
    background-color:var(--vg-green)!important;color:var(--vg-canvas)!important;
    background-image:repeating-linear-gradient(90deg,rgba(255,238,208,.055) 0,rgba(255,238,208,.055) 1px,transparent 1px,transparent 13px)!important;
    border-color:rgba(255,238,208,.28)!important;
  }
  :root[data-theme="vintage-garden"] body.life-ui #topbar{border-bottom-color:rgba(255,238,208,.28)!important}
  :root[data-theme="vintage-garden"] body.life-ui #sidebar{border-right-color:rgba(255,238,208,.28)!important}
  :root[data-theme="vintage-garden"] body.life-ui #topbar :is(.icon-btn,.crumbs,.crumbs b,button),
  :root[data-theme="vintage-garden"] body.life-ui #sidebar :is(.nav-label,.nav-item,.profile-sub),
  :root[data-theme="vintage-garden"] body.life-ui #mobiletab :is(button,.mobile-nav-btn,.mobile-nav-btn-v150),
  :root[data-theme="vintage-garden"] body.life-ui .mobile-nav-v150 .mobile-nav-btn{color:var(--vg-canvas)!important}

  :root[data-theme="vintage-garden"] body.life-ui #sidebar .nav-item:hover{background:rgba(255,238,208,.12)!important}
  :root[data-theme="vintage-garden"] body.life-ui #sidebar .nav-item.active,
  :root[data-theme="vintage-garden"] body.life-ui #mobiletab :is(.active,.mobile-nav-btn-v150.active),
  :root[data-theme="vintage-garden"] body.life-ui .mobile-nav-v150 .mobile-nav-btn.active{
    background:var(--vg-surface)!important;color:var(--vg-ink)!important;
  }
  :root[data-theme="vintage-garden"] body.life-ui #mobiletab .mobile-nav-btn-v150.add{
    background:var(--vg-accent)!important;color:var(--vg-canvas)!important;
  }

  /* Mobile segmented controls/tabs must never inherit dark materials. */
  :root[data-theme="vintage-garden"] body.life-ui :is(.module346-tabs,.todo345-segmented,.todo345-mobile-stages button.active,.mc343-view-switch){
    background:var(--vg-raised)!important;border-color:rgba(74,111,57,.28)!important;
  }
  :root[data-theme="vintage-garden"] body.life-ui :is(.module346-tabs .tab.active,.mc343-view-switch button.active){
    --life-ink:var(--vg-ink);background:var(--vg-surface)!important;color:var(--vg-ink)!important;
  }

  /* Calendar mobile: cream canvas, pink cards, readable secondary copy. */
  :root[data-theme="vintage-garden"] body.lifeos-mobile[data-mobile-page="calendar"] #content{background:var(--vg-canvas)!important;color:var(--vg-green)!important}
  :root[data-theme="vintage-garden"] body.life-ui .mc343-search-panel,
  :root[data-theme="vintage-garden"] body.life-ui .mc343-allday,
  :root[data-theme="vintage-garden"] body.life-ui .mc343-timeline,
  :root[data-theme="vintage-garden"] body.life-ui .mc343-selected-list{
    background:var(--vg-surface)!important;color:var(--vg-ink)!important;border-color:rgba(74,111,57,.28)!important;
  }
  :root[data-theme="vintage-garden"] body.life-ui .mc343-time-event{color:var(--vg-ink)!important}
  :root[data-theme="vintage-garden"] body.life-ui .mc343-add{background:var(--vg-accent)!important;color:var(--vg-canvas)!important}
  :root[data-theme="vintage-garden"] body.life-ui .mc343-text-btn{color:var(--vg-link)!important}

  /* Home and module surfaces that are intentionally transparent retain cream underneath. */
  :root[data-theme="vintage-garden"] body.life-ui :is(.module346-section,.module346-overview-grid>.card,.module346-metrics>.card,.todo345-column,.todo345-board){background:transparent!important}
  :root[data-theme="vintage-garden"] body.life-ui .module346-filter-card>div,
  :root[data-theme="vintage-garden"] body.life-ui .module346-finance-actions .btn:not(.btn-primary),
  :root[data-theme="vintage-garden"] body.life-ui .module346-calc-card>.card-title .module346-disclosure-toggle,
  :root[data-theme="vintage-garden"] body.life-ui #modal-root .modal:has(#f-inv-proj-mode-v110) #investment-preview-v110{
    --life-ink:var(--vg-ink);background:var(--vg-raised)!important;color:var(--vg-ink)!important;border-color:rgba(74,111,57,.28)!important;
  }

  /* Native overlays and backdrops remain warm, never neutral black surfaces. */
  :root[data-theme="vintage-garden"] body.life-ui .mobile-drawer-backdrop-v150{background:rgba(74,45,39,.24)!important}
  :root[data-theme="vintage-garden"] body.life-ui #toast-wrap .toast{
    --life-ink:var(--vg-canvas);background:var(--vg-green)!important;color:var(--vg-canvas)!important;border-color:rgba(255,238,208,.28)!important;
  }

  /* Focus/pressed states keep AA text by using dark card ink on pink hover. */
  :root[data-theme="vintage-garden"] body.life-ui :is(.list-row,.palette-item,.mc343-search-results>button):hover,
  :root[data-theme="vintage-garden"] body.life-ui :is(.list-row,.palette-item,.mc343-search-results>button):active{
    --life-ink:var(--vg-ink);--life-muted:var(--vg-green-dim);--life-tertiary:var(--vg-green-faint);
    background:var(--vg-hover)!important;color:var(--vg-ink)!important;
  }
}

/* Search inputs nested inside a designed field use the parent surface. */
:root[data-theme="vintage-garden"] body.life-ui :is(.los-search,.nut-recipe-link,.nut-catalog-filters) input[type="search"]:is(:focus,:not(:focus)),
:root[data-theme="vintage-garden"] body.life-ui .los-search input[type="text"]{background:transparent!important;box-shadow:none!important}
:root[data-theme="vintage-garden"] body.life-ui .los-search input{border:0!important;outline:0!important}
