/* Kuluseire — ÜHINE STIIL.
 *
 * ERALDI FAIL, sest lehti on nüüd kaks: `index.html` (kasutaja) ja
 * `haldus.html` (haldur). Kaks koopiat sama stiili lähevad lahku ja siis
 * ei ole see enam „üks kogemus", vaid kaks sarnast (§10.39).
 */
:root{
  --taust:#12141a; --pind:#1a1d25; --pind2:#22262f; --joon:#2e333e;
  --tekst:#e6e9ef; --tuhm:#8d94a3; --tuhmem:#5f6675;
  --hea:#4ba3c7; --lahti:#d99a3a; --ei:#6b7280; --hoiatus:#c76b5a;
}
*{box-sizing:border-box}
body{margin:0;background:var(--taust);color:var(--tekst);
  font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.num{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}
a{color:var(--hea)}
header{background:var(--pind);border-bottom:1px solid var(--joon);
  padding:14px 18px;position:sticky;top:0;z-index:20}
.pais{display:flex;flex-wrap:wrap;gap:18px;align-items:baseline}
h1{font-size:17px;margin:0;font-weight:600;letter-spacing:.2px}
.vahemik{color:var(--tuhmem);font-size:13px}
.seis{display:flex;flex-wrap:wrap;gap:22px;margin-top:12px;font-size:13px}
.seis div{display:flex;gap:8px;align-items:baseline}
.seis b{font-size:17px;font-weight:600}
.silt{color:var(--tuhm)}
.v-hea b{color:var(--hea)} .v-lahti b{color:var(--lahti)} .v-ei b{color:var(--ei)}
main{max-width:1000px;margin:0 auto;padding:18px}
section{margin-bottom:26px}
h2{font-size:12px;text-transform:uppercase;letter-spacing:1.2px;color:var(--tuhm);
  margin:0 0 4px;font-weight:600}
.abi{color:var(--tuhmem);font-size:12.5px;margin:0 0 12px}
.rida{background:var(--pind);border:1px solid var(--joon);border-radius:7px;
  margin-bottom:7px;overflow:hidden}
.pea{display:flex;align-items:center;gap:12px;padding:11px 13px;cursor:pointer}
.pea:hover{background:var(--pind2)}
.nool{color:var(--tuhmem);width:11px;flex:0 0 11px;font-size:11px}
.nimi{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kandeid{color:var(--tuhm);font-size:12.5px;white-space:nowrap}
.summa{font-weight:600;min-width:100px;text-align:right;white-space:nowrap}
.tulu{color:var(--hea)}
.sisu{border-top:1px solid var(--joon);padding:12px 13px;background:#171a21}
.tegevus{display:flex;flex-wrap:wrap;gap:9px;align-items:center;
  padding:11px;background:var(--pind2);border-radius:6px;margin-bottom:12px}
.tegevus label{font-size:12.5px;color:var(--tuhm)}
select,button,input[type=file]{font:inherit;font-size:13.5px}
select{background:var(--taust);color:var(--tekst);border:1px solid var(--joon);
  border-radius:5px;padding:7px 9px;max-width:100%}
button{background:var(--hea);color:#0d1117;border:0;border-radius:5px;
  padding:7px 13px;cursor:pointer;font-weight:600}
button:hover{filter:brightness(1.12)}
button.teine{background:transparent;color:var(--tuhm);border:1px solid var(--joon);font-weight:400}
button.teine:hover{color:var(--tekst);border-color:var(--tuhm)}
button:disabled{opacity:.45;cursor:default;filter:none}
table{width:100%;border-collapse:collapse;font-size:13px}
td{padding:5px 7px;border-bottom:1px solid #21252d;vertical-align:top}
tr:last-child td{border-bottom:0}
td.p{text-align:right;white-space:nowrap;color:var(--tuhm)}
td.s{text-align:right;white-space:nowrap;font-weight:600}
td.sel{color:var(--tuhm);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
tr.kandepea td{border-bottom:0;padding-bottom:2px}
tr.kandesisu td{padding:0 7px 10px 96px;border-bottom:1px solid #21252d}
.vali{display:flex;gap:9px;align-items:baseline;line-height:1.45}
.vsilt{flex:0 0 96px;color:var(--tuhmem);font-size:11.5px;text-align:right}
.vtekst{flex:1;min-width:0;color:var(--tuhm);font-size:12.5px;
  overflow-wrap:anywhere}
select.maaratud{border-color:#3d5a48;color:var(--tuhm)}
/* ---- NIMEKIRJA PANEEL (§6.6): üks nimekiri, palju uksi ---- */
.uks{cursor:pointer}
.uks:hover{color:var(--hea);text-decoration:underline dotted}
#kate{position:fixed;inset:0;background:#00000055;z-index:40}
#paneel[hidden]{display:none}
#paneel{position:fixed;top:0;right:0;bottom:0;width:min(640px,100%);z-index:41;
  background:var(--taust);border-left:1px solid var(--joon);
  display:flex;flex-direction:column;box-shadow:-18px 0 40px #0007}
.npais{padding:12px 14px;border-bottom:1px solid var(--joon);background:var(--pind2)}
.npaisRida{display:flex;gap:10px;align-items:flex-start}
.kiibid{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;
  align-content:flex-start;flex:1;min-width:0;line-height:1}
/* Ühesugune kõrgus KÕIGIL kiipidel, muidu istuvad nad eri joonel. */
/* Ühesugune kõrgus tuleb ühesugusest sisemisest mõõdust, mitte fikseeritud
   height'ist: sama line-height ja sama püstpolster igal kiibil. Nii ei sõltu
   rea joondus sellest, kas kiibi sees on rasvane tekst või ainult sõna. */
.kiip{display:inline-flex;align-items:center;gap:6px;background:var(--taust);
  border:1px solid var(--joon);border-radius:20px;padding:4px 6px 4px 11px;
  font-size:12.5px;line-height:16px;box-sizing:border-box;white-space:nowrap;
  align-self:flex-start}
.kiip b{font-weight:600}
.kiip i{font-style:normal;cursor:pointer;color:var(--tuhmem);padding:0 4px;
  border-radius:10px;line-height:16px}
.kiip i:hover{color:var(--hoiatus);background:#2b2226}
.kiip.lisa{cursor:pointer;color:var(--tuhmem);padding:4px 11px}
.kiip.lisa:hover{color:var(--tekst)}
.nsumma{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;gap:12px}
.nsumma .l{color:var(--tuhm);font-size:12.5px}
.nsumma .r{font-size:19px;font-weight:600}
.nriistad{display:flex;gap:14px;align-items:center;margin-top:8px;font-size:12px;
  color:var(--tuhmem);line-height:1}
.nriistad a{color:var(--tuhm);cursor:pointer;
  text-decoration:underline dotted;text-underline-offset:3px}
.nriistad a.on{color:var(--hea)}
.nsisu{overflow:auto;flex:1;min-height:0;padding:0 3px}
.sulge{flex:none;align-self:center;background:transparent;border:1px solid var(--joon);
  color:var(--tuhm);border-radius:5px;padding:4px 9px;cursor:pointer;font:inherit;
  font-size:12px;line-height:16px}
.sulge:hover{color:var(--tekst);border-color:var(--tuhm)}
tr.kmpea td{background:#20242c;color:var(--tuhm);font-size:12px;font-weight:600;padding-top:9px}
.piiratud{color:var(--lahti);font-size:12px;padding:10px 14px}
.plaat .arv.uks{display:inline-block}
/* ---- MENÜÜ ---- */
.menyy{display:flex;gap:4px;margin-bottom:2px}
.menyy button{background:transparent;color:var(--tuhm);border:1px solid transparent;
  border-radius:6px;padding:5px 12px;font-weight:400;font-size:13.5px}
.menyy button:hover{color:var(--tekst);background:var(--pind2)}
.menyy button.valitud{background:var(--pind2);color:var(--tekst);
  border-color:var(--joon);font-weight:600}
.menyy .lahtiseid{background:var(--lahti);color:#1a1206;border-radius:10px;
  padding:0 6px;font-size:11px;font-weight:700;margin-left:6px}
/* ---- REEGLID (§5.4, §5.5) ---- */
h2.klapp{cursor:pointer;user-select:none}
h2.klapp:hover{color:var(--tekst)}
#reegliRiist input[type=search]{background:var(--taust);color:var(--tekst);
  border:1px solid var(--joon);border-radius:5px;padding:6px 9px;font:inherit;
  font-size:13px;min-width:240px}
#reegliRiist label{display:flex;gap:6px;align-items:center;cursor:pointer}
table.rtbl td{font-size:12.5px;vertical-align:middle}
td.rv{color:var(--tuhm);white-space:nowrap}
td.rvaartus{color:var(--tekst);overflow-wrap:anywhere;max-width:250px}
td.rkat{color:var(--hea);white-space:nowrap}
td.rmoju{white-space:nowrap;text-align:right;color:var(--tuhmem);font-size:11.5px}
tr.surnud td{opacity:.5}
.margike{color:var(--lahti)}
.rnupud{display:flex;gap:6px;justify-content:flex-end}
.rnupud button{padding:3px 9px;font-size:12px;background:transparent;
  color:var(--tuhm);border:1px solid var(--joon);font-weight:400}
.rnupud button:hover{color:var(--tekst);border-color:var(--tuhm)}
.rvorm{background:var(--pind2);border:1px solid var(--joon);border-radius:6px;
  padding:12px;margin:10px 0}
.rvorm .valik{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.rvorm input[type=text]{background:var(--taust);color:var(--tekst);
  border:1px solid var(--joon);border-radius:5px;padding:6px 9px;font:inherit;
  font-size:13px;min-width:200px}
.proov{border-top:1px solid var(--joon);padding-top:10px;margin-top:4px;font-size:12.5px}
.proov b{font-weight:600}
.proov .hea{color:var(--hea)} .proov .lahti{color:var(--lahti)}
.proov .paha{color:var(--hoiatus)}
.valjatbl td{font-size:12px;color:var(--tuhm)}
.valjatbl td.hinne{white-space:nowrap;text-align:right}
.rvorm.puskiv{margin-top:0}
.kmhaldus{display:flex;gap:14px;align-items:center;margin:2px 0 12px;padding-left:2px}
.liitmine{display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:100%;
  margin-top:8px;padding:9px 11px;background:var(--pind2);border-radius:6px}
.liitmine input{background:var(--taust);color:var(--tekst);border:1px solid var(--joon);
  border-radius:5px;padding:6px 9px;font:inherit;font-size:13px;min-width:260px}
.pakkumised{width:100%;background:var(--taust);border:1px solid var(--joon);
  border-radius:6px;max-height:240px;overflow:auto;margin-top:2px}
.pakkumine{display:flex;justify-content:space-between;gap:12px;align-items:baseline;
  padding:6px 10px;cursor:pointer;font-size:13px;border-bottom:1px solid #21252d}
.pakkumine:last-child{border-bottom:0}
.pakkumine:hover{background:var(--pind2)}
.pinfo{color:var(--tuhmem);font-size:11.5px;white-space:nowrap}
.pnimi{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* ---- §6.3 PUU MUUTMINE ---- */
.puuRiist{display:flex;gap:12px;align-items:baseline;margin:0 0 6px;
  font-size:11.5px;color:var(--tuhmem)}
.puuRiist a{color:var(--tuhmem);cursor:pointer;border-bottom:1px dotted var(--tuhmem)}
.puuRiist a:hover{color:var(--hea);border-bottom-color:var(--hea)}
.puuRiist a.on{color:var(--hea);border-bottom-color:var(--hea);font-weight:600}
.pide{display:none;color:var(--tuhmem);cursor:grab;margin-right:6px;
  letter-spacing:-2px;font-size:12px}
.pide:active{cursor:grabbing}
.puumuutmine .pide{display:inline-block}
.puutbl tr.sihtmark td{box-shadow:inset 0 0 0 1px var(--hea)}
.puuTegevus{display:none;margin-left:12px;font-weight:400;font-size:11px}
.puumuutmine .puuTegevus{display:inline}
.puuTegevus a{color:var(--tuhmem);cursor:pointer;margin-right:9px;
  border-bottom:1px dotted var(--tuhmem)}
.puuTegevus a:hover{color:var(--hea);border-bottom-color:var(--hea)}
.puumuutmine .protsent{display:none}
.puumuutmine .puutbl tr:hover .eelarveLisa,
.puumuutmine .eelarveLisa{display:none}
.puuSisend{background:var(--taust);color:var(--tekst);border:1px solid var(--hea);
  border-radius:4px;padding:1px 6px;font:inherit;font-size:12.5px;width:150px}

/* ---- §6.5 EELARVE: joon rea all ---- */
.eelarveJoon{position:relative;height:4px;background:#262b35;border-radius:2px;
  margin:6px 0 0;max-width:520px}
.eelarveJoon i{position:absolute;left:0;top:0;bottom:0;background:#5fa877;border-radius:2px}
.eelarveJoon i.laheneb{background:var(--lahti)}
.eelarveJoon i.yle{background:var(--hoiatus)}
.eelarveJoon s{position:absolute;top:0;bottom:0;background:var(--hoiatus);
  opacity:.55;border-radius:2px}
.eelarveJoon u{position:absolute;top:-3px;bottom:-3px;width:1px;background:var(--tuhm)}
.eelarveInfo{font-size:11px;color:var(--tuhmem);margin-top:3px;font-weight:400}
.eelarveInfo.yle{color:var(--hoiatus)}
.eelarveNr{cursor:pointer;border-bottom:1px dotted var(--tuhmem)}
.eelarveNr:hover{color:var(--hea);border-bottom-color:var(--hea)}
.eelarveLisa{font-size:11px;color:var(--tuhmem);cursor:pointer;font-weight:400;
  border-bottom:1px dotted var(--tuhmem);display:none}
.puutbl tr:hover .eelarveLisa{display:inline}
.puutbl tr:hover .protsent.peidus{display:none}
.eelarveLisa:hover{color:var(--hea);border-bottom-color:var(--hea)}
.eelarveSisend{background:var(--taust);color:var(--tekst);border:1px solid var(--hea);
  border-radius:4px;padding:1px 6px;font:inherit;font-size:11.5px;width:78px;
  text-align:right}
.vaartusnupp{cursor:pointer;border-bottom:1px dotted var(--tuhmem)}
.vaartusnupp:hover{color:var(--hea);border-bottom-color:var(--hea)}
tr.kandevahe td{color:var(--tuhmem);font-size:11.5px;padding-top:16px;
  border-bottom:1px solid var(--joon)}
tr.tehtud td,tr.tehtud+tr.kandesisu td{opacity:.62}
.allikas{font-size:11px;color:var(--tuhmem)}
.kandejalus{display:flex;gap:10px;justify-content:flex-end;align-items:baseline;
  margin-top:3px}
.reeglilink{font-size:11px;color:var(--hea);cursor:pointer;
  border-bottom:1px dotted var(--hea)}
.reeglilink:hover{filter:brightness(1.2)}
.umber{background:#241f1a;border:1px solid #4a3a2a;border-left:3px solid var(--lahti);
  border-radius:6px;padding:12px 14px;margin:12px 0}
.umber h3{margin:0 0 8px;font-size:13.5px;font-weight:600;color:var(--lahti)}
.umber table{margin-bottom:10px}
.umber td{border-bottom:1px solid #33291f}
.noolke{color:var(--tuhmem);padding:0 6px}
.margus{background:var(--pind);border:1px solid var(--joon);border-left:3px solid var(--lahti);
  border-radius:6px;padding:10px 13px;margin-bottom:7px;font-size:13.5px}
.teade{position:fixed;left:50%;transform:translateX(-50%);bottom:22px;z-index:50;
  background:var(--pind2);border:1px solid var(--joon);border-radius:7px;
  padding:11px 17px;font-size:13.5px;box-shadow:0 6px 22px #0008;max-width:92vw}
.teade.viga{border-color:var(--hoiatus);color:#f0b8ac}
.laeb{color:var(--tuhmem);font-size:13px;padding:10px 0}
.tyhi{color:var(--tuhmem);font-size:13.5px;padding:14px 0}
.periood{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.periood button{background:var(--pind2);color:var(--tuhm);border:1px solid var(--joon);font-weight:400}
.periood button.valitud{background:var(--hea);color:#0d1117;border-color:var(--hea);font-weight:600}
.periood button.nool2{background:var(--pind2);color:var(--tekst);border:1px solid var(--joon);
  font-weight:600;padding:6px 11px;line-height:1}
.periood button.nool2:disabled{opacity:.3}
.periood .ankur{min-width:150px;text-align:center;font-weight:600;font-size:13.5px}
input[type=date]{background:var(--taust);color:var(--tekst);border:1px solid var(--joon);
  border-radius:5px;padding:6px 8px;font:inherit;font-size:13px}
.plaadid{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.plaat{background:var(--pind);border:1px solid var(--joon);border-radius:7px;
  padding:11px 15px;min-width:150px;flex:1}
.plaat .silt{display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.8px}
.plaat .arv{display:block;font-size:21px;font-weight:600;margin-top:3px}
.plaat .all{display:block;font-size:11.5px;color:var(--tuhmem);margin-top:2px}
.plaat.lahti{border-left:3px solid var(--lahti);cursor:pointer}
.plaat.lahti:hover{background:var(--pind2)}
.plaat.lahti .arv{color:var(--lahti)}
.plaat.korras{border-left:3px solid #4a8f5f}
.plaat.korras .arv{color:#6fbf87}
.puutbl{width:100%;border-collapse:collapse;font-size:13.5px;
  background:var(--pind);border:1px solid var(--joon);border-radius:7px;overflow:hidden}
.puutbl td{padding:6px 12px;border-bottom:1px solid #21252d}
.puutbl tr.t0{background:var(--pind2);font-weight:600}
.puutbl tr.t1{font-weight:600}
.puutbl tr.kat td{color:var(--tuhm);font-size:12.5px}
.puutbl tr.avatav{cursor:pointer}
.puutbl tr.maarrida td{color:var(--lahti)}
.puutbl tr.vahepealkiri td{color:var(--tuhmem);font-size:11.5px;
  padding-top:18px;border-bottom:1px solid var(--joon)}
.puutbl tr.kokkurida td{border-top:2px solid #2f3540;border-bottom:none;
  font-weight:700}
.puutbl tr.avatav:hover{background:var(--pind2)}
.puutbl .n{display:inline-block;width:12px;color:var(--tuhmem);font-size:10px}
.puutbl td.v{text-align:right;white-space:nowrap;font-weight:inherit}
.puutbl td.o{text-align:right;white-space:nowrap;color:var(--tuhmem);font-size:12px;width:110px}
.katki{color:var(--hoiatus)}
.sildikiip{display:inline-flex;align-items:center;gap:5px;margin-left:9px;
  background:var(--pind2);border:1px solid var(--joon);border-radius:12px;
  padding:1px 6px 1px 9px;font-size:11px}
.sildikiip b{font-weight:400;color:var(--tuhm);cursor:pointer}
.sildikiip b:hover{color:var(--hea)}
.sildikiip i{font-style:normal;cursor:pointer;color:var(--tuhmem)}
.sildikiip i:hover{color:var(--hoiatus)}
#sildid table{width:100%;border-collapse:collapse;font-size:13.5px;
  background:var(--pind);border:1px solid var(--joon);border-radius:7px;overflow:hidden}
#sildid td{padding:7px 12px;border-bottom:1px solid #21252d}
#sildid tr:last-child td{border-bottom:0}
#sildid td.v{text-align:right;white-space:nowrap;font-weight:600}
#sildid td.o{text-align:right;color:var(--tuhmem);font-size:12px;white-space:nowrap}
#sildid tr.lopetatud td{color:var(--tuhmem)}
/* Kõik juhtnupud ühel joonel: sama kõrgus, sama kirjasuurus, üks rida. */
.kandedFilter{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}
.kandedFilter select,
.kandedFilter label{height:30px;display:flex;align-items:center;
  font-size:12.5px;line-height:1}
.kandedFilter .tekstinupp{align-self:center;font-size:12.5px;line-height:1}
.kandedFilter select{background:var(--pind);color:var(--tekst);border:1px solid var(--joon);
  border-radius:6px;padding:0 8px;font-family:inherit;max-width:300px}
.kandedFilter label{gap:6px;cursor:pointer;color:var(--tuhm)}
.kandedFilter input[type=checkbox]{margin:0}
/* Allakriips käib TEKSTI, mitte kasti järgi. border-bottom istus 30px
   kasti põhjas ja tekst näis teiste kõrval üles nihkunud. */
.tekstinupp{color:var(--tuhmem);cursor:pointer;white-space:nowrap;
  text-decoration:underline dotted;text-underline-offset:3px}
.tekstinupp:hover{color:var(--hea)}
.tekstinupp.kinni{opacity:.35;pointer-events:none}
.lehed{display:flex;gap:14px;align-items:center;margin-top:12px;
  padding-top:10px;border-top:1px solid var(--joon)}
.lehed .abi{margin:0;flex:1}
#kandedSisu .npais{position:static;background:transparent;padding:0 0 10px}
#kandedSisu .nsisu{padding:0}
.kiip.periood b{color:var(--tuhm)}
.siirdaKast{margin-right:18px}
.siirdaRida select{background:var(--taust);color:var(--tekst);border:1px solid var(--hea);
  border-radius:5px;padding:3px 6px;font:inherit;font-size:12px;margin:0 8px}
.siirdaRida a{color:var(--tuhmem);cursor:pointer;border-bottom:1px dotted var(--tuhmem)}
#lahtised .rida.valmis .pea .nimi{color:var(--tuhm)}
#lahtised .rida.valmis .pea .kandeid{color:#5fa877}
.puutbl td.o.eiloe{width:auto;font-size:11.5px}
.plaat .all.trend{margin-top:2px;font-variant-numeric:tabular-nums}
.plaat .all.trend.yle{color:var(--hoiatus)}
.plaat .all.trend.alla{color:var(--hea)}
.moodikVorm td{background:var(--pind2);padding:11px 13px}
.moodikVorm .rida{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.moodikVorm input{background:var(--taust);color:var(--tekst);border:1px solid var(--joon);
  border-radius:5px;padding:6px 9px;font:inherit;font-size:13px}
.moodikVorm input.mnimi{width:180px}
.moodikVorm input.mavaldis{flex:1;min-width:240px;
  font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:12.5px}
.moodikVorm button{background:var(--hea);color:#0d1117;border:0;border-radius:5px;
  padding:6px 12px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.moodikVorm button.teine{background:transparent;color:var(--tuhm);
  border:1px solid var(--joon);font-weight:400}
.moodikVorm .tulem{margin-top:8px;font-size:12.5px;color:var(--tuhm)}
.moodikVorm .tulem b{font-family:ui-monospace,Menlo,monospace;color:var(--tekst)}
.moodikVorm .viited{margin-top:9px;display:flex;flex-wrap:wrap;gap:5px;
  max-height:118px;overflow:auto}
.moodikVorm .viited b{font-weight:400;font-size:11.5px;color:var(--tuhmem);
  border:1px solid var(--joon);border-radius:10px;padding:2px 8px;cursor:pointer;
  white-space:nowrap}
.moodikVorm .viited b:hover{color:var(--hea);border-color:var(--hea)}
.moodikVorm .viited b.mm{border-style:dashed}
.aruLisa{margin-top:8px;padding-left:12px}
.aruLisa a{color:var(--tuhmem);font-size:11.5px;cursor:pointer;margin-right:14px;
  border-bottom:1px dotted var(--tuhmem)}
.aruLisa a:hover{color:var(--hea);border-bottom-color:var(--hea)}
.aruValik{background:var(--pind2);border:1px solid var(--joon);border-radius:6px;
  padding:10px 12px;margin-top:8px}
.aruValik .viited{margin-top:8px;display:flex;flex-wrap:wrap;gap:5px;
  max-height:150px;overflow:auto}
.aruValik .viited b{font-weight:400;font-size:11.5px;color:var(--tuhmem);
  border:1px solid var(--joon);border-radius:10px;padding:2px 8px;cursor:pointer;
  white-space:nowrap}
.aruValik .viited b:hover{color:var(--hea);border-color:var(--hea)}
.aruValik .viited b.mm{border-style:dashed}
#aruanne .allikas{color:var(--tuhmem);font-size:11px;font-weight:400}
#aruanne .puuTegevus a{margin-right:9px}
div.moodikVorm{background:var(--pind2);border:1px solid var(--joon);
  border-radius:6px;padding:11px 13px;margin-top:8px}
/* mõõdik, millel Kokkuvõttes rida ei ole — näha ainult muutmisrežiimis */
.puutbl tr.orb td{opacity:.7}
.puutbl tr.orb td:first-child{border-left:2px dashed var(--joon)}
.moodikLisa a{color:var(--tuhmem);font-size:11.5px;cursor:pointer;
  border-bottom:1px dotted var(--tuhmem)}
.moodikLisa a:hover{color:var(--hea);border-bottom-color:var(--hea)}
.kuutbl td.tulp{padding:0 3px;vertical-align:bottom}
.bar{background:var(--hea);border-radius:2px 2px 0 0;min-height:2px;
  max-width:54px;margin:0 auto;opacity:.32}
.bar.valitud{opacity:1}
.bar.k{background:#c76b5a}
.bar.m{background:var(--lahti)}
/* §6.3b nr 4 mosaiik. Avaneb RÜHMA pealt, ei ole lehel oma plokk: kuue
   rühma mosaiigid kõrvuti oleks kuus vaipa ja ükski ei räägiks. */
a.mosLink{margin-left:7px;color:var(--tuhmem);font-size:12px;opacity:0;
  transition:opacity .12s}
tr:hover a.mosLink{opacity:1}
a.mosLink:hover{color:var(--hea)}
#mosaiikBox:empty{display:none}
#mosaiikBox{margin-top:12px;background:var(--pind2);border:1px solid var(--joon);
  border-radius:9px;padding:12px 14px}
.mosPais{display:flex;justify-content:space-between;align-items:baseline;gap:10px;
  font-size:13px;color:var(--tuhm);margin-bottom:10px}
.mosPais b{color:var(--tekst);font-size:14.5px;font-weight:600}
.mosPais a{color:var(--tuhmem);font-size:12px;cursor:pointer}
.mosPais a:hover{color:var(--tekst)}
.mos rect{stroke:var(--pind2);stroke-width:1.5;cursor:pointer}
.mos rect:hover{stroke:var(--tekst);stroke-width:1.5}
.mos text{pointer-events:none;font-size:10.5px;fill:var(--taust)}
.mos text.h{fill:var(--tekst)}
.mosAll{margin-top:9px;font-size:12.5px;color:var(--tuhm);
  font-variant-numeric:tabular-nums}
.mosAll b{color:var(--tekst)}

/* §6.3b nr 3 rühma trend. Ühine Y-telg on VAIKIMISI ja alati: oma teljega
   näevad 92 € liikunud Lapsed ja 1502 € liikunud Omale välja peaaegu
   ühesugused. Sirge joon on tõsi ja ütleb midagi kasulikku. */
#trendBox{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:10px}
.tkaart{background:var(--pind2);border:1px solid var(--joon);border-radius:8px;
  padding:9px 10px 6px;cursor:pointer}
.tkaart:hover{border-color:var(--tuhmem)}
.tkaart.lahti{grid-column:1/-1;cursor:default;border-color:var(--hea)}
.tpais{display:flex;justify-content:space-between;align-items:baseline;gap:8px;
  font-size:12.5px}
.tpais b{color:var(--tekst);font-weight:600}
.tpais .tr{font-size:11px;color:var(--tuhm);font-variant-numeric:tabular-nums}
.tkaart svg{display:block;width:100%;height:auto;margin-top:4px}
.tkaart .joon{fill:none;stroke:var(--hea);stroke-width:1.6;
  stroke-linejoin:round;stroke-linecap:round}
.tkaart .pind{fill:var(--hea);opacity:.13}
.tkaart .null{stroke:var(--joon);stroke-width:1}
.tkaart .ots{fill:var(--hea)}
.tkaart text{font-size:9.5px;fill:var(--tuhmem)}
.tkaart.lahti text{font-size:11px}
.tkaart .oma{color:var(--lahti)}

/* „Kokku" rida — sama ruudustik, aga terve laius ja oma telg. Siia kolis
   endine „Kuude kaupa" plokk (§12 rida 8f). */
/* SUUR AKEN — üks, alati. Sisu valib väikese kaardi klõps. */
.tkaart.kokku{grid-column:1/-1;cursor:default;border-color:var(--tuhmem);
  position:relative}
/* Valitud väike kaart. Ilma märgita kaotab kasutaja kolme klõpsu pärast
   jälje, mis suures aknas parajasti on. */
.tkaart.valik{cursor:pointer}
.tkaart.valik.aktiivne{border-color:var(--hea);background:var(--pind2)}
/* „Kulud & tulud" on ainus kaart OMA skaalal — seepärast joon ette. */
.tkaart.eri{border-left:3px solid var(--tuhmem)}
.tkaart .tuluJoon{fill:none;stroke:var(--tuhm);stroke-width:1.6;
  stroke-linejoin:round;stroke-linecap:round}
.tkaart .saastPind{fill:var(--hea);opacity:.20}
.tkaart .puuduPind{fill:var(--hoiatus);opacity:.30}
.tkaart .segaPind{fill:var(--tuhmem);opacity:.18}
.tkaart text.telg2{font-size:10px;fill:var(--tuhmem);
  font-variant-numeric:tabular-nums}
.ristLugem .s{color:var(--hea)}
.ristLugem .p{color:var(--hoiatus)}
.tkaart.kokku svg{cursor:crosshair}
/* Ristlugem — ilmub hiire all, kaob hiirega. Ta EI ole alati nähtav silt:
   alati nähtav number kordaks „kokku" rea päist. */
.ristLugem{position:absolute;top:9px;right:12px;font-size:12px;
  color:var(--tuhm);font-variant-numeric:tabular-nums;background:var(--pind2);
  border:1px solid var(--joon);border-radius:6px;padding:3px 9px;
  pointer-events:none;white-space:nowrap}
.ristLugem b{color:var(--tekst);font-weight:600}
.ristLugem .m{color:var(--lahti)}
.tkaart.kokku .joon{stroke-width:2}
.tkaart .baas{stroke:var(--tuhmem);stroke-width:1;stroke-dasharray:4 4;fill:none}
.tkaart .valitudKuu{fill:var(--tuhmem);opacity:.16}
.tkaart .baasSilt{font-size:9.5px;fill:var(--tuhm)}
/* §6.11 eelarve joon: pidev ja hele — erineb katkendlikust „tavaline kuu" joonest */
.tkaart .eelarveJoon{fill:none;stroke:var(--tekst);stroke-width:1.2;opacity:.7}
.tkaart .eelarveSilt{font-size:9.5px;fill:var(--tekst);opacity:.8}
.tkaart.kokku svg{height:132px}
.tkaart .kuuVihje{stroke:var(--tuhmem);stroke-width:1}
.tkaart .ristTapp{fill:var(--hea)}
/* Kuujoonlaud: TELG on uks, mitte graafik ise. Graafiku klõps on juba
   võetud (kaardi avamine) ja teine tähendus samal pikslil oleks §6.3a
   keelatud neljas käitumine. */
.kuulaud{display:flex;margin-top:2px}
.kuulaud span{flex:1;text-align:center;font-size:10px;color:var(--tuhmem);
  padding:3px 0}
.kuulaud span.on{color:var(--tekst);font-weight:600}
.kuulaud span.all{color:var(--tekst)}

/* §6.3b õun. Lõigud on rühmad, tervik on KULUD; ringi sees teine ring,
   mille tervik on SISSETULEK. Kaks eri nimetajat on lubatud ainult siis,
   kui mõlemad terviked on näha (§4.7). */
#ounBox{overflow-x:auto}
svg.oun{display:block;margin:0 auto;max-width:560px;width:100%;height:auto}
/* Sildid ja viidajooned ei püüa hiirt kinni — muidu ei tööta hõljutamine
   ega klõps just seal, kus kasutaja loeb. Kasutaja leid 27.08. */
.oun text, .oun polyline{pointer-events:none}
.oun path.lõik{cursor:pointer}
.oun path.lõik:hover{opacity:.78}
.oun .viit{stroke:var(--tuhmem);stroke-width:1;fill:none}

/* §6.3b kosk. Rakenduse enda värvid — uusi juurde ei tule. Rollinimed on
   „vähem" ja „rohkem", MITTE „hea" ja „hoiatus": kosel ei ole head suunda
   (§2). Sama hex, teine nimi, ja nimi on see, mis käitumist kannab (§4.8a). */
#koskBox{overflow-x:auto}
/* §6.11 Ülevaate kolm osa */
.osariba{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.osariba a{font-size:12.5px;color:var(--tuhm);padding:3px 11px;border-radius:14px;
  border:1px solid var(--joon);cursor:pointer;user-select:none}
.osariba a:hover{color:var(--tekst)}
.osariba a:hover{border-color:var(--hea)}
.osa{display:flow-root}
.osaPea{font-size:13px;font-weight:600;color:var(--tekst);letter-spacing:.3px;
  margin:40px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--joon)}
#osa1 .osaPea{margin-top:24px}
.kokkuRida{background:var(--pind);border:1px solid var(--joon);border-radius:7px;
  padding:10px 14px;font-size:13.5px;color:var(--tuhm)}
.kokkuRida.avatav{cursor:pointer}
.kokkuRida.avatav:hover{border-color:var(--lahti)}
.kokkuRida b{color:var(--lahti);font-weight:600}
.kokkuRida.margusRida b{color:var(--tekst)}
.kokkuRida.margusRida:hover{border-color:var(--hea)}
.kokkuRida .nool{display:inline-block;width:16px}
.kokkuRida.korras{color:var(--tuhmem)}
#lahtisedSisu, #margusedSisu{margin-top:10px}
/* §6.10 Püsiv ja valitud */
.kinni{background:var(--pind);border:1px solid var(--joon);border-radius:9px;padding:16px 18px}
.kinniLause{display:flex;flex-wrap:wrap;gap:6px 28px;align-items:flex-start}
.kinniLause .osa{display:flex;flex-direction:column}
.kinniLause .silt{font-size:12px;color:var(--tuhm)}
.kinniLause .arv{font-size:24px;font-weight:600;line-height:1.3}
.kinniLause .arv.puudu{color:var(--hoiatus)}
.kinniLause .lisa{font-size:12px;color:var(--tuhm)}
.kinniTapp{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px}
.kinniLeg{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:12px;color:var(--tuhm);margin:14px 0 2px}
.kinniLeg i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px}
.kinniLeg i.joon{width:14px;height:0;border-top:2px solid var(--tekst);border-radius:0;vertical-align:3px}
.kinniPilt{overflow-x:auto}
.kinniVahemik{font-size:12.5px;color:var(--tuhm);margin:4px 0 16px}
.kinniVahemik b{color:var(--tekst);font-weight:600}
.kinniAla{font-size:12px;color:var(--tuhm);margin:0 0 2px}
/* §10.53 püsiv kulu aastaga */
.kinniAasta{margin:6px 0 18px}
.kinniAasta .kinniLause{margin:4px 0 6px}
svg.kinniAastaSvg .vork{stroke:var(--joon);stroke-width:1}
svg.kinniAastaSvg .null{stroke:var(--tuhm);stroke-width:1}
svg.kinniAastaSvg .telg{fill:var(--tuhm);font-size:11px}
svg.kinniAastaSvg .nimi{fill:var(--tekst);font-size:13px}
svg.kinniAastaSvg .nimi.uks{cursor:pointer}
svg.kinniAastaSvg .nimi.uks:hover{text-decoration:underline}
svg.kinniAastaSvg .alam{fill:var(--tuhm);font-size:11px}
svg.kinniAastaSvg .arv{fill:var(--tuhm);font-size:11.5px;font-variant-numeric:tabular-nums}
svg.kinniAastaSvg .vahem{fill:var(--hea)}
svg.kinniAastaSvg .rohkem{fill:var(--hoiatus)}
svg.kinniAastaSvg .rida .taust{fill:transparent}
svg.kinniAastaSvg .rida:hover .taust{fill:var(--pind2)}
svg.kinniAastaSvg{min-width:640px}
svg.kinniKuud .kinniVork{stroke:var(--joon);stroke-width:1}
svg.kinniKuud .kinniTelg, svg.kinniKuud .kinniKuuNimi{fill:var(--tuhm);font-size:11px}
svg.kinniKuud .kuu{cursor:pointer}
svg.kinniKuud .kuu .taust{fill:transparent}
svg.kinniKuud .kuu:hover .taust{fill:var(--pind2)}
svg.kinniKuud .pohi{fill:var(--ei);opacity:.45}
svg.kinniKuud .katus{fill:var(--hea);opacity:.42}
svg.kinniKuud .sisse{stroke:var(--tekst);stroke-width:2;stroke-linecap:round;opacity:.6}
svg.kinniKuud .kuu.on .pohi, svg.kinniKuud .kuu.on .katus, svg.kinniKuud .kuu.on .sisse{opacity:1}
svg.kinniKuud .kuu.on .kinniKuuNimi{fill:var(--tekst);font-weight:600}
svg.kinniKoos .lõik{cursor:pointer}
svg.kinniKoos .lõik:hover rect{filter:brightness(1.15)}
svg.kinniKoos .klamber{fill:none;stroke:var(--tuhm);stroke-width:1}
svg.kinniKoos .kinniKlSilt{fill:var(--tekst);font-size:12px;font-weight:600}
svg.kinniKoos .jaak{fill:none;stroke:var(--joon);stroke-dasharray:4 3}
svg.kinniKoos .jaakSilt{fill:var(--tuhm);font-size:11.5px}
svg.kinniKoos .kinniSisse{fill:var(--tekst);font-size:12px}
svg.kinniKoos .sisseJoon{stroke:var(--tekst);stroke-width:2}
svg.kinniKoos .puuduKl{fill:none;stroke:var(--hoiatus);stroke-width:1.2}
svg.kinniKoos .puuduSilt{fill:var(--hoiatus);font-size:12px;font-weight:600}
svg.kosk{display:block;min-width:820px;width:100%;height:auto}
.kosk .telg{stroke:var(--joon)}
.kosk .grid{stroke:var(--joon);opacity:.5}
.kosk .conn{stroke:var(--tuhmem);stroke-dasharray:2 3}
.kosk .ankur{fill:var(--ei)}
.kosk .vahem{fill:var(--hea)}
.kosk .rohkem{fill:var(--hoiatus)}
.kosk .allikas{fill:none;stroke:var(--tuhm);stroke-width:1.5}
.kosk .lahtineT{fill:none;stroke:var(--lahti);stroke-width:1.5}
.kosk text{font-size:12px;fill:var(--tuhm)}
.kosk text.arv{font-size:11.5px;font-variant-numeric:tabular-nums}
.kosk text.tugev{fill:var(--tekst);font-weight:600}
.kosk text.tick{font-size:10.5px;fill:var(--tuhmem);font-variant-numeric:tabular-nums}
.kosk text.alt{font-size:10px;fill:var(--tuhmem)}
.kosk .uks{cursor:pointer}
.kosk .uks:hover{text-decoration:underline}
.koskPais{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;
  font-size:14px;color:var(--tuhm);font-variant-numeric:tabular-nums;
  padding:0 2px 10px}
.koskPais b{color:var(--tekst);font-weight:600;font-size:15px}
.koskPais .n{color:var(--tuhmem)}
.koskPais .u{color:var(--tuhmem)}
.koskPais .v{margin-left:auto;color:var(--tuhm)}
.koskLepitus{font-size:12.5px;color:var(--tuhm);font-variant-numeric:tabular-nums;
  padding:8px 2px 0;border-top:1px solid var(--joon);margin-top:8px}
.koskLepitus b{color:var(--tekst);font-weight:600}
.koskKatki{color:var(--hoiatus)}
.kuutbl td.silt{color:var(--tuhm);font-size:12px;width:110px}
.kuutbl td.kuunimi{font-size:10px;text-align:center;color:var(--tuhmem)}
.kuutbl td.kuunimi.valitud{color:var(--tekst);font-weight:600}
.kuutbl td.vihje{background:var(--pind2)}
.kuutbl td.kuunimi.vihje{color:var(--tekst)}
#import{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
#logi{white-space:pre-wrap;font-family:ui-monospace,Menlo,monospace;font-size:12px;
  color:var(--tuhm);margin-top:10px;max-height:240px;overflow:auto}
@media(max-width:640px){
  .summa{min-width:78px} .kandeid{display:none} main{padding:12px}
}
.eelarveNr.lukus{cursor:default;border-bottom:none}

/* --------------------------------------------------- §6.9 OOTEL IMPORT */
.ootelFail{margin-top:18px;font-size:14px}
.ootelFail .kandeid{color:var(--tuhm);font-size:12px}
.ootelArv{color:var(--tuhm);font-size:13px;margin:2px 0 12px}
.ootelPais{border-top:1px solid var(--joon);padding:10px 0 6px;font-size:12px;
  letter-spacing:.06em;color:var(--tuhm)}
.ootelPais.avatav{cursor:pointer}
.ootelPais.avatav:hover{color:var(--tekst)}
.ootelPais .nool{display:inline-block;width:14px}
.ootelTehtud{opacity:.72}
/* „Ei küsita" rea põhjus seisab seal, kus mujal on rippmenüü — nii on näha,
   et valikut EI OLE, mitte et ta on tühi. Kaldkiri, sest see on meie sõna
   kande kohta, mitte panga oma. */
td.vaikneP{color:var(--tuhm);font-style:italic;font-size:12px;white-space:nowrap}
.ootelLopp{border-top:1px solid var(--joon);margin-top:14px;padding-top:14px;
  display:flex;gap:10px;justify-content:flex-end}
.ootelLopp button.teine{background:none;border:1px solid var(--joon);color:var(--tuhm)}
.ootelLopp button.teine:hover{color:var(--tekst)}

/* ------------------------------------------------------- §5.7.10 KESE
   Kaart on olemas ainult siis, kui EELTÄITA EI OLE MILLEGAGI. Seepärast on
   ta vaikne: sama pind, mis ülejäänud eelvaatel, üks joon ümber ja mitte
   ühtki värvi, mis karjuks. Ta ei ole teade ega õpetus — ta on üks väli ja
   üks nupp. */
.keseKaart{background:var(--pind);border:1px solid var(--joon);
  border-radius:7px;padding:12px 13px;margin:14px 0}
.keseKaartPais{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.keseNimiVali{flex:0 0 220px;background:var(--taust);color:var(--tekst);
  border:1px solid var(--joon);border-radius:5px;padding:6px 9px;
  font:inherit;font-size:13.5px}
.keseMeta{flex:1;color:var(--tuhm);font-size:12.5px;white-space:nowrap}
.keseSumma{color:var(--tekst);font-size:13px;white-space:nowrap}

/* Liige on RIDA, mitte kiip: ilma kannete arvu ja eurodeta ei saa kaarti
   silmaga hinnata. Aga paljas arvuderida on LAME — Coop 10 010 € ja
   Toidutold 15 € näevad ühesugused välja (kasutaja leid 01.10).
   Riba rea taga on INFO, mitte kaunistus: ta ütleb ühe pilguga, kas rühm on
   üks suur kaupmees pluss müra või päris hulk. Pikkus on summa suhe selle
   kaardi suurimasse. Sama värv, mis `.bar` graafikutel — üks keel. */
.keseLiikmed{display:flex;flex-direction:column;background:var(--taust);
  border:1px solid var(--joon);border-radius:6px;overflow:hidden}
.keseRida{display:flex;align-items:center;gap:10px;padding:5px 10px;
  border-bottom:1px solid #21252d;font-size:13px;
  background:linear-gradient(to right,
    rgba(75,163,199,.26) var(--osa,0%), transparent var(--osa,0%))}
.keseRida:last-child{border-bottom:0}
.keseRida:hover{background:linear-gradient(to right,
    rgba(75,163,199,.38) var(--osa,0%), var(--pind2) var(--osa,0%))}
/* Väikseim riba peab jääma nähtavaks: 15 € 10 000 € kõrval on 0,15 % ja
   kaoks ära. Vasak serv on alati joonena olemas — ta ütleb „see rida on
   siin", riba pikkus ütleb „kui palju". */
.keseRida{box-shadow:inset 2px 0 0 rgba(75,163,199,.45)}
.keseRida.valjas{opacity:.3}
.keseRida.valjas .keseNimi{text-decoration:line-through}
.keseNimi{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;color:var(--tekst)}
.keseKandeid{flex:0 0 46px;text-align:right;color:var(--tuhmem);font-size:12px}
.keseRaha{flex:0 0 88px;text-align:right;color:var(--tuhm);font-weight:600}
.keseX{flex:0 0 18px;text-align:center;cursor:pointer;color:var(--tuhmem);
  line-height:1;font-size:12px}
.keseX:hover{color:var(--hoiatus)}
.keseLopp{display:flex;gap:8px;align-items:center;margin-top:12px;
  padding-top:11px;border-top:1px solid var(--joon)}
.keseLopp .keseNimiVali{flex:0 0 240px}

/* Eeltäidetud rida. `maaratud` on roheka joonega — see siin on TUHMIM,
   sest baasi ei ole veel midagi läinud. Erinevus peab olema näha, aga ta
   ei tohi näida veaks. */
select.ettepanek{border-color:#4a4636;color:var(--tekst)}
.allikas.ettepanek{color:var(--lahti)}

/* --------------------------------------------- §6.2a kanne on ÜKS rida */
tr.kandepea{cursor:pointer}
tr.kandepea td.nool2{width:14px;color:var(--tuhm);padding-right:0}
tr.kandepea td.km{max-width:280px;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
tr.kandepea:hover td.nool2{color:var(--tekst)}
tr.kandesisu .kandejalus{margin-top:8px}

#toolauUksed{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 16px;
  border-bottom:1px solid var(--joon);padding-bottom:10px}
#toolauUksed button{background:none;border:1px solid var(--joon);color:var(--tuhm);
  padding:6px 12px;border-radius:6px;cursor:pointer;font:inherit}
#toolauUksed button:hover{color:var(--tekst)}
#toolauUksed button.valitud{color:var(--tekst);border-color:var(--tekst)}
#kandedPlokk h2, #reeglidPlokk h2{display:none}

.margus.sarnane{display:flex;justify-content:space-between;align-items:center;gap:14px}
.sarnaseTeod{display:flex;gap:12px;white-space:nowrap}

/* ----------------------------------------------------- §6.9 IMPORDIVORM */
#lohistus{border:1px dashed var(--joon);border-radius:10px;padding:26px 20px;
  text-align:center;transition:border-color .12s, background .12s}
#lohistus.yle{border-color:var(--hea);background:rgba(255,255,255,.03)}
#lohistus .lohiTekst{font-size:14px;color:var(--tekst)}
#lohistus .lohiVoi{font-size:11px;color:var(--tuhm);margin:6px 0 10px}
#lohistus .lohiFail{font-size:12px;color:var(--tuhm);margin-top:8px}
#lohistus button{margin-top:0}
#lohistus button.teine{background:none;border:1px solid var(--joon);color:var(--tekst)}
#lohistus button.teine:hover{border-color:var(--tekst)}
#lohistus #impordiNupp{display:block;margin:14px auto 0}
#lohistus #impordiNupp[disabled]{opacity:.35;cursor:default}

/* ------------------------------------------------------ §5.5c ULATUS */
.ulatus{margin-top:10px;padding-top:10px;border-top:1px solid var(--joon);
  display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:11px}
td.reegliTd{text-align:right;white-space:nowrap;padding-left:10px}
.ulatus .ulatusOlek{color:var(--tuhmem)}
.ulatus .reeglilink.ootab{opacity:.5}
.ulatusProov{flex-basis:100%;display:flex;gap:12px;align-items:flex-start;
  margin-top:6px;flex-wrap:wrap}
.ulatusProov .proov{margin-top:0}
.ulatusProov button{padding:3px 10px;font-size:11px}

/* Kokkupandud olek: üks rida, mitte kolmandik ekraanist. Lohistada saab
   endiselt — kogu Töölaud on sihtmärk, kast on ainult vihje. */
#lohistus.kokku{padding:10px 14px;display:flex;align-items:center;gap:12px;
  justify-content:flex-start}
#lohistus.kokku .lohiTekst{font-size:12px;color:var(--tuhm)}
#lohistus.kokku .lohiVoi{display:none}
#lohistus.kokku button{margin-top:0}
#lohistus.kokku #impordiNupp{display:inline-block;margin:0}
/* ------------------------------------------- §7.8.7 S4 KAARDISTUSVORM */
/* Vorm on ehitatud eeldusega, et MASIN EKSIB. Mõõdetud 90 % tähendab, et
   ta avaneb enamasti täidetuna — ja täpselt seepärast peab ta näitama
   PÕHJENDUST ja PÄRIS RIDU, mitte ainult veeru nime. Vorm, mis on 9 korral
   10-st õige, õpetab kümnendal korral ilma vaatamata edasi klõpsama. */
#kaardistus{margin-top:14px;border:1px solid var(--joon);border-radius:10px;
  padding:16px 18px;background:rgba(255,255,255,.02)}
#kaardistus h3{margin:0 0 4px;font-size:15px}
#kaardistus .kaPea{font-size:11px;color:var(--tuhm);margin-bottom:14px}
#kaardistus .kaRida{display:grid;grid-template-columns:120px 1fr;gap:10px;
  padding:9px 0;border-top:1px solid var(--joon);align-items:start}
#kaardistus .kaRida:first-of-type{border-top:none}
#kaardistus .kaRoll{font-size:12px;padding-top:5px}
#kaardistus .kaRoll b{display:block;font-size:12px}
#kaardistus .kaRoll .kaNoue{font-size:10px;color:var(--halb)}
#kaardistus .kaRoll .kaVaba{font-size:10px;color:var(--tuhmem)}
#kaardistus select,#kaardistus input[type=text]{width:100%;max-width:340px;
  background:var(--taust2,#111);color:var(--tekst);border:1px solid var(--joon);
  border-radius:6px;padding:5px 8px;font-size:12px}
#kaardistus .kaPakkus{font-size:10px;color:var(--tuhm);margin-top:4px}
#kaardistus .kaPakkus.masin{color:var(--hoiatus,#c9a227)}
#kaardistus .kaNaide{font-size:11px;color:var(--tuhmem);margin-top:3px;
  font-family:ui-monospace,Menlo,Consolas,monospace;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#kaardistus .kaSuund{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;font-size:11px}
#kaardistus .kaSuund label{display:flex;gap:4px;align-items:center}
#kaardistus .kaTeod{margin-top:16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#kaardistus .kaTingimus{margin-top:12px;font-size:12px}
#kaardistus .kaTingimus div{padding:3px 0}
#kaardistus .kaTingimus .ok::before{content:'OK  ';color:var(--hea)}
#kaardistus .kaTingimus .ei::before{content:'EI  ';color:var(--halb)}
#kaardistus .kaTingimus .pohjus{font-size:11px;color:var(--tuhm);padding-left:26px}
#kaardistus .kaYle{margin-top:14px;font-size:11px;color:var(--tuhm);
  border-top:1px solid var(--joon);padding-top:10px}

/* §7.8.12: haldusleht on eraldi fail, aga menüüs sama rida. */
/* Menüüpunkt on üks asi, ükskõik kas ta on <button> (sama leht) või <a>
   (teine leht): sama suurus, sama font, sama „valitud" (leid 21.09: haldus.html
   lingid olid allajoonitud tavatekst, „Haldus" väiksem ja teise kaaluga). */
.menyy a{background:transparent;color:var(--tuhm);border:1px solid transparent;
  border-radius:6px;padding:5px 12px;font-weight:400;font-size:13.5px;
  font-family:inherit;line-height:normal;text-decoration:none;display:inline-flex;align-items:center}
.menyy a:hover{color:var(--tekst);background:var(--pind2)}
.menyy a.valitud{background:var(--pind2);color:var(--tekst);border-color:var(--joon);font-weight:600}
.laeb{color:var(--tuhmem);font-size:12.5px;padding:8px 0}

/* ================================================== §8.9 SISSELOGIMINE (M3)
   Üks kitsas kast keset lehte. Sama tüpograafia ja samad värvid, mis mujal
   — sisselogimine ei ole eraldi toode. */
/* `hidden` atribuut ei võida `display:flex`-i — ilma selle reata jäi
   sisselogimise kast pärast sisselogimist Ülevaate alla seisma (leid NAS-il). */
.sisseKast[hidden]{display:none}
.sisseKast{max-width:360px;margin:64px auto;padding:28px 26px;background:var(--pind);
  border:1px solid var(--joon);border-radius:14px;display:flex;flex-direction:column;gap:12px}
.sisseKast h2{margin:0 0 4px;font-size:20px}
.sisseKast input{padding:10px 12px;font:inherit;color:var(--tekst);background:var(--taust);
  border:1px solid var(--joon);border-radius:8px}
.sisseKast button{padding:10px 12px;font:inherit;cursor:pointer}
.sisseKast .vahetus{font-size:13px;color:var(--ei);text-decoration:none;text-align:center}
.sisseKast .vahetus:hover{text-decoration:underline}
.sisseKast .sisseViga:not(:empty){color:var(--hoiatus);font-size:13px}
.menyy .valjaLink{margin-left:auto}

/* §8.9 halduri vaade teise kasutaja andmetes (M5) — ei tohi olla vaikne. */
.vaateRiba{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:12px;
  padding:7px 16px;background:var(--hoiatus);color:#fff;font-size:13px}
.vaateRiba button{font:inherit;padding:3px 10px;cursor:pointer;border-radius:6px;
  border:1px solid rgba(255,255,255,.6);background:transparent;color:#fff}
.kTabel{width:100%;border-collapse:collapse;font-size:14px}
.kTabel th{text-align:left;font-weight:600;color:var(--ei);padding:4px 8px}
.kTabel td{padding:4px 8px;border-top:1px solid var(--joon);vertical-align:middle}
.kTabel .num{text-align:right}
.kTabel button{font:inherit;font-size:12px;padding:2px 8px;cursor:pointer}
.kTabel button.ohtlik{color:var(--hoiatus)}
