/* theme-v1.css — neutral high-tech design layer (loads AFTER main-v135.css).
   Single source of truth for tokens; safe skin-level overrides, fully reversible. */
:root{
    /* Modern Minimalist — sophisticated grayscale */
    --bg:#f4f5f6;
    --surface:#ffffff;
    --surface-2:#eef0f1;
    --ink:#36454f;          /* charcoal: text + primary */
    --ink-soft:#4a5862;
    --muted:#708090;        /* slate gray */
    --line:#e6e8ea;
    --line-strong:#d3d3d3;  /* light gray */
    --accent:#36454f;       /* grayscale accent = charcoal */
    --accent-ink:#ffffff;
    --accent-weak:rgba(112,128,144,.20);  /* slate focus ring */
    --ok:#15924b;
    --bad:#d33a3a;
    --radius:14px;
    --radius-sm:10px;
    --radius-pill:999px;
    --shadow-sm:0 1px 2px rgba(20,22,26,.06), 0 1px 3px rgba(20,22,26,.05);
    --shadow:0 6px 24px rgba(20,22,26,.08);
    --shadow-lg:0 24px 60px rgba(20,22,26,.18);
    --font:"Segoe UI","Helvetica Neue",Arial,"Noto Sans Hebrew",sans-serif;
    --tr:.18s cubic-bezier(.4,0,.2,1);
}

/* base */
body{ background:var(--bg)!important; color:var(--ink)!important; font-family:var(--font)!important;
    -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
h1,h2,h3{ color:var(--ink); letter-spacing:-.01em; }
h1{ font-weight:700; }
.muted{ color:var(--muted)!important; }
a{ color:var(--accent); }

/* surfaces */
.panel-card{ background:var(--surface)!important; border:1px solid var(--line)!important;
    border-radius:var(--radius)!important; box-shadow:var(--shadow)!important; }
.page-header{ border-bottom:1px solid var(--line); padding-bottom:14px; margin-bottom:18px; }

/* buttons — sleek dark primary + crisp transitions */
.button{ border-radius:var(--radius-pill)!important; font-weight:600!important; border:1px solid transparent!important;
    transition:transform var(--tr), box-shadow var(--tr), background var(--tr), border-color var(--tr)!important; }
.button:hover{ transform:translateY(-1px); }
.button:active{ transform:translateY(0); }
.button.primary{ background:var(--ink)!important; color:#fff!important; box-shadow:var(--shadow-sm)!important; }
.button.primary:hover{ background:#000!important; box-shadow:var(--shadow)!important; }
.button.secondary{ background:var(--surface)!important; color:var(--ink)!important; border-color:var(--line-strong)!important; }
.button.secondary:hover{ background:var(--surface-2)!important; border-color:var(--muted)!important; }
.button.danger{ background:var(--bad)!important; color:#fff!important; }

/* inputs */
.search-input, input[type=text], input[type=password], input[type=email], textarea, select{
    border:1px solid var(--line-strong)!important; border-radius:var(--radius-sm)!important;
    background:var(--surface)!important; color:var(--ink)!important; transition:border-color var(--tr), box-shadow var(--tr)!important; }
.search-input:focus, input:focus, textarea:focus, select:focus{
    outline:none!important; border-color:var(--accent)!important; box-shadow:0 0 0 3px var(--accent-weak)!important; }

/* tables */
.inv-table-wrap{ border-color:var(--line)!important; box-shadow:var(--shadow-sm); }
.inv-table thead th{ background:var(--surface-2); color:var(--muted); }
.data-table{ border-collapse:separate; border-spacing:0; }
.data-table th{ background:var(--surface-2); color:var(--muted); font-weight:700; }
.data-table td, .data-table th{ border-color:var(--line)!important; }

/* status / messages */
.status-line{ color:var(--muted); }
.message{ border-radius:var(--radius-sm)!important; }
.message.success{ background:rgba(21,146,75,.10)!important; color:var(--ok)!important; }
.message.error{ background:rgba(211,58,58,.10)!important; color:var(--bad)!important; }
.placeholder-panel{ background:var(--surface-2); border-radius:var(--radius-sm); color:var(--muted); }

/* top bar */
.app-topbar, .user-bar{ background:var(--ink)!important; border-bottom:1px solid rgba(255,255,255,.08)!important;
    box-shadow:var(--shadow-sm); }
.topbar-icon-btn{ border-radius:var(--radius-sm)!important; transition:background var(--tr)!important; }
.topbar-icon-btn:hover{ background:rgba(255,255,255,.10)!important; }

/* dialogs */
.app-dialog, .ru-dialog, .model-detail-dialog{ border:1px solid var(--line)!important;
    border-radius:18px!important; box-shadow:var(--shadow-lg)!important; }
.app-dialog::backdrop, .ru-dialog::backdrop, .model-detail-dialog::backdrop{ background:rgba(20,22,26,.45)!important; }

/* segmented controls: light track, only the active segment subtly raised */
.tabs{ display:inline-flex!important; gap:4px!important; background:var(--surface-2)!important;
    padding:4px!important; border-radius:var(--radius-pill)!important; border:1px solid var(--line)!important; }
.tab-button, .level-button{ border-radius:var(--radius-pill)!important; border:1px solid transparent!important;
    background:transparent!important; color:var(--muted)!important; font-weight:600!important;
    box-shadow:none!important; transition:all var(--tr)!important; }
.tab-button:hover, .level-button:hover{ background:rgba(54,69,79,.06)!important; color:var(--ink)!important; }
.tab-button.active, .level-button.active{ background:var(--surface)!important; color:var(--ink)!important; box-shadow:var(--shadow-sm)!important; font-weight:700!important; }
/* wrap the level buttons row as a track too, when present */
.level-toggle, .level-buttons, .report-level-toggle{ display:inline-flex!important; gap:4px!important;
    background:var(--surface-2)!important; padding:4px!important; border-radius:var(--radius-pill)!important; border:1px solid var(--line)!important; }

/* barcode legibility */
.c-barcode, .inv-table .c-barcode, td.barcode-cell{ color:var(--ink)!important; font-family:monospace!important; letter-spacing:.02em; }

/* icon buttons */
.icon-btn{ transition:transform var(--tr), background var(--tr), box-shadow var(--tr)!important; }
.icon-btn:hover{ transform:translateY(-1px); }

/* list cards (scans, etc.) */
.items-list > li{ background:var(--surface)!important; border:1px solid var(--line)!important;
    border-radius:var(--radius)!important; box-shadow:var(--shadow-sm)!important; transition:box-shadow var(--tr), transform var(--tr); }
.items-list > li:hover{ box-shadow:var(--shadow); }

/* report analysis table: clean rows, color only on the diff cell */
.analysis-table tbody tr.inventory-status-row{ background:var(--surface)!important; }
.analysis-table tbody tr.inventory-status-row:hover{ background:var(--surface-2)!important; }
.analysis-table td{ border-color:var(--line)!important; }
.barcode-cell, .strong-barcode-cell{ color:var(--ink)!important; font-family:monospace!important; letter-spacing:.02em; }
.real-diff-positive{ color:#0f7a34!important; font-weight:800!important; }
.real-diff-negative{ color:#c0392b!important; font-weight:800!important; }
.row-number-pill{ background:var(--surface-2)!important; color:var(--muted)!important; }
.analysis-row-count-badge{ background:var(--surface-2)!important; color:var(--muted)!important;
    border-radius:var(--radius-pill); padding:2px 12px; font-weight:600; }
