/* ===========================================================================
 * Rewo Tarjoukset — HIILENHARMAA + VIHREÄ (logon värit), koko sivun levyinen
 * ========================================================================= */
.rewo-app{
  --charcoal:#2D3133; --charcoal-d:#1E2123; --charcoal-dd:#16191A; --grey:#54595B;
  --green:#78b834; --green-d:#5f9828; --green-l:#84C24A;
  --grad:linear-gradient(135deg,#6CC23A 0%,#54A924 50%,#3F8C1C 100%);
  --ink:#23282A; --muted:#6E7679; --panel:#F3F5F3; --line:#E3E6E3; --white:#fff;
  --pad:clamp(16px,4vw,40px);
  width:100%;max-width:none;margin:0;padding:0 var(--pad) 64px;
  font-family:'Inter',Helvetica,Arial,sans-serif;color:var(--ink);
}
.rewo-app *{box-sizing:border-box;}

/* Yläpalkki — koko leveys, hiilenharmaa, valkoinen logo */
.rewo-top{display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:0 calc(-1 * var(--pad)) 26px;padding:16px var(--pad);
  background:var(--charcoal);position:sticky;top:0;z-index:50;
  border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 10px 30px -22px rgba(0,0,0,.7);}
.rewo-top-brand img{height:40px;display:block;}
.rewo-top-right{display:flex;align-items:center;gap:14px;}
.rewo-top-user{color:#AEB4B4;font-size:14px;}
.rewo-top-logout{font-size:13px;font-weight:600;font-family:'Poppins',sans-serif;color:#E6E9E8;text-decoration:none;
  border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:7px 15px;}
.rewo-top-logout:hover{background:rgba(255,255,255,.1);color:#fff;}

.rewo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap;}
.rewo-head-l{order:0;flex:1 1 auto;min-width:0;}
.rewo-h1{font-family:'Poppins',sans-serif;font-size:28px;font-weight:800;margin:0;color:var(--charcoal-d);}
.rewo-h2{font-family:'Poppins',sans-serif;font-size:18px;margin:26px 0 10px;color:var(--charcoal-d);}

/* Napit */
.rewo-btn{display:inline-block;border:0;border-radius:999px;padding:9px 18px;font-size:14px;margin:2px;
  font-weight:600;font-family:'Poppins',sans-serif;cursor:pointer;text-decoration:none;line-height:1.2;
  transition:filter .12s ease,background .12s ease,transform .06s ease,box-shadow .12s ease,border-color .12s ease;}
.rewo-btn-primary{background:var(--grad);color:#fff;box-shadow:0 12px 24px -14px rgba(63,140,28,.8);}
.rewo-btn-primary:hover{filter:brightness(1.05);}
.rewo-btn-ghost{background:#fff;color:var(--charcoal-d);border:1px solid #C7D0C7;box-shadow:0 1px 2px rgba(0,0,0,.05);}
.rewo-btn-ghost:hover{background:var(--panel);border-color:#AEBAAE;}
.rewo-btn-danger{background:#fff;color:#9A2C2C;border:1px solid #E6CFCF;}
.rewo-btn-danger:hover{background:#FBEEEE;}
/* Yhtenaiset tilat kaikille napeille: painallus, nappaimistofokus, disabloitu */
.rewo-btn:active{transform:translateY(1px);}
.rewo-btn:focus-visible{outline:2px solid var(--green);outline-offset:2px;}
.rewo-btn[disabled],.rewo-btn:disabled,.rewo-btn.is-disabled{opacity:.55;cursor:not-allowed;filter:none;box-shadow:none;transform:none;}

.rewo-card{background:#fff;border:1px solid var(--line);border-radius:16px;
  box-shadow:0 12px 30px -26px rgba(0,0,0,.4);padding:18px;margin-bottom:16px;}

/* Tilastot */
.rewo-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;}
.rewo-stat{background:#fff;border:1px solid var(--line);border-left:4px solid var(--c,#54A924);
  border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:3px;min-width:0;}
.rewo-stat-val{display:block;font-family:'Poppins',sans-serif;font-size:22px;font-weight:800;color:var(--charcoal-d);line-height:1.15;word-break:break-word;}
.rewo-stat-label{display:block;font-size:13px;color:var(--muted);font-weight:600;order:-1;}

/* Välilehdet */
.rewo-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.rewo-tab{font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;
  background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px;}
.rewo-tab span{display:inline-block;margin-left:6px;background:var(--panel);color:var(--muted);
  border-radius:999px;padding:1px 8px;font-size:12px;}
.rewo-tab:hover{border-color:var(--green);}
.rewo-tab.is-active{background:var(--charcoal);color:#fff;border-color:var(--charcoal);}
.rewo-tab.is-active span{background:rgba(255,255,255,.18);color:#fff;}

/* Haku */
.rewo-search{display:flex;gap:8px;margin-bottom:16px;}
.rewo-search input[type=search]{flex:1;border:1px solid var(--line);border-radius:12px;padding:11px 14px;font-size:15px;}
.rewo-search input[type=search]:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 3px rgba(120,184,52,.15);}

/* Taulukko */
.rewo-tablewrap{padding:6px;}
.rewo-table{width:100%;border-collapse:collapse;font-size:15px;}
.rewo-table th{text-align:left;font-size:12px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--muted);font-weight:700;padding:10px 12px;border-bottom:2px solid var(--line);}
.rewo-table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle;}
.rewo-table tr:last-child td{border-bottom:0;}
.rewo-table .ta-r{text-align:right;}
.rewo-link{color:var(--green-d);font-weight:700;text-decoration:none;}
button.rewo-link{background:none;border:0;padding:0;cursor:pointer;font:inherit;line-height:inherit;}
.rewo-link:hover{text-decoration:underline;}
.rewo-norows{text-align:center;color:var(--muted);padding:26px 12px;}
.rewo-iconbtn{display:inline-block;width:32px;height:32px;line-height:30px;text-align:center;
  border:1px solid var(--line);border-radius:9px;text-decoration:none;color:var(--green-d);}
.rewo-iconbtn:hover{background:var(--panel);}

.rewo-badge{display:inline-block;border-radius:999px;padding:3px 11px;font-size:13px;font-weight:700;}

.rewo-statusform{margin:0;}
.rewo-statusselect{border:0;border-radius:999px;padding:4px 26px 4px 11px;font-size:13px;font-weight:700;
  cursor:pointer;-webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0l5 6 5-6z' fill='%23333'/></svg>");
  background-repeat:no-repeat;background-position:right 9px center;}

/* Lomake */
.rewo-form{padding:22px;}
.rewo-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.rewo-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.rewo-f{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:4px;}
.rewo-f span{color:var(--muted);font-weight:600;}
.rewo-f input,.rewo-f select,.rewo-f textarea{border:1px solid var(--line);border-radius:11px;
  padding:10px 12px;font-size:15px;font-family:inherit;background:#fff;color:var(--ink);}
.rewo-f input:focus,.rewo-f select:focus,.rewo-f textarea:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 3px rgba(120,184,52,.15);}
.rewo-f input,.rewo-f select,.rewo-f textarea{transition:border-color .15s,box-shadow .15s;}
.rewo-f input:hover,.rewo-f select:hover,.rewo-f textarea:hover{border-color:#b8c2bb;}
.rewo-f select:not([multiple]){appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;padding-right:36px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%232C5F2D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;}
.rewo-search-in{width:100%;box-sizing:border-box;border:1px solid var(--line);border-bottom:0;border-radius:11px 11px 0 0;
  padding:9px 12px 9px 32px;font-size:14px;font-family:inherit;color:var(--ink);
  background:#f7faf6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237a8a7e' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E") no-repeat 11px center;}
.rewo-search-in:focus{outline:0;border-color:var(--green);background-color:#fff;}
.rewo-searchable[data-rewo-search]{border-top-left-radius:0;border-top-right-radius:0;}

.rewo-vat{display:grid;grid-template-columns:1.4fr 1.2fr .8fr;gap:16px;margin-top:6px;}
.rewo-f-narrow{max-width:140px;}

.rewo-calc{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0 6px;
  background:var(--panel);border-radius:12px;padding:14px 16px;}
.rewo-calc span{display:block;font-size:12px;color:var(--muted);}
.rewo-calc strong{font-family:'Poppins',sans-serif;font-size:19px;color:var(--charcoal-d);}
.rewo-calc>div:last-child strong{color:var(--green-d);}

/* Liitteet */
.rewo-upload{border:1px dashed var(--line);border-radius:12px;padding:14px;margin-bottom:12px;background:#FBFCFB;}
.rewo-upload-label{font-weight:700;color:var(--ink);margin-bottom:8px;}
.rewo-upload input[type=file]{font-size:14px;}
.rewo-atts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px;}
.rewo-atts.is-images .rewo-att-img img{width:96px;height:96px;object-fit:cover;border-radius:10px;display:block;}
.rewo-att{position:relative;}
.rewo-att-file a{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:9px;
  padding:8px 12px;font-size:14px;color:var(--green-d);text-decoration:none;}
.rewo-att-del{position:absolute;top:-8px;right:-8px;width:22px;height:22px;line-height:20px;text-align:center;
  background:#9A2C2C;color:#fff;border-radius:50%;font-size:15px;text-decoration:none;font-weight:700;}
.rewo-att-file .rewo-att-del{top:-9px;right:-9px;}

.rewo-formfoot{display:flex;gap:12px;margin-top:22px;align-items:center;}

/* Ilmoitukset */
.rewo-notice{border-radius:11px;padding:12px 16px;margin-bottom:16px;font-weight:600;}
.rewo-notice-ok{background:#DDEFCB;color:#356016;}
.rewo-notice-err{background:#F6E2E2;color:#8E3A3A;}

.rewo-empty{text-align:center;padding:40px 20px;max-width:420px;margin:40px auto;}

/* =========================================================================
 * KIRJAUTUMISIKKUNA — tumma kortti, vihreä liukuväripalkki (HEHKU-tyyli)
 * ========================================================================= */
.rewo-loginscreen{
  width:100vw;margin-left:calc(50% - 50vw);min-height:100vh;
  display:flex;align-items:flex-start;justify-content:center;
  padding:calc(env(safe-area-inset-top,0px) + 22px) 16px 48px;
  background:var(--panel);
}
.rewo-logincard{
  position:relative;width:100%;max-width:460px;margin-top:6px;
  background:linear-gradient(180deg,#23282A 0%,#16191A 100%);
  border-radius:24px;padding:48px 34px 40px;text-align:center;overflow:hidden;
  box-shadow:0 44px 100px -44px rgba(0,0,0,.6);
}
.rewo-logincard::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--grad);}
.rewo-logincard-logo{height:62px;margin:6px auto 16px;display:block;
  filter:drop-shadow(0 8px 22px rgba(120,184,52,.35));}
.rewo-logincard-tagline{color:rgba(255,255,255,.6);font-style:italic;font-size:15px;margin:0 0 24px;}
.rewo-logincard-h{font-family:'Poppins',sans-serif;color:#fff;font-size:23px;font-weight:700;margin:0 0 24px;}

.rewo-logincard form{text-align:left;}
.rewo-logincard label{display:block;color:rgba(255,255,255,.82);font-size:14px;font-weight:600;margin-bottom:8px;}
.rewo-logincard .login-username,.rewo-logincard .login-password{margin-bottom:18px;}
.rewo-logincard input[type=text],.rewo-logincard input[type=password]{
  width:100%;border:0;border-radius:12px;padding:15px 16px;font-size:16px;
  background:#fff;color:#16191A;box-sizing:border-box;}
.rewo-logincard input:focus{outline:0;box-shadow:0 0 0 3px rgba(120,184,52,.45);}
.rewo-logincard .login-remember{margin:2px 0 20px;}
.rewo-logincard .login-remember label{display:flex;align-items:center;gap:9px;margin:0;
  color:rgba(255,255,255,.82);font-weight:500;font-size:14.5px;}
.rewo-logincard .login-remember input{width:auto;margin:0;}
.rewo-logincard .button-primary,.rewo-logincard #wp-submit{
  width:100%;background:var(--grad);color:#fff;border:0;border-radius:999px;padding:15px;
  font-size:17px;font-weight:700;font-family:'Poppins',sans-serif;cursor:pointer;
  box-shadow:0 16px 34px -16px rgba(63,140,28,.9);}
.rewo-logincard .button-primary:hover,.rewo-logincard #wp-submit:hover{filter:brightness(1.06);}
.rewo-logincard .login-submit{margin-top:4px;}
.rewo-logincard-lost{margin-top:20px;text-align:center;font-size:14.5px;}
.rewo-logincard-lost a{color:var(--green-l);text-decoration:none;font-weight:600;}
.rewo-logincard-lost a:hover{text-decoration:underline;}
.rewo-logincard .rewo-notice{margin-bottom:18px;}
.rewo-login-go{display:inline-block;margin:6px auto 0;}
.rewo-login-wrap{display:block;}

/* Mobiili */
@media(max-width:760px){
  .rewo-stats{grid-template-columns:1fr 1fr;}
  .rewo-grid2{grid-template-columns:1fr;}
  .rewo-grid3{grid-template-columns:1fr;}
  .rewo-vat{grid-template-columns:1fr;}
  .rewo-calc{grid-template-columns:1fr;}
  .rewo-table thead{display:none;}
  .rewo-table,.rewo-table tbody,.rewo-table tr,.rewo-table td{display:block;width:100%;}
  .rewo-card.rewo-tablewrap{padding:0;background:transparent;border:0;box-shadow:none;}
  .rewo-table tr{position:relative;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:14px 14px 8px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.05);}
  .rewo-table td{border:0;padding:6px 0;display:flex;justify-content:space-between;align-items:center;gap:14px;}
  .rewo-table td::before{content:attr(data-l);color:var(--muted);font-size:12.5px;font-weight:600;text-transform:none;flex:0 0 auto;}
  .rewo-table td.ta-r{text-align:right;justify-content:space-between;font-weight:700;}
  /* Otsikko (1. solu) isoksi kortin yläosaan, ei labelia, oma rivi */
  .rewo-table td:first-child{display:block;padding:0 44px 10px 0;margin-bottom:6px;border-bottom:1px solid var(--line);}
  .rewo-table td:first-child::before{display:none;}
  .rewo-table td:first-child .rewo-link{font-size:17px;font-weight:800;line-height:1.3;}
  /* Muokkauskynä kortin oikeaan yläkulmaan */
  .rewo-table td:last-child{position:absolute;top:12px;right:12px;width:auto;padding:0;}
  .rewo-table td:last-child::before{content:none;}
  .rewo-table td:empty{display:none;}
}

/* =========================================================================
 * ERP-KUORI (HEHKU-tyylinen yläkortti + moduulivälilehdet + yhteenveto)
 * ========================================================================= */
.rewo-erp .rewo-topcard{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  background:linear-gradient(180deg,var(--charcoal),#262A2C);color:#fff;border-radius:20px;
  padding:18px 22px;margin:0 0 20px;box-shadow:0 20px 50px -30px rgba(0,0,0,.7);}
.rewo-topcard-l{display:flex;align-items:center;gap:12px;}
.rewo-topcard-logo{height:34px;display:block;}
.rewo-topcard-app{font-family:'Poppins',sans-serif;font-weight:600;color:var(--green-l);
  border:1px solid rgba(108,194,58,.5);border-radius:999px;padding:3px 12px;font-size:13px;letter-spacing:.05em;}
.rewo-topcard-r{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.rewo-topcard-user{color:rgba(255,255,255,.75);font-size:14px;font-family:'Poppins',sans-serif;}
.rewo-topcard-logout{font-family:'Poppins',sans-serif;font-weight:600;font-size:13px;color:#fff;text-decoration:none;
  border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:8px 16px;}
.rewo-topcard-logout:hover{background:rgba(255,255,255,.1);}
.rewo-topcard-settings{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;
  border:1px solid rgba(255,255,255,.3);color:#fff;text-decoration:none;font-size:17px;line-height:1;transition:background .15s;}
.rewo-topcard-settings:hover{background:rgba(255,255,255,.1);}

.rewo-modtabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
.rewo-modtab{font-family:'Poppins',sans-serif;font-weight:500;font-size:14px;text-decoration:none;color:var(--ink);
  background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 17px;transition:.15s;}
.rewo-modtab:hover{border-color:var(--green);}
.rewo-modtab.is-active{background:var(--charcoal);color:#fff;border-color:var(--charcoal);}

.rewo-stats-3{grid-template-columns:repeat(3,1fr);}

.rewo-progress-card{margin-bottom:20px;}
.rewo-prow{display:flex;align-items:center;gap:14px;margin:10px 0;}
.rewo-prow span{width:90px;color:var(--muted);font-size:14px;}
.rewo-prow b{width:120px;text-align:right;font-family:'Poppins',sans-serif;color:var(--charcoal-d);}
.rewo-bar{flex:1;height:12px;border-radius:999px;background:var(--panel);overflow:hidden;}
.rewo-bar i{display:block;height:100%;border-radius:999px;background:var(--grad);}
.rewo-bar-muted i{background:#C7CCC7;}

.rewo-quick{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;}

.rewo-help{color:var(--muted);font-size:14px;margin:0 0 12px;}
.rewo-note-sm{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:#5e6a63;margin:0 0 12px;background:#f6f8f5;border-left:3px solid #cfe0c2;border-radius:8px;padding:8px 10px;}
.rewo-note-sm .rewo-help-i{flex:0 0 auto;margin-left:0;background:#54A924;color:#fff;cursor:default;}
.rewo-note-sm-t{line-height:1.45;}.rewo-note-sm-t code{background:#fff;border-radius:5px;padding:1px 6px;font-size:12px;}
.rewo-help-i{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:6px;border-radius:999px;
  background:#54A924;color:#fff;font-size:11px;font-weight:700;line-height:1;cursor:help;vertical-align:middle;}
.rewo-help-i:hover,.rewo-help-i:focus{background:#5f9828;outline:none;}
.rewo-help code{background:var(--panel);border-radius:5px;padding:1px 6px;font-size:13px;}
.rewo-pre{background:var(--charcoal-d);color:#E6E9E8;border-radius:12px;padding:16px;overflow:auto;
  font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;line-height:1.5;}

@media(max-width:760px){
  .rewo-stats-3{grid-template-columns:1fr 1fr;}
  .rewo-prow b{width:96px;}
}

/* Koko ruudun tyhjä pohja – ERP keskitettynä, ei teeman kromia */
body.rewo-fullscreen{margin:0;background:var(--paper,#F6F8F5);min-height:100vh;}
body.rewo-fullscreen .rewo-app{max-width:none;margin:0;min-height:100vh;
  /* padding-top asetetaan ui-v2:ssa (headerin korkeus + safe-area) */
  padding-top:0;padding-bottom:80px;
  padding-left:max(var(--pad),env(safe-area-inset-left));
  padding-right:max(var(--pad),env(safe-area-inset-right));}
body.rewo-fullscreen .rewo-app.ui-v2{
  padding-top:calc(var(--rewo-hh,52px) + env(safe-area-inset-top,0px))!important;}
/* iPhone: työnnä yläkortti turvallisen alueen alle (ei kellon alle) */
.rewo-erp .rewo-topcard{margin-top:calc(env(safe-area-inset-top,0px) + clamp(14px,3.5vw,30px));}
/* Kehitystila: selkeä värimerkki, ettei sitä unohda päälle */
.rewo-main.rewo-devmode::before{content:"🛠 KEHITYSTILA PÄÄLLÄ — viittauskoodit näkyvissä";display:block;background:linear-gradient(90deg,#E08A00,#C76E00);color:#fff;font-weight:800;font-size:12px;letter-spacing:.03em;text-align:center;padding:6px 12px;border-radius:10px;margin:0 0 12px;box-shadow:0 2px 8px rgba(199,110,0,.25);}
.rewo-main.rewo-devmode .rewo-topcard{border-top:3px solid #E08A00;}
.rewo-main.rewo-devmode .rewo-tp-top h1,.rewo-main.rewo-devmode .rewo-h1{color:#9A5A00;}

/* Alivälilehdet (Laskutus / Palaverit) */
.rewo-subtabs{display:flex;gap:8px;flex-wrap:wrap;margin:-6px 0 18px;}
.rewo-subtab{font-family:'Inter',sans-serif;font-weight:600;font-size:13.5px;text-decoration:none;color:var(--muted);
  background:transparent;border:1px solid var(--line);border-radius:999px;padding:7px 15px;}
.rewo-subtab:hover{color:var(--green-d);border-color:var(--green);}
.rewo-subtab.is-active{background:var(--green);color:#fff;border-color:var(--green);}

/* Tarjousgraafi (etusivu) */
.rewo-chart{margin:0 0 8px;}
.rewo-chart-row{display:flex;align-items:center;gap:12px;margin:9px 0;}
.rewo-chart-row .lbl{width:140px;font-size:13.5px;color:var(--ink);}
.rewo-chart-row .track{flex:1;height:26px;background:var(--panel);border-radius:8px;overflow:hidden;}
.rewo-chart-row .fill{height:100%;border-radius:8px;display:flex;align-items:center;justify-content:flex-end;
  padding-right:8px;color:#fff;font-size:12px;font-weight:700;min-width:2px;}
.rewo-chart-row .amt{width:110px;text-align:right;font-weight:700;color:var(--ink);font-size:13.5px;font-variant-numeric:tabular-nums;}
.rewo-chart-row .cnt{width:54px;text-align:right;font-weight:600;color:var(--muted);font-size:12.5px;}
.rewo-chart-total{border-top:2px solid var(--line);margin-top:6px;padding-top:8px;}
.rewo-chart-total .lbl{font-weight:700;color:var(--charcoal);}
.rewo-chart-total .amt{color:var(--green-d);}
@media(max-width:560px){.rewo-chart-row .lbl{width:96px;font-size:12.5px;}.rewo-chart-row .amt{width:88px;}}

/* Käsittelyssäni + viestit */
.rewo-mygrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:4px;}
@media(max-width:820px){.rewo-mygrid{grid-template-columns:1fr;}}
.rewo-mylist{list-style:none;margin:0;padding:0;}
.rewo-mylist li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);}
.rewo-mylist li:last-child{border-bottom:0;}
.rewo-mylist a{color:var(--ink);text-decoration:none;font-weight:600;flex:1;}
.rewo-mylist a:hover{color:var(--green-d);}
.rewo-mylist .sum{color:var(--muted);font-size:13px;white-space:nowrap;}
.rewo-empty-row{color:var(--muted);font-size:14px;padding:8px 0;}

.rewo-msg{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line);}
.rewo-msg:last-child{border-bottom:0;}
.rewo-msg .dot{width:9px;height:9px;border-radius:50%;background:var(--green);margin-top:6px;flex:none;}
.rewo-msg .body{flex:1;}
.rewo-msg .who{font-weight:700;font-size:13.5px;color:var(--charcoal);}
.rewo-msg .txt{font-size:14px;color:var(--ink);margin:2px 0;}
.rewo-msg .meta2{font-size:12px;color:var(--muted);}
.rewo-msg .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;}
.rewo-msg .acts a,.rewo-msg .acts button{font-size:12.5px;font-weight:600;border-radius:999px;padding:5px 12px;
  border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;cursor:pointer;}
.rewo-msg .acts a:hover{border-color:var(--green);color:var(--green-d);}

/* Tarjouksen keskustelu */
.rewo-thread{margin-top:8px;}
.rewo-thread .item{padding:10px 12px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;background:#fff;}
.rewo-thread .item.me{background:#F1F7EB;border-color:#D9E8CB;}
.rewo-thread .item .h{font-size:12.5px;color:var(--muted);margin-bottom:3px;}
.rewo-thread .item .h b{color:var(--charcoal);}
.rewo-thread .reply{display:flex;gap:8px;margin-top:8px;}
.rewo-thread .reply textarea{flex:1;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:14px;min-height:46px;}

/* Myyntiputki (pipeline) */
.rewo-pipeline{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:start;}
@media(max-width:980px){.rewo-pipeline{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.rewo-pipeline{grid-template-columns:1fr;}}
.rewo-pcol{background:var(--panel);border-radius:14px;padding:10px;}
.rewo-pcol-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 10px;
  border-bottom:2px solid var(--green);margin-bottom:10px;font-family:'Poppins',sans-serif;font-weight:600;color:var(--charcoal);}
.rewo-pcol-head b{background:#fff;border-radius:999px;padding:1px 9px;font-size:12px;color:var(--ink);}
.rewo-pcol-empty{color:var(--muted);text-align:center;font-size:13px;margin:6px 0;}
.rewo-pcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 12px;margin-bottom:10px;
  box-shadow:0 8px 20px -18px rgba(0,0,0,.5);}
.rewo-pcard-title{display:block;font-weight:700;color:var(--ink);text-decoration:none;font-size:14.5px;}
.rewo-pcard-title:hover{color:var(--green-d);}
.rewo-pcard-sub{font-size:13px;color:var(--muted);margin-top:1px;}
.rewo-pcard-meta{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 4px;}
.rewo-pcard-vastuu{font-size:12px;color:var(--charcoal);background:var(--panel);border-radius:999px;padding:2px 9px;}
.rewo-pcard-date{font-size:12px;color:var(--muted);margin-bottom:6px;}
.rewo-areatag{font-size:11.5px;font-weight:700;color:#356016;background:#DDEFCB;border-radius:999px;padding:2px 9px;}
.rewo-stageform select{width:100%;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:12.5px;
  background:#fff;color:var(--ink);}

/* Asetukset: kopioi-kuittaus + roolimatriisi */
.rewo-copyok{color:var(--green-d);font-weight:700;font-size:14px;display:inline-flex;align-items:center;}
.ta-c{text-align:center;}
.rewo-rolematrix th.ta-c{font-size:11px;}
.rewo-rolematrix td.ta-c input{width:20px;height:20px;accent-color:var(--green);cursor:pointer;}
.rewo-rolematrix td:first-child{white-space:nowrap;}

/* Klikattavat linkit */
.rewo-tel,.rewo-mailto{color:var(--green-d);text-decoration:none;font-weight:600;}
.rewo-tel:hover,.rewo-mailto:hover{text-decoration:underline;}
.rewo-pcard-tel{margin-top:2px;font-size:13px;}

/* Yhteyshenkilöt-toistin */
.rewo-f-wide{display:block;margin-top:6px;}
.rewo-f-label{display:block;font-size:13px;font-weight:600;color:var(--charcoal);margin-bottom:6px;}
.rewo-contacts-rows{display:flex;flex-direction:column;gap:8px;}
.rewo-contact-row{display:grid;grid-template-columns:1.2fr 1fr 1.4fr auto;gap:8px;align-items:center;}
.rewo-contact-row input{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:14px;background:#fff;}
.rewo-contacts-del{border:1px solid var(--line);background:#fff;color:#8E3A3A;border-radius:8px;width:34px;height:34px;cursor:pointer;font-size:16px;line-height:1;}
.rewo-contacts-del:hover{background:#EFE0E0;}
.rewo-contact-links{grid-column:1/-1;font-size:12.5px;display:flex;gap:14px;margin:-2px 0 2px;}
.rewo-contacts-add{margin-top:10px;}
@media(max-width:620px){.rewo-contact-row{grid-template-columns:1fr 1fr;}.rewo-contact-row .rewo-contacts-del{grid-column:2;justify-self:end;}}

/* Sähköpostipohjat + valinta */
.rewo-mailtpl{border-top:1px solid var(--line);padding-top:12px;margin-top:14px;}
.rewo-h3{font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;color:var(--charcoal);margin:0 0 8px;}
.rewo-check{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--ink);margin-bottom:10px;cursor:pointer;}
.rewo-check input{width:18px;height:18px;accent-color:var(--green);}

/* Yhteenveto / lukunäkymä */
.rewo-headbtns{display:flex;gap:8px;}
.rewo-view{display:grid;grid-template-columns:1fr 1fr;gap:2px 24px;margin-bottom:6px;}
@media(max-width:620px){.rewo-view{grid-template-columns:1fr;}}
.rewo-view-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line);min-width:0;}
.rewo-view-l{color:var(--muted);font-size:13px;}
.rewo-view-v{color:var(--ink);font-size:14px;font-weight:600;text-align:right;min-width:0;overflow:hidden;}
.rewo-viewtext{color:var(--ink);font-size:14px;line-height:1.55;margin:4px 0 8px;}
.rewo-muted{color:var(--muted);font-size:13px;}
.rewo-viewcontacts{display:flex;flex-direction:column;gap:8px;margin:4px 0 10px;}
.rewo-vcontact{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 12px;background:var(--panel);border-radius:10px;}
.rewo-vc-name{font-weight:700;color:var(--ink);}
.rewo-vc-item{font-size:13.5px;}
/* Liitteet lukunäkymässä */
.rewo-viewatts{margin:6px 0 10px;}
.rewo-atts.is-view{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;}
.rewo-atts.is-view .rewo-att-img img{width:84px;height:84px;object-fit:cover;border-radius:10px;border:1px solid var(--line);}
.rewo-att-file{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border:1px solid var(--line);
  border-radius:10px;text-decoration:none;color:var(--ink);font-size:13.5px;font-weight:600;}
.rewo-att-file:hover{border-color:var(--green);background:var(--panel);}
.rewo-filechip{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:30px;padding:0 8px;
  background:var(--grad);color:#fff;border-radius:7px;font-size:11px;font-weight:800;letter-spacing:.5px;}
.rewo-filename{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* Yrityshaku (PRH) */
.rewo-lookup{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:16px;}
.rewo-lookup-label{font-size:13px;font-weight:700;color:var(--charcoal);margin-bottom:8px;}
.rewo-lookup-bar{display:flex;gap:8px;}
.rewo-lookup-q{flex:1;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:14px;background:#fff;}
.rewo-lookup-status{font-size:13px;color:var(--muted);margin-top:8px;min-height:0;}
.rewo-lookup-results{display:flex;flex-direction:column;gap:6px;margin-top:8px;}
.rewo-lookup-item{display:flex;flex-direction:column;text-align:left;background:#fff;border:1px solid var(--line);
  border-radius:10px;padding:10px 12px;cursor:pointer;}
.rewo-lookup-item:hover{border-color:var(--green);background:#fff;}
.rewo-lookup-item .li-name{font-weight:700;color:var(--ink);}
.rewo-lookup-item .li-meta{font-size:12.5px;color:var(--muted);margin-top:2px;}
.rewo-lookup-empty{font-size:13px;color:var(--muted);}

/* Yhteyshenkilö: kuva + titteli */
.rewo-contact-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;}
.rewo-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.rewo-contact-photo{display:flex;flex-direction:column;align-items:center;gap:4px;width:64px;}
.rewo-contact-photo img{width:56px;height:56px;object-fit:cover;border-radius:50%;border:2px solid var(--green-l);}
.rewo-photo-ph{width:56px;height:56px;border-radius:50%;background:var(--panel);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--muted);}
.rewo-photo-btn{font-size:11px;color:var(--green-d);font-weight:700;cursor:pointer;}
.rewo-photo-btn input{display:none;}
@media(max-width:620px){.rewo-contact-fields{grid-template-columns:1fr;}}

/* Yhteyshenkilö lukunäkymässä: kuva + titteli */
.rewo-vcontact{align-items:center;}
.rewo-vc-photo img{width:46px;height:46px;object-fit:cover;border-radius:50%;border:2px solid var(--green-l);}
.rewo-vc-photo .rewo-photo-ph{width:46px;height:46px;font-size:20px;}
.rewo-vc-main{display:flex;flex-direction:column;}
.rewo-vc-title{font-size:12.5px;color:var(--muted);}

/* Tarjouslaskenta (AI) */
.rewo-aitext{font-size:14px;line-height:1.6;color:var(--ink);}
.rewo-aitext p{margin:0 0 10px;}
.rewo-aisis{border:1px solid #E7D9B0;background:#FBF7EC;}
.rewo-aisis .rewo-h2{color:#7A5C12;}
.rewo-vbadge{display:inline-block;font-size:13px;font-weight:800;color:#fff;background:var(--grad);
  border-radius:999px;padding:2px 12px;vertical-align:middle;margin-left:6px;}

/* ALV-merkintä + huomiot */
.rewo-alvnote{font-size:13px;border-radius:9px;padding:9px 13px;background:var(--panel);border:1px solid var(--line);color:var(--muted);}
.rewo-alvnote-rev{background:#EEF7E6;border-color:#BFE3A6;color:#2f6312;font-weight:600;}
.rewo-checkfield{flex-direction:row;align-items:center;gap:9px;}
.rewo-checkfield input{width:18px;height:18px;accent-color:var(--green);}
.rewo-checkfield span{font-weight:600;color:var(--charcoal);}
.rewo-aihuom{border:1px solid #E7D9B0;background:#FBF7EC;}
.rewo-aihuom .rewo-h2{color:#7A5C12;}

/* Tarjouspaketti + rekisteri */
.rewo-docgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;}
.rewo-doc{display:flex;flex-direction:column;gap:3px;background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:14px;text-decoration:none;transition:border-color .15s;}
.rewo-doc:hover{border-color:var(--green);}
.rewo-doc-ic{font-size:22px;}
.rewo-doc-t{font-weight:700;color:var(--ink);font-size:13.5px;}
.rewo-doc-pdf{font-size:11.5px;color:var(--green-d);font-weight:600;}
.rewo-revise{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.rewo-revise-l{font-weight:600;color:var(--charcoal);font-size:13.5px;}
.rewo-revise select{flex:1;min-width:220px;border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:#fff;font-size:13.5px;}

/* Hankinnat */
.rewo-hankadd{display:flex;gap:8px;flex-wrap:wrap;}
.rewo-hankadd input,.rewo-hankadd select{border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:14px;background:#fff;}
.rewo-hankadd input[name=nimike]{flex:1;min-width:200px;}
.rewo-hank-maara{width:90px;} .rewo-hank-yks{width:70px;}
.rewo-hanklist{padding:0;overflow:hidden;}
.rewo-hankrow{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);}
.rewo-hankrow:last-child{border-bottom:none;}
.rewo-hankrow.is-done .rewo-hank-nimi{text-decoration:line-through;color:var(--muted);}
.rewo-hank-check input{width:18px;height:18px;accent-color:var(--green);}
.rewo-hank-main{flex:1;display:flex;flex-direction:column;}
.rewo-hank-nimi{font-weight:600;color:var(--ink);}
.rewo-hank-sub{font-size:12.5px;color:var(--muted);}
.rewo-hank-actions{display:flex;gap:6px;}
.rewo-hank-actions form{margin:0;}
.rewo-btn-mini{padding:6px 12px;font-size:12.5px;}
.rewo-delegate{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.rewo-delegate-l{font-weight:600;color:var(--charcoal);}
.rewo-delegate select{border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:#fff;font-size:14px;}

/* Hankinta tietosivu */
.rewo-hank-nimi{text-decoration:none;}
a.rewo-hank-nimi:hover{color:var(--green-d);}
.rewo-thumbs{display:flex;gap:10px;flex-wrap:wrap;}
.rewo-thumbs img{width:120px;height:120px;object-fit:cover;border-radius:10px;border:1px solid var(--line);}

/* Kassavirta */
.rewo-stat-sub{display:block;font-size:11.5px;color:var(--muted);margin-top:2px;}

/* ===== Ryhmitelty navigaatio ===== */
.rewo-shell{display:block;}
.rewo-side{display:none;}
.rewo-main{min-width:0;}

/* Mobiilin alapalkki */
.rewo-bottomnav{position:fixed;left:0;right:0;bottom:0;z-index:900;display:flex;
  background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px -12px rgba(0,0,0,.25);
  padding:6px 4px;padding-bottom:calc(6px + env(safe-area-inset-bottom));}
.rewo-bn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;
  text-decoration:none;color:var(--muted);font-size:11px;border-radius:12px;cursor:pointer;}
.rewo-bn-ic{font-size:20px;line-height:1;}
.rewo-bn-camgap{flex:0 0 78px;min-width:78px;align-self:stretch;pointer-events:none;}
.rewo-bn-l{font-size:11px;}
.rewo-bn.is-active{color:var(--green-d);font-weight:700;}
.rewo-bn-extra{display:none;} /* mobiilissa piilossa: näytetään vain isolla näytöllä */
.rewo-app{padding-bottom:78px;}

/* Chrome-tyyliset välilehdet */
.rewo-tabbar{display:flex;align-items:flex-end;gap:4px;margin:0 0 14px;border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:50;background:#fff;padding-top:6px;}
.rewo-tab.is-pinned .rewo-tab-l{max-width:96px;}
.rewo-tab.is-pinned::before{content:"\1F4CC";font-size:11px;margin-right:-2px;}
.rewo-tab.is-home{background:#eef6e6;}
.rewo-tab.is-home.is-active{background:#fff;}
.rewo-tab.is-home::before{content:none;}
.rewo-tab-ctx{position:fixed;z-index:3000;background:#fff;border:1px solid var(--line);border-radius:10px;
  box-shadow:0 14px 36px -12px rgba(0,0,0,.4);padding:6px;min-width:180px;display:flex;flex-direction:column;gap:2px;}
.rewo-tab-ctx-i{display:block;width:100%;text-align:left;padding:8px 10px;border:0;background:none;border-radius:7px;
  font-family:inherit;font-size:13.5px;color:var(--ink);cursor:pointer;}
.rewo-tab-ctx-i:hover{background:#F1F8EA;color:var(--green-d);}
.rewo-tabbar-strip{display:flex;align-items:flex-end;gap:4px;overflow-x:auto;flex:1;scrollbar-width:thin;-webkit-overflow-scrolling:touch;}
.rewo-tabbar-strip::-webkit-scrollbar{height:6px;}
.rewo-tab{display:inline-flex;align-items:center;gap:7px;max-width:220px;padding:8px 10px 8px 12px;
  border:1px solid var(--line);border-bottom:none;border-radius:12px 12px 0 0;background:#f3f5f1;color:var(--muted);
  text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap;flex:0 0 auto;position:relative;top:1px;cursor:pointer;}
.rewo-tab:hover{background:#eef2ea;color:var(--ink);}
.rewo-tab.is-active{background:#fff;color:var(--ink);border-color:var(--line);border-bottom:1px solid #fff;font-weight:700;}
.rewo-tab-ic{font-size:15px;line-height:1;}
.rewo-tab-l{overflow:hidden;text-overflow:ellipsis;max-width:150px;}
.rewo-tab-x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;
  font-size:14px;line-height:1;color:var(--muted);}
.rewo-tab-x:hover{background:rgba(0,0,0,.12);color:#b9342b;}
.rewo-tabbar-add{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 auto;
  border-radius:9px;font-size:22px;font-weight:400;color:var(--green-d);background:#fff;border:1px solid var(--line);
  cursor:pointer;margin:0 0 4px 4px;line-height:1;}
.rewo-tabbar-add:hover{background:#F1F8EA;border-color:var(--green);}
.rewo-tab-dragging{opacity:.45;}
.rewo-tabbar-addwrap{position:relative;flex:0 0 auto;}
.rewo-tabadd-menu{position:absolute;right:0;top:40px;z-index:1200;width:280px;max-width:80vw;background:#fff;
  border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 40px -14px rgba(0,0,0,.35);padding:8px;}
.rewo-tabadd-menu[hidden]{display:none;}
.rewo-tabadd-search{padding:4px 4px 8px;}
.rewo-tabadd-search input{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:13px;}
.rewo-tabadd-list{max-height:340px;overflow:auto;display:flex;flex-direction:column;gap:2px;}
.rewo-tabadd-item{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:9px;text-decoration:none;
  color:var(--ink);font-size:13.5px;font-weight:600;}
.rewo-tabadd-item:hover{background:#F1F8EA;color:var(--green-d);}
.rewo-tabadd-ic{font-size:16px;line-height:1;width:20px;text-align:center;}

/* Headerin työtilavalitsin */
.rewo-hdr-wswrap{position:relative;display:inline-block;}
.rewo-hdr-ws{font-family:inherit;font-weight:700;font-size:13px;cursor:pointer;color:#fff;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.30);border-radius:999px;padding:7px 14px;white-space:nowrap;}
.rewo-hdr-ws:hover{background:rgba(255,255,255,.26);}
.rewo-hdr-ws-menu{position:absolute;right:0;top:42px;z-index:2000;width:280px;max-width:84vw;background:#fff;
  border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 44px -14px rgba(0,0,0,.45);padding:8px;}
.rewo-hdr-ws-menu[hidden]{display:none;}
.rewo-hdr-ws-search{padding:4px 4px 8px;}
.rewo-hdr-ws-search input{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:13px;}
.rewo-hdr-ws-list{max-height:360px;overflow:auto;display:flex;flex-direction:column;gap:2px;}
.rewo-hdr-ws-i{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:9px;text-decoration:none;color:var(--ink);font-size:13.5px;font-weight:600;}
.rewo-hdr-ws-i:hover{background:#F1F8EA;color:var(--green-d);}
.rewo-hdr-ws-ic{font-size:16px;width:20px;text-align:center;}

/* Overlay-valikko (mobiili) */
.rewo-menu-overlay{display:none;position:fixed;inset:0;z-index:1000;background:rgba(16,18,20,.5);}
.rewo-menu-cb:checked ~ .rewo-menu-overlay{display:block;}
.rewo-menu-sheet{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:18px 18px 0 0;
  max-height:82vh;overflow:auto;padding:14px 16px calc(22px + env(safe-area-inset-bottom));}
.rewo-menu-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:16px;}
.rewo-menu-x{font-size:20px;color:var(--muted);cursor:pointer;padding:4px 8px;}
.rewo-menu-grp{margin:10px 0;}
.rewo-menu-grp-h{font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:6px;}
.rewo-menu-grp-items{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.rewo-menu-item{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;
  text-decoration:none;color:var(--ink);font-weight:600;font-size:14px;background:#fff;}
.rewo-menu-item.is-active{border-color:var(--green);background:#F1F8EA;color:var(--green-d);}

/* Desktop & tabletti: sivupalkki (>=768px). Alapalkki vain pienella naytolla (puhelin). */
/* Desktop: sivupalkki (>=1025px). Alapalkki näkyy puhelimella JA iPadilla (<=1024px). */
@media(min-width:1025px){
  .rewo-bottomnav{position:fixed;left:0;right:0;bottom:0;justify-content:center;gap:4px;padding:8px 16px;padding-bottom:calc(8px + env(safe-area-inset-bottom));overflow-x:auto;}
  .rewo-bn{flex:0 0 auto;min-width:76px;}
  .rewo-bn-extra{display:flex;}
  .rewo-app{padding-bottom:88px;}
  .rewo-shell{display:flex;gap:22px;align-items:flex-start;}
  .rewo-side{display:block;width:250px;flex:none;position:sticky;top:16px;}
  .rewo-main{flex:1;}
  .rewo-navgrp{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden;}
  .rewo-navgrp-h{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 14px;
    font-weight:700;color:var(--charcoal);font-size:14px;user-select:none;}
  .rewo-navgrp-h::-webkit-details-marker{display:none;}
  .rewo-navgrp-ic{font-size:16px;}
  .rewo-navgrp-t{flex:1;}
  .rewo-navgrp-ar{color:var(--muted);transition:transform .15s;font-size:12px;}
  .rewo-navgrp[open] .rewo-navgrp-ar{transform:rotate(180deg);}
  .rewo-navgrp-items{padding:4px 8px 8px;display:flex;flex-direction:column;gap:2px;}
  .rewo-navitem{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:10px;
    text-decoration:none;color:var(--ink);font-size:13.5px;font-weight:500;}
  .rewo-navitem:hover{background:var(--panel);}
  .rewo-navitem.is-active{background:#F1F8EA;color:var(--green-d);font-weight:700;box-shadow:inset 3px 0 0 var(--green);}
  .rewo-navitem-ic{font-size:15px;width:20px;text-align:center;}
}

/* Yhteenvedon widget-muokkaus */
.rewo-widget{border:1px dashed var(--line);border-radius:14px;margin:0 0 14px;overflow:hidden;}
.rewo-wbar{display:flex;justify-content:space-between;align-items:center;background:var(--panel);padding:7px 12px;border-bottom:1px dashed var(--line);}
.rewo-wbar-t{font-weight:700;font-size:13px;color:var(--charcoal);}
.rewo-wbar-a{display:flex;gap:4px;align-items:center;}
.rewo-wbar-a a,.rewo-wbar-a .dis{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;text-decoration:none;font-size:13px;border:1px solid var(--line);background:#fff;color:var(--ink);}
.rewo-wbar-a .dis{opacity:.3;}
.rewo-wbar-a a.hide{color:#8E3A3A;border-color:#e3c4c4;}
.rewo-wbody{padding:12px;}
.rewo-wbody>.rewo-card{margin-bottom:0;}
.rewo-wedit-info .rewo-waddrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px;}
.rewo-wedit-info .rewo-waddrow .l{font-weight:600;font-size:13px;color:var(--charcoal);}

/* Kassavirta mini-widget */
.rewo-cf-mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:10px;}
.rewo-cf-mini>div{display:flex;flex-direction:column;background:var(--panel);border-radius:10px;padding:9px 11px;}
.rewo-cf-mini .l{font-size:11.5px;color:var(--muted);}
.rewo-cf-mini .v{font-size:17px;font-weight:800;color:var(--ink);}

/* Kassavirta päivälista */
.rewo-cf-day{border-top:1px solid var(--line);padding:8px 0 4px;}
.rewo-cf-day.rewo-cf-start{border-top:none;}
.rewo-cf-dayhead{display:flex;justify-content:space-between;align-items:baseline;padding:2px 2px 6px;}
.rewo-cf-dayhead span:first-child{font-weight:700;color:var(--charcoal);font-size:13.5px;}
.rewo-cf-dayhead .saldo{font-size:12.5px;color:var(--muted);font-weight:600;}
.rewo-cf-dayhead .saldo.neg{color:#8E3A3A;}
.rewo-cf-inv{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;text-decoration:none;background:#fff;border:1px solid var(--line);margin-bottom:6px;}
.rewo-cf-inv:hover{border-color:var(--green);}
.rewo-cf-inv .ic{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;flex:none;}
.rewo-cf-inv .ic.in{background:#DDEFCB;color:#356016;}
.rewo-cf-inv .ic.out{background:#F3E0D0;color:#9A4E07;}
.rewo-cf-inv .nm{flex:1;display:flex;flex-direction:column;color:var(--ink);font-weight:600;font-size:14px;}
.rewo-cf-inv .nm small{font-weight:400;color:var(--muted);font-size:11.5px;}
.rewo-cf-inv .amt{font-weight:800;font-size:14px;}
.rewo-cf-inv .amt.in{color:#356016;} .rewo-cf-inv .amt.out{color:#9A4E07;}
.rewo-cf-inv .open{color:var(--muted);font-size:18px;}

/* Kassavirta — siisti päivälista (yksi lasku per rivi) */
.rewo-cf2{margin-top:4px;}
.rewo-cf2-date{display:flex;justify-content:space-between;align-items:baseline;padding:14px 2px 6px;border-bottom:2px solid var(--line);margin-bottom:2px;}
.rewo-cf2-date:first-child{padding-top:2px;}
.rewo-cf2-date>span:first-child{font-weight:700;font-size:14px;color:var(--charcoal);}
.rewo-cf2-date .saldo{font-size:12px;color:var(--muted);font-weight:600;}
.rewo-cf2-date .saldo.neg{color:#8E3A3A;}
.rewo-cf2-row{display:flex;align-items:center;gap:10px;padding:11px 4px;text-decoration:none;border-bottom:1px solid var(--line);color:var(--ink);}
.rewo-cf2-row:hover{background:var(--panel);}
.rewo-cf2-row .dot{width:8px;height:8px;border-radius:50%;flex:none;}
.rewo-cf2-row .dot.in{background:#54A924;} .rewo-cf2-row .dot.out{background:#C8821F;}
.rewo-cf2-row .nm{font-weight:600;font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42%;}
.rewo-cf2-row .ty{flex:1;font-size:11.5px;color:var(--muted);}
.rewo-cf2-row .amt{font-weight:800;font-size:14px;white-space:nowrap;}
.rewo-cf2-row .amt.in{color:#356016;} .rewo-cf2-row .amt.out{color:#9A4E07;}
@media(max-width:560px){.rewo-cf2-row .ty{display:none;} .rewo-cf2-row .nm{max-width:60%;}}

/* Talentti upotettuna ERP-kuoreen — poista oma kromi, sovita ERP:n sisään */
.rewo-talentti-embed .rewo-tp-top{display:none !important;}            /* poista Talentin oma yläpalkki */
.rewo-talentti-embed .rewo-tp{width:auto;max-width:none;margin-left:0;margin-right:0;background:transparent;}
.rewo-talentti-embed .rewo-tp-tabs{margin-top:2px;display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.rewo-talentti-embed .rewo-tp-tabs::-webkit-scrollbar{display:none}
.rewo-talentti-embed .rewo-tp-tabs a{flex:0 0 auto;white-space:nowrap}
/* yhtenäistä korostusväri ERP:n vihreäksi (Talentti käyttää oranssia) */
.rewo-talentti-embed .rewo-tp-tabs a.is-active{background:var(--green-d) !important;border-color:var(--green-d) !important;color:#fff !important;}
.rewo-talentti-embed .rewo-tp .rewo-tp-btn-primary,
.rewo-talentti-embed .rewo-tp button[type=submit]{background:var(--grad) !important;border-color:transparent !important;}

/* Talentti omana osiona navigaatiossa */
.rewo-modtab-sep{display:inline-block;width:1px;align-self:stretch;min-height:24px;background:var(--line);margin:0 6px;border-radius:1px;}
.rewo-modtab-app{border:1px solid var(--green);color:var(--green-d);font-weight:700;}
.rewo-modtab-app::before{content:"●";font-size:9px;color:var(--green);margin-right:6px;vertical-align:middle;}
.rewo-modtab-app.is-active{background:var(--grad,linear-gradient(135deg,#6CC23A,#54A924 50%,#3F8C1C));border-color:transparent;color:#fff;}
.rewo-modtab-app.is-active::before{color:#fff;}

/* Talentin omat vaakavälilehdet piilotettu — ne ovat nyt vasemmassa valikossa */
.rewo-talentti-embed .rewo-tp-tabs{display:none !important;}

/* Palaverit-briefing */
.rewo-brief-tasot{margin-top:8px;}
.rewo-brief-new{display:flex;align-items:center;flex-wrap:wrap;gap:6px;}
.rewo-brief-new-l{font-weight:600;color:var(--ink);}
.rewo-checklist{display:flex;flex-direction:column;gap:8px;}
.rewo-check-row{display:flex;align-items:center;gap:10px;}

/* Palaverin esityslistan rakentaja */
.rewo-esitys-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:6px 0 4px;}
.rewo-esitys-block{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;font-weight:600;color:var(--ink);}
.rewo-esitys-block input{width:18px;height:18px;accent-color:var(--green);}

/* Palaveriesityksen rakentaja: tyyppivalinta */
.rewo-esitys-mode{display:flex;gap:14px;margin:4px 0 12px;}
.rewo-esitys-mode-opt{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);cursor:pointer;}
.rewo-esitys-mode-opt input{width:18px;height:18px;accent-color:var(--green);}

/* Lajitteluvalitsin listoissa */
.rewo-sortsel{border:1px solid var(--line);border-radius:10px;padding:9px 11px;font:inherit;background:#fff;color:var(--ink);}
/* Mobiilin lukujen selkeys: summat yhdellä rivillä */
.rewo-table td.ta-r{white-space:nowrap;font-variant-numeric:tabular-nums;}
.rewo-cf2-row .amt,.rewo-cf-mini .v,.rewo-stat-val{white-space:nowrap;font-variant-numeric:tabular-nums;}
@media(max-width:760px){
  .rewo-table td.ta-r{justify-content:space-between;font-weight:700;}
  .rewo-table td{align-items:center;}
  .rewo-search{flex-wrap:wrap;}
  .rewo-sortsel{flex:1;min-width:150px;}
}

/* Kassavirran aikavälivalitsin */
.rewo-cf-range select{border:1px solid var(--line);border-radius:9px;padding:7px 10px;font:inherit;margin-left:6px;background:#fff;}
.rewo-cf-range label{font-size:13px;color:var(--muted);font-weight:600;}

/* Rekisterien rakennus -kortti */
.rewo-reg-build{border-left:3px solid var(--green);}

/* Projektin aikataulupalkki */
.rewo-timeline{margin:4px 0;}
.rewo-tl-head{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:6px;}
.rewo-tl-bar{position:relative;height:18px;border-radius:10px;background:#EAEDEA;overflow:hidden;}
.rewo-tl-fill{height:100%;border-radius:10px;background:linear-gradient(90deg,#54A924 0%,#9FB81E 45%,#F2811D 80%,#C0561C 100%);}
.rewo-tl-today{position:absolute;top:-3px;width:3px;height:24px;background:#1E2123;border-radius:2px;transform:translateX(-1px);}
.rewo-tl-note{font-size:12px;color:var(--muted);margin-top:6px;}
.rewo-tl-late{color:#8E3A3A;font-weight:600;}
/* Asiakasnäkyvyys-paneeli */
.rewo-portal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin:10px 0;}
.rewo-portal-pick{display:flex;flex-direction:column;gap:6px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px;font-size:12px;font-weight:600;cursor:pointer;}
.rewo-portal-pick img{width:100%;height:80px;object-fit:cover;border-radius:7px;}
.rewo-portal-pick input{width:18px;height:18px;accent-color:var(--green);}
.rewo-talentti-solo{max-width:none;}

/* Projektien tilasuodatus — värilliset napit + lukumäärät */
.rewo-status-filter{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 16px;}
.rewo-sf{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid transparent;font-size:13px;font-weight:600;text-decoration:none;transition:transform .08s ease,box-shadow .12s ease;}
.rewo-sf:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.08);}
.rewo-sf.is-active{box-shadow:0 2px 10px rgba(0,0,0,.14);}
.rewo-sf-dot{width:9px;height:9px;border-radius:50%;display:inline-block;}
.rewo-sf-n{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:rgba(0,0,0,.12);font-size:11px;font-weight:700;}
.rewo-sf.is-active .rewo-sf-n{background:rgba(255,255,255,.28);}
@media(max-width:760px){.rewo-status-filter{gap:6px;}.rewo-sf{padding:7px 11px;font-size:12px;}}

/* Talentti SOLO-tila (työntekijä/asiakas kirjautuu suoraan ERP:hen) — näytä Talentin oma navigaatio */
.rewo-talentti-solo .rewo-talentti-embed .rewo-tp-tabs{display:flex !important;flex-wrap:wrap;gap:6px;margin:0 0 14px;}
/* Talentin oma yläpalkki pysyy piilossa — ERP:n yläkortti hoitaa logon, käyttäjän ja uloskirjautumisen (ei tuplapalkkia) */
.rewo-talentti-solo{padding:0;}
/* Talentti-konteksti: oranssi "Talentti"-badge ERP:n vihreän tilalle */
.rewo-topcard-app.is-talentti{color:#F2811D;border-color:rgba(242,129,29,.55);}
/* Talentin taulut upotuksessa: estä rikkoutuminen kapealla — vaakavieritys */
.rewo-talentti-embed .rewo-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.rewo-talentti-embed .rewo-tp-table{width:100%;border-collapse:collapse;}
.rewo-talentti-embed .rewo-tp-table th,.rewo-talentti-embed .rewo-tp-table td{white-space:nowrap;}
.rewo-talentti-embed .rewo-tp-card{overflow:hidden;}

/* Tallennusindikaattori ERP-napeissa */
.rewo-spin{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;vertical-align:-2px;margin-right:6px;animation:rewo-spin .7s linear infinite;}
.rewo-btn.is-loading,button.is-loading{opacity:.85;pointer-events:none;}
@keyframes rewo-spin{to{transform:rotate(360deg);}}

/* Ostolaskun muokattavat tuoterivit */
.rewo-rivit{display:flex;flex-direction:column;gap:10px;margin:6px 0 4px;}
.rewo-rivi{display:grid;grid-template-columns:2fr 1fr .8fr .6fr .9fr .7fr 1fr auto;gap:8px;align-items:end;border:1px solid var(--line);border-radius:10px;padding:10px;}
.rewo-rivi label{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:600;color:var(--muted);}
.rewo-rivi input{padding:8px;border:1px solid var(--line);border-radius:7px;font:inherit;width:100%;box-sizing:border-box;}
.rewo-rivi-del{align-self:center;background:none;border:none;color:#b25a2a;font-size:16px;cursor:pointer;padding:0 4px;line-height:1;}
@media(max-width:760px){
  .rewo-rivi{grid-template-columns:1fr 1fr;}
  .rewo-rivi-nimi{grid-column:1 / -1;}
  .rewo-rivi-del{grid-column:1 / -1;justify-self:end;}
}

/* Asiakashaku-ryhmäotsikot (järjestelmä / PRH) */
.rewo-custlookup{border:1px solid var(--line);border-radius:12px;padding:14px;margin:0 0 14px;background:var(--card,#fff);}
.rewo-cl-grp{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:10px 0 4px;}
.rewo-cl-grp:first-child{margin-top:2px;}

/* Ulkoasu-muokkain: työntekijän etusivun osiot */
.rewo-ui-sections{display:flex;flex-direction:column;gap:8px;margin:4px 0 8px;}
.rewo-ui-sec{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;}
.rewo-ui-sec-on{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);font-size:14px;}
.rewo-ui-sec-ord{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;}
.rewo-ui-sec-ord input{padding:6px;border:1px solid var(--line);border-radius:7px;font:inherit;}
.rewo-ui-preview{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0;}
input[type=color]{width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;padding:4px;background:#fff;cursor:pointer;}
input[type=range]{width:100%;}

/* PWA: estä sisällön meneminen statuspalkin alle yläreunassa */
.rewo-fullscreen .rewo-topcard,.rewo-fullscreen .rewo-tp-top{margin-top:max(0px,env(safe-area-inset-top));}

/* Kassavirta: suodattimet + tunnusluvut */
.rewo-cf-filters{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;}
.rewo-cf-filters .rewo-f{margin:0;}
.rewo-cf-filters input[type=date],.rewo-cf-filters select{padding:9px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;}
.rewo-cf-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:12px;margin-bottom:14px;}

/* Kassavirta: interaktiivinen graafi */
.rewo-kassa-chart{position:relative;margin-top:6px;}
.rewo-kc-axis span{position:absolute;left:4px;font-size:10.5px;color:#8a9092;background:rgba(255,255,255,.78);padding:1px 4px;border-radius:4px;pointer-events:none;}
.rewo-kc-axis span:first-child{top:6px;}
.rewo-kc-axis span:last-child{bottom:30px;}
.rewo-kc-xlabels{display:flex;justify-content:space-between;font-size:11px;color:#6b7375;margin-top:-22px;padding:0 2px;}
.rewo-kc-readout{position:absolute;top:0;transform:translateX(-50%);background:#23282A;color:#fff;border-radius:10px;padding:7px 11px;font-size:12.5px;line-height:1.3;text-align:center;pointer-events:none;white-space:nowrap;box-shadow:0 8px 20px -8px rgba(0,0,0,.4);transition:opacity .12s;z-index:2;}
.rewo-kc-readout .d{display:block;font-weight:700;font-size:11px;opacity:.85;}
.rewo-kc-readout .v{display:block;font-weight:800;font-family:'Poppins',sans-serif;}
.rewo-kc-readout.neg .v{color:#FF9B9B;}
.rewo-cf2-start{background:#F3F6F2;}

/* Yhteenveto: klikattavat tunnusluvut (porautuminen) */
.rewo-stat-link{position:relative;text-decoration:none;cursor:pointer;transition:border-color .12s,box-shadow .12s,transform .12s;}
.rewo-stat-link:hover{border-color:var(--c,#54A924);box-shadow:0 10px 26px -18px rgba(0,0,0,.4);transform:translateY(-1px);}
.rewo-stat-go{position:absolute;top:14px;right:14px;color:var(--c,#54A924);font-size:20px;font-weight:800;line-height:1;opacity:.55;}
.rewo-stat-link:hover .rewo-stat-go{opacity:1;}

/* Hankinnat: väljemmät delegointi- ja tarjouspyyntölaatikot */
.rewo-delegate{gap:14px 16px;padding:18px 20px;}
.rewo-delegate select{flex:1 1 220px;min-width:200px;}
.rewo-delegate .rewo-help{flex-basis:100%;margin:0;}
.rewo-rfq-grid,.rewo-rfq .rewo-grid2{gap:16px;}
.rewo-rfq label,.rewo-rfq .rewo-f{margin-bottom:6px;}

/* Määräluettelo: massatoimintopalkki */
.rewo-maara-mass{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;padding:14px 0 4px;border-top:1px solid var(--line);margin-top:10px;}
.rewo-maara-allwrap{display:flex;align-items:center;gap:8px;font-size:14px;}
.rewo-maara-massf{margin:0;min-width:170px;flex:1 1 170px;}
.rewo-btn-danger{color:#8E3A3A;border-color:#E0B4B4;}
.rewo-btn-danger:hover{background:#F7E4E4;border-color:#cf9a9a;}

/* Asiakashaun tulokset (tarjouslomake) */
.rewo-cl-results{display:flex;flex-direction:column;gap:6px;margin-top:8px;}
.rewo-cl-tag{font-size:11px;color:var(--muted);font-weight:600;}

/* Monivalinta (esim. projektin valvojat) */
.rewo-multiusers{min-height:118px;padding:6px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;}
.rewo-multiusers option{padding:4px 6px;border-radius:6px;}

/* Käyttöoikeudet: Talentti-näkyvyysruudukko */
.rewo-hr{border:none;border-top:1px solid var(--line);margin:22px 0;}
.rewo-visgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px 26px;margin:6px 0 4px;}
.rewo-viscol h3{font-family:"Poppins",sans-serif;font-size:15px;margin:0 0 10px;color:var(--ink);}
.rewo-viscol .rewo-checkfield{display:flex;align-items:flex-start;gap:9px;margin:0 0 9px;font-size:14px;line-height:1.35;}
.rewo-viscol .rewo-checkfield input{margin-top:2px;}

/* Tuntien välilehdet projektisivulla */
.rewo-htabs{display:flex;gap:8px;margin:4px 0 12px;flex-wrap:wrap}
.rewo-htab{appearance:none;border:1px solid #d6dbd7;background:#fff;color:#23282A;border-radius:999px;padding:7px 16px;font:inherit;font-weight:600;cursor:pointer}
.rewo-htab.is-active{background:#2C5F2D;border-color:#2C5F2D;color:#fff}

/* Raportit: TR-mittauksen kentät ja yhteenveto */
.rewo-tritem{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;border-bottom:1px solid #eef0ed;padding:8px 0}
.rewo-tritem-l{flex:1;min-width:220px;font-size:13px}
.rewo-tritem-c{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rewo-tritem-c input[type=number]{width:64px}
.rewo-tri-ok input{border-color:#54A924}
.rewo-tri-fail input{border-color:#d9534f}
.rewo-tri-note{min-width:180px}
.rewo-trsum{display:flex;gap:20px;background:#f3f7f1;border:1px solid #d9e6d3;border-radius:10px;padding:10px 16px;margin:8px 0 4px;flex-wrap:wrap}
.rewo-trsum strong{color:#2C5F2D;font-size:18px;display:block}

/* Jaettavat liitetiedostot — selkeä rivilayout (ei päällekkäisyyttä) */
.rewo-filelist{display:flex;flex-direction:column;gap:10px;margin:8px 0}
.rewo-filerow{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;border:1px solid #e6eae7;border-radius:10px;padding:12px;background:#fafbfa}
.rewo-filerow-name{flex-basis:100%;font-weight:600;word-break:break-all}
.rewo-filerow-f{display:flex;flex-direction:column;gap:3px;flex:1;min-width:160px}
.rewo-filerow-f span{font-size:12px;color:#6b7770}
.rewo-filerow-checks{display:flex;gap:14px;align-items:center}
.rewo-filerow-btns{display:flex;gap:8px}
.rewo-fileupload{display:flex;gap:10px 14px;align-items:flex-end;flex-wrap:wrap;margin-top:12px}
@media(max-width:600px){
  .rewo-filerow-f{flex-basis:100%}
  .rewo-filerow-checks,.rewo-filerow-btns{flex-basis:100%}
  .rewo-filerow-btns .rewo-btn{flex:1}
}

/* Kommentin asiakas-näkyvyysmerkki */
.rewo-cust-badge{font-size:11px;background:#eef0ed;color:#6b7375;border-radius:999px;padding:1px 8px;margin-left:6px;white-space:nowrap}
.rewo-cust-badge.on{background:#dff0d2;color:#356016}

/* Kuvaruudukko myös Talentti-/valvojanäkymässä (estää kuvien päällekkäisyyden) */
.rewo-img-grid{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start}
.rewo-img-grid a{display:block}
.rewo-imgcell{width:150px;display:flex;flex-direction:column;gap:4px}
.rewo-imgcell img{width:150px;height:150px;object-fit:cover;border-radius:8px;cursor:zoom-in}
.rewo-imgcell .rewo-link{font-size:12px;white-space:normal}
@media(max-width:600px){
  .rewo-imgcell{width:44vw;max-width:200px}
  .rewo-imgcell img{width:100%;height:auto;aspect-ratio:1/1}
}

/* Valttikortin kuvat: koko lohkon levyisinä */
.rewo-valtti-imgs{margin:8px 0;display:flex;flex-direction:column;gap:6px}
.rewo-valtti-imgs .rewo-valtti-label{font-size:12px;color:#6b7770}
.rewo-valtti-imgs a{display:block;width:100%}
.rewo-valtti-imgs img{width:100%;height:auto;border-radius:8px;border:1px solid #e1e5e2}

/* Työtehtävät (upotettu Talentti) samaan leveyteen kuin projektisivu */
.rewo-talentti-embed .rewo-tp{padding-left:0;padding-right:0;}

/* Projektin otsikkopalkki: projektinjohtaja nimi + puhelin */
.rewo-proj-head{display:flex;flex-direction:column;gap:2px}
.rewo-proj-head h3{margin:0}
.rewo-proj-mgr{font-size:13px;color:#46524b}
.rewo-proj-mgr a{color:#2C5F2D;text-decoration:none;font-weight:600}
.rewo-proj-mgr a:hover{text-decoration:underline}

/* Palaverimuistiot (Fireflies) */
.rewo-ff-h3{font-size:14px;margin:14px 0 6px;color:#2C5F2D}
.rewo-ff-audio{width:100%;margin:4px 0}
.rewo-ff-keywords{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.rewo-ff-kw{font-size:12px;background:#eef5e9;color:#356016;border-radius:999px;padding:3px 10px}
.rewo-ff-actions{font-size:14px;line-height:1.55;white-space:normal}
.rewo-ff-transcript{max-height:60vh;overflow:auto;border:1px solid #e6eae7;border-radius:10px;padding:12px;background:#fafbfa}
.rewo-ff-line{margin:0 0 6px}
.rewo-ff-spk{font-weight:700;color:#0E2418;margin-top:10px;font-size:13px}
.rewo-ff-tc{font-weight:500;color:#9aa39c;font-size:12px;margin-left:6px}
.rewo-ff-txt{font-size:14px;line-height:1.5;color:#23282A}

/* Fireflies: jaettu palaveri valvoja-/asiakasnäkymässä */
.rewo-ff-meet{border:1px solid #e6eae7;border-radius:10px;padding:12px;margin:8px 0;background:#fafbfa}
.rewo-ff-meet-h{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:6px}
.rewo-ff-det{margin-top:8px}
.rewo-ff-det>summary{cursor:pointer;color:#2C5F2D;font-weight:600;font-size:13px}
.rewo-ff-det .rewo-ff-transcript{margin-top:8px}
.rewo-hr{border:none;border-top:1px solid #e6eae7;margin:14px 0}

/* Palkkakausien pikavalinta */
.rewo-payperiods{margin:6px 0 10px}
.rewo-pp-nav{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.rewo-pp-chips{display:flex;flex-wrap:wrap;gap:8px}
.rewo-pp-chip{display:inline-flex;flex-direction:column;border:1px solid #cdd8cf;border-radius:10px;padding:7px 14px;text-decoration:none;color:#23282A;background:#fff;font-weight:600;font-size:13px}
.rewo-pp-chip:hover{border-color:#54A924}
.rewo-pp-chip.is-active{background:#eef5e9;border-color:#54A924;color:#2C5F2D}
.rewo-pp-pay{font-weight:500;font-size:11px;color:#6b7770}
.rewo-pp-actions{margin:10px 0}

/* Yhtenäinen kuvaesitys toimiston projektisivulla (sama kuin Talentissa) */
.rewo-img-days{display:flex;flex-direction:column;gap:18px}
.rewo-img-date{font-weight:700;color:#2d3133;margin:4px 0 8px;text-transform:capitalize}
.rewo-img-count{font-weight:500;color:#8a9095;font-size:12px;margin-left:6px}
.rewo-img-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}
.rewo-img-thumb{display:block;aspect-ratio:1/1;border-radius:9px;overflow:hidden;border:1px solid #e3e6e3}
.rewo-img-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.rewo-imgcell{width:auto;display:block !important;min-width:0}
.rewo-imgcell .rewo-img-thumb{display:block !important;width:100% !important;height:120px !important;aspect-ratio:auto !important;border-radius:9px;overflow:hidden;border:1px solid #e3e6e3}
.rewo-imgcell .rewo-img-thumb img{width:100% !important;height:100% !important;object-fit:cover;display:block;border:0}
.rewo-imgcell>a:not(.rewo-img-thumb) img{width:100%;height:120px;object-fit:cover;border-radius:9px;display:block}
.rewo-imgcell .rewo-link{font-size:12px;line-height:1.25;word-break:break-word}
.rewo-imgvis{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.rewo-imgvis-b{font-size:11px;border:1px solid #d0d8d1;border-radius:999px;padding:2px 9px;text-decoration:none;color:#6b7375;background:#fff;white-space:nowrap}
.rewo-imgvis-b.on{background:#dff0d2;color:#356016;border-color:#9cc77f}

/* Projektinumerot-asetustaulukko */
.rewo-numtable{width:100%;border-collapse:collapse;margin:6px 0 4px;}
.rewo-numtable th{text-align:left;font-size:12.5px;color:var(--muted);font-weight:600;padding:4px 10px 6px 0;}
.rewo-numtable td{padding:3px 10px 3px 0;vertical-align:middle;}
.rewo-numtable input{border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:14px;background:#fff;color:var(--ink);}
.rewo-numtable input:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 3px rgba(120,184,52,.15);}

/* Projektin otsikkolohko + juokseva projektinumero */
.rewo-head-l{display:flex;flex-direction:column;gap:4px;}
.rewo-projnro{display:inline-block;align-self:flex-start;background:#eef5e9;color:#2C5F2D;border:1px solid #9cc77f;
  border-radius:999px;padding:3px 12px;font-size:13px;font-weight:700;letter-spacing:.02em;}

/* Raportit kortteina */
.rewo-rapgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:4px;}
.rewo-rapcard{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid #e3e6e3;border-radius:12px;
  background:#fff;text-decoration:none;transition:border-color .15s,box-shadow .15s;}
.rewo-rapcard:hover{border-color:#54A924;box-shadow:0 2px 10px rgba(120,184,52,.12);}
.rewo-rapcard-type{align-self:flex-start;background:#eef5e9;color:#2C5F2D;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;}
.rewo-rapcard-title{color:#23282A;font-weight:700;font-size:15px;line-height:1.3;}
.rewo-rapcard-date{color:#6b7280;font-size:13px;margin-top:auto;}

/* ===========================================================================
 * Fennoa myyntilaskut: lista (kuvan mukainen) + laskun modaali esikatselulla
 * ========================================================================= */
.rewo-num{text-align:right;white-space:nowrap;}
.rewo-fsum{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:4px 0 14px;}
.rewo-fsum-k{font-weight:600;color:var(--muted);font-size:14px;}
.rewo-fsum-v{font-family:'Poppins',sans-serif;font-weight:800;font-size:20px;color:var(--green-d);}
.rewo-av{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;
  color:#fff;font-size:12px;font-weight:700;margin-right:9px;vertical-align:middle;flex:0 0 auto;}
tr.rewo-frow{cursor:pointer;transition:background .12s;}
tr.rewo-frow:hover{background:var(--panel);}
tr.rewo-frow:focus-visible{outline:2px solid var(--green);outline-offset:-2px;}
.rewo-overdue{color:#C0392B;font-weight:700;}
.rewo-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#EFF1EF;color:var(--muted);}
.rewo-pill-ok{background:#E5F4DC;color:#3F8C1C;}
.rewo-pill-late{background:#FBE7E4;color:#C0392B;}

body.rewo-fmodal-lock{overflow:hidden;}
.rewo-fmodal{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px;}
.rewo-fmodal[hidden]{display:none;}
.rewo-fmodal-backdrop{position:absolute;inset:0;background:rgba(16,18,20,.55);}
.rewo-fmodal-box{position:relative;background:#fff;border-radius:18px;width:min(1100px,100%);max-height:92vh;
  display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px -30px rgba(0,0,0,.6);}
.rewo-fmodal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);}
.rewo-fmodal-title{font-family:'Poppins',sans-serif;font-size:18px;color:var(--charcoal-d);}
.rewo-fmodal-x{border:0;background:#F3F5F3;width:34px;height:34px;border-radius:999px;font-size:20px;line-height:1;cursor:pointer;color:var(--charcoal-d);}
.rewo-fmodal-x:hover{background:#E3E6E3;}
.rewo-fmodal-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);overflow:auto;}
.rewo-fmodal-left{padding:20px;overflow:auto;}
.rewo-fmodal-right{padding:16px;background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:10px;min-height:0;}
.rewo-fmodal-pdfwrap{flex:1;min-height:420px;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.rewo-fmodal-iframe{width:100%;height:100%;min-height:420px;border:0;display:block;}
.rewo-fmodal-open{align-self:flex-start;}
.rewo-fmeta{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.rewo-fmeta-row{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);}
.rewo-fmeta-row:last-child{border-bottom:0;}
.rewo-fmeta-k{color:var(--muted);font-size:13.5px;}
.rewo-fmeta-v{font-weight:600;text-align:right;}
.rewo-fsub{font-family:'Poppins',sans-serif;font-size:15px;margin:18px 0 8px;color:var(--charcoal-d);}
.rewo-fdetail-rows th,.rewo-fdetail-rows td{font-size:13.5px;}
@media (max-width:780px){
  .rewo-fmodal{padding:0;}
  .rewo-fmodal-box{width:100%;max-height:100vh;height:100vh;border-radius:0;}
  .rewo-fmodal-body{grid-template-columns:1fr;}
  .rewo-fmodal-right{border-left:0;border-top:1px solid var(--line);}
  .rewo-fmodal-pdfwrap,.rewo-fmodal-iframe{min-height:300px;}
}

/* Ostolaskun AI-avustaja (modaalissa) */
.rewo-po-ai{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 14px;background:#F7FAF4;}
.rewo-po-ai-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:700;font-family:'Poppins',sans-serif;color:var(--charcoal-d);}
.rewo-po-ai-out{margin-top:8px;}
.rewo-po-ai-out .rewo-f{display:block;margin:8px 0;}
.rewo-po-ai-out select{width:100%;max-width:100%;}

/* ===== Laskulistan suodatin + kaksirivinen rivilista ===== */
.rewo-ffilter{display:flex;gap:10px;margin:0 0 12px;flex-wrap:wrap;}
.rewo-ffilter-q{flex:1;min-width:180px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;font-size:15px;}
.rewo-ffilter-status{padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:15px;background:#fff;}
.rewo-flist{display:flex;flex-direction:column;gap:8px;}
.rewo-frow{border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;transition:background .12s,border-color .12s;}
.rewo-frow:hover{background:var(--panel);border-color:#d4d8d4;}
.rewo-frow:focus-visible{outline:2px solid var(--green);outline-offset:1px;}
.rewo-frow-l1{display:flex;align-items:center;gap:10px;}
.rewo-frow-main{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rewo-frow-no{color:var(--muted);font-size:13px;font-weight:400;}
.rewo-frow-sum{font-family:'Poppins',sans-serif;font-weight:700;white-space:nowrap;}
.rewo-frow-l2{display:flex;align-items:center;gap:10px;margin-top:7px;flex-wrap:wrap;font-size:13px;}
.rewo-frow-meta{color:var(--muted);}
.rewo-frow-proj{color:var(--ink);}
.rewo-frow-page{margin-left:auto;color:var(--green-d);font-weight:600;text-decoration:none;white-space:nowrap;}
.rewo-frow-page:hover{text-decoration:underline;}

/* ===== Ostolaskun kohdistus + käsittelijän jako ===== */
.rewo-fassign{margin:0 0 10px;padding:10px 12px;background:var(--panel);border-radius:10px;}
.rewo-fassign>strong{display:block;margin-bottom:6px;}
.rewo-assign-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:6px;}
.rewo-assign-form select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;}

/* ===== Modaali: AI oikeaan yläkulmaan, lohkot, nätit rivit ===== */
.rewo-fdetail-aiwrap{display:flex;justify-content:flex-end;margin-bottom:10px;}
.rewo-fdetail-aiwrap .rewo-po-ai{max-width:340px;width:100%;}
.rewo-fblock{margin:12px 0;padding:12px;background:var(--panel);border-radius:10px;}
.rewo-fblock>strong{display:block;margin-bottom:6px;}
.rewo-rows{display:flex;flex-direction:column;gap:6px;margin:6px 0;}
.rewo-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;}
.rewo-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.rewo-row-name{font-weight:600;}
.rewo-row-sub{font-size:12px;color:var(--muted);}
.rewo-row-sum{font-family:'Poppins',sans-serif;font-weight:700;white-space:nowrap;}
.rewo-rows-sum{display:grid;grid-template-columns:1fr auto;gap:4px 16px;margin-top:10px;padding:10px 12px;background:var(--panel);border-radius:10px;}
.rewo-rows-sum>span:nth-child(even){text-align:right;font-variant-numeric:tabular-nums;}
.rewo-rows-sum-total{font-weight:700;}

/* Kustannuspaikan tila */
.rewo-cc{margin:8px 0 0;font-size:13px;}
.rewo-cc-ok{color:var(--green-d);}
.rewo-cc-warn{color:#8E3A3A;font-weight:600;}

/* Sulje / takaisin + modaali mobiilissa */
.rewo-detail-close{font-weight:600;}
.rewo-fmodal-head{position:sticky;top:0;background:#fff;z-index:2;}
.rewo-fmodal-head{padding-top:max(16px,calc(env(safe-area-inset-top) + 10px));}
.rewo-fmodal-x{font-size:26px;line-height:1;min-width:44px;min-height:44px;}
@media(max-width:640px){
  .rewo-fdetail-aiwrap{justify-content:stretch;}
  .rewo-fdetail-aiwrap .rewo-po-ai{max-width:none;}
  .rewo-fmodal-x{min-width:48px;min-height:48px;font-size:30px;}
}
.rewo-ffilter-sort{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:15px;}

/* ===== Kassavirran päivittäinen erittely ===== */
.rewo-cfday{border:1px solid var(--line);border-radius:10px;margin:8px 0;overflow:hidden;}
.rewo-cfday-head{background:var(--panel);padding:8px 12px;font-weight:700;}
.rewo-cfrow{display:flex;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid var(--line);font-size:14px;}
.rewo-cfrow-t{flex:0 0 54px;font-size:12px;font-weight:600;}
.rewo-cfrow-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rewo-cfrow-amt{white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums;}
.rewo-cfday-sum{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;border-top:1px solid var(--line);background:#fbfcfb;font-size:13px;}

/* Kirjanpito-/raporttitaulukot (Tuloslaskelma, Tase, Kirjanpito, Tilitapahtumat) */
.rewo-acct-table{width:100%;border-collapse:collapse;font-size:14px;margin-top:4px}
.rewo-acct-table thead th{text-align:left;font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:#6E7679;font-weight:700;padding:9px 10px;border-bottom:2px solid #E3E6E3;background:#fff}
.rewo-acct-table tbody td{padding:8px 10px;border-bottom:1px solid #EEF1EE;color:#23282A}
.rewo-acct-table tbody tr:nth-child(even){background:#FAFBFA}
.rewo-acct-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.rewo-acct-table tfoot td,.rewo-acct-table tr.is-total td{font-weight:800;border-top:2px solid #E3E6E3;background:#F3F5F3;color:#23282A;padding:9px 10px}
.rewo-acct-table .neg{color:#8E3A3A}
.rewo-acct-table .pos{color:#356016}
@media(max-width:640px){
  .rewo-acct-table thead{display:none}
  .rewo-acct-table tbody tr,.rewo-acct-table tfoot tr{display:block;border:1px solid #E3E6E3;border-radius:10px;padding:4px 6px;margin-bottom:10px;background:#fff}
  .rewo-acct-table tbody tr:nth-child(even){background:#fff}
  .rewo-acct-table tbody td,.rewo-acct-table tfoot td{display:flex;justify-content:space-between;gap:12px;border:none;padding:5px 6px}
  .rewo-acct-table tbody td::before,.rewo-acct-table tfoot td:first-child::before{content:attr(data-label);font-weight:700;color:#6E7679}
  .rewo-acct-table .num{text-align:right}
}

/* Tuloslaskelman porautuvat ryhmät */
.rewo-pl-grp{border:1px solid #E3E6E3;border-radius:10px;margin-bottom:8px;background:#fff;overflow:hidden}
.rewo-pl-grp>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;padding:12px 14px;font-weight:700;list-style:none;color:#23282A}
.rewo-pl-grp>summary::-webkit-details-marker{display:none}
.rewo-pl-grp>summary::before{content:'▸';color:#6E7679;font-weight:400;margin-right:4px;transition:transform .15s}
.rewo-pl-grp[open]>summary::before{content:'▾'}
.rewo-pl-grp>summary:hover{background:#FAFBFA}
.rewo-pl-grp .rewo-pl-sum.neg{color:#8E3A3A}
.rewo-pl-grp .rewo-pl-sum.pos{color:#356016}
.rewo-pl-grp .rewo-acct-table{margin:0 10px 12px}
.rewo-pl-grp .rewo-acct-table tbody tr:first-child td{border-top:1px solid #EEF1EE}

/* Materiaalipankki — korttiruudukko esikatselulla */
.rewo-matgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-top:6px}
.rewo-matcard{border:1px solid #E3E6E3;border-radius:12px;background:#fff;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .12s,border-color .12s}
.rewo-matcard:hover{border-color:#54A924;box-shadow:0 4px 16px rgba(0,0,0,.07)}
.rewo-mat-prev{position:relative;display:flex;align-items:center;justify-content:center;height:128px;background:#F3F5F3;overflow:hidden}
.rewo-mat-prev img{max-width:100%;max-height:100%;object-fit:contain;padding:10px}
.rewo-mat-chip{font:800 14px Inter,sans-serif;letter-spacing:.04em;color:#fff;background:#54A924;padding:8px 12px;border-radius:8px}
.rewo-mat-chip.rewo-mat-empty{background:#C7CDC8}
.rewo-mat-count{position:absolute;right:8px;bottom:8px;background:rgba(35,40,51,.82);color:#fff;font:700 11px Inter,sans-serif;padding:2px 7px;border-radius:999px}
.rewo-mat-body{position:relative;display:flex;flex-direction:column;gap:3px;padding:11px 12px 12px}
.rewo-mat-name{font-weight:700;color:#23282A;text-decoration:none;padding-right:22px;line-height:1.25}
.rewo-mat-name:hover{color:#44881d}
.rewo-mat-cat{font-size:12px;color:#54A924;font-weight:600}
.rewo-mat-desc{font-size:12px;color:#6E7679;line-height:1.35}
.rewo-mat-edit{position:absolute;top:9px;right:9px;text-decoration:none;opacity:.6}
.rewo-mat-edit:hover{opacity:1}

/* Asiakkaat (Fennoa) — selkeä korttilista */
.rewo-custlist{display:flex;flex-direction:column;gap:2px}
.rewo-custrow{display:flex;align-items:center;gap:12px;padding:11px 8px;border-bottom:1px solid #EEF1EE}
.rewo-custrow:last-child{border-bottom:none}
.rewo-custrow .rewo-av{flex:0 0 auto;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font:700 13px Inter,sans-serif}
.rewo-custrow-main{flex:1 1 auto;min-width:0}
.rewo-custrow-name{font-weight:700;color:#23282A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rewo-custrow-meta{font-size:12px;color:#6E7679;margin-top:1px}
.rewo-custrow-contact{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:13px;text-align:right;max-width:45%}
.rewo-custrow-contact a{color:#3F6F1E;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.rewo-custrow-contact a:hover{text-decoration:underline}
@media(max-width:600px){.rewo-custrow{flex-wrap:wrap}.rewo-custrow-contact{align-items:flex-start;text-align:left;max-width:100%;padding-left:50px;width:100%}}

/* Aikataulun muokkaus (details) */
.rewo-sched-edit{margin-top:10px}
.rewo-sched-edit>summary{cursor:pointer;color:#3F6F1E;font-weight:600;font-size:13px;list-style:none}
.rewo-sched-edit>summary::-webkit-details-marker{display:none}
.rewo-sched-edit>summary::before{content:'✎ ';opacity:.7}

/* Lomakkeen yläpalkin napit */
.rewo-formtop{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}

/* Henkilöt-lohko: 3 saraketta */
.rewo-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rewo-userblock .rewo-multiusers{min-height:150px}
@media(max-width:760px){.rewo-grid3{grid-template-columns:1fr}}

/* Hakuvalikko (combobox) */
.rewo-combo{position:relative}
.rewo-combo-in{width:100%;padding:10px 12px;border:1px solid #d6dbd7;border-radius:10px;font-size:14px;background:#fff}
.rewo-combo-in:focus{outline:none;border-color:#54A924;box-shadow:0 0 0 3px rgba(120,184,52,.15)}
.rewo-combo-list{position:absolute;z-index:9999;left:0;right:0;top:calc(100% + 4px);max-height:260px;overflow:auto;background:#fff;border:1px solid #d6dbd7;border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.12)}
.rewo-combo-opt{padding:9px 12px;font-size:14px;cursor:pointer;border-bottom:1px solid #F1F3F1}
.rewo-combo-opt:last-child{border-bottom:none}
.rewo-combo-opt:hover{background:#F2F8ED}
.rewo-combo-opt.is-sel{background:#E9F4DF;font-weight:600}

/* Liitteiden näkyvyystaulukko */
.rewo-vis-table{width:100%;border-collapse:collapse;margin-top:4px}
.rewo-vis-table th{text-align:left;font-size:12px;color:#6E7679;font-weight:600;padding:6px 8px;border-bottom:1px solid #E3E6E3}
.rewo-vis-table th:nth-child(2),.rewo-vis-table th:nth-child(3){text-align:center;width:96px}
.rewo-vis-table td{padding:8px;border-bottom:1px solid #F1F3F1;vertical-align:middle}
.rewo-vis-c{text-align:center}
.rewo-vis-c input{width:20px;height:20px;cursor:pointer}
.rewo-vis-file{display:flex;align-items:center;gap:10px}
.rewo-vis-file img{width:40px;height:40px;object-fit:cover;border-radius:6px;flex:0 0 auto}
.rewo-vis-doc{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#F1F3F1;border-radius:6px;font-size:18px;flex:0 0 auto}
.rewo-vis-name{display:flex;flex-direction:column;min-width:0}
.rewo-vis-name small{color:#6E7679;font-size:11px}
@media(max-width:600px){
  .rewo-vis-table thead{display:none}
  .rewo-vis-table tr{display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid #E3E6E3;padding:6px 0}
  .rewo-vis-table td{border:none;padding:4px 8px}
  .rewo-vis-table td[data-label="Liite"]{flex:1 1 100%}
  .rewo-vis-c{flex:1 1 50%;text-align:left}
  .rewo-vis-c::before{content:attr(data-label) ": ";font-size:12px;color:#6E7679}
}

/* Hankinnat: projektiryhmät + rivin tilavalitsin */
.rewo-hankgrp-h{display:flex;align-items:center;gap:8px;font-weight:700;color:#23282A;padding:4px 2px 10px;border-bottom:1px solid #EEF1EE;margin-bottom:8px}
.rewo-hankgrp-n{margin-left:auto;background:#EEF1EE;color:#5A6168;border-radius:20px;padding:1px 9px;font-size:12px;font-weight:600}
.rewo-hank-statussel{border:1px solid #d6dbd7;border-radius:8px;padding:6px 8px;font-size:13px;background:#fff;max-width:170px}
.rewo-hank-statusform{margin:0}

/* ===========================================================================
 * NATIIVI/RYHMITELTY ILME (videon mukainen iOS-tyyli) — v2.192
 * Sovelletaan koko sovellukseen; korostus projekti + osto/myynti + KPI/kassavirta.
 * ========================================================================= */
.rewo-app{ --blue:#2563EB; --blue-d:#1D4FD7; --pos:#1F8A3B; --neg:#C0341D; --grouped:#EEF1EE; }

/* Projektin (ja muut) alivälilehdet: vaakavieritettävät, aktiivinen sininen pilleri */
.rewo-app .rewo-subnav{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;
  padding:4px 0 10px;margin:0 0 14px;border-bottom:1px solid var(--line);scrollbar-width:none;}
.rewo-app .rewo-subnav::-webkit-scrollbar{display:none;}
.rewo-app .rewo-subnav-i{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;
  font-family:'Poppins',sans-serif;font-size:15px;font-weight:600;color:var(--muted);
  text-decoration:none;padding:9px 18px;border-radius:999px;white-space:nowrap;transition:.15s;}
.rewo-app .rewo-subnav-i:hover{color:var(--ink);background:var(--panel);}
.rewo-app .rewo-subnav-i.is-active{background:var(--blue);color:#fff;box-shadow:0 8px 18px -10px rgba(37,99,235,.7);}

/* Ryhmäotsikot (iOS-tyyli): pieni, suuraakkoset, harmaa */
.rewo-app .rewo-h2{font-family:'Inter',sans-serif;font-size:12.5px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:22px 4px 8px;}

/* Kortit: pehmeämmät, ryhmitellyt valkoiset laatikot */
.rewo-app .rewo-card{background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:18px 18px;margin-bottom:16px;box-shadow:0 1px 2px rgba(16,24,16,.04),0 12px 28px -24px rgba(16,24,16,.5);}
/* Taustakäsittely-laskuri (hyväksynnän jälkeen) — korkea kontrasti, oma rivi */
.ok-bg-countdown{flex:1 1 100%;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px;
  background:#2B3036;border:1px solid #2B3036;border-radius:12px;padding:10px 14px;font-size:13px;color:#fff;}
.ok-bg-countdown .ok-bg-msg{font-weight:700;color:#fff;}
.ok-bg-countdown .ok-bg-close{margin-left:auto;background:#fff;color:#1B1F23;border:1px solid #fff;border-radius:9px;
  padding:7px 14px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;}
.ok-bg-countdown .ok-bg-close:hover{background:#ECEEF0;}
/* Kierron tab-palkin visuaalinen väli (Hyväksytyt + Maksetut omana lohkona) */
.ok-tab-sep{flex:0 0 14px;align-self:stretch;min-height:38px;border-left:2px solid var(--line,#E3E6E9);margin:6px 5px;}
/* Ostokierto-asetussivun ryhmittely (selkeät alikortit otsikoineen) */
.rewo-setgrp{background:#F7F8F9;border:1px solid var(--line,#E3E6E9);border-radius:12px;padding:14px 16px;margin:0 0 14px}
.rewo-setgrp-h{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:#1B1F23;margin:0 0 4px}
.rewo-setgrp-help{font-size:12.5px;color:#727A82;margin:0 0 12px;line-height:1.5}
.rewo-setsub{font-weight:600;font-size:13.5px;color:#1B1F23;margin:0 0 6px}
.rewo-setsub-note{font-weight:400;font-size:12px;color:#8A9097}
.rewo-rolegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 16px;margin:2px 0 4px}
.rewo-rolegrid .rewo-check{display:flex;align-items:center;gap:7px;font-size:13.5px;padding:3px 0;cursor:pointer}
.rewo-setgrp .rewo-field{margin:9px 0}
.rewo-setgrp select[multiple]{border:1px solid var(--line,#E3E6E9);border-radius:9px;padding:4px;background:#fff}
/* Projektin nimi kiertolistan rivillä */
.ok-inv-proj{display:inline-block;font-size:12.5px;color:#2E7D52;font-weight:600;margin-top:2px;}
.rewo-app .rewo-card h3{font-family:'Poppins',sans-serif;font-size:17px;font-weight:700;margin:0 0 12px;color:var(--charcoal-d);}
/* Kortin otsikon ikonilaatta (vihreä sävy) jos käytössä */
.rewo-app .rewo-cardhead{display:flex;align-items:center;gap:12px;margin:-2px 0 12px;}
.rewo-app .rewo-cardhead h3{margin:0;}
.rewo-app .rewo-cardicon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:#E8F4E1;color:var(--green-d);font-size:20px;flex:0 0 auto;}

/* Napit: pyöreät pillerit; sininen ja tumma variantti; täysleveä rivissä */
.rewo-app .rewo-btn{border-radius:14px;padding:11px 18px;font-size:14px;}
.rewo-app .rewo-btn-blue{background:var(--blue);color:#fff;box-shadow:0 12px 24px -14px rgba(37,99,235,.8);}
.rewo-app .rewo-btn-blue:hover{background:var(--blue-d);}
.rewo-app .rewo-btn-dark{background:#1E5E22;color:#fff;}
.rewo-app .rewo-btn-dark:hover{filter:brightness(1.08);}
.rewo-app .rewo-btn[disabled],.rewo-app .rewo-btn.is-disabled{background:#E7EAE7;color:#9aa19a;box-shadow:none;cursor:not-allowed;}
.rewo-app .rewo-btnrow{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;}
.rewo-app .rewo-btnrow .rewo-btn{width:100%;text-align:center;}
@media(max-width:520px){.rewo-app .rewo-btnrow{grid-template-columns:1fr 1fr;}}

/* KPI-ruudut: iso arvo + pieni otsikko; pos/neg värit (kassavirta) */
.rewo-app .rewo-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;}
.rewo-app .rewo-stat{border-radius:16px;border-left-width:1px;padding:14px 16px;}
.rewo-app .rewo-stat.pos .rewo-stat-val{color:var(--pos);}
.rewo-app .rewo-stat.neg .rewo-stat-val{color:var(--neg);}
.rewo-app .rewo-kpigrid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-top:8px;}
.rewo-app .rewo-kpi .l{font-size:12.5px;color:var(--muted);font-weight:600;}
.rewo-app .rewo-kpi .v{font-family:'Poppins',sans-serif;font-size:20px;font-weight:800;color:var(--charcoal-d);line-height:1.2;}
.rewo-app .rewo-kpi.pos .v{color:var(--pos);}
.rewo-app .rewo-kpi.neg .v{color:var(--neg);}

/* Listarivit korttimaisina (osto/myynti): radio + nimi + alaotsikko + hinta + ⋮ */
.rewo-app .rewo-listrow{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:14px 16px;margin-bottom:10px;box-shadow:0 1px 2px rgba(16,24,16,.04);}
.rewo-app .rewo-listrow .nm{font-weight:700;color:var(--charcoal-d);font-size:15.5px;line-height:1.25;}
.rewo-app .rewo-listrow .sub{font-size:13px;color:var(--muted);margin-top:2px;}
.rewo-app .rewo-listrow .amt{margin-left:auto;font-family:'Poppins',sans-serif;font-weight:800;font-size:16px;color:var(--charcoal-d);white-space:nowrap;}
.rewo-app .rewo-listrow .more{color:var(--muted);font-size:20px;line-height:1;padding:4px;}

/* Tilamerkki (badge) — esim. "Laskutettu" */
.rewo-app .rewo-pill{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;}
.rewo-app .rewo-pill.ok{background:#E2F2E2;color:#1F7A35;}
.rewo-app .rewo-pill.warn{background:#FBE9D6;color:#B65B1C;}

/* iOS-kytkin: input[type=checkbox].rewo-toggle */
.rewo-app input.rewo-toggle{appearance:none;-webkit-appearance:none;width:48px;height:28px;border-radius:999px;
  background:#D5DAD5;position:relative;cursor:pointer;transition:.2s;vertical-align:middle;flex:0 0 auto;}
.rewo-app input.rewo-toggle::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:.2s;}
.rewo-app input.rewo-toggle:checked{background:#34C759;}
.rewo-app input.rewo-toggle:checked::after{left:23px;}

/* Segmentoitu kontrolli: .rewo-seg > a/button */
.rewo-app .rewo-seg{display:inline-flex;background:#E7EAE7;border-radius:12px;padding:3px;gap:2px;}
.rewo-app .rewo-seg > *{border:0;background:transparent;font-weight:600;font-size:14px;color:var(--muted);
  padding:8px 18px;border-radius:9px;cursor:pointer;text-decoration:none;}
.rewo-app .rewo-seg > .is-active{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12);}

/* Lomakekentät: pehmeämmät, ryhmitellyn näköiset */
.rewo-app .rewo-form input[type=text],.rewo-app .rewo-form input[type=number],
.rewo-app .rewo-form input[type=date],.rewo-app .rewo-form input[type=time],
.rewo-app .rewo-form select,.rewo-app .rewo-form textarea{
  border-radius:12px;border:1px solid var(--line);background:#fff;padding:12px 14px;font-size:15px;}
.rewo-app .rewo-form label > span{font-size:13px;color:var(--muted);font-weight:600;}

/* Osto/Myynti -taulut ERP-projektinäkymässä: siistit rivit + korttinäkymä mobiilissa */
.rewo-app .rewo-tp-table{width:100%;border-collapse:collapse;font-size:15px;}
.rewo-app .rewo-tp-table thead th{text-align:left;font-size:12px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--muted);padding:8px 12px;border-bottom:1px solid var(--line);}
.rewo-app .rewo-tp-table td{padding:11px 12px;border-bottom:1px solid var(--line);}
.rewo-app .rewo-tp-table tr:last-child td{border-bottom:0;}
@media(max-width:760px){
  .rewo-app .rewo-tp-table.is-cards thead{display:none;}
  .rewo-app .rewo-tp-table.is-cards,.rewo-app .rewo-tp-table.is-cards tbody,
  .rewo-app .rewo-tp-table.is-cards tr,.rewo-app .rewo-tp-table.is-cards td{display:block;width:100%;box-sizing:border-box;}
  .rewo-app .rewo-tp-table.is-cards tr{background:#fff;border:1px solid var(--line);border-radius:14px;
    padding:12px 14px;margin-bottom:10px;box-shadow:0 1px 2px rgba(16,24,16,.05);}
  .rewo-app .rewo-tp-table.is-cards td{display:flex;justify-content:space-between;gap:14px;border:0;padding:6px 0;text-align:right;}
  .rewo-app .rewo-tp-table.is-cards td::before{content:attr(data-label);font-weight:600;color:var(--muted);text-align:left;flex:0 0 auto;}
  .rewo-app .rewo-tp-table.is-cards td:empty{display:none;}
  .rewo-app .rewo-tp-table.is-cards td:first-child{font-weight:700;color:var(--charcoal-d);font-size:15.5px;}
}

/* Boolean-kentät iOS-kytkinriveiksi (label vasemmalla, kytkin oikealla) — videon mukainen */
.rewo-app .rewo-checkfield{display:flex;flex-direction:row-reverse;align-items:center;gap:12px;
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;}
.rewo-app .rewo-checkfield > span{flex:1;font-weight:600;color:var(--ink);}
.rewo-app .rewo-checkfield input[type=checkbox]{appearance:none;-webkit-appearance:none;width:48px;height:28px;
  border-radius:999px;background:#D5DAD5;position:relative;cursor:pointer;transition:.2s;flex:0 0 auto;margin:0;}
.rewo-app .rewo-checkfield input[type=checkbox]::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;
  border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:.2s;}
.rewo-app .rewo-checkfield input[type=checkbox]:checked{background:#34C759;}
.rewo-app .rewo-checkfield input[type=checkbox]:checked::after{left:23px;}

/* === Versio 2: kuvakeruudukko-koti (valittava asetuksista) === */
.rewo-app .rewo-v2-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.rewo-app .rewo-v2-switch a{font-size:13px;font-weight:600;color:var(--green-d);text-decoration:none;}
.rewo-app .rewo-v2-switch a:hover{text-decoration:underline;}
.rewo-app .rewo-v2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:16px 12px;margin-top:16px;}
.rewo-app .rewo-v2-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;color:var(--ink);}
.rewo-app .rewo-v2-ic{width:64px;height:64px;border-radius:18px;display:flex;align-items:center;justify-content:center;
  font-size:30px;color:#fff;box-shadow:0 10px 22px -12px rgba(0,0,0,.5);transition:transform .12s;}
.rewo-app .rewo-v2-tile:hover .rewo-v2-ic{transform:translateY(-3px);}
.rewo-app .rewo-v2-tile:active .rewo-v2-ic{transform:translateY(-1px);}
.rewo-app .rewo-v2-badge{position:absolute;top:-6px;left:50%;margin-left:14px;min-width:20px;height:20px;padding:0 5px;
  border-radius:999px;background:#E5392B;color:#fff;font-size:11px;font-weight:700;line-height:20px;text-align:center;
  box-shadow:0 2px 6px rgba(0,0,0,.25);}
.rewo-app .rewo-v2-label{font-size:12.5px;font-weight:600;text-align:center;line-height:1.2;color:var(--charcoal-d);max-width:92px;}
@media(min-width:560px){
  .rewo-app .rewo-v2-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:20px;}
  .rewo-app .rewo-v2-ic{width:72px;height:72px;font-size:34px;}
  .rewo-app .rewo-v2-badge{margin-left:18px;}
}

/* V2 KPI-mittaririvi */
.rewo-app .rewo-v2-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:16px 0 6px;}
.rewo-app .rewo-v2-kpis .rewo-stat{display:flex;flex-direction:column;gap:2px;}

/* V2 ryhmitelty koti: pikahaku + osiot */
.rewo-app .rewo-v2-search{position:relative;margin:14px 0 6px;}
.rewo-app .rewo-v2-search-ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:15px;opacity:.6;pointer-events:none;}
.rewo-app .rewo-v2-search input{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;
  padding:12px 14px 12px 40px;font-size:15px;box-shadow:0 1px 2px rgba(16,24,16,.04);}
.rewo-app .rewo-v2-search input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.12);}
.rewo-app .rewo-v2-section{margin-top:22px;}
.rewo-app .rewo-v2-sec-h{display:flex;align-items:center;gap:8px;margin:0 2px 12px;
  font-family:'Inter',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.rewo-app .rewo-v2-sec-ic{font-size:15px;}

/* V2 agendakortti (Tulevat) */
.rewo-app .rewo-v2-agenda{display:flex;flex-direction:column;}
.rewo-app .rewo-ag-row{display:flex;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);}
.rewo-app .rewo-ag-row:last-child{border-bottom:0;}
.rewo-app .rewo-ag-date{flex:0 0 auto;font-variant-numeric:tabular-nums;font-weight:700;font-size:13.5px;color:var(--charcoal-d);min-width:74px;}
.rewo-app .rewo-ag-dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:#2563EB;}
.rewo-app .rewo-ag-dot.pj{background:#9B51E0;}
.rewo-app .rewo-ag-dot.tk{background:#E0563A;}
.rewo-app .rewo-ag-label{font-size:14.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rewo-app .rewo-ag-row:hover .rewo-ag-label{color:var(--green-d);}

/* V2: pelkät pallot — valikko piilossa, paluu etusivulle kotinapilla */
.rewo-app .rewo-shell-v2{display:block;}
.rewo-app .rewo-shell-v2 .rewo-main{flex:1;width:100%;}
.rewo-app .rewo-v2-topbar{margin:0 0 16px;}
.rewo-app .rewo-v2-home{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);
  border-radius:999px;padding:10px 18px;font-family:'Poppins',sans-serif;font-weight:700;font-size:15px;color:var(--charcoal-d);
  text-decoration:none;box-shadow:0 1px 3px rgba(16,24,16,.07);}
.rewo-app .rewo-v2-home:hover{border-color:var(--green);transform:translateY(-1px);}

/* V2 kuvakkeiden järjestely (iPhone-tyyli) */
.rewo-app .rewo-v2-editbtn{margin:14px 0 2px;background:#fff;border:1px solid var(--line);border-radius:999px;
  padding:8px 16px;font-weight:600;font-size:13.5px;color:var(--charcoal-d);cursor:pointer;}
.rewo-app .rewo-v2-editbtn:hover{border-color:var(--green);}
.rewo-app .rewo-v2.is-editing .rewo-v2-tile{animation:rewojiggle .35s ease-in-out infinite;touch-action:none;}
.rewo-app .rewo-v2.is-editing .rewo-v2-tile .rewo-v2-ic{cursor:grab;}
.rewo-app .rewo-v2-tile.rewo-dragging{opacity:.9;transform:scale(1.1) !important;animation:none !important;z-index:5;position:relative;}
@keyframes rewojiggle{0%{transform:rotate(-1.4deg)}50%{transform:rotate(1.4deg)}100%{transform:rotate(-1.4deg)}}

/* V2 pieni nappi + mukautusvalikko */
.rewo-app .rewo-btn-sm{padding:7px 14px;font-size:13.5px;border-radius:10px;}
.rewo-app .rewo-v2-cust{margin:18px 0 10px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:2px 14px;}
.rewo-app .rewo-v2-cust > summary{cursor:pointer;font-weight:600;font-size:14px;color:var(--charcoal-d);padding:11px 0;list-style:none;}
.rewo-app .rewo-v2-cust > summary::-webkit-details-marker{display:none;}
.rewo-app .rewo-v2-cust-form{padding:2px 0 12px;display:flex;flex-direction:column;gap:8px;}

/* === Viestit / ilmoituskeskus === */
.rewo-app .rewo-notif-list{display:flex;flex-direction:column;gap:10px;}
.rewo-app .rewo-notif-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;}
.rewo-app .rewo-notif-ic{font-size:22px;line-height:1;}
.rewo-app .rewo-notif-main{flex:1;min-width:0;}
.rewo-app .rewo-notif-title{font-weight:600;font-size:14px;}
.rewo-app .rewo-notif-body{font-size:13px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;}

/* Viestit: kohteen toiminnot (Avaa / Merkitse luetuksi) */
.rewo-app .rewo-notif-act{display:flex;flex-direction:column;align-items:flex-end;gap:4px;white-space:nowrap;}
.rewo-app .rewo-notif-read{font-size:12px;}

/* Viestit: työpöytäilmoitusten lupapalkki */
.rewo-app .rewo-notif-permbar{margin:0 0 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}

/* Viestit: työkalurivi + huomautukset */
.rewo-app .rewo-notif-tools{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px;}
.rewo-app .rewo-note{padding:10px 14px;border-radius:10px;background:#F1F4F2;border:1px solid var(--line);font-size:13.5px;margin:0 0 12px;}
.rewo-app .rewo-note.ok{background:#EAF7EC;border-color:#2E9E3F;}

/* Viestit: ilmoitusasetukset */
.rewo-app .rewo-notif-prefs{margin:0 0 14px;}
.rewo-app .rewo-notif-prefs summary{cursor:pointer;font-weight:600;}
.rewo-app .rewo-notif-prefs .rewo-checkline{display:flex;align-items:center;gap:8px;margin:6px 0;}

/* Header: takaisin-nappi + pieni logout-kuvake (oikea yläkulma) */
.rewo-topcard-back{font-family:'Poppins',sans-serif;font-weight:600;font-size:13px;color:#fff;cursor:pointer;
  background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:8px 16px;line-height:1;transition:background .15s;}
.rewo-topcard-back:hover{background:rgba(255,255,255,.12);}
.rewo-topcard-logout.is-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
  padding:0;font-size:16px;border-radius:999px;}

/* Oma työpöytä (pikakuvakkeet) + valitsin */
.rewo-v2-pins .rewo-v2-sec-h{display:flex;align-items:center;gap:8px}
.rewo-v2-pinedit{margin-left:auto;font:600 12px/1 'Poppins',sans-serif;color:#2C5F2D;background:#fff;border:1px solid #d6dbd7;border-radius:999px;padding:6px 12px;cursor:pointer}
.rewo-v2-pinedit:hover{border-color:#54A924}
.rewo-v2-pinpicker{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9999;display:flex;align-items:flex-end;justify-content:center}
.rewo-v2-pinpicker[hidden]{display:none}
.rewo-v2-pinpicker-in{background:#fff;width:100%;max-width:560px;max-height:82vh;display:flex;flex-direction:column;border-radius:16px 16px 0 0;overflow:hidden}
@media(min-width:600px){.rewo-v2-pinpicker{align-items:center}.rewo-v2-pinpicker-in{border-radius:16px}}
.rewo-v2-pinpicker-h{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #eef1ee;font-size:15px;color:#0E3A35}
.rewo-v2-pinclose{background:none;border:0;font-size:18px;cursor:pointer;color:#6b7570;line-height:1;padding:4px}
.rewo-v2-pinlist{overflow:auto;padding:10px 12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(min-width:480px){.rewo-v2-pinlist{grid-template-columns:1fr 1fr 1fr}}
.rewo-v2-pinopt{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e3e6e3;border-radius:10px;cursor:pointer;font-size:13px;color:#23282A}
.rewo-v2-pinopt.is-on{border-color:#54A924;background:#f3f9ef}
.rewo-v2-pinopt input{margin:0;flex:0 0 auto}
.rewo-v2-pinopt-ic{font-size:16px}
.rewo-v2-pinopt-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rewo-v2-pinpicker-f{padding:12px 16px;border-top:1px solid #eef1ee;text-align:right}

/* Push-diagnostiikka */
.rewo-pushdiag-row{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:1px solid #f0f2f0}
.rewo-pushdiag-row:last-child{border-bottom:0}
.rewo-pushdiag-ic{flex:0 0 auto;font-size:15px;line-height:1.4}
.rewo-pushdiag-l{font-size:13px;color:#23282A}

/* Työaikakello yläpalkissa (Talentti-työntekijä) */
.rewo-topcard-timer{display:inline-flex;align-items:center;margin-left:10px}
.rewo-topcard-timer form{margin:0}
.rewo-topcard-timer .rewo-tp-timerstartbtn{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600;cursor:pointer}
.rewo-topcard-timer .rewo-tp-timerstartbtn:hover{background:rgba(255,255,255,.24)}
.rewo-topcard-timer .rewo-tp-timerchip{display:inline-flex;align-items:center;gap:7px;color:#fff;font-size:12px;font-weight:600;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:5px 10px}
.rewo-topcard-timer .rewo-tp-timerchip .dot{width:8px;height:8px;border-radius:50%;background:#7ED957;box-shadow:0 0 0 0 rgba(126,217,87,.6);animation:rewotpblink 1.4s infinite}
@keyframes rewotpblink{50%{opacity:.4}}
.rewo-topcard-timer .rewo-tp-timerstop{display:inline}
.rewo-topcard-timer .rewo-tp-timerstop button{background:transparent;border:0;color:#fff;cursor:pointer;font-size:13px;padding:0 0 0 4px;line-height:1}
@media(max-width:560px){.rewo-topcard-timer{margin-left:6px}.rewo-topcard-timer .rewo-tp-timerstartbtn,.rewo-topcard-timer .rewo-tp-timerchip{padding:5px 10px;font-size:11px}}

/* Suoraviestit (DM) */
.rewo-dm-compose summary{cursor:pointer;font-weight:600;color:#2C5F2D}
.rewo-dm-list{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.rewo-dm-item{border:1px solid #e3e6e3;border-radius:10px;padding:10px 12px;background:#fff}
.rewo-dm-item.is-unread{border-left:3px solid #54A924}
.rewo-dm-from{font-size:13px;font-weight:600;color:#23282A;margin-bottom:3px}
.rewo-dm-body{font-size:14px;color:#33403a;white-space:pre-wrap;word-break:break-word}
.rewo-dm-read{font-size:12px;display:inline-block;margin-top:6px}

/* Arvostelu-widget (sisäinen näkymä / shortcode) */
.rewo-rwwidget-head{font-size:18px;margin-bottom:12px;letter-spacing:1px}
.rewo-rwwidget-list{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-top:6px}
.rewo-rwwidget-card{border:1px solid #e3e6e3;border-radius:12px;padding:14px;background:#fff}
.rewo-rwwidget-stars{letter-spacing:1px;margin-bottom:6px}
.rewo-rwwidget-text{font-size:14px;color:#33403a;line-height:1.5}
.rewo-rwwidget-name{font-size:13px;color:#6b7570;margin-top:8px;font-weight:600}
.rewo-rwwidget-empty{color:#6b7570}

/* Aikataulu / Gantt */
.rewo-sched{position:relative;border:1px solid #e3e6e3;border-radius:12px;padding:8px 8px 10px;overflow-x:auto;background:#fafbfa}
.rewo-sched-axis{display:flex;border-bottom:1px solid #e3e6e3;margin-bottom:8px;min-width:520px}
.rewo-sched-month{font-size:11px;color:#6b7570;text-transform:capitalize;border-left:1px solid #eef0ee;padding:2px 4px;box-sizing:border-box;white-space:nowrap;overflow:hidden}
.rewo-sched-month:first-child{border-left:0}
.rewo-sched-today{position:absolute;top:24px;bottom:6px;width:2px;background:#C0561C;z-index:3}
.rewo-sched-row{display:flex;align-items:center;gap:8px;min-width:520px;margin:5px 0}
.rewo-sched-name{flex:0 0 160px;width:160px;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rewo-sched-name a{color:#1c2422;text-decoration:none}
.rewo-sched-track{position:relative;flex:1;height:26px;background:#f0f2f0;border-radius:6px}
.rewo-sched-bar{position:absolute;top:3px;height:20px;border-radius:6px;color:#fff;display:flex;align-items:center;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.rewo-sched-bar.is-late{outline:2px solid #C0561C;outline-offset:-2px}
.rewo-sched-bar-lbl{font-size:10px;font-weight:700;padding:0 6px;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.2)}
.rewo-sched-warn{color:#C0561C;font-size:12px;font-weight:600;margin-left:6px}
.rewo-sched-conflicts{border-left:4px solid #C0561C}
.rewo-sched-conflicts-hd{font-weight:700;color:#C0561C;margin-bottom:8px}
.rewo-sched-conflicts-list{margin:0 0 10px;padding-left:18px}
.rewo-sched-conflicts-list li{margin:3px 0;font-size:13.5px;color:var(--charcoal-d)}
.rewo-sched-sugg{display:block;margin-top:2px;font-size:12.5px;color:#2C5F2D;font-weight:600}
.rewo-sched-today.has-time::after{content:attr(data-now);position:absolute;top:-14px;left:3px;font-size:10px;font-weight:700;color:#C0561C;white-space:nowrap}
.rewo-sched-edit{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.rewo-sched-editrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-bottom:1px dashed #e3e6e3;padding-bottom:8px}
.rewo-sched-editname{flex:0 0 200px;font-size:13px;font-weight:600}
.rewo-sched-form{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}
.rewo-sched-form label{font-size:11px;color:#6b7570;display:flex;flex-direction:column;gap:2px}
.rewo-sched-form input[type=date]{border:1px solid #d6dbd7;border-radius:8px;padding:6px 8px;font:inherit}
@media(max-width:640px){.rewo-sched-name{flex-basis:110px;width:110px}.rewo-sched-editname{flex-basis:100%}}

/* Aikataulu: resurssikaistat + pikaresursointi */
.rewo-sched-row.is-lane{margin:2px 0}
.rewo-sched-name.is-lane{font-weight:500;font-size:12px;color:#6b7570;padding-left:10px}
.rewo-sched-row.is-lane .rewo-sched-track{height:18px;background:transparent}
.rewo-sched-bar.is-lane{top:2px;height:14px;background:#8aa0a0;opacity:.92}
.rewo-sched-bar.is-lane .rewo-sched-bar-lbl{font-size:9px}
.rewo-sched-assign{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rewo-sched-assign select{border:1px solid #d6dbd7;border-radius:8px;padding:6px 8px;font:inherit}

/* Määräaikavalvonta */
.rewo-monitor-sum{display:flex;gap:8px;margin-bottom:12px}
.rewo-monitor-pill{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px}
.rewo-monitor-pill.is-red{background:#fbe6e2;color:#b03a1c}
.rewo-monitor-pill.is-amber{background:#fdf2da;color:#9a6a12}
.rewo-monitor-list{display:flex;flex-direction:column;gap:8px}
.rewo-monitor-item{display:flex;align-items:flex-start;gap:10px;border:1px solid #e3e6e3;border-radius:10px;padding:10px 12px;text-decoration:none;color:#1c2422;background:#fff}
.rewo-monitor-item.is-red{border-left:4px solid #C0561C}
.rewo-monitor-item.is-amber{border-left:4px solid #E0A93B}
.rewo-monitor-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex:0 0 8px}
.rewo-monitor-item.is-red .rewo-monitor-dot{background:#C0561C}
.rewo-monitor-item.is-amber .rewo-monitor-dot{background:#E0A93B}
.rewo-monitor-body{display:flex;flex-direction:column}
.rewo-monitor-title{font-weight:600;font-size:14px}
.rewo-monitor-msg{font-size:13px;color:#5a655f}

/* ===== Tabletti / kosketus-optimointi (kenttäkäyttö, iPad) ===== */
@media (pointer: coarse) {
  /* Isommat napit ja kosketuskohteet */
  .rewo-btn, .rewo-tp-btn, .rewo-btn-primary, .rewo-btn-ghost { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; }
  .rewo-btn-sm, .rewo-tp-btn.small { min-height: 40px; }
  /* 16px-kentät estävät iOS:n automaattizoomin fokusoitaessa */
  input[type=text], input[type=number], input[type=date], input[type=email], input[type=url], input[type=search], select, textarea { font-size: 16px; }
  .rewo-form input, .rewo-form select, .rewo-form textarea, .rewo-sched-assign select, .rewo-cf-filters input, .rewo-cf-filters select { min-height: 46px; }
  /* Kierto-listat: väljemmät, helpommin osuttavat rivit */
  .rewo-mylist li { padding: 14px 12px; }
  .rewo-mylist li a { font-size: 16px; }
  details.rewo-card > summary { padding: 6px 0; font-size: 16px; }
}

/* Tablettileveys: väljempi asettelu Kierto + hyväksyntä */
@media (min-width: 768px) and (max-width: 1366px) {
  .rewo-mylist li { display: flex; align-items: center; gap: 12px; min-height: 56px; flex-wrap: wrap; }
  .rewo-mylist li a { flex: 1 1 auto; }
  .rewo-mylist .sum { font-weight: 700; font-size: 17px; margin-left: auto; }
  .rewo-mylist .rewo-pill { font-size: 13px; }
  /* Tuntien hyväksyntä -taulukko luettavammaksi + napit napsuteltaviksi */
  .rewo-tp-table th, .rewo-tp-table td { padding: 12px 14px; font-size: 15px; vertical-align: middle; }
  .rewo-tp-table .rewo-tp-btn { white-space: nowrap; min-height: 42px; }
  /* Sinulle osoitetut / jakamattomat -kortit isommalla otsikolla */
  .rewo-h3 { font-size: 17px; }
}

/* Ostolaskut: avattava "Näkymä ja haku" -toimintovalikko */
.rewo-fennoa-tools > summary{cursor:pointer;font-weight:700;color:#2C5F2D}
.rewo-fennoa-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}

/* Yhtenäinen avattava ohje-laatikko */
.rewo-ohje > summary{cursor:pointer;font-weight:700;color:#2C5F2D;list-style:none}
.rewo-ohje > summary::-webkit-details-marker{display:none}
.rewo-ohje > summary::before{content:"▸ ";color:#54A924}
.rewo-ohje[open] > summary::before{content:"▾ "}
.rewo-ohje-body{margin-top:8px;font-size:14px;color:#4a544e;line-height:1.5}
.rewo-ohje-body p{margin:0 0 6px}

/* ===== Yläkortin ikoninapit (takaisin/asetukset/uloskirjautuminen) ERP:n vieressä ===== */
.rewo-topcard-r .rewo-topcard-ic{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font-size:16px;line-height:1;text-decoration:none;cursor:pointer;font-family:'Poppins',sans-serif;padding:0}
.rewo-topcard-r .rewo-topcard-ic:hover{background:rgba(255,255,255,.12)}
.rewo-topcard-r .rewo-topcard-arrange{cursor:pointer;font-size:17px}
.rewo-topcard-r .rewo-topcard-arrange.is-editing{background:#78b834;border-color:#78b834;color:#fff}
/* Etusivun tervehdys: nimi + pieni rooli alle */
.rewo-v2-greet{display:flex;flex-direction:column;gap:2px}
.rewo-v2-role{margin:2px 0 0;font-size:13px;font-weight:600;color:#6b7375;letter-spacing:.2px}
/* Tiivis "Järjestä" -nappi */
.rewo-v2-editbtn.is-compact{padding:7px 14px;font-size:13px}

/* Sivun otsikon ratas-ikoni → erillinen asetussivu (sisältö alkaa heti ylhäältä) */
.rewo-page-gear{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:1px solid #e3e7e2;background:#fff;color:#2C5F2D;font-size:18px;text-decoration:none;line-height:1;flex:0 0 auto}
.rewo-page-gear:hover{background:#f1f5ef;border-color:#cdd6cb}

/* Tervehdys mustan yläkortin sisällä (valkoinen, oma rivi) */
.rewo-topcard-greet{flex-basis:100%;width:100%;display:flex;flex-direction:column;gap:1px;margin-top:8px}
.rewo-topcard-hi{font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(20px,5.2vw,28px);color:#fff;line-height:1.15}
.rewo-topcard-role{font-size:13px;font-weight:600;color:rgba(255,255,255,.7)}

/* Selkeä paluunappi otsikon kohdalla (korvaa Etusivu-pillerin + topcardin ←) */
.rewo-backbar{margin:0 0 14px}
.rewo-backbtn{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #cdd6cb;color:#23282A;border-radius:999px;padding:11px 18px;font-family:'Poppins',sans-serif;font-weight:600;font-size:14px;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.06);min-height:44px;text-decoration:none}
.rewo-backbtn:hover{background:#f1f5ef;border-color:#54A924;color:#2C5F2D}

/* Ostolaskun esikatselu leveämmäksi isolla näytöllä */
@media (min-width:1280px){
  .rewo-fmodal-box{width:min(1500px,96vw)}
  .rewo-fmodal-body{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
  .rewo-fmodal-pdfwrap,.rewo-fmodal-iframe{min-height:640px}
}
@media (min-width:1700px){
  .rewo-fmodal-box{width:min(1750px,94vw)}
  .rewo-fmodal-body{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr)}
}
/* Käsittelijä-laatikon siisti rivi */
.rewo-assign-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:6px 0 4px}
.rewo-assign-sel{flex:1 1 220px;min-width:200px}
.rewo-po-ai-handler{margin:6px 0;padding:8px 10px;background:#F4F8F1;border:1px solid #dfeada;border-radius:10px}

/* Kuukausipylväiden hover-laatikko */
.rewo-yearbars .rewo-bar{cursor:pointer;transition:opacity .12s}
.rewo-yearbars .rewo-bar:hover{opacity:.82}
.rewo-chart-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scroll-snap-type:x proximity;}
.rewo-chart-scroll .rewo-chart-inner{min-width:640px;scroll-snap-align:start;}
.rewo-chart-hint{display:none;font-size:11px;color:#9aa49d;text-align:center;margin:3px 0 0;letter-spacing:.02em;}
@media (max-width:680px){ .rewo-chart-hint{display:block;} }
.rewo-bars-tip{position:fixed;z-index:100000;pointer-events:none;background:#0E2418;color:#fff;padding:7px 11px;border-radius:9px;font:600 12.5px/1.3 'Poppins',sans-serif;box-shadow:0 8px 22px rgba(0,0,0,.22);white-space:nowrap}

.rewo-placed-block{margin:0 0 14px}
.rewo-osto-burger{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid #cdd6cb;background:#fff;color:#2C5F2D;font-size:18px;line-height:1;cursor:pointer;text-decoration:none}
/* Rivin toimintovalikko (⋯): siisti yksi ikoninappi, ei oletusmarkkeria (▶) */
.rewo-rowmenu{position:relative}
.rewo-rowmenu>summary.rewo-rowmenu-btn{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;border:1px solid var(--line,#E3E6E9);border-radius:9px;background:#fff;color:#5A636B;font-size:20px;line-height:1;
  transition:background .12s,border-color .12s,color .12s}
.rewo-rowmenu>summary.rewo-rowmenu-btn::-webkit-details-marker{display:none}
.rewo-rowmenu>summary.rewo-rowmenu-btn::marker{content:""}
.rewo-rowmenu>summary.rewo-rowmenu-btn:hover{background:#F4F5F6;border-color:#C9D0D6;color:#1B1F23}
.rewo-rowmenu[open]>summary.rewo-rowmenu-btn{background:#2B3036;border-color:#2B3036;color:#fff}
.rewo-osto-burger:hover{background:#f1f5ef;border-color:#54A924}
.rewo-tpblks.is-editing .rewo-tpblk{cursor:grab;outline:2px dashed #54A924;outline-offset:3px;border-radius:12px}
.rewo-tpblk.rewo-dragging{opacity:.6}
/* Ostolaskun kohdistus & käsittely: 3 saraketta + AI-napin ikoni */
.rewo-po-assign3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:10px}
.rewo-po-col-l{font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:#5a6b5a;font-weight:700;margin-bottom:6px}
.rewo-po-col h3.rewo-h3{display:none}
.rewo-po-assign3 .rewo-po-kpsel,.rewo-po-assign3 select{width:100%}
/* #35: projektihaku täysleveäksi ja samankorkuiseksi kuin kustannuspaikka-dropdown */
.rewo-po-assign3 .rewo-alloc-form{width:100%}
.rewo-po-assign3 .rewo-proj-search{max-width:none;flex:1 1 auto;min-width:0;min-height:42px}
.rewo-po-assign3 select,.rewo-po-assign3 .rewo-po-kpsel{min-height:42px}
.rewo-po-ai .rewo-po-ai-head{display:none}
.rewo-ai-ic{display:inline-flex;vertical-align:-2px;margin-right:3px}
@media(max-width:760px){.rewo-po-assign3{grid-template-columns:1fr}}
/* Geneerinen lightbox */
.rewo-lb{display:none;position:fixed;inset:0;z-index:100000}
.rewo-lb.is-open{display:block}
.rewo-lb-backdrop{position:absolute;inset:0;background:rgba(14,36,24,.55)}
.rewo-lb-panel{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(960px,94vw);max-height:90vh;overflow:auto;background:#f6f8f6;border-radius:14px;box-shadow:0 18px 60px rgba(0,0,0,.4);padding:16px 18px 22px}
.rewo-lb-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-16px;background:#f6f8f6;padding:6px 0 10px;margin:-6px 0 8px;border-bottom:1px solid #e3e6e3;z-index:2}
.rewo-lb-x{border:none;background:#e7eae9;width:34px;height:34px;border-radius:50%;font-size:16px;cursor:pointer;color:#33373a}
.rewo-lb-x:hover{background:#d7dbd8}
.rewo-btn-lg{padding:12px 20px;font-size:15px}
/* Tarjouksen Toiminnot-kortti: tiiviit toimintolomakkeet */
.rewo-action{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 0;border-top:1px solid #eef0ee;margin:0}
.rewo-action:first-of-type{border-top:none;padding-top:4px}
.rewo-action .rewo-f{margin:0}
.rewo-embed-list{margin:0;padding-left:18px;font-size:14px;line-height:1.7}
.rewo-embed-list code{background:#eef2ee;padding:2px 6px;border-radius:5px}
.rewo-embed-code{width:100%;font-family:monospace;font-size:12px;border:1px solid #d4d9d5;border-radius:8px;padding:10px;background:#fafbfa}
/* Korttiotsikko (otsikko + toimintonappi oikealle); varmistaa näkyvyyden myös ilman Talentti-CSS:ää */
.rewo-tp-cardhead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.rewo-tp-cardhead h1,.rewo-tp-cardhead h2,.rewo-tp-cardhead h3{margin:0}
.rewo-recruit-xf{list-style:none;margin:6px 0 0;padding:0;font-size:14px;line-height:1.7}
.rewo-recruit-xf li{margin-bottom:4px}
.rewo-fe{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}
.rewo-fe-head{display:none}
.rewo-fe-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border:1px solid #eef1ee;border-radius:10px;padding:8px}
.rewo-fe-row>input[type=text]{flex:1 1 140px;min-width:120px;border:1px solid #d4d9d5;border-radius:8px;padding:8px;font-size:14px}
.rewo-fe-row>select{flex:0 1 150px;border:1px solid #d4d9d5;border-radius:8px;padding:8px;font-size:14px}
.rewo-fe-req{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}
/* Fennoa-etusivun pikatoiminto: laskun kierto */
.rewo-fennoa-quick{padding:0;overflow:hidden}
.rewo-quick-tile{display:flex;align-items:center;gap:14px;padding:16px 18px;text-decoration:none;color:inherit}
.rewo-quick-tile:hover{background:#f6f8f5}
.rewo-quick-ic{font-size:26px;flex:0 0 auto;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#eaf3e2;border-radius:12px}
.rewo-quick-tx{display:flex;flex-direction:column;flex:1}
.rewo-quick-tx strong{font-size:16px;color:#23282A}
.rewo-quick-tx span{font-size:13px;color:#6b7770}
.rewo-quick-arrow{font-size:20px;color:#54A924;font-weight:800}
/* Modaalin kohdistus & käsittely -ruudukko */
.rewo-po-cols{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start}
.rewo-po-col{flex:1 1 200px;min-width:180px}
/* AI-palkin näkyvät toiminnot (analysoi + hyväksy) */
.rewo-po-ai-actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 0}
.rewo-btn-approve{background:#356016;color:#fff;border-color:#356016}
.rewo-btn-approve:hover{background:#2b4e12}
/* Tuotelistan joukkovalinta + poisto */
.rewo-bulkbar{display:flex;align-items:center;gap:12px;margin:0 0 10px;flex-wrap:wrap}
.rewo-bulk-n{font-size:13px;color:#6b7770}
.rewo-bulk-del{color:#b00020;border-color:#e2bcbc}
.rewo-bulk-del:hover{background:#fbeaea}
.rewo-bulk-c{width:38px;text-align:center}
.rewo-bulk-c input{width:18px;height:18px}
/* "Lähetä viesti" -säveltäjä */
.rewo-dm-compose{background:#fff;border:1px solid #e1e5e2;border-radius:14px;margin:0 0 14px;overflow:hidden}
.rewo-dm-compose>summary{cursor:pointer;list-style:none;padding:13px 16px;font-weight:700;color:#2C5F2D;display:flex;align-items:center;gap:8px;background:#f6f8f5}
.rewo-dm-compose>summary::-webkit-details-marker{display:none}
.rewo-dm-compose[open]>summary{border-bottom:1px solid #eef1ee}
.rewo-dm-form{padding:14px 16px;display:flex;flex-direction:column;gap:12px}
.rewo-dm-f{display:flex;flex-direction:column;gap:5px}
.rewo-dm-f>span{font-weight:700;font-size:13px;color:#3a443e}
.rewo-dm-f textarea{border:1px solid #d4d9d5;border-radius:12px;padding:12px;font:inherit;resize:vertical;min-height:84px;box-sizing:border-box}
.rewo-dm-foot{display:flex;justify-content:flex-end}
/* Tyylitellyt pudotusvalikot (kuvan mukainen pyöristetty + oma chevron) */
.rewo-dm-compose select,.rewo-form select,.rewo-f select,.rewo-search select,select.rewo-sortsel,.rewo-po-col select,.rewo-po-assign3 select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  border:1px solid #d4d9d5;border-radius:12px;padding:11px 36px 11px 13px;font:inherit;line-height:1.2;
  background-color:#fff;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2354A924' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:11px;cursor:pointer;
}
.rewo-dm-compose select:focus,.rewo-form select:focus,.rewo-f select:focus,.rewo-search select:focus,select.rewo-sortsel:focus{outline:none;border-color:#54A924;box-shadow:0 0 0 3px rgba(120,184,52,.15)}
/* Ostokierron rivit linkkeinä (sama tyyli kuin ostolaskulista) */
a.rewo-frow-link{display:block;text-decoration:none;color:inherit}
a.rewo-frow-link:hover{background:var(--panel);border-color:#cfe0c2}
/* Projektikohdistuksen live-hakukenttä */
.rewo-proj-search{border:1px solid #d4d9d5;border-radius:10px;padding:9px 12px;font:inherit;max-width:220px;width:100%;box-sizing:border-box}
.rewo-proj-search:focus{outline:none;border-color:#54A924;box-shadow:0 0 0 3px rgba(120,184,52,.15)}
/* Evelia-tyyliset tila-välilehdet (ostolaskut) */
.rewo-status-tabs{display:flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:2px solid #e3e6e3;margin:0 0 14px;padding:0 0 0}
.rewo-status-tabs::-webkit-scrollbar{display:none}
.rewo-stab{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border-radius:10px 10px 0 0;text-decoration:none;color:#5e6a63;font-weight:600;font-size:14px;border:2px solid transparent;border-bottom:none;margin-bottom:-2px;white-space:nowrap}
.rewo-stab:hover{background:#f3f6f1;color:#2C5F2D}
.rewo-stab.is-active{background:#54A924;color:#fff}
.rewo-stab-n{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:rgba(0,0,0,.12);font-size:12px;font-weight:700}
.rewo-stab.is-active .rewo-stab-n{background:rgba(255,255,255,.28)}
/* Ostolaskutaulukko (Evelia-tyyli) + sivutus */
.rewo-flist-table{display:block;gap:0}
.rewo-osto-table{width:100%;border-collapse:collapse}
.rewo-osto-table thead th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.02em;color:#6b756e;font-weight:700;padding:8px 10px;border-bottom:2px solid #e3e6e3;background:#f6f8f5;white-space:nowrap}
.rewo-osto-table tbody td{padding:11px 10px;border-bottom:1px solid #eef1ee;font-size:14px;vertical-align:middle}
tr.rewo-frow:hover{background:#f3f6f1}
.rewo-ta-r{text-align:right}
.rewo-td-supp{display:inline-flex;align-items:center;gap:8px}
.rewo-av-sm{width:24px;height:24px;font-size:11px;flex:0 0 auto}
.rewo-frow-page{white-space:nowrap;color:#2C5F2D;font-weight:600;text-decoration:none;font-size:13px}
.rewo-frow-page:hover{text-decoration:underline}
.rewo-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.rewo-pager-sizes{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.rewo-pager-lbl{font-size:13px;color:#6b756e;margin-right:4px}
.rewo-pager-size{border:1px solid #d4d9d5;background:#fff;border-radius:8px;padding:6px 11px;font:inherit;font-weight:600;cursor:pointer;color:#3a443e}
.rewo-pager-size:hover{background:#f3f6f1}
.rewo-pager-size.is-active{background:#54A924;border-color:#54A924;color:#fff}
.rewo-pager-nav{display:flex;align-items:center;gap:8px}
.rewo-pager-info{font-size:13px;color:#3a443e;min-width:70px;text-align:center}
.rewo-pager-prev,.rewo-pager-next{border:1px solid #d4d9d5;background:#fff;border-radius:8px;padding:6px 12px;font:inherit;cursor:pointer;font-weight:700;color:#2C5F2D}
.rewo-pager-prev:disabled,.rewo-pager-next:disabled{opacity:.4;cursor:default}
/* Mobiilissa taulukko korteiksi (is-cards hoitaa data-label) */
@media(max-width:760px){
  .rewo-osto-table thead{display:none}
  .rewo-osto-table,.rewo-osto-table tbody,.rewo-osto-table tr,.rewo-osto-table td{display:block;width:100%}
  .rewo-osto-table tr.rewo-frow{border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin-bottom:8px}
  .rewo-osto-table tbody td{border:none;padding:3px 0;display:flex;justify-content:space-between;gap:12px}
  .rewo-osto-table tbody td::before{content:attr(data-label);font-weight:700;color:#6b756e;font-size:12px}
  .rewo-osto-table tbody td.rewo-ta-r{justify-content:space-between}
}
/* Yläpalkin päivitysbanneri (kehittäjätila) */
.rewo-updbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:linear-gradient(90deg,#2C5F2D,#54A924);color:#fff;border-radius:12px;padding:12px 16px;margin:0 0 16px;box-shadow:0 2px 10px rgba(44,95,45,.25)}
.rewo-updbar.is-current{background:#eef2ee;color:#3a443e;box-shadow:none;border:1px solid #e1e5e2}
.rewo-updbar-txt{font-weight:600;font-size:14px}
.rewo-updbar-btns{display:flex;gap:8px;flex-wrap:wrap}
.rewo-updbar-btn{background:#fff;color:#2C5F2D;border:none;border-radius:9px;padding:9px 16px;font-weight:800;font-size:14px;cursor:pointer;white-space:nowrap}
.rewo-updbar-btn:hover{background:#eaf5e2}
.rewo-updbar-btn:disabled{opacity:.7;cursor:default}
.rewo-updbar-btn.ghost{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.5)}
.rewo-updbar-btn.ghost:hover{background:rgba(255,255,255,.28)}
.rewo-updbar.is-current .rewo-updbar-btn.ghost{background:#fff;color:#2C5F2D;border:1px solid #cdd8cd}
.rewo-theme-v2 .rewo-updbar{background:linear-gradient(90deg,#155e54,#2ec5b6);box-shadow:none}
.rewo-theme-v2 .rewo-updbar.is-current{background:#1f242e;color:#e9edf3;border-color:#333b49}
.rewo-theme-v2 .rewo-updbar-btn{background:#0c1f1c;color:#7fe7dc}

/* Aikataulu: muokkaus-/resursointirivit koko lohkon levyisiksi (L2/L3/L4) */
.rewo-sched-editrow{width:100%}
.rewo-sched-editrow > .rewo-sched-form,
.rewo-sched-editrow > .rewo-sched-assign{flex:1 1 auto;min-width:0;width:100%}
.rewo-sched-form > label{flex:1 1 160px}
.rewo-sched-form input[type=date]{width:100%;box-sizing:border-box}
.rewo-sched-form > .rewo-btn{flex:0 0 auto;margin-left:auto}
.rewo-sched-assign > select{flex:1 1 220px}
.rewo-sched-assign > .rewo-btn{flex:0 0 auto;margin-left:auto}

/* Projektin Tiedot-korttien kokoontaitto */
.rewo-coll-head{cursor:pointer;position:relative}
.rewo-coll-chev{float:right;margin-left:8px;opacity:.55;font-size:13px;transition:transform .2s}
.rewo-collcard.is-collapsed .rewo-coll-chev{transform:rotate(-90deg)}
.rewo-collcard.is-collapsed > :not(:first-child){display:none!important}

/* Ostokierto: "Avaa sivu" -linkki rivillä + anylasku-lista */
.rewo-frow-page{margin-left:auto;font-size:12px;color:#3F6F1E;text-decoration:none;white-space:nowrap}
.rewo-frow-page:hover{text-decoration:underline}
.rewo-anylasku > summary{list-style:none}
.rewo-anylasku > summary::-webkit-details-marker{display:none}
.rewo-anylasku-flist{max-height:480px;overflow:auto}

/* #14 Info-painike lohkon otsikon oikeaan reunaan (otsikon tasolle) */
.rewo-card h2 > .rewo-help-i,.rewo-card h3 > .rewo-help-i{float:right;margin-left:8px}
/* #17 Projektin kuvaus otsikon/numeron alla yläreunassa */
.rewo-proj-desc{margin:6px 0 0;color:#4a5550;font-size:14px;line-height:1.5;max-width:72ch}
.rewo-theme-v2 .rewo-proj-desc{color:#b9c4bd}

/* Aikataulu Gantt v2: ohjauspalkki, ryhmittely, päällekkäisyys, viikonloppu */
.rewo-sched-controls{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.rewo-sched-cgroup{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rewo-sched-clabel{font-size:12px;font-weight:700;color:#5a6b5a}
.rewo-sched-grouphd{font-weight:800;font-size:13px;color:#2C5F2D;margin:16px 0 4px;padding:0 0 4px;border-bottom:2px solid #e3e6e3}
.rewo-sched-bar.is-overlap{outline:2px solid #C0561C;box-shadow:0 0 0 2px rgba(192,86,28,.22)}
.rewo-sched-month.is-weekend{background:#f3f5f3;color:#9aa39a}
.rewo-theme-v2 .rewo-sched-clabel{color:#9fb0a4}
.rewo-theme-v2 .rewo-sched-grouphd{color:#86c98f;border-color:#2a352d}
.rewo-theme-v2 .rewo-sched-month.is-weekend{background:#1c241e;color:#6b7670}

/* Projektinäkymä-asetukset: selkeä lohkojärjestyslista */
.rewo-orderlist{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.rewo-orderrow{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e3e6e3;border-radius:12px;padding:10px 12px}
.rewo-orderrow.is-hidden{opacity:.65;background:#f6f7f6}
.rewo-orderrow-num{flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#eef3ec;color:#3F6F1E;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
.rewo-orderrow-name{flex:1 1 auto;font-weight:600;font-size:14px;min-width:0}
.rewo-orderrow-tag{font-size:11px;font-weight:600;color:#8a3a2e;background:#f6e3df;border-radius:6px;padding:1px 7px;margin-left:6px;white-space:nowrap}
.rewo-orderrow-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.rewo-orderrow-actions form{margin:0;display:inline}
.rewo-ordbtn{border:1px solid #d6dbd7;background:#fff;border-radius:8px;min-width:34px;height:34px;padding:0 10px;font-size:13px;cursor:pointer;color:#3a4540;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.rewo-ordbtn:hover{background:#f0f3f0}
.rewo-ordbtn.is-disabled{opacity:.3;cursor:default}
.rewo-ordbtn-toggle{font-weight:600}
.rewo-theme-v2 .rewo-orderrow{background:#1c241e;border-color:#2a352d}
.rewo-theme-v2 .rewo-orderrow.is-hidden{background:#181f1a}
.rewo-theme-v2 .rewo-orderrow-num{background:#21321f;color:#86c98f}
.rewo-theme-v2 .rewo-ordbtn{background:#222b24;border-color:#33403a;color:#cdd8d0}

/* Kehitystila: taulukko-/rivi-/summamerkit */
.rewo-devtag-th{background:#00838f;transform:translate(25%,-50%)}
.rewo-devtag-sum{background:#ad7a00;transform:translate(25%,-50%)}
.rewo-devtag-row{background:#5b6b5b;transform:translate(-40%,-50%)}

/* Lisätyöt */
.rewo-lisatyo{border:1px solid #e3e6e3;border-radius:12px;margin:8px 0;padding:0 12px;background:#fff}
.rewo-lisatyo > summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 0;font-weight:600}
.rewo-lisatyo > summary::-webkit-details-marker{display:none}
.rewo-lisatyo-title{flex:1 1 auto;min-width:0}
.rewo-lisatyo-body{padding:0 0 12px;border-top:1px solid #eef0ee}
.rewo-lisatyo-atts{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 8px}
.rewo-lisatyo-att.is-img img{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid #e3e6e3}
.rewo-lisatyo-att.is-file{display:inline-flex;align-items:center;padding:8px 10px;border:1px solid #d6dbd7;border-radius:8px;font-size:13px;color:#3a4540;text-decoration:none;background:#f7f9f7}
.rewo-theme-v2 .rewo-lisatyo{background:#1c241e;border-color:#2a352d}
.rewo-theme-v2 .rewo-lisatyo-att.is-file{background:#222b24;border-color:#33403a;color:#cdd8d0}

/* Switch-toggle (esim. Maksuerät: näytä siirretyt) */
.rewo-switch{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#3a4540;font-size:13px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:999px}
.rewo-switch .rewo-switch-knob{position:relative;width:36px;height:20px;border-radius:999px;background:#cfd6cf;transition:background .15s;flex:0 0 auto}
.rewo-switch .rewo-switch-knob::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.rewo-switch.is-on .rewo-switch-knob{background:#54A924}
.rewo-switch.is-on .rewo-switch-knob::after{left:18px}
.rewo-theme-v2 .rewo-switch{color:#cdd8d0}
.rewo-theme-v2 .rewo-switch .rewo-switch-knob{background:#3a4a40}

/* Myyntilaskun esikatselu */
.rewo-laskuprev-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px;border:1px solid #e3e6e3;border-radius:10px;background:#fbfdfa}
.rewo-theme-v2 .rewo-laskuprev-head{background:#1c241e;border-color:#2a352d}

/* Myyntilaskun esikatselu (laskun nakoinen) */
.rewo-invoice{background:#fff;border:1px solid #e3e6e3;border-radius:12px;padding:18px;color:#1a1f1c;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.rewo-invoice-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;border-bottom:2px solid #54A924;padding-bottom:12px}
.rewo-invoice-sender{font-size:12px;line-height:1.5;color:#3a4540}
.rewo-invoice-sender .nm{font-size:17px;font-weight:800;color:#0E2418}
.rewo-invoice-title{font-size:24px;font-weight:800;color:#0E2418;text-align:right;line-height:1}
.rewo-invoice-title span{display:block;font-size:12px;font-weight:700;color:#9A7B2C;letter-spacing:2px;margin-top:4px}
.rewo-invoice-parties{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:14px 0}
.rewo-invoice-to{font-size:13px;line-height:1.5}
.rewo-invoice-to .lbl{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#7a857e;margin-bottom:2px}
.rewo-invoice-meta{font-size:12px;min-width:200px}
.rewo-invoice-meta>div{display:flex;justify-content:space-between;gap:12px;padding:2px 0;border-bottom:1px dotted #e3e6e3}
.rewo-invoice-meta span{color:#7a857e}
.rewo-invoice-rows{width:100%;border-collapse:collapse;font-size:13px;margin:8px 0}
.rewo-invoice-rows th{text-align:left;border-bottom:1px solid #c9d2cb;padding:6px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#5a6b5a}
.rewo-invoice-rows td{padding:6px 8px;border-bottom:1px solid #eef0ee}
.rewo-invoice-rows .r{text-align:right}
.rewo-invoice-rows tr.cat td{background:#F3F6F2;font-weight:700;color:#0E2418}
.rewo-invoice-rows tfoot td{padding:6px 8px}
.rewo-invoice-rows tfoot tr.sum td{border-top:2px solid #54A924;font-weight:800;font-size:16px;color:#0E2418}
.rewo-invoice-note{font-size:12px;color:#5a6b5a;font-style:italic;margin:6px 0 0}
.rewo-invoice-foot{margin-top:14px;padding-top:10px;border-top:1px solid #e3e6e3;font-size:11px;color:#7a857e;text-align:center}
.rewo-theme-v2 .rewo-invoice{background:#1c241e;border-color:#2a352d;color:#e6ece8}
.rewo-theme-v2 .rewo-invoice-sender .nm,.rewo-theme-v2 .rewo-invoice-title{color:#eaf2e4}
.rewo-theme-v2 .rewo-invoice-rows tr.cat td{background:#222b24;color:#eaf2e4}

/* Ostolaskun perustiedot (kortti 1) */
.rewo-po-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:6px}
.rewo-po-facts>div{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:#f7f9f7;border:1px solid #eef0ee;border-radius:8px}
.rewo-po-facts span{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#7a857e}
.rewo-po-facts b{font-size:15px;color:#0E2418}
.rewo-theme-v2 .rewo-po-facts>div{background:#222b24;border-color:#33403a}
.rewo-theme-v2 .rewo-po-facts b{color:#eaf2e4}

/* Kehittäjäsivun kokoontaitettavat osiot (suljettu oletuksena, nuolesta auki) */
.rewo-foldcard>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:#0E2418;margin:0;-webkit-tap-highlight-color:transparent}
.rewo-foldcard>summary::-webkit-details-marker{display:none}
.rewo-foldcard>summary::before{content:"▸";color:#3F6F1E;font-size:13px;line-height:1;transition:transform .15s ease}
.rewo-foldcard[open]>summary::before{transform:rotate(90deg)}
.rewo-foldcard>summary:hover{color:#3F6F1E}
.rewo-foldcard>summary+*{margin-top:12px}
.rewo-theme-v2 .rewo-foldcard>summary{color:#eaf2e4}

/* Ostolaskun kiinnitetty alapalkki (paatoiminto aina nakyvissa) */
.rewo-po-sticky{position:sticky;bottom:0;z-index:40;margin:14px -16px 0;padding:10px 16px;background:rgba(255,255,255,.97);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-top:1px solid #e1e5e2;box-shadow:0 -4px 16px rgba(0,0,0,.07)}
.rewo-po-sticky-inner{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.rewo-po-sticky .rewo-btn{flex:0 0 auto}
.rewo-po-sticky-approve{min-width:150px;font-weight:700}
.rewo-theme-v2 .rewo-po-sticky{background:rgba(26,33,28,.97);border-top-color:#33403a;box-shadow:0 -4px 16px rgba(0,0,0,.3)}
@media(max-width:560px){.rewo-po-sticky-inner{justify-content:stretch}.rewo-po-sticky .rewo-btn{flex:1 1 auto;text-align:center}}

/* Työmaakuvat: lukittu ruudukko (estää kuvien päällekkäisyyden lopullisesti) */
.rewo-img-day .rewo-img-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;align-items:start}
.rewo-img-day .rewo-imgcell{width:auto;min-width:0;margin:0}

/* Liite-osion selkeämpi valinta-alue (task/new ym.) */
.rewo-upload-label .rewo-upload-n{display:inline-block;min-width:18px;text-align:center;background:#dff0d2;color:#356016;border-radius:999px;padding:0 6px;font-size:12px;font-weight:700;margin-left:6px}
.rewo-upload-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:2px dashed #cdd6cd;border-radius:12px;padding:16px 12px;background:#f8faf7;cursor:pointer;text-align:center;transition:border-color .15s,background .15s}
.rewo-upload-drop:hover{border-color:#54A924;background:#f1f7ec}
.rewo-upload-drop input[type=file]{font-size:0;width:0;height:0;opacity:0;position:absolute;pointer-events:none}
.rewo-upload-cta{font-weight:700;color:#2C5F2D;font-size:15px}
.rewo-upload-hint{font-size:12px;color:#7a857e}
.rewo-theme-v2 .rewo-upload-drop{background:#222b24;border-color:#3a463f}
.rewo-theme-v2 .rewo-upload-cta{color:#9fd67a}

/* Projektin "Tuotteet (varastosta)" — yhtenäinen lisäyspalkki */
.rewo-prod-addbar{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin-bottom:10px;padding:10px 12px;background:#f7f9f7;border:1px solid #eef0ee;border-radius:10px}
.rewo-theme-v2 .rewo-prod-addbar{background:#222b24;border-color:#33403a}

/* Yhteenveto: Tulevat-ryhmät */
.rewo-ag-group{margin-top:10px}
.rewo-ag-group:first-child{margin-top:0}
.rewo-ag-grouphead{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#7a857e;margin:0 0 4px;display:flex;align-items:center;gap:6px}
.rewo-ag-gn{background:#eef0ed;color:#5e6a63;border-radius:999px;padding:0 7px;font-size:11px;font-weight:700}
.rewo-ag-myohassa .rewo-ag-grouphead{color:#B23B2E}
.rewo-ag-myohassa .rewo-ag-gn{background:#f7dcd7;color:#B23B2E}
.rewo-ag-ajoittamattomat .rewo-ag-grouphead{color:#8a6d1f}
.rewo-ag-ajoittamattomat .rewo-ag-gn{background:#f6ecca;color:#8a6d1f}

/* Lomakkeen sisäinen alikortti (esim. tarjouksen Liitteet omana blokkina) */
.rewo-form .rewo-subcard{background:#fafbfa;border:1px solid #eef0ee;border-radius:12px;padding:14px;box-shadow:none}
.rewo-theme-v2 .rewo-form .rewo-subcard{background:#1f2722;border-color:#33403a}

/* Asetusvalikko ryhmiteltynä (selkeämpi) */
.rewo-settings-nav{display:flex;flex-direction:column;gap:10px;margin:0 0 18px}
.rewo-setgroup{background:var(--panel,#f7f9f7);border:1px solid #eef0ee;border-radius:12px;padding:9px 12px}
.rewo-setgroup-h{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:#7a857e;margin:0 0 7px}
.rewo-subtabs-wrap{display:flex;flex-wrap:wrap;gap:6px;border:none;padding:0;margin:0;overflow:visible}
.rewo-subtabs-wrap .rewo-subtab{border-radius:8px;white-space:nowrap}
.rewo-theme-v2 .rewo-setgroup{background:#222b24;border-color:#33403a}

/* Raportit: allekirjoitusalusta (#5) + TR-tulosdiagrammi (#4) */
.rewo-sigpad{border:1px solid #d4d9d5;border-radius:10px;padding:8px;background:#fff}
.rewo-sig-canvas{width:100%;max-width:600px;height:auto;aspect-ratio:600 / 180;border:1px dashed #c2c8c3;border-radius:8px;background:#fcfdfc;touch-action:none;display:block;cursor:crosshair}
.rewo-sig-foot{display:flex;align-items:center;gap:12px;margin-top:8px;flex-wrap:wrap}
.rewo-sig-name{font-size:13px;color:#3c463f}
.rewo-trchart{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:10px 0 4px;padding:12px 14px;border:1px solid #e1e5e2;border-radius:12px;background:#fafcf8}
.rewo-trchart-idx{font-size:30px;font-weight:800;line-height:1;display:flex;flex-direction:column;gap:2px}
.rewo-trchart-idx span{font-size:12px;font-weight:600;color:#6E7679}
.rewo-trchart-main{flex:1;min-width:200px}
.rewo-trchart-bar{display:flex;height:18px;border-radius:9px;overflow:hidden;background:#eef0ee}
.rewo-trchart-bar .ok{background:#3F8C1C}
.rewo-trchart-bar .fail{background:#C0392B}
.rewo-trchart-leg{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;font-size:13px;color:#3c463f}
.rewo-trchart-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:middle}

/* #11: tarjouksesta poimitut tyotehtavat (valintaruudut) */
.rewo-aitasks{display:flex;flex-direction:column;gap:6px;margin:4px 0 2px}
.rewo-aitask{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid #e1e5e2;border-radius:8px;background:#fafcf8;font-size:14px;cursor:pointer}
.rewo-aitask input{margin-top:3px}
.rewo-aitask span{flex:1}

/* #10: tarjouksen maksuerätaulukon rivit */
.rewo-me-rows{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.rewo-me-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rewo-me-row input{padding:8px 10px;border:1.5px solid #d7dad7;border-radius:8px;font-size:14px;font-family:inherit;background:#fff}
.rewo-me-row input[type=text]{flex:1;min-width:140px}
.rewo-me-row input[type=number]{width:130px}
.rewo-me-del{padding:6px 11px;line-height:1}
@media(max-width:640px){.rewo-me-row input[type=text],.rewo-me-row input[type=number]{flex:1 1 100%;width:auto;min-width:0}}

/* #15/#17: asiakaskortti-lightbox */
.rewo-custcard-name{font-size:19px;font-weight:800;color:#0E2418;margin-bottom:6px}
.rewo-custcard .rewo-view{display:flex;flex-direction:column;gap:2px}
.rewo-custcard .rewo-view-row{display:flex;gap:10px;padding:6px 0;border-bottom:1px solid #eef0ee}
.rewo-custcard .rewo-view-l{flex:0 0 160px;color:#6E7679;font-size:13px}
.rewo-custcard .rewo-view-v{flex:1;font-size:14px;color:#1d2420}
@media(max-width:560px){.rewo-custcard .rewo-view-row{flex-direction:column;gap:1px}.rewo-custcard .rewo-view-l{flex:none}}

/* ===========================================================================
 * MOBIILINÄKYMÄ — koko ERP, kytketään asetuksista (.rewo-main.rewo-mobile)
 * Mallina puhtaat kortit, isot kosketuskohteet, yksi sarake, kiinnittyvä Tallenna.
 * ========================================================================= */
@media(max-width:767px){
.rewo-main.rewo-mobile{max-width:680px;margin:0 auto;padding:10px 10px 96px;background:#f4f6f5}
.rewo-main.rewo-mobile .rewo-card{border-radius:18px;padding:16px;margin-bottom:14px;border:1px solid #e9ede9;box-shadow:0 1px 3px rgba(14,36,24,.06)}
.rewo-main.rewo-mobile .rewo-subcard{border-radius:16px}
.rewo-main.rewo-mobile .rewo-head{flex-direction:column;align-items:flex-start;gap:10px}
.rewo-main.rewo-mobile .rewo-h1{font-size:23px;line-height:1.2}
.rewo-main.rewo-mobile .rewo-h2{font-size:17px}
.rewo-main.rewo-mobile .rewo-headbtns{width:100%;display:flex;flex-direction:column;gap:8px}
.rewo-main.rewo-mobile .rewo-headbtns .rewo-btn{width:100%;text-align:center}

/* Lomakkeet: yksi sarake, isot kentät */
.rewo-main.rewo-mobile .rewo-grid2,
.rewo-main.rewo-mobile .rewo-grid3{display:block}
.rewo-main.rewo-mobile .rewo-f{margin-bottom:12px;display:block}
.rewo-main.rewo-mobile .rewo-f > span{display:block;margin-bottom:4px;font-weight:600;font-size:13px;color:#3c463f}
.rewo-main.rewo-mobile input[type=text],
.rewo-main.rewo-mobile input[type=number],
.rewo-main.rewo-mobile input[type=date],
.rewo-main.rewo-mobile input[type=email],
.rewo-main.rewo-mobile input[type=tel],
.rewo-main.rewo-mobile input[type=search],
.rewo-main.rewo-mobile input[type=password],
.rewo-main.rewo-mobile select,
.rewo-main.rewo-mobile textarea{width:100%;min-height:48px;font-size:16px;border-radius:12px;padding:12px 14px;box-sizing:border-box}
.rewo-main.rewo-mobile textarea{min-height:96px}

/* Napit isoiksi; ensisijainen toiminto täysleveä ja kiinnittyy alas */
.rewo-main.rewo-mobile .rewo-btn{min-height:48px;padding:12px 18px;border-radius:14px;font-size:15px;display:inline-flex;align-items:center;justify-content:center}
.rewo-main.rewo-mobile .rewo-formfoot{position:sticky;bottom:0;background:linear-gradient(to top,#f4f6f5 72%,rgba(244,246,245,0));padding:12px 0 6px;margin:8px 0 0;z-index:6}
.rewo-main.rewo-mobile .rewo-formfoot .rewo-btn{width:100%}
.rewo-main.rewo-mobile .rewo-formfoot .rewo-btn + .rewo-btn{margin-top:8px}

/* Takaisin-palkki */
.rewo-main.rewo-mobile .rewo-backbar{margin-bottom:10px}
.rewo-main.rewo-mobile .rewo-backbtn{min-height:44px;display:inline-flex;align-items:center;border-radius:12px}

/* Taulukot -> pinotut kortit (data-label / data-l otsikoiksi) */
.rewo-main.rewo-mobile .rewo-scroll{overflow:visible}
.rewo-main.rewo-mobile table.rewo-table{display:block;width:100%;border:0;background:transparent}
.rewo-main.rewo-mobile table.rewo-table thead{display:none}
.rewo-main.rewo-mobile table.rewo-table tbody{display:block}
.rewo-main.rewo-mobile table.rewo-table tr{display:block;background:#fff;border:1px solid #e9ede9;border-radius:14px;padding:10px 14px;margin-bottom:10px;box-shadow:0 1px 2px rgba(14,36,24,.05)}
.rewo-main.rewo-mobile table.rewo-table td{display:flex;justify-content:space-between;gap:14px;align-items:center;border:0;padding:7px 0;text-align:right}
.rewo-main.rewo-mobile table.rewo-table td::before{content:attr(data-label);color:#6E7679;font-size:13px;font-weight:600;text-align:left;flex:0 0 auto}
.rewo-main.rewo-mobile table.rewo-table td[data-l]::before{content:attr(data-l)}
.rewo-main.rewo-mobile table.rewo-table td:first-child{display:block;text-align:left;font-weight:700;font-size:16px;padding-top:2px}
.rewo-main.rewo-mobile table.rewo-table td:first-child::before{display:none}
.rewo-main.rewo-mobile table.rewo-table td:empty{display:none}

/* Tiedostorivit ja listakortit */
.rewo-main.rewo-mobile .rewo-filerow{flex-wrap:wrap;border-radius:14px;padding:12px 14px;gap:8px}
.rewo-main.rewo-mobile .rewo-statusselect{min-height:44px;font-size:15px}

/* Projektin detail-laatikot (b/l/v) väljemmiksi */
.rewo-main.rewo-mobile .b{padding:10px 0}
.rewo-main.rewo-mobile .rewo-projpick{grid-template-columns:1fr}

.rewo-main.rewo-mobile{padding-bottom:104px}
}

/* ============================ KEHITYSTILA: merkitse muutosjonoon ============================ */
.rewo-devtag{position:absolute;top:-9px;right:-9px;z-index:30;min-width:20px;height:20px;border-radius:999px;
  background:#7A2E2E;color:#fff;font-size:12px;line-height:20px;text-align:center;cursor:pointer;padding:0 5px;
  box-shadow:0 1px 3px rgba(0,0,0,.32);border:2px solid #fff;user-select:none;font-weight:700}
.rewo-devtag:hover{background:#9c3a3a}
.rewo-devtag-h{top:50%;right:-2px;transform:translateY(-50%)}
.rewo-devmodal{position:fixed;inset:0;z-index:100020;background:rgba(16,18,20,.55);display:flex;align-items:flex-start;justify-content:center;padding:16px;padding-top:max(16px,env(safe-area-inset-top,0px))}
.rewo-devmodal[hidden]{display:none}
.rewo-devmodal-in{background:#fff;border-radius:16px;width:100%;max-width:440px;padding:18px;box-shadow:0 18px 50px -12px rgba(0,0,0,.4)}
.rewo-devmodal-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:16px}
.rewo-devmodal-x{background:none;border:none;font-size:20px;color:#6b7375;cursor:pointer;padding:2px 6px}
.rewo-devmodal label{display:block;margin-bottom:12px;font-size:13px;font-weight:600;color:#3c463f}
.rewo-devmodal input,.rewo-devmodal textarea{width:100%;box-sizing:border-box;margin-top:5px;border:1px solid #d6dbd7;border-radius:10px;padding:10px 12px;font-size:15px;font-family:inherit}
.rewo-devmodal input[readonly]{background:#f4f6f5;color:#46524b;font-weight:500}
.rewo-devmodal-f{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}
.rewo-devtoast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,16px);z-index:4100;background:#0E2418;color:#fff;
  padding:11px 18px;border-radius:999px;font-size:14px;font-weight:600;box-shadow:0 8px 24px -8px rgba(0,0,0,.5);opacity:0;transition:opacity .25s,transform .25s;pointer-events:none}
.rewo-devtoast.show{opacity:1;transform:translate(-50%,0)}

/* ============================ LIITTEIDEN LIGHTBOX ============================ */
.rewo-attov{position:fixed;inset:0;z-index:2147483000;background:rgba(16,18,20,.82);display:flex;flex-direction:column}
.rewo-attov[hidden]{display:none}
.rewo-attov-bar{display:flex;align-items:center;gap:14px;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top,0px));padding-right:calc(64px + env(safe-area-inset-right,0px));color:#fff;background:rgba(0,0,0,.35);flex:0 0 auto}
.rewo-attov-name{flex:1;min-width:0;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rewo-attov-new{color:#cfe8c5;text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap}
.rewo-attov-new:hover{text-decoration:underline}
.rewo-attov-x{background:none;border:none;color:#fff;font-size:22px;cursor:pointer;line-height:1;padding:2px 6px}
/* Aina näkyvä, selkeä sulkuruksi oikeassa yläkulmassa (ei jää alavalikon alle) */
.rewo-attov-close{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));right:calc(14px + env(safe-area-inset-right,0px));z-index:2147483001;width:44px;height:44px;border-radius:50%;border:0;background:rgba(0,0,0,.62);color:#fff;font-size:26px;line-height:44px;text-align:center;cursor:pointer;box-shadow:0 2px 12px rgba(0,0,0,.4);padding:0}
.rewo-attov-close:hover{background:#B23B3B}
.rewo-attov-body{flex:1;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto;min-height:0}
.rewo-attov-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 8px 40px rgba(0,0,0,.5)}
.rewo-attov-frame{width:100%;height:100%;border:0;background:#fff;border-radius:8px}
.rewo-attov-panel{padding-bottom:96px !important}

/* ============================ TYÖTUNTIEN HALLINTA ============================ */
.rewo-th-sum{display:flex;flex-wrap:wrap;gap:12px}
.rewo-th-sumbox{flex:1 1 160px;background:#f4f6f5;border:1px solid #e6eae7;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:3px}
.rewo-th-sumbox span{font-size:12px;color:#6b7770;font-weight:600;text-transform:uppercase;letter-spacing:.4px}
.rewo-th-sumbox b{font-size:22px;color:#0E2418}
.rewo-th-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.rewo-th-filter label{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:600;color:#3c463f}
.rewo-th-add summary{cursor:pointer;font-size:15px;list-style:none}
.rewo-th-add summary::-webkit-details-marker{display:none}
.rewo-th-addgrid{display:flex;flex-wrap:wrap;gap:12px}
.rewo-th-addgrid label{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:600;color:#3c463f}
.rewo-th-addnote{flex:1 1 200px}
.rewo-th-addnote input{width:100%}
.rewo-th-rowform{display:inline}

/* Työtuntien hallinta – siisti kirjauslomake (Talentti-tyyli) */
.rewo-th-add .rewo-th-pick{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.rewo-th-add .rewo-th-pick label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:#3c463f;flex:1 1 240px;min-width:200px}
.rewo-th-add .rewo-th-pick select{min-height:46px;font-size:15px;border:1px solid #d6dbd7;border-radius:12px;padding:10px 12px;background:#fff}
/* Livehaku-combobox (tuntihallinta: työntekijä / projekti) */
.rewo-cbx{position:relative;width:100%}
.rewo-cbx-q{width:100%;min-height:46px;font-size:15px;border:1px solid #d6dbd7;border-radius:12px;padding:10px 12px;background:#fff;box-sizing:border-box}
.rewo-cbx-q:focus{outline:none;border-color:#54A924;box-shadow:0 0 0 2px rgba(84,169,36,.18)}
.rewo-cbx.is-chosen .rewo-cbx-q{border-color:#54A924;background:#f6fbf2}
.rewo-cbx-pop{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;max-height:280px;overflow-y:auto;background:#fff;border:1px solid #d6dbd7;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.14);-webkit-overflow-scrolling:touch}
.rewo-cbx-grp{padding:8px 12px 4px;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#6b7770}
.rewo-cbx-opt{padding:10px 12px;font-size:15px;cursor:pointer;border-top:1px solid #f0f2ef}
.rewo-cbx-opt:first-child{border-top:0}
.rewo-cbx-opt:hover,.rewo-cbx-opt.is-active{background:#eef6e7}
.rewo-cbx-empty{padding:10px 12px;font-size:13px;color:#6b7770}
.rewo-th-filter .rewo-cbx{width:220px}
.rewo-th-filter .rewo-cbx-q{min-height:40px}
/* Tuntikirjaukset & Kuitit -taulujen editoitavat kentät (T8/T9) */
.rewo-th-logs input.rewo-th-num{max-width:84px}
.rewo-th-logs input.rewo-th-txt{min-width:150px;width:100%}
.rewo-th-logs td input[type=date]{max-width:170px}
@media(max-width:680px){
  .rewo-th-logs input.rewo-th-num{max-width:120px;min-height:42px;font-size:16px}
  .rewo-th-logs input.rewo-th-txt{min-width:0;width:100%;min-height:42px;font-size:16px}
  .rewo-th-logs td input[type=date]{width:100%;max-width:none;min-height:42px;font-size:16px}
}
.rewo-main.rewo-mobile .rewo-th-logs input.rewo-th-num{max-width:120px;min-height:42px;font-size:16px}
.rewo-main.rewo-mobile .rewo-th-logs input.rewo-th-txt{flex:1 1 auto;width:100%;min-height:42px;font-size:16px}
.rewo-main.rewo-mobile .rewo-th-logs td[data-label="Kuvaus"]{display:block;text-align:left}
.rewo-main.rewo-mobile .rewo-th-logs td[data-label="Kuvaus"]::before{display:block;margin-bottom:4px}
.rewo-main.rewo-mobile .rewo-th-logs td input[type=date]{width:100%;max-width:none;min-height:42px;font-size:16px}
.rewo-main.rewo-mobile .rewo-th-logs td:last-child{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;border-top:1px solid #eef1ec;margin-top:6px;padding-top:10px}
.rewo-main.rewo-mobile .rewo-th-logs td:last-child .rewo-btn{min-height:40px}
.rewo-main.rewo-mobile .rewo-th-logs td:last-child form{display:inline-flex}
.rewo-th-rows{display:flex;flex-direction:column;gap:12px}
.rewo-th-entry{position:relative;border:1px solid #e6eae7;border-radius:14px;background:#fafbfa;padding:14px 14px 12px}
.rewo-th-entry > div{display:grid;gap:10px;margin-bottom:10px}
.rewo-th-entry .rewo-th-e3{grid-template-columns:repeat(4,1fr)}
.rewo-th-entry .rewo-th-e2{grid-template-columns:1fr 2fr}
.rewo-th-entry .rewo-th-e1{grid-template-columns:1fr;margin-bottom:0}
.rewo-th-entry label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#46524b}
.rewo-th-entry input{min-height:44px;font-size:15px;border:1px solid #d6dbd7;border-radius:10px;padding:9px 11px;background:#fff;box-sizing:border-box;width:100%;min-width:0}
.rewo-th-entry .rewo-th-hours{background:#eef3ec;color:#2C5F2D;font-weight:700}
.rewo-th-delrow{position:absolute;top:8px;right:10px;background:none;border:none;color:#9a3a2e;font-size:12px;font-weight:600;cursor:pointer;padding:4px 6px}
.rewo-th-delrow:hover{text-decoration:underline}
@media(max-width:680px){
  .rewo-th-entry .rewo-th-e3{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .rewo-th-entry .rewo-th-e2{grid-template-columns:1fr}
  /* Korttinäkymä: näytä myös data-label-kenttänimet (taulut jotka eivät käytä data-l:ää) */
  .rewo-table td[data-label]:not([data-l]):not(:first-child)::before{content:attr(data-label)}
  /* Tuntihallinnan loki- ja kuittitaulukot mobiilissa: tasalaatuiset kortit, isot kosketuskentät */
  .rewo-th-logs td{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:7px 0;border:0;margin:0}
  .rewo-th-logs td::before{content:attr(data-label);color:var(--muted);font-size:12.5px;font-weight:600;flex:0 0 auto;text-transform:none}
  .rewo-th-logs td:first-child{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:2px}
  .rewo-th-logs td:first-child .rewo-link{font-size:15px;font-weight:700}
  .rewo-th-logs input{min-height:44px;font-size:16px;border:1px solid #d6dbd7;border-radius:10px;padding:8px 10px;flex:1 1 130px;width:auto;box-sizing:border-box}
  .rewo-th-logs td:last-child{justify-content:flex-start;gap:8px;padding-top:8px}
  .rewo-th-logs td:last-child::before{display:none}
  .rewo-th-logs td:last-child .rewo-btn{min-height:42px;display:inline-flex;align-items:center;padding:0 16px;font-size:14px}
  .rewo-th-logs td:last-child form{display:inline-flex;margin:0}
  /* Suodatin ja yhteenveto: täysleveät kosketuskohteet */
  .rewo-th-filter label{flex:1 1 100%}
  .rewo-th-filter input,.rewo-th-filter select{width:100%;box-sizing:border-box;min-height:44px}
  .rewo-th-filter .rewo-cbx{width:100%}
  .rewo-th-filter .rewo-cbx-q{min-height:44px}
  .rewo-th-filter .rewo-btn{flex:1 1 auto;min-height:44px}
}

/* Lisätyöt-välilehti (#13) */
.rewo-lt-cat{margin:0 0 18px}
.rewo-lt-cat-head{margin:8px 0 6px}
.rewo-lt-catall{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:15px;color:#2C5F2D}
.rewo-lt-allwrap{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#46524b;cursor:pointer}
.rewo-lt-row,.rewo-lt-catcheck,#rewo-lt-all{width:18px;height:18px}

/* L9 inline-muokkaus: klikkaamalla arvoa pääsee vaihtamaan sen */
.rewo-ie .rewo-ie-val{cursor:pointer;border-bottom:1px dashed var(--line)}
.rewo-ie .rewo-ie-val:hover{color:var(--blue)}
.rewo-ie .rewo-ie-val::after{content:" \270E";opacity:.4;font-size:.85em}
.rewo-ie .rewo-ie-form{display:none;gap:8px;align-items:center;flex-wrap:wrap;margin:0}
.rewo-ie .rewo-ie-form input,.rewo-ie .rewo-ie-form select{min-width:150px}
.rewo-ie.is-editing .rewo-ie-val{display:none}
.rewo-ie.is-editing .rewo-ie-form{display:flex}
.rewo-ie-actions{display:inline-flex;gap:6px}

/* Aikataulun variselite (tila -> vari + myohassa/tanaan) */
.rewo-sched-legend{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.rewo-sched-leg{display:inline-flex;align-items:center;gap:6px}
.rewo-sched-legdot{width:12px;height:12px;border-radius:3px;display:inline-block;flex:0 0 auto}
.rewo-sched-leglate{background:#fff;border:2px solid #C0561C}
.rewo-sched-legtoday{width:0;height:14px;border-left:2px solid #C0561C;display:inline-block;flex:0 0 auto}

/* AI-ostolaskun rivivalinta (OCR/Fennoa-rivit checkboxeina) */
.rewo-po-ai-rows{margin:6px 0;border:1px solid var(--line);border-radius:8px;padding:6px 8px;max-height:220px;overflow:auto}
.rewo-po-ai-rowchk{display:flex;gap:8px;align-items:flex-start;padding:3px 0;font-size:12.5px;cursor:pointer}
.rewo-po-ai-rowchk input{margin-top:3px;flex:0 0 auto}

/* Manuaalinen ostolasku kuvasta -lightbox */
.rewo-mpo .rewo-mpo-out{margin-top:8px}
.rewo-mpo-rows{margin:6px 0;border:1px solid var(--line);border-radius:8px;padding:6px 8px;max-height:240px;overflow:auto}

/* Manuaalisen ostolaskun rivikohtainen projektijako */
.rewo-mpo-rowline{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:2px 0}
.rewo-mpo-rowline .rewo-po-ai-rowchk{flex:1 1 auto;padding:0}
.rewo-mpo-rowline select{flex:0 0 auto;max-width:48%}

/* AI-ostolaskun rivikohtainen projektijako + live-esikatselu */
.rewo-po-ai-rowline{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:2px 0}
.rewo-po-ai-rowline .rewo-po-ai-rowchk{flex:1 1 auto;padding:0}
.rewo-po-ai-rowline select{flex:0 0 auto;max-width:46%}
.rewo-po-ai-split{margin:8px 0}
.rewo-split-hd{font-weight:700;font-size:13px;margin:6px 0 4px}
.rewo-split-grp{border:1px solid var(--line);border-radius:8px;padding:6px 8px;margin-bottom:6px;background:var(--panel)}
.rewo-split-grphd{display:flex;justify-content:space-between;gap:8px;font-size:13px}
.rewo-split-rows{font-size:11.5px;color:var(--muted);margin-top:2px}

/* #16 Piilotettavat ohjelaatikot (rewo_erp_ohje -> details/summary) */
.rewo-note-toggle{margin:0 0 12px;border-radius:8px;}
.rewo-note-toggle>.rewo-note-sum{display:flex;gap:8px;align-items:center;cursor:pointer;list-style:none;font-size:12.5px;color:#6E7679;padding:6px 10px;background:#f6f8f5;border-left:3px solid #cfe0c2;border-radius:8px;user-select:none;}
.rewo-note-toggle>.rewo-note-sum::-webkit-details-marker{display:none;}
.rewo-note-toggle>.rewo-note-sum .rewo-help-i{flex:0 0 auto;background:#54A924;color:#fff;cursor:pointer;}
.rewo-note-toggle>.rewo-note-sum::after{content:"\25BC";margin-left:auto;font-size:9px;color:#9aa49d;}
.rewo-note-toggle[open]>.rewo-note-sum::after{content:"\25B2";}
.rewo-note-toggle[open]>.rewo-note-sum{border-radius:8px 8px 0 0;}
.rewo-note-toggle>.rewo-note-sm-t{padding:8px 10px;background:#f6f8f5;border-left:3px solid #cfe0c2;border-top:1px solid #e6ece2;border-radius:0 0 8px 8px;font-size:13px;color:#5e6a63;line-height:1.45;}

/* #6 Aikataulurivin näkyvä päivämäärä */
.rewo-sched-dates{display:block;font-size:11.5px;color:#6E7679;font-weight:400;margin-top:1px;}
/* Kokoontaitettava kortti (esim. projektin Fennoa-ostolaskut, oletuksena suljettu) */
.rewo-collap>summary.rewo-collap-h{cursor:pointer;font-weight:700;color:#162014;list-style:none;display:flex;align-items:center;gap:6px;font-size:17px}
.rewo-collap>summary.rewo-collap-h::-webkit-details-marker{display:none}
.rewo-collap>summary.rewo-collap-h::before{content:'\25B8';color:#6E7679;font-weight:400}
.rewo-collap[open]>summary.rewo-collap-h::before{content:'\25BE'}
.rewo-collap .rewo-collap-b{margin-top:10px}
/* Kehittäjätilan kelluva "yleinen ehdotus" -nappi */
.rewo-devfab{position:fixed;right:14px;bottom:78px;z-index:3900;border:0;border-radius:999px;background:#162014;color:#fff;font:600 13px/1 inherit;padding:11px 15px;box-shadow:0 4px 14px rgba(0,0,0,.28);cursor:pointer;opacity:.92}
.rewo-devfab:hover{opacity:1;background:#0E2418}
@media(max-width:640px){.rewo-devfab{right:10px;bottom:72px;padding:10px 13px;font-size:12px}}
/* Viestit: lukematon viesti erottuu taustalla ja reunalla */
.rewo-notif-item.is-unread{background:#f3f8ee;border-left:3px solid #78b834}
.rewo-notif-item.is-unread .rewo-notif-title{font-weight:700}
.rewo-notif-item.is-unread .rewo-notif-title::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:#78b834;margin-right:7px;vertical-align:middle}
/* Kehittäjätila: oikean reunan "+" -nappi + liukuva paneeli */
.rewo-devpanel-toggle{position:fixed;top:50%;right:0;transform:translateY(-50%);z-index:100010;width:40px;height:50px;border:0;border-radius:12px 0 0 12px;background:#162014;color:#fff;font-size:26px;line-height:1;cursor:pointer;box-shadow:-2px 2px 10px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;opacity:.92;transition:right .22s ease}
.rewo-devpanel-toggle:hover{opacity:1;background:#0E2418}
.rewo-devpanel-toggle.has-upd::after{content:'';position:absolute;top:6px;right:6px;width:9px;height:9px;border-radius:50%;background:#78b834;box-shadow:0 0 0 2px #162014}
.rewo-devpanel-toggle.open{right:340px}
.rewo-devpanel{position:fixed;top:0;right:0;bottom:0;width:340px;max-width:88vw;z-index:100009;background:#f3f5ef;box-shadow:-8px 0 28px rgba(0,0,0,.22);transform:translateX(100%);transition:transform .22s ease;overflow-y:auto;--rewo-safetop:env(safe-area-inset-top,0px);padding:16px;padding-top:calc(16px + var(--rewo-safetop));padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));box-sizing:border-box}
.rewo-devpanel.open{transform:translateX(0)}
.rewo-devpanel[hidden]{display:block}
.rewo-devpanel-h{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:17px;color:#fff;background:#162014;margin:calc(-16px - var(--rewo-safetop)) -16px 14px;padding:calc(13px + var(--rewo-safetop)) 16px 13px}
.rewo-devpanel-h strong{color:#fff}
.rewo-devpanel-x{background:none;border:0;font-size:18px;color:#cfe0c5;cursor:pointer;padding:0 2px;line-height:1}
.rewo-devpanel-x:hover{color:#fff}
.rewo-devpanel-sec{background:#fff;border:1px solid #e3e9dc;border-radius:14px;padding:12px;margin-bottom:12px}
.rewo-devpanel-sub{font-size:12px;font-weight:700;color:#64705f;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.rewo-devpanel-ver{font-size:14px;color:#162014}
.rewo-devpanel-updtag{color:#3f7a23;font-weight:700}
.rewo-devpanel-hist{list-style:none;margin:8px 0 0;padding:0}
.rewo-devpanel-hist li{display:flex;gap:8px;padding:5px 0;border-top:1px solid #eef1ec;font-size:12px;color:#46524b}
.rewo-devpanel-hv{font-weight:700;color:#162014;flex:0 0 auto;min-width:54px}
.rewo-devpanel-hn{flex:1}
.rewo-devpanel-btn{display:block;width:100%;box-sizing:border-box;text-align:center;text-decoration:none;border:0;border-radius:10px;background:#78b834;color:#fff;font:600 13px/1.2 inherit;padding:11px;margin:6px 0 0;cursor:pointer}
.rewo-devpanel-sec .rewo-devpanel-btn:first-of-type{margin-top:0}
.rewo-devpanel-btn.ghost{background:#eef2e8;color:#2f4022;border:1px solid #d9e3cd}
.rewo-devpanel-btn:hover{filter:brightness(.97)}
.rewo-devpanel-addpkg{display:flex;flex-direction:column;gap:6px;margin:0}
.rewo-devpanel-addpkg input{border:1px solid #d4d9d5;border-radius:8px;padding:9px;font-size:13px;width:100%;box-sizing:border-box}
@media(max-width:640px){.rewo-devpanel{width:300px;--rewo-safetop:max(env(safe-area-inset-top,0px),54px)}.rewo-devpanel-toggle.open{right:300px}}
/* Navigoinnin latauspalkki (välitön palaute välilehtien/navin klikkauksesta) */
#rewo-navprogress{position:fixed;top:0;left:0;height:3px;width:0;background:#78b834;z-index:99999;box-shadow:0 0 8px rgba(120,184,52,.6);pointer-events:none}
/* Kehittäjäpaneelin pakettienhallinta */
.rewo-devpkg{border:1px solid #e3e9dc;border-radius:10px;padding:8px 10px;margin:8px 0;background:#fbfdf8}
.rewo-devpkg-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rewo-devpkg-v{background:#eef4e6;color:#3f7a23;font-weight:700;font-size:12px;border-radius:999px;padding:2px 8px;flex:0 0 auto}
.rewo-devpkg-f{font-size:12px;color:#46524b;word-break:break-all}
.rewo-devpkg-t{font-size:11px;color:#8a948a;margin:3px 0 6px}
.rewo-devpkg-btns{display:flex;gap:5px;flex-wrap:wrap}
.rewo-devpkg-btns form{margin:0}
.rewo-devpkg-b{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d9e3cd;border-radius:8px;background:#fff;color:#2f4022;font:600 12px/1 inherit;padding:7px 9px;cursor:pointer;text-decoration:none}
.rewo-devpkg-b.primary{background:#78b834;color:#fff;border-color:#78b834}
.rewo-devpkg-b:hover{filter:brightness(.97)}
.rewo-devpkg-empty{font-size:12px;color:#8a948a;margin:8px 0}
.rewo-devpkg-archwrap{margin-top:8px}
.rewo-devpkg-archwrap>summary{cursor:pointer;font-weight:700;color:#3f7a23;font-size:13px}
.rewo-devpanel-addpkg input[type=file]{font-size:12px}
/* Kehittäjäpaneelin muutosjono */
.rewo-devq-list{margin:8px 0 0}
.rewo-devq-item{border:1px solid #e3e9dc;border-radius:10px;padding:8px 10px;margin:6px 0;background:#fff}
.rewo-devq-ref{font-size:11px;font-weight:700;color:#3f7a23;text-transform:uppercase;letter-spacing:.03em}
.rewo-devq-desc{font-size:12px;color:#2f3a2b;margin:3px 0 6px;white-space:pre-wrap;word-break:break-word}
.rewo-devq-btns{display:flex;gap:5px}
.rewo-devq-btns form{margin:0}

/* #3 Projektinäkymän palsta-asettelu */
.rewo-proj-layoutbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px;padding:8px 10px;background:#eef2ea;border:1px solid #dde4d6;border-radius:10px;font-size:13px}
.rewo-proj-layoutbar-l{font-weight:700;color:#3a4a36}
.rewo-proj-layoutbar-hint{color:#5a6b5a;font-size:12px}
.rewo-proj-cols{display:grid;gap:14px;align-items:start}
.rewo-proj-cols.cols-1{grid-template-columns:1fr}
.rewo-proj-cols.cols-2{grid-template-columns:1fr 1fr}
.rewo-proj-cols.cols-3{grid-template-columns:1fr 1fr 1fr}
@media(max-width:980px){.rewo-proj-cols.cols-2,.rewo-proj-cols.cols-3{grid-template-columns:1fr}}
.rewo-proj-col{min-width:0;min-height:30px}
.rewo-proj-blocks.is-editing .rewo-proj-col{outline:1px dashed #c4d3b6;border-radius:10px;padding:4px}
.rewo-proj-blocks.is-editing .rewo-pl-drag{cursor:grab;outline:2px dashed #9cc77f;outline-offset:2px}
.rewo-proj-blocks.is-editing .rewo-pl-drag.dragging{opacity:.45}

/* Viittausten (kehittäjätilan ✎-merkit) näkyvyyden katkaisu paneelin napista */
body.rewo-refs-off .rewo-devtag { display:none !important; }
#rewo-devref-toggle.is-off { opacity:.45; }
.rewo-devtag-tab{ background:#2D6CDF; }

/* Välilehtien hallinta (kehittäjätila → Välilehtitila) */
body:not(.rewo-tabsedit) [data-tabhidden]{ display:none !important; }
#rewo-uitabs-toggle.is-on{ background:#2D6CDF; color:#fff; }
body.rewo-tabsedit .rewo-subnav-i,
body.rewo-tabsedit .rewo-subtab{ cursor:grab; }
body.rewo-tabsedit .rewo-subnav-i.dragging,
body.rewo-tabsedit .rewo-subtab.dragging{ opacity:.45; }
body.rewo-tabsedit [data-tabhidden]{ opacity:.4; outline:1px dashed #C0392B; }
body.rewo-tabsedit .rewo-subnav,
body.rewo-tabsedit .rewo-subtabs{ outline:2px dashed #2D6CDF; outline-offset:4px; border-radius:8px; }
.rewo-uitabs-pop{ position:fixed; inset:0; background:rgba(20,28,18,.45); display:none; align-items:center; justify-content:center; z-index:100020; }
.rewo-uitabs-pop.open{ display:flex; }
.rewo-uitabs-pop-in{ background:#fff; border-radius:14px; width:min(420px,92vw); padding:16px 18px; box-shadow:0 30px 70px -28px rgba(0,0,0,.6); }
.rewo-uitabs-pop-h{ display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.rewo-uitabs-x{ background:none; border:0; font-size:18px; cursor:pointer; color:#6E7679; }
.rewo-uitabs-l{ display:flex; flex-direction:column; gap:4px; font-size:14px; }
.rewo-uitabs-l input{ border:1px solid #DDE1DD; border-radius:10px; padding:10px 12px; font:inherit; }
.rewo-uitabs-anchor{ font-size:11px; color:#9aa39a; margin:6px 0 12px; word-break:break-all; }
.rewo-uitabs-f{ display:flex; gap:8px; justify-content:space-between; flex-wrap:wrap; }

/* Lohkojen maalaus & piilotus (kehittäjätila → Lohkotila) */
body:not(.rewo-blockedit) [data-blockhidden]{ display:none !important; }
#rewo-uiblocks-toggle.is-on{ background:#8E44AD; color:#fff; }
body.rewo-blockedit [data-blockhidden]{ opacity:.4; outline:1px dashed #C0392B; }
.rewo-uiblk-handle{ position:absolute; top:8px; right:8px; z-index:40; width:30px; height:30px; border:0; border-radius:8px; background:#8E44AD; color:#fff; cursor:pointer; font-size:14px; box-shadow:0 2px 8px rgba(0,0,0,.25); }
.rewo-uiblk-pop{ position:fixed; inset:0; background:rgba(20,28,18,.45); display:none; align-items:center; justify-content:center; z-index:100020; }
.rewo-uiblk-pop.open{ display:flex; }
.rewo-uiblk-in{ background:#fff; border-radius:14px; width:min(440px,92vw); padding:16px 18px; box-shadow:0 30px 70px -28px rgba(0,0,0,.6); }
.rewo-uiblk-h{ display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.rewo-uiblk-x{ background:none; border:0; font-size:18px; cursor:pointer; color:#6E7679; }
.rewo-uiblk-row{ display:flex; flex-direction:column; gap:6px; margin-bottom:12px; font-size:13px; color:#3a4a36; }
.rewo-uiblk-sws{ display:flex; gap:8px; flex-wrap:wrap; }
.rewo-uiblk-sw{ width:30px; height:30px; border-radius:8px; border:2px solid #DDE1DD; cursor:pointer; color:#888; font-size:12px; }
.rewo-uiblk-sw.sel{ border-color:#162014; box-shadow:0 0 0 2px rgba(22,32,20,.25); }
.rewo-uiblk-anchor{ font-size:11px; color:#9aa39a; margin:4px 0 12px; word-break:break-all; }
.rewo-uiblk-f{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }

/* Lohkon koon venytys (vaihe 4) + kahvojen piilotus muokkaustilan ulkopuolella */
.rewo-uiblk-resize{ position:absolute; right:3px; bottom:3px; width:18px; height:18px; cursor:nwse-resize; z-index:41; border-radius:0 0 8px 0; background:linear-gradient(135deg, transparent 42%, #8E44AD 42%, #8E44AD 100%); touch-action:none; }
body:not(.rewo-blockedit) .rewo-uiblk-handle,
body:not(.rewo-blockedit) .rewo-uiblk-resize{ display:none !important; }

/* #21 Ulkoisen linkin lyhennys (ei venytä saraketta) */
.rewo-url-val{ display:inline-block; max-width:min(34ch,100%); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; vertical-align:bottom; }
/* #18/#19 Adminconsole: rooli/istuin inline-valinnat */
.rewo-ac-sel{ max-width:170px; padding:4px 6px; border:1px solid #d7ddd4; border-radius:6px; font:inherit; background:#fff; transition:background .25s; cursor:pointer; }

/* #14/#15 Palstaraahaus: selkeä raahauskahva (toimii input-täysillä korteilla) */
.rewo-proj-blocks.is-editing .rewo-pl-drag{ position:relative; outline:2px dashed #2D6CDF; outline-offset:3px; }
.rewo-pl-grip{ display:flex; align-items:center; gap:6px; cursor:grab; background:#2D6CDF; color:#fff; font-size:12px; font-weight:600; line-height:1; padding:6px 10px; border-radius:10px 10px 0 0; margin:-2px -2px 10px; user-select:none; -webkit-user-select:none; }
.rewo-pl-grip:active{ cursor:grabbing; }
.rewo-pl-drag.dragging{ opacity:.5; }

/* #20 Talousnäkymän mittareiden raahausjärjestely (dev) */
.rewo-tn-orderbar{ display:flex; gap:8px; align-items:center; margin:0 0 12px; flex-wrap:wrap; }
.rewo-tn-grid.tn-editing .rewo-tn-card{ position:relative; outline:2px dashed #2D6CDF; outline-offset:3px; }
.rewo-tn-card.dragging{ opacity:.5; }
.rewo-tn-grip{ display:inline-flex; align-items:center; gap:6px; cursor:grab; background:#2D6CDF; color:#fff; font-size:11px; font-weight:600; line-height:1; padding:5px 9px; border-radius:8px; margin-bottom:8px; user-select:none; -webkit-user-select:none; }
.rewo-tn-grip:active{ cursor:grabbing; }

/* #24 Napit: pienempi koko (yllä) + kosketuksen turvaväli (margin:2px) + riittävä kosketuskorkeus mobiilissa */
.rewo-btn{ touch-action:manipulation; }
@media(max-width:640px){
  .rewo-btn{ min-height:40px; display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; }
  .rewo-btn-mini{ min-height:34px; }
}

/* v3.5.52: Projektin muokkauslomake — tuntityö/urakka-valinta + ryhmäotsikot */
.rewo-app .rewo-proj-ltype{ margin:4px 0 20px; }
.rewo-app .rewo-proj-ltype .rewo-form-grouph{ display:block; margin:0 0 8px; border-bottom:0; padding:0; }
.rewo-app .rewo-seg-radio{ display:inline-flex; flex-wrap:wrap; }
.rewo-app .rewo-seg-radio label{ cursor:pointer; display:inline-flex; align-items:center; gap:6px; padding:9px 18px; border-radius:10px; font-weight:700; font-size:14px; color:var(--muted); transition:background .12s,color .12s,box-shadow .12s; }
.rewo-app .rewo-seg-radio input{ position:absolute; opacity:0; width:0; height:0; }
.rewo-app .rewo-seg-radio label.is-active,
.rewo-app .rewo-seg-radio label:has(input:checked){ background:#fff; color:var(--ink); box-shadow:0 1px 3px rgba(0,0,0,.14); }
.rewo-app .rewo-form-grouph{ font-size:13px; font-weight:800; color:#2C5F2D; letter-spacing:.01em; margin:20px 0 12px; padding-bottom:6px; border-bottom:1px solid #E2E8DF; }

/* v3.5.53: Projektin esikatselun (Yleiskatsaus) ryhmäotsikot — spannaavat 2-palstaisen rewo-view-gridin */
.rewo-app .rewo-view-grouph{ grid-column:1 / -1; font-size:12px; font-weight:800; color:#2C5F2D; letter-spacing:.01em; margin:16px 0 2px; padding-bottom:5px; border-bottom:1px solid #E2E8DF; }
.rewo-app .rewo-view-grouph:first-child{ margin-top:0; }

/* v3.5.55: Pakolliset kentät -lightbox lista + asetusruudukko */
.rewo-app .rewo-kpmodal-list{ margin:6px 0 14px; padding-left:20px; }
.rewo-app .rewo-kpmodal-list li{ margin:3px 0; font-weight:700; color:#0E2418; }
.rewo-app .rewo-reqgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:8px 14px; margin:8px 0 14px; }
.rewo-app .rewo-reqitem{ display:flex; align-items:center; gap:8px; padding:8px 10px; border:1px solid #E2E8DF; border-radius:8px; background:#fff; cursor:pointer; }
.rewo-app .rewo-reqitem:has(input:checked){ border-color:#54A924; background:#F3FAEC; }
.rewo-app .rewo-reqitem input{ margin:0; }

/* v3.5.56: Live-tallennus — kelluva tilapilleri + kentän tallennus-flash */
.rewo-live-pill{ position:fixed; left:50%; bottom:calc(78px + env(safe-area-inset-bottom,0px)); transform:translateX(-50%) translateY(16px); z-index:1200; background:#0E2418; color:#fff; font-size:13px; font-weight:700; padding:9px 16px; border-radius:999px; box-shadow:0 10px 28px rgba(0,0,0,.28); opacity:0; pointer-events:none; transition:opacity .2s ease,transform .2s ease; max-width:90vw; white-space:nowrap; }
.rewo-live-pill.is-on{ opacity:1; transform:translateX(-50%) translateY(0); }
.rewo-live-pill.is-warn{ background:#F2811D; }
.rewo-app .rewo-live-ok{ outline:2px solid #54A924; outline-offset:2px; border-radius:8px; }
.rewo-app .rewo-live-ok input,.rewo-app .rewo-live-ok select{ border-color:#54A924 !important; }

/* v3.5.57: Valmiusaste-liukukytkin + AI-kuva-arvio */
.rewo-app .rewo-va-wrap{ margin:2px 0 4px; }
.rewo-app .rewo-va-row{ display:flex; align-items:center; gap:12px; }
.rewo-app .rewo-va-range{ -webkit-appearance:none; appearance:none; flex:1; height:8px; border-radius:6px; background:linear-gradient(90deg,#54A924,#2C5F2D); outline:none; padding:0; margin:0; }
.rewo-app .rewo-va-range::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; width:26px; height:26px; border-radius:50%; background:#fff; border:3px solid #2C5F2D; box-shadow:0 2px 6px rgba(0,0,0,.25); cursor:pointer; }
.rewo-app .rewo-va-range::-moz-range-thumb{ width:24px; height:24px; border-radius:50%; background:#fff; border:3px solid #2C5F2D; cursor:pointer; }
.rewo-app .rewo-va-bubble{ min-width:54px; text-align:center; font-weight:800; font-size:15px; color:#0E2418; background:#F3FAEC; border:1px solid #CFE6BC; border-radius:8px; padding:4px 8px; }
.rewo-app .rewo-va-num{ width:90px; }
.rewo-app .rewo-va-ai{ margin-top:8px; }
.rewo-app .rewo-va-res{ margin-top:8px; font-size:13px; line-height:1.4; }
.rewo-app .rewo-va-res.is-ok{ color:#356016; background:#F3FAEC; border:1px solid #CFE6BC; border-radius:8px; padding:8px 10px; }
.rewo-app .rewo-va-res.is-err{ color:#9A3412; background:#FFF4E6; border:1px solid #F2811D; border-radius:8px; padding:8px 10px; }

/* Ostolasku: yleiskulu-valinta (ei liity projektiin) */
.rewo-po-gc{display:flex;gap:9px;align-items:flex-start;margin:12px 0 4px;padding:11px 13px;background:#FFF8EC;border:1px solid #F0DDB6;border-radius:10px;font-size:13px;color:#5C4B1E;cursor:pointer}
.rewo-po-gc input{margin-top:2px;flex:0 0 auto;width:16px;height:16px;cursor:pointer}
.rewo-po-gc span{line-height:1.45}
.rewo-po-gc:hover{background:#FFF3DC}

/* Projektihaun piilotus — voittaa .proj-row { display:flex !important } -säännön (hidden-attribuutti). */
.vd2-wrap .vd-proj .proj-row[hidden],
.vd-proj .proj-row[hidden],
.proj-list .proj-row[hidden] { display: none !important; }

/* Tila-valitsin projektilistan korteissa (ankkurin ulkopuolella, oikea yläkulma). */
.proj-row-wrap { position: relative; }
.proj-tila-sel {
  position: absolute; top: 14px; right: 14px; z-index: 5;
  border: none; border-radius: 999px;
  padding: 4px 24px 4px 12px;
  font: 700 12px/1.5 inherit; letter-spacing: .02em;
  cursor: pointer; max-width: 46%;
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='black' opacity='0.45' d='M3 4.5l3 3 3-3z'/></svg>");
  background-repeat: no-repeat; background-position: right 8px center;
  box-shadow: 0 1px 2px rgba(0,0,0,.08);
}
.proj-tila-sel:hover { filter: brightness(.96); }
.proj-tila-sel:focus { outline: 2px solid rgba(0,0,0,.18); outline-offset: 1px; }
.proj-tila-sel:disabled { opacity: .6; cursor: progress; }
@media (max-width: 640px) { .proj-tila-sel { top: 12px; right: 12px; font-size: 11px; } }

/* ── Laskutuksen lisät & automaatio (billing-extras) ───────────────────── */
.rewo-tp-cardhead-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rewo-switch{position:relative;display:inline-block;width:48px;height:28px;flex:0 0 auto}
.rewo-switch input{opacity:0;width:0;height:0;position:absolute;margin:0}
.rewo-switch-sl{position:absolute;inset:0;background:#cbd5cb;border-radius:999px;transition:.18s;cursor:pointer}
.rewo-switch-sl::before{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.18s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.rewo-switch input:checked + .rewo-switch-sl{background:#34c759}
.rewo-switch input:checked + .rewo-switch-sl::before{transform:translateX(20px)}
.rewo-lisat-grid{display:flex;flex-direction:column;gap:0;margin-top:6px}
.rewo-lisat-hrow,.rewo-lisat-row{display:grid;grid-template-columns:1fr 96px 70px;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #e6ece6}
.rewo-lisat-hrow{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#8aa08a;padding-bottom:6px}
.rewo-lisat-hrow span:nth-child(2),.rewo-lisat-row .rewo-lisat-p{text-align:right}
.rewo-lisat-hrow span:nth-child(3),.rewo-lisat-row .rewo-lisat-sw{text-align:center;justify-self:center}
.rewo-lisat-p input{width:90px;text-align:right;padding:8px}
.rewo-lisat-l{font-weight:600}
.rewo-lisat-l small{display:block;font-size:11px;font-weight:400}
.rewo-lisat-help{font-size:11px;color:#8aa08a;margin:-4px 0 2px;padding:0;grid-column:1/-1}

/* ── Raportit v3.5.84: checkitem / toistorivit / projektikuvat ─────────── */
.rewo-checkitem{display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:center;padding:10px 0;border-bottom:1px solid #e6ece6}
.rewo-checkitem-l{font-weight:600}
.rewo-checkitem-c{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}
.rewo-chk-opt{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1.5px solid #cfd8cf;border-radius:999px;font-size:13px;cursor:pointer;user-select:none;background:#fff}
.rewo-chk-opt input{position:absolute;opacity:0;width:0;height:0}
.rewo-chk-opt.is-on.rewo-chk-kylla{background:#e6f4e2;border-color:#3F8C1C;color:#2C5F2D}
.rewo-chk-opt.is-on.rewo-chk-ei{background:#fbe9e7;border-color:#C0392B;color:#C0392B}
.rewo-chk-opt.is-on.rewo-chk-eos{background:#eef1f4;border-color:#8aa0b0;color:#46535c}
.rewo-chk-note{flex:1 1 100%;min-width:0;padding:7px 10px;margin-top:4px}
@media(min-width:640px){.rewo-chk-note{flex:1 1 200px;margin-top:0}}
.rewo-rep{display:flex;flex-direction:column;gap:8px;margin:6px 0}
.rewo-rep-row{display:flex;gap:8px;align-items:flex-start;background:#f7f9f6;border:1px solid #e6ece6;border-radius:10px;padding:8px}
.rewo-rep-num{flex:0 0 26px;height:26px;border-radius:50%;background:#2C5F2D;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;margin-top:2px}
.rewo-rep-fields{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}
.rewo-rep-fields input,.rewo-rep-fields textarea{width:100%}
.rewo-rep-del{flex:0 0 auto;background:#fbe9e7;color:#C0392B;border:none;border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:14px}
.rewo-rep-add{margin-top:4px}
.rewo-rap-projimg{margin:6px 0;border:1px solid #e6ece6;border-radius:10px;padding:8px 10px;background:#f7f9f6}
.rewo-rap-projimg summary{cursor:pointer;font-weight:600;color:#2C5F2D}
.rewo-rap-projimg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-top:8px}
.rewo-rap-projimg-it{position:relative;cursor:pointer;display:block}
.rewo-rap-projimg-it img{width:100%;height:72px;object-fit:cover;border-radius:8px;display:block;opacity:.85;transition:.15s}
.rewo-rap-projimg-it input{position:absolute;top:5px;left:5px;width:18px;height:18px;z-index:2}
.rewo-rap-projimg-it input:checked + img{opacity:1;outline:3px solid #54A924;outline-offset:-3px}

/* ── Raportit v3.5.86: AI-paneeli + täydellisyystarkistus ─────────────── */
.rewo-rap-miss{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.rewo-rap-miss li{background:#fff6ec;border:1px solid #f3d9b8;color:#8a5a16;border-radius:8px;padding:7px 10px;font-size:13px}
.rewo-rap-aibtns{display:flex;flex-wrap:wrap;gap:8px}
.rewo-rap-aibox{margin-top:10px;background:#f5f9f3;border:1px solid #d9e6d3;border-radius:10px;padding:10px 12px}
.rewo-rap-aibox strong{display:block;color:#2C5F2D;margin-bottom:3px;font-size:13px}
.rewo-rap-aibox p{margin:0;font-size:13.5px;line-height:1.5;white-space:pre-line}

/* ── Raportit PRO v3.5.87 ─────────────────────────────────────────────── */
.rewo-btn-mini{padding:5px 10px;font-size:12.5px;border-radius:8px}
.rewo-btn-sm{padding:7px 12px;font-size:13px}
.rewo-rap-toolrow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}

/* #4 indeksitrendi */
.rewo-rap-trend{background:#f5f9f3;border:1px solid #d9e6d3;border-radius:12px;padding:12px 14px;margin:0 0 12px}
.rewo-rap-trend-h{font-size:13.5px;color:#2C5F2D;margin-bottom:6px;font-weight:600}
.rewo-rap-trend-x{display:flex;justify-content:space-between;font-size:10.5px;color:#7c8a78;margin-top:2px}
.rewo-rap-trend-x span{flex:1;text-align:center}
.rewo-rap-recuralert{background:#fff6ec;border:1px solid #f3d9b8;color:#8a5a16;border-radius:8px;padding:8px 11px;font-size:13px;margin:0 0 10px}

/* #3 puutteet */
.rewo-rap-defbadge{display:inline-block;font-size:12px;font-weight:700;background:#e6f4e2;color:#2C5F2D;border-radius:20px;padding:2px 10px;vertical-align:middle}
.rewo-rap-defbadge.is-open{background:#fdecea;color:#C0392B}
.rewo-rap-defs{display:flex;flex-direction:column;gap:8px}
.rewo-rap-def{border:1px solid #e3e6e3;border-left:3px solid #C0392B;border-radius:10px;padding:9px 11px;background:#fff;transition:border-color .15s,background .15s}
.rewo-rap-def.is-korjattu{border-left-color:#3F8C1C;background:#f5fbf2;opacity:.85}
.rewo-rap-def-top{font-size:14px}
.rewo-rap-def-k{display:inline-block;font-size:10.5px;font-weight:700;color:#fff;background:#C0392B;border-radius:5px;padding:1px 6px;margin-right:6px;vertical-align:middle}
.rewo-rap-def.is-korjattu .rewo-rap-def-k{background:#3F8C1C}
.rewo-rap-def-note{font-size:12.5px;color:#5b6b60;margin-top:3px}
.rewo-rap-def-fields{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}
.rewo-rap-def-fields input{flex:1;min-width:120px;padding:7px 9px;border:1px solid #cdd6cc;border-radius:8px;font-size:13px}
.rewo-rap-def-fields .rewo-rap-def-maara{flex:0 0 150px}

/* #1 allekirjoituslinkki */
.rewo-rap-signlink{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.rewo-rap-signlink input{flex:1;min-width:200px;padding:9px 11px;border:1px solid #cdd6cc;border-radius:8px;font-size:13px;background:#f7faf6}

/* #7 karttamerkinnät */
.rewo-annot{margin:6px 0}
.rewo-annot-up{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#5b6b60;margin-bottom:8px}
.rewo-annot-up input[type=file]{font-size:13px}
.rewo-annot-stage{position:relative;display:inline-block;max-width:100%;border-radius:10px;overflow:hidden;border:1px solid #dde3db;line-height:0}
.rewo-annot-stage.is-empty{display:block;background:#f3f6f2;border:2px dashed #c4cfc0;min-height:120px}
.rewo-annot-img{max-width:100%;height:auto;display:block;cursor:crosshair}
.rewo-annot-ph{padding:24px 18px;font-size:13px;color:#8a978a;text-align:center;line-height:1.5}
.rewo-annot-pins{position:absolute;inset:0;pointer-events:none}
.rewo-annot-pin{position:absolute;transform:translate(-50%,-50%);min-width:24px;height:24px;border-radius:50%;background:#F2811D;color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.35);border:2px solid #fff;pointer-events:auto;cursor:pointer;padding:0 4px}
.rewo-annot-list{margin:8px 0 0;padding-left:20px;font-size:13.5px;color:#33433a}
.rewo-annot-list li{margin:2px 0}
.rewo-annot-view{margin:2px 0}
.rewo-annot-vlabel{font-size:13px;color:#5b6b60;margin-bottom:5px;font-weight:600}

/* ── Perehdytys v3.5.88: työntekijävalinta + osallistujat ─────────────── */
.rewo-worker-pick .rewo-worker-sel{width:100%}
.rewo-parts{display:flex;flex-direction:column;gap:12px;margin-top:4px}
.rewo-parts-g{border:1px solid #e3e6e3;border-radius:10px;padding:10px 12px;background:#fbfdfa}
.rewo-parts-gh{font-size:13px;font-weight:700;color:#2C5F2D;margin-bottom:7px}
.rewo-parts-gh .rewo-muted{font-weight:400;font-size:11.5px}
.rewo-parts-list{display:flex;flex-wrap:wrap;gap:6px 14px}
.rewo-parts-c{display:flex;align-items:center;gap:6px;font-size:13.5px;cursor:pointer;flex:0 0 auto}
.rewo-parts-c input{width:auto;margin:0}
.rewo-parts-muut{margin-top:4px}
.rewo-parts-muut .rewo-rep-row{display:flex;gap:6px;align-items:center;margin-bottom:6px}
.rewo-parts-muut .rewo-rep-row input{flex:1;min-width:90px;padding:8px 10px;border:1px solid #cdd6cc;border-radius:8px;font-size:13.5px}
.rewo-parts-muut .rewo-rep-num{flex:0 0 20px;text-align:center;color:#7c8a78;font-size:12px}

/* ===== Raporttien jakelu & seuranta (v3.5.90) ===== */
.rewo-share-ch{display:flex;gap:16px;flex-wrap:wrap;margin:0 0 12px;font-size:14px}
.rewo-share-ch label{display:flex;align-items:center;gap:6px;cursor:pointer}
.rewo-share .rewo-f{display:block;margin-bottom:10px}
.rewo-share .rewo-f>span{display:block;font-size:13px;color:#5b6b60;margin-bottom:4px}
.rewo-share .rewo-f input[type=text],.rewo-share .rewo-f textarea{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #cdd6cc;border-radius:10px;font-size:15px;font-family:inherit}
.rewo-share-msg{font-size:13px}
.rewo-seur-stats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.rewo-seur-stat{flex:1 1 70px;min-width:70px;background:#f3f6f2;border:1px solid #e4eae2;border-radius:12px;padding:10px 6px;text-align:center;display:flex;flex-direction:column;gap:2px;font-size:12px;color:#5b6b60}
.rewo-seur-stat strong{font-size:20px;color:#2C5F2D;line-height:1}
.rewo-seur-stat.is-on{background:#e6f4e2;border-color:#bfe3b4}
.rewo-seur-stat.is-on strong{color:#2C5F2D}
.rewo-seur-log{list-style:none;margin:6px 0 0;padding:0;border-top:1px solid #eef0ee}
.rewo-seur-log li{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;padding:8px 2px;border-bottom:1px solid #eef0ee;font-size:13px}
.rewo-seur-when{flex:0 0 auto;color:#8a978d;font-variant-numeric:tabular-nums;min-width:78px}
.rewo-seur-ev{font-weight:600;color:#11261c}
.rewo-seur-det{color:#5b6b60;word-break:break-word}
.rewo-rap-search{width:100%;box-sizing:border-box;padding:11px 14px;border:1px solid #cdd6cc;border-radius:12px;font-size:15px;margin-bottom:12px}
.rewo-rap-settings{margin-bottom:14px;border:1px solid #e4eae2;border-radius:12px;background:#fafdf9}
.rewo-rap-settings>summary{cursor:pointer;padding:12px 14px;font-weight:600;color:#2C5F2D;list-style:none}
.rewo-rap-settings>summary::-webkit-details-marker{display:none}
.rewo-rap-settings>summary::before{content:"▸ ";color:#54A924}
.rewo-rap-settings[open]>summary::before{content:"▾ "}
.rewo-rap-settings .rewo-card{margin:0;border:none;background:transparent;box-shadow:none;padding:0 14px 12px}
.rewo-parts-muutrow{flex-wrap:wrap;align-items:center}
.rewo-parts-muutrow .rewo-mu-nimi,.rewo-parts-muutrow .rewo-mu-yritys{flex:1 1 46%;min-width:120px}
.rewo-parts-muutrow .rewo-mu-email{flex:1 1 56%;min-width:150px}
.rewo-parts-muutrow .rewo-mu-phone{flex:1 1 30%;min-width:110px}

/* ===== Lisätyöt v3.5.91: numero, pikkukuvat, tila-pillit, inline-status, koonti ===== */
.rewo-lt-num{display:inline-block;font:700 11px/1.4 ui-monospace,Menlo,Consolas,monospace;background:#e7f0ea;color:#1f6b43;border:1px solid #bcd4c4;padding:1px 6px;border-radius:5px;letter-spacing:.2px;white-space:nowrap}
.rewo-theme-v2 .rewo-lt-num{background:#213027;color:#a6e0bd;border-color:#33473a}
.rewo-theme-v2 .rewo-lisatyo > summary,.rewo-theme-v2 .rewo-lisatyo-title{color:#eef2ef}
.rewo-lt-thumbs{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}
.rewo-lt-thumb{width:34px;height:34px;object-fit:cover;border-radius:5px;border:1px solid #d7e0d2}
.rewo-lt-status{display:inline-block;font-size:11px;font-weight:700;color:#fff;padding:2px 8px;border-radius:999px;white-space:nowrap;background:#9CA3AF}
.rewo-lt-s-luotu{background:#9CA3AF}
.rewo-lt-s-odottaa{background:#876b12}
.rewo-lt-s-lahetetty{background:#2D4F8E}
.rewo-lt-s-hyvaksytty{background:#356016}
.rewo-lt-s-valmis{background:#2C5F2D}
.rewo-lt-s-laskutettu{background:#5B3FBF}
.rewo-lt-stform{margin:0}
.rewo-lt-stsel{font-size:12px;font-weight:600;padding:3px 6px;border:1px solid #cdd7c8;border-radius:7px;background:#fff;max-width:180px}
.rewo-lt-stsel.rewo-lt-s-luotu{border-color:#9CA3AF}
.rewo-lt-stsel.rewo-lt-s-odottaa{border-color:#876b12}
.rewo-lt-stsel.rewo-lt-s-lahetetty{border-color:#2D4F8E}
.rewo-lt-stsel.rewo-lt-s-hyvaksytty{border-color:#356016}
.rewo-lt-stsel.rewo-lt-s-valmis{border-color:#2C5F2D}
.rewo-lt-stsel.rewo-lt-s-laskutettu{border-color:#5B3FBF}
.rewo-lt-editform{background:#f6f9f3;border:1px solid #e2ebdb;border-radius:10px;padding:10px}
.rewo-lt-ai{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rewo-lt-aimsg{font-size:12px}
.rewo-ltk{border:1px solid #e2ebdb;border-radius:12px;padding:12px;background:#fbfdf9}
.rewo-ltk-table{width:100%;border-collapse:collapse;font-size:13px}
.rewo-ltk-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:#5b6b57;border-bottom:1px solid #d7e0d2;padding:4px 6px}
.rewo-ltk-table td{border-bottom:1px solid #eef3ea;padding:6px 6px;vertical-align:top}
.rewo-ltk-table td.ta-r,.rewo-ltk-table th.ta-r{text-align:right;white-space:nowrap}
.rewo-ltk-sum{font-weight:600;color:#2C5F2D}
.rewo-ltk-add{margin-top:10px}
.rewo-ltk-add>summary{cursor:pointer;font-weight:600;color:#3F6F1E}
.rewo-parts-all{font-size:11px;font-weight:600;color:#3F6F1E;background:#eaf3e2;border:1px solid #cfe2bf;border-radius:6px;padding:1px 8px;cursor:pointer;margin-left:6px}
.rewo-parts-all:hover{background:#dcebcd}

/* ===== Projektiaikataulu-AI (aikataulu_proj_sched) v3.5.92 ===== */
.rewo-pjs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.rewo-pjs-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid #e2ebdb;border-radius:14px;padding:14px;transition:box-shadow .15s,transform .15s}
.rewo-pjs-card:hover{box-shadow:0 6px 20px rgba(14,36,24,.10);transform:translateY(-1px)}
.rewo-pjs-cardhead{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.rewo-pjs-cardhead h3{margin:0;font-size:15px;line-height:1.3;color:#0E2418}
.rewo-pjs-addr{font-size:12px;color:#5b6b57;margin:4px 0 8px}
.rewo-pjs-prog{height:8px;border-radius:999px;background:#eef3ea;overflow:hidden;margin:8px 0 6px}
.rewo-pjs-prog>i{display:block;height:100%;background:linear-gradient(90deg,#2C5F2D,#54A924)}
.rewo-pjs-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#5b6b57}
.rewo-pjs-find{margin-top:8px;font-size:12px;font-weight:600;color:#876b12}
.rewo-pjs-find.rewo-pjs-ok{color:#2C5F2D}
.rewo-pjs-headmeta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:13px;color:#3a463a;margin-top:6px}
.rewo-pjs-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.rewo-pjs-finding{border-radius:10px;padding:10px 12px;margin:8px 0;border-left:4px solid #ccc;background:#f7f7f5}
.rewo-pjs-finding>strong{display:block}
.rewo-pjs-finding>div{font-size:13px;color:#444;margin-top:2px}
.rewo-pjs-warn{border-left-color:#E0A800;background:#fff8e8}
.rewo-pjs-crit{border-left-color:#C0392B;background:#fdeceb}
.rewo-pjs-note{border-left-color:#2D4F8E;background:#eef3fb}
.rewo-pjs-ok2{border-left-color:#2C5F2D;background:#f0f7e9}
.rewo-callout-ok{border-radius:10px;padding:10px 12px;background:#f0f7e9;border-left:4px solid #2C5F2D;color:#2C5F2D;font-weight:600}
.rewo-pjs-kpis{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 10px}
.rewo-pjs-kpi{flex:1 1 140px;min-width:130px;background:#fbfdf9;border:1px solid #e2ebdb;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.rewo-pjs-kpi>span{font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:#5b6b57}
.rewo-pjs-kpi>b{font-size:18px;color:#0E2418}

/* Projektiaikataulu-AI: työnjohtajan koonti */
.rewo-pjs-digest{border-left:4px solid #F2811D}
.rewo-pjs-attlist{list-style:none;margin:0;padding:0}
.rewo-pjs-attlist li{padding:8px 10px;border-bottom:1px solid rgba(0,0,0,.06);font-size:13px;line-height:1.45}
.rewo-pjs-attlist li:last-child{border-bottom:0}
.rewo-pjs-attlist li a{color:#2C5F2D;text-decoration:none}
.rewo-pjs-attlist li a:hover{text-decoration:underline}
.rewo-pjs-attlist li .rewo-muted{font-size:12px}

/* Projektiaikataulu-AI: kestoarvio-syöte tehtävätaulukossa */
.rewo-pjs-khinput{width:64px;text-align:right;padding:4px 6px;border:1px solid rgba(0,0,0,.18);border-radius:6px;font-size:13px}
.rewo-pjs-khform{display:inline-flex}

/* Työnjohtajan Copilot-widgetit + päivittäisen koonnin kytkin */
.rewo-pjs-billsum{font-size:13px;margin:0 0 8px;padding:6px 10px;background:rgba(242,129,29,.08);border-radius:8px}
.rewo-pjs-digtoggle{margin:0 0 14px;font-size:13px;color:#3a4a40}
.rewo-pjs-digtoggle label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}

/* "Uusi" -merkki + uutuusbanneri */
.rewo-new-badge{display:inline-block;background:#54A924;color:#fff;font-size:10px;font-weight:800;line-height:1;padding:3px 6px;border-radius:999px;vertical-align:middle;letter-spacing:.02em}
.rewo-new-banner{border-left:4px solid #54A924}
.rewo-new-banner-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.rewo-new-list{list-style:none;margin:0;padding:0}
.rewo-new-list li{padding:6px 0;border-bottom:1px solid rgba(0,0,0,.05);font-size:13px}
.rewo-new-list li:last-child{border-bottom:0}
.rewo-new-list li a{color:#2C5F2D;text-decoration:none}
.rewo-new-list li a:hover{text-decoration:underline}

/* Navi-osion "Uusi"-merkki: kompakti variantti (alanavi/sivupalkki/mega-valikko). */
.rewo-new-badge-nav{font-size:8px;padding:2px 5px;margin-left:4px;letter-spacing:0;background:#F2811D;vertical-align:top}
.rewo-bn .rewo-new-badge-nav{position:absolute;top:2px;right:50%;transform:translateX(18px);margin:0;padding:1px 4px;font-size:7px}
.rewo-bn{position:relative}

/* Maksuerät-listaus (v3.5.202): pienet toiminnot + lohkotaulu */
.rewo-btn-xs{padding:3px 9px;font-size:12px;border-radius:8px;line-height:1.35;font-weight:600}
.rewo-me-table th,.rewo-me-table td{vertical-align:middle}
.rewo-me-table td{padding:8px 10px}
.rewo-me-act{font-size:12px;background:none;border:none;cursor:pointer;padding:2px 4px;text-decoration:underline;color:#2C5F2D;font-weight:600}
.rewo-me-act:hover{opacity:.8}
.rewo-me-sum td{border-top:2px solid #e3e6e3;background:#fbfdf9}

/* Tuntilistan mobiilikortti (v3.5.203): siisti labeloitu kortti, työntekijä otsikkona */
@media(max-width:760px){
  .rewo-hrs-table td:first-child{display:flex !important;justify-content:space-between !important;padding:6px 0 !important;margin:0 !important;border-bottom:0 !important;}
  .rewo-hrs-table td:first-child::before{content:attr(data-l) !important;display:inline !important;color:var(--muted);font-size:12.5px;font-weight:600;}
  .rewo-hrs-table td[data-l="Valitse"]{justify-content:flex-start !important;gap:12px;}
  .rewo-hrs-table td[data-l="Työntekijä"]{font-weight:800;font-size:15.5px;border-bottom:1px solid var(--line);padding-bottom:8px !important;margin-bottom:4px !important;}
  .rewo-hrs-table td[data-l="Kuvaus"]{flex-direction:column;align-items:flex-start;gap:2px;}
  .rewo-hrs-table td[data-l="Kuvaus"]::before{font-size:11.5px;}
}

/* Tunti- ja hankintarivien tiivistys mobiilissa (v3.5.967): pienempi padding + fontti,
 * tiiviimpi kortti -> enemmän rivejä näkyviin ja selkeämpi luettavuus. */
@media(max-width:760px){
  .rewo-main.rewo-mobile table.rewo-hrs-table tr,
  .rewo-main.rewo-mobile table.rewo-hank-table tr{padding:8px 12px !important;margin-bottom:8px !important;}
  .rewo-main.rewo-mobile table.rewo-hrs-table td,
  .rewo-main.rewo-mobile table.rewo-hank-table td{padding:2.5px 0 !important;font-size:13px !important;gap:10px !important;}
  .rewo-main.rewo-mobile table.rewo-hrs-table td::before,
  .rewo-main.rewo-mobile table.rewo-hank-table td::before{font-size:11.5px !important;font-weight:600;}
  .rewo-main.rewo-mobile table.rewo-hrs-table td .rewo-muted,
  .rewo-main.rewo-mobile table.rewo-hank-table td .rewo-muted{font-size:10px !important;}
  /* Tuote/Kuvaus koko leveydelle, muut kompaktisti */
  .rewo-main.rewo-mobile table.rewo-hank-table td[data-l="Tuote"]{font-weight:800;font-size:14px !important;border-bottom:1px solid var(--line);padding-bottom:6px !important;margin-bottom:3px !important;flex-direction:column;align-items:flex-start;gap:1px;}
  .rewo-main.rewo-mobile table.rewo-hank-table td[data-l="Tuote"]::before{font-size:10.5px !important;}
  /* Piilota tyhjät/merkityksettömät solut (esim. tyhjä toimintosarake) */
  .rewo-main.rewo-mobile table.rewo-hrs-table td:empty,
  .rewo-main.rewo-mobile table.rewo-hank-table td:empty{display:none !important;}
}

/* Lisätyöt-lohkojen ryhmäotsikot (v3.5.204): laskuttamattomat / laskutetut */
.rewo-tp-table .rewo-lt-grouprow td{background:#eef3ea;font-weight:800;font-size:14px;color:#2C5F2D;padding:10px 12px;border:0;letter-spacing:.01em;text-align:left;}
.rewo-tp-table .rewo-lt-grouprow.is-done td{background:#f3f0fb;color:#5B3FBF;}
@media(max-width:760px){
  .rewo-app .rewo-tp-table.is-cards tr.rewo-lt-grouprow{background:#eef3ea;border:0;border-radius:8px;box-shadow:none;padding:8px 12px;margin:12px 0 4px;}
  .rewo-app .rewo-tp-table.is-cards tr.rewo-lt-grouprow.is-done{background:#f3f0fb;}
  .rewo-app .rewo-tp-table.is-cards .rewo-lt-grouprow td{display:block;text-align:left;font-weight:800;color:#2C5F2D;padding:0;}
  .rewo-app .rewo-tp-table.is-cards .rewo-lt-grouprow.is-done td{color:#5B3FBF;}
  .rewo-app .rewo-tp-table.is-cards .rewo-lt-grouprow td::before{content:none;}
}

/* Mobiilissa piilotetaan vasemman alakulman viestikupla (paallekkainen alapalkin/kameran kanssa) */
@media (max-width:700px){
  #rewo-msgfab{ display:none !important; }
}

/* Copilot/etusivu: kortin skeleton asynkronisen latauksen ajaksi */
.cop-skel{display:flex;flex-direction:column;gap:9px;padding:4px 2px}
.cop-skel span{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,#ECEEF0 25%,#F4F5F6 37%,#ECEEF0 63%);background-size:400% 100%;animation:cop-shimmer 1.3s ease-in-out infinite}
.cop-skel span:nth-child(1){width:70%}
.cop-skel span:nth-child(2){width:92%}
.cop-skel span:nth-child(3){width:55%}
@keyframes cop-shimmer{0%{background-position:100% 0}100%{background-position:0 0}}

/* Etusivun kortti: Projektien laskutusvertailu (proj_laskutus) */
.pjl-head{display:flex;flex-direction:column;margin-bottom:12px}
.pjl-tot{font-family:'Space Mono',monospace,monospace;font-size:23px;font-weight:700;color:#1B1F23;line-height:1.05}
.pjl-sub{font-size:11.5px;color:#727A82;margin-top:3px}
.pjl-bars{display:flex;flex-direction:column;gap:12px}
.pjl-row{display:block;text-decoration:none}
.pjl-row:active{opacity:.7}
.pjl-r1{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:4px}
.pjl-name{font-size:12.5px;font-weight:600;color:#1B1F23;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.pjl-rev{font-family:'Space Mono',monospace,monospace;font-size:12.5px;font-weight:700;color:#1B1F23;white-space:nowrap;flex-shrink:0}
.pjl-track{display:flex;align-items:center;gap:9px}
.pjl-bar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:#ECEEF0;min-width:6px;transition:width .4s ease}
.pjl-bar.is-neg{background:#E2574C}
.pjl-cost{display:block;background:#C9CFD4;min-width:0}
.pjl-kate{display:block;background:#2E7D52;min-width:0}
.pjl-katep{font-size:11px;color:#727A82;white-space:nowrap;flex-shrink:0;font-weight:600}
.pjl-katep.is-neg{color:#C0392B}
.pjl-legend{display:flex;align-items:center;gap:14px;margin-top:12px;padding-top:10px;border-top:1px solid #E3E6E9;font-size:11px;color:#727A82}
.pjl-legend span{display:inline-flex;align-items:center;gap:5px}
.pjl-dot{display:inline-block;width:10px;height:10px;border-radius:3px}
.pjl-dg{background:#2E7D52}
.pjl-dc{background:#C9CFD4}
.pjl-legh{margin-left:auto;font-style:italic}

/* Etusivun kortti: Yleiskatsaus (yleiskatsaus) — drillattavat KPI-ruudut + avoimet projektit */
.ovw-kpis{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.ovw-kpi{position:relative;display:flex;flex-direction:column;gap:1px;padding:12px 13px;background:#fff;border:1px solid #E3E6E9;border-radius:13px;text-decoration:none;transition:border-color .12s,transform .08s,box-shadow .12s}
.ovw-kpi:hover{border-color:#C9CFD4;box-shadow:0 2px 10px rgba(20,24,28,.05)}
.ovw-kpi:active{transform:scale(.985)}
.ovw-kpi-v{font-family:'Space Mono',monospace,monospace;font-size:21px;font-weight:700;line-height:1.1;letter-spacing:-.5px}
.ovw-kpi-l{font-size:12px;font-weight:600;color:#1B1F23;margin-top:3px}
.ovw-kpi-s{font-size:10.5px;color:#727A82;margin-top:1px}
.ovw-kpi-go{position:absolute;top:11px;right:12px;font-size:16px;color:#C9CFD4;font-weight:700;line-height:1}
.ovw-projs-h{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#727A82;margin:16px 0 9px}
.ovw-projs{display:flex;flex-direction:column;gap:11px}
.ovw-proj{display:block;text-decoration:none}
.ovw-proj:active{opacity:.7}
.ovw-proj-r1{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:4px}
.ovw-proj-n{font-size:12.5px;font-weight:600;color:#1B1F23;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ovw-proj-v{font-family:'Space Mono',monospace,monospace;font-size:12.5px;font-weight:700;color:#1B1F23;white-space:nowrap;flex-shrink:0}
.ovw-proj-r2{display:flex;align-items:center;gap:9px}
.ovw-proj-track{flex:1;height:7px;border-radius:4px;background:#ECEEF0;overflow:hidden;min-width:0}
.ovw-proj-bar{height:100%;background:#2E7D52;border-radius:4px;transition:width .4s ease}
.ovw-proj-bar.is-over{background:#C77D2A}
.ovw-proj-pct{font-size:11px;color:#727A82;font-weight:600;white-space:nowrap;flex-shrink:0;width:34px;text-align:right}

/* === Projektityypin pikavalitsin (Tuntityo | Urakkatyo) hero-ylapalkissa === */
.proj-ltype-seg{ display:inline-flex; align-items:center; gap:8px; background:transparent; border:0; border-radius:0; padding:0; margin-left:10px; vertical-align:middle; }
.proj-ltype-seg .plt-cap{ font-size:13px; font-weight:800; letter-spacing:.01em; color:#727A82; padding:0; }
.proj-ltype-seg .plt-seg{ display:inline-flex; background:#E7EAE7; border-radius:12px; padding:3px; gap:2px; }
.proj-ltype-seg .plt-opt{ border:0; background:transparent; color:#727A82; font-size:14px; font-weight:700; padding:9px 18px; border-radius:10px; cursor:pointer; line-height:1; transition:background .12s,color .12s,box-shadow .12s; }
.proj-ltype-seg .plt-opt:hover{ color:#1B1F23; }
.proj-ltype-seg .plt-opt.is-active{ background:#fff; color:#1B1F23; box-shadow:0 1px 3px rgba(0,0,0,.14); }
.proj-ltype-seg .plt-opt.is-active:hover{ background:#fff; }
@media (max-width:640px){ .proj-ltype-seg{ margin:8px 0 0; gap:6px; } .proj-ltype-seg .plt-cap{ display:none; } }

/* === Pysyva rivitunniste (rid) — jaljitettavyys Hankinnat <-> Laskutus === */
.rewo-rid{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:10px; color:#9AA0A6; letter-spacing:.02em; margin-top:2px; user-select:all; cursor:text; }
.rewo-rid:hover{ color:#2B3036; }

/* ============================================================
 * Ostolaskun sisainen 4-vaihe kierto (Vaihtoehto 1)
 * ============================================================ */
.rewo-ol-badge{ font-size:11px; font-weight:800; padding:5px 10px; border-radius:20px; display:inline-block; white-space:nowrap; }
.rewo-ol-badge.tark{ background:#FDEEE0; color:#B45E12; }
.rewo-ol-badge.hyv{ background:#E9F1FB; color:#3B6FB0; }
.rewo-ol-badge.maksu{ background:#E7F3E4; color:#2C5F2D; }
.rewo-ol-badge.hyl{ background:#FBEAE8; color:#C0392B; }
.rewo-ol-tark-btn{ background:#E9F1FB !important; color:#3B6FB0 !important; border:0 !important; font-weight:800 !important; }
.rewo-ol-tark-btn:hover{ background:#d9e7f8 !important; }
/* 4-vaiheen vaakapalkki (detaljinakyma) */
.rewo-ol-flow{ display:flex; align-items:flex-start; padding:16px 10px 14px; background:#F7FAF7; border:1px solid #E4E9E4; border-radius:12px; margin:12px 0; }
.rewo-ol-step{ display:flex; flex-direction:column; align-items:center; gap:5px; flex:1; position:relative; }
.rewo-ol-fc{ width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800; background:#E3E8E3; color:#6C7770; z-index:2; }
.rewo-ol-step.done .rewo-ol-fc{ background:#2C5F2D; color:#fff; }
.rewo-ol-step.active .rewo-ol-fc{ background:#F2811D; color:#fff; box-shadow:0 0 0 4px rgba(242,129,29,.18); }
.rewo-ol-fl{ font-size:10.5px; font-weight:800; color:#6C7770; text-align:center; line-height:1.2; }
.rewo-ol-step.active .rewo-ol-fl{ color:#B45E12; }
.rewo-ol-step.done .rewo-ol-fl{ color:#2C5F2D; }
.rewo-ol-src{ font-size:8.5px; font-weight:800; letter-spacing:.3px; text-transform:uppercase; color:#9aa39c; }
.rewo-ol-line{ position:absolute; top:15px; left:50%; width:100%; height:2px; background:#E3E8E3; z-index:1; }
.rewo-ol-step.done .rewo-ol-line{ background:#2C5F2D; }
.rewo-ol-step:last-child .rewo-ol-line{ display:none; }

/* ============================ SWIPE-KAAVIOKARUSELLI (v3.5.968) ============================
 * Uudelleenkäytettävä: ryhmä kaavioita/kortteja pyyhkäistävänä sivuina + pistenavigointi.
 * Käyttö: .rewo-chartswipe > .rewo-chartswipe-track > .rewo-chartswipe-slide (n kpl). JS lisää pisteet. */
.rewo-chartswipe{position:relative}
.rewo-chartswipe-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 0 4px}
.rewo-chartswipe-track::-webkit-scrollbar{display:none}
.rewo-chartswipe-slide{flex:0 0 100%;min-width:100%;scroll-snap-align:center;box-sizing:border-box}
.rewo-chartswipe-dots{display:flex;justify-content:center;gap:7px;margin-top:12px;flex-wrap:wrap}
.rewo-chartswipe-dot{width:8px;height:8px;border-radius:50%;background:#CBD3CD;border:0;cursor:pointer;padding:0;transition:width .2s,background .2s;-webkit-tap-highlight-color:transparent}
.rewo-chartswipe-dot.on{background:#2E7D52;width:22px;border-radius:4px}
.rewo-chartswipe-slide-h{font-weight:700;font-size:14px;margin:0 0 8px;color:#2D3133}
/* Isolla näytöllä (tablet/desktop) näytä 2 sivua kerrallaan jos tilaa — silti pyyhkäistävä */
@media(min-width:1000px){ .rewo-chartswipe.rewo-chartswipe-2up .rewo-chartswipe-slide{flex-basis:calc(50% - 6px);min-width:calc(50% - 6px)} }
