/* Contul din bara de sus, butoanele si formularele: autentificare, cont, incarcarea unui
   orar, tabelul de utilizatori si cererile pentru rolul de profesor. */

/* ---------------- admin si formulare ---------------- */

/* contul, in bara de sus: butoane patratoase, in dreapta de tot */
.cont {
  margin-left: auto;
  display: flex; align-items: center; gap: .45rem; font-size: .84rem; white-space: nowrap;
}
.cont form { display: inline-flex; }

/* meniul contului: initialele si prenumele, cu un panou dedesubt */
.meniu-cont { position: relative; }
.meniu-cont > summary {
  list-style: none; cursor: pointer; user-select: none;
  display: inline-flex; align-items: center; gap: .45rem; padding: .15rem .6rem .15rem .2rem;
  border: 1px solid var(--linie-tare); border-radius: 999px; background: var(--suprafata); font-weight: 600;
}
.meniu-cont > summary::-webkit-details-marker { display: none; }
.meniu-cont > summary::after { content: "▾"; font-size: .7rem; opacity: .7; }
.meniu-cont[open] > summary, .meniu-cont > summary:hover { border-color: var(--accent); }
.meniu-cont > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.avatar {
  width: 1.75rem; height: 1.75rem; border-radius: 50%; display: grid; place-items: center;
  font-size: .72rem; font-weight: 700; letter-spacing: .02em; background: var(--accent-slab); color: var(--accent);
}
.meniu-cont-panou {
  position: absolute; right: 0; top: calc(100% + .4rem); z-index: 70; min-width: 14rem; padding: .3rem;
  display: flex; flex-direction: column; white-space: normal;
  background: var(--suprafata); border: 1px solid var(--linie-tare); border-radius: var(--radius);
  box-shadow: 0 8px 24px rgb(0 0 0 / .18);
}
.meniu-cont-cine { display: flex; flex-direction: column; padding: .45rem .6rem .55rem; margin-bottom: .25rem; border-bottom: 1px solid var(--linie); }
.meniu-cont-cine small { color: var(--text-slab); font-size: .76rem; overflow-wrap: anywhere; }
.meniu-cont-panou a, .meniu-cont-panou button {
  display: block; width: 100%; text-align: left; padding: .45rem .6rem; border-radius: 5px;
  font: inherit; font-size: .88rem; color: var(--text); background: none; border: 0; cursor: pointer;
}
.meniu-cont-panou a:hover, .meniu-cont-panou button:hover { background: var(--accent-slab); text-decoration: none; }
.meniu-cont-panou form { display: block; border-top: 1px solid var(--linie); margin-top: .25rem; padding-top: .25rem; }
@media (max-width: 420px) { .meniu-cont-nume { display: none; } .meniu-cont > summary { padding-right: .4rem; } }
.buton {
  display: inline-flex; align-items: center; cursor: pointer;
  font: inherit; font-size: .84rem; font-weight: 600; line-height: 1.2;
  padding: .4rem .8rem; border-radius: 4px;
  border: 1px solid var(--linie-tare); background: var(--suprafata); color: var(--text);
}
.buton:hover { border-color: var(--accent); color: var(--accent); text-decoration: none; }
.buton.plin { background: var(--accent); border-color: var(--accent); color: #fff; }
.buton.plin:hover { color: #fff; filter: brightness(1.08); }
@media (prefers-color-scheme: dark) { .buton.plin { color: #10131a; } .buton.plin:hover { color: #10131a; } }

.reusit {
  margin: .6rem 0; padding: .45rem .7rem; font-size: .85rem; border-radius: 6px;
  border-left: 3px solid var(--accent); background: var(--accent-slab); color: var(--text);
}

/* incarcarea unui orar, in panoul de admin */
.formular-orar { max-width: 42rem; }
.formular-orar .pe-rand { display: flex; gap: .9rem; flex-wrap: wrap; }
.formular-orar .pe-rand > label { display: flex; flex-direction: column; gap: .3rem; flex: 1 1 9rem; }
.formular-orar .pe-rand > label > span { font-size: .84rem; font-weight: 600; }
.principal:disabled { opacity: .5; cursor: not-allowed; filter: none; }

.stare-incarcare {
  max-width: 42rem; margin: .8rem 0; padding: .6rem .8rem; font-size: .88rem;
  border: 1px solid var(--linie); border-left: 3px solid var(--linie-tare); border-radius: 6px;
}
.stare-incarcare p { margin: 0; }
.stare-incarcare p + p { margin-top: .25rem; }
.stare-incarcare.in_lucru { border-left-color: var(--accent); background: var(--accent-slab); }
.stare-incarcare.reusit { border-left-color: var(--seminar-linie); }
.stare-incarcare.esuat { border-left-color: #b4342b; }
.raport-incarcare { margin: .45rem 0 0; padding-left: 1.1rem; font-size: .8rem; color: var(--text-slab); }

/* tabelul de utilizatori din panoul de admin */
.tabel-scroll { overflow-x: auto; }
.rol-form { display: inline-flex; align-items: center; gap: .4rem; }
.rol-form select {
  font: inherit; font-size: .84rem; padding: .2rem .4rem;
  border: 1px solid var(--linie-tare); border-radius: 6px;
  background: var(--fundal); color: var(--text);
}
.rol-form button { cursor: pointer; font: inherit; font-size: .8rem; }

.panou-gol {
  margin: 1.2rem 0; padding: 1.4rem 1rem; text-align: center;
  border: 1px dashed var(--linie-tare); border-radius: var(--radius);
  color: var(--text-slab); font-size: .9rem;
}
.panou-gol p { margin: 0; }

.formular { max-width: 30rem; margin: 0 auto; padding: 1.4rem 1.1rem 3rem; }
.formular.lat { max-width: 42rem; }
.formular h1 { margin-bottom: .4rem; }

.camp-lista { display: flex; flex-direction: column; gap: .9rem; margin-top: 1.2rem; }
.camp-lista > label { display: flex; flex-direction: column; gap: .3rem; }
.camp-lista > label > span { font-size: .84rem; font-weight: 600; }
.camp-lista small { font-weight: 400; color: var(--text-slab); }

.camp-lista input[type="text"],
.camp-lista input[type="email"],
.camp-lista input[type="password"],
.camp-lista select {
  font: inherit; font-size: .92rem; padding: .45rem .6rem; width: 100%;
  border: 1px solid var(--linie-tare); border-radius: 6px;
  background: var(--fundal); color: var(--text);
}
.camp-lista input:focus-visible, .camp-lista select:focus-visible {
  outline: 2px solid var(--accent); outline-offset: 1px; border-color: var(--accent);
}

.principal {
  font: inherit; font-weight: 600; font-size: .9rem; cursor: pointer;
  padding: .5rem .9rem; border: 1px solid var(--accent); border-radius: 6px;
  background: var(--accent); color: #fff; align-self: flex-start;
}
.principal:hover { filter: brightness(1.08); }

.bifa { display: flex; align-items: flex-start; gap: .5rem; padding: .25rem 0; font-size: .88rem; }
.bifa input { margin-top: .2rem; flex: none; }
/* in formulare, eticheta obisnuita e pe coloana (text deasupra campului); bifa ramane pe rand */
.camp-lista > label.bifa { flex-direction: row; align-items: flex-start; }
.camp-lista > label.bifa > span { font-weight: 500; }

/* conturile de profesor */
.titlu-sectiune { margin-top: 2rem; padding-top: 1.2rem; border-top: 1px solid var(--linie); font-size: 1.05rem; }
.cereri { margin: .8rem 0; padding: .7rem .8rem; border: 1px solid var(--accent); border-radius: 8px; background: var(--accent-slab); }
.cereri h3 { margin: 0 0 .4rem; color: var(--text); }
.cerere { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .6rem; padding: .3rem 0; font-size: .88rem; }
.cerere > span { flex: 1 1 16rem; }
.cerere .buton { cursor: pointer; font: inherit; font-size: .82rem; }
.rol-form { flex-wrap: wrap; }
.rol-profesor {
  font: inherit; font-size: .84rem; padding: .2rem .4rem; width: 13rem;
  border: 1px solid var(--linie-tare); border-radius: 6px; background: var(--fundal); color: var(--text);
}
