.project-template-picker {
  display: grid;
  gap: 12px;
  min-width: 0;
  max-width: 100%;
  padding: 12px;
  border: 1px solid #cfdae6;
  border-radius: 8px;
  background: #ffffff;
}

.project-template-picker-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  min-width: 0;
  cursor: pointer;
  list-style: none;
}

.project-template-picker-summary::-webkit-details-marker {
  display: none;
}

.project-template-picker-summary strong,
.project-template-picker-summary span,
.project-template-picker-subtitle {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.project-template-picker-summary span,
.project-template-picker-subtitle {
  margin-top: 3px;
  color: #607083;
  font-size: 13px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.project-template-picker-summary b {
  min-height: 30px;
  display: inline-grid;
  place-items: center;
  justify-self: end;
  align-self: start;
  min-width: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.95);
  color: #214ee5;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
  padding: 0 12px;
  text-transform: uppercase;
  white-space: nowrap;
}

.project-template-picker[open] .project-template-picker-summary b {
  font-size: 0;
}

.project-template-picker[open] .project-template-picker-summary b::before {
  content: "Close";
  font-size: 12px;
}

.project-template-picker-summary b,
.project-template-picker[open] .project-template-picker-summary b {
  border: 1px solid rgba(255, 255, 255, 0.26);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.08)),
    linear-gradient(135deg, var(--brand-primary), var(--brand-primary-strong));
  color: #ffffff;
}

.project-template-picker-actions {
  display: flex;
  justify-content: flex-start;
  padding-top: 12px;
  border-top: 1px solid #dce6ef;
}

.project-template-picker-actions button {
  width: max-content;
  max-width: 100%;
  min-height: 34px;
  border: 0;
  border-radius: 8px;
  background: #13283a;
  color: #ffffff;
  font-weight: 900;
  padding: 0 12px;
}

.project-template-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 10px;
  min-width: 0;
}

.project-template-option {
  width: 100%;
  min-width: 0;
  min-height: 112px;
  display: grid;
  align-content: start;
  gap: 6px;
  border: 1px solid #cfdae6;
  border-radius: 8px;
  background: #f7fbff;
  color: #17212f;
  padding: 12px;
  text-align: left;
  overflow-wrap: anywhere;
}

.project-template-option.active,
.project-template-option:hover {
  border-color: #214ee5;
  box-shadow: inset 0 0 0 1px #214ee5;
  background: #f3f7ff;
}

.project-template-option span,
.project-template-option small {
  display: block;
  min-width: 0;
  color: #607083;
  font-size: 12px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.project-template-option span {
  font-weight: 950;
  text-transform: uppercase;
}

.project-template-option strong {
  display: block;
  min-width: 0;
  font-size: 16px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.template-manager {
  display: grid;
  gap: 12px;
  min-width: 0;
  max-width: 100%;
  padding: 12px;
  border: 1px solid #cfdae6;
  border-radius: 8px;
  background: #ffffff;
}

.template-create-panel {
  display: grid;
  gap: 10px;
  min-width: 0;
  max-width: 100%;
  padding: 12px;
  border: 1px solid #cfdae6;
  border-radius: 8px;
  background: #f7fbff;
}

.template-entry-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, auto);
  gap: 12px;
  align-items: center;
  min-width: 0;
  max-width: 100%;
  padding: 12px;
  border: 1px solid #cfdae6;
  border-radius: 8px;
  background: #ffffff;
}

.template-entry-panel > div {
  min-width: 0;
}

.template-entry-panel strong,
.template-entry-panel span {
  display: block;
  overflow-wrap: anywhere;
}

.template-entry-panel span {
  margin-top: 3px;
  color: #607083;
  font-size: 12px;
  font-weight: 850;
}

.template-entry-panel button,
.template-manager .section-title button {
  width: max-content;
  max-width: 100%;
  min-height: 34px;
  border: 0;
  border-radius: 8px;
  background: #214ee5;
  color: #ffffff;
  font-weight: 900;
  padding: 0 12px;
}

.template-list {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.template-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  max-width: 100%;
  padding: 12px;
  border: 1px solid #d3dee9;
  border-radius: 8px;
  background: #f7fbff;
}

.template-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, auto);
  gap: 12px;
  align-items: start;
  min-width: 0;
}

.template-card-head > div:first-child {
  min-width: 0;
}

.template-card-head strong,
.template-card-head span {
  display: block;
  overflow-wrap: anywhere;
}

.template-card-head span {
  margin-top: 3px;
  color: #607083;
  font-size: 12px;
  font-weight: 850;
}

.template-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  align-items: center;
  min-width: 0;
}

.template-actions button {
  flex: 0 0 auto;
  min-width: 0;
  min-height: 34px;
  border: 0;
  border-radius: 8px;
  color: #ffffff;
  font-weight: 900;
  padding: 0 10px;
  white-space: normal;
}

.template-actions .template-use {
  background: #214ee5;
}

.template-actions .danger {
  background: #b42318;
}

.template-edit-drawer {
  min-width: 0;
  max-width: 100%;
  border: 1px solid #cfdae6;
  border-radius: 8px;
  background: #ffffff;
}

.template-edit-drawer summary {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  color: #214ee5;
  font-size: 13px;
  font-weight: 950;
  padding: 0 12px;
  overflow-wrap: anywhere;
}

.template-edit-drawer[open] summary {
  border-bottom: 1px solid #dce6ef;
}

.template-edit-drawer .create-form {
  min-width: 0;
  max-width: 100%;
  padding: 10px;
}

@media (max-width: 680px) {
.template-entry-panel,
.template-card-head,
.project-template-picker-summary {
    grid-template-columns: 1fr;
  }

.template-entry-panel button,
.project-template-picker-actions button,
.template-manager .section-title button {
    width: 100%;
  }

.project-template-picker-actions,
.template-actions {
    justify-content: stretch;
  }

.template-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

.project-template-options {
    grid-template-columns: 1fr;
  }

.project-template-option {
    min-height: auto;
  }
}

.project-template-picker-summary {
  background: linear-gradient(135deg, var(--frost-command), var(--frost-command-2));
  border-color: #284256;
  border-top: 1px solid #284256;
  color: #ffffff;
}

.project-template-picker-summary span,
.project-template-picker-summary strong,
.project-template-picker-summary b {
  color: #ffffff;
}

.template-entry-panel button,
.template-manager .section-title button {
  background: linear-gradient(135deg, var(--brand-primary), var(--brand-primary-strong));
  color: #ffffff;
}

.template-create-panel,
.template-entry-panel {
  border-color: var(--brand-border);
  background: color-mix(in srgb, var(--brand-surface) 94%, var(--brand-panel));
  box-shadow: 0 18px 42px rgba(var(--brand-command-rgb), 0.07);
}

.project-template-picker-summary {
  background:
    linear-gradient(135deg, rgba(var(--brand-primary-rgb), 0.18), transparent 52%),
    linear-gradient(135deg, var(--brand-command), var(--brand-command-2));
  border-color: color-mix(in srgb, var(--brand-primary) 28%, var(--brand-command-2));
  box-shadow: 0 14px 34px rgba(var(--brand-command-rgb), 0.16);
}

/* Create project setup header alignment */
.project-template-picker > .project-template-picker-summary {
  min-height: 64px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--brand-primary) 28%, var(--brand-command-2));
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(var(--brand-primary-rgb), 0.18), transparent 52%),
    linear-gradient(135deg, var(--brand-command), var(--brand-command-2)) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 34px rgba(var(--brand-command-rgb), 0.16);
}

.project-template-picker > .project-template-picker-summary strong,
.project-template-picker > .project-template-picker-summary span {
  color: #ffffff !important;
}

.project-template-picker > .project-template-picker-summary b {
  border-color: rgba(255, 255, 255, 0.32) !important;
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}

/* Final Open / Close standardization */
.project-template-picker > .project-template-picker-summary [data-details-toggle-state],
.project-template-picker > .project-template-picker-summary .details-toggle-state {
  width: auto !important;
  min-width: 64px !important;
  max-width: 100% !important;
  height: 28px !important;
  min-height: 28px !important;
  display: inline-grid !important;
  place-items: center !important;
  justify-self: end !important;
  align-self: center !important;
  margin: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  border-radius: 999px !important;
  background:
    linear-gradient(135deg, var(--brand-primary), var(--brand-primary-strong)) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(var(--brand-primary-rgb), 0.22) !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  padding: 0 10px !important;
  text-align: center !important;
  text-transform: capitalize !important;
  white-space: nowrap !important;
}

.project-template-picker-summary {
  background: var(--brand-command-gradient) !important;
  border-color: var(--brand-command-border) !important;
  border-top-color: var(--brand-command-border) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 34px rgba(var(--brand-command-rgb), 0.15) !important;
}

.project-template-picker-summary span,
.project-template-picker-summary strong,
.project-template-picker-summary b {
  color: #ffffff !important;
}

.template-card-head {
  min-height: 54px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px !important;
  border: 1px solid var(--brand-command-border) !important;
  border-radius: 8px !important;
  background: var(--brand-command-gradient) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 28px rgba(var(--brand-command-rgb), 0.14) !important;
}

.template-card-head span,
.template-card-head strong {
  color: #ffffff !important;
}

.template-entry-panel button,
.template-manager .section-title button {
  color: var(--brand-on-primary) !important;
}

.project-template-picker-summary {
  border: 1px solid var(--brand-command-border) !important;
  background: var(--brand-command-gradient) !important;
  color: var(--brand-on-command) !important;
  box-shadow: 0 14px 34px rgba(var(--brand-command-rgb), 0.15) !important;
}

.project-template-picker-summary * {
  color: inherit !important;
}

.project-template-picker[open] > .project-template-picker-summary {
  border-color: var(--brand-primary) !important;
  background: var(--brand-command-active-gradient) !important;
  color: var(--brand-on-primary) !important;
  box-shadow: 0 16px 34px rgba(var(--brand-primary-rgb), 0.24) !important;
}

/* Theme direction: primary when closed,
dark command when active/open */
.workspace .project-template-picker-summary {
  border-color: var(--brand-primary) !important;
  background: linear-gradient(135deg, var(--brand-primary), var(--brand-primary-strong)) !important;
  color: var(--brand-on-primary) !important;
  box-shadow: 0 14px 30px rgba(var(--brand-primary-rgb), 0.2) !important;
}

.workspace .project-template-picker[open] > .project-template-picker-summary {
  border-color: var(--brand-command-border) !important;
  background: var(--brand-command-gradient) !important;
  color: var(--brand-on-command) !important;
  box-shadow: 0 16px 34px rgba(var(--brand-command-rgb), 0.2) !important;
}

.workspace .project-template-picker-summary * {
  color: inherit !important;
}

.workspace .project-template-picker-summary span:not([data-details-toggle-state]) {
  border-color: rgba(255, 255, 255, 0.28) !important;
  background: rgba(255, 255, 255, 0.16) !important;
  color: inherit !important;
  box-shadow: none !important;
}

.workspace .template-edit-drawer > summary {
  border-color: var(--brand-primary) !important;
  background: linear-gradient(135deg, var(--brand-primary), var(--brand-primary-strong)) !important;
  color: var(--brand-on-primary) !important;
  box-shadow: 0 14px 30px rgba(var(--brand-primary-rgb), 0.2) !important;
}

.workspace .template-edit-drawer[open] > summary {
  border-color: var(--brand-command-border) !important;
  background: var(--brand-command-gradient) !important;
  color: var(--brand-on-command) !important;
  box-shadow: 0 16px 34px rgba(var(--brand-command-rgb), 0.2) !important;
}

.workspace .template-edit-drawer > summary * {
  color: inherit !important;
}

/* Project setup and create-project open panels: keep detail areas on the active header theme. */
.workspace .add-project-page .project-template-picker {
  border-color: var(--brand-border) !important;
  background: var(--brand-surface) !important;
  color: var(--brand-text) !important;
  box-shadow: 0 14px 30px rgba(var(--brand-command-rgb), 0.06) !important;
}

.workspace .add-project-page .project-template-picker[open] {
  border-color: var(--brand-command-border) !important;
  background: var(--brand-command-gradient) !important;
  color: var(--brand-on-command) !important;
  box-shadow: 0 16px 34px rgba(var(--brand-command-rgb), 0.16) !important;
}

.workspace .add-project-page .project-template-picker[open] .project-template-options {
  background: transparent !important;
}

.workspace .add-project-page .project-template-picker[open] .project-template-picker-actions {
  border-top-color: rgba(255, 255, 255, 0.24) !important;
}

.workspace .add-project-page .project-template-picker[open] .project-template-option {
  border-color: rgba(255, 255, 255, 0.28) !important;
  border-left-color: rgba(255, 255, 255, 0.38) !important;
  background: rgba(255, 255, 255, 0.1) !important;
  color: var(--brand-on-command) !important;
  box-shadow: none !important;
}

.workspace .add-project-page .project-template-picker[open] .project-template-option.active,
.workspace .add-project-page .project-template-picker[open] .project-template-option:hover {
  border-color: rgba(255, 255, 255, 0.38) !important;
  border-left-color: var(--brand-primary) !important;
  background: linear-gradient(135deg, var(--brand-primary), var(--brand-primary-strong)) !important;
  color: var(--brand-on-primary) !important;
  box-shadow: 0 10px 24px rgba(var(--brand-primary-rgb), 0.18) !important;
}

.workspace .add-project-page .project-template-picker[open] .project-template-option span,
.workspace .add-project-page .project-template-picker[open] .project-template-option small,
.workspace .add-project-page .project-template-picker[open] .project-template-option strong {
  color: inherit !important;
}

#root .workspace .add-project-page .project-template-picker[open] .project-template-picker-summary span:not([data-details-toggle-state]) {
  width: fit-content !important;
  border-color: transparent !important;
  background: transparent !important;
  background-image: none !important;
  color: inherit !important;
  box-shadow: none !important;
  padding: 0 !important;
}

#root .workspace .add-project-page .project-template-picker-summary .project-template-picker-subtitle {
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
  margin-top: 3px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: inherit !important;
  box-shadow: none !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

#root .workspace .add-project-page .project-template-picker[open] button.project-template-option.project-template-option {
  border-color: var(--brand-command-border) !important;
  border-left: 5px solid var(--brand-primary) !important;
  background: var(--brand-command-gradient) !important;
  background-image: var(--brand-command-gradient) !important;
  color: var(--brand-on-command) !important;
  box-shadow: 0 10px 24px rgba(var(--brand-command-rgb), 0.16) !important;
}

#root .workspace .add-project-page .project-template-picker[open] button.project-template-option.project-template-option.active,
#root .workspace .add-project-page .project-template-picker[open] button.project-template-option.project-template-option:hover {
  border-color: rgba(255, 255, 255, 0.38) !important;
  border-left-color: var(--brand-primary) !important;
  background: linear-gradient(135deg, var(--brand-primary), var(--brand-primary-strong)) !important;
  background-image: linear-gradient(135deg, var(--brand-primary), var(--brand-primary-strong)) !important;
  color: var(--brand-on-primary) !important;
  box-shadow: 0 10px 24px rgba(var(--brand-primary-rgb), 0.18) !important;
}

#root .workspace .add-project-page .project-template-picker[open] button.project-template-option.project-template-option * {
  color: inherit !important;
}

#root .workspace .add-project-page .project-template-picker[open] button.project-template-option.project-template-option:not(.active) {
  background: transparent !important;
  background-image: none !important;
}

#root .workspace .add-project-page .project-template-picker[open] button.project-template-option.project-template-option:not(.active) {
  background: var(--brand-command-gradient) !important;
  background-image: var(--brand-command-gradient) !important;
}
