.tcsu-register-switch,
.tcsu-login-links,
.tcsu-assignment-cards,
.tcsu-assignment-card{box-sizing:border-box}

.tcsu-login-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.tcsu-login-links .auth-button{min-height:34px;padding:0 12px;border-radius:6px}

.tcsu-register-switch{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.tcsu-register-switch a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:6px;border:1px solid #d8deea;background:#fff;color:#0B115B;font-weight:800;text-decoration:none}
.tcsu-register-switch a.is-active{background:#0B115B;border-color:#0B115B;color:#fff}
.tcsu-register-note{font-size:13px;line-height:1.45;color:#6b7280;margin:8px 0 0}

.tcsu-assignment-wrap{margin-top:16px}
.tcsu-assignment-cards{display:grid;gap:12px}
.tcsu-assignment-card{border:1px solid #e3e8f0;border-radius:14px;background:#fff;padding:14px}
.tcsu-assignment-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.tcsu-assignment-title{margin:0;color:#0B115B;font-size:16px;line-height:1.25;font-weight:900}
.tcsu-assignment-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;color:#6b7280;font-size:12px;line-height:1.35}
.tcsu-chip{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 8px;border-radius:999px;border:1px solid #d7deea;background:#f8fafc;color:#0B115B;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.tcsu-assignment-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:12px}
.tcsu-assignment-grid select{width:100%;min-height:40px;border:1px solid #d7deea;border-radius:10px;padding:8px 10px;background:#fff}
.tcsu-assignment-grid .auth-button{min-height:40px;padding:0 14px;border-radius:10px}
.tcsu-assignment-empty{border:1px dashed #d7deea;border-radius:14px;padding:14px;color:#6b7280;background:#fbfcfe}
.tcsu-assignment-help{font-size:12px;line-height:1.45;color:#6b7280;margin-top:8px}

/* Safer mobile tweaks for plugin-owned widgets and wpForo only.
   Do not target Astra off-canvas menu here; page-specific plugin assets must not alter the site header/menu. */
@media (max-width: 768px){
  .wpforo #wpforo-wrap .wpforo-headbar,
  .wpforo #wpforo-wrap .wpforo-category,
  .wpforo #wpforo-wrap .wpforo-topic,
  .wpforo #wpforo-wrap .wpforo-post{border-radius:12px;overflow:hidden}
  .wpforo #wpforo-wrap .wpf-head-bar-left .wpf-head-bar-title,
  .wpforo #wpforo-wrap .wpf-topic-title{font-size:16px;line-height:1.25}
  .wpforo #wpforo-wrap .wpforo-topic .wpforo-topic-title,
  .wpforo #wpforo-wrap .wpforo-post .wpf-post-content{line-height:1.45}
  .wpforo #wpforo-wrap .wpf-button,
  .wpforo #wpforo-wrap input[type="submit"],
  .wpforo #wpforo-wrap button{min-height:36px;border-radius:8px}
  .tcsu-assignment-grid{grid-template-columns:1fr}
  .tcsu-login-links{flex-direction:column}
  .tcsu-login-links .auth-button{width:100%}
}

/* v1.9.3 account menu UX */
.ba-account-menu{border:1px solid var(--ba-card-border,#e5e7eb);border-radius:16px;background:#fff;margin:0 0 14px;overflow:hidden;box-shadow:0 6px 16px rgba(11,17,91,.04)}
.ba-account-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;font-weight:900;color:#0B115B}
.ba-account-menu summary::-webkit-details-marker{display:none}
.ba-account-menu summary:after{content:"+";display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:#FBBC05;color:#0B115B;font-weight:900;order:3}
.ba-account-menu[open] summary:after{content:"–"}
.ba-account-role{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;background:#0B115B;color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.ba-account-menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;padding:0 14px 14px}
.ba-account-menu-link{display:flex;align-items:center;justify-content:center;min-height:42px;padding:8px 10px;border-radius:12px;background:#f8fafc;border:1px solid var(--ba-card-border,#e5e7eb);color:#0B115B;text-decoration:none!important;font-weight:900;text-align:center}
.ba-account-menu-link:hover{background:#0B115B;color:#fff;border-color:#0B115B}
.ba-account-menu-link .ba-badge{margin-left:6px}
@media(max-width:640px){.ba-account-menu-grid{grid-template-columns:1fr 1fr}.ba-account-menu-link{font-size:13px;min-height:40px}.ba-account-role{font-size:10px}.tbj-account-badge-row{margin-top:0}}

/* TAG Blueprint v1.9.4 - compact account hub */
.ba-account-hub{border:1px solid var(--ba-card-border,#e5e7eb);border-radius:16px;background:#fff;margin:0 0 14px;overflow:hidden;box-shadow:0 6px 16px rgba(11,17,91,.04)}
.ba-account-hub-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--ba-card-border,#e5e7eb)}
.ba-account-hub-head strong{display:block;color:#0B115B;font-size:15px;line-height:1.1;font-weight:900}
.ba-account-eyebrow{display:block;color:#64748b;font-size:10px;line-height:1.1;text-transform:uppercase;letter-spacing:.06em;font-weight:900;margin-bottom:2px}
.ba-account-role{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:3px 8px;border-radius:999px;background:#0B115B;color:#fff;font-size:10px;font-weight:900;white-space:nowrap;text-transform:uppercase}
.ba-account-logout{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412!important;text-decoration:none!important;font-size:11px;font-weight:900;white-space:nowrap}
.ba-account-hub .ba-account-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px 12px 12px}
.ba-account-hub .ba-account-menu-link{min-width:0;min-height:34px;padding:6px 8px;border-radius:10px;background:#f8fafc;border:1px solid var(--ba-card-border,#e5e7eb);color:#0B115B!important;text-decoration:none!important;font-size:12px;font-weight:900;line-height:1.15;text-align:center;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ba-account-hub .ba-account-menu-link span{min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ba-account-hub .ba-account-menu-link:hover{background:#0B115B;color:#fff!important;border-color:#0B115B}
.ba-account-hub .ba-badge{margin-left:4px;min-width:18px;height:18px;font-size:10px;padding:0 5px}
@media(max-width:390px){.ba-account-hub-head{grid-template-columns:minmax(0,1fr) auto}.ba-account-logout{grid-column:1/-1;justify-self:stretch}.ba-account-hub .ba-account-menu-grid{gap:6px;padding:9px}.ba-account-hub .ba-account-menu-link{font-size:11px;padding:6px 5px}}
.ba-account-backbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;color:#0B115B;font-weight:900;font-size:12px}
.ba-account-backbar a,.ba-account-backbar button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#0B115B!important;text-decoration:none!important;font-weight:900;font-size:12px;padding:4px 6px;cursor:pointer}
.ba-account-backbar button{border:1px solid #e5e7eb;border-radius:999px;background:#f8fafc}

/* v2.0.16 account menu polish */
.ba-account-hub .ba-account-menu-link{position:relative!important;gap:7px!important;justify-content:flex-start!important;text-align:left!important}
.ba-account-hub .ba-menu-ico{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:22px!important;height:22px!important;min-width:22px!important;border-radius:7px!important;background:#fff4c8!important;color:#0B115B!important;border:1px solid #ffe08a!important;font-size:11px!important;font-weight:950!important;line-height:1!important}
.ba-account-hub .ba-menu-text{display:block!important;min-width:0!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.ba-account-hub .ba-menu-text .ba-label-text{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.ba-account-hub .ba-count-badge,.ba-account-hub .ba-badge{position:absolute!important;top:5px!important;right:6px!important;margin:0!important}

/* v2.0.23 account greeting */
.ba-account-hub .ba-account-hello{padding:11px 12px 0;color:#0B115B;font-weight:950;font-size:15px;line-height:1.2;text-align:left}
.ba-account-hub .ba-count-badge:empty,.ba-account-hub .ba-badge:empty{display:none!important}
