.admin-subgroup { display: grid; border-top: 1px solid #e1e7ef; border-bottom: 1px solid #e1e7ef; padding: 6px 0; margin: 3px 0; }
.admin-subgroup > b { padding: 4px 12px; color: #273b55; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.portal-nav nav .admin-subnav .admin-subgroup button { padding-left: 22px !important; font-size: 10px !important; }
.asset-tools { margin-bottom: 14px; }
#assetSearchForm { display: grid; grid-template-columns: minmax(240px, 1fr) auto; gap: 8px; }
#assetSearchForm input, #announcementSearch { min-height: 40px; border: 1px solid #cfd8e4; border-radius: 7px; padding: 8px 10px; }
.builder-studio { grid-template-columns: minmax(360px, .9fr) minmax(460px, 1.15fr) !important; }
.builder-chat { grid-column: 1; }
.builder-review { grid-column: 2; grid-row: 1; }
.builder-tree { grid-column: 1 / -1; grid-row: 2; position: static !important; }
.builder-tree #builderElementTree { min-height: 90px; }
.builder-tree-node { position: relative; }
.builder-tree-node.active::before { content: ""; position: absolute; left: -5px; top: 6px; bottom: 6px; width: 4px; border-radius: 3px; background: #d91515; }
.builder-tree-node.drop-target { outline: 2px solid #d91515; outline-offset: 2px; }
.asset-picker { display: grid; grid-template-columns: minmax(260px, 1fr) auto; align-items: end; gap: 10px; margin: 12px 0; padding: 12px; border: 1px solid #f2b6b6; border-radius: 8px; background: #fff8f8; }
.asset-picker[hidden] { display: none; }
.asset-picker label { display: grid; gap: 5px; }
.asset-picker input { min-height: 40px; border: 1px solid #cfd8e4; border-radius: 7px; padding: 8px 10px; }
.asset-picker > div { display: flex; gap: 8px; }
.asset-picker > small { grid-column: 1 / -1; color: #617086; }
.course-expiry-form, .course-minutes-form { display: grid; grid-template-columns: minmax(105px, 1fr) auto; gap: 6px; min-width: 210px; }
.course-expiry-form input, .course-minutes-form input { min-width: 0; min-height: 36px; border: 1px solid #cfd8e4; border-radius: 6px; padding: 6px; }
.builder-production { grid-column: 1 / -1; grid-row: 3; }
.plan-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: 12px; }
.plan-summary article { display: grid; gap: 4px; padding: 16px; border: 1px solid #dce3ec; border-radius: 9px; background: #fff; }
.plan-summary article small { color: #6d7c90; font-size: 10px; letter-spacing: .08em; }
.plan-summary article b { color: #102744; font: 700 23px Georgia, serif; }
.plan-summary article span { color: #617086; font-size: 11px; }
.plan-actions { display: flex; gap: 10px; margin-top: 14px; }
.announcement-cards { display: grid; gap: 9px; margin-top: 16px; }
.announcement-cards details { border: 1px solid #dde4ec; border-radius: 8px; background: #fff; }
.announcement-cards summary { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 14px; color: #132944; }
.announcement-cards time { color: #728094; font-size: 11px; }
.announcement-cards p { margin: 0; padding: 0 14px 16px; white-space: pre-wrap; line-height: 1.5; }
.platform-admin .section-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.platform-admin .section-head > div:last-child { display: flex; flex-direction: column; align-items: flex-end; }
.delete-workspace-link { min-height: auto; padding: 6px 0; }
.danger-zone { border: 2px solid #d91515; }
.danger-zone > p { max-width: 780px; color: #6b2730; }
.platform-admin .admin-table .danger-button, .platform-admin .admin-table .text-button { display: block; width: 100%; margin-bottom: 6px; }

@media (max-width: 1100px) {
  .builder-studio { grid-template-columns: 1fr !important; }
  .builder-chat, .builder-review, .builder-tree, .builder-production { grid-column: 1; grid-row: auto; }
}
@media (max-width: 800px) {
  .platform-admin .section-head { align-items: stretch; flex-direction: column; }
  .platform-admin .section-head > div:last-child { align-items: stretch; }
  .platform-nav nav { overflow-x: auto; }
  .platform-nav nav button { min-width: 92px; }
  #assetSearchForm { grid-template-columns: 1fr; width: 100%; }
}
