/* Yhtenäinen ulkoasu (malli, haara ui-yhtenaistys): kohteen etusivun (PR #45) tyyli kaikkiin näkymiin.
   Tyylimuuttujat tulevat rp-app.css:n --rp-*-arvoista. Komponentit:
   .ui-y           näkymän juuri (module-page), ottaa tyylin käyttöön
   .ui-kpis/.ui-kpi tunnuslukukortit   .ui-card kortti   .ui-tag tila-merkki
   Lisäksi .ui-y:n sisällä yhtenäistetään otsikot, työkalurivi, painikkeet, välilehdet, lomakkeet, taulukot ja listat. */
.rp-app{--ui-gap:16px;--ui-field-h:40px;--ui-focus:0 0 0 3px color-mix(in srgb,var(--rp-vari-vahva) 22%,transparent)}

/* Otsikko ja johdanto */
.rp-app .ui-y{max-width:1280px;font-family:var(--rp-font);color:var(--rp-teksti)}
.rp-app .ui-y > h1{font-size:26px;letter-spacing:-.03em;margin:0 0 4px;font-weight:700}
.rp-app .ui-y .module-lead{color:var(--rp-himmea);max-width:76ch;margin:0 0 var(--ui-gap);font-size:14px}
.rp-app .ui-y h2{font-size:16px;font-weight:650;letter-spacing:-.01em;margin:0 0 10px}
.rp-app .ui-y h3{font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--rp-himmea);margin:14px 0 6px}

/* Kortti: osiot, listat ja työkalurivi */
.rp-app .ui-y .ui-card,.rp-app .ui-y section,.rp-app .ui-y .module-tools,.rp-app .ui-y .vt-item,.rp-app .ui-y .vt-head,
.rp-app .ui-y .budget-table-wrap,.rp-app .ui-y .diary-list{background:var(--rp-pinta);border:1px solid var(--rp-reuna);border-radius:var(--rp-r-lg);box-shadow:var(--rp-varjo);padding:16px;margin:0 0 var(--ui-gap)}
.rp-app .ui-y .module-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:12px 16px}
.rp-app .ui-y section section{box-shadow:none;border-color:var(--rp-reuna);background:var(--rp-tausta)}

/* Tunnuslukukortit kuten etusivulla */
.rp-app .ui-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:0 0 var(--ui-gap)}
.rp-app .ui-kpi{background:var(--rp-pinta);border:1px solid var(--rp-reuna);border-radius:var(--rp-r-lg);box-shadow:var(--rp-varjo);padding:14px 16px}
.rp-app .ui-kpi small{display:block;color:var(--rp-himmea);font-weight:500;font-size:13px}
.rp-app .ui-kpi b{display:block;font-size:26px;letter-spacing:-.03em;margin-top:4px}
.rp-app .ui-kpi.is-ok b{color:var(--rp-ok)} .rp-app .ui-kpi.is-warn b{color:var(--rp-varoitus)} .rp-app .ui-kpi.is-danger b{color:var(--rp-vaara)}

/* Painikkeet: ensisijainen tummanvihreä, toissijainen vaalea reunalla */
.rp-app .ui-y .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 14px;border-radius:var(--rp-r-sm);
  border:1px solid var(--rp-vari);background:var(--rp-vari);color:var(--rp-paalle);font:600 14px/1.2 var(--rp-font);cursor:pointer;box-shadow:none}
.rp-app .ui-y .btn:hover{background:var(--rp-vari-vahva);border-color:var(--rp-vari-vahva)}
.rp-app .ui-y .btn.light,.rp-app .ui-y .btn.ghost{background:var(--rp-pinta);color:var(--rp-vari-teksti);border-color:var(--rp-reuna)}
.rp-app .ui-y .btn.light:hover,.rp-app .ui-y .btn.ghost:hover{border-color:var(--rp-vari-vahva);background:var(--rp-n-100)}
.rp-app .ui-y .btn:disabled{opacity:.5;cursor:not-allowed}
.rp-app .ui-y .btn:focus-visible{outline:none;box-shadow:var(--ui-focus)}
.rp-app .ui-y .hours-mini{min-height:30px;padding:4px 10px;font-size:13px}

/* Välilehdet: segmentti */
.rp-app .ui-y .views{display:inline-flex;gap:4px;padding:4px;background:var(--rp-n-100);border:1px solid var(--rp-reuna);border-radius:999px;margin:0 0 var(--ui-gap)}
.rp-app .ui-y .views button{border:0;background:transparent;border-radius:999px;padding:7px 16px;font:600 14px var(--rp-font);color:var(--rp-himmea);box-shadow:none}
.rp-app .ui-y .views button[aria-selected="true"]{background:var(--rp-vari);color:var(--rp-paalle)}

/* Lomakkeet */
.rp-app .ui-y .safety-field,.rp-app .ui-y .module-site-pick,.rp-app .ui-y .module-search{display:grid;gap:4px;font-size:12px;font-weight:600;color:var(--rp-himmea);margin:6px 0}
.rp-app .ui-y input:not([type=checkbox]):not([type=radio]):not([type=file]),.rp-app .ui-y select,.rp-app .ui-y textarea{
  min-height:var(--ui-field-h);padding:8px 10px;border:1px solid var(--rp-reuna);border-radius:var(--rp-r-sm);background:var(--rp-kentta);color:var(--rp-teksti);font:400 14px var(--rp-font);box-sizing:border-box}
.rp-app .ui-y textarea{min-height:90px}
.rp-app .ui-y input:focus,.rp-app .ui-y select:focus,.rp-app .ui-y textarea:focus{outline:none;border-color:var(--rp-vari-vahva);box-shadow:var(--ui-focus)}
.rp-app .ui-y input[type=checkbox],.rp-app .ui-y input[type=radio]{accent-color:var(--rp-vari)}

/* Taulukot kuten etusivun rp-table */
.rp-app .ui-y table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;background:var(--rp-pinta);border:1px solid var(--rp-reuna);border-radius:var(--rp-r);overflow:hidden;margin:0 0 12px}
.rp-app .ui-y th{text-align:left;color:var(--rp-himmea);font-weight:600;font-size:12px;padding:9px 10px;border-bottom:1px solid var(--rp-reuna);background:var(--rp-tausta)}
.rp-app .ui-y td{padding:9px 10px;border-bottom:1px solid var(--rp-reuna)}
.rp-app .ui-y tbody tr:last-child td{border-bottom:0}
.rp-app .ui-y tbody tr:hover td{background:var(--rp-n-100)}
.rp-app .ui-y tfoot th{background:var(--rp-pinta);color:var(--rp-teksti);border-top:1px solid var(--rp-reuna);border-bottom:0}
.rp-app .ui-y section table{box-shadow:none}

/* Listat ja tila-merkit */
.rp-app .ui-y .safety-list{display:grid;gap:8px}
.rp-app .ui-y .safety-row{background:var(--rp-pinta);border:1px solid var(--rp-reuna);border-radius:var(--rp-r);box-shadow:var(--rp-varjo);padding:12px 16px}
.rp-app .ui-y .safety-row:hover{border-color:var(--rp-vari-vahva)}
.rp-app .ui-y .safety-row h2{font-size:15px;margin:0}
.rp-app .ui-y .safety-row em,.rp-app .ui-tag{font-style:normal;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;background:var(--rp-onnistuminen-tausta);color:var(--rp-ok);white-space:nowrap}
.rp-app .ui-y .safety-row em:empty{display:none}
.rp-app .ui-y .hours-people li{padding:10px 0;border-bottom:1px solid var(--rp-reuna)}
.rp-app .ui-y .hours-people li:last-child{border-bottom:0}
.rp-app .ui-y .hours-api,.rp-app .ui-y .rp-note{color:var(--rp-himmea);font-size:13px}
.rp-app .ui-y .hours-now-site ul,.rp-app .ui-y .vt-open,.rp-app .ui-y .vt-past{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.rp-app .ui-y .hours-card,.rp-app .ui-y .hours-ind{font-weight:600}

/* Viikkotarkastus: valinnat etusivun väreillä */
.rp-app .ui-y .vt-choice span{border-radius:var(--rp-r-sm);border-color:var(--rp-reuna);background:var(--rp-kentta);font-weight:600}
.rp-app .ui-y .vt-choice.is-ok input:checked + span{background:var(--rp-ok);border-color:var(--rp-ok)}
.rp-app .ui-y .vt-choice.is-puute input:checked + span{background:var(--rp-vaara);border-color:var(--rp-vaara)}
.rp-app .ui-y .vt-tr{font-size:20px;letter-spacing:-.02em;color:var(--rp-vari-teksti)}
.rp-app .ui-y .vt-item{padding:12px 16px;margin:0}
.rp-app .ui-y .vt-list{gap:10px}

/* Puhelin */
@media (max-width:640px){
  .rp-app .ui-y > h1{font-size:22px}
  .rp-app .ui-y .module-tools{flex-direction:column;align-items:stretch}
  .rp-app .ui-y .module-tools .btn{width:100%}
  .rp-app .ui-kpis{grid-template-columns:repeat(2,1fr);gap:10px}
  .rp-app .ui-kpi b{font-size:21px}
  .rp-app .ui-y table{display:block;overflow-x:auto;white-space:nowrap}
  .rp-app .ui-y .ui-card,.rp-app .ui-y section,.rp-app .ui-y .vt-head{padding:14px}
}

/* Sisäkkäiset: työkalurivi kortin sisällä ilman omaa korttia; taulukon solut ilman vanhoja pystyviivoja */
.rp-app .ui-y section .module-tools,.rp-app .ui-y .ui-card .module-tools{background:transparent;border:0;box-shadow:none;padding:0;margin:8px 0}
.rp-app .ui-y table th,.rp-app .ui-y table td{border-left:0;border-right:0;border-top:0;vertical-align:middle}
.rp-app .ui-y table input:not([type=checkbox]),.rp-app .ui-y table select{min-height:34px;padding:5px 8px}

/* Aikataulu ja Resurssit (aikajana): työkalurivi korttina, rajaukset pillereinä, jana kortin sisällä */
.rp-app .ui-dock{max-width:none;background:var(--rp-pinta);border:1px solid var(--rp-reuna);border-radius:var(--rp-r-lg);box-shadow:var(--rp-varjo);padding:12px 16px;margin:12px 16px var(--ui-gap)}
.rp-app .ui-dock .toolbar,.rp-app .ui-dock .hintbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:transparent;border:0;box-shadow:none;padding:0;margin:0}
.rp-app .ui-dock .hintbar{border-top:1px solid var(--rp-reuna);padding-top:10px;margin-top:10px}
.rp-app .ui-dock .views{margin:0}
.rp-app .ui-dock .btn{background:var(--rp-pinta);color:var(--rp-vari-teksti);border-color:var(--rp-reuna)}
.rp-app .ui-dock .btn:hover{background:var(--rp-n-100);border-color:var(--rp-vari-vahva)}
.rp-app .ui-dock #btn-add{background:var(--rp-vari);color:var(--rp-paalle);border-color:var(--rp-vari)}
.rp-app .ui-dock .filters{display:inline-flex;gap:4px;padding:4px;background:var(--rp-n-100);border:1px solid var(--rp-reuna);border-radius:999px}
.rp-app .ui-dock .chip{border:0;background:transparent;border-radius:999px;padding:6px 14px;font:600 13px var(--rp-font);color:var(--rp-himmea)}
.rp-app .ui-dock .chip.is-on{background:var(--rp-vari);color:var(--rp-paalle)}
.rp-app .ui-dock .search{display:inline-flex;gap:6px;align-items:center;font-size:12px;font-weight:600;color:var(--rp-himmea)}
.rp-app .ui-dock .legend{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--rp-himmea);margin:0}
.rp-app .board,.rp-app .resourceview,.rp-app .dayview{background:var(--rp-pinta);border:1px solid var(--rp-reuna);border-radius:var(--rp-r-lg);box-shadow:var(--rp-varjo);margin:0 16px var(--ui-gap);overflow:auto}
@media (max-width:640px){
  .rp-app .ui-dock{margin:8px;padding:10px}
  .rp-app .ui-dock .filters{flex-wrap:wrap;border-radius:var(--rp-r)}
  .rp-app .board,.rp-app .resourceview,.rp-app .dayview{margin:0 8px var(--ui-gap)}
}

/* Omakotitalo-sivu: sama ilme, mutta ei sivupalkkia (yksi kohde) – logo ja kohteen nimi pysyvät yläpalkissa */
.rp-app.rp-okt{padding-left:0}
.rp-app.rp-okt .brand{display:flex;align-items:center;gap:10px}
.rp-app.rp-okt .brand strong,.rp-app.rp-okt .brand em{color:var(--rp-teksti)}
.rp-app.rp-okt .top-project{display:block}
.rp-app.rp-okt .top-info{flex:1 1 auto}
.rp-app.rp-okt .product-nav a[aria-current="page"]{color:var(--rp-paalle);background:var(--rp-vari)}

/* Kohde- ja osoitetiedot näkymien yläpuolella (#scope-bar, #summary, .role-banner) */
.rp-app .scope-bar{margin:12px 16px 0;padding:10px 14px;gap:8px 14px;background:var(--rp-pinta);border:1px solid var(--rp-reuna);border-radius:var(--rp-r-lg);box-shadow:var(--rp-varjo);font-family:var(--rp-font)}
.rp-app .scope-controls label{font-size:12px;font-weight:600;color:var(--rp-himmea)}
.rp-app .scope-controls select,.rp-app .scope-controls input{min-height:38px;padding:8px 10px;border:1px solid var(--rp-reuna);border-radius:var(--rp-r-sm);background:var(--rp-kentta);color:var(--rp-teksti);font:400 14px var(--rp-font);box-sizing:border-box}
.rp-app .scope-controls select:focus,.rp-app .scope-controls input:focus{outline:none;border-color:var(--rp-vari-vahva);box-shadow:var(--ui-focus)}
.rp-app .scope-catalog,.rp-app .scope-note{color:var(--rp-himmea);font-size:13px}
.rp-app .scope-bar .btn,.rp-app .summary .btn{min-height:36px;padding:7px 12px;border-radius:var(--rp-r-sm);border:1px solid var(--rp-reuna);background:var(--rp-pinta);color:var(--rp-vari-teksti);font:600 13px var(--rp-font);box-shadow:none}
.rp-app .scope-bar .btn:hover,.rp-app .summary .btn:hover{border-color:var(--rp-vari-vahva);background:var(--rp-n-100)}
.rp-app .summary{padding:12px 16px 0;gap:12px}
.rp-app .summary .card{background:var(--rp-pinta);border:1px solid var(--rp-reuna);border-radius:var(--rp-r-lg);box-shadow:var(--rp-varjo);padding:10px 14px;font-family:var(--rp-font);color:var(--rp-teksti)}
.rp-app .summary-meta,.rp-app .summary-hint{color:var(--rp-himmea)}
.rp-app .role-banner{margin:12px 16px 0;padding:10px 14px;border-radius:var(--rp-r-lg);border:1px solid var(--rp-reuna);background:var(--rp-vaara-tausta);color:var(--rp-vaara);font:500 14px var(--rp-font)}
@media (max-width:760px){.rp-app .scope-bar,.rp-app .role-banner{margin:8px 8px 0}.rp-app .summary{padding:8px 8px 0;grid-template-columns:1fr}.rp-app .scope-controls select{min-width:0;width:100%}}

/* Laskentasivun otsikko, vaiheet ja kohteen valinta (Perustan yläpuolella) */
.rp-app .ui-y .flow-steps{gap:8px;margin:8px 0 14px}
.rp-app .ui-y .flow-steps li+li::before{color:var(--rp-himmea);font-weight:500}
.rp-app .ui-y .flow-step{min-height:36px;padding:4px 14px 4px 4px;background:var(--rp-pinta);border:1px solid var(--rp-reuna);border-radius:999px;color:var(--rp-teksti);font:600 13px var(--rp-font);box-shadow:none}
.rp-app .ui-y .flow-step:hover{border-color:var(--rp-vari-vahva);background:var(--rp-n-100)}
.rp-app .ui-y .flow-step:focus-visible{outline:none;box-shadow:var(--ui-focus)}
.rp-app .ui-y .flow-num{width:26px;height:26px;background:var(--rp-n-100);color:var(--rp-himmea);font:600 12px var(--rp-font)}
.rp-app .ui-y .flow-steps li.is-done .flow-num{background:var(--rp-onnistuminen-tausta);color:var(--rp-ok)}
.rp-app .ui-y .flow-steps li.is-current .flow-step{background:var(--rp-vari);border-color:var(--rp-vari);color:var(--rp-paalle);box-shadow:none}
.rp-app .ui-y .flow-steps li.is-current .flow-num{background:var(--rp-paalle);color:var(--rp-vari)}
.rp-app .module-page-perusta.ui-y .module-tools{margin:0 0 var(--ui-gap)}
.rp-app .module-page-perusta.ui-y .perusta-col{max-width:none}

/* Pikakirjaus etusivulla: vain puhelimessa */
.rp-app .rp-pika{display:none}
@media (max-width:760px){
  .rp-app .rp-pika{display:grid;gap:10px}
  .rp-app .rp-pika h2{margin:0}
  .rp-app .rp-pika-now{margin:0;color:var(--rp-himmea);font-size:14px}
  .rp-app .rp-pika-now.is-in{color:var(--rp-ok);font-weight:600}
  .rp-app .rp-pika-task{display:grid;gap:4px;font-size:12px;font-weight:600;color:var(--rp-himmea)}
  .rp-app .rp-pika-task select,.rp-app .rp-pika-defect textarea{min-height:40px;padding:8px 10px;border:1px solid var(--rp-reuna);border-radius:var(--rp-r-sm);background:var(--rp-kentta);font:400 14px var(--rp-font);color:var(--rp-teksti)}
  .rp-app .rp-pika-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
  .rp-app .rp-pika-b{display:flex;align-items:center;justify-content:center;min-height:56px;padding:6px;border:1px solid var(--rp-reuna);border-radius:var(--rp-sade);background:var(--rp-pinta);color:var(--rp-teksti);font:600 14px var(--rp-font);cursor:pointer;text-align:center}
  .rp-app .rp-pika-b[data-pika-act="stamp"]{background:var(--rp-vari);border-color:var(--rp-vari);color:var(--rp-paalle)}
  .rp-app .rp-pika-b[data-pika-act="stamp"].is-in{background:var(--rp-vaara);border-color:var(--rp-vaara);color:var(--rp-paalle)}
  .rp-app .rp-pika-b:focus-visible{outline:none;box-shadow:var(--ui-focus)}
  .rp-app .rp-pika-defect{display:grid;gap:8px}
  .rp-app .rp-pika-defect[hidden]{display:none}
  .rp-app .rp-pika-defect label{display:grid;gap:4px;font-size:12px;font-weight:600;color:var(--rp-himmea)}
  .rp-app .rp-pika-msg{margin:0;font-size:13px;min-height:1em}
  .rp-app .rp-pika-msg.is-ok{color:var(--rp-ok)} .rp-app .rp-pika-msg.is-err{color:var(--rp-vaara)}
}

/* Tunnit: mestarin viikkonäkymä (henkilö × päivä) */
.rp-app .hours-wk-bar{align-items:flex-end}
.rp-app .hours-wk-sum{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}
.rp-app .hours-wk-tools{margin-top:0}
.rp-app .hours-wk-wrap{overflow-x:auto;background:var(--rp-pinta);border:1px solid var(--rp-reuna);border-radius:var(--rp-r-lg);box-shadow:var(--rp-varjo)}
.rp-app .hours-wk-table{width:100%;border-collapse:collapse;min-width:640px;margin:0}
.rp-app .hours-wk-table th,.rp-app .hours-wk-table td{padding:8px 10px;border-bottom:1px solid var(--rp-reuna);text-align:right;white-space:nowrap}
.rp-app .hours-wk-table th[scope=row],.rp-app .hours-wk-table thead th:first-child{text-align:left;font-weight:600}
.rp-app .hours-wk-table thead th{background:var(--rp-n-100);font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--rp-himmea)}
.rp-app .hours-wk-cell{position:relative}
.rp-app .hours-wk-cell input{margin:0 6px 0 0;vertical-align:middle;width:16px;height:16px;accent-color:var(--rp-vari)}
.rp-app .hours-wk-cell.is-odottaa{background:var(--rp-varoitus-tausta)}
.rp-app .hours-wk-cell.is-hyvaksytty{background:var(--rp-onnistuminen-tausta);color:var(--rp-ok)}
.rp-app .hours-wk-cell.is-hylatty{color:var(--rp-himmea);text-decoration:line-through}
.rp-app .hours-wk-cell.is-pitka{box-shadow:inset 0 0 0 2px var(--rp-varoitus);font-weight:700;color:var(--rp-varoitus)}
.rp-app .hours-wk-cell.is-puuttuu,.rp-app .hours-wk-cell.is-avoin{background:var(--rp-vaara-tausta);color:var(--rp-vaara)}
.rp-app .hours-wk-cell em{font-style:normal;font-size:12px;font-weight:600}
.rp-app .hours-wk-total{font-weight:700}
.rp-app .hours-wk-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.rp-app .hours-wk-key{display:inline-block;width:14px;height:14px;border-radius:4px;border:1px solid var(--rp-reuna)}
.rp-app .hours-wk-key.is-odottaa{background:var(--rp-varoitus-tausta)} .rp-app .hours-wk-key.is-hyvaksytty{background:var(--rp-onnistuminen-tausta)}
.rp-app .hours-wk-key.is-pitka{box-shadow:inset 0 0 0 2px var(--rp-varoitus)} .rp-app .hours-wk-key.is-puuttuu{background:var(--rp-vaara-tausta)}
.rp-app .ui-y .hours-wk-tools[hidden]{display:none}

/* Yläpalkin haku: tulosluettelo */
.rp-app .top-info{position:relative}
.rp-app .rp-search-results{position:absolute;z-index:60;top:calc(100% + 6px);left:0;right:0;max-width:640px;max-height:70vh;overflow-y:auto;padding:6px;background:var(--rp-pinta);border:1px solid var(--rp-reuna);border-radius:var(--rp-r-lg);box-shadow:0 12px 32px color-mix(in srgb,var(--rp-teksti) 18%,transparent);font-family:var(--rp-font)}
.rp-app .rp-search-results[hidden]{display:none}
.rp-app .rp-sr-item{display:grid;grid-template-columns:88px 1fr;column-gap:10px;align-items:baseline;width:100%;padding:8px 10px;border:0;border-radius:var(--rp-r-sm);background:transparent;color:var(--rp-teksti);text-align:left;cursor:pointer;font:400 14px var(--rp-font)}
.rp-app .rp-sr-item b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rp-app .rp-sr-item small{grid-column:2;color:var(--rp-himmea);font-size:12px}
.rp-app .rp-sr-item:hover,.rp-app .rp-sr-item.is-active{background:var(--rp-n-100)}
.rp-app .rp-sr-type{grid-row:span 2;font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--rp-himmea)}
.rp-app .rp-sr-type.is-puute{color:var(--rp-vaara)} .rp-app .rp-sr-type.is-lasku{color:var(--rp-gantt-suunnittelu)} .rp-app .rp-sr-type.is-henkilo{color:var(--rp-ok)}
.rp-app .rp-sr-empty,.rp-app .rp-sr-hint{margin:6px 10px;color:var(--rp-himmea);font-size:12px}
.rp-app .rp-sr-hint kbd,.rp-app .rp-keys kbd{display:inline-block;min-width:18px;padding:1px 5px;margin:0 2px;border:1px solid var(--rp-reuna);border-bottom-width:2px;border-radius:5px;background:var(--rp-kentta);font:600 11px var(--rp-font);text-align:center}
.rp-app .rp-keys dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:8px 0 14px}
.rp-app .rp-keys dd{margin:0}
.rp-app .rp-more-search{display:none}
@media (max-width:760px){
  .rp-app .rp-search-results{position:fixed;top:auto;left:8px;right:8px;bottom:72px;max-height:60vh}
  .rp-app .rp-sr-hint{display:none}
  .rp-app.rp-nav-open .module-nav .rp-more-search{display:flex;order:-1;align-items:center;justify-content:center;min-height:44px;margin-bottom:8px;border:1px solid var(--rp-reuna);border-radius:var(--rp-r-sm);background:var(--rp-pinta);color:var(--rp-vari-teksti);font:600 14px var(--rp-font)}
}

/* Etusivun pääpainike: + Lisää uusi kohde (työpöytä ja puhelin) */
.rp-app .rp-uusi-kohde-rivi{display:flex;justify-content:flex-end;margin:0 0 14px}
.rp-app .rp-uusi-kohde{background:var(--rp-vari);color:var(--rp-paalle);border:0;border-radius:var(--rp-r);padding:12px 20px;font:600 16px/1.2 var(--rp-font);min-height:48px;cursor:pointer;box-shadow:var(--rp-varjo)}
.rp-app .rp-uusi-kohde:hover{background:var(--rp-vari-vahva)}
.rp-app .rp-uusi-kohde:focus-visible{outline:3px solid var(--rp-gantt-rakentaminen);outline-offset:2px}
@media (max-width:700px){.rp-app .rp-uusi-kohde-rivi{justify-content:stretch}.rp-app .rp-uusi-kohde{width:100%}}
/* Luottamusosio (kirjautuminen, rekisteröityminen) */
.rp-trust{margin:18px 0 0;padding:14px 16px;border:1px solid var(--rp-reuna);border-radius:var(--rp-r,10px);background:var(--rp-paper,var(--rp-n-25));text-align:left}
.rp-trust h2{margin:0 0 10px;font:600 15px/1.3 var(--rp-font,inherit)}
.rp-trust ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.rp-trust li{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.4;color:var(--rp-ink-2,var(--rp-n-700))}
.rp-trust li b{display:block;color:var(--rp-teksti);font-weight:600}
.rp-trust-i{flex:0 0 auto;color:var(--rp-vari);margin-top:1px}
.rp-trust-link{margin:10px 0 0;font-size:13px}
@media (max-width:560px){.rp-trust ul{grid-template-columns:1fr}}
