/* Reset marginesów przeglądarki */
html, body { margin: 0; padding: 0; }

/* === PANEL UCZNIA === */
/* background:#E7DF16;   #fffbe6 */
main.page.panel { 
 background:
    linear-gradient(180deg, rgba(231,223,22,0.35), transparent 50%),
    radial-gradient(1200px 800px at 50% 0%, rgba(200,215,50,0.55), transparent 80%),
    radial-gradient(1000px 500px at 50% 100%, rgba(3,66,131,0.15), transparent 80%),
    #f9f7d1;
  padding:24px 12px 48px; }

.panel .wrap { max-width: 980px; margin: 0 auto; }

.card {
  background:#fcf8e3;                 /* delikatny beż */
  border:1px solid rgba(3,66,131,.08);
  border-radius:14px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  padding:18px 20px;
  margin:16px 0;
}
.card h2 { margin:0 0 8px; color:#034283; font-size:1.4rem; }
.card h3 { margin:14px 0 8px; font-size:1.1rem; color:#233; }

.files { list-style:none; padding:0; margin:6px 0 0; }
.files li {
  display:flex; align-items:flex-start; gap:10px;
  padding:10px 8px; border-bottom:1px dashed #e6e9f1;
}
.files li:last-child { border-bottom:none; }
.files a { text-decoration:none; }
.files a:hover { text-decoration:underline; }
.file-name { flex:1; }
.file-meta { font-size:.92rem; color:#556; }
.comment { margin-top:4px; font-size:.95rem; color:#334; }
.muted { color:#6c7485; font-size:.92rem; }

/* Formularz wysyłki do nauczyciela */
.upload .row { margin:8px 0; }
.upload input[type="file"],
.upload textarea {
  width:100%;
  border:1px solid #cfd6e4;
  border-radius:10px;
  padding:10px 12px;
  background:#f7faff;
  box-sizing:border-box;
}
.upload textarea { min-height:84px; resize:vertical; }
.upload .actions { text-align:right; margin-top:10px; }
.upload { box-sizing:border-box; width:100%; }

/* Przyciski */
.btn {
  display:inline-block;
  padding:10px 16px;
  border:none;
  border-radius:10px;
  font-weight:700;
  cursor:pointer;
  background:#E7DF16;
  color:#034283;
}
.btn:hover { filter:brightness(.96); }

/* Układ 2 kolumn na szerokich ekranach */
@media (min-width: 900px){
  .grid { display:grid; grid-template-columns: 1fr 1fr; gap:16px; }
}

/* === Górny pasek (nagłówek) === */
.site-header {
  background:#1f3f79;
  color:#fff;
  border-bottom:6px solid #E7DF16;
  position:relative;
}
.site-header::after {
  content:""; display:block; height:4px; background:#BCA11F; /* druga linia */
}
.site-header .wrap{
  max-width:1100px; margin:0 auto; padding:18px 12px;
  display:flex; align-items:center; gap:22px;
}
.site-header .logo{ height:80px; display:block; }
.site-header .brand h1{ margin:0; font-weight:700; font-size:1.6rem; color:#fff; }
.site-header .tagline{ margin-top:4px; color:#E7DF16; font-style:italic; font-size:.95rem; }
.site-header .nav{ margin-left:auto; display:flex; gap:22px; align-items:center; }
.site-header .nav a{ color:#c7ff2a; text-decoration:none; font-weight:600; }
.site-header .nav a:hover{ text-decoration:underline; }
.site-header .nav a.is-active{ color:#ff3b3b; }

/* === Stopka === */
.site-footer{
  background:#1f3f79;
  color:#fff;
  padding:20px 12px;
  text-align:center;
  font-size:.95rem;
  border-top:4px solid #BCA11F;
}

/* === Formularz komentarza przy plikach ucznia === */
.inline-form { margin-top:8px; }
.inline-form textarea{
  width:100%;                 /* <-- „dłuższe” okienko (na całą kartę) */
  height:80px;                /* wysokość zostawiłem rozsądną; możesz zmienić */
  border:1px solid #cfd6e4;
  border-radius:8px;
  padding:6px 8px;
  background:#fffbe6;
  font-size:.9rem;
  box-sizing:border-box;
}
.inline-form .actions{
  margin-top:6px;
  display:flex;
  gap:8px;
}
.inline-form .btn{
  padding:6px 10px;
  font-size:.85rem;
}

.site-header .nav .btn-logout {
  margin-left: 8px;
  background: #21007F;           /*#ff4d4d;  /* czerwony */
  color: #fff;
}
.site-header .nav .btn-logout:hover {
  background: #e04343;
}

.comment.current{ margin:6px 0 4px; padding:6px 10px; background:#fffce8; border-radius:8px; }
p.ok{ background:#e8ffe8; border:1px solid #bfe5bf; color:#224; padding:8px 12px; border-radius:8px; }

/* Layout strony logowania */
.auth {
  min-height: calc(100dvh - 140px); /* minus header+footer */
  display: grid;
  place-items: center;
  padding: 12px;
  background:
    linear-gradient(180deg, rgba(231,223,22,0.25), transparent 50%),
    radial-gradient(1400px 600px at 50% -10%, rgba(231,223,22,0.55), transparent 90%),
    linear-gradient(180deg, rgba(3,66,131,0.05), transparent 60%),
    #fffbe6;
}



.auth-card {
  width: min(520px, 94%);
  background: #fff;
  border: 1px solid #e9e9e9;
  border-top: 4px solid #C0A001;          /* cienka „linia” w Twoim kolorze */
  border-radius: 16px;
  padding: 28px 24px;
  box-shadow: 0 10px 28px rgba(3,66,131,0.09);
}

/* Brand */
.auth-brand {
  text-align: center;
  margin-bottom: 16px;
}
.auth-brand img {
  width: 64px; height: 64px; object-fit: contain; opacity: .9;
}
.auth-brand h1 {
  margin: 10px 0 4px;
  font-size: 26px; line-height: 1.2; color: #034283;
}
.auth-sub {
  margin: 0; color: #475569; font-size: 14px;
}

/* Alerts */
.auth-alert {
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 14px;
  margin: 10px 0 0;
}
.auth-alert.ok  { background:#f0fdf4; border:1px solid #86efac; color:#166534; }
.auth-alert.err { background:#fff1f2; border:1px solid #fca5a5; color:#7f1d1d; }

/* Fields */
.auth-field { margin-top: 14px; }
.auth-field label {
  display:block; margin-bottom:6px; font-weight:600; color:#0f172a; font-size:14px;
}
.auth-field input[type="text"],
.auth-field input[type="password"]{
  width:100%;
  border:1px solid #d6dae1;
  border-radius: 12px;
  padding: 12px 14px;
  font-size:16px;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
  background:#fff;
}
.auth-field input:focus {
  border-color:#034283;
  box-shadow: 0 0 0 3px rgba(3,66,131,.15);
}

/* Actions */
.auth-actions {
  display:flex; align-items:center; gap:12px; justify-content: space-between;
  margin-top: 16px;
}
.btn-primary{
  appearance:none; border:0; cursor:pointer;
  background:#034283; color:#fff;
  padding: 12px 16px; border-radius: 12px;
  font-weight: 600;
  transition: transform .04s ease, box-shadow .15s ease, background .15s ease;
  box-shadow: 0 6px 16px rgba(3,66,131,.20);
}
.btn-primary:hover { background:#063d78; }
.btn-primary:active{ transform: translateY(1px); }

.remember{
  display:inline-flex; align-items:center; gap:8px; color:#334155; font-size:14px;
}

/* Meta links */
.auth-meta { margin-top: 10px; text-align:right; }
.auth-meta .link{
  color:#034283; text-decoration:none; border-bottom:1px dashed rgba(3,66,131,.35);
}
.auth-meta .link:hover{ border-bottom-color: transparent; }

/* Dark footer/header overlap guard on small screens */
@media (max-width: 420px){
  .auth-card{ padding:22px 18px; border-radius:14px; }
  .auth-brand h1{ font-size:22px; }
}

.g-recaptcha { margin: 12px 0; }
