:root { --corporate-blue: #174a7e; --corporate-cyan: #22a5b8; }
body { font-size: .94rem; }
.main-sidebar { background: linear-gradient(180deg, #102f50 0%, #174a7e 100%); }
.brand-link { border-bottom-color: rgba(255,255,255,.1) !important; }
.brand-link { display: flex; align-items: center; justify-content: center; min-height: 68px; padding: .4rem .75rem; }
.brand-logo-image { display: block; width: 100%; max-width: 215px; height: 54px; object-fit: contain; margin: 0 auto; }
.login-logo { display: flex; flex-direction: column; align-items: center; gap: .65rem; margin-bottom: 1.25rem; }
.login-logo-image { display: block; width: 210px; height: 120px; object-fit: contain; }
.login-product-name { color: #173f68; font-size: 1.7rem; font-weight: 600; line-height: 1.2; }
.user-avatar { display: inline-flex; width: 34px; height: 34px; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255,255,255,.15); color: #fff; font-weight: 700; }
.corporate-login { background: radial-gradient(circle at top right, #eaf6f8, #eef2f7 50%, #dfe8f1); }
.login-box { width: 390px; }
.login-card-body { padding: 2rem; }
.btn-primary, .bg-gradient-primary { background-color: var(--corporate-blue) !important; border-color: var(--corporate-blue) !important; }
.report-card { border: 0; box-shadow: 0 5px 20px rgba(26, 55, 86, .08); transition: transform .15s, box-shadow .15s; margin-bottom: 1.5rem; }
.report-card:hover { transform: translateY(-3px); box-shadow: 0 10px 28px rgba(26, 55, 86, .14); }
.report-icon { display: inline-flex; width: 46px; height: 46px; align-items: center; justify-content: center; color: var(--corporate-blue); background: #eaf2fa; border-radius: 12px; margin-bottom: 1rem; font-size: 1.25rem; }
.report-open-btn, .report-open-btn:hover, .report-open-btn:focus { min-width: 145px; color: #fff !important; font-weight: 600; }
.folder-link { display: block; height: 100%; color: inherit; margin-bottom: 1.5rem; }
.folder-link:hover { color: inherit; text-decoration: none; }
.folder-card { border: 0; box-shadow: 0 5px 20px rgba(26, 55, 86, .08); transition: transform .15s, box-shadow .15s; }
.folder-link:hover .folder-card { transform: translateY(-3px); box-shadow: 0 10px 28px rgba(26, 55, 86, .14); }
.folder-card .card-body { display: flex; align-items: center; gap: 1rem; }
.folder-icon { display: inline-flex; width: 54px; height: 54px; flex: 0 0 54px; align-items: center; justify-content: center; color: #fff; background: linear-gradient(135deg, #22a5b8, #174a7e); border-radius: 14px; font-size: 1.35rem; }
.folder-content { min-width: 0; flex: 1; }
.folder-content h4 { margin-bottom: .35rem; }
.folder-content p { margin-bottom: .65rem; }
.folder-arrow { color: #9babb9; }
.folder-heading { display: flex; align-items: center; gap: 1rem; }
.table thead th { border-top: 0; color: #536273; font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; }
.sortable-header { display: inline-flex; align-items: center; gap: .35rem; color: #536273; white-space: nowrap; }
.sortable-header:hover { color: #174a7e; text-decoration: none; }
.sortable-header .fa-sort { color: #aab5c0; }
.sortable-header .fa-sort-up, .sortable-header .fa-sort-down { color: #22a5b8; }
code { color: #174a7e; }
.sql-editor { min-height: 360px; resize: vertical; font-family: Consolas, "Liberation Mono", monospace; font-size: .87rem; line-height: 1.5; color: #d9e2ec; background: #17212b; border-color: #263849; tab-size: 4; }
.sql-editor:focus { color: #fff; background: #17212b; border-color: #3fa9bd; box-shadow: 0 0 0 .2rem rgba(34, 165, 184, .2); }
@media (max-width: 480px) { .login-box { width: 92%; } .login-logo-image { width: 180px; height: 100px; } }
