:root{
    --blue:#0a4d8c;
    --blue-dark:#083a6a;
    --ink:#1a1f26;
    --muted:#5b6673;
    --line:#e2e6ea;
    --bg:#f4f6f8;
    --ok:#137a3f;
    --ok-bg:#e5f4ea;
    --err:#b3261e;
    --err-bg:#fbe9e7;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;color:var(--ink);background:var(--bg)}

/* ---- Login ---- */
.admin-login{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}
.login-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px;width:100%;max-width:360px;box-shadow:0 10px 40px rgba(0,0,0,.06)}
.login-card h1{margin:0 0 4px;font-size:1.4rem}
.login-sub{margin:0 0 20px;color:var(--muted);font-size:.9rem}
.login-card label{display:block;margin:14px 0 6px;font-weight:600;font-size:.85rem}
.login-card input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font-size:1rem}

/* ---- Layout ---- */
.admin-topbar{background:var(--blue);color:#fff}
.admin-topbar__inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;flex-wrap:wrap;gap:10px}
.admin-brand{font-weight:700;letter-spacing:.02em}
.admin-nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.admin-nav a{color:#dbe7f3;text-decoration:none;font-size:.92rem;font-weight:500}
.admin-nav a:hover{color:#fff}
.admin-nav__logout{color:#ffd7d2 !important}
.admin-main{max-width:1080px;margin:0 auto;padding:28px 20px 60px}
.admin-main h1{font-size:1.5rem;margin:0 0 18px}

/* ---- Dashboard cards ---- */
.admin-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.admin-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:8px}
.admin-card__num{font-size:2rem;font-weight:700;color:var(--blue)}
.admin-card__label{color:var(--muted);font-size:.9rem}
.admin-hint{color:var(--muted);font-size:.85rem}

/* ---- Form ---- */
.admin-form-box,.admin-table-box{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;margin-top:24px}
.admin-form-box h2,.admin-table-box h2{margin:0 0 16px;font-size:1.1rem}
.admin-form-box label{display:block;margin:14px 0 6px;font-weight:600;font-size:.85rem}
.admin-form-box input[type=text],
.admin-form-box input[type=date],
.admin-form-box input[type=file],
.admin-form-box textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:.95rem;font-family:inherit}
.admin-check{display:flex !important;align-items:center;gap:8px;margin-top:16px;font-weight:500 !important}
.admin-check input{width:auto !important}
.admin-form-actions{display:flex;gap:10px;margin-top:20px}

/* ---- Buttons ---- */
.btn-admin{display:inline-block;padding:9px 16px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;text-decoration:none;font-size:.88rem;font-weight:600;cursor:pointer}
.btn-admin:hover{background:#f0f3f6}
.btn-admin--primary{background:var(--blue);border-color:var(--blue);color:#fff}
.btn-admin--primary:hover{background:var(--blue-dark)}
.btn-admin--sm{padding:6px 11px;font-size:.8rem}
.btn-admin--danger{color:var(--err);border-color:#f0c2bd}
.btn-admin--danger:hover{background:var(--err-bg)}
.btn-admin--on{background:var(--ok-bg);border-color:#bfe2cd;color:var(--ok)}

/* ---- Table ---- */
.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}
.admin-table th,.admin-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.admin-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.admin-table__actions{display:flex;gap:6px;flex-wrap:wrap}
.admin-thumb{max-width:180px;border-radius:8px;margin-top:8px;display:block}
.admin-thumb--sm{max-width:64px;margin:0}
.admin-thumb--empty{display:grid;place-items:center;width:64px;height:44px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.03em}

/* ---- Alerts ---- */
.alert{padding:11px 14px;border-radius:8px;font-size:.9rem;margin:0 0 16px}
.alert--ok{background:var(--ok-bg);color:var(--ok)}
.alert--error{background:var(--err-bg);color:var(--err)}

/* ---- pulsante di traduzione automatica ---- */
.translate-box { margin: 4px 0 16px; }
.btn-admin--ghost {
    background: #fff; color: #1438c9; border: 1px solid #1438c9;
    cursor: pointer; font: inherit; font-weight: 600; padding: 9px 18px; border-radius: 8px;
}
.btn-admin--ghost:hover:not(:disabled) { background: #1438c9; color: #fff; }
.btn-admin--ghost:disabled { opacity: .55; cursor: default; }
.translate-note { font-size: .82rem; color: #5c6a86; margin-top: 8px; line-height: 1.5; }
.translate-note.is-ok { color: #0a6b31; }
.translate-note.is-error { color: #c0392b; font-weight: 600; }
