/* Instructor home: start a training, scenarios, units, trainees */
.home-body { min-height: 100%; background: radial-gradient(1200px 600px at 50% -10%, rgba(var(--hud-rgb), .08), transparent 60%), var(--bg); }
.home-top img { filter: drop-shadow(0 0 8px rgba(var(--accent-rgb), .5)); }
.home-top .title::before { display: none; }
.home { max-width: 1240px; margin: 0 auto; padding: 18px 16px 40px; display: grid; gap: 18px; }
.home-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: start; }
.home .hud-label .spacer { flex: 1; }
.home .hud-label .btn { text-transform: none; letter-spacing: 0; }
.home-start-row { display: flex; gap: 14px; align-items: flex-end; flex-wrap: wrap; }
.home-start-row .btn-lg { min-width: 220px; }
.home-list { display: flex; flex-direction: column; gap: 6px; }
.home-list.scroll { max-height: 420px; overflow-y: auto; padding-right: 4px; }
.home-item { display: flex; gap: 10px; align-items: center; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-2); }
.home-item-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.home-item-main b { font-weight: 650; }
.home-item-main .muted { font-size: 13px; overflow: hidden; text-overflow: ellipsis; }
.home .small { font-size: 12px; }
.home-item-actions { display: flex; gap: 6px; align-items: center; flex: none; }
.unit-item .status-badge { min-width: 44px; text-align: center; }
.unit-add { display: grid; grid-template-columns: 1.3fr 1.4fr .7fr 1.2fr auto; gap: 6px; margin-top: 10px; }
.unit-add input, .unit-add select { height: auto; min-height: 34px; padding: 4px 8px; font-size: 13px; }
.home .t-search, .home .t-table input { height: auto; }
.t-search { width: 200px; min-height: 30px; padding: 3px 10px; font: 13px var(--font); text-transform: none; letter-spacing: 0; }
.t-table-wrap { overflow-x: auto; }
.t-table { min-width: 860px; }
.t-table td { vertical-align: top; }
.t-table input, .t-table select, .t-table textarea { min-height: 32px; padding: 4px 8px; font-size: 13px; }
.t-table textarea { resize: vertical; min-width: 180px; }
.t-sessions { white-space: nowrap; font-weight: 700; }
.t-sessions .small { display: block; font-weight: 400; }
@media (max-width: 900px) {
  .home-grid { grid-template-columns: 1fr; }
  .unit-add { grid-template-columns: 1fr 1fr; }
}

/* accounts (owner / admin) */
.acct-fields { grid-template-columns: 1.4fr 1fr .8fr; }
.acct-row .acct-who { flex: 1; min-width: 0; }
.acct-row select { width: auto; min-height: 30px; height: auto; padding: 2px 8px; font-size: 12.5px; }
.acct-x-space { width: 26px; }
.role-pill { font: 700 11px var(--display); letter-spacing: .12em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--line); color: var(--muted); }
.role-pill.owner, .role-badge.owner { border-color: rgba(255, 209, 102, .6); color: #ffd166; }
.role-pill.admin { border-color: rgba(var(--accent-rgb), .5); color: var(--accent-2); }
@media (max-width: 720px) { .acct-fields { grid-template-columns: 1fr; } }

/* Admin / owner: the organization */
#admin-area { display: flex; flex-direction: column; gap: 18px; }
#admin-area[hidden] { display: none; }
.admin-card { border-color: rgba(255, 209, 102, .35); }
.org-stats { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; margin-bottom: 10px; }
.org-stat { display: flex; flex-direction: column; min-width: 110px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-2); }
.org-stat b { font: 700 24px var(--display); color: var(--hud); }
.org-stat span { color: var(--muted); font-size: 12px; }
.org-by { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 6px; }
.org-check { display: flex; flex-direction: column; gap: 6px; max-height: 520px; overflow-y: auto; }
.org-ck-sec { border: 1px solid var(--line); border-radius: 8px; padding: 6px 10px; background: var(--panel-2); }
.org-ck-sec summary { cursor: pointer; font: 700 14px var(--display); letter-spacing: .06em; text-transform: uppercase; }
.org-ck { display: flex; align-items: center; gap: 8px; margin: 4px 0; }
.org-ck.child { margin-left: 24px; }
.org-ck input:not([type]) , .org-ck input[data-ck-label] { flex: 1; min-width: 0; height: 30px; font-size: 13px; }
.org-ck-sec .add-own { display: flex; gap: 6px; margin: 6px 0 2px; }
.org-ck-sec .add-own input { flex: 1; }
.org-words { display: flex; flex-direction: column; gap: 6px; margin-bottom: 8px; }
.org-word { display: flex; align-items: center; gap: 6px; }
.org-word input { flex: 1; min-width: 0; }

.req-box { margin: 10px 0 16px; padding: 12px 14px; border-radius: 12px; border: 1px solid rgba(255, 154, 107, .5); background: rgba(var(--accent-rgb), .07); }
.req-head { font: 700 13px var(--display); letter-spacing: .14em; text-transform: uppercase; color: #ff9a6b; }
.acct-row-item { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 8px 0; border-top: 1px solid rgba(var(--hud2-rgb), .1); }

/* ---------- every section folds (home.js) ---------- */
.fold-card > .hud-label { cursor: pointer; user-select: none; }
.fold-card > .hud-label::after { content: '\25B8'; margin-left: auto; padding-left: 10px; color: var(--hud); font-size: 14px; transition: transform .2s; }
.fold-card:not(.folded) > .hud-label::after { transform: rotate(90deg); }
.fold-card > .hud-label:hover { color: var(--text-hi); }
.fold-card.folded > :not(.hud-label) { display: none !important; }
.fold-card.folded { padding-bottom: 14px; }
.fold-card.folded > .hud-label { margin-bottom: 0; }
.fold-card.folded > .hud-label .btn, .fold-card.folded > .hud-label input, .fold-card.folded > .hud-label .link-btn { display: none; }
.fold-chip { margin-left: 8px; font: 600 12px var(--font); letter-spacing: 0; text-transform: none; color: var(--muted); }
.fold-chip.alert { color: #04121f; background: #ff9a6b; border-radius: 999px; padding: 1px 9px; font-weight: 700; }
.fold-chip:empty { display: none; }
.fold-tools { text-align: right; font-size: 13px; color: var(--muted); margin: -6px 2px 4px; }
.admin-divider { margin: 26px 2px 10px; font: 700 14px var(--display); letter-spacing: .18em; text-transform: uppercase; color: #ff9a6b; border-top: 1px solid rgba(255, 154, 107, .3); padding-top: 14px; }
.admin-divider .muted { letter-spacing: 0; text-transform: none; font: 500 12.5px var(--font); }
