/* NORMERA PPWR - infatisarea widgetului.
 *
 * Culorile si fonturile se iau din pagina gazda, prin variabilele de mai
 * jos. Daca site-ul nu spune nimic, se folosesc valorile astea. Ca sa se
 * potriveasca cu site-ul tau, se rescriu variabilele in pagina - nu
 * trebuie atins fisierul acesta.
 */
/* Culorile sunt cele ale siglei NORMERA: --ink #14261F, --paper #F2F3F0,
   --rule #D5D8D1, --muted #5C6167, --green #87A54F, plus #A8C46F pentru
   intuneric si #7C8A82 gri-verde.

   O singura abatere, si e deliberata: textul de pe accent NU e alb. Verdele
   siglei e maslin deschis, iar alb pe el da un contrast de ~2,7:1 - sub
   pragul la care un text se citeste. Pe butoane sta deci cerneala, ca in
   sigla insasi, unde verdele e fundal, nu litera. De aceea exista
   `--nrm-pe-accent`: ca alegerea sa fie scrisa, nu presupusa. */
.nrm {
  --nrm-text: #14261F;
  --nrm-slab: #5C6167;
  --nrm-linie: #D5D8D1;
  --nrm-fundal: #ffffff;
  --nrm-fundal-slab: #F2F3F0;
  --nrm-accent: #87A54F;
  --nrm-pe-accent: #14261F;
  /* Acelasi verde, dar coborat pana unde se poate CITI pe fundal deschis.
     Accentul e bun ca fundal si ca linie; ca litera, nu. */
  --nrm-accent-scris: #4E6B2A;
  --nrm-rosu: #8C3A2A;
  --nrm-galben: #8A6412;
  --nrm-mov: #574A85;
  --nrm-verde: #5F7C33;
  --nrm-raza: 8px;
  --nrm-font: inherit;

  font-family: var(--nrm-font);
  color: var(--nrm-text);
  line-height: 1.62;
  max-width: 46rem;
  margin: 0 auto;
  font-size: 1rem;
}

/* Pe intuneric, cerneala siglei devine fundal, iar verdele urca la #A8C46F -
   cel deschis, tot din sigla. Pe el, textul se intoarce la cerneala: si aici
   accentul e destul de luminos incat albul sa nu se citeasca bine. */
@media (prefers-color-scheme: dark) {
  .nrm {
    --nrm-text: #E8EAE6;
    --nrm-slab: #9AA39C;
    --nrm-linie: #2C3A33;
    --nrm-fundal: #101A16;
    --nrm-fundal-slab: #16221D;
    --nrm-accent: #A8C46F;
    --nrm-pe-accent: #14261F;
    --nrm-accent-scris: #A8C46F;
    --nrm-rosu: #DB8B7C;
    --nrm-galben: #D2AE5E;
    --nrm-mov: #A79AD8;
    --nrm-verde: #A8C46F;
  }
}

.nrm *, .nrm *::before, .nrm *::after { box-sizing: border-box; }

/* --- capul --- */
.nrm-cap { display: flex; justify-content: space-between; align-items: flex-start;
  gap: 1rem; flex-wrap: wrap; margin-bottom: .4rem; }
.nrm-titlu { font-size: 1.5rem; font-weight: 700; margin: 0; letter-spacing: -.01em; }
.nrm-subtitlu { color: var(--nrm-slab); font-size: .95rem; margin: .2rem 0 0; }
.nrm-intro { margin: 1rem 0 1.6rem; }

.nrm-limbi { display: flex; gap: 0; border: 1px solid var(--nrm-linie);
  border-radius: var(--nrm-raza); overflow: hidden; flex: none; }
.nrm-limbi button { border: 0; background: transparent; color: var(--nrm-slab);
  padding: .38rem .8rem; cursor: pointer; font: inherit; font-size: .85rem;
  font-weight: 600; letter-spacing: .04em; }
.nrm-limbi button[aria-pressed="true"] { background: var(--nrm-accent);
  color: var(--nrm-pe-accent); }

/* --- chestionarul --- */
.nrm-sectiune { margin: 1.4rem 0 .4rem; }
.nrm-sectiune h3 { font-size: 1.05rem; margin: 0; font-weight: 700; }
.nrm-sectiune p { color: var(--nrm-slab); font-size: .9rem; margin: .15rem 0 0; }
.nrm-pas { font-size: .78rem; text-transform: uppercase; letter-spacing: .09em;
  font-weight: 700; color: var(--nrm-accent-scris); margin-bottom: .3rem; }

.nrm-q { padding: 1rem 0; border-bottom: 1px solid var(--nrm-linie); }
.nrm-q > label, .nrm-q .nrm-eticheta { display: block; font-weight: 600;
  margin-bottom: .45rem; }
.nrm-ajutor { color: var(--nrm-slab); font-size: .88rem; margin: .45rem 0 0; }

.nrm-optiuni { display: flex; gap: .4rem; flex-wrap: wrap; }
.nrm-optiuni button { font: inherit; font-size: .9rem; cursor: pointer;
  padding: .4rem .95rem; border: 1px solid var(--nrm-linie);
  background: var(--nrm-fundal); color: var(--nrm-text);
  border-radius: var(--nrm-raza); transition: border-color .15s, background .15s; }
.nrm-optiuni button:hover { border-color: var(--nrm-accent); }
.nrm-optiuni button[aria-pressed="true"] { background: var(--nrm-accent);
  border-color: var(--nrm-accent); color: var(--nrm-pe-accent); }

.nrm select, .nrm input[type="number"] { font: inherit; padding: .45rem .6rem;
  border: 1px solid var(--nrm-linie); border-radius: var(--nrm-raza);
  background: var(--nrm-fundal); color: var(--nrm-text); max-width: 22rem;
  width: 100%; }
.nrm-numar { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; }
.nrm-numar label { font-weight: 400; color: var(--nrm-slab); font-size: .9rem;
  display: flex; gap: .35rem; align-items: center; cursor: pointer; }

/* --- butonul --- */
.nrm-actiuni { margin: 1.8rem 0; display: flex; gap: .7rem; flex-wrap: wrap;
  align-items: center; }
.nrm-buton { font: inherit; font-weight: 700; cursor: pointer; padding: .7rem 1.5rem;
  border: 0; border-radius: var(--nrm-raza); background: var(--nrm-accent);
  color: var(--nrm-pe-accent); font-size: 1rem; }
.nrm-buton:hover { filter: brightness(1.08); }
.nrm-buton[disabled] { opacity: .55; cursor: default; }
/* De ce nu se poate merge mai departe. Fara ea, butonul stins pare stricat. */
.nrm-avert { flex-basis: 100%; margin: .1rem 0 0; font-size: .92rem;
  color: var(--nrm-slab); }
.nrm-avert:empty { display: none; }
.nrm-buton-slab { background: transparent; color: var(--nrm-accent-scris);
  border: 1px solid var(--nrm-linie); }

/* --- raportul --- */
.nrm-raport { margin-top: 2.2rem; padding-top: 1.6rem;
  border-top: 2px solid var(--nrm-linie); }
.nrm-verdict { border-left: 5px solid var(--nrm-accent); padding: .9rem 1.1rem;
  background: var(--nrm-fundal-slab); border-radius: 0 var(--nrm-raza) var(--nrm-raza) 0; }
.nrm-verdict .nrm-mic { font-size: .8rem; color: var(--nrm-slab);
  text-transform: uppercase; letter-spacing: .08em; font-weight: 600; }
.nrm-verdict .nrm-rol { font-size: 1.3rem; font-weight: 700; line-height: 1.3;
  margin-top: .15rem; }
.nrm-verdict.nrm-DA { border-left-color: var(--nrm-rosu); }
.nrm-verdict.nrm-INDIRECT { border-left-color: var(--nrm-galben); }
.nrm-verdict.nrm-DE_CLARIFICAT { border-left-color: var(--nrm-mov); }
.nrm-verdict.nrm-NU { border-left-color: var(--nrm-verde); }
.nrm-masura { color: var(--nrm-slab); font-size: .87rem; margin: .5rem 0 0; }

/* Prezentarea regulamentului. Se citeste inaintea rolului, deci trebuie sa
   invite la citit, nu sa para un avertisment: fara chenar, fara culoare, doar
   putin mai mare si mai rar decat restul. */
.nrm-prezentare { font-size: 1.03rem; line-height: 1.7; }

/* Derivarea sta lipita sub verdict, ca o continuare a lui: e motivarea
   rolului, nu o sectiune de sine statatoare. De aceea nu are titlu propriu si
   incepe cu marginea de sus stearsa. */
.nrm-derivare { margin: .5rem 0 0; padding-left: 1.1rem;
  border-left: 2px solid var(--nrm-linie); }
.nrm-derivare .nrm-mic { font-size: .8rem; color: var(--nrm-slab); }
.nrm-derivare ul { margin: .25rem 0 0; padding-left: 1.1rem; }
.nrm-derivare li { margin: .15rem 0; }

.nrm-raport h3 { font-size: 1.08rem; margin: 1.8rem 0 .4rem; }
.nrm-raport p { margin: .5rem 0; }

.nrm-nota { border-left: 4px solid var(--nrm-linie); background: var(--nrm-fundal-slab);
  padding: .75rem 1rem; border-radius: 0 var(--nrm-raza) var(--nrm-raza) 0;
  margin: .7rem 0; }
.nrm-nota.nrm-urgent { border-left-color: var(--nrm-rosu); }

/* Cele trei registre se deosebesc la o privire, nu la citit. Scutirea e verde
   fiindca se citeste cu usurare; punctul de lamurit e mov, aceeasi culoare ca
   verdictul «de clarificat» - acelasi inteles, deci aceeasi culoare. */
.nrm-nota.nrm-scutire { border-left-color: var(--nrm-verde); }
.nrm-nota.nrm-lamurit { border-left-color: var(--nrm-mov); }

/* Titlul temei: mic, deasupra grupului. Nu e un al doilea nivel de sectiune -
   e o eticheta care spune «de aici incolo, despre material». */
.nrm-tema { font-size: .78rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .09em; color: var(--nrm-slab); margin: 1.1rem 0 .3rem; }

/* Capul unei obligatii: ce e, si de cand. Data sta in dreapta si nu se
   ingroasa - ea raspunde la «cat mai am», nu la «ce am de facut». */
.nrm-ob-cap { display: flex; justify-content: space-between; align-items: baseline;
  gap: .8rem; margin-bottom: .3rem; flex-wrap: wrap; }
.nrm-ob-titlu { font-weight: 700; }
.nrm-ob-cand { font-size: .82rem; color: var(--nrm-slab); white-space: nowrap; }
.nrm-nota p { margin: 0; }

/* Cele trei cifre din capul raportului. */
.nrm-ansamblu { margin-top: .5rem; font-size: .88rem; color: var(--nrm-slab); }

/* Calendarul. Anul e un reper, nu un titlu de sectiune - de aceea sta la
   stanga, mare si palid, iar termenele curg lipite sub el. */
.nrm-calendar { margin: .6rem 0 0; }
.nrm-an { font-size: 1.05rem; font-weight: 700; color: var(--nrm-slab);
  margin: .9rem 0 .2rem; }
.nrm-termen { display: flex; gap: .9rem; align-items: baseline;
  padding: .3rem 0 .3rem .8rem; border-left: 2px solid var(--nrm-linie); }
.nrm-termen .nrm-data { font-size: .84rem; color: var(--nrm-slab);
  white-space: nowrap; min-width: 9.5rem; }
.nrm-termen.nrm-acum { border-left-color: var(--nrm-verde); }
.nrm-termen.nrm-acum .nrm-ce::after { content: " ✓"; color: var(--nrm-verde); }
.nrm-nota .nrm-mic { display: block; font-size: .78rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .08em; color: var(--nrm-rosu);
  margin-bottom: .25rem; }

.nrm-lipsuri { border: 1px dashed var(--nrm-linie); border-radius: var(--nrm-raza);
  padding: .9rem 1.1rem; margin: 1rem 0; }
.nrm-lipsuri ul { margin: .4rem 0 0; padding-left: 1.2rem; }
.nrm-lipsuri li { margin: .2rem 0; }

.nrm-temei { margin-top: 1.6rem; }
.nrm-temei summary { cursor: pointer; font-weight: 600; }
.nrm-temei p { color: var(--nrm-slab); font-size: .9rem; }

.nrm-disclaimer { margin-top: 2rem; padding-top: 1rem;
  border-top: 1px solid var(--nrm-linie); color: var(--nrm-slab); font-size: .85rem; }

.nrm-eroare { border-left: 4px solid var(--nrm-rosu); background: var(--nrm-fundal-slab);
  padding: .8rem 1rem; border-radius: 0 var(--nrm-raza) var(--nrm-raza) 0; }

@media print {
  .nrm-limbi, .nrm-actiuni, .nrm-chestionar { display: none !important; }
  .nrm-raport { border-top: 0; margin: 0; }
  .nrm { max-width: none; }
}

/* Unde se opreste regulamentul si incepe dreptul tarii. Se vede, nu se
   ascunde: numarul lui e singura urma pe care o lasa un gol. */
.nrm-national { border: 1px solid var(--nrm-accent, #b45309);
  border-radius: 8px; padding: .9rem 1.2rem; margin: 1.6rem 0 0;
  background: rgba(180, 83, 9, .05); }
.nrm-national h3 { font-size: .95rem; margin: 0 0 .4rem; }
.nrm-national p { margin: .3rem 0; }

/* «Daca nu». Sobru, nu alarmant - un chenar subtire, nu un fundal rosu. Cine
   citeste asta a vazut deja ce are de facut; aici nu se sperie, se informeaza. */
.nrm-risc { border-left: 3px solid var(--nrm-rosu); padding: .1rem 0 .1rem .9rem;
  margin: .6rem 0; }
.nrm-risc ul { margin: .2rem 0 0; padding-left: 1.1rem; }
.nrm-risc li { margin: .15rem 0; font-weight: 600; }
.nrm-dovada { color: var(--nrm-slab); font-size: .88rem; margin: .45rem 0; }
