/* SORA INVENTORY v3.0 — Nutrition-site visual system.
   LAST loaded stylesheet. No backend, count, or upload logic changes.
   Pink / warm white / slate / charcoal; no teal/green states.
   Carefully scoped to both appearance modes and existing app components. */
:root,
html[data-theme="light"] {
  color-scheme:light;
  --dark:#161820;
  --teal:#af3e72;
  --good:#a73b74;
  --bg:#fbfafd;
  --panel:#fff;
  --text:#303b55;
  --muted:#68748e;
  --line:#e5e5ee;
  --warning:#906a2b;
  --shadow:0 8px 26px rgba(35,33,58,.055);
  --sora-header:#ffffff;
  --sora-raised:#f7f4f9;
  --sora-field:#fff;
  --sora-brand-primary:#ae3d73;
  --sora-brand-primary-hover:#922f60;
  --sora-brand-on-primary:#fff;
  --sora-brand-secondary-bg:#fff;
  --sora-brand-secondary-text:#8f325f;
  --sora-brand-secondary-border:#e5bfd1;
  --sora-brand-accent:#ed7eab;
  --sora-brand-soft:#fff0f6;
  --sora-brand-soft-text:#903260;
  --sora-brand-progress:#ec81af;
}
html[data-theme="dark"] {
  color-scheme:dark;
  --dark:#14161d;
  --teal:#f093ba;
  --good:#e6a0c1;
  --bg:#11131b;
  --panel:#1c202c;
  --text:#e9ecf6;
  --muted:#b1bacc;
  --line:#34394b;
  --warning:#f0cc95;
  --shadow:0 8px 26px rgba(0,0,0,.24);
  --sora-header:#14161d;
  --sora-raised:#252938;
  --sora-field:#151a25;
  --sora-brand-primary:#a84476;
  --sora-brand-primary-hover:#bd5488;
  --sora-brand-on-primary:#fff;
  --sora-brand-secondary-bg:#252939;
  --sora-brand-secondary-text:#f3cade;
  --sora-brand-secondary-border:#705468;
  --sora-brand-accent:#f19ac0;
  --sora-brand-soft:#352738;
  --sora-brand-soft-text:#ffd3e5;
  --sora-brand-progress:#f18eb9;
}
html[data-theme] body {background:var(--bg)!important;color:var(--text)}
html[data-theme] :is(h1,h2,h3,h4,.stat strong,.item-name b,.im-summary-info strong,.opstats strong){color:var(--text)}
html[data-theme] :is(p,.hint,.im-muted,.opmuted,.stat span,.item-name small){color:var(--muted)}
html[data-theme] :is(a,.eyebrow,.sora-filter-kicker,.im-edit-indicator,.im-photo-status){color:var(--teal)}
html[data-theme] :is(a,button,summary,input,select,textarea){-webkit-tap-highlight-color:transparent}
html[data-theme] :is(a,button,input,select,textarea,summary):focus-visible {outline:2px solid var(--sora-brand-accent)!important;outline-offset:2px}

/* Header, logo, auth form — never use teal again. */
html[data-theme] :is(.top,header.top,.app-header,.site-header,.im-top,.op-top){background:var(--sora-header)!important;color:#f5f3f8!important;border-bottom:1px solid #333546!important}
html[data-theme] .top .brand,html[data-theme] .top .logo{color:#fff!important}
html[data-theme] .logo span {color:var(--sora-brand-accent)!important}
html[data-theme] .top :is(.brand-sub,.user,.user small){color:#c5cada!important}
html[data-theme] .top .link-btn{background:#282936!important;color:#fff!important;border:1px solid #575162!important;border-radius:9px}
html[data-theme] .top .link-btn:hover{background:#3a2d3d!important;border-color:#bf6a95!important}
html[data-theme] .sora-theme-control .sora-theme-select{background:#252735!important;color:#f4f1f7!important;border-color:#575166!important}
html[data-theme] .auth{background:var(--bg)!important}
html[data-theme="dark"] .auth{background:radial-gradient(circle at 50% 0%,#242033 0%,#11131b 70%)!important}
html[data-theme="light"] .auth{background:radial-gradient(circle at 50% 0%,#fff2f8 0%,#fbfafd 70%)!important}
html[data-theme] .auth .panel{background:var(--panel)!important;border:1px solid var(--line)!important}
html[data-theme] .auth .logo{color:var(--text)!important}

/* Neutral panels, inventory locations, inputs, separators. */
html[data-theme] :is(.panel,.stat,.location-card,.im-item,.qc-card,.sora-filter-drawer,.photo-editor,.photo-list,.im-bar){background:var(--panel)!important;color:var(--text)!important;border-color:var(--line)!important;box-shadow:var(--shadow)}
html[data-theme] :is(.location-card,.im-item,.qc-card,.panel){border-radius:14px}
html[data-theme] .location-card:hover{background:var(--sora-brand-soft)!important;border-color:var(--sora-brand-accent)!important}
html[data-theme] .side {background:var(--panel)!important;border-right-color:var(--line)!important}
html[data-theme] .side nav a{color:var(--muted)!important}
html[data-theme] .side nav a:is(:hover,.active){background:var(--sora-brand-soft)!important;color:var(--sora-brand-soft-text)!important}
html[data-theme] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea){background:var(--sora-field)!important;color:var(--text)!important;border-color:var(--line)!important;caret-color:var(--teal)!important;outline-color:var(--sora-brand-accent)!important}
html[data-theme] :is(input,select,textarea)::placeholder{color:var(--muted)!important;opacity:1}
html[data-theme] :is(input[type="checkbox"],input[type="radio"]){accent-color:var(--sora-brand-primary)!important}
html[data-theme] :is(label,legend,.panel label,.auth label,.im-item label,.im-form label){color:var(--text)!important}
html[data-theme] :is(.item-row,.request,.im-edit-body,th,td){border-color:var(--line)!important}
html[data-theme] :is(th,.stat span){color:var(--muted)!important}
html[data-theme] tr:nth-child(even){background:var(--sora-raised)!important}

/* A cohesive, readable button system matching Nutrition, including Products. */
html[data-theme] :is(.btn:not(.secondary),.im-primary,.photo-editor button:not([style]),.photo-editor .action,.sora-session-maintenance .btn:not(.secondary)) {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--sora-brand-primary)!important;
  border:1px solid var(--sora-brand-primary)!important;
  color:var(--sora-brand-on-primary)!important;
  font-weight:700!important;letter-spacing:.01em;
  border-radius:10px!important;min-height:43px;
  padding:10px 16px!important;
  box-shadow:0 2px 5px rgba(40,25,42,.09);
  text-decoration:none!important;
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;
}
html[data-theme] :is(.btn:not(.secondary),.im-primary,.photo-editor button:not([style]),.photo-editor .action):hover:not(:disabled){background:var(--sora-brand-primary-hover)!important;border-color:var(--sora-brand-primary-hover)!important;box-shadow:0 4px 12px rgba(127,40,86,.16)}
html[data-theme] :is(.btn.secondary,.im-secondary,.sora-filter-reset){
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  background:var(--sora-brand-secondary-bg)!important;color:var(--sora-brand-secondary-text)!important;
  border:1px solid var(--sora-brand-secondary-border)!important;
  border-radius:10px!important;min-height:40px;padding:9px 14px!important;
  font-weight:700!important;text-decoration:none!important;box-shadow:none!important;
}
html[data-theme] :is(.btn.secondary,.im-secondary,.sora-filter-reset):hover:not(:disabled){background:var(--sora-brand-soft)!important;border-color:var(--sora-brand-accent)!important}
html[data-theme] :is(.btn,.im-primary,.im-secondary):disabled{opacity:.5;box-shadow:none!important}
html[data-theme] .btn.small{min-height:34px!important;padding:5px 12px!important;font-size:12px}

/* Products: refined cards, top-level filters, two real button styles, clear edit affordance. */
html[data-theme] .im-tabs{border-bottom-color:var(--line)!important;gap:7px}
html[data-theme] .im-tabs a{background:var(--sora-raised)!important;color:var(--muted)!important;border:1px solid var(--line)!important;border-radius:10px!important;padding:10px 14px!important;font-weight:750!important}
html[data-theme] .im-tabs a:hover{background:var(--sora-brand-soft)!important;color:var(--sora-brand-soft-text)!important}
html[data-theme] .im-tabs a.current{background:var(--sora-brand-primary)!important;border-color:var(--sora-brand-primary)!important;color:#fff!important}
html[data-theme] .im-item{border:1px solid var(--line)!important;overflow:hidden}
html[data-theme] .im-item:has(.im-details[open]){border-color:var(--sora-brand-accent)!important;box-shadow:0 6px 22px rgba(126,48,85,.1)}
html[data-theme] .im-summary{border-radius:9px}
html[data-theme] .im-summary:hover .im-edit-indicator{color:var(--sora-brand-primary-hover)!important}
html[data-theme] .im-summary:focus-visible{outline:2px solid var(--sora-brand-accent)!important}
html[data-theme] .im-summary-info strong{color:var(--text)!important}
html[data-theme] :is(.im-muted,.im-summary-info small){color:var(--muted)!important}
html[data-theme] :is(.im-summary-photo,.im-thumb,.im-photo-click .im-thumb,.im-assign,.im-upload,.im-location-row){background:var(--sora-raised)!important;border-color:var(--line)!important;color:var(--text)!important}
html[data-theme] .im-photo-click:hover .im-thumb{background:var(--sora-brand-soft)!important;border-color:var(--sora-brand-accent)!important}
html[data-theme] .im-photo-click:focus-within{outline:2px solid var(--sora-brand-accent)!important}
html[data-theme] .im-bar{border:1px solid var(--line)!important;box-shadow:0 -8px 26px rgba(20,18,30,.14)!important}
html[data-theme] .im-bar .im-primary{min-height:42px!important;white-space:normal}
html[data-theme] .im-catalog-sidebar .im-filter .im-primary{width:100%;min-height:44px;text-align:center!important}
html[data-theme] .im-catalog-sidebar .im-filter .im-secondary{width:100%;min-height:41px;text-align:center!important}
html[data-theme] .im-catalog-sidebar .sora-import-link{color:var(--teal)!important}
html[data-theme] .sora-filter-body{border-color:var(--line)!important}
html[data-theme] .sora-filter-count{border-bottom-color:var(--line)!important}
html[data-theme] .sora-filter-heading strong{color:var(--text)!important}
html[data-theme] .sora-filter-reset {width:100%!important}

/* Indicators use Sora blush / slate instead of green, including success. */
html[data-theme] :is(.pill,.status,.chip,.im-pill){background:var(--sora-brand-soft)!important;color:var(--sora-brand-soft-text)!important;border-color:var(--sora-brand-secondary-border)!important}
html[data-theme] :is(.status.good,.im-pill:not(.ex),.alert.ok){background:var(--sora-brand-soft)!important;color:var(--sora-brand-soft-text)!important}
html[data-theme] .im-pill.ex{background:var(--sora-raised)!important;color:var(--muted)!important}
html[data-theme] :is(.progress,.qc-progress,.count-panel .progress){background:var(--line)!important}
html[data-theme] :is(.progress i,.qc-progress i,#qc-progress){background:var(--sora-brand-progress)!important}
html[data-theme] :is(.mark,.saved.good,#qc-save){color:var(--sora-brand-soft-text)!important}
html[data-theme] .count-panel .sync-banner.good-sync,
html[data-theme] .sync-banner:not(.pending-sync):not(.alert-sync){background:var(--sora-brand-soft)!important;color:var(--sora-brand-soft-text)!important}
html[data-theme] .alert.ok{border:1px solid var(--sora-brand-secondary-border)!important}
html[data-theme] :is(.alert,.alert.bad,.sync-banner.alert-sync){border-radius:9px}
html[data-theme] :is(.item-row:focus-within,.count-panel .item-row:focus-within){background:var(--sora-brand-soft)!important;outline-color:var(--sora-brand-secondary-border)!important}
html[data-theme] .count-screen .count-panel .item-row:focus-within{background:var(--sora-brand-soft)!important}
html[data-theme] :is(.count-panel .count-sticky,.count-screen .count-panel .count-sticky){background:var(--panel)!important;border-color:var(--line)!important}
html[data-theme] .count-screen .count-panel{border-color:var(--line)!important}
html[data-theme] :is(.count-screen .mode-tab.is-selected,.count-mode-switch .mode-tab.is-selected){background:var(--sora-brand-primary)!important;color:#fff!important}
html[data-theme] .count-screen .count-mode-switch{background:var(--sora-raised)!important}
html[data-theme] .count-screen .count-back,html[data-theme] .count-screen .count-help{color:var(--teal)!important;border-color:var(--line)!important}
html[data-theme] #qc-qty{background:var(--sora-field)!important;border-color:var(--sora-brand-secondary-border)!important;color:var(--text)!important}

/* Other manager pages are included in the same site-wide palette. */
html[data-theme] :is(.opnav a,.opstats div,.opentry,.photo-item,.candidate){background:var(--panel)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-theme] .opnav a{background:var(--sora-raised)!important;color:var(--sora-brand-soft-text)!important;border:1px solid var(--line)!important;border-radius:9px}
html[data-theme] .opnav a:hover,html[data-theme] :is(.photo-item:hover,.photo-item.chosen){background:var(--sora-brand-soft)!important;color:var(--sora-brand-soft-text)!important}
html[data-theme] .photo-editor button:not([style]){background:var(--sora-brand-primary)!important}
html[data-theme] :is(.photo-empty,.photo-current){background:var(--sora-raised)!important;color:var(--muted)!important}
html[data-theme] .photo-note{color:var(--muted)!important}
html[data-theme] :is(.opstats div,.photo-list,.photo-editor){border:1px solid var(--line)!important}

/* Bottom menu — overriding old green inline <style> in index.php (v2.4).
   Both light and dark modes have visible active states and contrast. */
@media(max-width:900px){
 html[data-theme] body nav.sora-bottom-nav{
  background:var(--panel)!important;
  border:0!important;
  border-top:1px solid var(--line)!important;
  box-shadow:0 -7px 30px rgba(26,20,44,.13)!important;
 }
 html[data-theme] body nav.sora-bottom-nav a.sora-bottom-nav__item {
  color:var(--muted)!important;background:transparent!important;border:1px solid transparent!important;
  border-radius:11px!important;
 }
 html[data-theme] body nav.sora-bottom-nav a.sora-bottom-nav__item.is-current{
  color:var(--sora-brand-soft-text)!important;
  background:var(--sora-brand-soft)!important;
  border-color:var(--sora-brand-secondary-border)!important;
  box-shadow:inset 0 0 0 1px rgba(160,75,115,.08)!important;
 }
 html[data-theme] body nav.sora-bottom-nav a.sora-bottom-nav__item:not(.is-current):hover{
  background:var(--sora-raised)!important;color:var(--sora-brand-soft-text)!important;
 }
 html[data-theme] body nav.sora-bottom-nav a.sora-bottom-nav__item:focus-visible{outline:2px solid var(--sora-brand-accent)!important}
 html[data-theme] body nav.sora-bottom-nav .sora-bottom-nav__icon svg{stroke:currentColor!important}
}
@media(max-width:900px){
 html[data-theme] :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]){font-size:16px!important}
}
@media(prefers-reduced-motion:reduce){html[data-theme] :is(.btn,.im-primary,.im-secondary){transition:none!important}}

/* v3.1 — Sora Nutrition-style theme-aware header.
   Light: white/slate/pink. Dark: charcoal/white/pink.
   Overrides the former dark-only header styles without affecting app logic. */
html[data-theme="light"] :is(.top,header.top,.app-header,.site-header,.im-top,.op-top) {
  background:#ffffff!important;
  color:#303b55!important;
  border-bottom:1px solid #e5e5ee!important;
}
html[data-theme="light"] .top :is(.brand,.logo) {color:#303b55!important;}
html[data-theme="light"] .top :is(.brand-sub,.user,.user small) {color:#68748e!important;}
html[data-theme="light"] .top .link-btn {
  background:#ffffff!important;
  color:#903260!important;
  border:1px solid #e5bfd1!important;
}
html[data-theme="light"] .top .link-btn:hover {background:#fff0f6!important;border-color:#ec81af!important;}
html[data-theme="light"] .sora-theme-control .sora-theme-select {
  background:#ffffff!important;
  color:#303b55!important;
  border:1px solid #dcdce7!important;
}
