body { background: #f5f7fa; }
.bg-sylvia { background: linear-gradient(90deg, #1f3c5a, #2e6b8a); }
.nav-tabs .nav-link { color: #1f3c5a; }
.nav-tabs .nav-link.active { font-weight: 600; }
.tab-pane > .card, .tab-content .card { box-shadow: 0 1px 3px rgba(0, 0, 0, .06); }
.message-body { white-space: pre-wrap; background: #f8f9fb; border-left: 3px solid #2e6b8a; padding: .75rem 1rem; border-radius: .25rem; }
.thumb { position: relative; }
.thumb img { width: 80px; height: 80px; object-fit: cover; border-radius: .375rem; border: 1px solid #dee2e6; }
.thumb button { position: absolute; top: -8px; right: -8px; padding: 0 .35rem; line-height: 1.2; border-radius: 50%; }
.drop-zone { display: block; border: 2px dashed #9fb3c8; border-radius: .5rem; padding: 2rem 1rem; text-align: center; color: #4a6580; cursor: pointer; background: #fff; }
.drop-zone.dragover { background: #e8f1f8; border-color: #2e6b8a; }
.contract-text { white-space: pre-wrap; font-size: .85rem; }
.example-item small { display: block; }
table td { vertical-align: middle; }
#res-json { max-height: 300px; overflow: auto; }
#examples-list { max-height: 260px; overflow-y: auto; }
.login-card { width: 100%; max-width: 400px; }
