/* TimeColors kahjukäsitlus — UI v2 (13.10.2026)
   Asendab style.css-i (vana jääb style.css.v1). Bränd: punane #D62822 ainult
   päises/primaarnuppudel/aktiivses menüükirjes, kollane #FAD600 ainult aktsendiks
   tumeda tekstiga. Kõik muu neutraalne ja hele. Vt HANDOFF-V2-2026-10-13.md §3. */

@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/plexmono-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/plexmono-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --brand:#D62822;--brand-ink:#A81C17;--brand-soft:#FBE9E8;--accent:#FAD600;--accent-ink:#5A4A00;
  --bg:#F6F7F9;--surface:#FFFFFF;--surface-2:#FAFBFC;--border:#E5E8EE;--border-strong:#CFD5DF;
  --text:#1F2430;--muted:#5F6775;--faint:#6B7380;--input-bd:#868C96;
  --ok-bg:#E1F5E9;--ok-fg:#1F7A45;--warn-bg:#FDF3D9;--warn-fg:#8A5F0A;--bad-bg:#FBE7E6;--bad-fg:#A81C17;--info-bg:#EEF0F4;--info-fg:#4B5563;
  --r-card:16px;--r-btn:10px;--r-input:10px;--r-pill:999px;
  --sh-rest:0 1px 2px rgba(16,24,40,.05),0 6px 20px rgba(16,24,40,.04);--sh-hover:0 2px 4px rgba(16,24,40,.06),0 12px 28px rgba(16,24,40,.08);
  --ease:.18s cubic-bezier(.2,.7,.2,1);--sbw:240px;--topbar:64px;
  --font:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace;
  /* Staatuseskaala 20.09 (kollane -> oranž, roheline ainult lõpp; punane reserveeritud) */
  --step-fg:#5E3200;
  --step-1-bg:#FDF7D3;--step-1-bd:#F9EB90;--step-2-bg:#FDF1C4;--step-2-bd:#FAE180;--step-3-bg:#FDEAB5;--step-3-bd:#FBD570;
  --step-4-bg:#FDE0A5;--step-4-bd:#FBC760;--step-5-bg:#FDD69B;--step-5-bd:#FCB955;--step-6-bg:#FCC88D;--step-6-bd:#FAA747;
  --step-7-bg:#FBBB83;--step-7-bd:#F9953E;
}
html.sbc{--sbw:64px}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 var(--font)}
a{color:var(--brand-ink)}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:22px}h2{font-size:17px}h3{font-size:15px}
p{margin:0 0 10px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:60;background:var(--surface);padding:8px 12px;border-radius:8px}.skip:focus{left:8px}
:focus-visible{outline:3px solid rgba(214,40,34,.45);outline-offset:2px}
.ico{flex:0 0 auto;vertical-align:middle}
.muted{color:var(--muted)}.faint{color:var(--faint)}.num,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.nowrap{white-space:nowrap}
/* v2.5 A.1: koodid, reg nr, VIN, hinnad, juhtumi nr ja kuupäevad ühele reale (kirjeldus võib murda, kood mitte) */
.num,.mono,.code{white-space:nowrap}.code{font-variant-numeric:tabular-nums}
.cell-main>a.row-link,.dash-sched strong,.att-rows strong,.history .t,.totals dd,.data-table td.right,.table td.right,.slot b{white-space:nowrap;font-variant-numeric:tabular-nums}

/* kest */
.app{display:grid;grid-template-columns:var(--sbw) minmax(0,1fr);grid-template-rows:var(--topbar) 1fr;min-height:100vh;transition:grid-template-columns var(--ease)}
.app.app-nonav{grid-template-columns:minmax(0,1fr)}
.sidebar{grid-row:1/3;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:14px 10px;gap:4px;position:sticky;top:0;height:100vh;overflow:hidden;z-index:6}
.brand{display:flex;align-items:center;gap:10px;height:40px;padding:0 6px;margin-bottom:10px;text-decoration:none;color:var(--text)}.brand img{height:30px;width:auto}.brand span{font-weight:600;font-size:14px;white-space:nowrap;color:var(--muted)}
.nav{display:flex;flex-direction:column;gap:2px;flex:1}
.nav a,.sb-toggle{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:var(--text);text-decoration:none;font-weight:500;white-space:nowrap;transition:background var(--ease);min-height:42px}
.nav a:hover{background:var(--surface-2)}.nav a.active{background:var(--brand-soft);color:var(--brand-ink)}.nav a .ico{opacity:.85}
.nav .sep{height:1px;background:var(--border);margin:8px 10px}
html.sbc .brand span,html.sbc .nav a span,html.sbc .sb-toggle span{display:none}html.sbc .nav a,html.sbc .sb-toggle{justify-content:center;padding:10px}
html.sbc .brand{justify-content:center;padding:0}html.sbc .brand img{height:22px}
.sb-toggle{border:0;background:none;cursor:pointer;color:var(--muted);font:500 14px var(--font);width:100%}.sb-toggle:hover{background:var(--surface-2)}
html.sbc .sb-toggle .ico{transform:rotate(180deg)}
.sb-backdrop{display:none}
/* päis */
.topbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,560px) minmax(0,1fr);align-items:center;gap:16px;padding:0 28px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5;min-height:var(--topbar)}
.topbar .left{display:flex;align-items:center;gap:12px;min-width:0}.topbar .right{display:flex;justify-content:flex-end;align-items:center;gap:10px}
.topbar .center{display:flex;align-items:center;gap:10px}
.title-wrap{min-width:0}.title-wrap h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}
.back-link{display:block;font-size:12.5px;color:var(--muted);text-decoration:none;line-height:1.2}.back-link:hover{color:var(--brand-ink)}
.brand-top{margin:0;padding:0}
.search{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-input);padding:0 12px;height:40px;flex:1;min-width:0;margin:0;color:var(--muted);font-weight:400}
.search input{border:0;background:none;flex:1;font:inherit;outline:none;min-width:0;color:var(--text);height:38px;padding:0;box-shadow:none}
.search input:focus{box-shadow:none;background:none}
.search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(214,40,34,.12);background:#fff}
.top-action{flex:0 0 auto}
.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text)}
.hamburger{display:none}
.user-menu{position:relative}
.user-btn{display:flex;align-items:center;gap:8px;padding:5px 10px 5px 6px;border-radius:999px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font:500 14px var(--font);color:var(--text);min-height:40px}
.user-btn .av{width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:600;font-size:12px}
.user-btn .ico{color:var(--muted)}
.menu-pop{position:absolute;right:0;top:calc(100% + 8px);background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--sh-hover);min-width:240px;padding:6px;display:none;z-index:30}.menu-pop.open{display:block}
.menu-pop a,.menu-pop button.mi{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--text);width:100%;border:0;background:none;font:inherit;text-align:left;cursor:pointer;min-height:40px}
.menu-pop a:hover,.menu-pop button.mi:hover{background:var(--surface-2)}.menu-pop .who{padding:8px 12px 10px;color:var(--muted);font-size:13px;border-bottom:1px solid var(--border);margin-bottom:4px}
.menu-pop .who strong{color:var(--text)}
.menu-pop .sep{height:1px;background:var(--border);margin:4px 6px}
/* sisu */
.content{padding:24px 28px 48px;max-width:1280px;width:100%}
.grid-2{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:20px;align-items:start}
.stack{display:grid;gap:20px;min-width:0}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--sh-rest);padding:20px 22px;transition:box-shadow var(--ease),transform var(--ease);min-width:0}
.card + .card{margin-top:0}
.content > .card,.content > form.card,.content > .alert,.content > .note{margin-bottom:20px}
@media(hover:hover){a.card:hover,.card.clickable:hover{box-shadow:var(--sh-hover);transform:translateY(-1px)}}
.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.card-hint{color:var(--muted);font-size:13px;margin:2px 0 0}
.card-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.card-sub{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}
.section-title{font-size:15px;color:var(--muted);font-weight:600;margin:24px 0 10px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}
.stat{padding:16px 18px;text-decoration:none;color:inherit;display:block}.stat .n{font:600 28px/1 var(--font);font-variant-numeric:tabular-nums}.stat .l{color:var(--muted);font-size:13px;margin-top:6px}.stat.active{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}
.stat .s{font-size:12px;color:var(--faint);margin-top:2px}
/* vormid */
label{display:block;font-weight:500;font-size:13px;color:var(--muted);margin-bottom:6px}label .req{color:var(--brand-ink)}
input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{display:block;width:100%;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-input);padding:9px 12px;font:15px/1.4 var(--font);color:var(--text);transition:border-color var(--ease),box-shadow var(--ease);min-height:40px;margin-top:6px}
.search input,.field > input,.field > select,.field > textarea{margin-top:0}
input[type=file]{font:inherit;font-size:14px;max-width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(214,40,34,.12);background:#fff}
textarea{min-height:84px;resize:vertical}
.field{margin-bottom:14px;min-width:0}.field > label{margin-bottom:6px}.hint{color:var(--faint);font-size:12.5px;margin-top:5px;font-weight:400}.err{color:var(--bad-fg);font-size:12.5px;margin-top:5px}.field.has-err input{border-color:var(--bad-fg)}
.field-note{display:block;color:var(--faint);font-size:12.5px;margin-top:5px;font-weight:400}
.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 14px}
.form-row .full{grid-column:1/-1}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.form-grid > label{margin:0}
.form-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:4px}
.check{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);cursor:pointer;color:var(--text);font-size:14px;margin:0;min-height:40px}.check input{width:18px;height:18px;accent-color:var(--brand);flex:0 0 18px;margin:0}
.check:has(input:checked){border-color:#F1C4C0;background:var(--brand-soft)}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
.checkbox-inline{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:14px;margin:0}
.checkbox-inline input{width:18px;height:18px;accent-color:var(--brand)}
/* nupud */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--r-btn);border:1px solid transparent;font:600 14px var(--font);cursor:pointer;text-decoration:none;transition:background var(--ease),box-shadow var(--ease),transform var(--ease);white-space:nowrap}
.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-ink);box-shadow:0 6px 16px rgba(214,40,34,.25)}
.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn-secondary:hover{background:var(--surface-2)}
.btn-ghost{background:none;color:var(--brand-ink)}.btn-ghost:hover{background:var(--brand-soft)}.btn-sm{height:34px;padding:0 12px;font-size:13px}.btn-lg{height:48px;padding:0 22px;font-size:15px}
.btn-block{width:100%}
.btn-danger-text{color:var(--bad-fg)}
.btn[disabled],.btn[aria-disabled=true]{opacity:.5;pointer-events:none}
.btn-icon{width:34px;padding:0}
/* pillid */
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-pill);font-size:12.5px;font-weight:500;border:1px solid rgba(0,0,0,.06);white-space:nowrap;line-height:1.4}.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 6px}
.pill-ok,.pill-success,.pill-done{background:var(--ok-bg);color:var(--ok-fg)}.pill-done{border-color:#BFE3CD}
.pill-warn,.pill-warning{background:var(--warn-bg);color:var(--warn-fg)}
.pill-bad,.pill-danger{background:var(--bad-bg);color:var(--bad-fg)}
.pill-info,.pill-neutral,.pill-muted{background:var(--info-bg);color:var(--info-fg)}
.pill-accent{background:var(--brand-soft);color:var(--brand-ink)}
.pill-step-1,.pill-step-2,.pill-step-3,.pill-step-4,.pill-step-5,.pill-step-6,.pill-step-7{color:var(--step-fg)}
.pill-step-1{background:var(--step-1-bg);border-color:var(--step-1-bd)}.pill-step-2{background:var(--step-2-bg);border-color:var(--step-2-bd)}
.pill-step-3{background:var(--step-3-bg);border-color:var(--step-3-bd)}.pill-step-4{background:var(--step-4-bg);border-color:var(--step-4-bd)}
.pill-step-5{background:var(--step-5-bg);border-color:var(--step-5-bd)}.pill-step-6{background:var(--step-6-bg);border-color:var(--step-6-bd)}
.pill-step-7{background:var(--step-7-bg);border-color:var(--step-7-bd)}
.pills{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
/* teated */
.alert{padding:12px 16px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font-size:14px;margin-bottom:16px}
.alert-success{background:var(--ok-bg);border-color:#BFE3CD;color:var(--ok-fg)}
.alert-danger{background:var(--bad-bg);border-color:#F1C4C0;color:var(--bad-fg)}
.alert-warning{background:var(--warn-bg);border-color:#F3DE9F;color:var(--warn-fg)}
.alert-info{background:var(--info-bg);color:var(--info-fg)}
/* tabel */
.table-wrap{overflow-x:auto;margin:0 -22px;padding:0 22px}
.table,.data-table{width:100%;border-collapse:separate;border-spacing:0}
.table th,.data-table th{position:sticky;top:var(--topbar);background:var(--surface);text-align:left;font-size:12.5px;color:var(--muted);font-weight:500;padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap;z-index:1}
.table td,.data-table td{padding:12px;border-bottom:1px solid var(--border);vertical-align:middle}
.table tbody tr:hover td,.data-table tbody tr:hover td{background:var(--surface-2)}
.table tbody tr:last-child td,.data-table tbody tr:last-child td{border-bottom:0}
.table .num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.table a.row-link{color:inherit;text-decoration:none;font-weight:600}
.table a.row-link:hover{color:var(--brand-ink)}
.table .sub{display:block;color:var(--muted);font-size:13px;font-weight:400}
.table-card{padding:6px 22px 8px}
.table-card .table th{top:var(--topbar)}
.right{text-align:right}
/* tühi olek, toast, abitekst-plokk */
.empty{text-align:center;padding:28px 16px;color:var(--muted)}.empty .ico{color:var(--faint);margin-bottom:6px}.empty p{margin:0 auto;max-width:420px}.empty .btn{margin-top:12px}
.note{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:10px;padding:10px 14px;font-size:13.5px;color:var(--muted)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--text);color:#fff;padding:10px 16px;border-radius:10px;box-shadow:var(--sh-hover);z-index:50;animation:toast 3.2s forwards;pointer-events:none;font-size:14px}
@keyframes toast{0%{opacity:0;transform:translate(-50%,8px)}10%,85%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;visibility:hidden}}
/* filtririba */
.filters{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin-bottom:16px}
.filters .field{margin:0;min-width:170px;flex:1 1 170px;max-width:240px}
.filters .checkbox-inline{min-height:40px}
.filters .grow{flex:1}
/* detailvaade */
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:14px;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}
.next-step{display:grid;gap:10px;margin:12px 0}
details.more{margin-top:10px}details.more summary{cursor:pointer;color:var(--brand-ink);font-size:14px;font-weight:500;padding:6px 0;list-style:none}
details.more summary::-webkit-details-marker{display:none}details.more summary::before{content:"▸ ";color:var(--muted)}details[open].more summary::before{content:"▾ "}
.history{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:14px}.history li{display:grid;gap:2px}.history .t{color:var(--muted);font-size:12.5px}
.totals{display:grid;grid-template-columns:1fr auto;gap:6px 18px;font-size:14px;max-width:420px}.totals .sum{font-weight:600;border-top:1px solid var(--border);padding-top:6px}
.totals dd{margin:0;text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.totals dt{color:var(--muted)}.totals .sum dt{color:var(--text)}
.row-actions{display:flex;gap:4px;justify-content:flex-end;align-items:center}
.add-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px dashed var(--border-strong)}
.add-form .field{margin:0}
.add-form .wide{grid-column:span 2}
.olek-select{width:auto;min-width:130px;min-height:34px;padding:5px 10px;font-size:13px;margin:0}
/* rippmenüü (Otsi ▾) */
.dropdown{position:relative;display:inline-block}
.dropdown .menu-pop{min-width:260px;max-height:360px;overflow:auto}
.dropdown .menu-pop .sup-type{margin-left:auto;font-size:12px;color:var(--muted)}
.dropdown .menu-pop .menu-head{padding:6px 12px;font-size:12px;color:var(--muted)}
/* fotod */
.dropzone{border:2px dashed var(--border-strong);border-radius:14px;padding:18px;text-align:center;background:var(--surface-2);color:var(--muted);transition:border-color var(--ease),background var(--ease)}
.dropzone.over{border-color:var(--brand);background:var(--brand-soft)}
.dropzone .btns{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:10px}
.dropzone input[type=file]{position:absolute;width:1px;height:1px;opacity:0}
.dropzone .picked{margin-top:8px;font-size:13px;color:var(--text)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-bottom:14px}
.gallery figure{margin:0;position:relative}
.gallery button.thumb{display:block;width:100%;padding:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:zoom-in;background:var(--surface-2);aspect-ratio:4/3}
.gallery img{width:100%;height:100%;object-fit:cover;display:block}
.gallery figcaption{font-size:12px;color:var(--muted);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lightbox{position:fixed;inset:0;background:rgba(10,12,18,.92);z-index:200;display:none;align-items:center;justify-content:center;flex-direction:column;padding:16px}
.lightbox.open{display:flex}
.lightbox img{max-width:100%;max-height:calc(100vh - 170px);border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.4)}
.lightbox .lb-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center;margin-top:12px;color:#fff;width:100%;max-width:760px}
.lightbox .lb-bar form{display:flex;gap:8px;align-items:center;flex:1;min-width:220px}
.lightbox .lb-bar input{margin:0;background:#fff}
.lightbox .lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:26px;cursor:pointer}
.lightbox .lb-prev{left:12px}.lightbox .lb-next{right:12px}
.lightbox .lb-close{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:22px;cursor:pointer}
.lightbox .lb-count{font-size:13px;opacity:.8}
/* modaal (sõidukipäring jm) */
.vl-overlay,.modal{position:fixed;inset:0;z-index:100;background:rgba(16,24,40,.45);display:flex;align-items:center;justify-content:center;padding:20px}
.vl-box{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--sh-hover);padding:24px;width:100%;max-width:560px;max-height:85vh;overflow-y:auto}
.vl-title{margin:0 0 12px;font-size:18px}.vl-lead{margin:0 0 14px;font-size:14px;color:var(--muted)}
.vl-fields{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.vl-field{display:flex;gap:10px;align-items:flex-start;font-size:14px;cursor:pointer;color:var(--text);font-weight:400;margin:0}
.vl-field input[type=checkbox]{margin-top:3px;flex:none;width:18px;height:18px;accent-color:var(--brand)}.vl-field-missing{opacity:.55;cursor:default}.vl-field-text{line-height:1.45}
.vl-note{color:var(--muted);font-style:normal;font-size:13px}.vl-warn{color:var(--warn-fg);font-style:normal;font-size:13px;font-weight:600}
.vl-error{margin:0;font-size:15px;color:var(--bad-fg)}.vl-info{margin:0 0 10px;font-size:13.5px;color:var(--muted)}
.vl-source{margin:0;font-size:12.5px;color:var(--muted);border-top:1px solid var(--border);padding-top:10px}
.vl-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}
.vl-filled{background:var(--step-1-bg)!important;border-color:var(--step-1-bd)!important}
.vl-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--text);color:#fff;padding:11px 18px;border-radius:10px;font-size:14px;font-weight:500;z-index:110;box-shadow:var(--sh-hover)}
.lookup-row{display:flex;gap:8px;flex-wrap:wrap}
/* kirja eelvaade */
.mail-preview{white-space:pre-wrap;font:13.5px/1.55 var(--mono);background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:14px;max-height:420px;overflow:auto}
.dry-run{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--warn-fg);background:var(--warn-bg);border:1px solid #F3DE9F;border-radius:999px;padding:3px 10px}
/* login / kest ilma menüüta */
body.bare{min-height:100vh}
.bare-main{min-height:100vh;display:grid;place-items:center;padding:24px 16px}
.login-card{width:100%;max-width:380px;padding:32px 28px;display:grid;gap:14px}
.login-card .login-logo{display:block;height:58px;width:auto;margin:0 auto 4px}
.login-card label{margin:0}
.login-card .sub{text-align:center;color:var(--muted);margin:0}
.narrow{max-width:760px}
.mobile-bar{display:none}
/* mobiil */
@media(max-width:900px){
  .app{grid-template-columns:minmax(0,1fr)}
  .sidebar{position:fixed;inset:0 auto 0 0;width:270px;transform:translateX(-102%);transition:transform var(--ease);z-index:40;box-shadow:var(--sh-hover)}
  html.sbo .sidebar{transform:none}.sb-backdrop{display:none;position:fixed;inset:0;background:rgba(16,24,40,.35);z-index:35}html.sbo .sb-backdrop{display:block}
  html.sbc .brand span,html.sbc .nav a span,html.sbc .sb-toggle span{display:inline}html.sbc .nav a{justify-content:flex-start;padding:10px 12px}
  html.sbc .brand{justify-content:flex-start;padding:0 6px}html.sbc .brand img{height:30px}
  .sb-toggle{display:none}
  .hamburger{display:inline-grid}
  .topbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"l r" "c c";gap:8px 10px;padding:10px 14px;min-height:0}
  .topbar .left{grid-area:l}.topbar .right{grid-area:r}.topbar .center{grid-area:c}
  .title-wrap h1{font-size:18px}
  .user-btn .user-name,.user-btn > .ico{display:none}.user-btn{padding:5px}
  .top-action span{display:none}.top-action{width:40px;padding:0}
  .content{padding:16px 14px 90px}.grid-2{grid-template-columns:minmax(0,1fr)}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .stat{padding:12px 14px}.stat .n{font-size:24px}
  .card{padding:16px}
  .table-wrap{margin:0;padding:0;overflow:visible}
  .table-card{padding:0;background:none;border:0;box-shadow:none}
  .table.stack-m thead{display:none}
  .table.stack-m tr{display:block;background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:12px;padding:10px 14px;box-shadow:var(--sh-rest)}
  .table.stack-m td{display:flex;justify-content:space-between;align-items:center;gap:12px;border:0;padding:6px 0;text-align:right;min-width:0}
  .table.stack-m td > *{min-width:0}
  .table.stack-m td::before{content:attr(data-l);color:var(--muted);font-size:12.5px;text-align:left;flex:0 0 auto}
  .table.stack-m td[data-l=""]::before{content:none}
  .table.stack-m td.cell-main{display:block;text-align:left;font-size:16px;padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:4px}
  .table.stack-m tbody tr:hover td{background:none}
  .filters .field{max-width:none;flex:1 1 140px;min-width:140px}
  .mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--border);padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:10px;z-index:10}.mobile-bar .btn{flex:1}
  .add-form .wide{grid-column:auto}
  .menu-pop{position:fixed;left:14px;right:14px;top:auto;min-width:0}
  .user-menu .menu-pop{top:60px}
}
@media(max-width:380px){.title-wrap h1{font-size:16px}.stats{gap:8px}.stat .n{font-size:22px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.toast{opacity:1}}
@media print{.sidebar,.topbar,.mobile-bar,.btn,.sb-backdrop{display:none!important}.app{display:block}.card{box-shadow:none;border-color:#ccc}}
.list-head{margin:14px 0 4px}.list-head h2{font-size:15px}
/* parandused 13.10: otsingu sisend ilma oma raamita; kerimiskasti sees kleepuv päis nihkus ridade peale */
.search input[type=search],.search input{border:0!important;background:none!important;min-height:0!important;margin:0!important;padding:0!important;box-shadow:none!important}
.table-wrap .table th,.table-wrap .data-table th{position:static}
.table td::before{font-family:var(--font)}
@media(max-width:900px){.app{grid-template-rows:auto 1fr}}
@media(max-width:900px){.card-head{flex-wrap:wrap}.card-actions{justify-content:flex-start}.form-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}
/* AA: vormivälja ääris peab olema >= 3:1 taustast (handoffi #CFD5DF andis 1,42:1) */
input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{border-color:var(--input-bd)}
.mono-area{font:13.5px/1.55 var(--mono)}
.totals dt.sum,.totals dd.sum{font-weight:600;border-top:1px solid var(--border);padding-top:6px;color:var(--text)}
/* päise peamine tegevus on igal lehel sama laiusega, et otsing ja nupp püsiksid samal x,y-l */
@media(min-width:901px){.top-action{width:152px;overflow:hidden;text-overflow:ellipsis}}
/* iOS Safari saadab delegeeritud click-i ainult "klikitavale" elemendile */
.sb-backdrop,tr[data-href]{cursor:pointer}
.sb-backdrop{border:0;padding:0;margin:0;width:auto;height:auto}
/* venitatud link: terve rida/kaart on päris <a> (iOS ei käivita delegeeritud click-i tavalisel real) */
tr[data-href]{position:relative}tr[data-href] a.row-link::after{content:"";position:absolute;inset:0;z-index:1}
/* QB-03/04: keskmised laiused (901-1279 px) - päis kompaktsemaks, detailvaade ühte veergu */
@media(min-width:901px) and (max-width:1279px){
  .topbar{padding:0 20px;gap:12px}
  .top-action{width:40px;padding:0}.top-action span{display:none}
  .user-btn .user-name{display:none}
  .content{padding:20px}
}
/* v2.1 §0b (Desktopi ülevaatus 13.10): detailvaade 2 veergu alates 1024 px, päise h1 ruum, tabel mahub */
@media(min-width:901px) and (max-width:1023px){.grid-2{grid-template-columns:minmax(0,1fr)}}
@media(min-width:1024px) and (max-width:1279px){.grid-2{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}
@media(min-width:901px) and (max-width:1439px){.topbar{grid-template-columns:minmax(260px,1fr) minmax(200px,420px) auto}}
.title-wrap h1.long{font-size:19px}
@media(min-width:901px) and (max-width:1279px){.case-list .col-upd{display:none}}
.case-list td.parts-cell{white-space:nowrap}
.btn-block{white-space:normal;text-align:center;height:auto;min-height:40px;padding-top:8px;padding-bottom:8px}
.btn-lg.btn-block{min-height:48px}
/* QB-02: rippmenüü tabeli sees paigutatakse JS-iga fikseeritult (ei lõigu kerimiskasti serval) */
.dropdown .menu-pop.fixed{position:fixed;right:auto}
.pager{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap;padding:14px 0 6px}
.pager .cur{font-weight:600;padding:0 8px}
/* qa-mobiil voor 2 */
section[id],.card-sub[id]{scroll-margin-top:84px}
@media(max-width:900px){
  /* M1: rippmenüü telefonis alumise lehena (fikseeritud vaateakna suhtes, alati nähtav) */
  .dropdown .menu-pop,.dropdown .menu-pop.fixed{position:fixed;left:0!important;right:0;top:auto!important;bottom:0;max-height:65vh;border-radius:16px 16px 0 0;padding:8px 8px calc(12px + env(safe-area-inset-bottom));z-index:60;box-shadow:0 -8px 30px rgba(16,24,40,.2)}
  .dropdown .menu-pop a{min-height:48px}
  /* M2: toast alumise riba kohal */
  .toast{bottom:calc(84px + env(safe-area-inset-bottom))}
  /* M3: ankrud ei jää kleepuva päise alla */
  section[id],.card-sub[id]{scroll-margin-top:124px}
  /* M5: iOS ei suumi, kui väljal on >= 16px */
  input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea,.search input{font-size:16px}
  /* M6/M7: puutealad ja ühtlane väljakõrgus */
  .btn-sm{min-height:40px}.back-link{padding:6px 0}details.more summary{padding:10px 0}
  input:not([type=checkbox]):not([type=radio]):not([type=file]),select{height:44px}
  .search{height:44px}
}
/* M4: raporti eelvaade kitsal ekraanil */
@media(max-width:480px){.sheet{padding:10px;font-size:11.5px}.sheet td,.sheet th{padding:4px 3px}.sheet .r{white-space:nowrap}.sheet .totals{width:100%;margin-left:0}.sheet h1{font-size:17px}}

fieldset.plain{border:0;margin:0;padding:0;min-width:0}
.flag-icons{display:inline-flex;gap:4px;align-items:center;vertical-align:middle}.flag-icons .fi{display:inline-grid;place-items:center;color:var(--muted)}.flag-icons .fi-warn{color:var(--warn-fg)}
.flag-input{display:flex;gap:6px;align-items:center}.flag-input input{margin-top:0}.flags-form .field{margin-bottom:10px}
/* v2.1 osa 4: tööde graafik (handoffi §4.3 + tunniskaala muutujaga --hours) */
.sched-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.sched-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sched-label{min-width:150px;text-align:center}
.seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:10px;overflow:hidden}.seg a,.seg button{border:0;background:var(--surface);padding:8px 14px;font:inherit;cursor:pointer;color:var(--text);text-decoration:none;min-height:38px;display:inline-flex;align-items:center}.seg .on{background:var(--brand-soft);color:var(--brand-ink);font-weight:600}
.sched-help{margin:0 0 12px}
.sched-scroll{overflow:auto;border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);max-height:calc(100vh - 210px)}
.sched-grid{display:grid;grid-template-columns:150px repeat(var(--days),minmax(150px,1fr));min-width:100%}
.sched-corner,.sched-day{position:sticky;top:0;background:var(--surface-2);border-bottom:1px solid var(--border);padding:8px 12px 18px;font-size:13px;font-weight:600;z-index:3}
.sched-corner{left:0;z-index:4;color:var(--muted)}
.sched-day{border-right:1px solid var(--border)}.sched-day.today{color:var(--brand-ink);background:var(--brand-soft)}.sched-day.off{color:var(--faint)}
.sched-day .ticks{position:absolute;left:0;right:0;bottom:2px;height:14px}.sched-day .ticks i{position:absolute;left:calc(var(--t)*100%/var(--hours));font:500 10px var(--mono);font-style:normal;color:var(--faint);padding-left:2px}
.sched-res{position:sticky;left:0;background:var(--surface);border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:10px 12px;z-index:2}.sched-res small{display:block;color:var(--muted);font-size:12px}
.sched-cell{position:relative;min-height:84px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:repeating-linear-gradient(90deg,transparent 0 calc(100%/var(--hours) - 1px),var(--border) calc(100%/var(--hours) - 1px) calc(100%/var(--hours)))}
.sched-cell.off{background-color:var(--surface-2)}
.slot{position:absolute;top:6px;bottom:6px;left:calc(var(--s)*100%/var(--hours) + 2px);width:calc(var(--d)*100%/var(--hours) - 4px);min-width:22px;background:var(--surface-2);border:1px solid var(--border-strong);border-left:4px solid var(--faint);border-radius:10px;padding:5px 8px;font-size:12.5px;overflow:hidden;cursor:pointer;box-shadow:var(--sh-rest);z-index:1;user-select:none;-webkit-user-select:none}
.slot.can{cursor:grab}
.slot b{display:block;font-size:13px}.slot a.slot-link{color:var(--text);text-decoration:none;-webkit-user-drag:none}
.slot span{color:var(--muted);display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.slot.toos{border-left-color:var(--brand)}.slot.valmis{border-left-color:var(--ok-fg);opacity:.75}.slot.warn{background:var(--warn-bg)}.slot.dragging{opacity:.75;cursor:grabbing;z-index:20;box-shadow:var(--sh-hover)}
.slot .grip{position:absolute;right:0;top:0;bottom:0;width:10px;cursor:ew-resize}
@media(pointer:fine){.slot.can{touch-action:none}}
.sched-legend{display:flex;gap:6px 14px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--muted);margin:10px 0 0}
.sched-legend .lg{display:inline-block;width:18px;height:12px;border-radius:4px;border:1px solid var(--border-strong);border-left:4px solid var(--faint);background:var(--surface-2);margin-right:-8px}
.sched-legend .lg.toos{border-left-color:var(--brand)}.sched-legend .lg.valmis{border-left-color:var(--ok-fg)}.sched-legend .lg.warn{background:var(--warn-bg)}
.slot-menu.fixed{position:fixed;right:auto}.slot-menu [hidden]{display:none!important}
.toast-err{background:var(--bad-fg);animation:none;max-width:min(560px,calc(100vw - 32px))}
@media(max-width:900px){.sched-grid{grid-template-columns:110px repeat(var(--days),minmax(220px,1fr))}.sched-scroll{max-height:none}.slot-menu{position:fixed;left:0!important;right:0;top:auto!important;bottom:0;border-radius:16px 16px 0 0;padding-bottom:calc(12px + env(safe-area-inset-bottom));z-index:60}}
/* töölaud */
.dash-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.stat-hot{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}
.dash-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:20px;align-items:start}
.dash-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.dash-list a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;color:var(--text);text-decoration:none;min-height:42px}.dash-list a:hover{background:var(--surface-2)}
.dash-list a strong{margin-left:auto;font-size:17px}
.dash-sched li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.dash-sched li:last-child{border-bottom:0}
.dash-sched .res{font-weight:600}.dash-sched .what{display:grid;gap:4px;min-width:0}.dash-sched .what a{color:var(--text);text-decoration:none;padding:0;min-height:0;display:block}.dash-sched .what a:hover{color:var(--brand-ink)}
.dash-sched .what a.warn{background:var(--warn-bg);border-radius:6px;padding:2px 6px}
.filter-chip{margin:6px 0 0;font-size:13px;color:var(--muted)}.filter-chip a{margin-left:6px;text-decoration:none;font-weight:600}
@media(max-width:1100px){.dash-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.dash-grid{grid-template-columns:minmax(0,1fr)}.dash-sched li{grid-template-columns:90px minmax(0,1fr)}}
.bell{position:relative;text-decoration:none}.bell.active{background:var(--brand-soft);color:var(--brand-ink)}.bell .badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--brand);color:#fff;font:600 11px/20px var(--font);text-align:center}
.events-list{list-style:none;margin:0;padding:0}.events-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;padding:12px 0;border-bottom:1px solid var(--border);align-items:start}.events-list li:last-child{border-bottom:0}
.events-list li.unread .ev-title{font-weight:600}.events-list .dot{width:8px;height:8px;border-radius:50%;background:var(--brand);margin-top:8px}.events-list li:not(.unread) .dot{background:transparent}
.events-list .ev-sub{color:var(--muted);font-size:13px;white-space:pre-line}.events-list .t{color:var(--faint);font-size:12.5px;white-space:nowrap}
@media(max-width:900px){.events-list li{grid-template-columns:auto minmax(0,1fr)}.events-list .t{grid-column:2}}
.notif-table td{vertical-align:top}.notif-table .pills{gap:4px 10px}
.bars{display:grid;gap:8px}.bar-row{display:grid;grid-template-columns:minmax(110px,40%) minmax(0,1fr) auto;gap:10px;align-items:center;font-size:13.5px}
.bar-row .bl{color:var(--muted)}.bar-row .bt{height:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;overflow:hidden}
.bar-row .bf{display:block;height:100%;background:var(--step-5-bd);border-radius:999px}.bar-row.now .bf{background:repeating-linear-gradient(45deg,var(--step-5-bd) 0 6px,var(--step-3-bg) 6px 12px)}
.bar-row .bv{white-space:nowrap;font-size:13px}
.stat .n.stat-money,.stat .n.stat-days{font-size:24px}
.feedback-card{max-width:460px}.feedback-form{display:grid;gap:12px}.feedback-form .field{margin:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rating{border:0;margin:0;padding:0}.rating legend{font-weight:500;font-size:13px;color:var(--muted);margin-bottom:8px;padding:0}
.rating-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.rate{margin:0;cursor:pointer}.rate input{position:absolute;opacity:0;width:1px;height:1px}
.rate span{display:grid;place-items:center;height:52px;border:1px solid var(--input-bd);border-radius:12px;font:600 20px var(--font);color:var(--text);background:var(--surface)}
.rate input:checked + span{background:var(--brand);border-color:var(--brand);color:#fff}.rate input:focus-visible + span{outline:3px solid rgba(214,40,34,.45);outline-offset:2px}
.guest-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:18px 0;text-align:center}.guest-stats div{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:12px}
.guest-stats strong{display:block;font-size:22px}.guest-stats span{font-size:12.5px;color:var(--muted)}
.hint-touch{display:none}@media(pointer:coarse){.hint-fine{display:none}.hint-touch{display:inline}}
/* v2.1 qa-mobiil P2: fondid >= 16 px, puutealad >= 44 px telefonis */
@media(max-width:900px){
  .olek-select,input[type=file],select[name^="viis["]{font-size:16px!important;min-height:44px}
  label:has(> input[type=checkbox]),label.check,.checkbox-inline{min-height:44px;display:flex;align-items:center}
  .table a.row-link{display:inline-block;min-height:44px;line-height:44px}
  .sched-nav .btn-sm,.btn-sm{min-width:44px;min-height:44px}.seg a,.seg button{min-height:44px}
  .sched-nav{flex-wrap:wrap;gap:8px}.sched-nav .sched-label{min-width:0;flex:1}
  .filter-chip a{display:inline-grid;place-items:center;min-width:44px;min-height:44px;margin-left:0}
  .hamburger,.icon-btn{min-width:44px;min-height:44px}
  .back-link{display:inline-flex;align-items:center;min-height:44px;padding:0}
}
.sched-grid{grid-template-columns:130px repeat(var(--days),minmax(130px,1fr))}
@media(max-width:900px){.sched-grid{grid-template-columns:110px repeat(var(--days),minmax(220px,1fr))}}
.case-pills .faint{color:var(--muted)}

/* v2.2a: sisselogimisleht (brändipaneel + vorm) ja Infrasofti jalus */
.login-page .bare-main{display:block;place-items:stretch;padding:0;min-height:100vh;background:var(--bg)}
.login{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh}
.login-brand{position:relative;overflow:hidden;background:#15161A;color:#fff;display:flex;align-items:center;padding:56px 7vw;isolation:isolate}
.stripes{position:absolute;inset:-20% -10% auto auto;width:70%;height:140%;transform:rotate(-24deg);display:flex;gap:3.5%;opacity:.55;z-index:-1}
.stripes i{flex:1;border-radius:14px;background:#D62822}.stripes i:nth-child(2){background:#FAD600}.stripes i:nth-child(3){background:#D62822;opacity:.55}.stripes i:nth-child(4){background:#2A2B31}
.login-brand::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#15161A 45%,rgba(21,22,26,.62) 78%,rgba(21,22,26,.12));z-index:-1}
.login-brand__inner{max-width:520px}
.login-brand .login-logo{display:block;height:44px;width:auto;background:#fff;padding:10px 14px;border-radius:12px;margin:0 0 28px}
.login-brand h1{font-size:clamp(28px,3.2vw,40px);line-height:1.1;letter-spacing:-.02em;margin:0 0 14px;color:#fff}
.login-brand .lead{font-size:17px;color:rgba(255,255,255,.82);max-width:46ch;margin:0 0 28px}
.login-points{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.login-points li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:rgba(255,255,255,.9)}
.login-points span{flex:0 0 26px;height:26px;border-radius:50%;background:var(--accent);color:#1F2430;font-weight:700;font-size:13px;display:grid;place-items:center}
.login-form{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px}
.login-form .login-card{display:block;width:100%;max-width:400px;padding:28px}
.login-card h2{font-size:22px;margin-bottom:4px}
.login-card .card-hint{margin:0 0 18px}
.pw{position:relative}.pw input{padding-right:48px}
.pw-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:0;background:none;cursor:pointer;color:var(--muted);min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:8px}
.pw-toggle:hover{background:var(--surface-2);color:var(--text)}.pw-toggle[aria-pressed=true]{color:var(--brand-ink)}
.credit{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--faint)}
.credit img{height:13px;width:auto;display:block}
.content > .credit{margin-top:32px}
.login-form .credit{margin-top:22px}
@media(max-width:900px){
  .login{grid-template-columns:minmax(0,1fr)}
  .login-brand{padding:22px 20px 20px;min-height:auto}.login-brand h1{font-size:22px;margin-bottom:8px}.login-brand .lead{font-size:14px;line-height:1.45;margin-bottom:0}.login-points{display:none}
  .login-brand .login-logo{height:32px;padding:7px 11px;margin-bottom:12px}.login-form{padding:24px 16px 32px}
  .credit{justify-content:center}.content > .credit{justify-content:center}
}
@media(prefers-reduced-motion:no-preference){
  .stripes i{animation:drift 14s ease-in-out infinite alternate}.stripes i:nth-child(2){animation-delay:-4s}.stripes i:nth-child(3){animation-delay:-8s}
  @keyframes drift{from{transform:translateY(0)}to{transform:translateY(-3%)}}
}
.guide-link{min-height:44px;box-sizing:border-box;display:inline-flex;gap:8px;align-items:center;margin-top:18px;font-size:13.5px;color:var(--brand-ink);text-decoration:none;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.guide-link:hover{background:var(--brand-soft)}
@media(max-width:900px){.login-form .guide-link{align-self:center}}

/* ===== v2.3 Järjekord (16.10.2026) ===== */
.jk{display:grid;gap:12px;min-width:0}
.jk__form{display:contents}
.jk__chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chip{--c:#ccc;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px 0 6px;border:2px solid var(--c);border-radius:999px;background:var(--surface);font-size:13.5px;cursor:pointer;color:var(--text);text-decoration:none;line-height:1.2}
.chip:hover{background:var(--surface-2)}
.chip__n{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:12px;background:var(--c);color:var(--ct,#1F2430);font-weight:700;font-size:12px;padding:0 6px}
.chip[aria-pressed="true"]{background:var(--c);color:var(--ct,#1F2430);font-weight:700}.chip[aria-pressed="true"] .chip__n{background:#fff;color:#1F2430}
.chip--warn{--c:#E3A008;border-style:dashed}
.chip--clear,.chip--more{--c:var(--border-strong);padding:0 12px;color:var(--text);font:inherit;font-size:13.5px}
.chip--more[aria-pressed="true"]{--c:#15161A;--ct:#fff}
.jk__ftoggle{display:none}
.jk__new{border:1px solid #F3D98B;background:#FFF9E6;border-radius:14px;padding:10px 14px}
.jk__new header{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.jk__new form{margin:0}
.jk__new ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px}.jk__new a{color:inherit;text-decoration:none;display:inline-block;padding:4px 0}.jk__new a:hover{text-decoration:underline}
.linkbtn{border:0;background:none;color:var(--brand-ink);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;min-height:36px;padding:0 4px}
.jk__count{margin:0;font-size:13px}
.jk__scroll{overflow:auto;border:1px solid var(--border);border-radius:14px;background:var(--surface);max-height:calc(100dvh - 250px);min-height:260px}
.jk__tbl{border-collapse:separate;border-spacing:0;width:100%;font-size:13.5px}
.jk__tbl th,.jk__tbl td{padding:6px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:nowrap}
.jk__tbl thead tr:first-child th{position:sticky;top:0;background:#F1F3F6;z-index:3;font-weight:600;height:38px}
.jk__filters td{position:sticky;top:38px;background:#F1F3F6;z-index:3;padding:4px 6px;border-bottom:1px solid var(--border-strong)}
.jk__filters input,.jk__filters select{width:100%;min-width:84px;font-size:12.5px;min-height:30px;padding:3px 6px;border:1px solid var(--input-bd);border-radius:8px;background:var(--surface);font-family:inherit;color:var(--text)}
.jk__filters .jk__kp{display:flex;gap:4px}.jk__filters .jk__kp input{min-width:118px}
.jk__filters .fl{display:none}
.jk__tbl .m{width:12px;min-width:12px;max-width:12px;padding:0}
.jk__tbl .nw{width:16px;padding:0 2px 0 6px}
.jk__tbl tbody tr{cursor:pointer}
.jk__tbl tbody tr:hover td:not(.m){background:#F7F8FA}
.jk__tbl tr.is-new td:not(.m){background:#FFFDF2}
.jk__tbl tr.is-hidden td:not(.m){color:var(--muted)}
.jk__tbl .reg a{font-weight:700;letter-spacing:.03em;color:inherit;text-decoration:none}.jk__tbl .reg a:hover{text-decoration:underline}
.jk__tbl td small{display:block;color:var(--faint);font-size:11.5px;line-height:1.25}
.jk__tbl td small a{color:inherit}
.jk__tbl .pill{font-size:11.5px}
.jk__tbl .stt{white-space:normal;min-width:220px;max-width:360px}
.jk__tbl tr.jk__empty{cursor:default}.jk__tbl tr.jk__empty td{white-space:normal}
.st{--c:#ddd;display:inline-flex;flex-direction:column;margin:2px 4px 2px 0;padding:3px 9px;border-radius:8px;background:var(--c);color:var(--ct,#1F2430);font-size:12.5px;font-weight:600;line-height:1.25;vertical-align:middle}
.st small{font-weight:500;color:inherit!important;opacity:.9;font-size:11px}
.st--warn{background:#FFF4D6;color:#6B4A00;border:1.5px dashed #B57F00}
.newdot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--brand)}
.sort{border:0;background:none;font:inherit;font-weight:600;cursor:pointer;display:inline-flex;gap:4px;align-items:center;padding:4px 0;min-height:32px;color:var(--text);text-decoration:none}
.sort i{font-style:normal;color:var(--faint);font-size:11px}th[aria-sort] .sort i{color:var(--brand-ink)}
.jk-ico{display:inline-flex;align-items:center;justify-content:center;gap:4px;border:0;background:none;cursor:pointer;min-width:36px;min-height:36px;padding:0 6px;border-radius:8px;font-size:14px;text-decoration:none;color:inherit;position:relative}
.jk-ico:hover{background:var(--surface-2)}.jk-ico .ico-n{position:absolute;top:2px;right:0;font-size:10px;color:var(--muted)}
.jk__tbl .ic{text-align:center;width:40px;padding:2px 4px}
.jk__tbl .num{text-align:right}
.jk__more{text-align:center;margin:4px 0 0}
/* popover */
.pop{position:fixed;z-index:75;width:min(560px,calc(100vw - 24px));max-height:min(70dvh,480px);overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 14px 40px rgba(20,22,26,.22);padding:12px 14px;font-size:14px}
.pop[hidden]{display:none}
.pop header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
.pop__x,.abi__x{border:0;background:none;font-size:24px;line-height:1;min-width:44px;min-height:44px;cursor:pointer;border-radius:10px;color:var(--text)}.pop__x:hover,.abi__x:hover{background:var(--surface-2)}
.pop__wrap{overflow-x:auto}
.pop__tbl{width:100%;border-collapse:collapse;font-size:13px}.pop__tbl th,.pop__tbl td{padding:6px 8px;border-bottom:1px solid var(--border);text-align:left}.pop__tbl .num{text-align:right;white-space:nowrap}
.pop__tbl tfoot td{font-weight:700;border-bottom:0}
.pop form{margin:0 0 10px;display:grid;gap:8px}
.pop__fs{border:1px solid var(--border);border-radius:10px;padding:8px 10px;margin:0;display:grid;gap:6px}.pop__fs legend{font-weight:600;font-size:13px;padding:0 4px}
.pop__fs .check{min-height:40px;padding:4px 8px}
.pop__row{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:8px;margin:0}
.pop__row select,.pop__row input{min-height:38px}
.pop__sep{border-top:1px solid var(--border);margin:6px 0 10px}
.pop__foot{margin:8px 0 0;font-size:13.5px}.pop__foot a{display:inline-block;padding:8px 0}
.pop__note{font-size:13.5px}
.pop__list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.pop__list time{color:var(--faint);font-size:12.5px}
/* Abi */
.abi-btn{width:auto;padding:0 10px;gap:6px;display:inline-flex;align-items:center;font:inherit;font-size:14px;font-weight:600}
.abi-btn[aria-expanded="true"]{background:#15161A;color:#fff;border-color:#15161A}
.abi{position:fixed;top:calc(var(--topbar,64px) + 8px);right:12px;width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - var(--topbar,64px) - 24px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 18px 50px rgba(20,22,26,.25);z-index:80;overflow:hidden}
.abi[hidden]{display:none}
.abi__head{display:flex;justify-content:space-between;align-items:center;padding:8px 8px 8px 16px;border-bottom:1px solid var(--border)}.abi__head h2{margin:0;font-size:17px}
.abi__tabs{display:flex;gap:4px;padding:4px 12px 0;border-bottom:1px solid var(--border);overflow-x:auto;flex:0 0 auto}
.abi__tabs [role=tab]{border:0;background:none;padding:10px 14px;min-height:44px;cursor:pointer;font:inherit;border-bottom:3px solid transparent;color:var(--text);white-space:nowrap}.abi__tabs [aria-selected=true]{border-bottom-color:var(--brand);font-weight:700}
.abi__body{padding:14px 16px;overflow:auto;overscroll-behavior:contain}
.abi .hint{color:var(--muted);font-size:13.5px}
.legend{list-style:none;margin:0;padding:0;display:grid;gap:10px}.legend li{display:grid;grid-template-columns:minmax(140px,190px) minmax(0,1fr);gap:10px;align-items:start;font-size:14px}
.legend .st{justify-self:start}.legend__where{display:block;font-size:12px;color:var(--faint)}
.abi__use{margin:0;padding-left:18px;display:grid;gap:8px;font-size:14px}
/* keelelüliti */
.lang{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface);flex:0 0 auto}
.lang__b{min-width:40px;min-height:36px;display:grid;place-items:center;font-size:12.5px;font-weight:600;text-decoration:none;color:var(--text)}
.lang__b[aria-current=true]{background:#15161A;color:#fff}.lang__b:hover:not([aria-current=true]){background:var(--surface-2)}
/* töö logi */
.logi__head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:6px}.logi__head .card-head{flex:1 1 100%;margin:0}
.logi__f{display:flex;gap:6px;align-items:center;font-size:13.5px}.logi__f select{min-height:36px}
.tl{list-style:none;margin:14px 0;padding:0 0 0 18px;border-left:2px solid var(--border);display:grid;gap:12px}
.tl__i{position:relative;display:grid;grid-template-columns:128px minmax(0,1fr);gap:10px;font-size:14px}
.tl__i::before{content:"";position:absolute;left:-25px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--border-strong);border:2px solid var(--surface)}
.tl__i--soov::before{background:#FAD600}.tl__i--osad::before{background:#E3A008}.tl__i--selts::before{background:#2F6FDE}.tl__i--staatus::before{background:#2F9E5B}.tl__i--broneering::before{background:#2E7D1E}.tl__i--kommentaar::before{background:#868C96}.tl__i--peitmine::before{background:#5F6775}.tl__i--dokument::before{background:#8E44AD}.tl__i--lipp::before{background:#D62822}
.tl time{color:var(--faint);font-size:12.5px;white-space:nowrap}.tl small{display:block;color:var(--faint)}
.tl__i[hidden]{display:none}
.logi__add{display:flex;gap:8px;margin-top:6px}.logi__add input{flex:1;min-width:0}
.st-card .st-list{display:flex;flex-wrap:wrap;gap:2px;margin:0 0 8px}
.st-card form{display:grid;gap:8px}
.st-card .st-manual{display:grid;gap:6px}
.booking{display:grid;gap:8px;margin-top:4px}
.doc-list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}.doc-list li{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:14px}
.doc-form{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto;align-items:end}
@media(max-width:1279px){.abi-btn__t{display:none}.abi-btn{padding:0;width:40px;justify-content:center}}
@media(max-width:760px){
  .jk__ftoggle{display:inline-flex}
  .jk__scroll{max-height:none;min-height:0;border:0;background:none;overflow:visible}
  .jk__tbl,.jk__tbl thead,.jk__tbl tbody,.jk__tbl tr,.jk__tbl td{display:block;width:auto}
  .jk__tbl thead tr:first-child{display:none}
  .js .jk__filters{display:none}.js .jk.filters-open .jk__filters{display:grid}
  .jk__filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:10px;margin-bottom:10px}
  .jk__filters td{position:static;background:none;border:0;padding:0}.jk__filters td:empty,.jk__filters td.m{display:none}
  .jk__filters .fl{display:block;font-size:12px;font-weight:600;margin-bottom:2px}
  .jk__filters input,.jk__filters select{min-height:44px;font-size:16px}
  .jk__filters .jk__kpc{grid-column:1/-1}.jk__filters .jk__kp{flex-wrap:wrap}.jk__filters .jk__kp .fl{flex:1 1 100%}.jk__filters .jk__kp input{flex:1 1 40%;min-width:0}
  .jk__tbl tbody tr{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:10px;padding:10px 12px 8px 20px;display:grid;grid-template-columns:1fr 1fr;gap:2px 12px}
  .jk__tbl tbody tr::before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;border-radius:14px 0 0 14px;background:var(--rc,var(--border))}
  .jk__tbl td{border:0;padding:2px 0;white-space:normal;background:none!important}
  .jk__tbl td.m,.jk__tbl td.nw{display:none}
  .jk__tbl td.reg{font-size:20px;grid-column:1/2}.jk__tbl td.car{grid-column:2/3;align-self:center;font-weight:600}
  .jk__tbl td.stt{grid-column:1/-1;max-width:none;min-width:0}
  .jk__tbl td[data-l]::before{content:attr(data-l);display:block;font-size:11px;color:var(--faint);font-weight:600}
  .jk__tbl td.ic{display:inline-block;width:auto}
  .jk__tbl tr.jk__empty{display:block;padding:0}
  .jk-ico{min-width:44px;min-height:44px}
  .pop{left:8px!important;right:8px;top:auto!important;bottom:8px;width:auto;max-height:70dvh}
  .pop__row{grid-template-columns:1fr}
  .lang__b{min-width:36px;min-height:44px}
  .doc-form{grid-template-columns:1fr}
}
@media(max-width:560px){.abi{right:8px;left:8px;width:auto}.legend li{grid-template-columns:1fr}.tl__i{grid-template-columns:1fr;gap:2px}}
.lang-btn{font:inherit;font-size:13px;font-weight:700;width:44px}
.lang-menu .menu-pop{min-width:160px}.lang-menu .menu-pop a[aria-current=true]{font-weight:700;background:var(--surface-2)}
.jk__tbl td small.inl{display:inline;margin-left:6px;font-size:12px}
.jk__tbl .jk__filters input[type=date]{width:124px;min-width:0;padding:2px 4px;font-size:12px}
.jk__tbl .jk__filters input[type=text]{min-width:70px}
.sd-list{display:grid;gap:6px}.sd{border:1px solid var(--border);border-radius:12px;padding:8px 12px}.sd summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:36px}
.sd input[type=color]{width:64px;height:40px;padding:2px}
.jk{grid-template-columns:minmax(0,1fr)}
.chip{max-width:100%;white-space:normal;text-align:left}
@media(max-width:760px){
  .jk__tbl tbody tr{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .jk__tbl td{min-width:0;overflow-wrap:anywhere}
  .jk__tbl td .pill{white-space:normal;max-width:100%}
}
@media(max-width:760px){
  .jk__chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
  .jk__chips .chip{white-space:nowrap;flex:0 0 auto;min-height:44px}
  .jk__chips .jk__ftoggle{order:-1}
}
@media(max-width:760px){
  .jk__tbl td[data-l]:has(> span.faint:only-child){display:none}
  .jk__tbl td.num{text-align:left}
}
.parts-table .tarne-form{margin:2px 0 0}.parts-table .tarne-form input[type=date]{width:128px;min-height:30px;padding:2px 4px;font-size:12.5px}
@media(max-width:760px){.stack-m{max-width:100%}.stack-m td{min-width:0;overflow-wrap:anywhere}.stack-m select,.stack-m input{max-width:100%;min-width:0}}
/* v2.3: parem pool (keel + Abi + kelluke + kasutaja) laius sisu järgi, et pikk RU/EN tekst ei kattuks */
@media(min-width:1440px){.topbar{grid-template-columns:minmax(0,1fr) minmax(240px,520px) auto}}
.top-action span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.card-hint,.note{overflow-wrap:anywhere}
/* v2.3c: RU silt „Новая работа“/„Новая заявка“ ei lõiku (ühtne laius kõigil lehtedel, ainult RU laiem) */
@media(min-width:1280px){html[lang=ru] .top-action{width:176px}}
/* v2.3c: sama värvi staatuste eristusmärk (⚠ Probleemne klient vs Osad tellimata) */
.st__ico{margin-right:4px;font-size:.95em;line-height:1}
.legend__same{display:block;font-weight:600;margin-top:2px}
/* v2.3c: Järjekord kogu laiusel (teised lehed jäävad 1280 px), kitsamad veerud (1710 px laia menüüga mahub
   Staatus…Valmimine), kleepuvad veerud kuni Reg nr-ni; vasak nihe --l ja päise kõrgus --fh tulevad JS-ist */
.content--wide{max-width:none}
@media(min-width:761px){
  .jk__tbl th,.jk__tbl td{padding:5px 7px}
  .jk__tbl .kp,.jk__tbl .reg,.jk__tbl th.stk{padding-left:5px;padding-right:5px}
  .jk__tbl thead tr:first-child th{white-space:normal;line-height:1.2;vertical-align:bottom;padding-top:4px;padding-bottom:4px;font-size:12.5px}
  .jk__tbl thead .sort{display:inline-block}
  .jk__tbl td.car,.jk__tbl td.kl{max-width:115px;overflow:hidden;text-overflow:ellipsis}
  .jk__tbl td.kl small.inl{display:block;margin-left:0}
  .jk__tbl td.fl-st .pill{white-space:normal;max-width:118px;line-height:1.2;text-align:left}
  .jk__tbl td.num{padding-left:4px;font-variant-numeric:tabular-nums}
  .jk__tbl .stt{min-width:112px;max-width:200px}.jk__tbl .stt .st{white-space:normal}
  .jk__tbl tr > .stk{position:sticky;left:var(--l,0);z-index:2;background:var(--surface)}
  .jk__tbl thead tr:first-child > .stk,.jk__tbl .jk__filters > .stk{z-index:4;background:#F1F3F6}
  .jk__tbl tbody tr:hover > .stk:not(.m){background:#F7F8FA}
  .jk__tbl tbody tr.is-new > .stk:not(.m){background:#FFFDF2}
  .jk__tbl tr > .stk-last{box-shadow:inset -1px 0 0 var(--border-strong)}
  .jk__filters td{top:var(--fh,38px)}
  .jk__filters .jk__kp{flex-direction:column;gap:3px}
  .jk__tbl .jk__filters .jk__kp input[type=date]{width:92px;min-height:26px;padding:2px;font-size:11.5px}
  .jk__tbl .jk__filters input,.jk__tbl .jk__filters select{min-height:28px}
  .jk__tbl .jk__filters input{min-width:64px}
  .jk__tbl .jk__filters select{min-width:58px;padding-right:2px}
}
/* v2.3d Töölaud: värvistaatuste kaardid (klikk -> Järjekord sama filtriga), Muu-rida, tähelepanu read */
.dash-stats--st{grid-template-columns:repeat(4,minmax(0,1fr))}
.dash-st{border-left:6px solid var(--c)}.dash-st .l{color:var(--text);font-weight:600;overflow-wrap:anywhere;hyphens:auto}.dash-st .s{overflow-wrap:anywhere}
.dash-st--warn{border-left:6px dashed #B57F00;background:#FFF4D6}.dash-st--warn .l{color:#6B4A00}.dash-st--warn .s{color:#6B4A00}
.dash-st.is-zero .n{color:var(--faint)}
.dash-other{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:-6px 0 22px}
.dash-note{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--muted);margin:-8px 0 22px}
.att-rows{list-style:none;margin:0 0 14px;padding:0;display:grid}
.att-rows li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:6px 0;border-bottom:1px solid var(--border)}.att-rows li:last-child{border-bottom:0}
.att-rows a{display:inline-flex;gap:8px;align-items:baseline;min-height:32px;color:var(--text);text-decoration:none;min-width:0}.att-rows a:hover strong{color:var(--brand-ink)}
.jk-imp{display:block;width:max-content;font-size:10.5px;line-height:1.3;padding:0 5px;margin-top:2px}
@media(max-width:1100px){.dash-stats--st{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.att-rows a{min-height:44px;align-items:center}.dash-other .chip{min-height:44px}}
/* v2.5 D: varuosa tüüp, märkus, hinnavalikud */
.add-form .full,.part-edit-form .full{grid-column:1/-1}
.part-tuup{display:inline-block;margin-left:6px;font-size:12px;padding:1px 8px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border);white-space:nowrap}
.part-note{display:block;color:var(--muted);font-size:12.5px;white-space:pre-line}
.part-hv-n{display:block;font-size:11.5px;font-family:var(--font)}
.part-edit-row td{padding-top:0!important;border-top:0;text-align:left!important}
.part-edit{max-width:min(680px,calc(100vw - 64px));position:sticky;left:0}
.part-edit summary{cursor:pointer;color:var(--brand);font-size:13px;padding:4px 0}
.part-edit-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;align-items:end;padding:10px 0}
.part-edit-form .wide{grid-column:span 2}
.part-edit-form label,.hv-row label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted)}
.hv-set{grid-column:1/-1;border:1px solid var(--border);border-radius:10px;padding:8px 12px;margin:0;display:grid;gap:8px}
.hv-set legend{font-size:13px;font-weight:600;padding:0 4px}
.hv-row{display:grid;grid-template-columns:90px repeat(4,minmax(0,1fr)) auto;gap:8px;align-items:end}
.hv-row .hv-n{font-weight:600;font-size:13px;align-self:center}
.hv-sel{flex-direction:row!important;align-items:center;gap:6px}.hv-row input{min-width:0;width:100%}
.hv-more summary{cursor:pointer;color:var(--brand);font-size:13px}
@media(max-width:760px){.hv-row{grid-template-columns:1fr 1fr}.hv-row .hv-n{grid-column:1/-1}.part-edit-form .wide{grid-column:auto}}
/* v2.5 E: kalender — skaala (--sc, slider lehe all), ploki värv = töö staatus (kesk = taust, algus = vasak riba,
   lõpp = parem riba), „Ilma kellaajata“ päevanimekiri, lubatud kätteandmine „N 29.10“ */
.sched{--sc:.9}
.sched-grid{grid-template-columns:calc(150px*var(--sc)) repeat(var(--days),minmax(calc(150px*var(--sc)),1fr));font-size:calc(14px*var(--sc))}
.sched-corner,.sched-day{font-size:calc(13px*var(--sc));padding:calc(8px*var(--sc)) calc(12px*var(--sc)) 18px}
.sched-res{padding:calc(10px*var(--sc)) calc(12px*var(--sc))}.sched-res b{font-size:calc(14px*var(--sc))}.sched-res small{font-size:calc(12px*var(--sc))}
.sched-cell{min-height:calc(76px*var(--sc))}
.slot{background:var(--sb,var(--surface-2));color:var(--st,var(--text));border-left:4px solid var(--sa,var(--border-strong));border-right:4px solid var(--sl,var(--border-strong));font-size:calc(12.5px*var(--sc));padding:calc(4px*var(--sc)) calc(7px*var(--sc));top:calc(5px*var(--sc));bottom:calc(5px*var(--sc))}
.slot b{font-size:calc(13px*var(--sc))}.slot a.slot-link{color:inherit}.slot span{color:inherit;opacity:.9}
.slot.toos,.slot.valmis{border-left-color:var(--sa,var(--border-strong))}
.slot.warn{background:var(--sb,var(--warn-bg));outline:2px dashed var(--warn-fg);outline-offset:-3px}
.slot .kat{position:absolute;top:2px;right:3px;font:700 calc(11px*var(--sc))/1.3 var(--font);font-style:normal;padding:0 5px;border-radius:6px;background:rgba(255,255,255,.92);color:#1F2430;white-space:nowrap;font-variant-numeric:tabular-nums}
.sched-todo-h{background:var(--surface-2)}
.sched-todo{position:relative;border-right:1px solid var(--border);border-bottom:2px solid var(--border-strong);background:var(--surface-2);padding:calc(4px*var(--sc));display:flex;flex-direction:column;gap:calc(4px*var(--sc));min-height:calc(40px*var(--sc))}
.slot.todo{position:relative;left:auto;top:auto;bottom:auto;width:auto;min-height:calc(34px*var(--sc));padding-right:calc(52px*var(--sc))}
.todo-add{align-self:flex-start;font-weight:700;color:var(--muted);text-decoration:none;padding:0 6px;border-radius:6px;line-height:1.4}.todo-add:hover{background:var(--surface);color:var(--brand)}
.sched-scale{display:flex;align-items:center;gap:10px;margin:12px 0 0;font-size:13px;color:var(--muted)}.sched-scale input{width:min(260px,60vw)}.sched-scale output{min-width:48px;font-variant-numeric:tabular-nums}
.kat-chip{font-variant-numeric:tabular-nums;white-space:nowrap}
.slot:not(.todo) .kat{position:static;display:inline-block;margin-top:2px}
.sched-scale label{white-space:nowrap}.sched-scale input[type=range]{width:240px;max-width:55vw;flex:0 0 auto;padding:0;min-height:0;border:0;box-shadow:none}
.sched-scale{flex-wrap:wrap}.sched-scale input[type=range]{width:min(240px,100%)}
.sched-legend{min-width:0;overflow-wrap:anywhere}

/* v2.5 C (27.10.2026): juhtumi detail — lipuriba, tabid, kleepuv varuosade paneel */
.content:has(.case-layout){max-width:1600px}
.case-bar{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px 10px;margin:0 0 14px;box-shadow:var(--sh-rest)}
.case-bar__id{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;flex:0 1 auto}
.case-bar__nr{color:var(--muted);font-size:13px}
.case-bar__reg{font-size:17px;letter-spacing:.02em}
.case-bar__car{color:var(--muted);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40ch}
.case-bar__chips{display:flex;flex-wrap:wrap;gap:4px 5px;align-items:center;min-width:0;flex:1 1 480px}
.case-bar .st{margin:0;padding:2px 8px;font-size:12px}
.case-bar .pill{white-space:nowrap}
.cb-form{display:inline-flex;margin:0}
.cb-chip{--c:#c8ccd4;--ct:var(--text);display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:1px 8px 1px 5px;border:1.5px solid var(--c);border-radius:7px;background:var(--surface);color:var(--muted);
  font:inherit;font-size:12px;font-weight:500;line-height:1.15;white-space:nowrap;cursor:pointer;text-decoration:none}
.cb-chip:hover{border-color:var(--text);color:var(--text)}
.cb-chip:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.cb-chip small{font-size:11.5px;opacity:.85}
.cb-chip.is-on{background:var(--c);color:var(--ct);font-weight:600}
.cb-date.is-on:not(.cb-st){--c:#3E5C76;--ct:#fff}
.cb-info{border-style:solid;color:var(--text)}
.cb-info.is-on:not(.cb-warn){color:var(--ct)}
.cb-warn{--c:#B57F00;border-style:dashed}.cb-warn.is-on{background:#FFF4D6;color:#6B4A00}
.cb-static{cursor:default}.cb-static:hover{border-color:var(--c);color:inherit}
.cb-chip[data-flag="registreeritud"]{--c:#5B6B7F;--ct:#fff}
.cb-box{display:inline-grid;place-items:center;width:13px;height:13px;border:1.5px solid currentColor;border-radius:3px;flex:0 0 13px}
.cb-box .ico{width:10px;height:10px}
.cb-sep{width:1px;align-self:stretch;background:var(--border);margin:0 3px}
.case-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
.case-tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:thin;border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch}
.case-tabs a{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding:8px 10px;border-bottom:3px solid transparent;color:var(--muted);text-decoration:none;font-weight:600;font-size:13.5px;white-space:nowrap;min-height:40px}
.case-tabs a:hover{color:var(--text)}
.case-tabs a[aria-selected=true]{color:var(--text);border-bottom-color:var(--brand)}
.ct-n{display:inline-block;min-width:20px;padding:0 6px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:600;text-align:center}
.case-panel[hidden]{display:none}
.case-parts__d > summary{cursor:pointer;display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:12px;font-weight:600;list-style:none}
.case-parts__d > summary::-webkit-details-marker{display:none}
.case-parts__d[open] > summary{border-radius:12px 12px 0 0;border-bottom:0}
.case-parts__meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-bottom:0;font-size:13px}
.case-parts__meta .pm{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.case-parts__meta .pm-loc{display:block;flex:1 1 100%;white-space:normal}
.case-parts #varuosad{border-top-left-radius:0;border-top-right-radius:0}
.cv-checks{display:flex;flex-direction:column;gap:6px;justify-content:flex-end}
.cv-checks .check{min-height:36px;padding:6px 10px}
.kv-tight{gap:4px 14px}
.works-table td.num,.works-table td.right{white-space:nowrap}
/* Varuosade paneel on kitsas: tabel kaartidena igal laiusel */
.case-parts .table.stack-m thead{display:none}
.case-parts .table.stack-m,.case-parts .table.stack-m tbody{display:block}
.case-parts .table.stack-m tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-flow:row dense;gap:2px 12px;border:1px solid var(--border);border-radius:12px;margin-bottom:10px;padding:8px 12px;background:var(--surface)}
.case-parts .table.stack-m tr.part-edit-row{display:block;border:0;padding:0 2px;margin:-6px 0 12px;background:none}
.case-parts .table.stack-m td{display:flex;flex-direction:column;align-items:flex-start;gap:1px;border:0;padding:3px 0;text-align:left;min-width:0}
.case-parts .table.stack-m td.row-actions{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center}
.case-parts .table.stack-m tr.part-edit-row td{grid-column:1/-1}
.case-parts .table.stack-m td::before{content:attr(data-l);color:var(--muted);font-size:12.5px;text-align:left;flex:0 0 auto}
.case-parts .table.stack-m td[data-l=""]::before{content:none}
.case-parts .table.stack-m td:nth-child(2){grid-column:1/-1}
.case-parts .table.stack-m td:nth-child(2)::before{display:block}
.case-parts .table.stack-m tbody tr:hover td{background:none}
.case-parts .table-wrap{overflow:visible;margin:0;padding:0}
.case-parts .add-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.case-parts .add-form .wide,.case-parts .add-form .full{grid-column:1/-1}
@media(min-width:1024px){
  .case-tabs{flex-wrap:wrap;overflow:visible}
  .case-layout{grid-template-columns:minmax(0,1fr) minmax(360px,32%);grid-template-areas:"tabs parts" "panels parts";column-gap:20px;row-gap:14px}
  .case-tabs{grid-area:tabs}.case-panels{grid-area:panels;min-width:0}
  .case-parts{grid-area:parts;position:sticky;top:calc(var(--topbar, 64px) + 12px);max-height:calc(100vh - var(--topbar, 64px) - 24px);overflow:auto;overscroll-behavior:contain;border-radius:12px}
  .case-parts__d > summary{cursor:default;pointer-events:none}

}
@media(max-width:1023px){
  .case-bar__chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .case-bar__car{max-width:22ch}
}
@media print{.case-tabs,.case-bar__chips form{display:none}.case-panel[hidden]{display:block}}
.case-layout [id]{scroll-margin-top:calc(var(--topbar, 64px) + 12px)}
.case-parts #varuosad > .card-head > div:first-child{display:none}.case-parts #varuosad > .card-head{justify-content:flex-end;margin-bottom:8px}
#tab-olek:not([hidden]){display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;align-items:start}.case-parts select{max-width:100%}

/* v2.5 B (27.10.2026): Töölaud — „Vajab tähelepanu“ kastid ülaosas, „Tegemata kalkulatsioonid“ punane kaart, kompaktne mobiil */
.att-boxes{display:flex;flex-wrap:wrap;gap:8px}
.att-box{--c:#ccc;--ct:#1F2430;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:4px 12px 4px 4px;border:1.5px solid var(--c);border-radius:10px;background:var(--surface);color:var(--text);text-decoration:none;font-size:13.5px;font-weight:600;line-height:1.2;box-shadow:var(--sh-rest)}
.att-box:hover{box-shadow:var(--sh-hover);color:var(--text)}
.att-box__n{display:inline-grid;place-items:center;min-width:32px;height:32px;padding:0 6px;border-radius:7px;background:var(--c);color:var(--ct);font-size:16px;font-weight:700}
.att-box--warn{border-style:dashed;background:#FFF4D6}
.att-box--due{border-style:dashed}.att-box--due .att-box__n{background:#FFF4D6;color:#6B4A00}
.att-all{margin-top:10px}
.att-all > summary{cursor:pointer;font-weight:600;font-size:14px;color:var(--text);min-height:32px;display:inline-flex;align-items:center}
.att-all .att-rows{margin:8px 0 10px}
.dash-st--hot{border-left-width:8px}
@media(max-width:900px){
  .att-box{font-size:13px;min-height:36px}.att-box__n{min-width:28px;height:28px;font-size:15px}
  .dash-stats--st{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .dash-st{padding:8px 10px}.dash-st .s{display:none}.dash-st .n{font-size:20px}.dash-st .l{font-size:12.5px;line-height:1.2}
}
.att-all > summary::before{content:"▸";display:inline-block;margin-right:6px;transition:transform .15s}.att-all[open] > summary::before{transform:rotate(90deg)}.att-all > summary{list-style:none}.att-all > summary::-webkit-details-marker{display:none}

/* v2.5.1 A: lipuriba — märgitud kiibid nähtaval, märkimata lipud „+N“ taga; ≤2 rida 1568 px, 1 rida ≥1900 px */
.cb-more{min-height:26px;padding:1px 9px;border:1.5px dashed var(--border);border-radius:7px;background:var(--surface);color:var(--muted);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.cb-more:hover,.cb-more[aria-expanded="true"]{border-color:var(--text);color:var(--text)}.cb-more:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.cb-more-grp{display:contents}.cb-more-grp[hidden]{display:none}
@media(min-width:1024px){.case-bar{flex-wrap:nowrap}.case-bar__id{flex:0 0 auto}.case-bar__chips{flex:1 1 0}}
@media(min-width:1900px){.case-bar__chips{flex-wrap:nowrap}}
/* v2.5.1 C: 320 px — juhtumi paneeli grid-veerg ei tohi sisu min-laiuse järgi laieneda; nupu tekst murdub kitsal ekraanil */
.case-panel{grid-template-columns:minmax(0,1fr)}
@media(max-width:480px){.btn{white-space:normal;max-width:100%}}
@media(max-width:760px){.table.stack-m,.table.stack-m tbody{display:block;width:100%;max-width:100%}.table.stack-m td.nowrap,.table.stack-m td.parts-cell{white-space:normal}}
@media(max-width:480px){.table.stack-m td .pill,.table.stack-m td .st{white-space:normal;max-width:100%;text-align:right}}
@media(max-width:379px){#tab-olek:not([hidden]){grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){dl dd{min-width:0;overflow-wrap:anywhere}}

/* ===== v2.6 (28.10.2026): stiil (Uusleht + intraneti), täislaius, kompaktne tihedus, vaiksed staatusekiibid, juhtumi detail 1/3 : 2/3 ===== */
:root{
  --bg:#F4F6FA;--nav:#14243F;--line:#E4E8F0;--line-2:#EEF1F6;--ink:#1A2233;
  --fs:13.5px;--fs-sm:12px;--fs-xs:11px;--gap:12px;--radius:12px;--radius-sm:8px;
  --r-card:12px;--r-btn:8px;--r-input:8px;--topbar:64px;
  --sh-rest:0 1px 2px rgba(16,24,40,.05),0 1px 3px rgba(16,24,40,.06);--sh-hover:0 2px 4px rgba(16,24,40,.06),0 8px 20px rgba(16,24,40,.08);
}
.eyebrow{font:600 var(--fs-xs)/1.1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 3px;white-space:nowrap}
.page-hint{color:var(--muted);font-size:var(--fs-sm);line-height:1.3;margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tnum{font-variant-numeric:tabular-nums;white-space:nowrap}
.topbar{border-bottom:2px solid var(--nav)}
.nav a.active{box-shadow:inset 3px 0 0 var(--nav)}
.content{max-width:none}.content:has(.case-layout){max-width:none}
/* vaiksed staatuse-sildid (tinted: värv + nimetus nähtav, ei kisa tähelepanu) */
.st{margin:1px 3px 1px 0;padding:2px 8px 2px 7px;border-radius:6px;font-size:11.5px;font-weight:500;line-height:1.3;white-space:nowrap;flex-direction:row;align-items:center;gap:5px;
  background:color-mix(in srgb,var(--c) 13%,#fff);color:var(--ink);border:1px solid color-mix(in srgb,var(--c) 32%,#fff)}
.st::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c);flex:none}
.st small{opacity:.8;font-size:10.5px}
.st--warn{background:#FFF8E1;color:#6B4A00;border:1px dashed #B57F00}.st--warn::before{background:#E3A008}
.st--more{background:var(--line-2);border-color:var(--line);color:var(--muted)}.st--more::before{content:none}
.case-bar .st{margin:0}
/* Järjekorra filtrikiibid: dot + nimi + arv */
.jk__chips{gap:5px 6px}
.qgrp{font:600 var(--fs-xs)/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:0 2px 0 8px}.qgrp:first-child{margin-left:0}
.chip{min-height:26px;height:26px;padding:0 9px;gap:6px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:12px;line-height:1}
.chip:hover{background:var(--line-2)}
.chip__dot{width:8px;height:8px;border-radius:50%;background:var(--c);flex:none}
.chip__n,.chip b.chip__n{display:inline;min-width:0;height:auto;padding:0;border-radius:0;background:none;color:var(--muted);font-weight:600;font-size:12px;font-variant-numeric:tabular-nums}
.chip[aria-pressed="true"]{background:color-mix(in srgb,var(--c) 10%,#fff);border-color:color-mix(in srgb,var(--c) 50%,#fff);color:var(--ink);font-weight:600}
.chip[aria-pressed="true"] .chip__n{background:none;color:var(--ink)}
.chip.is-zero{opacity:.55}
.chip--warn{border-style:dashed;border-color:#B57F00}
.chip--clear,.chip--more{--c:var(--line);padding:0 10px;font-size:12px}
.chip--more[aria-pressed="true"]{--c:var(--nav);color:var(--ink);background:var(--line-2)}
.chip--more[aria-pressed="true"] .chip__n{color:var(--ink)}
.jk__tbl .stt{white-space:normal;min-width:190px;max-width:270px}
.jk__tbl .reg,.jk__tbl .kp,.jk__tbl .d,.jk__tbl .sl,.jk__tbl .kl{white-space:nowrap}
/* tihe desktop-tihedus (mobiili reeglid 900 px ja alla jäävad muutmata) */
@media(min-width:901px){
  html,body{font-size:var(--fs);line-height:1.45}
  h1{font-size:19px}h2{font-size:15px}h3{font-size:13.5px}
  .content{padding:14px 24px 24px}
  .topbar{padding:0 24px}.title-wrap h1{font-size:19px;line-height:1.2}
  .card{padding:14px 16px}.card-head{margin-bottom:10px}.card-hint{font-size:var(--fs-sm)}
  .stack,.grid-2,.dash-grid{gap:var(--gap)}
  label{font-size:var(--fs-sm);margin-bottom:3px}
  input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{min-height:32px;padding:5px 10px;font-size:var(--fs);border-radius:var(--radius-sm);margin-top:3px}
  textarea{min-height:64px}
  .btn{height:32px;padding:0 12px;font-size:13px}.btn-sm{height:28px;padding:0 10px;font-size:12.5px}.btn-lg{height:40px;font-size:14px}.btn-icon{width:28px;padding:0}
  .icon-btn{width:34px;height:34px}.user-btn{min-height:34px}.search{height:34px}.search input{height:32px}
  .field{margin-bottom:10px}.form-row{gap:0 12px}.form-grid{gap:10px}
  .check{min-height:32px;padding:5px 9px;font-size:13px}
  .stats{gap:10px;margin-bottom:12px}.stat{padding:10px 14px}.stat .n{font:600 22px/1 var(--font)}.stat .l{font-size:var(--fs-sm);margin-top:4px}.stat .s{font-size:var(--fs-xs)}
  .stat .n.stat-money,.stat .n.stat-days{font-size:20px}
  .content > .card,.content > form.card,.content > .alert,.content > .note{margin-bottom:var(--gap)}
  .table th,.data-table th{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;padding:7px 10px}
  .table td,.data-table td{padding:7px 10px}
  .table tbody tr:hover td,.data-table tbody tr:hover td{background:var(--line-2)}
  .table-wrap{margin:0 -16px;padding:0 16px}.table-card{padding:4px 16px 6px}
  .nav a,.sb-toggle{padding:7px 10px;min-height:36px}
  .section-title{margin:16px 0 8px}
  .pill{font-size:11.5px;padding:2px 8px}
  .jk__tbl{font-size:13px}.jk__tbl th,.jk__tbl td{padding:4px 8px}
  .jk__tbl thead tr:first-child th{height:32px;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em}
  .jk__filters td{top:32px}
  .jk__scroll{max-height:calc(100dvh - 190px)}
}
/* Töölaud / Statistika / Seaded jm: ei kitsenda; kitsas vorm ainult vormikaardil */
.content > form.card.narrow,.content > .card.narrow{max-width:1100px}
/* ===== juhtumi detail: vasak (tabid) 1/3, parem (varuosad) 2/3; kerivad omaette, leht mitte ===== */
@media(min-width:1024px){
  .case-layout{grid-template-columns:minmax(300px,1fr) minmax(0,2fr);grid-template-areas:"left parts";grid-template-rows:minmax(0,1fr);column-gap:var(--gap);row-gap:0;align-items:stretch}
  .content:has(.case-layout){display:flex;flex-direction:column;height:calc(100vh - var(--topbar));padding-bottom:6px;overflow:auto}
  .content:has(.case-layout) > .case-bar,.content:has(.case-layout) > .alert,.content:has(.case-layout) > .credit{flex:none}
  .content:has(.case-layout) > .credit{margin-top:4px}
  .content:has(.case-layout) > .case-bar{margin-bottom:var(--gap)}
  .case-layout{flex:1 1 0;min-height:320px}
  .case-left,.case-parts{grid-area:auto;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain}
  .case-left{grid-area:left;display:flex;flex-direction:column;gap:var(--gap)}
  .case-left .case-tabs{position:sticky;top:0;z-index:4;background:var(--bg);padding-top:2px;flex:none}
  .case-parts{grid-area:parts;position:static;max-height:none;height:100%;border-radius:var(--radius)}
  .case-parts__d > summary{position:sticky;top:0;z-index:4;pointer-events:auto;cursor:default;flex-wrap:wrap}
  .case-parts__d > summary a{pointer-events:auto}
  .case-parts__meta{padding:6px 12px}
  .case-parts__sum .pm{display:inline-flex;align-items:center;gap:4px;font-weight:500;font-size:12px;white-space:nowrap;color:var(--muted)}
  .case-parts__sum .sum-send{margin-left:auto}
  /* Varuosade tabel 2/3 laiusel päris tabelina (üks rida osa kohta) */
  .case-parts .table.stack-m{display:table;width:100%;border-collapse:collapse}
  .case-parts .table.stack-m thead{display:table-header-group}
  .case-parts .table.stack-m tbody{display:table-row-group}
  .case-parts .table.stack-m tr{display:table-row;border:0;border-radius:0;margin:0;padding:0;background:none;box-shadow:none}
  .case-parts .table.stack-m td,.case-parts .table.stack-m th{display:table-cell;padding:6px 8px;border:0;border-top:1px solid var(--line-2);vertical-align:middle;text-align:left}
  .case-parts .table.stack-m th{position:sticky;top:var(--sum-h,41px);background:var(--surface);border-top:0;z-index:2;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;white-space:nowrap}
  .case-parts .table.stack-m td::before{content:none}
  .case-parts .table.stack-m td.right,.case-parts .table.stack-m th.right{text-align:right}
  .case-parts .table.stack-m td.row-actions{white-space:nowrap}
  .case-parts .table.stack-m td.row-actions{display:table-cell}.case-parts .row-actions > *{display:inline-flex;vertical-align:middle}
  .case-parts .table.stack-m tr.part-edit-row{display:table-row}
  .case-parts .table.stack-m tr.part-edit-row td{display:table-cell;border-top:0;padding:0 8px 6px}
  .case-parts .table.stack-m td:nth-child(2){min-width:180px}
  .case-parts .table.stack-m td.num{font-family:var(--mono);white-space:nowrap}
  .case-parts .olek-select{min-height:28px;font-size:12.5px;padding:2px 8px}
  .case-parts .tarne-form input[type=date]{min-height:26px;width:120px}
  .case-parts .add-form{grid-template-columns:repeat(4,minmax(0,1fr))}
  .case-parts .add-form .wide{grid-column:span 2}
  .case-left .case-panels,.case-left .case-panel{min-width:0}
  /* vasak veerg: väljad üksteise alla (1 veerg) */
  .case-left .form-row{grid-template-columns:minmax(0,1fr)}
  .case-left .form-grid{grid-template-columns:minmax(0,1fr)}
  .case-left .card{padding:12px 14px}
  .case-left .cv-grp{grid-column:1/-1}
  #tab-olek:not([hidden]){grid-template-columns:minmax(0,1fr);gap:var(--gap)}
}
.cv-grp{font:600 var(--fs-xs)/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:6px 0 2px;border-top:1px solid var(--line-2);padding-top:8px}
.cv-grp:first-child{border-top:0;margin-top:0;padding-top:0}
@media(max-width:1023px){.case-left{display:contents}}
/* ===== Pildista (mobiil) ===== */
.pl{display:grid;gap:var(--gap);max-width:720px;margin:0 auto}
.pl__search{display:flex}.pl__search input{margin:0;height:44px;font-size:16px}
.pl__h{font:600 var(--fs-xs)/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:8px 0 0;display:flex;align-items:center;gap:8px}
.pl__list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pl__card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--sh-rest);padding:12px 14px;display:grid;gap:4px}
.pl__card.is-mine{border-color:var(--brand)}
.pl__reg{font:700 20px/1.2 var(--mono);letter-spacing:.03em}
.pl__car{font-weight:600}.pl__meta{color:var(--muted);font-size:var(--fs-sm)}
.pl__go{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}.pl__go .btn{height:48px;flex:1 1 140px;font-size:15px}
.pl__empty{color:var(--muted);text-align:center;padding:18px 8px}
.pl-up{position:fixed;inset:0;z-index:120;background:var(--bg);display:none;flex-direction:column}.pl-up.open{display:flex}
.pl-up__bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--surface);border-bottom:2px solid var(--nav)}
.pl-up__bar strong{font:700 18px var(--mono)}.pl-up__bar .btn{margin-left:auto}
.pl-up__body{flex:1;overflow:auto;padding:12px 14px;display:grid;gap:10px;align-content:start}
.pl-up__pick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pl-up__pick .btn{height:56px;font-size:15px}
.pl-up input[type=file]{position:absolute;width:1px;height:1px;opacity:0}
.pl-th{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px}
.pl-th img{width:64px;height:48px;object-fit:cover;border-radius:6px;background:var(--line-2)}
.pl-th__n{font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl-th__bar{height:6px;background:var(--line-2);border-radius:999px;overflow:hidden;margin-top:4px}.pl-th__bar i{display:block;height:100%;width:0;background:var(--brand);transition:width .15s}
.pl-th.is-done .pl-th__bar i{background:var(--ok-fg)}.pl-th.is-err .pl-th__bar i{background:var(--bad-fg)}
.pl-th button{min-width:44px;min-height:44px}
.pl-up__foot{padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);display:grid;gap:8px}
.pl-up__foot .btn{height:52px;font-size:15px;width:100%}
.pl-net{font-size:var(--fs-sm);color:var(--warn-fg);background:var(--warn-bg);border-radius:8px;padding:6px 10px}
.pl-net[hidden]{display:none}

.js .jk__chips:not(.show-zero) .is-zero{display:none}
.jk__zero{--c:var(--line)}
@media(min-width:901px){
  .jk-ico{min-height:24px;min-width:28px}
  .jk__tbl .jk__filters input[type=date]{width:104px}.jk__filters .jk__kp{flex-wrap:nowrap;gap:2px}.jk__filters .jk__kp input{min-width:0}
  .jk__tbl td{height:34px}
  .case-tabs{gap:0}.case-tabs a{padding:5px 8px;min-height:30px;font-size:12.5px}
  .case-bar{padding:6px 10px;gap:4px 8px}.case-bar__chips{gap:3px 4px}
  .cb-chip{min-height:24px;font-size:12px;padding:0 6px 0 4px}.cb-more{min-height:24px;font-size:12px}
  .case-bar__reg{font-size:15px}
}
@media(min-width:901px){
  .jk__tbl .fl-st{min-width:170px}.jk__tbl .fl-st .pill,.jk__tbl td .pill{white-space:nowrap;max-width:none}
  .dash-stats,.dash-stats--st{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
  .dash-st{padding:8px 12px}.dash-st .n{font-size:20px}.dash-st .l{font-size:12.5px;margin-top:2px}
  .att-box{min-height:32px}.att-box__n{height:26px;min-width:28px;font-size:14px}
  .section-title{font:600 var(--fs-xs)/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:14px 0 8px}
}
@media(min-width:1024px){
  .case-bar{flex-wrap:wrap}.case-bar__id{flex:1 0 100%}.case-bar__chips{flex:1 1 100%}
  .case-left .card-head{flex-wrap:wrap}.case-left .card-head > div:first-child{flex:1 1 100%}
}
@media(min-width:1024px){.case-left,.case-parts{position:relative}}
.case-parts__d > summary{flex-wrap:wrap}.case-parts__d > summary .sum-send{margin-left:auto}
.case-parts__sum .pm{display:inline-flex;align-items:center;gap:4px;font-weight:500;font-size:12px;white-space:nowrap;color:var(--muted)}
@media(min-width:901px){.jk__tbl{font-size:12.5px}.jk__tbl th,.jk__tbl td{padding:4px 6px}.jk__tbl .stt{min-width:170px;max-width:230px}.jk__tbl .fl-st{min-width:150px}.jk__tbl .reg a{letter-spacing:0}}
@media(min-width:901px){
  .jk__filters input,.jk__filters select{min-width:0;max-width:100%;padding:2px 4px;font-size:12px}
  .jk__tbl .tp,.jk__tbl th:nth-child(8){max-width:80px}
  .jk__tbl .jk__filters select{max-width:112px}
  .jk__tbl .jk__filters input[type=date]{width:88px}
  .jk__tbl .jk__go{padding:0 6px;min-width:0}
  .jk__tbl th a.sort{min-height:24px;gap:2px}
  .jk__tbl .stt{min-width:150px;max-width:210px}.jk__tbl .fl-st{min-width:130px}
  .jk__tbl .kl small.inl{display:block;margin-left:0}
}
@media(min-width:901px){
  .jk__tbl .jk__go{font-size:0;width:30px;height:26px;padding:0}.jk__tbl .jk__go::before{content:"↵";font-size:14px}
  .jk__tbl th.ic,.jk__tbl td.ic{width:34px;max-width:40px;padding:2px}
  .jk__tbl th,.jk__tbl td{padding:3px 5px}
  .jk__tbl th:nth-child(5),.jk__tbl th:nth-child(6){max-width:110px}
  .jk__tbl td.car,.jk__tbl td.kl{max-width:120px;overflow:hidden;text-overflow:ellipsis}
  .jk__tbl .jk__filters input[type=date]{width:84px}
  .jk__tbl .jk__filters input[type=text]{min-width:0;width:100%}
  .jk__tbl .stt{min-width:130px;max-width:190px}
}
@media(min-width:901px){
  .jk__tbl{font-size:12px}
  .jk__tbl thead tr:first-child th{text-transform:none;letter-spacing:0;font-size:12px}
  .jk__tbl .stt{min-width:120px;max-width:170px}.jk__tbl .fl-st{min-width:105px}
  .jk__tbl .jk__filters input[type=date]{width:80px}
}
@media(min-width:901px){.jk__tbl .stt{min-width:110px;max-width:135px}.jk__tbl td.car,.jk__tbl td.kl{max-width:105px}.jk__tbl th:nth-child(5),.jk__tbl th:nth-child(6){max-width:105px}}
@media(max-width:480px){details.sd,details.sd summary{min-width:0;max-width:100%}details.sd .form-row{grid-template-columns:minmax(0,1fr)}details.sd summary{overflow-wrap:anywhere}}
@media(max-width:480px){details.sd summary .st{white-space:normal;max-width:100%}}
