:root{
  --usal-green:#006847;
  --usal-green-dark:#004d35;
  --usal-green-deep:#003d2b;
  --usal-green-light:#e8f3ee;
  --usal-gold:#c49a35;
  --usal-gold-dark:#9b7420;
  --usal-cream:#f7f4ec;
  --usal-bg:#f3f6f4;
  --usal-card:#ffffff;
  --usal-border:#d9e4df;
  --usal-text:#18332a;
  --usal-muted:#6b7e76;
  --usal-danger:#b83a3a;
  --usal-shadow:0 10px 30px rgba(0,72,50,.09);
  --usal-radius:18px;
}

*{box-sizing:border-box}
body{
  margin:0;
  min-height:100vh;
  background:var(--usal-bg);
  color:var(--usal-text);
  font-family:Montserrat,Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
a{text-decoration:none}
.bb-topbar{
  min-height:72px;
  background:linear-gradient(105deg,var(--usal-green-deep),var(--usal-green));
  border-bottom:4px solid var(--usal-gold);
  box-shadow:0 5px 22px rgba(0,0,0,.15);
}
.bb-brand{display:flex;align-items:center;gap:13px;color:#fff!important;font-weight:800}
.bb-brand-mark{
  min-width:46px;height:46px;padding:0 10px;border-radius:12px;
  display:grid;place-items:center;
  background:#fff;color:var(--usal-green);
  font-family:Georgia,serif;font-size:16px;font-weight:900;
  box-shadow:0 3px 12px rgba(0,0,0,.18);
}
.bb-shell{min-height:calc(100vh - 72px)}
.bb-sidebar{
  width:280px;min-height:calc(100vh - 72px);
  background:#fff;border-right:1px solid var(--usal-border);
  padding:22px 16px;position:sticky;top:72px;align-self:flex-start;
}
.bb-nav-title{
  padding:14px 14px 7px;color:#8a9992;font-size:.71rem;
  font-weight:800;text-transform:uppercase;letter-spacing:.12em;
}
.bb-nav-link{
  display:flex;align-items:center;gap:11px;padding:11px 13px;margin:3px 0;
  border-radius:11px;color:#40564e;font-weight:650;transition:.18s ease;
}
.bb-nav-link:hover{background:var(--usal-green-light);color:var(--usal-green);transform:translateX(2px)}
.bb-nav-icon{
  width:27px;height:27px;border-radius:8px;display:grid;place-items:center;
  background:#edf4f0;color:var(--usal-green);font-size:13px;
}
.bb-content{flex:1;min-width:0;padding:30px}
.bb-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}
.bb-title{margin:0;font-weight:850;color:var(--usal-green-dark);letter-spacing:-.025em}
.bb-subtitle{margin:.4rem 0 0;color:var(--usal-muted)}
.bb-card{
  background:var(--usal-card);border:1px solid var(--usal-border);
  border-radius:var(--usal-radius);box-shadow:var(--usal-shadow);
}
.bb-card-header{
  padding:18px 20px;border-bottom:1px solid var(--usal-border);
  display:flex;justify-content:space-between;align-items:center;gap:12px;
}
.bb-card-body{padding:22px}
.bb-stat{padding:21px;position:relative;overflow:hidden;min-height:145px}
.bb-stat::after{
  content:"";position:absolute;right:-32px;bottom:-46px;width:130px;height:130px;
  border-radius:50%;background:rgba(255,255,255,.15)
}
.bb-stat .value{font-size:1.55rem;font-weight:900;line-height:1.1}
.bb-stat .label{font-weight:750;margin-top:9px}
.bb-stat .hint{font-size:.83rem;opacity:.84;margin-top:5px}
.bb-stat.blue,.bb-stat.green{background:linear-gradient(145deg,var(--usal-green-dark),var(--usal-green));color:#fff}
.bb-stat.orange{background:linear-gradient(145deg,var(--usal-gold-dark),var(--usal-gold));color:#fff}
.bb-stat.purple{background:linear-gradient(145deg,#586c63,#789287);color:#fff}
.bb-module{height:100%;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.bb-module:hover{transform:translateY(-5px);box-shadow:0 18px 35px rgba(0,72,50,.14);border-color:#b9d2c7}
.bb-module-icon{
  width:50px;height:50px;border-radius:15px;display:grid;place-items:center;
  font-size:22px;background:var(--usal-green-light);color:var(--usal-green);margin-bottom:16px
}
.bb-module h3{font-size:1.05rem;font-weight:800;color:var(--usal-green-dark)}
.bb-module p{font-size:.9rem;color:var(--usal-muted);margin-bottom:0}
.form-label{font-weight:750;color:#385047;font-size:.9rem}
.form-control,.form-select{min-height:44px;border-radius:11px;border-color:#cadbd3}
.form-control:focus,.form-select:focus{
  border-color:var(--usal-green);box-shadow:0 0 0 .23rem rgba(0,104,71,.13)
}
.btn{border-radius:10px;font-weight:750}
.btn-primary{background:var(--usal-green);border-color:var(--usal-green)}
.btn-primary:hover{background:var(--usal-green-dark);border-color:var(--usal-green-dark)}
.btn-danger{background:var(--usal-danger);border-color:var(--usal-danger)}
.btn-outline-secondary{color:#52675f;border-color:#aebfb8}
.bb-safe{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font-size:.82rem;font-weight:800}
.bb-safe.readonly{background:#e8f4ee;color:var(--usal-green)}
.bb-safe.write{background:#fbf1d8;color:#88630f}
.bb-user-card{height:100%;border-top:5px solid var(--usal-green)}
.bb-user-card.provisional{border-top-color:var(--usal-gold)}
.bb-user-card.definitive{border-top-color:var(--usal-green)}
.bb-avatar{
  width:58px;height:58px;border-radius:18px;display:grid;place-items:center;
  background:linear-gradient(145deg,var(--usal-green-dark),var(--usal-green));
  color:#fff;font-weight:900;font-size:18px
}
.bb-user-name{font-size:1.08rem;font-weight:850;color:var(--usal-green-dark)}
.bb-user-meta{color:var(--usal-muted);font-size:.86rem}
.bb-data-list{margin:0}
.bb-data-list div{
  display:grid;grid-template-columns:minmax(135px,38%) 1fr;gap:12px;padding:9px 0;
  border-bottom:1px dashed #dfebe5
}
.bb-data-list div:last-child{border-bottom:0}
.bb-data-list dt{color:#758980;font-size:.83rem}
.bb-data-list dd{margin:0;font-weight:650;overflow-wrap:anywhere}
.bb-alert-duplicate{border:0;border-left:5px solid var(--usal-gold);background:#fcf7e9;color:#735410;border-radius:13px}
.bb-alert-ok{border:0;border-left:5px solid var(--usal-green);background:#ebf6f1;color:#145d42;border-radius:13px}
.bb-table-wrap{overflow:auto;max-height:680px;border:1px solid var(--usal-border);border-radius:14px}
.bb-table{margin:0;font-size:.84rem}
.bb-table thead th{
  position:sticky;top:0;z-index:3;background:var(--usal-green-dark);
  color:#fff;white-space:nowrap;padding:12px;border-bottom:3px solid var(--usal-gold)
}
.bb-table tbody td{padding:10px 12px;vertical-align:top;min-width:100px}
.bb-table tbody tr:hover{background:#edf6f1}
.bb-json{max-height:680px;overflow:auto;background:#10271f;color:#dcebe5;border-radius:14px;padding:18px;font-size:.78rem}
.bb-tabs .nav-link{color:#64786f;font-weight:750;border-radius:10px 10px 0 0}
.bb-tabs .nav-link.active{color:var(--usal-green)}
.bb-empty{text-align:center;padding:40px 20px;color:var(--usal-muted)}
.bb-login-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 15% 20%,rgba(196,154,53,.22),transparent 30%),
    radial-gradient(circle at 82% 75%,rgba(0,104,71,.25),transparent 30%),
    linear-gradient(140deg,var(--usal-green-deep),var(--usal-green-dark));
  display:grid;place-items:center;padding:24px
}
.bb-login-card{
  width:min(980px,100%);display:grid;grid-template-columns:1.05fr .95fr;
  overflow:hidden;border-radius:25px;box-shadow:0 30px 80px rgba(0,0,0,.3);background:#fff
}
.bb-login-hero{
  color:#fff;padding:55px;
  background:
    linear-gradient(150deg,rgba(0,61,43,.96),rgba(0,104,71,.93));
  border-right:6px solid var(--usal-gold)
}
.bb-login-form{padding:55px}
.bb-login-feature{display:flex;gap:11px;align-items:flex-start;margin-top:19px;color:#dcebe5;font-size:.92rem}
.bb-login-feature span{
  width:28px;height:28px;border-radius:8px;background:rgba(196,154,53,.28);
  display:grid;place-items:center;flex:0 0 auto
}
.bb-code{background:#edf4f0;padding:2px 7px;border-radius:6px;color:#314a40}
.alert-success{border-color:#b9d9c9;background:#edf7f2;color:#135d40}
@media(max-width:991.98px){
  .bb-sidebar{display:none}.bb-content{padding:22px 16px}
  .bb-login-card{grid-template-columns:1fr}.bb-login-hero{display:none}
}
@media(max-width:575.98px){
  .bb-page-head{display:block}.bb-content{padding:16px 10px}
  .bb-card-body{padding:17px}.bb-login-form{padding:30px 22px}
}

:root{--usal-green:#006847;--usal-dark:#004d35;--usal-gold:#c99b2f;--usal-bg:#f3f6f4;--usal-card:#fff;--usal-border:#d9e4df;--usal-text:#18332a;--usal-muted:#6b7e76}
body{font-family:Montserrat,sans-serif;background:var(--usal-bg);color:var(--usal-text)}
.bb-topbar{background:linear-gradient(105deg,#003d2b,#006847);border-bottom:4px solid var(--usal-gold)}
.bb-header-logo{height:44px;max-width:410px;background:#fff;border-radius:8px;padding:4px 8px}.bb-global-search{width:min(500px,35vw)}.bb-global-search input{color:#fff}.bb-sidebar{width:285px}.bb-menu-brand img{width:100%;max-width:250px;background:#fff;border-radius:8px;padding:6px}.bb-safe.master-off{background:#f2dddd;color:#8c2424}.bb-api-status{padding:9px 13px;border-radius:999px}.bb-api-status.ok{background:#e7f5ee;color:#136543}.bb-api-status.error{background:#f9e6e6;color:#8b2929}.bb-action-tile{padding:15px;border:1px solid var(--usal-border);border-radius:12px;color:var(--usal-text)}.bb-search-result{display:flex;flex-direction:column;padding:12px 0;border-bottom:1px solid var(--usal-border)}.bb-search-result small{color:var(--usal-muted)}
:root[data-theme="dark"]{--usal-bg:#101714;--usal-card:#18211d;--usal-border:#2d3a34;--usal-text:#e7f0eb;--usal-muted:#a5b5ad}:root[data-theme="dark"] body,:root[data-theme="dark"] .offcanvas,:root[data-theme="dark"] .modal-content{background:var(--usal-bg);color:var(--usal-text)}:root[data-theme="dark"] .bb-card,:root[data-theme="dark"] .bb-sidebar{background:var(--usal-card);color:var(--usal-text)}:root[data-theme="dark"] .form-control,:root[data-theme="dark"] .form-select{background:#111a16;color:#fff;border-color:#3b4b44}
.bb-api-status.warning {
    background: #fff3cd;
    color: #856404;
}

.bb-api-status.warning span {
    background: #f0ad4e;
    box-shadow: 0 0 0 5px rgba(240, 173, 78, .15);
}
/* ===========================
   Tarjeta Usuario Encontrado
   =========================== */

.bb-user-card{
    height:auto !important;
    min-height:auto !important;
}

.bb-user-card .bb-card-body{
    height:auto !important;
    min-height:auto !important;
    padding:24px;
    overflow:visible;
}

.bb-user-card .bb-user{
    margin-bottom:20px;
}

.bb-user-card table{
    margin-bottom:0;
}

.bb-user-card .table{
    margin-bottom:0;
}

.bb-user-card .table td,
.bb-user-card .table th{
    padding:.55rem .25rem;
}

.bb-user-card .bb-empty{
    padding:25px;
}
.bb-user-summary{
    width:auto;
}

.bb-user-summary .bb-card-body{
    padding-bottom:10px;
}
/* =========================================================
   Componente compacto de usuario
   ========================================================= */

.bb-user-profile{
    width:100%;
}

.bb-user-profile__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:22px;
}

.bb-user-profile__identity{
    display:flex;
    align-items:center;
    gap:16px;
    min-width:0;
}

.bb-user-profile__main{
    min-width:0;
}

.bb-user-name{
    font-size:1.2rem;
    font-weight:850;
    color:var(--usal-green-dark);
    line-height:1.25;
}

.bb-user-meta{
    margin-top:4px;
    color:var(--usal-muted);
    font-size:.9rem;
    overflow-wrap:anywhere;
}

.bb-user-badges{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:10px;
}

.bb-role-badge{
    color:#155b40;
    background:#dff1e9;
    border:1px solid #bcdccc;
}

.bb-system-role-badge{
    color:#70530f;
    background:#f7edcf;
    border:1px solid #e7d494;
}

.bb-user-profile__grid{
    display:grid;
    grid-template-columns:repeat(
        auto-fit,
        minmax(220px, 1fr)
    );
    gap:12px;
}

.bb-user-field{
    min-height:82px;
    padding:14px 15px;
    border:1px solid var(--usal-border);
    border-radius:13px;
    background:var(--usal-card);
}

.bb-user-field--highlight{
    border-color:#d7b65a;
    background:linear-gradient(
        135deg,
        #fffaf0,
        #ffffff
    );
}

.bb-user-field__label{
    margin-bottom:7px;
    color:var(--usal-muted);
    font-size:.76rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.045em;
}

.bb-user-field__value{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    color:var(--usal-text);
    font-size:.92rem;
    font-weight:750;
    overflow-wrap:anywhere;
    word-break:break-word;
}

.bb-user-field__value--small{
    font-size:.78rem;
}

.bb-copy-button{
    flex:0 0 auto;
    padding:4px 8px;
    border:1px solid #bad2c7;
    border-radius:7px;
    background:#edf6f1;
    color:var(--usal-green);
    font-size:.7rem;
    font-weight:800;
    cursor:pointer;
    transition:.16s ease;
}

.bb-copy-button:hover{
    border-color:var(--usal-green);
    background:var(--usal-green);
    color:#fff;
}

.bb-copy-button.copied{
    border-color:#198754;
    background:#198754;
    color:#fff;
}

.bb-user-details{
    margin-top:18px;
    border-top:1px solid var(--usal-border);
    padding-top:16px;
}

.bb-user-details summary{
    display:inline-flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
    color:var(--usal-green);
    font-size:.88rem;
    font-weight:800;
    user-select:none;
}

.bb-user-details summary::before{
    content:"+";
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    border-radius:7px;
    background:var(--usal-green-light);
    font-size:1rem;
}

.bb-user-details[open] summary::before{
    content:"−";
}

.bb-user-details__content{
    display:grid;
    grid-template-columns:repeat(
        auto-fit,
        minmax(280px, 1fr)
    );
    gap:18px;
    margin-top:18px;
}

.bb-user-details__section{
    padding:17px;
    border:1px solid var(--usal-border);
    border-radius:13px;
    background:var(--usal-card);
}

.bb-user-details__section h4{
    margin:0 0 13px;
    color:var(--usal-green-dark);
    font-size:.92rem;
    font-weight:850;
}

.bb-user-details__section--json{
    grid-column:1 / -1;
}

.bb-user-details__section .bb-data-list div{
    grid-template-columns:minmax(130px, 38%) 1fr;
    padding:7px 0;
}

.bb-break{
    overflow-wrap:anywhere;
    word-break:break-word;
}

/* Evita tarjetas excesivamente altas */
.bb-user-card{
    height:auto!important;
    min-height:0!important;
}

.bb-user-card .bb-card-body{
    height:auto!important;
    min-height:0!important;
    padding:22px!important;
    overflow:visible!important;
}

/* Tema oscuro */
:root[data-theme="dark"] .bb-user-field--highlight{
    border-color:#7e6c34;
    background:linear-gradient(
        135deg,
        #282515,
        var(--usal-card)
    );
}

:root[data-theme="dark"] .bb-role-badge{
    color:#bfe7d3;
    background:#1d3a2d;
    border-color:#315c47;
}

:root[data-theme="dark"] .bb-system-role-badge{
    color:#ead99f;
    background:#3c3318;
    border-color:#665626;
}

:root[data-theme="dark"] .bb-copy-button{
    border-color:#355d4c;
    background:#1b3329;
    color:#bde1d1;
}

@media(max-width:767px){
    .bb-user-profile__header{
        align-items:flex-start;
    }

    .bb-user-profile__identity{
        align-items:flex-start;
    }

    .bb-user-profile__grid{
        grid-template-columns:1fr;
    }

    .bb-user-details__content{
        grid-template-columns:1fr;
    }
}
/* Resultados de búsqueda de usuarios */

.bb-user-results{
    display:grid;
    grid-template-columns:repeat(
        auto-fit,
        minmax(480px, 1fr)
    );
    gap:20px;
}

.bb-user-search-card{
    height:auto!important;
    min-height:0!important;
}

.bb-user-search-card .bb-card-body{
    height:auto!important;
    min-height:0!important;
}

.bb-user-actions{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    padding-top:14px;
    border-top:1px solid var(--usal-border);
}

@media(max-width:767px){
    .bb-user-results{
        grid-template-columns:1fr;
    }
}
/* =========================================================
   Explorador de cursos
   ========================================================= */

.bb-course-metric {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 112px;
    padding: 20px;
}

.bb-course-metric__icon {
    width: 54px;
    height: 54px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: var(--usal-green-light);
    color: var(--usal-green);
    font-size: 1.4rem;
    font-weight: 900;
}

.bb-course-metric__icon.instructor {
    background: #e2f1e9;
    color: #126442;
}

.bb-course-metric__icon.student {
    background: #e3ebf8;
    color: #26569a;
}

.bb-course-metric__icon.enabled {
    background: #e3f3ea;
    color: #168352;
}

.bb-course-metric__content {
    display: flex;
    flex-direction: column;
}

.bb-course-metric__content strong {
    color: var(--usal-text);
    font-size: 1.8rem;
    line-height: 1;
}

.bb-course-metric__content span {
    margin-top: 7px;
    color: var(--usal-muted);
    font-size: .84rem;
    font-weight: 700;
}

.bb-course-explorer-header {
    align-items: center;
}

.bb-explorer-toolbar {
    padding: 17px;
    border: 1px solid var(--usal-border);
    border-radius: 15px;
    background: var(--usal-green-light);
}

.bb-course-name-column {
    min-width: 320px;
}

.bb-course-table td {
    vertical-align: middle;
}

.bb-course-name {
    display: flex;
    align-items: flex-start;
    gap: 13px;
}

.bb-course-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: var(--usal-green-light);
    color: var(--usal-green);
    font-weight: 900;
}

.bb-course-name__content {
    min-width: 0;
}

.bb-course-name__content strong {
    display: block;
    color: var(--usal-text);
    font-size: .95rem;
    line-height: 1.35;
}

.bb-course-description {
    max-width: 580px;
    margin-top: 5px;
    color: var(--usal-muted);
    font-size: .78rem;
    line-height: 1.4;
}

.bb-code-copy {
    padding: 5px 8px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
    transition: .16s ease;
}

.bb-code-copy:hover {
    border-color: var(--usal-border);
    background: var(--usal-green-light);
}

.bb-code-copy.copied {
    border-color: #198754;
    background: #e0f2e9;
}

.bb-role-pill,
.bb-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 850;
    white-space: nowrap;
}

.bb-role-pill.instructor {
    background: #dff1e8;
    color: #126442;
}

.bb-role-pill.student {
    background: #e1eaf8;
    color: #24528d;
}

.bb-role-pill.builder {
    background: #f5ebcf;
    color: #70530e;
}

.bb-role-pill.atp {
    background: #dceff3;
    color: #176474;
}

.bb-role-pill.pi {
    background: #ece4f5;
    color: #604182;
}

.bb-role-pill.other {
    background: #e9ecef;
    color: #495057;
}

.bb-status-pill span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.bb-status-pill.available {
    background: #e1f3e9;
    color: #146b46;
}

.bb-status-pill.available span {
    background: #1b9a63;
}

.bb-status-pill.disabled {
    background: #f8e3e3;
    color: #963737;
}

.bb-status-pill.disabled span {
    background: #d24c4c;
}

.bb-status-pill.other {
    background: #eceff1;
    color: #54616a;
}

.bb-status-pill.other span {
    background: #87939a;
}

.bb-course-actions {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 7px;
}

.bb-course-details-row td {
    padding: 0 !important;
    background: var(--usal-green-light);
}

.bb-course-details {
    padding: 24px;
    border-top: 1px solid var(--usal-border);
    border-bottom: 1px solid var(--usal-border);
}

.bb-course-details__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.bb-course-details__grid {
    display: grid;
    grid-template-columns: repeat(
        auto-fit,
        minmax(220px, 1fr)
    );
    gap: 12px;
}

.bb-course-detail-item {
    min-height: 78px;
    padding: 13px 15px;
    border: 1px solid var(--usal-border);
    border-radius: 12px;
    background: var(--usal-card);
}

.bb-course-detail-item span {
    display: block;
    margin-bottom: 6px;
    color: var(--usal-muted);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.bb-course-detail-item strong {
    color: var(--usal-text);
    font-size: .86rem;
    overflow-wrap: anywhere;
}

.bb-course-details__description {
    margin-top: 18px;
    padding: 17px;
    border: 1px solid var(--usal-border);
    border-radius: 12px;
    background: var(--usal-card);
}

.bb-course-details__description > strong {
    display: block;
    margin-bottom: 10px;
    color: var(--usal-green-dark);
}

:root[data-theme="dark"] .bb-explorer-toolbar,
:root[data-theme="dark"] .bb-course-details-row td {
    background: #15231d;
}

:root[data-theme="dark"] .bb-role-pill.instructor,
:root[data-theme="dark"] .bb-status-pill.available {
    background: #1d3b2d;
    color: #bfe7d3;
}

:root[data-theme="dark"] .bb-role-pill.student {
    background: #1e304b;
    color: #c1d6f4;
}

:root[data-theme="dark"] .bb-role-pill.builder {
    background: #3b3218;
    color: #e8d493;
}

:root[data-theme="dark"] .bb-role-pill.atp {
    background: #19353b;
    color: #b6e1e9;
}

:root[data-theme="dark"] .bb-role-pill.pi {
    background: #332744;
    color: #dcc6f2;
}

@media (max-width: 991px) {
    .bb-course-actions {
        justify-content: flex-start;
    }

    .bb-course-name-column {
        min-width: 260px;
    }
}

@media (max-width: 767px) {
    .bb-course-details__header {
        flex-direction: column;
    }

    .bb-course-details__grid {
        grid-template-columns: 1fr;
    }
}
.bb-icon-btn{
    width:38px;
    height:38px;
    border-radius:10px;
    border:1px solid #d8dee5;
    background:#fff;
    color:#6c757d;

    display:flex;
    align-items:center;
    justify-content:center;

    transition:.18s;
}

.bb-icon-btn:hover{
    background:#0b6b43;
    border-color:#0b6b43;
    color:#fff;
    transform:translateY(-1px);
}

.bb-icon-btn:focus{
    box-shadow:0 0 0 .2rem rgba(11,107,67,.2);
}
.bb-course-actions{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    white-space:nowrap;
}

.bb-action-icon{
    width:32px;
    height:32px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid #d9dee4;
    border-radius:8px;

    background:#fff;
    color:#4b5563;

    text-decoration:none;
    font-size:16px;

    transition:.15s;
}

.bb-action-icon:hover{
    transform:translateY(-1px);
    text-decoration:none;
}

.bb-action-open:hover{
    background:#0b6b43;
    border-color:#0b6b43;
}

.bb-action-info:hover{
    background:#0d6efd;
    border-color:#0d6efd;
}

.bb-action-icon:hover{
    color:#fff;
}

:root[data-theme="dark"] .bb-action-icon{
    background:#1f2937;
    border-color:#374151;
    color:#e5e7eb;
}

.bb-course-table td{
    padding:.45rem .65rem;
    font-size:.84rem;
    vertical-align:middle;
}

.bb-course-table th{
    padding:.55rem .65rem;
    font-size:.78rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.03em;
}
.bb-course-name__content strong{
    font-size:.88rem;
    line-height:1.25;
}

.bb-course-description{
    font-size:.72rem;
    line-height:1.3;
}
.bb-role-pill,
.bb-status-pill{
    font-size:.68rem;
    padding:4px 8px;
}
.bb-code-copy code{
    font-size:.74rem;
}
.btn-sm{
    font-size:.74rem;
}