/* ============================================================
   ADMIN.CSS — Layout pannello amministrativo
   ============================================================ */
.admin-body {
    background: #f4f5f7;
    font-family: var(--font-sans);
    color: var(--clr-text);
    min-height: 100vh;
}
.admin-main {
    max-width: var(--max-width-admin);
    margin: 0 auto;
    padding: var(--space-8) var(--space-6);
}
@media (max-width: 768px) { .admin-main { padding: var(--space-4); } }

.admin-page-header {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: var(--space-4);
    margin-bottom: var(--space-8);
    padding-bottom: var(--space-6);
    border-bottom: 2px solid var(--clr-border);
}
.admin-page-title {
    font-family: var(--font-serif);
    font-size: var(--text-2xl);
    font-weight: 700;
    color: var(--clr-primary-dark);
}

.admin-breadcrumb {
    font-size: var(--text-sm);
    color: var(--clr-text-muted);
    margin-bottom: var(--space-6);
}
.admin-breadcrumb a { color: var(--clr-primary); text-decoration: none; }
.admin-breadcrumb a:hover { text-decoration: underline; }

.admin-stats { font-size: var(--text-sm); color: var(--clr-text-muted); margin-bottom: var(--space-4); }
.admin-subsection { margin-bottom: var(--space-6); }
.admin-subsection-title { font-size: var(--text-base); font-weight: 700; color: var(--clr-primary); margin-bottom: var(--space-4); }

.section-title { font-size: var(--text-lg); font-weight: 700; color: var(--clr-text); margin-bottom: var(--space-5); }

.empty-state { color: var(--clr-text-muted); font-size: var(--text-base); padding: var(--space-8) 0; }

.login-container { display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: var(--space-6); }
.login-card { background: var(--clr-surface); border-radius: var(--radius-xl); padding: var(--space-10); width: 100%; max-width: 420px; box-shadow: var(--shadow-xl); border-top: 4px solid var(--clr-primary); }
.login-title { font-family: var(--font-serif); font-size: var(--text-2xl); font-weight: 700; color: var(--clr-primary); margin-bottom: var(--space-2); }
.login-subtitle { font-size: var(--text-base); color: var(--clr-text-muted); margin-bottom: var(--space-8); }

.option-row { display: flex; gap: var(--space-3); align-items: center; margin-bottom: var(--space-3); flex-wrap: nowrap; }
.option-row .form-input { width: auto; }
.option-row .form-input:not(.form-input--sm):not(.form-input--xs) { flex: 1; min-width: 120px; }
.btn-icon { background: none; border: none; cursor: pointer; color: var(--clr-text-muted); font-size: var(--text-base); padding: var(--space-1) var(--space-2); border-radius: var(--radius-sm); transition: color var(--transition-fast); }
.btn-icon--remove:hover { color: var(--clr-error); }

.admin-form { background: var(--clr-surface); border-radius: var(--radius-lg); padding: var(--space-8); box-shadow: var(--shadow-sm); }

.type-section { background: var(--clr-surface-warm); border: 1px solid var(--clr-border-light); border-radius: var(--radius-md); padding: var(--space-5); margin-top: var(--space-4); }
.type-section--hidden { display: none; }

/* rule-target */
.rule-target--hidden { display: none; }
