:root{--hub-navy:#102d62;--hub-blue:#176df5;--hub-blue-dark:#0956ca;--hub-blue-soft:#e8f0ff;--hub-border:#d9e5f7;--hub-muted:#687da5;--hub-shadow:0 1px 2px rgba(16,45,98,.04),0 10px 28px -16px rgba(16,45,98,.28)}
*{box-sizing:border-box}body{min-height:100vh;margin:0;font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;color:#42577e;background:linear-gradient(180deg,#e9f1fd 0,#f4f7fc 360px);background-attachment:fixed}h1,h2,h3,h4,h5,h6{color:var(--hub-navy);font-weight:700;letter-spacing:-.025em}.text-secondary{color:var(--hub-muted)!important}a{color:var(--hub-blue)}
.hub-navbar{background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--hub-border);padding:.7rem 0}.hub-navbar .navbar-brand{display:flex;align-items:center;gap:.65rem;color:var(--hub-navy);font-weight:800;letter-spacing:-.03em}.hub-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:.72rem;color:#fff;background:linear-gradient(135deg,#176df5,#16bce2);box-shadow:0 5px 13px -4px rgba(23,109,245,.65)}.hub-navbar .nav-link{color:#52688f;font-weight:500;border-radius:.58rem;padding:.48rem .82rem}.hub-navbar .nav-link:hover{color:var(--hub-blue-dark);background:var(--hub-blue-soft)}.hub-user{display:flex;align-items:center;gap:.55rem;color:var(--hub-navy);font-weight:600}.hub-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#176df5,#6e8eff);color:#fff;font-weight:700}
.hub-main{padding-top:2.25rem;padding-bottom:3rem}.card{background:#fff;border:1px solid var(--hub-border)!important;border-radius:1rem!important;box-shadow:var(--hub-shadow)!important}.card-body{padding:1.4rem}.table-responsive{border-radius:1rem}.table{--bs-table-bg:transparent}.table>:not(caption)>*>*{padding:1rem 1.05rem;border-color:#e3ebf8;vertical-align:middle}.table thead th{color:#7185aa;font-size:.75rem;text-transform:uppercase;letter-spacing:.055em;font-weight:700;background:#f8faff}.table tbody tr:hover{background:#f8fbff}.display-6{color:var(--hub-navy)}code{color:#d92d75;background:#fff0f6;border-radius:.35rem;padding:.18rem .38rem}
.btn{border-radius:.68rem;font-weight:600}.btn-primary{background:var(--hub-blue);border-color:var(--hub-blue);box-shadow:0 5px 12px -6px rgba(23,109,245,.9)}.btn-primary:hover{background:var(--hub-blue-dark);border-color:var(--hub-blue-dark)}.btn-light,.btn-outline-secondary{background:#fff;border-color:#cbd9ef;color:#4e6389}.form-control,.form-select{border-color:#cddbf0;border-radius:.68rem;padding:.62rem .78rem}.form-control:focus,.form-select:focus{border-color:#75a8fa;box-shadow:0 0 0 .2rem rgba(23,109,245,.12)}label{color:var(--hub-navy);font-weight:600;font-size:.9rem;margin-bottom:.35rem}.alert{border-radius:.85rem;border-width:1px}
.limit-row{padding:.8rem;border:1px solid var(--hub-border);border-radius:.75rem;background:#f9fbff}.limit-row .form-check-label{color:var(--hub-muted);font-size:.78rem;font-weight:600}
.status-badge{display:inline-flex;align-items:center;padding:.32rem .62rem;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase}.status-active{color:#08783e;background:#dcfce9}.status-suspended{color:#986200;background:#fff3cd}.status-revoked,.status-inactive{color:#b42318;background:#fee4e2}
@media(max-width:991.98px){.hub-navbar .navbar-nav{padding:.75rem 0}.hub-user-area{padding-top:.75rem;border-top:1px solid var(--hub-border)}.hub-main{padding-top:1.4rem}.table>:not(caption)>*>*{white-space:nowrap}}
