@font-face{font-family:'PP Right Gothic';src:url(PPRightGothic-Light.woff2) format('woff2');font-weight:300;font-style:normal;font-display:block}
@font-face{font-family:'PP Right Gothic';src:url(PPRightGothic-Medium.woff2) format('woff2');font-weight:500;font-style:normal;font-display:block}

:root{
  --salmon:#E78D54; --pink:#E4C0CA; --petrol:#518D99; --cream:#FBF5EA; --black:#1E1C1C;
  --line:rgba(30,28,28,.14); --muted:rgba(30,28,28,.62); --card:#fff;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--black);
  font-family:'PP Right Gothic','Archivo Narrow','Arial Narrow',sans-serif;font-weight:300;font-size:19px;line-height:1.45}
h1,h2,h3,strong,b,th,label,.btn{font-weight:500}
h1{font-size:2.2rem;line-height:1.1;margin:0 0 .4em;letter-spacing:.01em}
h2{font-size:1.5rem;margin:1.4em 0 .5em}
a{color:var(--petrol)}
.muted{color:var(--muted)}

/* ---------- pacientský portál ---------- */
.p-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;max-width:1180px;margin:0 auto}
.p-header img.logo{height:34px;display:block}
.p-header nav{display:flex;gap:10px 14px;align-items:center;justify-content:flex-end;flex-wrap:wrap;font-size:.95rem}
.langs a{color:var(--muted);text-decoration:none;margin-left:8px}
.langs a.on{color:var(--black);font-weight:500;border-bottom:2px solid var(--salmon)}
.p-main{max-width:1180px;margin:0 auto;padding:8px 24px 64px}

.login-wrap{min-height:calc(100vh - 80px);display:grid;place-items:center;position:relative;overflow:hidden;padding:24px 16px}
.login-wrap::after{content:"";position:absolute;right:-90px;bottom:-80px;width:min(520px,70vw);aspect-ratio:1000/858;
  background:url(vajicka-na-kremovou.png) no-repeat center/contain;pointer-events:none;opacity:.95;z-index:0}
.login-card{position:relative;z-index:1;width:100%;max-width:400px;background:var(--card);border-radius:22px;
  padding:36px 32px;box-shadow:0 18px 50px rgba(30,28,28,.08)}
.login-card p.lead{color:var(--muted);margin:0 0 22px}

label{display:block;font-size:.9rem;margin:14px 0 6px}
input[type=text],input[type=password],input[type=date],input[type=number],input[type=search],select,textarea{
  width:100%;font:inherit;font-size:1rem;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--black)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--petrol);outline-offset:1px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-weight:500;font-size:1rem;
  border:0;border-radius:999px;padding:11px 26px;background:var(--salmon);color:#fff;cursor:pointer;text-decoration:none}
.btn:hover{filter:brightness(.95)}
.btn.block{width:100%;margin-top:22px}
.btn.ghost{background:transparent;color:var(--black);border:1px solid var(--line)}
.btn.petrol{background:var(--petrol)}
.btn.danger{background:#9b3b3b}
.btn.small{padding:6px 14px;font-size:.88rem}
.alert{background:var(--pink);border-radius:12px;padding:10px 14px;margin:0 0 14px;font-size:.95rem}

.slide-head{display:flex;flex-wrap:wrap;gap:6px 22px;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:10px;margin:28px 0 18px}
.slide-head h2{margin:0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.embryo{background:var(--card);border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(30,28,28,.06)}
.embryo video{width:100%;display:block;background:#000;aspect-ratio:1/1;object-fit:contain}
.embryo .meta{padding:12px 16px;display:flex;justify-content:space-between;gap:10px;font-size:.92rem}
.embryo .meta b{font-size:1.05rem}

/* ---------- administrace ---------- */
body.admin{font-family:Aptos,'Segoe UI',system-ui,sans-serif;font-size:15px;background:#f7f4ee}
body.admin h1,body.admin h2{font-family:'PP Right Gothic','Arial Narrow',sans-serif}
.a-top{background:var(--black);color:#fff;display:flex;align-items:center;gap:22px;padding:10px 22px;flex-wrap:wrap}
.a-top a{color:#fff;text-decoration:none;opacity:.85}
.a-top a:hover,.a-top a.on{opacity:1;border-bottom:2px solid var(--salmon)}
.a-top .brand{font-family:'PP Right Gothic',sans-serif;font-weight:500;font-size:1.25rem;opacity:1}
.a-top .sp{flex:1}
.a-main{padding:18px 22px 60px;max-width:1400px;margin:0 auto}
.flash{background:#fff3d6;border:1px solid #f0d690;border-radius:10px;padding:9px 14px;margin-bottom:14px}
table.t{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}
table.t th,table.t td{padding:7px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.t th{background:#efe9df;font-size:.85rem}
table.t tr:hover td{background:#fbf8f3}
.tag{display:inline-block;padding:1px 9px;border-radius:999px;font-size:.8rem;background:#eee}
.tag.ok{background:#dcefe9;color:#1f5d52}.tag.warn{background:#fde4c8;color:#7a4410}.tag.err{background:#f6d4d4;color:#7a1f1f}
.tag.off{background:#e6e6e6;color:#555}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:900px){.cols{grid-template-columns:1fr}}
.box{background:#fff;border-radius:14px;padding:16px 18px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.box h2{margin-top:0}
dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:0}
dl.kv dt{color:var(--muted)}
.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.actions form{display:inline-flex;gap:6px;align-items:center}
.mailprev{border:1px solid var(--line);border-radius:10px;padding:12px;max-height:340px;overflow:auto;background:#fff}
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.vgrid video,.vgrid img{width:100%;border-radius:10px;background:#000}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:end}
.row>div{flex:1;min-width:160px}
