/* Talouslaskurin tyylit — vastaa tukikyselyn (quiz.css) ulkoasua samoilla
   väreillä, korttimuodolla ja napeilla. Monivaiheinen rakenne 5 vaihetta +
   tulos, samalla edistymispalkkityylillä kuin tukikyselyssä. Rivilistat
   (tulot/velat/muut menot) ovat oma toistuva komponentti pikavalintanapein.
   Täydentää ak.css:ää. */
:root{ --ak-clay-soft:#FBF0EB; --ak-clay-deep:#9E4222; }

.lsk-privacy{font-size:13.5px;color:var(--ak-ink-soft);margin:4px 0 10px}

.lsk-progress-wrap{margin:6px 0 16px;display:flex;align-items:center;gap:12px}
.lsk-progress{flex:1;height:7px;background:var(--ak-paper-2);border-radius:999px;overflow:hidden}
.lsk-progress-bar{height:100%;background:var(--ak-clay);border-radius:999px;width:0;transition:width .3s ease}
.lsk-step-label{font-size:13px;font-weight:600;color:var(--ak-ink-soft);white-space:nowrap}

.lsk-card:empty{display:none}
.lsk-card{background:var(--ak-card);border:1px solid var(--ak-line);border-radius:18px;padding:24px;box-shadow:var(--ak-shadow)}

.lsk-step-h{font-family:"Lora",serif;font-size:23px;font-weight:600;letter-spacing:-.015em;margin-bottom:14px}
.lsk-sub{font-size:14px;color:var(--ak-ink-soft);line-height:1.55;margin:2px 0 14px}

.lsk-hl{background:var(--ak-paper-2);border-radius:12px;padding:14px 16px;margin-bottom:20px}
.lsk-hl b{display:block;font-size:15px;margin-bottom:4px}
.lsk-hl p{font-size:14px;line-height:1.55;color:#42352a;margin:0}

.lsk-subhead{font-family:"Lora",serif;font-size:15.5px;font-weight:600;color:var(--ak-clay-deep);letter-spacing:-.005em;margin:24px 0 4px;padding-top:16px;border-top:1px solid var(--ak-line)}

.lsk-field{margin-bottom:18px}
.lsk-field label{display:block;font-weight:600;font-size:15.5px;margin-bottom:4px}
.lsk-field .lsk-hint{font-size:13px;color:var(--ak-ink-soft);margin-bottom:8px;line-height:1.45}
.lsk-input-wrap{position:relative;max-width:280px}
.lsk-input{width:100%;font:inherit;font-size:18px;padding:12px 38px 12px 15px;border:1.5px solid var(--ak-line);border-radius:12px;background:var(--ak-paper);box-sizing:border-box}
.lsk-input:focus{outline:none;border-color:var(--ak-clay);background:#fff}
.lsk-input-suffix{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--ak-ink-soft);font-size:15px;pointer-events:none}
.lsk-error{color:var(--ak-clay-deep);font-size:13.5px;font-weight:600;margin-top:-8px;margin-bottom:14px}

.lsk-toggle{display:flex;gap:8px}
.lsk-toggle-btn{font:inherit;font-size:14.5px;font-weight:600;padding:10px 20px;border:1.5px solid var(--ak-line);border-radius:11px;background:var(--ak-paper);color:var(--ak-ink);cursor:pointer;transition:.15s}
.lsk-toggle-btn:hover{border-color:var(--ak-clay)}
.lsk-toggle-btn.sel{border-color:var(--ak-clay);background:var(--ak-clay-soft);color:var(--ak-clay-deep)}

/* Rivilista: tulot / velat / muut menot — koottu omaksi laatikoksi, jotta se
   erottuu selvästi yläpuolisesta tekstistä ja alapuolisesta Seuraava-napista. */
.lsk-rowblock{background:var(--ak-paper-2);border-radius:14px;padding:18px 18px 16px;margin:6px 0 4px}
.lsk-rows{display:flex;flex-direction:column;gap:10px}
.lsk-rows:empty{margin-bottom:0}
.lsk-rows:not(:empty){margin-bottom:14px}
.lsk-row{display:flex;align-items:center;gap:8px}
.lsk-row-name{flex:1 1 auto;min-width:0;font:inherit;font-size:15px;padding:11px 13px;border:1.5px solid var(--ak-line);border-radius:11px;background:var(--ak-card);box-sizing:border-box}
.lsk-row-name:focus{outline:none;border-color:var(--ak-clay);background:#fff}
.lsk-row-amount-wrap{position:relative;flex:0 0 130px}
.lsk-row-amount{width:100%;font:inherit;font-size:15px;padding:11px 42px 11px 13px;border:1.5px solid var(--ak-line);border-radius:11px;background:var(--ak-card);box-sizing:border-box}
.lsk-row-amount:focus{outline:none;border-color:var(--ak-clay);background:#fff}
.lsk-row-suffix{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--ak-ink-soft);font-size:13px;pointer-events:none}
.lsk-row-remove{flex:0 0 auto;width:36px;height:36px;border:1.5px solid var(--ak-line);border-radius:10px;background:var(--ak-card);color:var(--ak-ink-soft);font-size:19px;line-height:1;cursor:pointer;transition:.15s}
.lsk-row-remove:hover{border-color:var(--ak-clay-deep);color:var(--ak-clay-deep);background:var(--ak-clay-soft)}
.lsk-row-total{font-size:13.5px;font-weight:600;color:var(--ak-ink-soft);margin-bottom:16px;padding-bottom:14px;border-bottom:1px dashed var(--ak-line)}

.lsk-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.lsk-chip{font:inherit;font-size:13.5px;font-weight:600;padding:8px 14px;border:1.5px dashed var(--ak-line);border-radius:999px;background:var(--ak-card);color:var(--ak-clay-deep);cursor:pointer;transition:.15s}
.lsk-chip:hover{border-style:solid;border-color:var(--ak-clay);background:var(--ak-clay-soft)}
.lsk-add{font-size:14px;padding:10px 18px}

.lsk-grand-total{margin-top:16px;padding-top:14px;border-top:2px solid var(--ak-clay);font-size:16px;font-weight:700;color:var(--ak-clay-deep)}

.lsk-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:24px}
.lsk-btn{font:inherit;font-size:16px;font-weight:600;border:none;background:var(--ak-clay);color:#fff;border-radius:11px;padding:13px 24px;cursor:pointer}
.lsk-btn:hover{background:var(--ak-clay-deep)}
.lsk-btn.ghost{background:transparent;color:var(--ak-ink-soft);border:1px solid var(--ak-line);font-size:14.5px;padding:10px 18px}
.lsk-btn.ghost:hover{color:var(--ak-clay);border-color:var(--ak-clay)}

/* Tulokset */
.lsk-rhead h2{font-family:"Lora",serif;font-size:24px;font-weight:600;letter-spacing:-.015em;margin-bottom:14px}

.lsk-amount-box{border-radius:14px;padding:20px 22px;margin-bottom:16px;border:1.5px solid}
.lsk-amount-box.ok{background:var(--ak-sage-soft);border-color:#cfdcc2}
.lsk-amount-box.tight{background:#fdf3dd;border-color:#ecd9a0}
.lsk-amount-box.negative{background:var(--ak-clay-soft);border-color:#f0c4b3}
.lsk-amount-num{font-family:"Lora",serif;font-size:34px;font-weight:700;letter-spacing:-.02em;margin-bottom:4px}
.lsk-amount-box.ok .lsk-amount-num{color:var(--ak-sage)}
.lsk-amount-box.tight .lsk-amount-num{color:#8a6d1f}
.lsk-amount-box.negative .lsk-amount-num{color:var(--ak-clay-deep)}
.lsk-amount-text{font-size:14.5px;line-height:1.55;color:#42352a}
.lsk-formula{font-size:12.5px;color:var(--ak-ink-soft);margin-top:10px;font-family:monospace}

.lsk-suoja{background:var(--ak-paper-2);border-radius:14px;padding:16px 18px;margin-bottom:16px}
.lsk-suoja h4{font-family:"Lora",serif;font-size:16.5px;font-weight:600;margin-bottom:6px}
.lsk-suoja p{font-size:14.5px;line-height:1.55;color:#42352a}

.lsk-route-head{font-family:"Lora",serif;font-size:17px;font-weight:600;margin:20px 0 12px}
.lsk-route{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(120deg,#fff,#fbf2e6);border:1px solid var(--ak-line);border-left:4px solid var(--ak-clay);border-radius:14px;padding:14px 16px;margin-bottom:10px;text-decoration:none;color:var(--ak-ink)}
.lsk-route.sage{border-left-color:var(--ak-sage);background:linear-gradient(120deg,#fff,#eef3e8)}
.lsk-route .lsk-rt{display:flex;flex-direction:column;gap:2px}
.lsk-route .lsk-rt b{font-size:15px}
.lsk-route .lsk-rt small{font-size:13px;color:var(--ak-ink-soft)}
.lsk-pill{background:var(--ak-clay);color:#fff;font-weight:700;font-size:13.5px;padding:8px 14px;border-radius:999px;white-space:nowrap;flex-shrink:0}
.lsk-route.sage .lsk-pill{background:var(--ak-sage)}

.lsk-disclaimer{font-size:12.5px;color:var(--ak-ink-soft);background:var(--ak-paper-2);border-radius:12px;padding:13px 16px;margin:18px 0 4px;line-height:1.5}
.lsk-printhead{display:none}

/* Kapea näyttö: rivi pinoutuu, jotta nimi- ja summakenttä eivät ahdistu */
@media(max-width:480px){
  .lsk-row{flex-wrap:wrap}
  .lsk-row-name{flex:1 1 100%}
  .lsk-row-amount-wrap{flex:1 1 auto}
}

/* Tulostus: vain laskelma, ei navigaatiota */
@media print{
  body{background:#fff}
  .ak-header,.ak-footer-light,.ak-footer-dark,.fo-crumb,.ak-lead,.lsk-privacy,.lsk-progress-wrap,.lsk-nav,.lsk-route,.lsk-btn,.ak-ad,[class*="ad-slot"]{display:none !important}
  .lsk-printhead{display:block;margin-bottom:14px}
  .lsk-printhead h1{font-size:20px}
  .lsk-printhead p{font-size:11px;color:#555}
  .lsk-amount-box,.lsk-suoja{break-inside:avoid;box-shadow:none;border-color:#999 !important;background:#fff !important}
  .lsk-amount-num{color:#000 !important}
}
