/* ============ Logvision / Учет бревен — design tokens ============ */
@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;500;600;700;800;900&display=swap');

:root {
  /* brand */
  --green:        #1A9D4A;
  --green-strong: #15863E;
  --green-deep:   #0F6E32;
  --green-tint:   #E9F7EE;
  --green-tint-2: #DCF1E3;
  --green-line:   #BFE6CC;

  /* ink + neutrals */
  --ink:    #1C2A43;   /* headings */
  --ink-2:  #5E6E88;   /* body / secondary */
  --ink-3:  #93A0B5;   /* labels, muted */
  --ink-4:  #B8C2D2;   /* faint */

  /* accents */
  --blue:       #2D6CDB;   /* numbers, links */
  --blue-tint:  #EAF1FD;
  --orange:     #EE7B2B;   /* low confidence / warning */
  --orange-tint:#FCE9D8;
  --red:        #E2564E;   /* undo / destructive */
  --red-tint:   #FCEBEA;

  /* surfaces */
  --bg:      #F4F6F9;
  --bg-2:    #EEF1F6;
  --card:    #FFFFFF;
  --line:    #E8ECF2;
  --line-2:  #EFF2F7;
  --field:   #FFFFFF;

  /* radii */
  --r-xl: 26px;
  --r-lg: 20px;
  --r-md: 16px;
  --r-sm: 12px;
  --r-xs: 9px;

  /* shadow */
  --shadow-card: 0 1px 2px rgba(28,42,67,.04), 0 8px 24px rgba(28,42,67,.06);
  --shadow-soft: 0 1px 2px rgba(28,42,67,.05), 0 2px 8px rgba(28,42,67,.04);
  --shadow-pop:  0 10px 34px rgba(28,42,67,.16);
  --shadow-green:0 12px 26px rgba(26,157,74,.30);

  --font: 'Golos Text', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body { font-family: var(--font); color: var(--ink); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

button { font-family: inherit; cursor: pointer; border: none; background: none; }
.tnum { font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; }

/* scrollbars inside device screens */
.lv-scroll { scrollbar-width: thin; scrollbar-color: #CBD3DF transparent; }
.lv-scroll::-webkit-scrollbar { width: 8px; height: 8px; }
.lv-scroll::-webkit-scrollbar-thumb { background: #D2DAE5; border-radius: 8px; }
.lv-scroll::-webkit-scrollbar-track { background: transparent; }

/* ---- range slider ---- */
input[type=range] { -webkit-appearance: none; appearance: none; height: 8px; border-radius: 999px; background: #DDE4EC; outline: none; }
input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 26px; height: 26px; border-radius: 50%; background: var(--green); border: 4px solid #fff; box-shadow: 0 2px 6px rgba(26,157,74,.4); cursor: pointer; }
input[type=range]::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: var(--green); border: 4px solid #fff; box-shadow: 0 2px 6px rgba(26,157,74,.4); cursor: pointer; }

/* ---- keyframes ---- */
@keyframes lv-pop      { 0%{transform:scale(.4);opacity:0} 60%{transform:scale(1.18)} 100%{transform:scale(1);opacity:1} }
@keyframes lv-rowin    { from{opacity:0; transform:translateY(-14px)} to{opacity:1; transform:translateY(0)} }
@keyframes lv-cellflash{ 0%{background:var(--green-tint-2)} 100%{background:transparent} }
@keyframes lv-pulse    { 0%,100%{transform:scale(1)} 50%{transform:scale(1.06)} }
@keyframes lv-ripple    { 0%{transform:scale(.6);opacity:.55} 100%{transform:scale(2.4);opacity:0} }
@keyframes lv-spin      { to{transform:rotate(360deg)} }
@keyframes lv-fade      { from{opacity:0} to{opacity:1} }
@keyframes lv-rise      { from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:translateY(0)} }
@keyframes lv-bar       { 0%,100%{transform:scaleY(.35)} 50%{transform:scaleY(1)} }
@keyframes lv-dash      { to{stroke-dashoffset:-1000} }
