*{box-sizing:border-box}
*{box-sizing:border-box}
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');
html,body{font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif !important}
html{scrollbar-gutter: stable; overflow-y: scroll}
:root{--safe-area-inset-top: env(safe-area-inset-top)}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.app-bg{background-image:radial-gradient(1200px 600px at 20% -10%,#e7f0ff 0,rgba(231,240,255,0) 60%),radial-gradient(1200px 600px at 80% 110%,#eafaf6 0,rgba(234,250,246,0) 60%),linear-gradient(#f8fafc,#f8fafc)}
.card{background:#fff;border:1px solid #e6eef7;border-radius:1.25rem;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.card:hover{box-shadow:0 12px 28px rgba(15,23,42,.10);transform:translateY(-1px);transition:transform .2s ease,box-shadow .2s ease}
.metric{position:relative}
.metric-badge{position:absolute;right:.75rem;top:-.75rem;height:42px;width:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 25px rgba(15,23,42,.12)}
.badge-blue{background:linear-gradient(135deg,#60a5fa,#93c5fd)}
.badge-purple{background:linear-gradient(135deg,#a78bfa,#c4b5fd)}
.badge-green{background:linear-gradient(135deg,#34d399,#6ee7b7)}
.badge-amber{background:linear-gradient(135deg,#f59e0b,#fbbf24)}
.badge-neutral{background:#f1f5f9;border:1px solid #e2e8f0}
.nav-active{background:#2563eb;color:#fff;box-shadow:0 6px 16px rgba(37,99,235,.35)}
.ripple{position:relative;overflow:hidden}
.ripple:after{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(255,255,255,.35) 0,rgba(255,255,255,0) 60%);opacity:0;transform:scale(0);transition:transform .25s ease,opacity .25s ease}
.ripple:active:after{opacity:1;transform:scale(2)}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:.75rem;padding:.5rem 1rem;font-weight:600;transition:filter .2s ease}
.btn:active{filter:brightness(.95)}
.btn-primary{background:#2563eb;color:#fff}
.btn-primary:hover{background:#1d4ed8}
.btn-emerald{background:#059669;color:#fff}
.btn-emerald:hover{background:#047857}
.btn-indigo{background:#4f46e5;color:#fff}
.btn-indigo:hover{background:#4338ca}
.btn-danger{background:#ef4444;color:#fff}
.btn-danger:hover{background:#dc2626}
.btn-neutral{background:#e5e7eb;color:#0f172a}
.chip{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600;border:1px solid}
.chip-green{background:#ecfdf5;color:#059669;border-color:#a7f3d0}
.chip-blue{background:#eff6ff;color:#2563eb;border-color:#bfdbfe}
.chip-amber{background:#fffbeb;color:#b45309;border-color:#fde68a}
.pill{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:9999px;background:#f8fafc;color:#0f172a;border:1px solid #e2e8f0}
.avatar{height:2.25rem;width:2.25rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;background:#0f172a;color:#fff}
.ui-input{height:2.75rem;border:1px solid #cbd5e1;border-radius:.75rem;padding:0 .75rem}
.ui-input:focus{outline:none;box-shadow:0 0 0 3px rgba(37,99,235,.2);border-color:#93c5fd}
.icon-btn{height:2rem;width:2rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;background:#f1f5f9}
.icon-btn:hover{background:#e2e8f0}
.icon-circle{border-radius:9999px}
.glass{background:rgba(255,255,255,.65);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid rgba(226,232,240,.7)}
.brand-title{font-weight:700;letter-spacing:.01em;color:#0f172a}
.container{max-width:1200px;margin:0 auto;width:100%;padding-left:1rem;padding-right:1rem}
.section-title{font-weight:700;color:#0f172a}
.ui-table{border-collapse:separate;border-spacing:0;width:100%}
.ui-table thead th{background:#f8fafc;color:#0f172a;font-weight:600;padding:.75rem 1.5rem;border-bottom:1px solid #e5e7eb}
.ui-table thead.head-gradient th{background:transparent;color:#fff;border-bottom-color:transparent}
.table-head-gradient{background-image:linear-gradient(90deg,#6366f1,#a855f7)!important;color:#fff!important;border-bottom-color:#6366f1}
.table-head-emerald{background-image:linear-gradient(90deg,#10b981,#34d399)!important;color:#fff!important;border-bottom-color:#10b981}
.ui-table tbody td{padding:.75rem 1.5rem;border-top:1px solid #eef2f7}
.ui-table tbody tr:hover{background:#f8fafc}
.empty{display:flex;align-items:center;justify-content:center;padding:2rem;border:1px dashed #cbd5e1;border-radius:1rem;color:#64748b;background:#f8fafc}
.toolbar{display:flex;gap:.5rem;align-items:center}
.shadow-soft{box-shadow:0 10px 24px rgba(15,23,42,.06)}
@supports (top: env(safe-area-inset-top)){:where([id]){scroll-margin-top:env(safe-area-inset-top)}}