:root{--ff-primary:#2563eb;--ff-bg:#f4f7fb}body{background:var(--ff-bg);color:#1f2937}.login-page{background:linear-gradient(135deg,#eff6ff,#f8fafc)}.brand-mark{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:var(--ff-primary);color:#fff;font-weight:800;font-size:1.35rem}.brand-mini{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--ff-primary);color:#fff;font-size:.85rem;margin-right:.35rem}.form-control:focus{border-color:#60a5fa;box-shadow:0 0 0 .25rem rgba(37,99,235,.15)}
.ff-sidebar{width:250px;min-height:calc(100vh - 59px)}.ff-sidebar .nav-link:hover{background:#eff6ff;color:#1d4ed8!important}@media(max-width:800px){.ff-sidebar{width:76px}.ff-sidebar .nav-link{font-size:0}.ff-sidebar .nav-link i{font-size:1.25rem;margin:0!important}}

.ff-sidebar .nav-link.active{box-shadow:0 .35rem 1rem rgba(37,99,235,.18)}
.metric-card{transition:transform .15s ease,box-shadow .15s ease}.metric-card:hover{transform:translateY(-2px);box-shadow:0 .75rem 1.5rem rgba(15,23,42,.09)!important}
.metric-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:1.25rem}
.chart-box{height:330px}.chart-box-small{height:300px}
.empty-state{display:grid;place-items:center;gap:.75rem;min-height:180px;color:#64748b;text-align:center}.empty-state i{font-size:2.5rem}
.table>:not(caption)>*>*{padding:.85rem .75rem}
@media(max-width:800px){.ff-sidebar .nav-link span{display:none}.chart-box{height:280px}}
