/* Avaelable – area amministrativa (/admin): tema chiaro, sidebar scura.
   Tutto e' sotto .adm per non toccare il resto dell'app. */
.adm { --a-bg:#F3F2EE; --a-ink:#17171F; --a-muted:#5E5C6E; --a-line:#E5E3DD; --a-line2:#F0EEE9; --a-acc:#E07B12;
  position:fixed; inset:0; display:flex; background:var(--a-bg); color:var(--a-ink); font-family:var(--body); font-size:14px; overflow:hidden; }
.adm a { color:inherit; }
.adm-side { width:236px; flex:none; background:#0B0B12; color:#C9C7D6; display:flex; flex-direction:column; padding:20px 12px; gap:4px; overflow-y:auto; }
.adm-brand { display:flex; align-items:center; gap:10px; padding:4px 8px 18px; text-decoration:none; color:#F4F2ED !important; }
.adm-brand img { width:38px; height:38px; }
.adm-brand b { font-family:var(--display); font-size:19px; display:block; line-height:1.1; }
.adm-brand small { font-size:12px; color:#A9A7BA; }
.adm-nav { display:flex; flex-direction:column; gap:2px; }
.adm-nav a { display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:12px; text-decoration:none; color:#C9C7D6 !important; font-weight:500; }
.adm-nav a i { width:18px; text-align:center; opacity:.85; }
.adm-nav a:hover { background:rgba(255,255,255,.06); }
.adm-nav a.active { background:rgba(255,162,76,.16); color:#FFC48A !important; }
.adm-group { margin:16px 12px 4px; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#77758C; }
.adm-side-foot { margin-top:auto; padding:12px 8px 0; font-size:12px; color:#8B89A0; display:flex; flex-direction:column; gap:8px; }
.adm-side-foot button { background:none; border:1px solid rgba(255,255,255,.14); color:#C9C7D6; border-radius:10px; padding:8px 10px; font:inherit; cursor:pointer; text-align:left; }
.adm-main { flex:1; min-width:0; overflow-y:auto; padding:30px 34px 60px; display:flex; flex-direction:column; gap:22px; }
.adm h1 { font-family:var(--display); font-size:30px; font-weight:700; margin:0; color:var(--a-ink); }
.adm h2 { font-size:17px; font-weight:600; margin:0; color:var(--a-ink); }
.adm-muted { color:var(--a-muted); }
.adm-top { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; flex-wrap:wrap; }
.adm-panel { background:#fff; border:1px solid var(--a-line); border-radius:18px; padding:20px; box-shadow:0 1px 2px rgba(20,20,30,.04); min-width:0; }
.adm-row { display:flex; gap:18px; flex-wrap:wrap; align-items:flex-start; }
.adm-row > .adm-panel { flex:1 1 380px; }
.adm-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px; }
.adm-kpi { display:flex; flex-direction:column; gap:6px; }
.adm-kpi .v { font-family:var(--display); font-size:32px; font-weight:700; }
.adm-kpi .t { font-size:13px; color:var(--a-muted); }
.adm-kpi .ic { width:38px; height:38px; border-radius:12px; display:flex; align-items:center; justify-content:center; }
.adm-scroll { overflow-x:auto; }
.adm-tbl { width:100%; border-collapse:collapse; font-size:14px; }
.adm-tbl th { text-align:left; padding:10px; font-size:12px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:#6A6878; border-bottom:1px solid var(--a-line); white-space:nowrap; }
.adm-tbl td { padding:11px 10px; border-bottom:1px solid var(--a-line2); vertical-align:middle; }
.adm-tbl td.act { white-space:nowrap; text-align:right; }
.adm-tbl tr:hover td { background:#FAF9F6; }
.adm-pill { display:inline-flex; padding:3px 10px; border-radius:999px; font-size:12px; font-weight:600; white-space:nowrap; }
.adm-pill.ok { background:#E3F4E6; color:#1D6B2E; }
.adm-pill.ko { background:#FDE3E6; color:#A3121F; }
.adm-pill.wait { background:#FFF0D6; color:#8A4B00; }
.adm-pill.info { background:#EAE6FF; color:#4B32B8; }
.adm-btn { display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border-radius:10px; border:1px solid #DAD7CF; background:#fff; color:var(--a-ink); font:inherit; font-size:13px; font-weight:500; cursor:pointer; text-decoration:none; }
.adm-btn:hover { background:#F7F6F2; }
.adm-btn:disabled { opacity:.5; cursor:default; }
.adm-btn.danger { border-color:transparent; background:#FDE3E6; color:#A3121F; font-weight:600; }
.adm-btn.primary { border-color:transparent; background:var(--accent); color:var(--accent-ink); font-weight:600; }
.adm-tools { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.adm-input, .adm-select, .adm-textarea { padding:9px 12px; border-radius:10px; border:1px solid #DAD7CF; background:#fff; font:inherit; font-size:14px; color:var(--a-ink); }
.adm-input { min-width:240px; flex:1 1 240px; }
.adm-textarea { width:100%; min-height:70px; font-family:ui-monospace,Consolas,monospace; font-size:13px; resize:vertical; box-sizing:border-box; }
.adm-who { display:flex; align-items:center; gap:11px; min-width:0; }
.adm-who b { display:block; font-weight:600; }
.adm-who small { color:#6A6878; font-size:12px; }
.adm-av { width:36px; height:36px; border-radius:50%; flex:none; object-fit:cover; background:linear-gradient(135deg,#FFA24C,#FF3B5C); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; }
.adm-av.lg { width:72px; height:72px; font-size:26px; }
.adm-thumb { width:64px; height:40px; border-radius:8px; object-fit:cover; background:#E5E3DD; flex:none; }
.adm-bars { display:flex; align-items:flex-end; gap:4px; height:150px; padding-top:10px; }
.adm-bars span { flex:1; min-height:2px; border-radius:4px 4px 1px 1px; background:#F2C08C; }
.adm-bars span:last-child { background:var(--a-acc); }
.adm-pager { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:12px; font-size:13px; color:var(--a-muted); }
.adm-switch { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 0; border-bottom:1px solid var(--a-line2); }
.adm-switch small { display:block; color:#6A6878; font-size:12px; }
.adm-toggle { position:relative; width:44px; height:26px; flex:none; }
.adm-toggle input { position:absolute; inset:0; opacity:0; margin:0; cursor:pointer; }
.adm-toggle span { position:absolute; inset:0; border-radius:999px; background:#D5D2CA; transition:background .15s; pointer-events:none; }
.adm-toggle span::after { content:""; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.2); transition:transform .15s; }
.adm-toggle input:checked + span { background:var(--a-acc); }
.adm-toggle input:checked + span::after { transform:translateX(18px); }
.adm-dl { display:grid; grid-template-columns:150px 1fr; gap:8px 14px; margin:0; }
.adm-dl dt { color:var(--a-muted); }
.adm-dl dd { margin:0; word-break:break-word; }
.adm-msg { padding:10px 14px; border-radius:12px; font-size:14px; }
.adm-msg.ok { background:#E3F4E6; color:#1D6B2E; }
.adm-msg.ko { background:#FDE3E6; color:#A3121F; }
.adm-center { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; text-align:center; padding:30px; }
.adm-empty { padding:24px; text-align:center; color:var(--a-muted); }

@media (max-width: 860px) {
  .adm { flex-direction:column; }
  .adm-side { width:auto; flex-direction:row; align-items:center; padding:10px 12px; overflow-x:auto; overflow-y:hidden; gap:6px; scrollbar-width:none; }
  .adm-side::-webkit-scrollbar { display:none; }
  .adm-brand span { display:none; }
  .adm-brand { padding:0 8px 0 0; }
  .adm-brand small, .adm-group, .adm-side-foot span { display:none; }
  .adm-nav { flex-direction:row; }
  .adm-nav a { white-space:nowrap; padding:8px 10px; }
  .adm-side-foot { margin:0 0 0 auto; padding:0; }
  .adm-main { padding:20px 16px 50px; }
  .adm h1 { font-size:24px; }
  .adm-dl { grid-template-columns:1fr; }
  .adm-dl dt { margin-top:6px; }
}

/* contatore nel menu, stato servizi, avatar admin */
.adm-count { margin-left:auto; min-width:22px; height:22px; padding:0 6px; border-radius:999px; background:#FF3B5C; color:#fff; font-size:12px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; }
.adm-status { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.adm-me { width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,#FFA24C,#FF3B5C); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; }
.adm-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:12px 0 4px; }
.adm-field { display:flex; flex-direction:column; gap:6px; font-size:13px; color:#4A4858; }
.adm-field .adm-input { flex:none; min-width:0; width:100%; box-sizing:border-box; }
.adm-row > .adm-panel.wide { flex:999 1 560px; }
.adm-row > .adm-panel.side { flex:1 1 320px; }
.adm-links a { display:flex; align-items:center; gap:12px; padding:13px 4px; border-bottom:1px solid var(--a-line2); text-decoration:none; }
.adm-links a:last-child { border-bottom:0; }
.adm-links a small { display:block; color:#6A6878; font-size:12px; }
.adm-links a > i:last-child { margin-left:auto; color:#9A98A8; }
