/* EDUnino - planovani cviceni pro ucitele: prihlaseni, registrace, potvrzeni a heslo (15. 10. 2026)
   Stranky v /cs/ (prihlaseni-ucitele, registrace-ucitele, potvrzeni-registrace, zapomenute-heslo, nove-heslo).
   Barvy predmetu nastavuje /assets/js/edunino-planner.js do promennych --pl-* na <body class="pl-page">.
   Vse je pod .pl-page, aby se to netlouklo s bootstrapem a style.css webu. */
.pl-page{--pl-main:#F64D00;--pl-soft:#FFE0D1;--pl-dark:#7A2600;--pl-light:#C43D00;--pl-accent:#C43D00;--pl-accent-h:#A13200;
  --pl-tint:#FFF3EC;--pl-ring:rgba(246,77,0,.28);
  --ink:#1E2A22;--muted:#5A6470;--line:#E6E9EE;--bg-soft:#F7F8FA;--green-card:#EDF5DF;
  --radius-lg:28px;--shadow:0 20px 50px -28px rgba(20,30,50,.30)}
.pl-page #planner{color:var(--ink);font-size:1rem;line-height:1.6}
.pl-page #planner *,.pl-page #planner *::before,.pl-page #planner *::after{box-sizing:border-box}
.pl-page #planner h1,.pl-page #planner h2{color:var(--ink);font-weight:800;line-height:1.2;margin-top:0}
.pl-page #planner p{margin-top:0}
.pl-page #planner .wrap{max-width:1160px;margin:0 auto;padding:0 24px}

.pl-page .edn-form .edn-field{margin-bottom:16px;position:relative}
.pl-page .edn-form label{display:block;font-weight:600;margin-bottom:6px}
.pl-page .edn-req{color:#C0392B}
.pl-page .edn-opt{color:var(--muted);font-weight:400;font-size:.9em}
.pl-page .edn-form input{width:100%;font:inherit;color:var(--ink);background:var(--bg-soft);border:2px solid var(--line);border-radius:14px;
  padding:.75em 1em;transition:border-color .2s,background .2s,box-shadow .2s}
.pl-page .edn-form input:focus{outline:0;background:#fff}
.pl-page .edn-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6em;width:100%;border:0;cursor:pointer;
  font:inherit;font-weight:700;padding:.95em 1.5em;border-radius:999px;color:#fff;--edge:rgba(0,0,0,.18);--glow:rgba(0,0,0,.25);
  box-shadow:0 4px 0 var(--edge),0 14px 26px -16px var(--glow);
  transition:transform .16s cubic-bezier(.3,.7,.4,1.4),box-shadow .16s ease,background .2s ease}
.pl-page .edn-btn:hover{color:#fff;transform:translateY(-.5px) scale(1.02)}
.pl-page .edn-btn:active{transform:translateY(4px) scale(.99);box-shadow:0 0 0 var(--edge),0 4px 10px -8px var(--glow);transition-duration:.06s}
.pl-page .edn-btn:disabled{opacity:.75;cursor:progress;transform:none}
.pl-page .edn-spinner{display:none;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;
  animation:pl-spin .8s linear infinite}
.pl-page .edn-btn.is-sending .edn-spinner{display:inline-block}
@keyframes pl-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.pl-page .edn-btn{transition:none}.pl-page .edn-btn:hover{transform:none}}

.pl-page{--pl-main:#8BC34A;--pl-soft:#DCEDC8;--pl-dark:#324918;--pl-light:#507128;--pl-accent:#507128;--pl-accent-h:#425D21;
  --pl-tint:#EEF6E5;--pl-ring:rgba(139,195,74,.28)}
.pl-sec{padding:clamp(28px,5vw,72px) 0 clamp(48px,7vw,104px);
  background:radial-gradient(1100px 520px at 12% -10%,var(--pl-tint),rgba(255,255,255,0) 70%),#fff}
.pl-page [hidden]{display:none!important}
.pl-noscript{max-width:640px;margin:40px auto;padding:16px 20px;border-radius:14px;background:#FFF1F0;color:#A5281B;font-weight:600}
.pl-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,470px);gap:clamp(28px,5vw,72px);align-items:start;max-width:1060px;margin:0 auto}
.pl-intro{padding-top:clamp(0px,2vw,24px)}
.pl-brand{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:22px}
.pl-wordmark{display:block;height:56px;width:auto;max-width:100%}
.pl-claim{display:block;font-size:.85rem;font-weight:600;color:var(--muted)}
.pl-chip{display:inline-flex;align-items:center;gap:.5em;margin:0 0 14px;padding:.4em 1em;border-radius:999px;
  background:var(--pl-soft);color:var(--pl-dark);font-weight:600;font-size:.9rem;line-height:1.4}
.pl-dot{width:10px;height:10px;border-radius:50%;background:var(--pl-main);flex:0 0 auto}
.pl-intro h1{font-size:clamp(1.9rem,4.2vw,3rem);margin-bottom:.4em}
.pl-intro h1 .pl-subj{color:var(--pl-accent)}
.pl-lead{font-size:1.1rem;color:var(--muted);max-width:44ch}
.pl-points{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.pl-points li{position:relative;padding-left:40px;font-weight:500}
.pl-points li::before{content:"";position:absolute;left:0;top:.1em;width:26px;height:26px;border-radius:50%;background:var(--pl-soft)}
.pl-points li::after{content:"";position:absolute;left:9px;top:calc(.1em + 6px);width:6px;height:11px;border:solid var(--pl-dark);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.pl-card{background:#fff;border:1px solid var(--line);border-top:6px solid var(--pl-main);border-radius:var(--radius-lg);
  box-shadow:var(--shadow);padding:clamp(20px,3.4vw,36px)}
.pl-card h2{font-size:1.45rem;margin-bottom:.8em}
.pl-card h2:focus{outline:0}
.pl-vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.pl-page .edn-form input:focus{border-color:var(--pl-main);box-shadow:0 0 0 4px var(--pl-ring)}
.pl-page .edn-form .is-invalid{border-color:#D9534F;background:#FFF6F5}
.pl-hint{margin:6px 0 0;font-size:.85rem;color:var(--muted);line-height:1.45}
.pl-ferr{margin:6px 0 0;font-size:.88rem;color:#B3261E;font-weight:500;line-height:1.45}
.pl-ferr .pl-link{color:#B3261E;text-decoration:underline}
.pl-pw{position:relative}
.pl-pw input{padding-right:5.6em}
.pl-pwtoggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;font:inherit;font-size:.85rem;font-weight:600;
  color:var(--pl-accent);padding:.45em .8em;border-radius:10px;cursor:pointer}
.pl-pwtoggle:hover{background:var(--pl-tint)}
.pl-pwtoggle:focus-visible{outline:2px solid var(--pl-accent);outline-offset:1px}

.pl-page .pl-btn{background:var(--pl-accent);--edge:var(--pl-accent-h);--glow:var(--pl-ring);margin-top:6px;text-decoration:none}
.pl-page .pl-btn:hover{background:var(--pl-accent-h)}
.pl-page .pl-btn:focus-visible,.pl-ghost:focus-visible,.pl-link:focus-visible{outline:3px solid var(--pl-accent);outline-offset:3px}
.pl-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5em;border:2px solid var(--pl-main);background:#fff;color:var(--pl-accent);
  font:inherit;font-weight:700;padding:.8em 1.4em;border-radius:999px;cursor:pointer;text-align:center;text-decoration:none;transition:background .2s,border-color .2s,color .2s}
.pl-ghost:hover{background:var(--pl-tint);border-color:var(--pl-accent)}
.pl-ghost:disabled{opacity:.7;cursor:progress}
.pl-wide{display:flex;width:100%}
.pl-link{color:var(--pl-accent);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.pl-link:hover{text-decoration-thickness:2px}
.pl-forgot{margin:-4px 0 14px;text-align:right;font-size:.92rem}

.pl-msg{margin-top:16px;border-radius:14px;padding:12px 16px;font-weight:500;line-height:1.55}
.pl-msg p{margin:0}
.pl-msg > * + *{margin-top:12px}
.pl-msg.is-ok{background:var(--green-card);color:#2C4A15;border:1px solid #BFDC98}
.pl-msg.is-err{background:#FFF1F0;color:#A5281B;border:1px solid #F2B8B2}
.pl-msg.is-warn{background:#FFF8E6;color:#6B4A00;border:1px solid #F1D48A}
.pl-msg.is-info{background:var(--pl-tint);color:var(--pl-dark);border:1px solid var(--pl-soft)}
.pl-msg .pl-ghost,.pl-msg .pl-btn{width:100%}

.pl-new{margin-top:22px}
.pl-or{display:flex;align-items:center;gap:12px;margin:0 0 16px;color:var(--muted);font-size:.85rem}
.pl-or::before,.pl-or::after{content:"";flex:1;height:1px;background:var(--line)}
.pl-note{margin:10px 0 0;font-size:.88rem;color:var(--muted);text-align:center}
.pl-foot{margin:22px 0 0;font-size:.92rem;text-align:center;color:var(--muted)}

.pl-steps{list-style:none;display:flex;gap:8px;margin:26px 0 0;padding:0;max-width:440px}
.pl-steps li{flex:1;display:flex;flex-direction:column;gap:6px;font-size:.82rem;font-weight:600;color:var(--muted)}
.pl-steps li::before{content:"";display:block;height:6px;border-radius:999px;background:var(--line)}
.pl-steps .pl-num{display:none}
.pl-steps li.is-done::before{background:var(--pl-main)}
.pl-steps li.is-current::before{background:var(--pl-accent)}
.pl-steps li.is-current{color:var(--pl-dark)}
.pl-stepof{margin:0 0 2px;font-size:.82rem;font-weight:600;color:var(--pl-accent);text-transform:uppercase;letter-spacing:.06em}
.pl-actions{display:flex;gap:12px;align-items:center;margin-top:6px}
.pl-actions .pl-btn{flex:1;margin-top:0}
.pl-actions .pl-ghost{flex:0 0 auto}
.pl-actions .pl-ghost[hidden]{display:none}
.pl-done-ic{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--pl-soft);color:var(--pl-dark);margin-bottom:14px}
.pl-card > .pl-ghost{display:flex;width:100%;margin-top:4px}
.pl-resend{margin-top:16px}

@media(max-width:860px){
  .pl-shell{grid-template-columns:1fr;gap:22px;max-width:560px}
  .pl-intro{padding-top:0}
  .pl-brand{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:22px}
  .pl-points{display:none}
  .pl-lead{font-size:1rem;margin-bottom:0}
  .pl-steps{margin-top:18px}
}
@media(max-width:420px){
    .pl-wordmark{height:44px}
  .pl-actions{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){.pl-ghost{transition:none}}

.pl-page a.pl-ghost:hover,.pl-page a.pl-ghost:focus{color:var(--pl-accent);text-decoration:none}
.pl-page a.pl-btn:hover,.pl-page a.pl-btn:focus{color:#fff;text-decoration:none}
.pl-page .pl-points li{list-style:none}
.pl-page .header-area{padding-bottom:25px}

.pl-page .pl-ico{display:inline-block;width:1.5em;height:1.5em;border-radius:.3em;flex:0 0 auto}
.pl-page .pl-intro h1 .pl-ico{width:.95em;height:.95em;margin-right:.25em;vertical-align:-.1em;border-radius:.2em}
