/* zero2hero admin — Semilleros page-scoped styles (loaded after admin.css) */

/* Tabs: allow wrapping when 8 sections do not fit */
body.adm-body #admin-semilleros .adm-tabs { flex-wrap: wrap; max-width: 100%; }
body.adm-body #admin-semilleros .adm-tabs .adm-pill { margin-left: 0.35rem; font-size: 0.62rem; padding: 0.05rem 0.45rem; }

/* Panes live inside the detail card: drop the legacy bordered box */
body.adm-body #admin-semilleros .manage-pane { border: 0; border-radius: 0; padding: 0; background: transparent; }

/* Row title as a button that looks like a link */
body.adm-body #admin-semilleros .sem-title-btn {
  border: 0; background: transparent; padding: 0; text-align: left;
  font-family: var(--adm-font-head); font-weight: 700; color: var(--adm-text); letter-spacing: -0.01em;
}
body.adm-body #admin-semilleros .sem-title-btn:hover { color: var(--adm-violet-strong); text-decoration: underline; }
body.adm-body #admin-semilleros .sem-row-slug { display: inline-flex; align-items: center; gap: 0.3rem; margin-top: 0.15rem; }
body.adm-body #admin-semilleros .adm-act--icon { padding-inline: 0.45rem; min-width: 2rem; justify-content: center; }
body.adm-body #admin-semilleros tr.is-active > * { background: var(--adm-violet-soft); }
body.adm-body #admin-semilleros tr.is-active > td:first-child { box-shadow: inset 3px 0 0 var(--adm-violet); }

/* Detail card header */
body.adm-body #admin-semilleros .sem-detail__head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 0.75rem 1rem; }
body.adm-body #admin-semilleros .sem-detail__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin-top: 0.3rem; }
body.adm-body #admin-semilleros .sem-detail__actions { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; }
body.adm-body #admin-semilleros .sem-detail__actions .sep { width: 1px; height: 1.4rem; background: var(--adm-border); margin-inline: 0.2rem; }

/* Sticky save bar inside the edit form */
body.adm-body #admin-semilleros .sem-form-footer {
  position: sticky; bottom: 0; z-index: 2;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.6rem;
  margin-top: 1rem; padding: 0.75rem 0 0.25rem; border-top: 1px solid var(--adm-border); background: var(--adm-surface);
}

/* Instructor picker chips */
body.adm-body #admin-semilleros .sem-instr-pick { display: flex; flex-wrap: wrap; gap: 0.45rem; }
body.adm-body #admin-semilleros .sem-instr-pick .form-check { margin: 0; padding: 0; }
body.adm-body #admin-semilleros .sem-instr-pick .form-check-input { position: absolute; opacity: 0; pointer-events: none; }
body.adm-body #admin-semilleros .sem-instr-pick .form-check-label {
  display: inline-flex; align-items: center; gap: 0.45rem; cursor: pointer;
  padding: 0.3rem 0.7rem 0.3rem 0.35rem; border: 1px solid var(--adm-border); border-radius: var(--adm-radius-sm);
  background: var(--adm-surface); font-size: 0.82rem; font-weight: 600; color: var(--adm-text); transition: border-color 0.15s, background 0.15s;
}
body.adm-body #admin-semilleros .sem-instr-pick .form-check-input:checked + .form-check-label { border-color: var(--adm-violet-line); background: var(--adm-violet-soft); color: var(--adm-violet-strong); }
body.adm-body #admin-semilleros .sem-instr-pick .form-check-input:focus-visible + .form-check-label { box-shadow: var(--adm-ring); }
body.adm-body #admin-semilleros .sem-instr-pick .sem-avatar {
  width: 1.5rem; height: 1.5rem; border-radius: 50%; object-fit: cover; background: var(--adm-surface-3);
  display: inline-grid; place-items: center; font-size: 0.65rem; font-weight: 800; color: var(--adm-violet-strong);
}

/* Tag editor: accessible remove button */
body.adm-body #admin-semilleros .tag-editor__chip button { cursor: pointer; font-size: 1rem; line-height: 0.8; opacity: 0.7; }
body.adm-body #admin-semilleros .tag-editor__chip button:hover { opacity: 1; }

/* Curriculum blocks as an accordion */
body.adm-body #admin-semilleros .sem-blocks-toolbar { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; margin-bottom: 0.6rem; }
body.adm-body #admin-semilleros .sem-blocks-toolbar .ms-auto { margin-left: auto; }
body.adm-body #admin-semilleros .sem-block-card { padding: 0; overflow: hidden; }
body.adm-body #admin-semilleros .sem-block-card__head { margin: 0; padding: 0.55rem 0.6rem 0.55rem 0.8rem; cursor: pointer; user-select: none; gap: 0.6rem; }
body.adm-body #admin-semilleros .sem-block-card__head:hover { background: var(--adm-surface-2); }
body.adm-body #admin-semilleros .sem-block-card__title { display: flex; align-items: center; gap: 0.55rem; min-width: 0; flex: 1 1 auto; }
body.adm-body #admin-semilleros .sem-block-card__summary { font-size: 0.85rem; font-weight: 600; color: var(--adm-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.adm-body #admin-semilleros .sem-block-card__summary.is-empty { color: var(--adm-muted); font-weight: 500; font-style: italic; }
body.adm-body #admin-semilleros .sem-block-card__dot { width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--adm-border-strong, #cfc9e0); flex: 0 0 auto; }
body.adm-body #admin-semilleros .sem-block-card__dot.is-filled { background: var(--adm-ok); }
body.adm-body #admin-semilleros .sem-block-card__tools { display: flex; align-items: center; gap: 0.2rem; flex: 0 0 auto; }
body.adm-body #admin-semilleros .sem-block-card__tools .adm-act { padding: 0.2rem 0.45rem; min-width: 1.9rem; justify-content: center; }
body.adm-body #admin-semilleros .sem-block-card__chev { transition: transform 0.15s; color: var(--adm-muted); }
body.adm-body #admin-semilleros .sem-block-card.is-collapsed .sem-block-card__chev { transform: rotate(-90deg); }
body.adm-body #admin-semilleros .sem-block-card__body { padding: 0.2rem 0.8rem 0.8rem; border-top: 1px solid var(--adm-border); }
body.adm-body #admin-semilleros .sem-block-card.is-collapsed .sem-block-card__body { display: none; }

/* Content kind icon */
body.adm-body #admin-semilleros .sem-kind {
  width: 2rem; height: 2rem; border-radius: var(--adm-radius-sm); flex: 0 0 auto;
  display: inline-grid; place-items: center; background: var(--adm-violet-soft); color: var(--adm-violet-strong); font-size: 0.85rem;
}
body.adm-body #admin-semilleros .sem-content-item { display: flex; gap: 0.7rem; align-items: flex-start; }
body.adm-body #admin-semilleros .sem-content-item__body { min-width: 0; flex: 1 1 auto; }
body.adm-body #admin-semilleros .sem-content-item__body .text-muted { overflow-wrap: anywhere; }

/* Highlight a freshly created row */
@keyframes sem-flash { 0% { background: var(--adm-ok-soft); } 100% { background: transparent; } }
body.adm-body #admin-semilleros tr.is-new > * { animation: sem-flash 2.4s ease-out; }

/* Pane header with title + side action */
body.adm-body #admin-semilleros .sem-pane-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 0.5rem 1rem; margin-bottom: 0.8rem; }
body.adm-body #admin-semilleros .sem-pane-head h3 { font-size: 0.95rem; margin: 0; font-family: var(--adm-font-head); }
body.adm-body #admin-semilleros .sem-pane-head .form-text { margin: 0; }

@media (max-width: 575.98px) {
  body.adm-body #admin-semilleros .sem-form-footer { position: static; }
  body.adm-body #admin-semilleros .sem-form-footer .btn { flex: 1 1 auto; }
  body.adm-body #admin-semilleros .sem-detail__actions { width: 100%; }
}

/* Toolbar search: keep room for the magnifier icon (admin.css form-control rule wins on specificity) */
body.adm-body #admin-semilleros .adm-toolbar__search .form-control { padding-left: 2.3rem; }

/* Narrow screens: give the block header room (hide the empty summary placeholder, shrink tools) */
@media (max-width: 575.98px) {
  body.adm-body #admin-semilleros .sem-block-card__summary.is-empty { display: none; }
  body.adm-body #admin-semilleros .sem-block-card__tools .adm-act { min-width: 1.6rem; padding: 0.15rem 0.3rem; }
  body.adm-body #admin-semilleros .sem-block-card__head { padding-inline: 0.5rem; }
}

/* unified.css turns .program-code-list/.program-enroll-list into grids (they were <ul>); here they are <tbody> */
body.adm-body #admin-semilleros tbody.program-code-list,
body.adm-body #admin-semilleros tbody.program-enroll-list { display: table-row-group; gap: 0; }
