/* FVE Návratnost — design systém SIMPLY (Brandbook), sjednoceno s VZ aplikací.
   Egyptian blue = akce. Jednotná pole (input/select/textarea = stejný radius).
   Layout: appbar + levý sidebar + obsah (shell). */
:root{
  --blue:#0E34A0;--blue-d:#0A2778;--blue-l:#2A52C8;--blue-soft:#E7EDFB;
  --ink:#1a2330;--muted:#64748b;--faint:#9AA2B1;
  --cyan:#2EB8C3;--gold:#F5BD20;--purplex:#632383;
  --bg:#F5F7FB;--board:#EEF2F8;--surface:#fff;--surface-2:#F8FAFD;
  --line:#E4E8F0;--line-2:#D3DAE8;
  --good:#1E8E5A;--good-bg:#E7F6EE;--warn:#9a7400;--warn-bg:#FFF8E9;--err:#D93025;--err-bg:#FDECEA;
  --sh:0 1px 2px rgba(14,52,160,.04),0 4px 14px rgba(14,52,160,.05);
  font-family:"Avenir Next LT Pro","Avenir Next","Nunito Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased;font-family:inherit}
a{color:var(--blue)}

/* App bar (nahoře, modrá s logem) */
.appbar{background:var(--blue);color:#fff;padding:.55rem 1.4rem;display:flex;align-items:center;
  justify-content:space-between;box-shadow:0 2px 10px rgba(14,52,160,.2);position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:#fff}
.brand .logo{height:24px;width:auto;display:block}
.brand-app{font-weight:600;font-size:.92rem;opacity:.93;border-left:1px solid rgba(255,255,255,.32);padding-left:.7rem}
.appbar-right{display:flex;align-items:center;gap:.9rem;font-size:.85rem}
.user-email{color:#cdd7f5}
.appbar-right .badge.role{background:rgba(255,255,255,.16);color:#fff}
.odhlasit{color:#fff;opacity:.9;text-decoration:none;background:none;border:0;cursor:pointer;font:inherit;padding:0}
.odhlasit:hover{opacity:1;text-decoration:underline}

/* Shell: levý sidebar + obsah */
.shell{display:flex;min-height:calc(100vh - 49px)}
.side{width:220px;flex:none;background:#fff;border-right:1px solid var(--line);padding:.8rem .6rem}
.side a{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .7rem;
  border-radius:9px;font-size:.9rem;color:var(--ink);text-decoration:none;margin-bottom:1px;transition:background .12s}
.side a:hover{background:var(--board)}
.side a.active{background:var(--blue-soft);color:var(--blue);font-weight:700}
.side-sep{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:800;margin:1rem .7rem .35rem}
.cnt{background:var(--board);color:var(--muted);font-size:.72rem;font-weight:700;border-radius:999px;
  padding:.05rem .5rem;font-variant-numeric:tabular-nums}
.content{flex:1;padding:1.6rem 1.8rem;max-width:1040px}
.content-plain{max-width:900px;margin:0 auto;padding:0 1.25rem}

/* Karty + typografie */
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.25rem 1.4rem;
  margin-bottom:1.1rem;box-shadow:var(--sh)}
h1{font-size:1.5rem;margin:0 0 1rem;letter-spacing:-.01em;color:var(--ink)}
h2{font-size:1.12rem;margin:0 0 .75rem;letter-spacing:-.01em;color:var(--ink)}
h3{font-size:1rem;margin:0 0 .5rem;color:var(--ink)}
.lead{color:var(--muted);font-size:.95rem;margin:0 0 1rem}
label{display:block;font-weight:600;margin-bottom:.35rem}

/* JEDNOTNÁ POLE — input/select/textarea stejný radius (oprava „hranaté vs oblé") */
input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=file]):not([type=range]),
select,textarea{
  width:100%;max-width:100%;min-height:2.6rem;padding:.55rem .8rem;border:1px solid var(--line);
  border-radius:9px;font-size:1rem;font-family:inherit;line-height:1.4;background:#fff;color:var(--ink);
  transition:border-color .15s,box-shadow .15s}
textarea{min-height:5rem}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(14,52,160,.12)}
input[type=file]{font-size:.9rem;color:var(--muted)}

/* Tlačítka (bare button = primární; VN používá <button> bez třídy) */
.btn,button:not(.ib):not(.odhlasit){display:inline-block;background:var(--blue);color:#fff;border:0;
  padding:.6rem 1.25rem;border-radius:9px;font-size:.95rem;font-weight:700;font-family:inherit;cursor:pointer;
  text-decoration:none;transition:background .15s;line-height:1.3}
.btn:hover,button:not(.ib):not(.odhlasit):hover{background:var(--blue-d)}
.btn.ghost{background:#fff;color:var(--blue);border:1px solid var(--line-2)}
.btn.ghost:hover{background:var(--surface-2)}
.btn.sm{padding:.3rem .7rem;font-size:.82rem}
.btn.danger{background:var(--err)}.btn.danger:hover{background:#b3271c}
button:disabled{opacity:.55;cursor:default}
/* ikonové tlačítko (mazání apod.) — nenápadné, ne modrý blok */
.icon-btn{background:none!important;color:var(--muted)!important;border:1px solid var(--line)!important;
  padding:.32rem .5rem!important;border-radius:8px!important;font-size:1rem!important;line-height:1!important;font-weight:400!important}
.icon-btn:hover{background:var(--err-bg)!important;border-color:#fda29b!important}

/* Stavové barvy + odznaky */
.muted{color:var(--muted)}.ok{color:var(--good);font-weight:600}.bad,.err{color:var(--err);font-weight:600}
.warn{color:var(--warn);font-weight:600}.small{font-size:.85rem}.gold{color:var(--gold)}
.badge{display:inline-block;padding:.12rem .6rem;border-radius:999px;font-size:.8rem;font-weight:700;
  background:var(--blue-soft);color:var(--blue)}

/* Tabulky */
table,table.grid{width:100%;border-collapse:collapse;font-size:.92rem;margin-top:.5rem}
th,td{text-align:left;padding:.6rem .65rem;border-bottom:1px solid var(--line);vertical-align:middle}
th{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;font-weight:800}
tbody tr:hover{background:#fafbff}
table.grid tbody tr{cursor:pointer}
td.num,.num{font-variant-numeric:tabular-nums}

/* Formuláře: inline řádek + sloupcový (sliders) */
form.inline{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-top:.6rem}
form.inline input:not([type=checkbox]),form.inline select{width:auto;flex:1 1 200px;min-width:170px}
form.inline button{margin:0}
.sliders{display:flex;flex-direction:column;gap:.9rem;margin:.5rem 0 1.1rem}
.sliders label{font-weight:600}
.sliders input[type=range]{width:100%;margin-top:.45rem;accent-color:var(--blue)}
.sliders b{color:var(--blue)}

/* Metriky + KPI (výsledky) */
.metrics{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1rem}
.metric{display:flex;flex-direction:column}
.metric .v{font-size:1.5rem;font-weight:800;color:var(--blue);font-variant-numeric:tabular-nums;line-height:1.1}
.metric .l{color:var(--muted);font-size:.85rem}
.kpi{display:flex;gap:.8rem;flex-wrap:wrap;margin:.3rem 0 1rem}
.kpi>div{flex:1 1 150px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:.85rem 1rem}

/* malé inline tlačítko (varianty) */
button.ib{margin:0;padding:.3rem .6rem;background:var(--blue-soft);color:var(--blue);border:0;border-radius:7px;
  font-size:.9rem;font-family:inherit;line-height:1;cursor:pointer;font-weight:600}
button.ib:hover{background:#d7e2fb}

/* Stepper (fáze projektu) */
.stepper{display:flex;gap:.4rem;margin:.1rem 0 1.3rem;flex-wrap:wrap}
.stepper .st{font-size:.78rem;padding:.32rem .85rem;border-radius:999px;background:var(--board);color:var(--muted);
  font-weight:600;text-decoration:none;white-space:nowrap}
.stepper a.st:hover{background:#e3e9f4;color:var(--ink)}
.stepper .st.on{background:var(--blue);color:#fff}
.stepper .st.done{background:var(--good-bg);color:var(--good)}

/* Login (bez menu) */
.card.login,.login-card{max-width:420px;margin:3.5rem auto}
.login-logo{display:block;height:38px;width:auto;margin:0 auto 1.4rem}

details summary{cursor:pointer;padding:.3rem 0;color:var(--muted)}
.crumb{display:inline-block;margin-bottom:.9rem;font-size:.9rem}

@media (max-width:820px){
  .shell{flex-direction:column}
  .side{width:100%;border-right:0;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.3rem;padding:.6rem}
  .side-sep{width:100%;margin:.5rem .4rem 0}
  .content{padding:1.1rem}
  .appbar{padding:.55rem 1rem}
}
