/* Etusivun runko (etuliite hm-): banneri, tähtikuvio, Kysy Ainiolta, yhteenveto, käyttöönottopalkki ja osiot.
   Mitat ja värit: docs/ainio/ainio-sovellus-malli.html (.dw-*). Tumma tila: asetusohjeen väritaulukko (--wk-*). */

/* ===== banneri (html.dash-home) ===== */
.hm-net{display:none}
.dash-home .banner-nodes,.dash-home .banner-ridge{display:none}
/* tumma tila: yläpalkki läpinäkyvä kaikilla bannerisivuilla (generoitu dark.css antaisi sille tumman taustan) */
html[data-theme="dark"].dash-view .topbar{background:transparent}
.dash-home .hm-net{display:block;position:absolute;right:40px;top:14px;width:520px;height:192px;opacity:.42;pointer-events:none;overflow:visible}
.hm-net .ln{stroke:#9dc0f2;stroke-width:1;opacity:.8}
.hm-net .nd{fill:#9dc0f2}
.hm-net .st{fill:#fff;opacity:.45}
.hm-drift{transform-box:fill-box;transform-origin:center;animation:hmFloat 26s ease-in-out infinite}
.dash-home .banner-glow-a{animation:hmGlow 16s ease-in-out infinite alternate}
@keyframes hmFloat{0%,100%{transform:translate(0,0) rotate(0deg)}25%{transform:translate(-18px,-8px) rotate(-1deg)}50%{transform:translate(-30px,4px) rotate(-.4deg)}75%{transform:translate(-12px,10px) rotate(.8deg)}}
@keyframes hmGlow{from{transform:translate(0,0);opacity:.8}to{transform:translate(-60px,30px);opacity:1}}
@media (prefers-reduced-motion:reduce){.hm-drift,.dash-home .banner-glow-a{animation:none!important}}
@media (max-width:1180px){.dash-home .hm-net{right:-120px;opacity:.28}}
@media (max-width:760px){.dash-home .hm-net{right:-220px;top:0;opacity:.22}}

.dash-home .dash-banner{padding:4px max(32px,calc((100% - 1540px)/2 + 32px)) 24px}
.hm-hero{position:relative;max-width:1180px}
.hm-edm{display:none}
.dash-banner .hm-date{margin:0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9dc0f2}
.dash-home .dash-banner .hm-hero h1{margin:4px 0 0;padding:0;font-family:var(--font-heading);font-weight:600;font-size:36px;line-height:1.15;color:#fff;overflow-wrap:anywhere}
.hm-ask{position:relative;margin-top:16px;max-width:720px}
.hm-askbox{display:flex;align-items:center;gap:10px;height:50px;padding:0 6px 0 16px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(255,255,255,.1);backdrop-filter:blur(6px);transition:.15s}
.hm-askbox:focus-within{background:rgba(255,255,255,.16);border-color:var(--acc-l,#9dc0f2)}
.hm-askbox>svg{width:17px;height:17px;flex-shrink:0;color:var(--acc-l,#9dc0f2)}
.hm-askbox input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:#fff;font:inherit;font-size:14.5px}
.hm-askbox input::placeholder{color:rgba(244,246,250,.6)}
.hm-askbox button{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;border:0;border-radius:10px;background:#fff;color:var(--acc-d,#2f5fa8);cursor:pointer;transition:filter .15s,box-shadow .15s,transform .15s}
.hm-askbox button:hover{filter:brightness(.93);box-shadow:0 10px 20px -12px rgba(0,0,0,.55);transform:translateY(-1px)}
.hm-askbox button svg{width:16px;height:16px}
.hm-askbox button:disabled{opacity:.6;cursor:default}
.hm-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.hm-chips button{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:6px 12px;background:rgba(255,255,255,.06);color:rgba(244,246,250,.85);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.hm-chips button:hover,.hm-chips button:focus-visible{background:rgba(255,255,255,.13);color:#fff}
/* Tekoälysäädös 50 art. 1: kentän alla aina näkyvä maininta (myös puhelimella, jossa pikakysymykset ovat piilossa). */
.dash-banner .hm-ainote{margin:8px 0 0;font-size:12px;line-height:1.4;color:rgba(244,246,250,.7)}
.hm-ans{margin-top:12px;padding:14px 16px;border-radius:14px;background:#fff;color:#16202e;font-size:13.5px;line-height:1.55;box-shadow:0 20px 40px -20px rgba(0,0,0,.6);animation:hmIn .25s ease}
.hm-ans[hidden]{display:none}
@keyframes hmIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.hm-aq{display:flex;align-items:center;gap:7px;margin-bottom:6px;font-size:12px;font-weight:700;color:var(--acc-d,#2f5fa8)}
.hm-aq svg{width:13px;height:13px;flex-shrink:0}
.hm-aq span{min-width:0;overflow-wrap:anywhere}
.hm-aq button{margin-left:auto;display:flex;border:0;background:transparent;color:#8a93a3;cursor:pointer;padding:2px}
.hm-aq button svg{width:14px;height:14px}
.dash-banner .hm-at{margin:0;color:#16202e;font-size:13.5px;white-space:pre-wrap;overflow-wrap:anywhere}
.dash-banner .hm-at.err{color:#c43d35;font-weight:600}
.dash-banner .hm-at.wait{color:#6b7686}
.dash-banner .hm-sum{position:relative;margin:14px 0 0;font-size:15px;color:rgba(244,246,250,.8)}
.dash-banner .hm-sum b{color:#fff}
html[data-theme="dark"] .hm-ans{background:#141a26;color:#f4f6fa;border:1px solid rgba(255,255,255,.1)}
html[data-theme="dark"] .hm-aq{color:#8fb4e8}
html[data-theme="dark"] .dash-banner .hm-at{color:#f4f6fa}
html[data-theme="dark"] .dash-banner .hm-at.wait{color:#98a3ba}
html[data-theme="dark"] .dash-banner .hm-at.err{color:#ff8a7e}

/* ===== käyttöönottopalkki ===== */
.hm-ob{display:flex;align-items:center;gap:12px;margin:0 0 4px;padding:10px 10px 10px 12px;border:1px solid #dfe8f7;border-radius:14px;background:var(--wk-panel);box-shadow:0 14px 30px -26px rgba(var(--acc-d-rgb,47,95,168),.8)}
.hm-obn{flex-shrink:0;padding:4px 10px;border-radius:999px;background:var(--wk-chip);color:var(--wk-chip-fg);font-size:12px;font-weight:800}
.hm-obt{flex:1;min-width:0;font-size:13px;color:var(--wk-body)}
.hm-obt b{color:var(--wk-ink)}
.hm-obg{flex-shrink:0;height:34px;padding:0 13px;border:0;border-radius:10px;background:var(--acc-d,#2f5fa8);color:#fff;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.hm-obs{flex-shrink:0;height:34px;padding:0 6px;border:0;background:transparent;color:var(--wk-body);font:inherit;font-size:12.5px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.hm-obs:hover{color:var(--wk-ink)}
.hm-obx{flex-shrink:0;width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#9aa2b1;cursor:pointer}
.hm-obx svg{width:14px;height:14px}
.hm-trial{display:flex;align-items:center;gap:12px;margin:0 0 8px;padding:10px 10px 10px 12px;border:1px solid #f6e3bf;border-radius:14px;background:#fff6e6}
.hm-trial-i{flex-shrink:0;width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#fdebc8;color:#b27a12}
.hm-trial-i svg{width:16px;height:16px}
.hm-trial-t{flex:1;min-width:0;font-size:13px;line-height:1.45;color:#5b4a26}
.hm-trial-t b{color:#3d3014;margin-right:4px}
.hm-trial-go{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border:0;border-radius:10px;background:var(--acc-d,#2f5fa8);color:#fff;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.hm-trial-go svg{width:14px;height:14px}
html[data-theme="dark"] .hm-trial{background:rgba(224,169,46,.12);border-color:rgba(224,169,46,.3)}
html[data-theme="dark"] .hm-trial-i{background:rgba(224,169,46,.2);color:#f0c36a}
html[data-theme="dark"] .hm-trial-t{color:var(--wk-body)}
html[data-theme="dark"] .hm-trial-t b{color:var(--wk-ink)}
html[data-theme="dark"] .hm-trial-go{background:var(--acc,#3b6fd1)}
html[data-theme="dark"] .hm-ob{border-color:var(--wk-line-2);box-shadow:none}
html[data-theme="dark"] .hm-obn{color:var(--wk-green)}
html[data-theme="dark"] .hm-obg{background:var(--acc,#3b6fd1)}

/* ===== osiot ja ruudukko ===== */
.hm-sec{margin-top:26px}
.hm-sec:first-child{margin-top:0}
.hm-sh{display:flex;align-items:baseline;gap:10px;margin:0 2px 12px}
.hm-sh h2{margin:0;font-family:var(--font-heading);font-weight:600;font-size:21px;color:var(--wk-ink)}
.hm-sh span{font-size:13px;color:var(--wk-dim)}
.hm-grid{display:grid;grid-auto-flow:row dense;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;align-items:start}
.hm-grid>.dash-card{margin:0}
.hm-grid>.hm-s{grid-column:span 2}.hm-grid>.hm-m{grid-column:span 3}.hm-grid>.hm-l{grid-column:span 6}
.dash-root .hm-grid>.dash-card{border-radius:18px;border-color:#eef0f4;box-shadow:0 20px 40px -30px rgba(16,24,40,.45)}
html[data-theme="dark"] .dash-root .hm-grid>.dash-card{border-color:var(--wk-line);box-shadow:none}
@media (max-width:1180px){.hm-grid>.hm-s,.hm-grid>.hm-m{grid-column:span 3}}
@media (max-width:900px){.hm-grid>.hm-s,.hm-grid>.hm-m{grid-column:span 6}}

/* ===== kortin otsake (uudet widgetit) ===== */
.dash-root .hm-card{padding:18px 18px 16px}
.hm-ch{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.hm-wi{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;border-radius:11px;background:var(--wk-chip);color:var(--wk-chip-fg)}
.hm-wi svg{width:17px;height:17px}
.dash-root .hm-ch h3{margin:0;font-family:var(--font-body);font-weight:700;font-size:15.5px;line-height:1.3;color:var(--wk-ink)}
.hm-cnt{margin-left:4px;padding:3px 10px;border-radius:999px;background:#fff6e6;color:var(--wk-amber-ink,#8f600a);font-size:12px;font-weight:700;white-space:nowrap}
html[data-theme="dark"] .hm-wi{background:var(--wk-chip);color:var(--wk-chip-fg)}
html[data-theme="dark"] .hm-cnt{background:var(--wk-amber-t);color:var(--wk-amber)}

/* sävyt: --hb tausta, --hc väri */
/* Odottaa sinua -rivien kuvakkeet: punainen vain ongelmalle (reklamaatio, myöhässä), muut harmaalla (6.10.2026). */
.hm-t-amber,.hm-t-blue,.hm-t-violet,.hm-t-green{--hb:var(--wk-chip);--hc:var(--wk-chip-fg)}.hm-t-red{--hb:#fdeceb;--hc:#c43d35}
html[data-theme="dark"] .hm-t-red{--hb:var(--wk-red-t);--hc:var(--wk-red)}

/* ===== Odottaa sinua: haitari (työpöytä) ===== */
.hm-ac{display:flex;flex-direction:column}
.hm-ar{border-top:1px solid var(--wk-line)}
.hm-ar:first-child{border-top:0}
/* Odottaa sinua -ryhmien otsikot (dashTodoDesktop). Tagit: punainen kiireelliselle (rivin sävy red), muut harmaina. */
.hm-gh{display:flex;align-items:center;gap:8px;margin:14px 0 2px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--wk-mut)}
.hm-gh:first-child{margin-top:2px}
.hm-gh em{font-style:normal;letter-spacing:0;font-size:11px;padding:1px 7px;border-radius:999px;background:#eef1f6;color:var(--wk-ink)}
html[data-theme="dark"] .hm-gh em{background:var(--wk-inner)}
.hm-gh+.hm-ar{border-top:0}
/* Näytä kaikki: viiden ensimmäisen rivin jälkeen (etusivun selkeyskatselmus 6.10.2026). */
.hm-more{display:block;width:100%;min-height:44px;margin-top:10px;padding:10px;border:1px solid var(--wk-line);border-radius:12px;background:transparent;color:var(--wk-link);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer}
.hm-more:hover{background:var(--wk-inner)}
.hm-ac .hm-ar:not(.hm-t-red) .hm-tk{background:#eef1f5;color:var(--wk-mut)}
.hm-ac .hm-ar.hm-t-red .hm-tk{background:#fdecea;color:#b3261e}
html[data-theme="dark"] .hm-ac .hm-ar:not(.hm-t-red) .hm-tk{background:var(--wk-inner);color:var(--wk-mut)}
html[data-theme="dark"] .hm-ac .hm-ar.hm-t-red .hm-tk{background:rgba(240,138,126,.14);color:#f08a7e}
.hm-ah{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto 18px;gap:12px;align-items:center;padding:11px 4px;border:0;border-radius:10px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.hm-ah:hover{background:#f8fafd}
.hm-ar.on .hm-ah{background:#f7f9fc}
html[data-theme="dark"] .hm-ah:hover,html[data-theme="dark"] .hm-ar.on .hm-ah{background:rgba(255,255,255,.04)}
.hm-tic{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--hb);color:var(--hc)}
.hm-tic svg{width:15px;height:15px}
.hm-tt{min-width:0}
.hm-tt b{display:block;font-size:14px;color:var(--wk-ink)}
.hm-tt span{display:block;margin-top:1px;font-size:12.5px;color:var(--wk-mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-tk{padding:3px 9px;border-radius:999px;background:var(--hb);color:var(--hc);font-size:11px;font-weight:700;white-space:nowrap}
/* Tyyppitagi (Reklamaatio, Maksumuistutus...) samoilla väreillä kuin Viestit-listassa (work.css .ms-ty-*). */
.hm-tk[class*="ms-ty-"]{background:var(--ty-b);color:var(--ty-c)}
.hm-cv{display:flex;color:#aab1bd}
.hm-cv svg{width:15px;height:15px;transform:rotate(90deg);transition:transform .2s}
.hm-ar.on .hm-cv svg{transform:rotate(-90deg)}
.hm-ab{padding:4px 4px 14px 50px;animation:hmIn .25s ease}
.hm-ab p{margin:0 0 10px;font-size:13.5px;line-height:1.5;color:var(--wk-body)}
.hm-qt{margin-bottom:12px;padding:10px 12px;border-left:3px solid var(--hc);border-radius:0 10px 10px 0;background:#f7f9fc;color:var(--wk-ink);font-size:13.5px;line-height:1.5;overflow-wrap:anywhere}
.hm-qt small{display:block;margin-bottom:2px;font-size:11.5px;color:var(--wk-dim)}
html[data-theme="dark"] .hm-qt{background:var(--wk-inner)}
.hm-bb{display:flex;flex-wrap:wrap;gap:8px}
.hm-bb button{height:40px;display:flex;align-items:center;gap:7px;padding:0 16px;border:1px solid var(--wk-btn2-line);border-radius:11px;background:var(--wk-btn2);color:var(--wk-body);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer}
.hm-bb button.hm-p{border:0;background:var(--acc-d,#2f5fa8);color:#fff}
.hm-bb button svg{width:14px;height:14px}
html[data-theme="dark"] .hm-bb button.hm-p{background:var(--acc,#3b6fd1)}

/* ===== tyhjä ja valmis tila ===== */
.hm-es{display:flex;flex-direction:column;align-items:center;padding:18px 18px 20px;border:1px dashed #d6dfed;border-radius:14px;background:#f8fafd;text-align:center}
.hm-es-ic{width:48px;height:48px;display:grid;place-items:center;margin-bottom:10px;border-radius:50%;background:var(--acc-t,#eef3fb);color:var(--acc-d,#2f5fa8)}
.hm-es-ic svg{width:22px;height:22px}
.hm-es h4{margin:0;font-family:var(--font-heading);font-weight:600;font-size:19px;color:var(--wk-ink)}
.hm-es p{max-width:420px;margin:6px 0 0;font-size:13.5px;line-height:1.5;color:var(--wk-body)}
.hm-es1{margin:2px 0 0;font-size:14px;line-height:1.5;color:var(--wk-body)}
.dash-banner .hm-sum:empty{display:none}
.hm-es.done{border:1px solid #d5ecdd;background:linear-gradient(180deg,#f2faf5,#fff)}
.hm-es.done .hm-es-ic{width:56px;height:56px;background:#2e9b5c;color:#fff}
.hm-es.done .hm-es-ic svg{width:26px;height:26px}
.hm-es.done h4{font-size:22px}
html[data-theme="dark"] .hm-es{border-color:var(--wk-line-2);background:var(--wk-inner)}
html[data-theme="dark"] .hm-es.done{border-color:rgba(46,155,92,.35);background:linear-gradient(180deg,rgba(46,155,92,.12),transparent)}

.hm-cnt.n{background:var(--wk-chip);color:var(--wk-chip-fg)}
html[data-theme="dark"] .hm-cnt.n{background:var(--wk-chip);color:var(--wk-chip-fg)}
.dash-root .hm-grid>.hm-bare{padding:0;border:0;background:transparent;box-shadow:none}
.hm-es-b{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}
.hm-es-b button{height:40px;display:flex;align-items:center;gap:7px;padding:0 16px;border:1px solid var(--wk-btn2-line);border-radius:11px;background:var(--wk-btn2);color:var(--wk-body);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.hm-es-b button.hm-p{border-color:var(--acc-d,#2f5fa8);background:var(--acc-d,#2f5fa8);color:#fff}
.hm-es-b button svg{width:14px;height:14px}

/* ===== Päivän keikat (työpöytä) ===== */
.hm-jtm{display:flex;align-items:center;gap:8px;margin-bottom:6px;padding:8px 12px;border-radius:10px;background:#f2faf5;color:#1f7a45;font-size:12.5px;font-weight:600}
.hm-jtm svg{width:14px;height:14px;flex-shrink:0}
html[data-theme="dark"] .hm-jtm{background:var(--wk-green-t);color:var(--wk-green)}
.hm-jcr{border-top:1px solid var(--wk-line)}
.hm-jcr:first-child{border-top:0}
.hm-jch{width:100%;display:grid;grid-template-columns:52px minmax(0,1fr) auto 18px;gap:12px;align-items:center;padding:11px 4px;border:0;border-radius:10px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.hm-jch:hover{background:#f8fafd}
.hm-jcr.on .hm-jch{background:#f7f9fc}
html[data-theme="dark"] .hm-jch:hover,html[data-theme="dark"] .hm-jcr.on .hm-jch{background:rgba(255,255,255,.04)}
.hm-jct{font-family:var(--font-heading);font-weight:600;font-size:18px;color:var(--wk-ink)}
.hm-jct.nx{color:var(--acc-d,#2f5fa8)}
html[data-theme="dark"] .hm-jct.nx{color:var(--wk-link)}
.hm-jct small{font-family:var(--font-body);font-size:11px;font-weight:700;color:var(--wk-mut)}
.hm-jcr.past .hm-jct,.hm-jcr.past .hm-tt{opacity:.55}
.hm-tt span svg{width:12px;height:12px;margin-right:5px;vertical-align:-1px;flex-shrink:0}
.hm-jcr .hm-cv svg{transform:rotate(90deg)}
.hm-jcr.on .hm-cv svg{transform:rotate(-90deg)}
.hm-jcb{padding:2px 4px 14px 68px;animation:hmIn .25s ease}
.hm-jcb p{margin:0 0 10px;font-size:13px;line-height:1.5;color:var(--wk-body)}
.hm-jbb{display:flex;flex-wrap:wrap;gap:8px}
.hm-jbb a,.hm-jbb button{font-family:inherit;height:38px;display:flex;align-items:center;gap:7px;padding:0 14px;border:1px solid var(--acc-bd,#e0e8f5);border-radius:10px;background:var(--acc-t2,#f5f8fd);color:var(--acc-d,#2f5fa8);font-size:13px;font-weight:700;text-decoration:none;cursor:pointer;transition:box-shadow .15s}
.hm-jbb a:hover,.hm-jbb button:hover{box-shadow:inset 0 0 0 1px var(--hv-ring)}
.hm-jbb a svg,.hm-jbb button svg{width:15px;height:15px}
html[data-theme="dark"] .hm-jbb a,html[data-theme="dark"] .hm-jbb button,html[data-theme="dark"] .hm-jb3 a,html[data-theme="dark"] .hm-jb3 button{border-color:var(--wk-line-2);background:var(--wk-tint);color:var(--wk-link)}
.hm-jft{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:12px;border-top:1px solid var(--wk-line);font-size:12.5px}
.hm-jft a{display:flex;align-items:center;gap:5px;color:var(--wk-link);font-weight:700;text-decoration:none}
.hm-jft a svg{width:13px;height:13px}
.hm-card .dash-route-cta{margin-top:10px}

/* ===== Päivän keikat (puhelin): jokainen keikka omana korttinaan ===== */
.hm-jb{display:flex;flex-direction:column;gap:10px}
.hm-jr{display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--wk-line);border-radius:16px;background:var(--wk-panel);cursor:pointer;box-shadow:0 20px 40px -30px rgba(16,24,40,.45)}
.hm-jr.nxt{padding:13px 15px;border:2px solid var(--acc-d,#2f5fa8);background:linear-gradient(90deg,var(--acc-t2,#f3f7fd),#fff 60%)}
html[data-theme="dark"] .hm-jr.nxt{border-color:var(--acc,#3b6fd1);background:linear-gradient(90deg,rgba(var(--acc-rgb,59,111,209),.14),var(--wk-panel) 60%)}
.hm-jr.past{opacity:.6}
.hm-jt{font-family:var(--font-heading);font-weight:600;font-size:20px;line-height:1;color:var(--wk-ink)}
.hm-jt small{display:block;margin-top:5px;font-family:var(--font-body);font-size:10.5px;font-weight:700;letter-spacing:.02em;color:var(--wk-dim)}
.hm-jr.nxt .hm-jt small{color:var(--acc-d,#2f5fa8)}
html[data-theme="dark"] .hm-jr.nxt .hm-jt small{color:var(--wk-link)}
.hm-jad{font-size:14px}
.hm-ji{min-width:0}
.hm-ji b{display:block;font-size:15.5px;color:var(--wk-ink);overflow-wrap:anywhere}
.hm-ji span{display:flex;align-items:flex-start;gap:6px;margin-top:3px;font-size:14px;color:var(--wk-body)}
.hm-ji span svg{width:14px;height:14px;flex-shrink:0;margin-top:3px;color:var(--wk-dim)}
.hm-jb3{grid-column:1/-1;display:flex;gap:8px}
.hm-jb3 a,.hm-jb3 button{font-family:inherit;flex:1;height:46px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--acc-bd,#e0e8f5);border-radius:13px;background:var(--acc-t2,#f5f8fd);color:var(--acc-d,#2f5fa8);font-size:14px;font-weight:700;text-decoration:none;transition:box-shadow .15s}
.hm-jb3 a:hover,.hm-jb3 button:hover{box-shadow:inset 0 0 0 1px var(--hv-ring)}
.hm-jb3 a svg,.hm-jb3 button svg{width:18px;height:18px}

/* ===== keikan tekijä, sisäänpääsy ja muokkaus (vaihe 3b) ===== */
.hm-who{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--wk-av);color:#fff;font-size:10px;font-weight:700}
.hm-who.me{background:var(--acc-d,#2f5fa8)}
.hm-who.sug{background:transparent;border:1.5px dashed currentColor;color:var(--wk-mut)}
.hm-who3{margin-left:6px;font-size:12.5px;font-weight:600;color:var(--wk-mut)}
.hm-who3.sug{font-style:italic}
.hm-acc{display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:0 0 8px;padding:4px 10px;border:1px solid transparent;border-radius:8px;background:var(--wk-chip);color:var(--wk-chip-fg);font-size:13px;font-weight:700;overflow-wrap:anywhere}
.hm-acc svg{width:13px;height:13px;flex-shrink:0;color:var(--wk-chip-fg)}
.hm-ji .hm-acc{margin:7px 0 0}
.hm-jbb a.hm-ghost{border-style:dashed;background:transparent}
.hm-jlink{display:block;margin-top:6px;padding:0;border:0;background:none;color:var(--wk-link);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.hm-jfull{grid-column:1/-1}
.hm-jed{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:10px;margin-top:4px;padding:12px;border:1px solid var(--wk-line-2);border-radius:12px;background:var(--wk-inner);cursor:default}
.hm-jed label{display:grid;gap:4px;font-size:12px;font-weight:600;color:var(--wk-mut)}
.hm-jed input,.hm-jed select,.hm-pr-add input,.hm-pr-add select{width:100%;min-width:0;height:38px;padding:0 10px;border:1px solid var(--wk-field-line);border-radius:9px;background:var(--wk-field);color:var(--wk-ink);font:inherit;font-size:13.5px}
.hm-jed input::placeholder,.hm-pr-add input::placeholder{color:var(--wk-dim);font-weight:400}
html[data-theme="dark"] .hm-jed select,html[data-theme="dark"] .hm-pr-add select{color-scheme:dark}
.hm-jed-b{grid-column:1/-1;display:flex;gap:8px}
.hm-jed-b button,.hm-pr-add button{height:36px;display:flex;align-items:center;gap:6px;padding:0 14px;border:1px solid var(--wk-btn2-line);border-radius:10px;background:var(--wk-btn2);color:var(--wk-body);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.hm-jed-b button.hm-p{border-color:var(--acc-d,#2f5fa8);background:var(--acc-d,#2f5fa8);color:#fff}
.hm-jed-n{grid-column:1/-1;margin:0;font-size:12px;color:var(--wk-dim)}

/* ===== Ota mukaan huomenna ===== */
.hm-prbox{margin-top:12px;padding:12px 14px 14px;border:1px solid var(--wk-line-2);border-radius:14px;background:#fafbfd}
html[data-theme="dark"] .hm-prbox{background:var(--wk-inner)}
.hm-prbox h5{display:flex;align-items:center;gap:7px;margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--wk-mut)}
.hm-prbox h5 svg{width:14px;height:14px;color:var(--wk-link)}
.hm-prbox h5 small{margin-left:auto;font-size:11.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--wk-dim)}
.hm-pr{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--wk-line)}
.hm-pr:first-of-type{border-top:0}
.hm-cb{width:22px;height:22px;flex-shrink:0;display:grid;place-items:center;border:1.5px solid #c8d0dc;border-radius:6px;background:var(--wk-panel);color:transparent;cursor:pointer;padding:0}
.hm-cb svg{width:13px;height:13px;stroke-width:3}
.hm-pr.ok .hm-cb{border-color:#2e9b5c;background:#2e9b5c;color:#fff}
.hm-pr-t{flex:1;min-width:0}
.hm-pr-t b{display:block;font-size:13.5px;color:var(--wk-ink);overflow-wrap:anywhere}
.hm-pr-t span{display:block;font-size:12px;color:var(--wk-mut)}
.hm-pr.ok .hm-pr-t b{text-decoration:line-through;color:var(--wk-dim)}
.hm-pr-x{width:28px;height:28px;flex-shrink:0;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--wk-dim);cursor:pointer}
.hm-pr-x svg{width:13px;height:13px}
.hm-pr-e{margin:4px 0 8px;font-size:13px;line-height:1.5;color:var(--wk-mut)}
.hm-pr-add{display:flex;gap:8px;margin-top:8px}
.hm-pr-add select{flex:0 1 40%}
.hm-pr-add input{flex:1}
.hm-card-plain{margin-top:10px;padding:4px;border-radius:18px;background:var(--wk-panel);box-shadow:0 20px 40px -30px rgba(16,24,40,.45)}
.hm-card-plain .hm-prbox{margin:0;border:0;background:transparent}
@media (max-width:760px){.hm-jed{grid-template-columns:1fr}.hm-pr-add{flex-wrap:wrap}.hm-pr-add select{flex:1 1 100%}.hm-pr-add button{height:40px}}

/* ===== Tämä viikko: Viikon suunnitelma, Raha, Ainio tällä viikolla (vaihe 4) ===== */
.hm-xt{margin-left:auto;height:32px;display:flex;align-items:center;gap:6px;padding:0 12px;border:1px solid var(--acc-bd,#e0e8f5);border-radius:9px;background:var(--acc-t2,#f5f8fd);color:var(--acc-d,#2f5fa8);font:inherit;font-size:12.5px;font-weight:700;white-space:nowrap;cursor:pointer;transition:box-shadow .15s}
.hm-xt:hover{box-shadow:inset 0 0 0 1px var(--hv-ring)}
.hm-xt:hover{background:#eaf1fb}
.hm-xt svg{width:13px;height:13px;transform:rotate(90deg);transition:transform .2s}
.hm-xt[aria-expanded="true"] svg{transform:rotate(-90deg)}
html[data-theme="dark"] .hm-xt{border-color:var(--wk-line-2);background:var(--wk-tint);color:var(--wk-link)}
.dash-root .hm-grid>.hm-open{box-shadow:0 0 0 2px #cfdbee,0 24px 44px -30px rgba(16,24,40,.5)}
html[data-theme="dark"] .dash-root .hm-grid>.hm-open{box-shadow:0 0 0 2px rgba(var(--acc-rgb,59,111,209),.35)}
.hm-xp{margin-top:14px;animation:hmIn .25s ease}
.hm-lbl{margin-bottom:4px;font-size:12px;font-weight:600;color:var(--wk-mut)}
.hm-big{font-family:var(--font-heading);font-weight:600;font-size:30px;line-height:1.05;color:var(--wk-ink)}
.hm-big.g{color:#1f7a45}.hm-big.b{color:var(--acc-d,#2f5fa8)}
html[data-theme="dark"] .hm-big.g{color:var(--wk-green)}html[data-theme="dark"] .hm-big.b{color:var(--wk-link)}
.hm-big small{margin-left:6px;font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--wk-mut)}
.hm-sub{margin:4px 0 0;font-size:12.5px;color:var(--wk-dim)}
.hm-tdall{margin:-6px 0 10px;font-size:13px;line-height:1.45;color:var(--wk-dim)}
.hm-fc{display:grid;grid-template-columns:170px 150px 110px minmax(0,1fr);gap:22px;align-items:center}
.hm-tip{padding:14px 16px;border:1px solid #dfe8f7;border-radius:14px;background:linear-gradient(135deg,var(--acc-t2,#f3f7fd),#fff)}
html[data-theme="dark"] .hm-tip{border-color:var(--wk-line-2);background:var(--wk-inner)}
.hm-tip-k{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--wk-link)}
.hm-tip-k svg{width:14px;height:14px}
.hm-tip p{margin:6px 0 0;font-size:14.5px;line-height:1.5;color:var(--wk-ink)}
.hm-tip button{margin-top:12px;height:42px;display:flex;align-items:center;gap:7px;padding:0 16px;border:1px solid #c9d6ea;border-radius:11px;background:var(--wk-panel);color:var(--wk-link);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.hm-tip button svg{width:14px;height:14px}
.hm-wk2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.hm-n{padding:14px;border-radius:14px;background:#f7f9fc}
html[data-theme="dark"] .hm-n{background:var(--wk-inner)}
.hm-n span{display:block;font-size:12.5px;font-weight:600;color:var(--wk-mut)}
.hm-n b{display:block;margin-top:4px;font-family:var(--font-heading);font-weight:600;font-size:26px;color:var(--wk-ink)}
.hm-n.g b{color:#1f7a45}
html[data-theme="dark"] .hm-n.g b{color:var(--wk-green)}
.hm-n small{display:block;font-size:12px;color:var(--wk-dim)}
.hm-n-w{grid-column:1/-1}
.hm-mn{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hm-mn.hm-mn4{grid-template-columns:repeat(2,minmax(0,1fr))}
.hm-mt{min-width:0;padding:12px 14px;border-radius:12px;background:#f7f9fc}
html[data-theme="dark"] .hm-mt{background:var(--wk-inner)}
.hm-mt span{display:block;font-size:12px;font-weight:600;color:var(--wk-mut);overflow-wrap:anywhere}
.hm-mt b{display:block;margin-top:4px;font-family:var(--font-heading);font-weight:600;font-size:22px;color:var(--wk-ink);white-space:nowrap}
.hm-mt em{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:999px;font-size:11px;font-style:normal;font-weight:700}
.hm-mt em.g{background:var(--wk-chip);color:var(--wk-chip-fg)}.hm-mt em.r{background:#fdeceb;color:#c43d35}.hm-mt em.b,.hm-mt em.n{background:var(--acc-t,#eef3fb);color:var(--acc-d,#2f5fa8)}
html[data-theme="dark"] .hm-mt em.g{background:var(--wk-chip);color:var(--wk-chip-fg)}html[data-theme="dark"] .hm-mt em.r{background:var(--wk-red-t);color:var(--wk-red)}html[data-theme="dark"] .hm-mt em.b,html[data-theme="dark"] .hm-mt em.n{background:var(--wk-tint);color:var(--wk-link)}
.hm-mt-c button{margin-top:8px;display:flex;align-items:center;gap:5px;padding:0;border:0;background:none;color:var(--wk-link);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.hm-mt-c button svg{width:12px;height:12px}
/* Raha yhdellä rivillä (etusivun selkeyskatselmus 6.10.2026); ruudukko aukeaa "Näytä kaikki luvut" -napista. */
.hm-m1{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:2px 2px 4px}
.hm-m1 span{font-size:13px;font-weight:600;color:var(--wk-mut)}
.hm-m1 b{font-family:var(--font-heading);font-weight:600;font-size:22px;color:var(--wk-ink);white-space:nowrap}
.hm-m1 em{padding:2px 8px;border-radius:999px;font-size:11px;font-style:normal;font-weight:700}
.hm-m1 em.g{background:#eaf6ec;color:#1f7a45}.hm-m1 em.r{background:#fdeceb;color:#c43d35}.hm-m1 em.b,.hm-m1 em.n{background:var(--acc-t,#eef3fb);color:var(--acc-d,#2f5fa8)}
html[data-theme="dark"] .hm-m1 em.g{background:var(--wk-green-t);color:var(--wk-green)}html[data-theme="dark"] .hm-m1 em.r{background:var(--wk-red-t);color:var(--wk-red)}html[data-theme="dark"] .hm-m1 em.b,html[data-theme="dark"] .hm-m1 em.n{background:var(--wk-tint);color:var(--wk-link)}
.hm-m1t{margin-left:auto;min-height:44px;padding:0 2px;border:0;background:none;color:var(--wk-link);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.hm-m1t:hover{text-decoration:underline;text-underline-offset:3px}
.hm-m1+.hm-mn{margin-top:8px}
.hm-xp2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.hm-h5{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--wk-mut)}
.hm-inv{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--wk-line);font-size:13px}
.hm-h5+.hm-inv{border-top:0}
.hm-iv{flex:1;min-width:0}
.hm-iv b{display:block;color:var(--wk-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-iv span{display:block;font-size:12px;color:var(--wk-mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-od{padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}
.hm-od.r{background:#fdeceb;color:#c43d35}.hm-od.n{background:#f1f3f7;color:#6b7686}
html[data-theme="dark"] .hm-od.r{background:var(--wk-red-t);color:var(--wk-red)}html[data-theme="dark"] .hm-od.n{background:var(--wk-inner);color:var(--wk-mut)}
.hm-am{font-weight:700;color:var(--wk-ink);white-space:nowrap}
.hm-lnk{margin-top:10px;display:flex;align-items:center;gap:6px;height:38px;padding:0 14px;border:0;border-radius:10px;background:var(--acc-d,#2f5fa8);color:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.hm-lnk svg{width:13px;height:13px}
.hm-ai{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px}
.hm-chips2{display:flex;flex-wrap:wrap;gap:6px}
.hm-chips2 span{padding:3px 9px;border-radius:999px;background:#f1f5fb;color:#3d4655;font-size:11.5px;font-weight:700}
html[data-theme="dark"] .hm-chips2 span{background:var(--wk-inner);color:var(--wk-body)}
.hm-log{display:flex;flex-direction:column}
.hm-lg{display:flex;gap:10px;padding:8px 0;border-top:1px solid var(--wk-line);font-size:13px;color:var(--wk-body)}
.hm-lg:first-child{border-top:0}
.hm-lgi{width:28px;height:28px;flex-shrink:0;display:grid;place-items:center;border-radius:8px;background:var(--acc-t,#eef3fb);color:var(--acc-d,#2f5fa8)}
html[data-theme="dark"] .hm-lgi{background:var(--wk-tint);color:var(--wk-link)}
.hm-lgi svg{width:13px;height:13px}
.hm-lg b{color:var(--wk-ink)}
.hm-lg em{margin-left:4px;padding:1px 7px;border-radius:999px;background:#eaf6ec;color:#1f7a45;font-size:11px;font-style:normal;font-weight:700}
.hm-lg small{display:block;font-size:12px;color:var(--wk-dim)}
@media (max-width:1180px){.hm-fc{grid-template-columns:1fr 1fr 1fr}.hm-fc .hm-tip{grid-column:1/-1}}
@media (max-width:760px){.hm-mn{grid-template-columns:1fr 1fr}.hm-xp2{grid-template-columns:1fr}.hm-xt{padding:0 10px}}

/* ===== Seuraavaksi (puhelin) ===== */

@media (max-width:760px){
 .dash-home .dash-banner{padding:4px 16px 20px}
 .dash-home .dash-banner .hm-hero h1{font-size:26px}
 .hm-askbox{height:46px}
 /* Pikakysymykset pois puhelimella (2.10.2026, R3), jotta Odottaa sinua -lista alkaa heti. Kysy Ainiolta -kenttä jää. */
 .hm-chips{display:none}
 /* P10: etusivun muokkaus avataan hero-alueen pyöreästä napista, kun yläpalkin rivi on piilossa */
 .dash-banner .hm-edm{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:-2px;right:0;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:#fff;color:#16202e;cursor:pointer;z-index:1;box-shadow:0 4px 14px -6px rgba(0,0,0,.4)}
 .dash-banner .hm-edm svg{width:17px;height:17px}
 .dash-home .dash-banner .hm-hero h1{padding-right:40px}
 .dash-banner .hm-sum{font-size:14px}
 .hm-ob{position:relative;flex-wrap:wrap;padding-right:40px}
 .hm-trial{position:relative;flex-wrap:wrap;padding-right:40px}.hm-trial .hm-obx{position:absolute;top:8px;right:6px}.hm-trial-go{width:100%;justify-content:center}
 .hm-obt{flex-basis:calc(100% - 100px)}
 .hm-obg{flex:1;height:40px}
 .hm-obs{order:2;height:40px}
 .hm-obx{position:absolute;top:6px;right:6px}
 .hm-sec{margin-top:20px}
 .hm-sh span{display:none}
 .hm-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 .hm-grid>.hm-s,.hm-grid>.hm-m,.hm-grid>.hm-l{grid-column:auto}
}

/* ---- Vaihe 5: tilat (yhteysvirhe, elävä merkki, kaikki hoidettu, 1. päivä) ---- */
.hm-alert{display:flex;align-items:center;gap:12px;margin:0 0 4px;padding:12px 12px 12px 14px;border:1px solid #f6c9c5;border-radius:14px;background:#fdeceb}
.hm-al-ic{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;background:#e0453c;color:#fff}
.hm-al-ic svg{width:16px;height:16px}
.hm-alert>div{flex:1;min-width:0}
.hm-alert>div>b{display:block;font-size:14px;color:#9c2f28}
.hm-alert>div>span{display:block;margin-top:1px;font-size:13px;line-height:1.45;color:#6d3b37}
.hm-al-b{display:flex;align-items:center;gap:6px;height:38px;margin-left:auto;padding:0 16px;border-radius:10px;background:#c43d35;color:#fff;font-size:13px;font-weight:700;white-space:nowrap;text-decoration:none}
.hm-al-b:hover{background:#a8332c}
.hm-al-b svg{width:14px;height:14px}
.hm-al-more{margin:0 0 4px 4px;font-size:12.5px;font-weight:600;color:#9c2f28}
.hm-live{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:5px 11px;border:1px solid #d5ecdd;border-radius:999px;background:#fff;font-size:12px;font-weight:600;color:#2e9b5c}
.hm-live i{width:7px;height:7px;border-radius:50%;background:#2e9b5c;animation:hmPing 2s ease-out infinite}
.hm-live.bad{border-color:#f6c9c5;color:#c43d35}
.hm-live.bad i{background:#e0453c;animation:none}
@keyframes hmPing{0%{box-shadow:0 0 0 0 rgba(46,155,92,.45)}80%,100%{box-shadow:0 0 0 7px rgba(46,155,92,0)}}
@media (prefers-reduced-motion:reduce){.hm-live i{animation:none}}
.hm-es.done h4{font-size:22px}
.hm-es-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px}
.hm-es-chips span{padding:4px 10px;border-radius:999px;background:#f1f3f7;font-size:12px;font-weight:600;color:#4f5664}
@media (max-width:760px){
 .hm-alert{flex-wrap:wrap}
 .hm-al-b{width:100%;justify-content:center;height:44px;margin-left:0;font-size:14px}
 .hm-live{border-radius:14px;text-align:left}
}
html[data-theme="dark"] .hm-alert{border-color:rgba(224,69,60,.35);background:rgba(224,69,60,.12)}
html[data-theme="dark"] .hm-alert>div>b{color:#ff9d96}
html[data-theme="dark"] .hm-alert>div>span,html[data-theme="dark"] .hm-al-more{color:#f2c4c0}
html[data-theme="dark"] .hm-live{border-color:rgba(46,155,92,.35);background:rgba(46,155,92,.12);color:#6fd49a}
html[data-theme="dark"] .hm-live.bad{border-color:rgba(224,69,60,.35);background:rgba(224,69,60,.12);color:#ff9d96}
html[data-theme="dark"] .hm-es-chips span{background:var(--wk-line-2);color:var(--wk-body)}

/* ---- Vaihe 7: Toistuva työ (tulee esiin itsestään). Rauhalliset värit 8.10.2026: ei violettia, nappi pysyy sinisenä myös hiiren päällä. ---- */
.rc-card .hm-ch{align-items:flex-start}
.rc-wi{background:var(--wk-chip)!important;color:var(--wk-chip-fg)!important}
.rc-hd{flex:1;min-width:0}
.rc-hd h3{margin:0}
.rc-hd p{margin:2px 0 0;font-size:12.5px;color:var(--wk-mut,#5b6576)}
.rc-auto{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:var(--wk-ai);font-size:11.5px;font-weight:700;color:var(--wk-ai-fg);white-space:nowrap}
.rc-auto svg{width:12px;height:12px}
.rc-x{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border:1px solid #eef0f4;border-radius:9px;background:#fff;color:#8a93a3;cursor:pointer;transition:color .15s,border-color .15s}
.rc-x:hover,.rc-x:focus-visible{border-color:var(--wk-line-2);color:var(--wk-ink)}
.rc-x svg{width:14px;height:14px}
.rc-rows{display:flex;flex-direction:column}
.rc-r{display:grid;grid-template-columns:22px minmax(120px,170px) minmax(0,1fr) 120px 120px 150px;gap:12px;align-items:center;padding:10px 4px;border-top:1px solid #f2f4f7;font-size:13px;color:var(--wk-body)}
.rc-r:first-child{border-top:0}
.rc-r.rc-no{opacity:.45}
.rc-cb{display:grid;place-items:center;width:20px;height:20px;padding:0;border:2px solid #cdd4df;border-radius:6px;background:#fff;color:#fff;cursor:pointer;transition:box-shadow .15s}
.rc-cb:hover{box-shadow:0 0 0 4px var(--hv-row)}
.rc-cb svg{display:none;width:12px;height:12px}
.rc-r:not(.rc-no) .rc-cb{border-color:var(--acc-d,#2f5fa8);background:var(--acc-d,#2f5fa8)}
.rc-r:not(.rc-no) .rc-cb svg{display:block}
.rc-cb.off{cursor:default;background:#f4f5f8}
.rc-nm{min-width:0;font-size:13.5px;color:var(--wk-ink);overflow-wrap:anywhere}
.rc-wt{min-width:0;overflow-wrap:anywhere}
.rc-ls{font-size:12px;color:#8a93a3}
.rc-du{justify-self:start;padding:3px 9px;border-radius:999px;background:var(--wk-chip);font-size:11.5px;font-weight:700;color:var(--wk-chip-fg);white-space:nowrap}
.rc-du.soon{background:#fff6e6;color:var(--wk-amber-ink,#8f600a)}
.rc-am{text-align:right;font-weight:700;color:var(--wk-ink);white-space:nowrap}
/* Pitkä syy (esim. "Yhdistä SMS (WhatsApp ei välitä muistutusta)") rivittyy omaan sarakkeeseensa eikä mene laatikon yli (korjauslista 17.10.2026). */
.rc-am small{display:block;font-size:12px;font-weight:600;color:#8a93a3;white-space:normal;line-height:1.3}
.rc-more{padding:8px 4px;border:0;background:none;font:inherit;font-size:13px;font-weight:700;color:var(--wk-link);text-align:left;cursor:pointer}
.rc-more:hover,.rc-more:focus-visible{text-decoration:underline;text-underline-offset:3px}
.rc-ft{display:flex;align-items:center;gap:14px;margin-top:10px;padding-top:12px;border-top:1px solid #f2f4f7}
.rc-ft p{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:12.5px;line-height:1.45;color:var(--wk-dim,#626c7c)}
.rc-ft p svg{width:14px;height:14px;flex-shrink:0;margin-top:1px;color:var(--wk-mut)}
.rc-go{display:flex;align-items:center;gap:7px;height:40px;margin-left:auto;padding:0 16px;border:0;border-radius:11px;background:var(--acc-d,#2f5fa8);font:inherit;font-size:13.5px;font-weight:700;color:#fff;white-space:nowrap;cursor:pointer;transition:filter .15s,box-shadow .15s,transform .15s}
.rc-go:hover:not(:disabled),.rc-go:focus-visible{filter:brightness(1.1);box-shadow:0 10px 20px -12px rgba(var(--acc-d-rgb,47,95,168),.95);transform:translateY(-1px)}
.rc-go:disabled{background:var(--wk-chip);color:var(--wk-chip-fg);cursor:default}
.rc-go svg{width:14px;height:14px}
@media (max-width:1180px){.rc-r{grid-template-columns:22px minmax(0,1fr) 120px 130px}.rc-wt,.rc-ls{display:none}}
@media (max-width:760px){
 .rc-r{grid-template-columns:22px minmax(0,1fr) auto}
 .rc-am{display:none}
 .rc-ft{flex-direction:column;align-items:stretch}
 .rc-go{justify-content:center;height:48px;margin-left:0;font-size:14.5px;white-space:normal}
}
/* Toistuva työ: Asiakas kielsi -nappi omassa sarakkeessaan leveällä näytöllä; kapealla kielto tallennetaan asiakaskortilla. */
@media (min-width:1181px){.rc-card:not(.sr-card) .rc-r{grid-template-columns:22px minmax(120px,170px) minmax(0,1fr) 120px 140px 90px auto}}
@media (max-width:1180px){.rc-out{display:none}}
/* Varauskierros (dist/dashboard.js dashSeasonCard): samat rivit ilman eräpäivä- ja hintasaraketta; Kielsi viestit -nappi. */
.sr-card .rc-r{grid-template-columns:22px minmax(120px,170px) minmax(0,1fr) 120px auto}
.sr-out{padding:4px 9px;border:1px solid var(--wk-line-2,#e3e7ee);border-radius:999px;background:transparent;font:inherit;font-size:12px;font-weight:600;color:var(--wk-dim,#626c7c);cursor:pointer;transition:color .15s,border-color .15s}
.sr-out:hover,.sr-out:focus-visible{border-color:#8a93a3;color:var(--wk-ink)}
@media (max-width:1180px){.sr-card .rc-r{grid-template-columns:22px minmax(0,1fr) auto}}
@media (max-width:760px){.sr-card .rc-r{grid-template-columns:22px minmax(0,1fr) auto}.sr-card .rc-am{display:block;white-space:normal;max-width:160px}.sr-out{display:none}}
html[data-theme="dark"] .rc-du.soon{background:rgba(242,176,53,.14)!important;color:#f2c56b!important}
html[data-theme="dark"] .rc-r,html[data-theme="dark"] .rc-ft{border-top-color:var(--wk-line-2)}
html[data-theme="dark"] .rc-x,html[data-theme="dark"] .rc-cb{border-color:var(--wk-line-2);background:var(--wk-inner)}

/* ---- Vaihe 8: Muokkaa etusivua ja katalogi ---- */
/* Muokkaa etusivua -nappi näkyy vain etusivulla (html.dash-home, portal.js). */
html:not(.dash-home) #openWidgetPanel{display:none}
#openWidgetPanel.on{background:#2e9b5c;border-color:#2e9b5c;color:#fff}
.hm-editbar{position:sticky;top:8px;z-index:6;display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px 10px 16px;border-radius:14px;background:#16202e;color:#dbe3ef;font-size:13.5px;box-shadow:0 18px 36px -22px rgba(0,0,0,.7)}
.hm-editbar>div{flex:1;min-width:0}
.hm-editbar b{color:#fff}
.hm-editbar button{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:transparent;font:inherit;font-size:13px;font-weight:700;color:#fff;cursor:pointer;white-space:nowrap}
.hm-editbar button.ok{border-color:#2e9b5c;background:#2e9b5c}
.hm-editbar button svg{width:14px;height:14px}
.hm-editing .hm-grid>.hm-ed{position:relative;outline:2px dashed #7aa2dd;outline-offset:-2px;animation:hmWob .5s ease-in-out infinite alternate}
.hm-editing .hm-grid>.hm-ed>*:not(.hm-ctl){pointer-events:none;user-select:none}
.hm-editing .hm-grid>.hm-ed:nth-child(2n){animation-delay:.25s}
@keyframes hmWob{from{transform:rotate(-.25deg)}to{transform:rotate(.25deg)}}
@media (prefers-reduced-motion:reduce){.hm-editing .hm-grid>.hm-ed{animation:none}}
.hm-editing .hm-grid>.hm-ed.hm-drag{opacity:.4}
.hm-editing .hm-grid>.hm-ed.hm-over{box-shadow:-4px 0 0 var(--acc-d,#2f5fa8)}
.hm-editing .hm-grid>.hm-ed.hm-over.after{box-shadow:4px 0 0 var(--acc-d,#2f5fa8)}
.hm-ctl{display:flex;align-items:center;gap:8px;margin:-4px 0 12px;flex-wrap:wrap}
.hm-hd{display:inline-flex;align-items:center;gap:6px;min-width:0;padding:5px 10px;border-radius:9px;background:#16202e;font-size:12px;font-weight:700;color:#fff;cursor:grab}
.hm-hd i{font-style:normal;opacity:.8}
.hm-hd.auto{background:var(--wk-ai);color:var(--wk-ai-fg);cursor:default}
.hm-hd.auto svg{width:12px;height:12px}
.hm-sz{display:inline-flex;margin-left:auto;padding:2px;border:1px solid #e1e6ef;border-radius:9px;background:#fff}
.hm-sz button{height:26px;padding:0 9px;border:0;border-radius:7px;background:none;font:inherit;font-size:11.5px;font-weight:700;color:#4f5664;cursor:pointer}
.hm-sz button[aria-pressed="true"]{background:var(--acc-d,#2f5fa8);color:#fff}
.hm-sz button:disabled{color:#c6ccd6;cursor:default}
.hm-mv,.hm-rm{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid #e1e6ef;border-radius:8px;background:#fff;color:#4f5664;cursor:pointer}
.hm-mv{margin-left:auto}.hm-mv+.hm-mv{margin-left:0}
.hm-mv svg{width:14px;height:14px;transform:rotate(-90deg)}.hm-mv.dn svg{transform:rotate(90deg)}
.hm-grid>.hm-s .hm-ch{flex-wrap:wrap}.hm-grid>.hm-s .hm-xt{margin-left:0}
.hm-rm{border-color:#f6c9c5;background:#fdeceb;color:#c43d35}
.hm-sz+.hm-rm{margin-left:0}
.hm-hd+.hm-rm{margin-left:auto}
.hm-rm svg{width:13px;height:13px}
.hm-add{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:7px;height:48px;border:2px dashed #c9d6ea;border-radius:14px;background:transparent;font:inherit;font-size:13.5px;font-weight:700;color:var(--acc-d,#2f5fa8);cursor:pointer}
.hm-add:hover{background:var(--acc-t2,#f3f7fd)}
.hm-add svg{width:15px;height:15px}
.hm-ed-empty{grid-column:1/-1;margin:0;padding:18px;border-radius:14px;background:#f5f7fa;text-align:center;font-size:13px;color:#8a93a3}
/* Katalogi */
.hm-cat-wrap{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px}
.hm-cat-bd{position:absolute;inset:0;background:rgba(10,14,22,.5)}
.hm-cat{position:relative;display:flex;flex-direction:column;width:min(920px,100%);max-height:min(86vh,900px);border-radius:20px;background:var(--wk-panel,#fff);box-shadow:0 40px 80px -30px rgba(0,0,0,.6);overflow:hidden}
.hm-cat-h{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px;border-bottom:1px solid #eef0f4}
.hm-cat-h h3{margin:0;font-family:var(--font-heading);font-size:22px;font-weight:600;color:var(--wk-ink)}
.hm-cat-h button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #e1e6ef;border-radius:10px;background:#fff;color:#4f5664;cursor:pointer}
.hm-cat-h button svg{width:14px;height:14px}
.hm-cat-b{padding:14px 20px 20px;overflow:auto}
.hm-cg{margin-bottom:14px;padding:12px;border:1px solid transparent;border-radius:16px}
.hm-cg.hl{border-color:#bcd0ee;background:var(--acc-t2,#f5f8fd)}
.hm-cg h4{margin:0 0 10px;font-family:var(--font-heading);font-size:17px;font-weight:600;color:var(--wk-ink)}
.hm-cg h5{margin:14px 0 8px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#8a93a3}
.hm-cgr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hm-ci{display:flex;flex-direction:column;gap:6px;min-width:0;padding:12px;border:1px solid #e6e9ef;border-radius:14px;background:#fff}
.hm-ci.on{border-color:#cfe8d8}
.hm-ci-pv{display:grid;gap:4px;height:44px;padding:8px;border-radius:9px;background:linear-gradient(135deg,var(--acc-t,#eef3fb),#f8fafd)}
.hm-ci-pv i{display:block;height:6px;border-radius:3px;background:#d5e0f1}
.hm-ci-pv i:nth-child(2){width:70%}.hm-ci-pv i:nth-child(3){width:45%}
.hm-ci-t{display:flex;align-items:center;gap:8px;margin-top:2px}
.hm-ci-ic{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:8px;background:var(--acc-t,#eef3fb);color:var(--acc-d,#2f5fa8)}
.hm-ci-ic svg{width:15px;height:15px}
.hm-ci-t b{font-size:13.5px;color:var(--wk-ink)}
.hm-ci p{margin:0;flex:1;font-size:12.5px;line-height:1.45;color:var(--wk-body)}
.hm-ci small{font-size:11.5px;color:#8a93a3}
.hm-ci button,.hm-ci-on{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;margin-top:4px;border-radius:9px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.hm-ci button svg,.hm-ci-on svg{width:13px;height:13px}
.hm-ci-add{border:0;background:var(--acc-d,#2f5fa8);color:#fff}
.hm-ci-lock{border:1px solid #e1e6ef;background:#fff;color:#4f5664}
.hm-ci-on{background:#e9f6ee;color:#2e9b5c;cursor:default}
.hm-cat-auto{display:flex;gap:10px;align-items:flex-start;margin-top:6px;padding:12px 14px;border-radius:12px;background:var(--wk-ai);color:var(--wk-ai-fg);font-size:12.5px;line-height:1.5}
.hm-cat-auto svg{width:15px;height:15px;flex-shrink:0;margin-top:2px;color:var(--wk-ai-fg)}
.hm-cat-auto p{margin:0}
/* Tarjousputki */
.hm-pl{display:flex;align-items:center;gap:8px;margin:4px 0 8px}
.hm-pl>i{color:#b3bccb}.hm-pl>i svg{width:14px;height:14px}
.hm-pl-s{flex:1;min-width:0;padding:10px 12px;border-radius:12px;background:#f5f7fa}
.hm-pl-s b{display:block;font-family:var(--font-heading);font-size:24px;font-weight:600;color:var(--wk-ink)}
.hm-pl-s span{font-size:12px;color:var(--wk-body)}
.hm-pl-s.b{background:var(--acc-t,#eef3fb)}.hm-pl-s.v{background:#f1edfb}.hm-pl-s.g{background:#e9f6ee}
@media (max-width:1000px){.hm-cgr{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
 .hm-editbar{flex-wrap:wrap}.hm-editbar>div{flex-basis:100%}
 .hm-cat-wrap{place-items:end stretch;padding:0}
 .hm-cat{width:100%;max-height:88vh;border-radius:20px 20px 0 0}
 .hm-cgr{grid-template-columns:1fr}
 .hm-ci-pv{display:none}
}
html[data-theme="dark"] .hm-editing .hm-grid>.hm-ed{outline-color:#4d74b8}
html[data-theme="dark"] .hm-sz,html[data-theme="dark"] .hm-mv,html[data-theme="dark"] .hm-cat-h button,html[data-theme="dark"] .hm-ci-lock{border-color:var(--wk-line-2);background:var(--wk-inner);color:var(--wk-body)}
html[data-theme="dark"] .hm-sz button{color:var(--wk-body)}html[data-theme="dark"] .hm-sz button:disabled{color:#4a5263}
html[data-theme="dark"] .hm-rm{border-color:rgba(224,69,60,.35);background:rgba(224,69,60,.12);color:#ff9d96}
html[data-theme="dark"] .hm-add{border-color:#34496d;color:var(--acc-l,#9dc0f2)}html[data-theme="dark"] .hm-add:hover{background:rgba(var(--acc-l-rgb,157,192,242),.06)}
html[data-theme="dark"] .hm-ed-empty,html[data-theme="dark"] .hm-pl-s{background:var(--wk-inner)}
html[data-theme="dark"] .hm-cat-h{border-bottom-color:var(--wk-line)}
html[data-theme="dark"] .hm-ci{border-color:var(--wk-line-2);background:var(--wk-inner)}
html[data-theme="dark"] .hm-ci-pv{background:rgba(var(--acc-l-rgb,157,192,242),.08)}html[data-theme="dark"] .hm-ci-pv i{background:rgba(var(--acc-l-rgb,157,192,242),.18)}
html[data-theme="dark"] .hm-ci-ic{background:rgba(var(--acc-l-rgb,157,192,242),.12);color:var(--acc-l,#9dc0f2)}
html[data-theme="dark"] .hm-cg.hl{border-color:#34496d;background:rgba(var(--acc-l-rgb,157,192,242),.05)}
html[data-theme="dark"] .hm-ci-on{background:rgba(46,155,92,.14);color:#6fd49a}
html[data-theme="dark"] .hm-cat-auto{background:var(--wk-ai);color:var(--wk-ai-fg)}
html[data-theme="dark"] .hm-pl-s.b{background:rgba(var(--acc-l-rgb,157,192,242),.10)}html[data-theme="dark"] .hm-pl-s.v{background:rgba(157,130,230,.12)}html[data-theme="dark"] .hm-pl-s.g{background:rgba(46,155,92,.12)}
html[data-theme="dark"] .hm-hd:not(.auto){background:#2b3a57}
html[data-theme="dark"] .hm-editbar{border:1px solid var(--wk-line-2);background:#1b2536}
.hm-grid>.hm-s .hm-sz button{padding:0 6px}
.hm-grid>.hm-m .hm-fc{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.hm-grid>.hm-m .hm-fc .hm-tip{grid-column:1/-1}
.hm-grid>.hm-m .hm-fc .hm-big{font-size:26px}

/* ---- Vaihe 9: Kysy Ainiolta -vastaus ja toimintonapit ---- */
.dash-banner .hm-at p{margin:0 0 6px;color:inherit}
.dash-banner .hm-at ul{margin:4px 0 6px;padding-left:18px}
.dash-banner .hm-at li{margin:2px 0}
.dash-banner .hm-at b{font-weight:700}
.hm-aa{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #eef0f4}
.hm-aa button{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 13px;border:1px solid #dfe3ea;border-radius:10px;background:#fff;font:inherit;font-size:13px;font-weight:700;color:var(--acc-d,#2f5fa8);cursor:pointer}
.hm-aa button.p{border-color:var(--acc-d,#2f5fa8);background:var(--acc-d,#2f5fa8);color:#fff}
.hm-aa button svg{width:13px;height:13px}
.hm-aa .hm-aa-chat{margin-left:auto;border-color:transparent;background:transparent;color:#4f5664}
@media (max-width:760px){.hm-aa button{flex:1 1 100%;justify-content:center;height:44px}.hm-aa .hm-aa-chat{margin-left:0}}
html[data-theme="dark"] .hm-aa{border-top-color:rgba(255,255,255,.1)}
html[data-theme="dark"] .hm-aa button:not(.p){border-color:rgba(255,255,255,.14);background:transparent;color:var(--acc-l,#9dc0f2)}
html[data-theme="dark"] .hm-aa .hm-aa-chat{border-color:transparent;color:#b7c0cf}
.dash-banner .hm-at:not(.err):not(.wait){white-space:normal}
.rc-ch{margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--wk-chip);font-size:10.5px;font-weight:700;color:var(--wk-chip-fg);vertical-align:1px}
html[data-theme="dark"] .rc-ch{background:var(--wk-chip);color:var(--wk-chip-fg)}
button.hm-al-b{border:0;font:inherit;font-size:13px;font-weight:700;cursor:pointer}@media (max-width:760px){button.hm-al-b{font-size:14px}}
/* Peruutus: vapautuneeseen aikaan sopiva työ */
.hm-cx{margin-bottom:12px;padding:10px 12px;border:1px solid var(--wk-line-2);border-radius:10px;background:var(--wk-card);color:var(--wk-body);font-size:13.5px;line-height:1.5;overflow-wrap:anywhere}
.hm-cx small{display:block;margin-bottom:2px;font-size:11.5px;color:var(--wk-dim)}
.hm-cx b{display:block;color:var(--wk-ink)}
.hm-cx span{display:block;font-size:12.5px;color:var(--wk-mut);font-variant-numeric:tabular-nums}
.hm-cx.e{color:var(--wk-mut)}

html[data-theme="dark"] .hm-cx{background:var(--wk-inner)}
/* Mukauta (appearance.js): yläbannerit. Tähtikuvio on oletus (index.html .banner-deco). Kukkulat ja Revontulet
   piirretään kankaalle, Perusbanneri on pehmeä yksivärinen tausta. Vain tausta vaihtuu: tekstit, hakukenttä ja napit
   pysyvät paikallaan. Vaalealla taustalla (päivän taivas, Perusbanneri) tekstit ja kentät muuttuvat tummiksi. */
.ap-ban-cv{display:none}
/* Muilla sivuilla (Viestit, Luonnokset, Tarjoukset, Kalenteri, Asetukset) sama banneri piirretään haaleana tumman taustan päälle. */
html.dash-view .ap-ban-cv{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
html.dash-view .ap-ban-cv[hidden]{display:none}
html.dash-view[data-banner="hills"] .banner-deco,html.dash-view[data-banner="aurora"] .banner-deco,html.dash-view[data-banner="basic"] .banner-deco{display:none}
html.dash-view.dash-home[data-banner="hills"] .top-area{background:#0d1119}
html.dash-view.dash-home[data-banner="aurora"] .top-area{background:#0b1020}
html.dash-view.dash-home[data-banner="basic"] .top-area{background:var(--ban-soft,#dfe8f5)}
html[data-theme="dark"].dash-view.dash-home[data-banner="basic"] .top-area{background:color-mix(in srgb,var(--ban-soft,#dfe8f5) 14%,#121826)}
:is(html.ban-light.dash-home,html:not([data-theme="dark"]).dash-home[data-banner="basic"]) .hm-askbox{background:rgba(255,255,255,.85);border:1px solid rgba(22,32,46,.15);box-shadow:0 6px 18px -12px rgba(20,30,50,.35)}
:is(html.ban-light.dash-home,html:not([data-theme="dark"]).dash-home[data-banner="basic"]) .hm-askbox input{color:#16202e}
:is(html.ban-light.dash-home,html:not([data-theme="dark"]).dash-home[data-banner="basic"]) .hm-askbox input::placeholder{color:#4b5a70}
:is(html.ban-light.dash-home,html:not([data-theme="dark"]).dash-home[data-banner="basic"]) .hm-askbox>svg{color:var(--acc-d,#2f5fa8)}
:is(html.ban-light.dash-home,html:not([data-theme="dark"]).dash-home[data-banner="basic"]) .hm-askbox button{background:var(--acc-d,#2f5fa8);color:#fff}
:is(html.ban-light.dash-home,html:not([data-theme="dark"]).dash-home[data-banner="basic"]) .hm-chips button{background:rgba(22,32,46,.07);border-color:rgba(22,32,46,.14);color:#16202e}
:is(html.ban-light.dash-home,html:not([data-theme="dark"]).dash-home[data-banner="basic"]) .hm-chips button:hover{background:rgba(22,32,46,.12)}
:is(html.ban-light.dash-home,html:not([data-theme="dark"]).dash-home[data-banner="basic"]) .dash-banner .hm-ainote{color:#4b5a70}
:is(html.ban-light.dash-home,html:not([data-theme="dark"]).dash-home[data-banner="basic"]) .breadcrumb span,:is(html.ban-light.dash-home,html:not([data-theme="dark"]).dash-home[data-banner="basic"]) .breadcrumb svg{color:rgba(22,32,46,.55)}
:is(html.ban-light.dash-home,html:not([data-theme="dark"]).dash-home[data-banner="basic"]) .breadcrumb strong,:is(html.ban-light.dash-home,html:not([data-theme="dark"]).dash-home[data-banner="basic"]) .dash-banner .hm-sum{color:#33455c}
:is(html.ban-light.dash-home,html:not([data-theme="dark"]).dash-home[data-banner="basic"]) .dash-banner .hm-sum b,:is(html.ban-light.dash-home,html:not([data-theme="dark"]).dash-home[data-banner="basic"]) .dash-banner .hm-hero h1{color:#16202e}
:is(html.ban-light.dash-home,html:not([data-theme="dark"]).dash-home[data-banner="basic"]) .dash-banner .hm-date{color:var(--acc-d,#2f5fa8)}

/* Odottaa sinua: luonnos suoraan rivin sisällä (dashboard.js dashTodoDraft) */
.hm-dft{margin:0 0 12px}
.hm-dft small{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--wk-mut)}
.hm-dft small svg{width:12px;height:12px}
.hm-dft-t{display:block;width:100%;box-sizing:border-box;min-height:110px;padding:11px 12px;border:1px solid var(--wk-line-2);border-radius:12px;background:var(--wk-field,#fff);color:var(--wk-ink);font:inherit;font-size:14px;line-height:1.5;resize:none;overflow:hidden}
.hm-dft-s{margin-top:8px}
.hm-dft-l{margin:0;font-size:13px;color:var(--wk-mut)}
.hm-dft-n{display:block;margin-top:6px;font-size:12px;color:var(--wk-mut)}
/* Vastaanottaja ennen Lähetä-nappia, kuten Viesteissä ("Lähtee: Sähköposti · asiakas" ja osoite). */
.hm-dft-to{margin:8px 0 0;font-size:12.5px;color:var(--wk-mut);overflow-wrap:anywhere}
.hm-dft-to b{color:var(--wk-ink);font-weight:600}
/* Puhelimella avattavat rivit: tila-merkki otsikon alle, sisältö koko leveydelle */
@media (max-width:760px){
 .hm-ah{grid-template-columns:34px minmax(0,1fr) 18px;row-gap:4px;align-items:start}
 .hm-ah .hm-tk{grid-column:2;grid-row:2;justify-self:start;margin-top:2px}
 .hm-ah .hm-cv{grid-column:3;grid-row:1}
 .hm-tt b{white-space:normal}
 .hm-ab{padding:2px 4px 14px}
 .hm-jch{grid-template-columns:48px minmax(0,1fr) auto 18px}
 .hm-tt span{white-space:normal}
 .hm-jcb{padding:2px 4px 14px}
 .hm-jbb>*{flex:1 1 40%;justify-content:center}
 .hm-dft-s{width:100%;justify-content:center}
}
.hm-dft-s{height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 16px;border:0;border-radius:10px;background:var(--acc-d,#2f5fa8);color:#fff;font:inherit;font-size:13.5px;font-weight:700;cursor:pointer}
html[data-theme="dark"] .hm-dft-s{background:var(--acc,#3b6fd1)}
.hm-dft-s svg{width:15px;height:15px}
/* Tiivis Kannattavuusennuste (dist/dashboard.js dashWeekCard): kiinni yksi lause ja tulevat viikot, avattuna viikon
   työt ja Ainion perustelut. Luvut samat kuin Tarjoukset-sivun viikkokortissa. */
.hm-fcs{display:flex;flex-direction:column;gap:8px}
.hm-fcs-t{cursor:pointer;border-radius:10px;outline-offset:4px;transition:background-color .15s}
.hm-fcs-t:hover{background-color:var(--hv-row)}
.hm-fcs-k{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--wk-mut)}
.hm-fcs-t p{margin:3px 0 0;font-size:15px;line-height:1.45;color:var(--wk-ink)}
.hm-fcs-t b{font-weight:700}
.hm-fcs-g{font-family:var(--font-heading);font-size:21px;font-weight:600;color:var(--wk-ink);white-space:nowrap}
html[data-theme="dark"] .hm-fcs-g{color:var(--wk-ink)}
.hm-fcs-nx{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--wk-mut)}
.hm-fcs-pill{background:var(--wk-card);border:1px solid var(--wk-line);border-radius:8px;padding:3px 9px;font-size:12.5px;font-weight:600;color:var(--wk-ink)}
.hm-fcs-pill i{font-style:normal;color:var(--wk-ink);margin-left:5px}
html[data-theme="dark"] .hm-fcs-pill i{color:var(--wk-ink)}
.hm-fcs-go{margin-left:auto;display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:0;font:inherit;font-size:13px;font-weight:700;color:var(--wk-link);cursor:pointer}
.hm-fcs-go:hover{text-decoration:underline;text-underline-offset:3px}
.hm-fcs-go svg,.hm-fcs-btn svg{width:14px;height:14px}
.hm-fcs-x{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:22px}
.hm-fcs-bar{display:flex;height:8px;border-radius:99px;overflow:hidden;background:var(--wk-line);margin:4px 0 6px}
.hm-fcs-bar i{display:block;height:100%}.hm-fcs-bar .a{background:#8fb3ec}.hm-fcs-bar .b{background:#f0c36a}
.hm-fcs-lg{font-size:12px;color:var(--wk-mut);margin-bottom:8px}.hm-fcs-lg b{color:var(--wk-ink)}
.hm-fcs-r{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 0;border:0;border-bottom:1px solid var(--wk-line);background:none;font:inherit;text-align:left;color:inherit;cursor:pointer}
.hm-fcs-r:last-of-type{border-bottom:0}
.hm-fcs-d{width:38px;border:1px solid var(--wk-line);border-radius:9px;text-align:center;overflow:hidden;background:var(--wk-panel)}
.hm-fcs-d em{display:block;font-style:normal;background:var(--wk-tint);color:var(--wk-link);font-size:9px;font-weight:700;letter-spacing:.06em;padding:2px 0}
.hm-fcs-d b{display:block;font-family:var(--font-heading);font-size:15px;font-weight:600;padding:1px 0 2px;color:var(--wk-ink)}
.hm-fcs-w{min-width:0}.hm-fcs-w>b{display:block;font-size:13.5px;color:var(--wk-ink);overflow-wrap:anywhere}.hm-fcs-w>span{display:block;font-size:12px;color:var(--wk-mut)}
.hm-fcs-st{display:inline-block;font-size:11px;font-weight:700;border-radius:99px;padding:2px 8px;margin-left:6px;vertical-align:1px}
.hm-fcs-st.o{background:var(--wk-amber-t);color:#8f600a}.hm-fcs-st.b{background:var(--wk-tint);color:var(--wk-link)}.hm-fcs-st.g{background:var(--wk-green-t);color:var(--wk-green)}
html[data-theme="dark"] .hm-fcs-st.o{color:var(--wk-amber)}
.hm-fcs-e{text-align:right;font-weight:700;font-size:13.5px;color:#1f7a45;white-space:nowrap}
html[data-theme="dark"] .hm-fcs-e{color:#6fcf8e}
.hm-fcs-e small{display:block;font-weight:500;font-size:11px;color:var(--wk-mut)}.hm-fcs-e.m{color:var(--wk-dim);font-weight:600;font-size:12.5px}
.hm-fcs-why{margin:0 0 8px;font-size:13px;line-height:1.45;color:var(--wk-body);padding:10px 12px;border-radius:12px;background:var(--wk-card)}
.hm-fcs-why b{color:var(--wk-ink)}
.hm-fcs-none{font-size:13px;color:var(--wk-mut)}
.hm-fcs-ft{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--wk-line);padding-top:14px;font-size:13px;color:var(--wk-mut)}
.hm-fcs-btn{display:inline-flex;align-items:center;gap:6px;height:38px;border:0;border-radius:11px;background:var(--acc-d,#2f5fa8);color:#fff;font:inherit;font-size:13px;font-weight:700;padding:0 16px;cursor:pointer}
@media (max-width:760px){.hm-fcs-x{grid-template-columns:1fr}.hm-fcs-go{margin-left:0;flex-basis:100%}}

/* Puhelimen luettavuus (käytettävyyskatselmus 4.10.2026): rivien toinen tekso ja merkit olivat 11–12,5 px, mikä on
   autossa ja auringossa vaikea lukea. Kootaan nostot tähän yhteen paikkaan; html-etuliite voittaa sivukohtaiset säännöt. */
@media (max-width:760px){
 html .hm-tt span,html .dash-row-main small,html .ms-pv,html .of-cw span,html .cal-ag span span,html .rc-r .rc-du{font-size:14px;line-height:1.4}
 html .ms-sb{font-size:14px}
 html .ms-dpv span{font-size:15px;line-height:1.5}
 html body .of-sw2 span,html .of-tknote,html .cal-trt,html .cal-rl,html .hm-gh{font-size:13px}
 html .hm-tk,html .ms-ty,html .ms-late,html .of-stp,html .of-fit,html .of-rate,html body .cal-sup,html .ms-r1 span{font-size:12.5px}
 html .cal-ag strong{font-size:14.5px}
 html .wsb-tb span:not(.wsb-bd){font-size:11px}
}
/* Asiakas soitti (dist/messages.js msCallOpen): etusivun hero-alueen nappi puhelun muistiinpanolle. */
.hm-call{display:inline-flex;align-items:center;gap:8px;margin-top:12px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.1);color:#fff;font:inherit;font-size:14.5px;font-weight:700;cursor:pointer}
.hm-call svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}
.hm-call:hover{background:rgba(255,255,255,.18)}

/* Yhteenvetorivin keikkamäärä vie Työnkulkuun (dist/dashboard.js dashWfLink). */
.hm-sum-a{color:inherit;text-decoration:underline;text-decoration-color:rgba(255,255,255,.45);text-underline-offset:3px}
.hm-sum-a:hover,.hm-sum-a:focus-visible{text-decoration-color:currentColor}
/* Päivän reitti useana Google Maps -linkkinä (dist/travel.js trRouteLinks). */
.dash-route-cta a.text-btn+a.text-btn{margin-left:14px}
