/* Modulo: admin */

/* --- Statistiche --- */
.chart{position:relative;margin:0}
.chart-svg .pt{fill:var(--surface);stroke:var(--primary);stroke-width:2}
.chart-svg .crosshair{stroke:var(--text-muted);stroke-width:1;stroke-dasharray:3 3}
.chart-svg .hit{cursor:crosshair}
.chart-tip{position:absolute;z-index:5;pointer-events:none;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:.78rem;box-shadow:0 8px 24px rgba(0,0,0,.14);white-space:nowrap;line-height:1.45}
.chart-tip strong{display:block;color:var(--heading)}
.chart-table summary{cursor:pointer;color:var(--text-muted);margin-top:8px}
.chart-table .table-wrap{max-height:260px;overflow:auto;margin-top:6px;border:1px solid var(--border);border-radius:8px}
.bars.hours{gap:2px;height:170px}
.bars.hours .bar{background:var(--primary);border-radius:3px 3px 0 0;opacity:.85}
.bars.hours .bar:hover{opacity:1}
.stats-panel .hbar-label{font-size:.84rem}
.seg{display:inline-flex;border:1px solid var(--border);border-radius:10px;padding:3px;background:var(--surface-2);gap:2px;flex-wrap:wrap}
.seg-btn{border:0;background:none;color:var(--text-muted);font:inherit;font-size:.82rem;font-weight:600;padding:6px 10px;border-radius:7px;cursor:pointer}
.seg-btn:hover{color:var(--text)}
.seg-btn.on{background:var(--surface);color:var(--primary);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.stats-filters .input{min-width:0;width:auto}

/* --- Sicurezza: visualizzazione file --- */
.code-view{max-height:70vh;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.55;background:var(--surface-2)}
.code-line{display:flex;white-space:pre;min-width:max-content}
.code-line .ln{flex:0 0 52px;text-align:right;padding-right:12px;color:var(--text-muted);user-select:none;border-right:1px solid var(--border);margin-right:12px;background:var(--surface)}
.code-line.flagged{background:color-mix(in srgb,var(--danger) 16%,transparent)}
.code-line.flagged .ln{color:var(--danger);font-weight:700}

/* Correzioni layout: card affiancate in griglia e barre orizzontali */
.grid>.card+.card,.grid>.stack+.card,.grid>.card+.stack{margin-top:0}
.hbar-track,.hbar-fill{display:block}
.stack>.card+.card{margin-top:1rem}
