/* Pannello di gestione — annachimenti.it */
:root {
  --inchiostro:#1D2433; --bordeaux:#7D2231; --carta:#F6F5F1;
  --bianco:#fff; --filetto:#DCD8CE; --pietra:#6B7382; --ok:#1E6B3C; --rosso:#9C2B2B;
}
* { box-sizing: border-box; }
body {
  margin:0; font-family:"Archivo","Segoe UI",Arial,sans-serif;
  background:var(--carta); color:var(--inchiostro); font-size:.95rem;
}
a { color: var(--bordeaux); }
:focus-visible { outline:2px solid var(--bordeaux); outline-offset:2px; }

/* login */
.login-body { display:grid; place-items:center; min-height:100vh; }
.login-box {
  background:var(--bianco); border:1px solid var(--filetto);
  border-top:4px solid var(--bordeaux);
  padding:2.2rem 2.4rem; width:min(24rem, 92vw);
  display:flex; flex-direction:column; gap:.9rem;
}
.login-marchio { margin:0; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--pietra); }
.login-box h1 { margin:0 0 .4rem; font-size:1.4rem; }
.login-nota { text-align:center; font-size:.82rem; margin:.4rem 0 0; }

/* barra */
.barra {
  background:var(--inchiostro); color:#fff;
  display:flex; justify-content:space-between; align-items:center;
  padding:.6rem 1.2rem; position:sticky; top:0; z-index:5;
}
.barra-marchio { font-weight:600; letter-spacing:.03em; }
.barra-marchio em { font-style:normal; color:#B9BFCB; font-weight:500; }
.barra nav a { color:#E8E4DA; text-decoration:none; margin-left:1.2rem; font-size:.85rem; }
.barra nav a:hover { color:#fff; text-decoration:underline; }

/* impianto */
.impianto { display:grid; grid-template-columns:14rem minmax(0,1fr); min-height:calc(100vh - 3rem); }
@media (max-width:48rem){ .impianto{grid-template-columns:1fr;} .menu{display:flex;flex-wrap:wrap;border-right:none!important;border-bottom:1px solid var(--filetto);} }
.menu { background:var(--bianco); border-right:1px solid var(--filetto); padding:.8rem 0; }
.menu a {
  display:block; padding:.55rem 1.2rem; text-decoration:none;
  color:var(--inchiostro); border-left:3px solid transparent; font-size:.9rem;
}
.menu a:hover { background:#F3F1EB; }
.menu a.attiva { border-left-color:var(--bordeaux); color:var(--bordeaux); font-weight:600; background:#F8F4F2; }

.area { padding:1.6rem 2rem 3rem; max-width:60rem; }
.area h1 { font-size:1.5rem; margin:.2rem 0 .6rem; }
.area h2.sotto { font-size:1.05rem; margin:2rem 0 .6rem; border-bottom:1px solid var(--filetto); padding-bottom:.3rem; }
.nota { color:var(--pietra); font-size:.88rem; max-width:46rem; }
code { background:#EEEBE2; padding:.05rem .3rem; border-radius:3px; font-size:.85em; }

.alert { padding:.6rem .9rem; border:1px solid; margin:0 0 1rem; font-size:.9rem; }
.alert.ok { border-color:var(--ok); color:var(--ok); background:#EDF6EF; }
.alert.errore { border-color:var(--rosso); color:var(--rosso); background:#FBEFEF; }

/* schede */
.scheda { background:var(--bianco); border:1px solid var(--filetto); margin-bottom:.7rem; }
.scheda summary {
  cursor:pointer; padding:.7rem 1rem; font-size:.92rem;
  display:flex; align-items:center; gap:.6rem; user-select:none;
}
.scheda summary:hover { background:#FAF8F3; }
.scheda .mini { width:2.4rem; height:1.8rem; object-fit:cover; border:1px solid var(--filetto); }
.schede-nav { display:flex; flex-wrap:wrap; gap:.3rem; margin:0 0 1rem; }
.schede-nav a {
  text-decoration:none; padding:.35rem .8rem; font-size:.85rem;
  border:1px solid var(--filetto); background:var(--bianco); color:var(--inchiostro);
}
.schede-nav a.attiva { background:var(--inchiostro); color:#fff; border-color:var(--inchiostro); }

/* moduli */
.modulo { padding:.9rem 1rem 1.1rem; display:flex; flex-direction:column; gap:.75rem; border-top:1px solid var(--filetto); }
form.modulo.scheda { border-top:none; }
.modulo label { display:flex; flex-direction:column; gap:.25rem; font-size:.82rem; font-weight:600; color:#3A4152; flex:1; }
.modulo input[type=text], .modulo input[type=date], .modulo input[type=email],
.modulo input[type=password], .modulo select, .modulo textarea {
  font:inherit; font-weight:400; padding:.45rem .6rem;
  border:1px solid #C9C4B8; background:#FDFCFA; width:100%;
}
.modulo textarea.codice { font-family:ui-monospace,Consolas,monospace; font-size:.85rem; line-height:1.5; }
.modulo input:focus, .modulo textarea:focus, .modulo select:focus { border-color:var(--bordeaux); outline:none; }
.riga { display:flex; gap:.9rem; flex-wrap:wrap; align-items:flex-end; }
button, .bottone-secondario {
  font:inherit; font-weight:600; cursor:pointer;
  background:var(--inchiostro); color:#fff; border:1px solid var(--inchiostro);
  padding:.5rem 1.1rem; align-self:flex-start; text-decoration:none; display:inline-block;
}
button:hover { background:#2A3448; }
.bottone-secondario { background:var(--bianco); color:var(--inchiostro); }
button.pericolo { background:var(--bianco); color:var(--rosso); border-color:var(--rosso); }
button.pericolo:hover { background:#FBEFEF; }

/* anteprima ritratto nelle impostazioni */
.ritratto-riga { align-items: center; }
.ritratto-anteprima {
  width: 4.6rem; height: 4.6rem; object-fit: cover;
  border: 1px solid var(--filetto); background: #fff; padding: 3px;
}

/* ---------- Editor visuale ---------- */
.ed-wrap { border: 1px solid #C9C4B8; background: #FDFCFA; }
.ed-bar {
  display: flex; flex-wrap: wrap; align-items: center; gap: 2px;
  padding: .35rem .4rem; border-bottom: 1px solid var(--filetto);
  background: #F3F1EB; position: sticky; top: 3rem; z-index: 2;
}
.ed-btn {
  font: inherit; font-size: .85rem; line-height: 1;
  min-width: 1.9rem; height: 1.9rem; padding: 0 .35rem;
  background: #fff; color: var(--inchiostro);
  border: 1px solid var(--filetto); cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
}
.ed-btn:hover { border-color: var(--bordeaux); color: var(--bordeaux); background: #fff; }
.ed-btn.attivo { background: var(--inchiostro); color: #fff; border-color: var(--inchiostro); }
.ed-sel {
  font: inherit; font-size: .78rem; height: 1.9rem;
  border: 1px solid var(--filetto); background: #fff; max-width: 9.5rem;
}
.ed-sep { width: 1px; height: 1.4rem; background: var(--filetto); margin: 0 .3rem; }
.ed-colore { position: relative; overflow: hidden; }
.ed-colore input[type=color] {
  position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%;
}
.ed-a { border-bottom: 3px solid #7d2231; padding-bottom: 1px; font-weight: 700; }
.ed-evid { background: #fff3b0; padding: 0 2px; font-weight: 700; }
.ed-area {
  min-height: 9rem; max-height: 60vh; overflow: auto;
  padding: .8rem 1rem; outline: none;
  font-family: "Source Serif 4", Georgia, serif; font-size: 1rem; line-height: 1.6;
  background: #fff;
}
.ed-area:focus { box-shadow: inset 0 0 0 2px rgba(125,34,49,.15); }
.ed-area h3, .ed-area h4 { font-family: "Fraunces", Georgia, serif; margin: .8rem 0 .4rem; }
.ed-area blockquote { border-left: 3px solid var(--filetto); margin: .6rem 0; padding: .2rem .9rem; color: #555; }
.ed-area a { color: var(--bordeaux); }
.ed-wrap textarea.ed-sorgente {
  border: none; border-top: 1px dashed var(--filetto);
  min-height: 9rem; font-family: ui-monospace, Consolas, monospace; font-size: .82rem;
  width: 100%; padding: .8rem 1rem;
}
