:root{--if-primary:#0d6efd;--if-accent:#198754;--if-bg:#f8f9fa;--if-card:#ffffff;--if-border:#dee2e6;--if-text:#212529}
[data-bs-theme="dark"]{--if-bg:#121212;--if-card:#1e1e1e;--if-border:#333;--if-text:#e9ecef}
body{background:var(--if-bg);color:var(--if-text);font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
.navbar-brand{font-weight:700;letter-spacing:.5px}
.hero{background:linear-gradient(135deg,#0d6efd 0%,#6610f2 100%);color:#fff;border-radius:1rem;padding:2rem;margin-bottom:1.5rem;box-shadow:0 4px 20px rgba(13,110,253,.25)}
.hero h1{font-weight:800;margin:0}
.card-section{background:var(--if-card);border:1px solid var(--if-border);border-radius:.75rem;box-shadow:0 2px 8px rgba(0,0,0,.04);margin-bottom:1.25rem;overflow:hidden}
.card-section .card-header{background:transparent;border-bottom:1px solid var(--if-border);font-weight:600;padding:.75rem 1.25rem}
.table-responsive{max-height:480px;overflow:auto}
.table th{position:sticky;top:0;background:var(--if-card);z-index:1;font-size:.8rem;white-space:nowrap}
.table td{vertical-align:middle;font-size:.85rem}
.table a{white-space:nowrap}
.form-control:focus,.form-select:focus{border-color:var(--if-primary);box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}
.btn-go{min-width:100px;font-weight:600}
.avatar-img{width:72px;height:72px;object-fit:cover;border-radius:8px;background:#eee}
.avatar-sm{width:48px;height:48px;object-fit:cover;border-radius:6px}
.footer{font-size:.85rem;border-top:1px solid var(--if-border)}
.badge-score{font-size:.7rem;font-weight:600;min-width:1.8rem}
#resultArea{min-height:120px}
.nav-tabs .nav-link{font-weight:500}
.alert-safe{border-left:4px solid var(--if-accent)}
input[type="text"]::placeholder,textarea::placeholder{opacity:.55}
.theme-toggle{cursor:pointer}
.if-toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%) translateY(120%);background:#198754;color:#fff;padding:.6rem 1.2rem;border-radius:2rem;font-size:.9rem;font-weight:500;z-index:9999;opacity:0;transition:all .25s ease;pointer-events:none;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.if-toast.show{transform:translateX(-50%) translateY(0);opacity:1}
@media print{
.navbar,.hero,footer,.btn,#domainPanel,.nav-tabs{display:none!important}
.card-section{box-shadow:none;border:1px solid #ccc}
.table-responsive{max-height:none}
}
@media(max-width:768px){.hero{padding:1.25rem}.table{font-size:.75rem}}
