/* Workshops ("Töötoad"): shared look for the data-backed worksheets. Style follows the toolbox: white cards,
   1.5 px #cfd8de borders, pill buttons, #006da8 blue, #2f7a3d green, dashed grey placeholders when data is missing. */
.lb{display:grid;gap:20px;color:#1b3a52}
.lb h3,.lb h4{margin:0}
.lb-lead{margin:0;font-size:16px;line-height:1.6;color:#33495a}
.lb-step{display:grid;gap:14px;padding:20px;border:1.5px solid #cfd8de;border-radius:20px;background:#fff}
.lb-step-head{display:flex;gap:14px;align-items:flex-start}
.lb-step-head h3{font-size:18px;line-height:1.3}
.lb-step-no{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#006da8;color:#fff;font-weight:800}
.lb-step-hint{margin:4px 0 0;font-size:14px;line-height:1.5;color:#46606f}
.lb-label{margin:6px 0 -6px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#46606f}
.lb-picker{display:grid;gap:6px;font-weight:700;font-size:14px}
.lb-picker select,.lb input[type=number],.lb input[type=text],.lb select,.lb textarea{min-height:44px;padding:8px 14px;border:1.5px solid #9fb2bf;border-radius:14px;background:#fff;color:#1b3a52;font:inherit;font-weight:600;max-width:100%}
.lb textarea{width:100%;box-sizing:border-box;min-height:88px;font-weight:400}
.lb :is(select,input,textarea,button,summary):focus-visible{outline:3px solid #ffbf47;outline-offset:2px}
.lb-choice{display:flex;flex-wrap:wrap;gap:8px}
.lb-pill{display:grid;gap:2px;justify-items:start;min-height:44px;padding:8px 18px;border:1.5px solid #cfd8de;border-radius:999px;background:#fff;color:#1b3a52;font:inherit;text-align:left;cursor:pointer;transition:background-color .18s,border-color .18s,color .18s}
.lb-pill-title{font-weight:700;font-size:15px}
.lb-pill-hint{font-size:12px;color:#46606f}
.lb-pill:hover{border-color:#006da8;background:#f4f9fc}
.lb-pill.is-on{background:#006da8;border-color:#006da8;color:#fff}
.lb-pill.is-on .lb-pill-hint{color:#e1f0f8}
.lb-pill.is-on:hover{background:#00507c;border-color:#00507c}
.lb-group,.lb-moved,.lb-note{margin:0;padding:12px 16px;border-radius:14px;background:#f1f6f9;font-size:14px;line-height:1.55;color:#33495a}
.lb-range{display:flex;justify-content:space-between;gap:12px;font-weight:700;font-size:14px}
.lb-range-out{color:#006da8;font-size:18px}

.lb-presets{display:flex;gap:8px}
.lb-chip{min-height:44px;min-width:56px;padding:6px 16px;border:1.5px solid #cfd8de;border-radius:999px;background:#fff;color:#006da8;font:inherit;font-weight:700;cursor:pointer;transition:background-color .18s,border-color .18s}
.lb-chip:hover{background:#eaf5fb;border-color:#006da8}
.lb-results{display:grid;gap:14px;padding:20px;border:1.5px solid #bfdcec;border-radius:20px;background:#f4f9fc}
.lb-results h3{font-size:18px}
.lb-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.lb-stat{display:grid;gap:4px;padding:16px;border:1.5px solid #cfd8de;border-radius:18px;background:#fff}
.lb-stat-label{font-size:13px;font-weight:700;color:#46606f}
.lb-stat-value{font-size:28px;line-height:1.15;color:#1b3a52}
.lb-stat-note{font-size:12px;color:#46606f}
.lb-stat.is-blue .lb-stat-value{color:#006da8}
.lb-stat.is-green .lb-stat-value{color:#2f7a3d}
.lb-stat.is-empty{border-style:dashed;border-color:#9fb2bf;background:transparent}
.lb-stat.is-empty .lb-stat-value{color:#9fb2bf}
.lb-range-line{margin:0;font-size:14px;line-height:1.55;color:#33495a}
.lb-split{display:grid;gap:10px}
.lb-split h4{font-size:15px}
.lb-split:empty{display:none}
.lb-bar{display:grid;grid-template-columns:minmax(150px,1.2fr) 2fr auto;gap:12px;align-items:center}
.lb-bar-name{display:grid}
.lb-bar-name small{font-size:12px;color:#46606f}
.lb-bar-track{display:block;height:12px;border-radius:999px;background:#e1ebf1;overflow:hidden}
.lb-bar-fill{display:block;height:100%;border-radius:999px;background:#006da8}
.lb-bar-value{font-weight:800;font-variant-numeric:tabular-nums}
.lb-save,.lb-primary{justify-self:start;min-height:48px;padding:10px 26px;border:0;border-radius:999px;background:#006da8;color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:background-color .18s}
.lb-save:hover:not(:disabled),.lb-primary:hover:not(:disabled){background:#00507c}
.lb-save:disabled{background:#9fb2bf;cursor:not-allowed}
.lb-details{border:1.5px solid #cfd8de;border-radius:18px;background:#fff;padding:0 18px}
.lb-details summary{min-height:48px;display:flex;align-items:center;font-weight:700;color:#006da8;cursor:pointer}
.lb-details>*:not(summary){padding-bottom:16px}
.lb-list{margin:0;padding-left:20px;display:grid;gap:8px;font-size:14px;line-height:1.55;color:#33495a}
.lb-sources{margin:12px 0 0;font-size:13px;line-height:1.6;color:#46606f}
.lb-sources a{color:#006da8}
@media(max-width:600px){.lb-step,.lb-results{padding:16px}.lb-bar{grid-template-columns:1fr auto}.lb-bar-track{grid-column:1/-1;grid-row:2}}
@media print{.lb-save{display:none}}
@media(prefers-reduced-motion:reduce){.lb-pill,.lb-chip,.lb-save{transition:none}}

/* Shared form pieces used by the budget and trial worksheets. */
.lb-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.lb-field{display:grid;gap:6px;font-weight:700;font-size:14px}
.lb-field input{width:100%;box-sizing:border-box}
.lb-block{display:grid;gap:12px;padding:16px;border:1.5px solid #e1ebf1;border-radius:18px;background:#fbfdfe}
.lb-block-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.lb-block-head h4{font-size:16px}
.lb-block-total{font-size:18px;color:#006da8;white-space:nowrap}
.lb-rows{display:grid;gap:10px}
.lb-row{display:grid;grid-template-columns:minmax(140px,2fr) minmax(70px,.8fr) minmax(150px,1.6fr) auto auto;gap:8px;align-items:center}
.lb-row input,.lb-row select{width:100%;box-sizing:border-box}
.lb-row input[hidden]{display:none}
.lb-row-cost{font-weight:800;min-width:80px;text-align:right;font-variant-numeric:tabular-nums}
.lb-remove{width:44px;height:44px;border:1.5px solid #cfd8de;border-radius:50%;background:#fff;color:#1b3a52;font:inherit;font-size:20px;line-height:1;cursor:pointer;transition:background-color .18s,border-color .18s}
.lb-remove:hover{background:#fdf1ee;border-color:#c0502d}
.lb-empty{margin:0;padding:14px;border:1.5px dashed #9fb2bf;border-radius:14px;color:#46606f;font-size:14px}
.lb-empty[hidden]{display:none}
.lb-actions{display:flex;flex-wrap:wrap;gap:8px}
.lb-warn{margin:0;padding:12px 16px;border-radius:14px;background:#fdf3e3;color:#7a4a00;font-size:14px;line-height:1.55}
.lb-warn[hidden]{display:none}
.lb-fund{padding:14px 0;border-top:1px solid #e1ebf1;display:grid;gap:4px}
.lb-fund p{margin:0;font-size:14px;line-height:1.55;color:#33495a}
@media(max-width:700px){.lb-row{grid-template-columns:1fr auto;padding:12px;border:1px solid #e1ebf1;border-radius:14px;background:#fff}.lb-row>input[type=text],.lb-row>select{grid-column:1/-1}.lb-row>input[type=number]{grid-column:1/-1}.lb-row-cost{text-align:left;font-size:16px}.lb-remove{justify-self:end}}

/* Preview cards in the "Töötoad" section: photo header with number, icon and title; text, outcome and sources below. */
#labs .lb-card{--accent:#006da8;--accent-soft:#eaf5fb;--accent-dark:#0a3d5c;position:relative;display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0;padding:0;border:2px solid #d8e2e8;border-radius:24px;background:#fff;box-shadow:0 10px 24px -18px rgb(15 40 65 / 30%);text-align:left;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}
#labs .lb-card-infrastructure{--accent:#2f7a3d;--accent-soft:#e8f4ea;--accent-dark:#143d1c}
#labs .lb-card-experiment{--accent:#7a4aa0;--accent-soft:#f1eaf7;--accent-dark:#3a1f52}
#labs .lb-card-budget{--accent:#b86b00;--accent-soft:#fdf1dd;--accent-dark:#523000}
#labs .lb-card-hero{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-height:210px;padding:18px 20px 20px;color:#fff;background:linear-gradient(180deg,rgb(0 0 0 / 5%) 0%,color-mix(in srgb,var(--accent-dark) 88%,transparent) 100%),var(--photo) center/cover no-repeat,var(--accent-dark)}
#labs .lb-card-row{display:flex;align-items:center;justify-content:space-between}
#labs .lb-card-no{font-size:14px;font-weight:800;letter-spacing:.14em;color:rgb(255 255 255 / 92%)}
#labs .lb-card-icon{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;background:rgb(255 255 255 / 94%);color:var(--accent)}
#labs .lb-card-icon svg{width:26px;height:26px}
#labs .lb-card .eyebrow{margin:0;font-size:12px;letter-spacing:.12em;color:rgb(255 255 255 / 88%)}
#labs .lb-card h3{margin:0;font-size:25px;line-height:1.15;color:#fff;text-shadow:0 1px 8px rgb(0 0 0 / 35%)}
#labs .lb-card-body{display:flex;flex:1 1 auto;flex-direction:column;gap:14px;padding:18px 20px 20px}
#labs .lb-card p{margin:0;font-size:14px;line-height:1.55;font-weight:700;color:#46606f}
#labs .lb-card-out{flex:1 1 auto;display:grid;gap:4px;align-content:start;padding:14px 16px;border-radius:16px;background:var(--accent-soft);font-size:14.5px;line-height:1.55;color:#1f2f3b}
#labs .lb-card-out b{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
#labs .lb-card-tags{display:flex;flex-wrap:wrap;gap:6px}
#labs .lb-card-tags span{padding:4px 10px;border-radius:999px;background:#f1f6f9;color:#46606f;font-size:12px;font-weight:700}
#labs .lb-card .navigation-link{display:flex!important;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 0;padding:6px 6px 6px 20px;border-radius:999px;background:var(--accent);color:#fff;font-weight:800;font-size:15px;transition:filter .18s}
#labs .lb-card .navigation-arrow{display:grid;place-items:center;width:40px;height:40px;border:2px solid rgb(255 255 255 / 85%);border-radius:50%;color:#fff;background:transparent;box-sizing:border-box}
#labs .lb-card .navigation-arrow svg{width:20px;height:20px}
#labs .lb-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 18px 32px -18px rgb(15 40 65 / 40%)}
#labs .lb-card:hover .navigation-link{filter:brightness(.9)}
#labs .lb-card:active{transform:translateY(-1px)}
#labs .lb-card:focus-visible{outline:3px solid #ffbf47;outline-offset:3px}
@media(prefers-reduced-motion:reduce){#labs .lb-card{transition:none}#labs .lb-card:hover{transform:none}}
@media(max-width:600px){#labs .lb-card-hero{min-height:180px;padding:16px 18px 18px}#labs .lb-card h3{font-size:22px}#labs .lb-card-body{padding:16px 18px 18px}}

.lb-disclaimer{border:1.5px solid #c9d0d6;border-radius:14px;background:#fff;color:#1f2a33;overflow:hidden}
.lb-disclaimer-head{display:flex;align-items:center;gap:12px;padding:12px 18px;background:#f1f3f5;border-bottom:1.5px solid #c9d0d6;color:#4a545c}
.lb-disclaimer-head strong{font-size:16px}
.lb-i{display:inline-grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#4a545c;color:#fff;font:italic 700 18px/1 Georgia,'Times New Roman',serif}
.lb-disclaimer-body{display:grid;gap:4px;padding:16px 20px 18px}
.lb-disclaimer-body h4{margin:10px 0 0;font-size:15px;color:#1f2a33}
.lb-disclaimer-body h4:first-child{margin-top:0}
.lb-disclaimer-body p{margin:0;font-size:15px;line-height:1.65;color:#2d3a44}
.lb-table-wrap{overflow-x:auto}
.lb-mini-table{border-collapse:collapse;font-size:13px;min-width:100%}
.lb-mini-table th,.lb-mini-table td{padding:6px 10px;border-bottom:1px solid #e1ebf1;text-align:right;white-space:nowrap}
.lb-mini-table th:first-child{text-align:left}

/* Slider: custom track so the filled part reaches the end of the track at the maximum. */
.lb input[type=range]{--thumb:28px;--p:.2;-webkit-appearance:none;appearance:none;width:100%;height:44px;margin:0;padding:0;border:0;background:transparent;cursor:pointer}
.lb input[type=range]::-webkit-slider-runnable-track{height:10px;border-radius:999px;background:linear-gradient(to right,#006da8 0,#006da8 calc(var(--thumb)/2 + (100% - var(--thumb)) * var(--p)),#dbe6ec calc(var(--thumb)/2 + (100% - var(--thumb)) * var(--p)))}
.lb input[type=range]::-moz-range-track{height:10px;border-radius:999px;background:#dbe6ec}
.lb input[type=range]::-moz-range-progress{height:10px;border-radius:999px;background:#006da8}
.lb input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:var(--thumb);height:var(--thumb);margin-top:calc((10px - var(--thumb))/2);border:4px solid #fff;border-radius:50%;background:#006da8;box-shadow:0 1px 4px rgb(15 40 65 / 40%)}
.lb input[type=range]::-moz-range-thumb{width:calc(var(--thumb) - 8px);height:calc(var(--thumb) - 8px);border:4px solid #fff;border-radius:50%;background:#006da8;box-shadow:0 1px 4px rgb(15 40 65 / 40%)}
.lb input[type=range]:focus-visible{outline:3px solid #ffbf47;outline-offset:6px;border-radius:999px}
.lb-range-ends{display:flex;justify-content:space-between;margin-top:-4px;font-size:12px;font-weight:700;color:#46606f}

/* Small triangle between the steps of a sequence. */
.lb-seq{display:inline-block;width:8px;height:10px;margin:0 .6em;background:var(--accent,#006da8);clip-path:polygon(0 0,100% 50%,0 100%);vertical-align:.04em;opacity:.85}
.lb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Drawn X (two bars) so the cross is exactly centred in its round button. */
.lb-remove,.wb-chip-x{position:relative;font-size:0!important;line-height:0!important}
.lb-remove::before,.lb-remove::after,.wb-chip-x::before,.wb-chip-x::after{content:'';position:absolute;left:50%;top:50%;width:42%;height:2px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.lb-remove::after,.wb-chip-x::after{transform:translate(-50%,-50%) rotate(-45deg)}
.lb-remove:hover{color:#c0502d}
@media(max-width:600px){#detail{border-radius:22px}}
#labs .lb-card .navigation-link .navigation-arrow{background:transparent!important;color:#fff!important;border:2px solid rgb(255 255 255 / 85%)!important}
#labs .lb-card .navigation-link .navigation-arrow svg{stroke:#fff}
#labs .lb-card-out span{font-weight:500}
#labs .lb-card .navigation-arrow{flex:none;min-width:40px;aspect-ratio:1}

/* Minimal card styling (Sport Koolis look): one brand colour, photo with a blue overlay, plain white body. */
#labs .lb-card,#labs .lb-card-infrastructure,#labs .lb-card-experiment,#labs .lb-card-budget{--accent:#006da8;--accent-soft:#f4f8fb;--accent-dark:#0b3a5a}
#labs .lb-card{border:2px solid #dbe4ea;border-radius:22px;box-shadow:0 10px 26px -20px rgb(15 40 65 / 35%)}
#labs .lb-card-hero{min-height:200px;background:linear-gradient(180deg,rgb(8 40 70 / 8%) 0%,rgb(8 60 95 / 82%) 100%),var(--photo) center/cover no-repeat,#0b3a5a}
#labs .lb-card-icon{display:none}
#labs .lb-card-row{justify-content:flex-start}
#labs .lb-card-hero::after{content:"";position:absolute;right:18px;bottom:18px;width:44px;height:44px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006da8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E") center/22px no-repeat;transition:transform .2s}
#labs .lb-card:hover .lb-card-hero::after{transform:translateX(3px)}
#labs .lb-card h3{padding-right:60px}
#labs .lb-card-body{gap:12px}
#labs .lb-card p{font-weight:600;color:#4b6070}
#labs .lb-card-out{padding:12px 0 0;border-radius:0;border-top:1px solid #e3ebf0;background:transparent;color:#1f2f3b}
#labs .lb-card-out b{color:#006da8}
#labs .lb-card-tags span{background:transparent;padding:0;border-radius:0;color:#5b7080;font-weight:600}
#labs .lb-card-tags span+span::before{content:"·";margin:0 .5em;color:#9fb2bf}
#labs .lb-card-tags{gap:0;row-gap:2px}
#labs .lb-card .navigation-link{background:transparent;color:#006da8;padding:12px 0 0;border-top:1px solid #e3ebf0;border-radius:0;margin:0;font-size:15px}
#labs .lb-card .navigation-link .navigation-arrow{display:grid;color:#006da8!important;border:2px solid #006da8!important}
#labs .lb-card .navigation-link .navigation-arrow svg{stroke:#006da8}
#labs .lb-card:hover{border-color:#006da8}
#labs .lb-card:hover .navigation-link{filter:none}
#labs .lb-card-hero::after{display:none}
#labs .lb-card h3{padding-right:0}

/* Position bars (infrastructure) and checklists. */
.lb-metrics{display:grid;gap:16px}
.lb-metric{display:grid;gap:8px;padding-bottom:14px;border-bottom:1px solid #e3ebf0}
.lb-metric:last-child{border-bottom:0;padding-bottom:0}
.lb-metric-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;align-items:baseline}
.lb-metric-value{font-weight:800;color:#006da8;font-variant-numeric:tabular-nums}
.lb-metric.is-empty .lb-metric-value{color:#9fb2bf}
.lb-metric-note{font-size:12.5px;color:#5b7080}
.lb-track{position:relative;height:14px;border-radius:999px;background:#e6eef3}
.lb-metric.is-empty .lb-track{background:transparent;border:1.5px dashed #9fb2bf}
.lb-track-band{position:absolute;top:0;bottom:0;border-radius:999px;background:#b9cfdd}
.lb-track-median{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:#1b3a52}
.lb-track-dot{position:absolute;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:3px solid #fff;border-radius:50%;background:#006da8;box-shadow:0 1px 4px rgb(15 40 65 / 45%)}
.lb-track-dot.is-low{background:#b86b00}
.lb-track-dot.is-high{background:#2f7a3d}
.lb-checks{display:grid;gap:10px}
.lb-check{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:12px 14px;border:1.5px solid #e1ebf1;border-radius:14px;background:#fff;cursor:pointer}
.lb-check input{width:22px;height:22px;margin:2px 0 0;accent-color:#006da8}
.lb-check strong{display:block;font-size:15px;line-height:1.4}
.lb-check small{display:block;margin-top:4px;font-size:12.5px;line-height:1.5;color:#5b7080}
.lb-check:has(input:checked){border-color:#006da8;background:#f4f9fc}

.lb-sample{display:grid;gap:6px;padding:14px 16px;border-radius:14px;background:#f1f6f9;font-size:14.5px;line-height:1.55;color:#1f2f3b}
.lb-sample p{margin:0}
.lb-sample.is-ok{background:#eaf5ec}
.lb-sample.is-low{background:#fdf3e3}

/* Saved workshop result in "Minu tegevusplaan": structured card instead of plain text. */
.planitem.lab-sheet{display:grid;gap:16px;padding:22px 24px}
.lab-sheet .ls-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.lab-sheet .ls-kind{margin:0 0 4px;font-size:12px;font-weight:800;letter-spacing:.12em;color:#006da8}
.lab-sheet h3{margin:0;font-size:22px;line-height:1.2;color:#1b3a52}
.lab-sheet .ls-sub{margin:6px 0 0;font-size:15px;color:#46606f}
.lab-sheet .remove{position:static!important;flex:none;min-height:44px;padding:8px 18px;border:2px solid #cfd8de;border-radius:999px;background:#fff;color:#1b3a52;font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:background-color .18s,border-color .18s,color .18s}
.lab-sheet .remove:hover{background:#fdf1ee;border-color:#c0502d;color:#8a2f12}
.ls-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.ls-figure{display:grid;gap:2px;padding:12px 14px;border:2px solid #e1ebf1;border-radius:16px;background:#f7fafc}
.ls-figure-label{font-size:12px;font-weight:700;color:#5b7080}
.ls-figure strong{font-size:22px;line-height:1.2;color:#006da8;font-variant-numeric:tabular-nums}
.ls-figure small{font-size:12px;color:#5b7080}
.ls-rows{display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:0;margin:0;border-top:1px solid #e3ebf0}
.ls-rows dt,.ls-rows dd{margin:0;padding:11px 0;border-bottom:1px solid #e3ebf0;font-size:15px;line-height:1.55}
.ls-rows dt{font-weight:800;color:#1b3a52;padding-right:14px}
.ls-rows dd{color:#2d3a44}
.ls-rows ul{margin:4px 0 0;padding-left:18px;display:grid;gap:3px;font-size:14px;color:#46606f}
.ls-note{margin:0;font-size:13px;line-height:1.55;color:#5b7080}
.ls-text summary{min-height:36px;display:flex;align-items:center;font-size:13px;font-weight:700;color:#006da8;cursor:pointer}
.ls-text pre{margin:8px 0 0;padding:12px 14px;border-radius:12px;background:#f1f6f9;font:inherit;font-size:13px;line-height:1.6;white-space:pre-wrap;color:#33495a}
@media(max-width:700px){.planitem.lab-sheet{padding:18px 16px}.ls-rows{grid-template-columns:1fr}.ls-rows dt{padding-bottom:0;border-bottom:0}.ls-rows dd{padding-top:2px}.lab-sheet .ls-head{flex-direction:column-reverse;align-items:stretch}.lab-sheet .remove{align-self:flex-end}}
@media print{.lab-sheet .remove,.ls-text{display:none!important}}

/* Timeline: round icon on the vertical line, touching the card (same idea as the indicator rail). */
#plan-items>.planitem.lab-sheet{border-left-color:#006da8}
#plan-items>.planitem.lab-sheet:before{left:-40px;top:20px;width:40px;height:40px;box-sizing:border-box;border:2px solid #006da8;background:#fff center/22px no-repeat;border-radius:50%;z-index:1}
#plan-items>.planitem.lab-sheet[data-lab-kind='inactivity']:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006da8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d=%22M4 19V9M10 19V5M16 19v-7M22 19H2%22/%3E%3Cpath d=%22M4 7l6-3 6 5 5-4%22/%3E%3C/svg%3E")}
#plan-items>.planitem.lab-sheet[data-lab-kind='infrastructure']:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006da8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d=%22M12 21s7-6.2 7-11a7 7 0 1 0-14 0c0 4.8 7 11 7 11z%22/%3E%3Ccircle cx=%2212%22 cy=%2210%22 r=%222.6%22/%3E%3C/svg%3E")}
#plan-items>.planitem.lab-sheet[data-lab-kind='experiment']:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006da8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d=%22M9 3h6M10 3v6.5L5 18a2 2 0 0 0 1.8 3h10.4a2 2 0 0 0 1.8-3l-5-8.5V3%22/%3E%3Cpath d=%22M7.5 15h9%22/%3E%3C/svg%3E")}
#plan-items>.planitem.lab-sheet[data-lab-kind='budget']:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006da8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M15.6 9a4.1 4.1 0 1 0 0 6M7.6 10.9h5.8M7.6 13.1h5.8%22/%3E%3C/svg%3E")}
@media(max-width:600px){#plan-items>.planitem.lab-sheet:before{left:-31px;width:36px;height:36px;background-size:20px}}
/* Icon head centred on the vertical line and on the middle of the card height; it touches the card edge as the connector. */
#plan-items>.planitem.lab-sheet:before{top:50%;margin-top:-20px;left:-41px}
@media(max-width:600px){#plan-items>.planitem.lab-sheet:before{margin-top:-18px;left:-32px}}

/* Same connection as the indicator rail: icon centred on the vertical line, short stem into the card's accent bar. */
#plan-items:has(>.lab-sheet){padding-left:40px}
#plan-items:has(>.lab-sheet)>.planitem:not(.lab-sheet):before{left:-54px}
#plan-items>.planitem.lab-sheet:before{left:-61px;top:50%;margin-top:-20px;width:40px;height:40px;border:3px solid #006da8;background-color:#fff;background-size:22px}
#plan-items>.planitem.lab-sheet:after{content:'';position:absolute;left:-21px;top:50%;width:21px;height:4px;margin-top:-2px;background:#006da8}
@media(max-width:600px){
  #plan-items:has(>.lab-sheet){padding-left:30px}
  #plan-items:has(>.lab-sheet)>.planitem:not(.lab-sheet):before{left:-44px}
  #plan-items>.planitem.lab-sheet:before{left:-49px;margin-top:-18px;width:36px;height:36px;background-size:20px}
  #plan-items>.planitem.lab-sheet:after{left:-13px;width:13px}
}

/* Final timeline geometry: one axis variable drives the line, its round head, the icon heads and the stems. */
#plan-items:has(>.lab-sheet){--rail:22px;--pad:62px;--head:40px;position:relative;padding-left:var(--pad);border-left:0}
#plan-items:has(>.lab-sheet)::before{content:'';position:absolute;left:calc(var(--rail) - 1px);top:6px;bottom:0;width:2px;background:#d9e4ec}
#plan-items:has(>.lab-sheet)::after{content:'';position:absolute;left:calc(var(--rail) - 8px);top:0;width:16px;height:16px;box-sizing:border-box;border:3px solid #fff;border-radius:50%;background:#9aaeb9}
#plan-items:has(>.lab-sheet)>.planitem:not(.lab-sheet):before{left:calc(var(--rail) - var(--pad) - 9px)}
#plan-items>.planitem.lab-sheet:before{left:calc(var(--rail) - var(--pad) - var(--head) / 2);top:50%;width:var(--head);height:var(--head);margin-top:calc(var(--head) / -2)}
#plan-items>.planitem.lab-sheet:after{left:calc(var(--rail) - var(--pad) + var(--head) / 2);width:calc(var(--pad) - var(--rail) - var(--head) / 2);top:50%;height:4px;margin-top:-2px}
@media(max-width:600px){
  #plan-items:has(>.lab-sheet){--rail:20px;--pad:50px;--head:36px}
  #plan-items>.planitem.lab-sheet:before{background-size:20px}
}

#cards .show-more{grid-column:1/-1;justify-self:center;min-height:48px;padding:10px 28px;border:2px solid #006da8;border-radius:999px;background:#fff;color:#006da8;font:inherit;font-weight:700;cursor:pointer;transition:background-color .18s,color .18s}
#cards .show-more:hover{background:#006da8;color:#fff}

/* Practice ratings: round, friendly stars with a golden sunset gradient; empty stars stay pale. */
.wd-tags{align-items:center}
.card-rating{display:inline-flex;align-items:center;gap:0;margin-left:auto;padding:2px 8px;border:1px solid #d3dce3;border-radius:999px;background:#fff;transition:background-color .14s,border-color .14s,box-shadow .14s}
.card-rating:hover,.card-rating:focus-within{background:#f7f9fa;border-color:#b9c6cf;box-shadow:0 1px 4px #17384b14}
.card-star{display:grid;place-items:center;box-sizing:border-box;width:30px;height:34px;padding:0;border:0;border-radius:8px;background:none;cursor:pointer;transition:transform .14s}
.card-star::before,.card-star::after{content:none!important}
.card-star svg{display:block;width:24px;height:24px;overflow:visible}
.card-star path{fill:#f1f4f6;stroke:#d3dce3;stroke-width:1.8;stroke-linejoin:round;transition:fill .14s,stroke .14s}
.card-star.on path{fill:url(#rating-gold);stroke:#f3a53a;stroke-width:2.4}
.card-star:hover{transform:scale(1.14) rotate(-4deg)}
.card-star:focus-visible{outline:3px solid #ffbf47;outline-offset:1px}
.card-rating.is-average .card-star.on{opacity:.6}
/* The card's stretched "Vaata tegevust" hit area must not cover the rating capsule. */
.card-rating{position:relative;z-index:3}
/* Narrow cards: the capsule takes its own full-width row, caption left and stars right. */
.cardbody{container-type:inline-size}
.card-rating-label{display:none;margin-right:auto;padding-left:6px;font-size:13px;font-weight:700;color:#587083}
@container (max-width: 430px){
  .card-rating{flex:1 1 100%;margin-left:0;margin-top:2px;justify-content:space-between;padding:2px 10px 2px 14px}
  .card-rating-label{display:block}
  .card-star{width:34px;height:44px}
  .card-rating-label{white-space:nowrap;font-size:12px;padding-left:2px}
  .card-rating{padding:2px 6px 2px 12px}
}
/* Call to action under the card list: suggest a local practice by e-mail. */
#cards .suggest-cta{grid-column:1/-1;display:grid;gap:8px;justify-items:center;text-align:center;margin:18px auto 0;padding:22px 24px;max-width:640px;border:2px solid #d9e3ea;border-radius:24px;background:#fff}
#cards .suggest-cta strong{font-size:18px;color:#17384b}
#cards .suggest-cta > span{color:#587083;font-size:14px;line-height:1.55}
#cards .suggest-open{margin-top:6px;min-height:48px;padding:10px 28px;border:2px solid #006da8;border-radius:999px;background:#006da8;color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:background-color .18s,color .18s}
#cards .suggest-open:hover{background:#fff;color:#006da8}
#cards .suggest-cta .toolbox-source-note{border:0;margin:0;padding:0;color:#587083;font-size:14px;line-height:1.55}
@media print{#cards .suggest-cta,.card-rating{display:none}}
/* Suggest-a-practice form (modal). */
.suggest-form{display:grid;gap:16px}
.suggest-field{display:grid;gap:6px}
.suggest-field label{font-weight:700;color:#17384b;font-size:14px}
.suggest-field input,.suggest-field textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:2px solid #cfd9e0;border-radius:14px;background:#fff;color:#17384b;font:inherit;font-size:16px}
.suggest-field textarea{min-height:150px;resize:vertical;line-height:1.5}
.suggest-field input:focus-visible,.suggest-field textarea:focus-visible{outline:3px solid #ffbf47;outline-offset:2px;border-color:#006da8}
.suggest-field [aria-invalid=true]{border-color:#b4492f}
.suggest-trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.suggest-note{margin:0;font-size:13px;color:#587083}
.suggest-status{margin:0;min-height:22px;font-size:14px;color:#b4492f}
.suggest-status a{color:#0071b5;font-weight:700}
.suggest-submit,.suggest-close{justify-self:start;min-height:48px;padding:10px 32px;border:2px solid #006da8;border-radius:999px;background:#006da8;color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:background-color .18s,color .18s}
.suggest-submit:hover,.suggest-close:hover{background:#fff;color:#006da8}
.suggest-submit:disabled{opacity:.6;cursor:wait}
.suggest-done{display:grid;gap:12px}
.suggest-done h3{margin:0;font-size:22px}
.suggest-status{display:grid;gap:10px}
/* Photo credit: semi-transparent author box over the lower left corner of the image. */
.cover{position:relative}
.photo-credit{position:absolute;left:10px;bottom:10px;z-index:2;max-width:calc(100% - 20px);padding:4px 10px;border-radius:10px;background:rgb(23 56 75 / 62%);color:#fff;font-size:11px;line-height:1.35;font-weight:600;backdrop-filter:blur(2px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}
#detail .modalhead{position:relative}
#detail .modalhead .photo-credit{left:14px;bottom:12px}
@media print{.photo-credit{background:none;color:#17384b;position:static}}
/* Municipality quick filter in the advanced filters. */
#place-filter{box-sizing:border-box;width:100%;min-width:min(100%,280px);max-width:420px;min-height:44px;padding:8px 36px 8px 14px;border:2px solid #cfd9e0;border-radius:999px;background:#fff;color:#17384b;font:inherit;font-weight:600}
#place-filter:focus-visible{outline:3px solid #ffbf47;outline-offset:2px;border-color:#006da8}
/* Rating row: full width, pinned just above the action link so every card shows it at the same height. */
#municipality-workspace #cards .card .cardbody>.card-rating{display:flex;justify-content:space-between;flex:none;width:100%;box-sizing:border-box;margin:auto 0 14px;padding:2px 10px 2px 16px}
#municipality-workspace #cards .card .cardbody>.card-rating+button{margin-top:0}
#municipality-workspace #cards .card .cardbody>.card-rating .card-rating-label{display:block;white-space:nowrap;font-size:13px}
/* Map view: the map takes the full width and a generous height, the place list sits below it in columns. */
#municipality-workspace .practice-map .map-workspace{grid-template-columns:minmax(0,1fr);gap:28px}
#municipality-workspace .practice-map .estonia-map{aspect-ratio:auto;height:clamp(440px,68vh,760px);max-width:none;margin:0}
#municipality-workspace .practice-map .map-context{width:100%}
#municipality-workspace .practice-map #place-list{max-height:520px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
@media(max-width:760px){#municipality-workspace .practice-map .estonia-map{height:clamp(340px,60vh,480px)}#municipality-workspace .practice-map #place-list{grid-template-columns:minmax(0,1fr);max-height:none}}

/* Map full screen toggle */
#municipality-workspace .practice-map .map-fs-wrap{position:relative}
#municipality-workspace .practice-map .map-fullscreen{position:absolute;top:12px;right:12px;z-index:5;width:auto;min-height:40px;padding:8px 18px;border:2px solid #006da8;border-radius:999px;background:#fff;color:#006da8;font:inherit;font-weight:700;cursor:pointer}
#municipality-workspace .practice-map .map-fullscreen:focus-visible{outline:3px solid #006da8;outline-offset:2px}
.map-fs-wrap.is-fullscreen{position:fixed;inset:0;z-index:99999;background:#fff;padding:0;margin:0;width:100vw;height:100vh;height:100dvh}
.map-fs-wrap.is-fullscreen .lm-map,.map-fs-wrap.is-fullscreen .estonia-map{height:100%!important;max-height:none!important;width:100%!important;border-radius:0}
.map-fs-wrap.is-fullscreen #map-status{display:none}
.map-fs-wrap:fullscreen{background:#fff}
html.map-fs-lock,html.map-fs-lock body{overflow:hidden}

/* Map popup cards: Sport Koolis pill look */
#municipality-workspace .practice-map .lm-map .lm-popup{min-width:240px}
#municipality-workspace .practice-map .lm-map .lm-popup h3{margin:0 0 4px;font-size:18px;line-height:1.25}
#municipality-workspace .practice-map .lm-map .lm-popup>p{margin:0 0 12px;color:#4d6577;font-size:13px}
#municipality-workspace .practice-map .lm-map .lm-popup-list{gap:8px;padding:2px 4px 6px}
#municipality-workspace .practice-map .lm-map .lm-popup-list button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:0;padding:10px 16px;border:1px solid #d5dde3;border-radius:22px;background:#fff;color:#193d57;text-align:left;font:inherit;line-height:1.35;cursor:pointer;box-shadow:none;transition:border-color .15s,background .15s}
#municipality-workspace .practice-map .lm-map .lm-popup-list button strong{font-size:13px;font-weight:700;color:#193d57}
#municipality-workspace .practice-map .lm-map .lm-popup-list button span{font-size:12px;font-weight:600;color:#006da8}
#municipality-workspace .practice-map .lm-map .lm-popup-list button:hover{border-color:#006da8;background:#f2f8fc}
#municipality-workspace .practice-map .lm-map .lm-popup-list button:focus-visible{outline:3px solid #006da8;outline-offset:2px}
#municipality-workspace .practice-map .lm-map .lm-popup-zoom{border:2px solid #006da8;border-radius:999px;color:#006da8;padding:9px 14px}
#municipality-workspace .practice-map .lm-map .lm-popup-zoom:hover{background:#f2f8fc}

/* Place list search */
#municipality-workspace .practice-map .place-search{margin:0 0 16px}
#municipality-workspace .practice-map .place-search label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#municipality-workspace .practice-map .place-search input{display:block;box-sizing:border-box;width:100%;min-height:48px;padding:10px 22px 10px 50px;border:2px solid #006da8;border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006da8' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 18px center/22px;color:#193d57;font:inherit;font-size:16px;font-weight:600}
#municipality-workspace .practice-map .place-search input::placeholder{color:#5b7488;font-weight:500}
#municipality-workspace .practice-map .place-search input:focus-visible{outline:3px solid #f5a623;outline-offset:2px}
#municipality-workspace .practice-map .place-search p{margin:8px 4px 0;min-height:0;color:#4d6577;font-size:13px}
#municipality-workspace .practice-map .place-search p:empty{display:none}
#municipality-workspace .practice-map #place-list .place-item[hidden]{display:none}
#municipality-workspace .practice-map .place-search input::placeholder{color:#9aa8b3;font-weight:400;opacity:1}
#municipality-workspace .practice-map .mc-head{cursor:pointer}

/* Year filter info: same dark "i" dot and floating overlay box as the other information notes */
#municipality-workspace .year-heading .year-info>span{width:28px;height:28px;border:0;border-radius:50%;background:#46484b;color:#fff;font-family:Georgia,'Times New Roman',serif!important;font-style:italic!important;font-weight:700!important;font-size:17px!important;line-height:1;box-shadow:0 2px 6px rgb(0 0 0 / 18%);padding-bottom:1px;box-sizing:border-box}
#municipality-workspace .year-heading .year-info:hover>span,#municipality-workspace .year-heading .year-info[aria-expanded=true]>span{background:#5b5e62;color:#fff}
#municipality-workspace .year-heading .year-info:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}
#municipality-workspace .year-filter .year-info-panel{z-index:30;top:64px;right:16px;width:min(340px,calc(100% - 32px));padding:18px 44px 18px 18px;border:1px solid #cfd8de;border-radius:14px;background:#fff;color:#33495a;box-shadow:0 12px 32px rgba(20,60,90,.18)}
#municipality-workspace .year-filter .year-info-panel p{font-size:14px;line-height:1.55;color:#33495a}
#municipality-workspace .year-filter .year-info-panel a{color:#006da8;font-weight:700}
#municipality-workspace .year-filter .year-info-close{top:8px;right:8px;width:32px;min-height:32px;border-radius:50%;color:#33495a;font-size:22px}
#municipality-workspace .year-filter .year-info-close:hover{background:#eef3f7}
#municipality-workspace .year-filter .year-info-close{position:absolute}
#municipality-workspace .year-filter .year-info-panel p.toolbox-source-note{margin:0;padding:0;border:0;background:none;box-shadow:none}

/* Municipality select: same size and blue as the selected target-group chip, white chevron */
#municipality-workspace #place-filter{width:auto;min-width:0;max-width:min(100%,260px);min-height:44px;padding:10px 38px 10px 18px;border:1px solid #006da8;border-radius:999px;background-color:#006da8;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3.5 6 4.5 4.5L12.5 6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;color:#fff;font:800 13px/22px Arial,Helvetica,sans-serif;cursor:pointer;-webkit-appearance:none;appearance:none}
#municipality-workspace #place-filter option{background:#fff;color:#17384b;font-weight:600}
#municipality-workspace #place-filter:hover{background-color:#00598a}
#municipality-workspace #place-filter{field-sizing:content}

/* Photo credit overlay: beat the generic ".card small" padding so the box wraps the text evenly */
#municipality-workspace .photo-credit,#detail .photo-credit{box-sizing:border-box;display:block;left:12px;bottom:12px;width:auto;max-width:calc(100% - 24px);padding:5px 12px;border-radius:999px;background:rgb(17 40 56 / 66%);color:#fff;font:600 11.5px/1.3 'Fira Sans',Arial,Helvetica,sans-serif;letter-spacing:.01em;text-shadow:0 1px 1px rgb(0 0 0 / 25%);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
#detail .modalhead .photo-credit{left:16px;bottom:14px}

/* "Vali kõik aastad" capsule: outlined blue, solid blue when all start years are active */
#municipality-workspace .year-filter .year-range-all{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#municipality-workspace .year-filter .year-all{display:inline-flex;align-items:center;min-height:44px;padding:8px 22px;border:2px solid #006da8;border-radius:999px;background:#fff;color:#006da8;font:800 14px/1.2 'Fira Sans',Arial,Helvetica,sans-serif;white-space:nowrap;cursor:pointer;box-shadow:none}
#municipality-workspace .year-filter .year-all:hover{background:#eaf4fa}
#municipality-workspace .year-filter .year-all[aria-pressed=true]{background:#006da8;color:#fff}
#municipality-workspace .year-filter .year-all:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}
/* Keep the capsule and the "i" fixed: the "Alustatud …" text has a reserved, right-aligned slot */
#municipality-workspace .year-filter .year-range-all{position:static;width:auto;height:auto;overflow:visible;clip:auto;visibility:hidden}
#municipality-workspace .year-heading #year-range{display:inline-block;box-sizing:border-box;min-width:9.5em;text-align:right;white-space:nowrap;font:800 20px/1.2 'Fira Sans',Arial,Helvetica,sans-serif;font-variant-numeric:tabular-nums;color:#006da8;user-select:none}
@media(max-width:560px){#municipality-workspace .year-heading #year-range{min-width:0;font-size:16px}#municipality-workspace .year-filter .year-range-all{display:none}}

/* The selected start year sits next to the title as its own grey-outlined capsule with a soft shadow */
#municipality-workspace .year-filter .year-title-group{display:flex;flex-wrap:wrap;align-items:center;gap:12px;min-width:0}
#municipality-workspace .year-heading #year-range{min-width:0;padding:6px 16px;border:1px solid #cfd8de;border-radius:999px;background:#fff;box-shadow:0 3px 10px rgb(20 60 90 / 14%);text-align:center;font:800 14px/1.3 'Fira Sans',Arial,Helvetica,sans-serif;color:#006da8;user-select:auto}
#municipality-workspace .year-filter .year-range-all{display:none}
@media(max-width:560px){#municipality-workspace .year-heading #year-range{font-size:13px}#municipality-workspace .year-filter .year-range-all{display:none}}
#municipality-workspace .year-heading #year-range.year-range-all{display:none}

/* Start-year capsule back on the right, next to the "Kõik algusaastad" capsule: roomier and neutral grey */
#municipality-workspace .year-heading #year-range{min-width:11.5em;padding:9px 24px;border:1px solid #d3dae0;border-radius:999px;background:#fff;box-shadow:0 3px 10px rgb(20 60 90 / 10%);color:#5f6f7c;font:600 14px/1.3 'Fira Sans',Arial,Helvetica,sans-serif;text-align:center;white-space:nowrap}
#municipality-workspace .year-heading #year-range.year-range-all{display:block;visibility:hidden}
@media(max-width:560px){#municipality-workspace .year-heading #year-range{min-width:0;padding:7px 16px;font-size:13px}#municipality-workspace .year-heading #year-range.year-range-all{display:none}}

/* Step pictures and videos in the practice overlay (same figures as the other target-group views). */
#detail.practice-detail .tk2-step-text { margin: 0; font-size: 18px; font-weight: 700; line-height: 1.45; color: #15354a; }
#detail.practice-detail .tk2-step-media { margin: 14px 0 6px; overflow: hidden; border: 1px solid #dce1e5; border-radius: 14px; background: #fff; box-shadow: 0 4px 14px rgb(24 58 79 / 6%); }
#detail.practice-detail .tk2-step-frame { position: relative; }
#detail.practice-detail .tk2-step-frame img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; max-height: 440px; object-fit: cover; }
#detail.practice-detail .tk2-photo-credit { position: absolute; left: 10px; bottom: 10px; max-width: calc(100% - 20px); padding: 4px 9px; border-radius: 8px; background: rgb(14 34 48 / 66%); color: #fff; font-size: 11px; font-weight: 700; line-height: 1.35; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
#detail.practice-detail .tk2-step-media figcaption { padding: 12px 16px; color: #587083; font-size: 13px; line-height: 1.5; }
#detail.practice-detail .tk2-step-video { display: block; width: 100%; aspect-ratio: 16 / 9; background: #0e2230; }
#detail.practice-detail .tk2-video-link { display: grid; grid-template-columns: 44px 1fr; align-items: center; gap: 2px 14px; min-height: 64px; padding: 12px 16px; color: #15354a; font-weight: 800; text-decoration: none; }
#detail.practice-detail .tk2-video-link small { grid-column: 2; color: #587083; font-size: 12px; font-weight: 700; }
#detail.practice-detail .tk2-video-play { grid-row: 1 / span 2; width: 44px; height: 44px; border-radius: 50%; background: #006da8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9 6.5v11l9-5.5z'/%3E%3C/svg%3E") center / 24px no-repeat; }
#detail.practice-detail .tk2-step-more { margin: 4px 0 0; }
#detail.practice-detail .tk2-step-more summary { display: inline-block; min-height: 44px; padding: 10px 0; color: #07537e; font-size: 14px; font-weight: 800; cursor: pointer; }
#detail.practice-detail .tk2-step-more p { margin: 0 0 8px; padding: 0; color: #587083; }
@media print { #detail.practice-detail :is(.tk2-step-video, .tk2-video-link) { display: none !important; } #detail.practice-detail .tk2-step-media { break-inside: avoid; box-shadow: none; } }

/* Workshops: more breathing room (2026-10-30). Scoped to the workshop dialog body. */
.modalbody.lb{gap:24px}
.modalbody.lb .lb-lead{font-size:16px;line-height:1.65;max-width:68ch}
.modalbody.lb .lb-disclaimer-body{gap:6px;padding:20px 24px 22px}
.modalbody.lb .lb-disclaimer-body h4{margin:10px 0 0;font-size:15px}
.modalbody.lb .lb-disclaimer-body h4:first-child{margin-top:0}
.modalbody.lb .lb-disclaimer-body p{margin:0;line-height:1.6}
.modalbody.lb .lb-step{padding:24px 26px;gap:18px}
.modalbody.lb .lb-step-hint{margin-top:6px}
.modalbody.lb .lb-label{margin:10px 0 -4px}
.modalbody.lb .lb-choice{gap:10px}
.modalbody.lb .lb-note{padding:14px 18px;line-height:1.6}
.modalbody.lb .lb-results{padding:24px 26px;gap:18px}
.modalbody.lb .lb-stats{gap:14px}
.modalbody.lb .lb-stat{padding:18px 20px;gap:6px}
.modalbody.lb .lb-range-line{line-height:1.65}
.modalbody.lb .lb-save{margin:4px 0 8px}
.modalbody.lb .lb-details{margin:0;padding:0 26px}
.modalbody.lb .lb-details>summary{min-height:60px}
.modalbody.lb .lb-details>*:not(summary){padding:4px 0 26px}
.modalbody.lb .lb-details>div{display:grid;gap:18px}
.modalbody.lb .lb-details .lb-list{gap:6px;padding-left:22px}
.modalbody.lb .lb-details .lb-list>li{padding:4px 0 4px 4px;line-height:1.6}
.modalbody.lb .lb-details .lb-note{margin:0}
.modalbody.lb .lb-table-wrap{border:1.5px solid #e1ebf1;border-radius:16px;background:#fff}
.modalbody.lb .lb-mini-table{font-size:14px;font-variant-numeric:tabular-nums}
.modalbody.lb .lb-mini-table th,.modalbody.lb .lb-mini-table td{padding:13px 18px}
.modalbody.lb .lb-mini-table tr:first-child>*{background:#f4f9fc;font-size:13px;color:#46606f}
.modalbody.lb .lb-mini-table tr:last-child>*{border-bottom:0}
.modalbody.lb .lb-sources{margin-top:16px}
@media(max-width:600px){
  .modalbody.lb{gap:18px}
  .modalbody.lb .lb-step,.modalbody.lb .lb-results{padding:18px}
  .modalbody.lb .lb-disclaimer-body{padding:16px 18px 18px}
  .modalbody.lb .lb-details{padding:0 16px}
  .modalbody.lb .lb-mini-table th,.modalbody.lb .lb-mini-table td{padding:10px 12px}
  .modalbody.lb .lb-mini-table th:first-child{position:sticky;left:0;z-index:1;background:#fff}
  .modalbody.lb .lb-mini-table tr:first-child>th:first-child{background:#f4f9fc}
}
/* "Kõik kohad": the search sits outside the folded list body, so it needs the panel's own side inset (2026-10-30). */
#municipality-workspace .practice-map .map-context > .place-search{margin:0 24px 12px}
#municipality-workspace .practice-map .map-context > .gappa-strip{margin:0 24px 22px}
@media(max-width:600px){#municipality-workspace .practice-map .map-context > :is(.place-search,.gappa-strip){margin-inline:16px}}
