@font-face{font-family:Figtree;src:url(fonts/Figtree.woff) format("woff");font-weight:300 900;font-display:swap}

/* Direcție: interfață curată, luminoasă, cu indigo ca accent. Culorile de sezon sunt date, nu decor. */
:root{
  --bg:#f3f5f9;--surface:#fff;--surface2:#eef1f6;--ink:#141a26;--muted:#5c6779;--line:#e3e8ef;--line-strong:#c6cfdb;
  --accent:#4f46e5;--accent-ink:#fff;--accent-soft:#ecebfd;--accent-text:#3f37c9;
  --upright:#9aa6b6;--beam:#6b788b;--tire-empty:#e7ebf1;--tire-groove:rgba(255,255,255,.34);
  --summer:#b97e00;--winter:#2a85cf;--allseason:#2f9163;--stock:#b0388c;
  --good:#17794c;--warn:#a06000;--bad:#c42b2b;--good-bg:#def3e8;--warn-bg:#fbeed3;--bad-bg:#fbe3e3;
  --car:#fff;--car-glass:#d4dbe6;--shadow:0 1px 2px rgba(20,26,38,.05),0 6px 20px rgba(20,26,38,.05);
  --r:14px;--r-s:10px;--body:Figtree,"Segoe UI",Roboto,Arial,sans-serif;color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root[data-theme="auto"]{
    --bg:#10141b;--surface:#191f29;--surface2:#232b37;--ink:#e9edf3;--muted:#a1adbd;--line:#2a3340;--line-strong:#465263;
    --accent:#8f88f7;--accent-ink:#14123a;--accent-soft:#2a2850;--accent-text:#b6b1fb;
    --upright:#5d6a7c;--beam:#8795a8;--tire-empty:#2a3340;--tire-groove:rgba(0,0,0,.28);
    --summer:#ba8514;--winter:#4092d6;--allseason:#3fa071;
    --good:#74d3a4;--warn:#efbb60;--bad:#f49090;--good-bg:#17382a;--warn-bg:#3f3118;--bad-bg:#472226;
    --car:#232b37;--car-glass:#465263;--shadow:0 1px 2px rgba(0,0,0,.3);color-scheme:dark;
  }
}
:root[data-theme="noapte"]{
  --bg:#10141b;--surface:#191f29;--surface2:#232b37;--ink:#e9edf3;--muted:#a1adbd;--line:#2a3340;--line-strong:#465263;
  --accent:#8f88f7;--accent-ink:#14123a;--accent-soft:#2a2850;--accent-text:#b6b1fb;
  --upright:#5d6a7c;--beam:#8795a8;--tire-empty:#2a3340;--tire-groove:rgba(0,0,0,.28);
  --summer:#ba8514;--winter:#4092d6;--allseason:#3fa071;
  --good:#74d3a4;--warn:#efbb60;--bad:#f49090;--good-bg:#17382a;--warn-bg:#3f3118;--bad-bg:#472226;
  --car:#232b37;--car-glass:#465263;--shadow:0 1px 2px rgba(0,0,0,.3);color-scheme:dark;
}
:root[data-theme="grafit"]{
  --bg:#171b20;--surface:#20262d;--surface2:#2b3239;--ink:#eceff2;--muted:#a9b3bc;--line:#333c45;--line-strong:#515c67;
  --accent:#3fc1b0;--accent-ink:#06211d;--accent-soft:#1c3a38;--accent-text:#74dccd;
  --upright:#5f6b77;--beam:#8a97a4;--tire-empty:#333c45;--tire-groove:rgba(0,0,0,.28);
  --summer:#ba8514;--winter:#4092d6;--allseason:#3fa071;
  --good:#74d3a4;--warn:#efbb60;--bad:#f49090;--good-bg:#17382a;--warn-bg:#3f3118;--bad-bg:#472226;
  --car:#2b3239;--car-glass:#515c67;--shadow:0 1px 2px rgba(0,0,0,.3);color-scheme:dark;
}
:root[data-theme="soare"]{
  --bg:#fff;--surface:#fff;--surface2:#eceff3;--ink:#000;--muted:#2c333c;--line:#79838f;--line-strong:#20262e;
  --accent:#2e24b8;--accent-soft:#e3e1fb;--accent-text:#2e24b8;--upright:#3a4450;--beam:#20262e;--tire-empty:#dfe4ea;
  --summer:#946500;--winter:#0f64ad;--allseason:#14704a;--shadow:none;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--body);font-feature-settings:"tnum" 1}
h1,h2,h3{font-weight:700;line-height:1.15;margin:0;letter-spacing:-.015em;text-wrap:balance}
h1{font-size:1.9rem}
h2{font-size:1.2rem;margin:2rem 0 .7rem}
h3{font-size:1.05rem;margin:1rem 0 .4rem}
p{margin:.4rem 0}
a{color:var(--accent-text);text-underline-offset:2px}
img{max-width:100%}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.muted{color:var(--muted)}
.right{text-align:right}
.nowrap{white-space:nowrap}
.ico{width:20px;height:20px;flex:none}
.req{color:var(--bad)}
[hidden]{display:none!important}

/* Cadru */
.shell{display:flex;min-height:100vh;min-height:100dvh}
.rail{width:244px;flex:none;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;z-index:30;padding:.4rem .7rem}
.brand{display:flex;gap:.6rem;align-items:center;padding:.7rem .5rem;color:var(--ink);text-decoration:none;font-weight:800;font-size:1.08rem;letter-spacing:-.02em}
.mark{width:32px;height:32px;flex:none}
.rail nav{flex:1}
.nav-group{margin:.9rem .55rem .2rem;color:var(--muted);font-size:.8rem;font-weight:600}
.rail a{display:flex;gap:.6rem;align-items:center;padding:.48rem .6rem;color:var(--ink);text-decoration:none;font-weight:500;border-radius:var(--r-s);font-size:.97rem}
.rail a .ico{color:var(--muted)}
.rail nav a:hover,.rail-foot a:hover{background:var(--surface2)}
.rail a.on{background:var(--accent-soft);color:var(--accent-text);font-weight:600}
.rail a.on .ico{color:inherit}
.rail .brand:hover{background:none}
.rail-foot{border-top:1px solid var(--line);padding:.5rem 0;margin-top:.5rem}
.rail-foot .link{padding:.35rem .6rem;color:var(--muted)}
.rail-shade{display:none}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.top{display:flex;gap:.75rem;align-items:center;padding:.6rem 1.75rem;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}
.search{flex:1;max-width:560px;position:relative;display:flex;align-items:center;gap:.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-s);padding:0 .75rem;color:var(--muted)}
.search input[type=search]{border:0;background:none;flex:1;padding:.58rem 0;color:var(--ink);font:inherit;min-width:0;outline:0}
.search:focus-within{outline:2px solid var(--accent);outline-offset:1px}
.search-out{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-s);z-index:40;max-height:60vh;overflow:auto;box-shadow:0 12px 32px rgba(20,26,38,.16)}
.search-out a,.search-out button{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:.55rem .8rem;color:var(--ink);text-decoration:none;font:inherit;cursor:pointer}
.search-out a:hover,.search-out button:hover{background:var(--surface2)}
.search-out small{color:var(--muted);display:block}
.content{padding:.8rem 1.75rem 2.5rem;width:100%;max-width:1180px;margin:0 auto}
.content.wide{max-width:1460px}
.head{display:flex;gap:1rem;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin-bottom:1.1rem}
.head-actions,.btnrow{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.section-head h2{margin-top:2rem}

/* Butoane */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:42px;padding:.45rem 1rem;border:1px solid var(--line-strong);border-radius:var(--r-s);background:var(--surface);color:var(--ink);font:600 .97rem var(--body);text-decoration:none;cursor:pointer;transition:background .12s,border-color .12s}
.btn:hover{background:var(--surface2)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:hover{background:var(--accent);filter:brightness(1.1)}
.btn.ghost{background:transparent}
.btn.big{min-height:52px;padding:.6rem 1.5rem;font-size:1.05rem}
.btn.scan{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.btn.scan:hover{background:var(--ink);opacity:.88}
.btn.on{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.link{background:none;border:0;padding:0;color:var(--accent-text);text-decoration:underline;cursor:pointer;font:inherit}
.iconbtn{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-s);width:42px;height:42px;display:grid;place-items:center;color:var(--ink);cursor:pointer}
.only-small{display:none}
.inline{display:inline}

/* Formulare */
.form{max-width:980px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.85rem 1rem}
.field{display:flex;flex-direction:column;gap:.25rem;position:relative}
.field.wide{grid-column:1/-1}
.field>span{font-weight:600;font-size:.92rem}
.field small{color:var(--muted);font-size:.85rem}
input,select,textarea{font:inherit;color:var(--ink)}
.field input,.field select,.field textarea,.filters input:not([type=checkbox]),.filters select,.table input:not([type=checkbox]),.manual input,.map-tools input,.map-tools select{width:100%;min-height:44px;padding:.45rem .7rem;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-s)}
.filters input[type=date]{width:auto}
input[type=checkbox],input[type=radio]{width:21px;height:21px;accent-color:var(--accent)}
.short{max-width:110px}
.check{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;margin-right:1rem;cursor:pointer}
.actions{margin-top:1.1rem;display:flex;gap:.6rem;flex-wrap:wrap}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;align-items:center}
.filters input[type=search],.filters input:not([type]),.filters input[type=email]{flex:1;min-width:210px;max-width:440px}
.filters select{width:auto}
.filters.big input{font-size:1.15rem;min-height:56px;max-width:640px}
.filters.big .btn{min-height:56px}
.alert{padding:.6rem .9rem;border-radius:var(--r-s);margin:.5rem 0 1rem;font-weight:500;background:var(--surface2)}
.alert.ok{background:var(--good-bg)}.alert.warn{background:var(--warn-bg)}.alert.bad{background:var(--bad-bg)}
.note{background:var(--surface2);padding:.6rem .85rem;border-radius:var(--r-s)}
.empty{padding:2.5rem 1rem}
.empty h2{margin-top:0}
.danger{margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--line);display:flex;gap:.5rem;flex-wrap:wrap}
.upload-inline{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:.6rem}
.tabs{display:flex;gap:.25rem;flex-wrap:wrap;margin-bottom:1.2rem;background:var(--surface2);padding:.25rem;border-radius:var(--r-s);width:fit-content;max-width:100%}
.tabs a{padding:.4rem .85rem;text-decoration:none;color:var(--muted);font-weight:600;border-radius:8px}
.tabs a.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(20,26,38,.1)}
.seg{display:inline-flex;gap:.25rem;background:var(--surface2);padding:.25rem;border-radius:var(--r-s);flex-wrap:wrap}
.seg button{border:0;background:transparent;color:var(--ink);padding:.5rem 1.1rem;font:600 1rem var(--body);min-height:46px;cursor:pointer;border-radius:8px}
.seg button.on{background:var(--surface);box-shadow:0 1px 3px rgba(20,26,38,.16)}
.seg.seasons button.on[data-v=vara]{background:var(--summer);color:#fff}
.seg.seasons button.on[data-v=iarna]{background:var(--winter);color:#fff}
.seg.seasons button.on[data-v=allseason]{background:var(--allseason);color:#fff}

/* Tabele */
.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.table{width:100%;border-collapse:collapse}
.table th{text-align:left;font-weight:600;color:var(--muted);font-size:.86rem;padding:.65rem .85rem;border-bottom:1px solid var(--line);white-space:nowrap}
.table td{padding:.6rem .85rem;border-bottom:1px solid var(--line);vertical-align:middle}
.table tr:last-child td{border-bottom:0}
.table tbody tr:hover{background:color-mix(in srgb,var(--surface2) 45%,transparent)}
.table .num{text-align:right}
.table td a{font-weight:500}
.table td a b{white-space:nowrap}
.table .total td{font-weight:700;border-top:1px solid var(--line-strong)}
.matrix td:not(:first-child),.matrix th:not(:first-child){text-align:center}
.matrix .group th{background:var(--surface2);text-align:left;color:var(--ink)}
.pager{display:flex;gap:1rem;align-items:center;justify-content:center;margin:1rem 0;flex-wrap:wrap}

/* Marcaje */
.plate{display:inline-block;font-weight:700;font-size:.92rem;letter-spacing:.03em;padding:0 .4rem;border:1px solid #1b2230;border-left:5px solid #2a5fc4;border-radius:5px;background:#fff;color:#111;white-space:nowrap}
.plate:empty{display:none}
.chip{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;font-size:.9rem;white-space:nowrap}
.chip::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--muted)}
.chip.s-vara::before{background:var(--summer)}
.chip.s-iarna::before{background:var(--winter)}
.chip.s-allseason::before{background:var(--allseason)}
.tag{display:inline-block;padding:.08rem .55rem;border-radius:999px;background:var(--surface2);font-size:.82rem;font-weight:600;white-space:nowrap}
.tag.st-stored,.tag.pay-paid{background:var(--good-bg);color:var(--good)}
.tag.pay-unpaid{background:var(--warn-bg);color:var(--warn)}
.loc{font-weight:700;letter-spacing:.01em;white-space:nowrap}
.loc.big{font-size:1.4rem}
.count{color:var(--muted);font-weight:600}
.tread{font-weight:700;padding:.05rem .45rem;border-radius:6px}
.tread.t-bad{background:var(--bad-bg)}.tread.t-warn{background:var(--warn-bg)}.tread.t-ok{background:var(--good-bg)}

/* Date */
.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.7rem 1.3rem;margin:0 0 1rem}
.facts dt{color:var(--muted);font-size:.88rem}
.facts dd{margin:0;font-weight:500}
.facts.tight{margin-top:1rem}
.facts.vert{grid-template-columns:1fr}
.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:2rem;align-items:start}
.bigsize{font-weight:800;font-size:2.4rem;line-height:1.05;letter-spacing:-.03em;margin:0}
.locbox{background:var(--accent-soft);color:var(--accent-text);padding:1rem 1.1rem;border-radius:var(--r);margin-bottom:1rem;display:flex;flex-direction:column}
.locbox span{font-size:.92rem;font-weight:500}
.locbox strong{font-weight:800;font-size:2.1rem;line-height:1.15;letter-spacing:-.02em}
.locbox a{color:inherit;text-decoration:none}
.qrbox{max-width:150px}
.qrbox svg,.doc-qr svg{display:block;width:100%;height:auto;border-radius:6px}
.photos{display:flex;flex-wrap:wrap;gap:.6rem}
.photos figure{margin:0;width:150px}
.photos img{width:150px;height:112px;object-fit:cover;border-radius:var(--r-s);display:block;background:var(--surface2)}

/* Mașina văzută de sus */
.axle-view{display:grid;grid-template-columns:1fr 112px 1fr;grid-template-rows:1fr 1fr auto;gap:.6rem 1rem;align-items:center;max-width:560px;margin:1rem 0}
.carshape{grid-column:2;grid-row:1/3;width:112px;height:auto}
.wheel{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-s);padding:.5rem .7rem;display:flex;flex-direction:column;text-align:left;font:inherit;color:var(--ink);min-height:84px;width:100%;position:relative;overflow:hidden}
.wheel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--line-strong)}
.wheel b{font-size:.82rem;color:var(--muted)}
.wheel strong{font-weight:700;font-size:1.25rem;line-height:1.2}
.wheel span{font-size:.84rem;color:var(--muted)}
.wheel em{font-size:.82rem;font-style:normal;color:var(--bad)}
.p-FS{grid-column:1;grid-row:1}.p-FD{grid-column:3;grid-row:1}.p-SS{grid-column:1;grid-row:2}.p-SD{grid-column:3;grid-row:2}.p-RZ{grid-column:2;grid-row:3}
.wheel.t-ok::before{background:var(--good)}.wheel.t-warn::before{background:var(--warn)}.wheel.t-bad::before{background:var(--bad)}
.wheel.off{opacity:.6;border-style:dashed}
button.wheel{cursor:pointer}
button.wheel.sel{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}

/* Acasă */
.overview{display:grid;grid-template-columns:auto minmax(190px,auto) minmax(0,1fr);gap:1.75rem;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.3rem 1.5rem;box-shadow:var(--shadow)}
.ring{width:136px;height:136px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--p)*1%),var(--tire-empty) 0);display:grid;place-items:center}
.ring span{width:104px;height:104px;border-radius:50%;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.85rem;color:var(--muted)}
.ring b{font-size:1.8rem;font-weight:800;color:var(--ink);line-height:1;letter-spacing:-.03em}
.ov-nums p{margin:.25rem 0;color:var(--muted)}
.ov-nums b{color:var(--ink);font-weight:700}
.ov-lines{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.3rem 1.5rem}
.ov-line{display:grid;grid-template-columns:22px 1fr 64px;gap:.5rem;align-items:center;color:var(--ink);text-decoration:none;padding:.15rem .2rem;border-radius:7px}
.ov-line:hover{background:var(--surface2)}
.ov-line small{text-align:right;color:var(--muted)}
.fill{display:block;height:10px;background:var(--tire-empty);border-radius:99px;overflow:hidden}
.fill i{display:block;height:100%;background:var(--accent);border-radius:99px}
.today{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:2rem}
.agenda,.todo{list-style:none;padding:0;margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.agenda li{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;padding:.6rem .9rem;border-bottom:1px solid var(--line)}
.agenda li:last-child,.todo li:last-child{border-bottom:0}
.agenda time{color:var(--muted);font-size:.92rem;width:42px}
.agenda a{text-decoration:none;color:inherit;font-weight:500;flex:1;min-width:190px}
.todo li{border-bottom:1px solid var(--line);padding:.6rem .9rem}
.todo a{text-decoration:none;color:inherit}
.todo b{font-size:1.15rem;font-weight:700;margin-right:.3rem}

/* Listă de alegere */
.pick-list{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.pick-list a{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center;padding:.8rem 1rem;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.pick-list a:hover{background:var(--surface2)}
.pick-list a:last-child{border-bottom:0}
.choice{display:flex;flex-direction:column;gap:.5rem}
.choice label{display:flex;gap:.7rem;align-items:flex-start;padding:.75rem .9rem;border:1px solid var(--line-strong);border-radius:var(--r-s);cursor:pointer;background:var(--surface)}
.choice span b{display:block}
.choice label:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}

/* Recepție */
.shell.focus .content{padding:0;max-width:none}
.wizard{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
.wiz-head{display:flex;gap:1rem;align-items:center;padding:.6rem 1rem;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.steps{display:flex;list-style:none;margin:0;padding:0;gap:.4rem;flex:1;counter-reset:s}
.steps li{flex:1;counter-increment:s;padding:.3rem .2rem .45rem;color:var(--muted);font-weight:600;font-size:.93rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;position:relative}
.steps li::before{content:counter(s) ". "}
.steps li::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;border-radius:9px;background:var(--surface2)}
.steps li.on{color:var(--ink)}
.steps li.on::after,.steps li.done::after{background:var(--accent)}
.wiz-body{flex:1;padding:1.3rem 1.5rem 2rem;width:100%;max-width:1120px;margin:0 auto}
.wiz-body h2{margin-top:1.4rem;font-size:1.3rem}
.wiz-body h2:first-child{margin-top:0}
.wiz-foot{display:flex;gap:1rem;align-items:center;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);position:sticky;bottom:0;z-index:10}
.wiz-msg{flex:1;color:var(--bad);font-weight:600;margin:0}
.bigsearch{width:100%;font-weight:700;font-size:1.6rem;padding:.65rem 1rem;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);text-transform:uppercase;letter-spacing:.01em}
.bigsearch::placeholder{text-transform:none;font-weight:500;color:var(--muted)}
.result-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.7rem}
.result{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center;text-align:left;padding:.75rem .9rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-s);cursor:pointer;font:inherit;color:var(--ink);min-height:58px}
.result:hover{border-color:var(--accent)}
.sel-card{background:var(--accent-soft);border-radius:var(--r);padding:.8rem 1rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.sel-card .plate{font-size:1.3rem}
.sizes{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0}
.sizes button{min-height:44px;padding:.3rem .8rem;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:999px;font:600 .96rem var(--body);cursor:pointer}
.sizes button.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.toggles{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0}
.toggle{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .8rem;min-height:48px;border:1px solid var(--line-strong);border-radius:var(--r-s);background:var(--surface);cursor:pointer;font-weight:600}
.toggle:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.two-col{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,1fr);gap:1.5rem;align-items:start}
.wheel-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:.9rem 1rem;box-shadow:var(--shadow)}
.wheel-panel h3{margin:0 0 .5rem;font-size:1.2rem}
.tread-input{display:flex;gap:.5rem;align-items:center}
.tread-input input[type=range]{flex:1;height:44px;accent-color:var(--accent);min-width:60px}
.tread-input output{font-weight:800;font-size:1.3rem;min-width:84px;text-align:right}
.stepbtn{width:46px;height:46px;border:1px solid var(--line-strong);border-radius:var(--r-s);background:var(--surface);font:700 1.3rem var(--body);color:var(--ink);cursor:pointer}
.thumbs{display:flex;flex-wrap:wrap;gap:.6rem;margin:.8rem 0}
.thumb{position:relative;width:150px}
.thumb img{width:150px;height:112px;object-fit:cover;border-radius:var(--r-s);display:block}
.thumb button{position:absolute;right:4px;top:4px;background:rgba(0,0,0,.72);color:#fff;border:0;border-radius:6px;padding:.2rem .5rem;cursor:pointer;font:600 .85rem var(--body)}
.camera{display:flex;gap:.6rem;flex-wrap:wrap}
.svc-list{display:flex;flex-direction:column;gap:.35rem}
.svc{display:grid;grid-template-columns:auto 1fr auto auto;gap:.7rem;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-s);padding:.4rem .75rem;min-height:54px;cursor:pointer}
.svc:has(input[type=checkbox]:checked){border-color:var(--accent);background:var(--accent-soft)}
.svc input[type=number]{width:74px;min-height:40px;padding:.2rem .4rem;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface)}
.svc .price{font-weight:600;white-space:nowrap}
.sum{text-align:right;font-weight:800;font-size:1.25rem;margin-top:.6rem}
.signpad{position:relative;background:#fff;border:1px dashed var(--line-strong);border-radius:var(--r);height:220px;touch-action:none;overflow:hidden}
.signpad canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}
.signpad .link{position:absolute;right:.7rem;bottom:.45rem;color:#3f37c9}
.signpad.small{height:150px}
.sig-box{display:flex;gap:1rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-s);padding:.4rem .7rem;color:#3f37c9}
.sig-saved{height:64px;max-width:240px;background:#fff;border-radius:6px;display:block}
.summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.5rem 1.2rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:.8rem 1rem;margin:0}
.summary dt{color:var(--muted);font-size:.86rem}
.summary dd{margin:0;font-weight:600}
.terms{font-size:.9rem;color:var(--muted);white-space:pre-line}
.wiz-done{max-width:640px;margin:2rem auto;display:flex;flex-direction:column;gap:.7rem}
.wiz-done h1{font-size:2.1rem}

/* Harta */
.map-tools{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-bottom:.7rem}
.map-tools input{flex:1;min-width:200px;max-width:340px;width:auto}
.map-tools select{width:auto}
.legend{display:flex;gap:.9rem;flex-wrap:wrap;color:var(--muted);font-size:.9rem;align-items:center;margin-bottom:.6rem}
.legend b{color:var(--accent-text);font-weight:600}
.legend i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:.3rem;vertical-align:-1px}
.legend i.l-vara{background:var(--summer)}.legend i.l-iarna{background:var(--winter)}.legend i.l-allseason{background:var(--allseason)}.legend i.l-stock{background:var(--stock)}.legend i.l-free{background:var(--tire-empty)}
.plan-scroll{overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);display:flex}
.plan{position:relative;margin:0 auto;flex:none}
.plan.editing{background-image:radial-gradient(var(--line-strong) 1px,transparent 1.5px);background-size:var(--cell) var(--cell)}
.prack{position:absolute;background:var(--surface);border:1px solid var(--line-strong);border-radius:7px;padding:3px 4px;display:flex;gap:6px;align-items:stretch;cursor:pointer;color:var(--ink);font:inherit;text-align:left;overflow:hidden;touch-action:none}
.prack:hover{border-color:var(--accent)}
.prack.sel{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
.pr-code{font-weight:800;font-size:.95rem;align-self:center;min-width:16px;text-align:center}
.pr-bays{flex:1;display:flex;gap:3px;min-width:0}
.pr-bay{flex:1;display:flex;flex-direction:column-reverse;gap:1px;min-width:0}
.pr-slot{flex:1;background:var(--tire-empty);min-height:2px;display:flex;border-radius:1px;overflow:hidden}
.pr-slot.off{background:var(--line-strong)}
.pr-slot i{display:block;height:100%}
.pr-slot .s-vara{background:var(--summer)}.pr-slot .s-iarna{background:var(--winter)}.pr-slot .s-allseason{background:var(--allseason)}.pr-slot .s-stock{background:var(--stock)}
.prack.dim{opacity:.3}
.pzone{position:absolute;border:1px dashed var(--line-strong);border-radius:7px;color:var(--muted);display:grid;place-items:center;font-weight:600;font-size:.88rem;padding:2px;text-align:center;overflow:hidden;touch-action:none}
.plan.editing .prack,.plan.editing .pzone{cursor:move;border-color:var(--accent)}
.pr-resize{position:absolute;right:0;bottom:0;width:18px;height:18px;background:var(--accent);cursor:nwse-resize;clip-path:polygon(100% 0,100% 100%,0 100%)}
.elev-title{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:flex-end;margin:1.4rem 0 .6rem}
.elev-title h2{margin:0}
.elev-title p{margin:.1rem 0 0}
.elev-wrap{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1rem;align-items:start}
.elev-scroll{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:.5rem .8rem .8rem}
.elev{display:grid;column-gap:8px;min-width:max-content}
.bay-h{font-size:.82rem;font-weight:600;color:var(--muted);text-align:center;padding:.1rem 0 .3rem}
.lvl-h{font-size:.82rem;font-weight:600;color:var(--muted);align-self:center}
.slot{appearance:none;border:0;background:transparent;border-bottom:4px solid var(--beam);border-radius:0;min-height:86px;padding:6px 3px 4px;cursor:pointer;display:flex;gap:4px;align-items:flex-end;font:inherit;color:var(--ink);margin-bottom:6px}
.slot:hover{background:var(--surface2)}
.tset{display:flex;flex-direction:column;align-items:stretch;gap:2px;min-width:0}
.tires{display:flex;gap:2px;height:48px}
.tires i{flex:1;min-width:0;border-radius:4px;background:var(--muted);background-image:repeating-linear-gradient(0deg,var(--tire-groove) 0 2px,transparent 2px 6px)}
.tires i.e{background:var(--tire-empty);background-image:none}
.tset.s-vara i{background-color:var(--summer)}.tset.s-iarna i{background-color:var(--winter)}.tset.s-allseason i{background-color:var(--allseason)}.tset.s-stock i{background-color:var(--stock)}
.tset b{font-size:.68rem;font-weight:700;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;min-height:.8rem}
.tset:not([class*=" s-"]) b{display:none}
.slot.sel{outline:2px solid var(--accent);outline-offset:-1px;border-radius:6px 6px 0 0}
.slot.blocked{background:repeating-linear-gradient(45deg,transparent 0 7px,var(--line) 7px 9px)}
.slot.free-target{background:var(--good-bg)}
.slot.hit{background:var(--warn-bg)}
.slot.dim .tset{opacity:.3}
.hint-panel{padding:.5rem .2rem}
.slot-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:.9rem 1rem;box-shadow:var(--shadow)}
.slot-panel h3{margin:0;font-size:1.25rem}
.pset{border-top:1px solid var(--line);margin-top:.6rem;padding-top:.6rem}
.slot-panel>.btn{width:100%;margin-top:.6rem}
dialog.sheet,dialog.ask{border:0;border-radius:var(--r);background:var(--surface);color:var(--ink);padding:1.1rem 1.2rem;width:min(1200px,96vw);max-height:94vh;box-shadow:0 24px 70px rgba(10,14,24,.35)}
dialog.ask{width:min(460px,92vw)}
dialog.ask h2{margin-top:0}
dialog::backdrop{background:rgba(15,19,28,.5)}
.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.6rem}
.sheet-head h2{margin:0}

/* Scanare */
.scanner{max-width:640px}
.scan-stage{position:relative;background:#111722;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;margin:.7rem 0}
.scan-stage video{width:100%;height:100%;object-fit:cover;display:block}
.scan-frame{position:absolute;inset:14% 22%;border:3px solid #fff;border-radius:14px;pointer-events:none;opacity:0}
.scanner.live .scan-frame{opacity:1}
.scan-off{position:absolute;inset:0;display:flex;flex-direction:column;gap:.6rem;align-items:center;justify-content:center;padding:1rem;text-align:center;color:#fff}
.scan-off .btn.ghost{color:#fff;border-color:#ffffff66}
.scan-off .muted{color:#c6cfdb}
.scanner.live .scan-off{display:none}
.scan-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:.85rem 1rem;margin-top:.7rem;box-shadow:var(--shadow)}
.scan-card h2{margin:.1rem 0 .3rem}
.scan-card.good{background:var(--good-bg)}
.scan-card.bad{background:var(--bad-bg)}
.inv-loc{font-size:1.1rem}

/* Poze */
.photo-tools{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:.7rem}
.photo-tools select{min-height:44px;padding:.4rem .6rem;border:1px solid var(--line-strong);border-radius:var(--r-s);background:var(--surface)}
.photos figcaption{font-size:.82rem;color:var(--muted)}
.thumb span{font-size:.82rem;color:var(--muted)}
dialog.camera-dlg{padding:0;background:#0d1117;width:min(900px,100vw);max-width:100vw;max-height:100dvh;overflow:hidden}
.cam-stage{position:relative;background:#000;display:grid;place-items:center;min-height:50vh}
.cam-stage video{width:100%;max-height:78dvh;display:block;object-fit:contain}
.cam-msg{position:absolute;inset:auto 1rem;color:#fff;text-align:center}
.cam-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:.7rem 1rem;color:#fff}
.cam-bar .btn{justify-self:start;color:#fff;border-color:#ffffff55}
.cam-count{justify-self:end}
.shutter{width:68px;height:68px;border-radius:50%;border:4px solid #fff;background:#fff;box-shadow:inset 0 0 0 3px #0d1117;cursor:pointer}

/* Nomenclator și stoc */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.cat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:.9rem 1rem}
.cat h2{margin-top:0}
.cat-add{display:flex;gap:.5rem;align-items:flex-start}
.cat-add textarea{flex:1;min-width:0;padding:.45rem .6rem;border:1px solid var(--line-strong);border-radius:var(--r-s);background:var(--surface)}
.cat-hint{font-size:.84rem}
.cat-list{list-style:none;margin:.5rem 0 0;padding:0;max-height:380px;overflow:auto}
.cat-list li{display:flex;justify-content:space-between;padding:.28rem 0;border-bottom:1px solid var(--line)}
.inline-field{display:inline-flex;align-items:center;gap:.4rem}
.filters .inline-field input{width:82px;min-width:0;flex:none}
.tag.stock{background:color-mix(in srgb,var(--stock) 16%,transparent);color:var(--stock)}
.cond-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-s);margin:.6rem 0}
.cond-box summary{padding:.55rem .8rem;font-weight:600;cursor:pointer}
.cond-box div{padding:0 .8rem .7rem;font-size:.92rem;max-height:300px;overflow:auto}

/* Rapoarte */
.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1.2rem}
.report-grid section{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.15rem}
.report-grid h2{margin-top:0}
.bars{display:flex;flex-direction:column;gap:.3rem}
.bar{display:grid;grid-template-columns:92px 1fr 76px;gap:.5rem;align-items:center;font-size:.92rem}
.bar:hover{background:var(--surface2)}
.bar-k{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar-t{height:14px;display:block}
.bar-t i{display:block;height:100%;min-width:2px;background:var(--accent);border-radius:0 4px 4px 0}
.bar-v{text-align:right;font-weight:600}
.fill-title{margin-bottom:.2rem}
.report-grid .fill{margin-bottom:.8rem}

/* Manual */
.manual{max-width:800px}
.manual input{margin-bottom:.8rem}
.manual details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-s);margin-bottom:.4rem}
.manual summary{padding:.7rem 1rem;font-weight:700;cursor:pointer}
.manual details>div{padding:0 1rem .9rem;max-width:68ch}
.manual li{margin:.3rem 0}
.manual .table{border:1px solid var(--line);margin:.6rem 0}

/* Login și instalare */
.login{min-height:100dvh;display:grid;place-items:center;padding:1rem}
.login-box{background:var(--surface);padding:1.8rem;border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow);width:min(400px,100%);display:flex;flex-direction:column;gap:.7rem}
.login-box .mark{width:48px;height:48px}
.install{max-width:880px;margin:0 auto;padding:1.5rem}
.checks{list-style:none;padding:0}
.checks .ok{color:var(--good)}.checks .bad{color:var(--bad);font-weight:700}
#toasts{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);display:flex;flex-direction:column;gap:.4rem;z-index:100;width:min(440px,92vw)}
.toast{background:var(--ink);color:var(--surface);padding:.65rem .95rem;border-radius:var(--r-s);font-weight:500;box-shadow:0 10px 30px rgba(10,14,24,.3)}

@media (max-width:1100px){
  .elev-wrap{grid-template-columns:minmax(0,1fr)}
  .overview{grid-template-columns:auto minmax(0,1fr)}
  .ov-lines{grid-column:1/-1}
}
@media (max-width:900px){
  .rail{position:fixed;left:0;top:0;transform:translateX(-100%);transition:transform .18s}
  .rail.open{transform:none}
  .rail.open+.rail-shade{display:block;position:fixed;inset:0;background:rgba(15,19,28,.5);z-index:25}
  .only-small{display:grid}
  .split,.two-col,.today{grid-template-columns:minmax(0,1fr)}
  .top{padding:.5rem .75rem}
  .content{padding:.6rem 1rem 2rem}
  .steps li{font-size:0;padding:.3rem 0 .45rem}
  .steps li::before{font-size:.95rem}
  .steps li{flex:0 0 26px}
  .steps li.on{font-size:.92rem;flex:1}
}
@media (max-width:560px){
  h1{font-size:1.55rem}
  .btn.scan span{display:none}
  .wiz-body{padding:1rem}
  .bigsearch{font-size:1.25rem}
  .axle-view{grid-template-columns:1fr 60px 1fr;gap:.4rem}
  .carshape{width:60px}
  .wheel{min-height:76px;padding:.35rem .5rem}
  .wheel strong{font-size:1.05rem}
  .wiz-foot .btn{padding:.5rem .9rem}
  .wiz-msg{font-size:.88rem}
  .bigsize{font-size:1.9rem}
  .svc{grid-template-columns:auto 1fr auto}
  .svc input[type=number]{grid-column:2}
  .report-grid{grid-template-columns:minmax(0,1fr)}
  .filters select,.filters .btn{flex:1 1 auto}
  .ring{width:108px;height:108px}.ring span{width:82px;height:82px}.ring b{font-size:1.4rem}
  .overview{padding:1rem;gap:1rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Document A4 */
.doc-tools{display:flex;gap:1rem;align-items:center;padding:.8rem 1rem;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap}
.doc{background:#fff;color:#000;width:210mm;max-width:100%;margin:1rem auto;padding:13mm 14mm;font-size:10.5pt;line-height:1.35}
.doc h1{font-size:18pt;margin:6mm 0 0}
.doc h2{font-size:12pt;margin:4mm 0 1mm}
.doc-head{display:flex;justify-content:space-between;gap:1rem}
.doc-logo{max-height:16mm;display:block;margin-bottom:2mm}
.doc-qr{width:26mm;flex:none}
.doc-no{margin:0 0 3mm}
.doc-t{width:100%;border-collapse:collapse;margin:1mm 0 2mm}
.doc-t th,.doc-t td{border:.2mm solid #888;padding:1mm 1.6mm;text-align:left;vertical-align:top}
.doc-t.two th{width:17mm;background:#f0f0f0}
.doc-terms{font-size:8.5pt;margin-top:3mm}
.doc-sign{display:flex;gap:10mm;margin-top:3mm;break-inside:avoid}
.doc-sign>div{flex:1}
.doc-role{font-size:8.5pt;color:#555;margin:0}
.doc-back{font-size:8.5pt;line-height:1.3}
.doc-back h1{margin-top:0;font-size:14pt}
.cond-cols{column-count:2;column-gap:7mm}
.cond-cols h3{font-size:9pt;margin:2mm 0 .5mm;break-after:avoid}
.cond-cols p{margin:0 0 1mm}
.doc-sign img,.doc-sign .blank{height:22mm;max-width:100%;display:block;border-bottom:.3mm solid #000}

/* Etichete */
.labels{display:flex;flex-wrap:wrap;gap:3mm;padding:3mm}
.label{background:#fff;color:#000;display:flex;align-items:center;overflow:hidden;break-inside:avoid;font-family:var(--body);outline:.2mm solid #bbb}
.label svg{display:block;flex:none;height:100%;width:auto;aspect-ratio:1}
.l-body{flex:1;min-width:0;display:flex;flex-direction:column;padding-right:1.5mm}
.l-top{display:flex;justify-content:space-between;align-items:center;gap:1mm}
.l-plate{font-weight:800;font-size:14pt;line-height:1;white-space:nowrap}
.l-pos{font-weight:800;font-size:13pt;line-height:1;background:#000;color:#fff;padding:.5mm 1.4mm;border-radius:1mm}
.l-size{font-weight:700;font-size:12pt;line-height:1.1;margin-top:.8mm;white-space:nowrap}
.l-meta{font-size:7.5pt;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.l-code{font-weight:700;font-size:9pt;line-height:1.1;margin-top:.5mm}
.l-loc{flex:1;min-width:0;padding:0 2mm}
.l-loc strong{display:block;font-weight:800;font-size:19pt;line-height:1;letter-spacing:-.02em}
.l-loc span{font-size:9pt}
.sign-body{flex:1;min-width:0;padding:0 2mm}
.sign-body span{font-size:10pt}
.sign-body strong{display:block;font-weight:800;font-size:30pt;line-height:1}
.sign-body p{margin:0;font-size:8pt;line-height:1.2}
.sign-body small{font-size:7pt}
.f-100x50 .label{width:100mm;height:50mm}
.f-70x40 .label{width:70mm;height:40mm}
.f-70x40 .l-plate{font-size:11pt}.f-70x40 .l-pos{font-size:10pt}.f-70x40 .l-size{font-size:9.5pt}.f-70x40 .l-meta{font-size:6pt}.f-70x40 .l-client{display:none}.f-70x40 .l-code{font-size:7.5pt}.f-70x40 .l-loc strong{font-size:14pt}
.f-a4-8 .label{width:96mm;height:68mm}
.f-a4-8 .label svg{height:auto;width:50%}
.f-a4-8 .l-plate{font-size:17pt}
.f-a4-24 .label{width:64mm;height:32mm}
.f-a4-24 .l-plate{font-size:10pt}.f-a4-24 .l-pos{font-size:10pt}.f-a4-24 .l-size{font-size:9pt}.f-a4-24 .l-meta{font-size:5.5pt}.f-a4-24 .l-client{display:none}.f-a4-24 .l-code{font-size:7pt}.f-a4-24 .l-loc strong{font-size:11pt}
.f-a4-24 .sign-body strong{font-size:20pt}.f-a4-24 .sign-body p{font-size:6pt}
.f-sign-a4 .label{width:280mm;height:190mm;padding:12mm;gap:12mm;margin-bottom:6mm}
.f-sign-a5 .label{width:195mm;height:130mm;padding:8mm;gap:8mm;margin-bottom:6mm}
.f-sign-a4 .label svg{height:auto;width:120mm}
.f-sign-a5 .label svg{height:auto;width:80mm}
.f-sign-a4 .sign-body span{font-size:30pt}
.f-sign-a4 .sign-body strong{font-size:230pt;line-height:.95}
.f-sign-a4 .sign-body p{font-size:18pt;margin-top:3mm}
.f-sign-a4 .sign-body small{font-size:14pt}
.f-sign-a5 .sign-body span{font-size:20pt}
.f-sign-a5 .sign-body strong{font-size:150pt;line-height:.95}
.f-sign-a5 .sign-body p{font-size:13pt;margin-top:2mm}
.f-sign-a5 .sign-body small{font-size:10pt}

@media print{
  @page{margin:0}
  body{background:#fff}
  .noprint,.doc-tools,.rail,.top,.head-actions,#toasts{display:none!important}
  .doc{margin:0;width:auto}
  .doc-back{break-before:page}
  .content{padding:0;max-width:none}
  .table-wrap{border:0}
  .labels{padding:0;gap:0;background:#fff}
  .label{outline:0}
  .f-100x50 .label,.f-70x40 .label{break-after:page}
  .f-sign-a4 .label,.f-sign-a5 .label{margin:0;break-after:page}
  .f-a4-8,.f-a4-24{gap:2mm}
}
