/* ============================================================
   Craftr app pages: bridge between the React screens and the
   legacy tool-page design system (css/tools.css).

   The React pages keep their own class names (.studio, .panel,
   .button …), which used to be styled by resources/css/app.css.
   Everything below re-skins those exact classes with the tokens,
   radii and type scale used by the live tool pages, so no page
   markup has to be rewritten to match the look.
   ============================================================ */

/* ---------- Shell column (legacy .shell) ---------- */
.craftr-tools {
  --card-shadow: 0 18px 46px rgba(13, 13, 13, 0.06);
  --card-shadow-hover: 0 26px 70px rgba(13, 13, 13, 0.11);
}

.craftr-tools .shell {
  width: min(1440px, 100%);
  margin: auto;
  padding: 0 28px 28px;
}

/*
 * Intro band. Mirrors the live analyze-tool.html intro: a two-column grid with
 * an oversized uppercase headline on the left and the explanatory copy on the
 * right, plus the soft lime blur the tool pages place behind the heading.
 */
.craftr-tools .page-intro {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: 56px;
  align-items: end;
  padding: 54px 0 38px;
  margin-bottom: 26px;
}

.craftr-tools .page-intro .bg-blur {
  top: -10px;
  left: 32%;
  width: 320px;
  height: 320px;
  opacity: 0.85;
}

.craftr-tools .page-intro-main {
  min-width: 0;
}

.craftr-tools .page-intro h1 {
  margin: 8px 0 0;
  max-width: 900px;
  color: var(--black);
  font-size: clamp(40px, 5.1vw, 72px);
  font-weight: 700;
  line-height: 1.04;
  letter-spacing: -0.015em;
  text-transform: uppercase;
  text-wrap: balance;
}

.craftr-tools .page-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
  padding: 7px 14px;
  border-radius: 999px;
  background: var(--theme);
  color: var(--black);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.craftr-tools .page-badge::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--black);
}

.craftr-tools .page-intro-side {
  display: grid;
  gap: 18px;
  padding-bottom: 6px;
}

.craftr-tools .page-intro-text {
  max-width: 540px;
  margin: 0;
  color: var(--text);
  font-size: 17px;
  line-height: 1.65;
}

.craftr-tools .page-intro-text p {
  margin: 0;
  color: var(--text);
}

.craftr-tools .page-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

/* Word-by-word reveal target (React owns the spans). */
.craftr-tools .split-word {
  display: inline-block;
  will-change: transform;
}

/* Legacy .save-status chip (lives in the tool page inline styles, not tools.css). */
.craftr-tools .save-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 6px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--white);
  color: var(--text);
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
}

.craftr-tools .save-status::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--theme);
  box-shadow: 0 0 0 3px rgba(205, 254, 125, 0.35);
}

/* ---------- Page containers ---------- */
.craftr-tools .studio {
  max-width: none;
  margin: 0;
  padding: 0;
}

.craftr-tools .account-page {
  width: 100%;
  max-width: 620px;
  margin: 56px auto 40px;
  padding: 0;
}

.craftr-tools .dashboard-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  margin: 0 0 20px;
  color: var(--text);
  font-size: 13px;
}

/* Back-link stays left; the related links cluster on the right edge. */
.craftr-tools .dashboard-top > a:first-child {
  margin-right: auto;
}

.craftr-tools .dashboard-top > a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 13px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--white);
  color: var(--text);
  font-weight: 500;
  line-height: 1.4;
  transition: all 0.25s ease;
}

.craftr-tools .dashboard-top > a:hover {
  border-color: var(--theme);
  background: var(--theme-soft);
  color: var(--black);
}

.craftr-tools .dashboard-top > .quiet-button {
  margin-left: auto;
}

/* ---------- Panels / cards ---------- */
.craftr-tools .panel {
  max-width: none;
  margin: 0 0 24px;
  padding: 30px 32px;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: var(--white);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.craftr-tools .panel:hover {
  border-color: #d7dbe1;
  box-shadow: var(--card-shadow);
}

.craftr-tools .panel:last-child {
  margin-bottom: 0;
}

/* Title row: heading on the left, controls or a status pill on the right. */
.craftr-tools .panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
}

.craftr-tools .panel-head-text {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.craftr-tools .panel-head h2,
.craftr-tools .panel > h2 {
  margin: 0;
  color: var(--black);
  font-size: 25px;
  font-weight: 700;
  line-height: 1.3;
  text-transform: none;
}

.craftr-tools .panel-badge {
  justify-self: start;
  padding: 5px 12px;
  border-radius: 999px;
  background: var(--theme);
  color: var(--black);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.craftr-tools .panel-note {
  max-width: 660px;
  margin: 0;
  color: var(--text);
  font-size: 15px;
  line-height: 1.6;
}

.craftr-tools .panel-head-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.craftr-tools .panel > h3 {
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 700;
  line-height: 28px;
  text-transform: uppercase;
}

.craftr-tools .panel > h2 + p,
.craftr-tools .panel > p:first-of-type {
  color: var(--text);
}

.craftr-tools .account-page .panel {
  padding: 34px 32px;
  border-color: var(--line);
  background: var(--white);
  box-shadow: 0 18px 60px rgba(17, 17, 19, 0.06);
}

/* ---------- Layout grids ---------- */
.craftr-tools .dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 28px;
  align-items: start;
}

.craftr-tools .dashboard-grid:has(> .panel) {
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
}

.craftr-tools .dashboard-grid > .panel {
  margin: 0;
}

.craftr-tools .documents-layout {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  margin-top: 26px;
}

.craftr-tools .learning-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

/* ---------- Buttons ---------- */
.craftr-tools .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 0;
  padding: 15px 26px;
  border: 1px solid var(--theme);
  border-radius: 15px;
  background: var(--theme);
  color: var(--black);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  transition: all 0.3s ease;
}

.craftr-tools .button:hover:not(:disabled) {
  border-color: rgba(0, 0, 0, 0.2);
  background: transparent;
}

.craftr-tools .button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.craftr-tools .quiet-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 18px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 12px;
  background: transparent;
  color: var(--black);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
  transition: all 0.3s ease;
}

.craftr-tools .quiet-button:hover:not(:disabled) {
  border-color: var(--theme);
  background: var(--theme);
}

.craftr-tools .quiet-button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* ---------- Typography helpers ---------- */
.craftr-tools .eyebrow {
  color: var(--text);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.craftr-tools .muted {
  color: var(--text);
}

/* ---------- Fields ---------- */
.craftr-tools label {
  display: grid;
  gap: 7px;
  margin: 0 0 16px;
  color: var(--dark);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
}

.craftr-tools input,
.craftr-tools textarea,
.craftr-tools select {
  width: 100%;
  margin-top: 0;
  padding: 11px 13px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--white);
  color: var(--black);
  font: inherit;
  font-size: 16px;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.craftr-tools textarea {
  min-height: 96px;
  resize: vertical;
}

.craftr-tools input:focus,
.craftr-tools textarea:focus,
.craftr-tools select:focus {
  border-color: var(--dark);
  box-shadow: 0 0 0 4px rgba(205, 254, 125, 0.55);
}

.craftr-tools input[type='checkbox'],
.craftr-tools input[type='radio'] {
  width: auto;
  margin: 0;
}

.craftr-tools input[type='file'] {
  padding: 9px 10px;
  font-size: 13px;
}

.craftr-tools small {
  color: var(--danger);
  font-size: 12px;
}

/* ---------- Notices ---------- */
.craftr-tools .notice {
  position: relative;
  margin: 0 0 22px;
  padding: 14px 20px 14px 24px;
  border: 1px solid #dcf0b8;
  border-radius: 16px;
  background: var(--theme-soft);
  color: var(--dark);
  font-size: 15px;
}

.craftr-tools .notice::before {
  content: '';
  position: absolute;
  top: 12px;
  bottom: 12px;
  left: 9px;
  width: 3px;
  border-radius: 999px;
  background: var(--theme);
}

.craftr-tools .panel > .notice {
  margin: 0 0 18px;
}

/* ---------- Documents ---------- */
.craftr-tools .document-list {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.craftr-tools .doc-selector {
  width: 100%;
  padding: 13px 15px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--white);
  color: var(--black);
  text-align: left;
  transition: all 0.25s ease;
}

.craftr-tools .doc-selector:hover {
  border-color: var(--gray-3);
}

.craftr-tools .doc-selector.selected {
  border-color: var(--dark-3);
  background: var(--theme-soft);
  box-shadow: 0 0 0 2px var(--theme);
}

.craftr-tools .doc-selector span {
  color: var(--text);
  font-size: 12px;
}

.craftr-tools .entry-editor {
  margin: 15px 0;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--white);
}

.craftr-tools .document-group {
  margin-top: 25px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.craftr-tools .document-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
}

.craftr-tools .document-import-panel {
  max-width: none !important;
  margin-top: 26px;
}

.craftr-tools .import-warnings {
  margin-top: 15px;
  padding: 14px 18px;
  border: 1px solid #e9c471;
  border-radius: 14px;
  background: #fff5de;
}

.craftr-tools .document-template-tools {
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}

.craftr-tools .document-preview {
  width: 100%;
  height: 520px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--white);
}

/* ---------- Learning ---------- */
.craftr-tools .learning-list {
  display: grid;
  gap: 12px;
}

.craftr-tools .learning-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 22px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--white);
}

.craftr-tools .learning-item h3 {
  margin: 6px 0;
  font-size: 18px;
  font-weight: 700;
}

.craftr-tools .learning-item p {
  margin: 0;
  color: var(--text);
}

/* ---------- Jobs / applications ---------- */
.craftr-tools .job-grid {
  display: grid;
  gap: 14px;
}

.craftr-tools .job-item {
  padding: 22px 24px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--white);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.craftr-tools .job-item:hover {
  border-color: #d5dae0;
  box-shadow: 0 14px 40px rgba(13, 13, 13, 0.06);
}

.craftr-tools .job-item strong {
  display: block;
  margin-bottom: 4px;
  font-size: 17px;
}

.craftr-tools .job-item p {
  margin: 2px 0;
  color: var(--text);
  font-size: 14px;
}

.craftr-tools .fieldgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

/* ---------- Footer correction ---------- */
/* resources/css/app.css styles every <footer> as a dark centered block. */
.craftr-tools .tool-footer {
  margin-top: 120px;
  padding: 75px 0 30px;
  background: var(--gray);
  color: inherit;
  text-align: left;
}

.craftr-tools pre,
.craftr-tools code {
  white-space: pre-wrap;
  word-break: break-word;
}

/* ============================================================
   Enhanced layout layer
   Shared building blocks used by the workspace pages. The look
   follows the live tool pages: lime pills, hairline cards, dark
   inset surfaces and oversized numeric stats.
   ============================================================ */

/* ---------- Stat tiles ---------- */
.craftr-tools .stat-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 14px;
  margin: 0 0 24px;
}

.craftr-tools .stat {
  display: grid;
  gap: 3px;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--gray);
}

.craftr-tools .stat-value {
  color: var(--black);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

/* Word values (track names, target roles) need the smaller optical size. */
.craftr-tools .stat-value--text {
  font-size: 19px;
  line-height: 1.35;
  letter-spacing: -0.01em;
  overflow-wrap: anywhere;
}

.craftr-tools .stat-label {
  color: var(--text);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.craftr-tools .stat-hint {
  color: var(--text);
  font-size: 13px;
}

/* ---------- Chips ---------- */
.craftr-tools .chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--white);
  color: var(--dark);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
}

.craftr-tools .chip--lime {
  border-color: #d8f5a6;
  background: var(--theme-soft);
  color: #3f4a20;
}

.craftr-tools .chip--dark {
  border-color: var(--dark-3);
  background: var(--dark-3);
  color: var(--theme);
}

.craftr-tools .chip--muted {
  background: var(--gray);
  color: var(--text);
}

.craftr-tools .chip--warn {
  border-color: #e9c471;
  background: #fff5de;
  color: #7a5510;
}

.craftr-tools .chip--danger {
  border-color: #f3c0b8;
  background: #fdecea;
  color: var(--danger);
}

.craftr-tools .chip--ok {
  border-color: #d8f5a6;
  background: var(--theme-soft);
  color: #45611a;
}

/* ---------- Meter ---------- */
.craftr-tools .meter {
  display: grid;
  gap: 9px;
}

.craftr-tools .meter-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  color: var(--text);
  font-size: 13px;
  font-weight: 600;
}

.craftr-tools .meter-head strong {
  color: var(--black);
  font-size: 20px;
  font-weight: 700;
}

.craftr-tools .meter-track {
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--gray);
}

.craftr-tools .meter-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--theme), #9fe83f);
  transition: width 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.craftr-tools .meter-hint {
  margin: 0;
  color: var(--text);
  font-size: 13px;
  line-height: 1.5;
}

/* ---------- Link tiles ---------- */
.craftr-tools .tool-tiles {
  display: grid;
  gap: 10px;
}

.craftr-tools .tool-tile {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--white);
  text-decoration: none;
  transition: all 0.3s ease;
}

.craftr-tools .tool-tile:hover {
  border-color: var(--theme);
  background: var(--theme-soft);
  transform: translateX(3px);
}

.craftr-tools .tool-tile-icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: var(--dark-3);
  color: var(--theme);
  font-size: 16px;
}

.craftr-tools .tool-tile-text {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.craftr-tools .tool-tile-text strong {
  color: var(--black);
  font-size: 15px;
  font-weight: 700;
}

.craftr-tools .tool-tile-text span {
  color: var(--text);
  font-size: 13px;
  line-height: 1.45;
}

.craftr-tools .tool-tile-meta {
  margin-left: auto;
  color: var(--text);
  font-size: 12px;
  white-space: nowrap;
}

.craftr-tools .tool-tile-arrow {
  color: var(--text);
  font-size: 13px;
}

.craftr-tools .tool-tile:hover .tool-tile-arrow {
  color: var(--dark);
}

/* ---------- Empty state ---------- */
.craftr-tools .empty-state {
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 44px 24px;
  border: 1px dashed var(--gray-3);
  border-radius: 22px;
  background: linear-gradient(180deg, #fbfcfd, var(--white));
  text-align: center;
}

.craftr-tools .empty-state-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin-bottom: 4px;
  border-radius: 50%;
  background: var(--theme-soft);
  color: var(--dark-3);
  font-size: 18px;
}

.craftr-tools .empty-state strong {
  color: var(--black);
  font-size: 16px;
}

.craftr-tools .empty-state p {
  max-width: 420px;
  margin: 0;
  color: var(--text);
  font-size: 14px;
}

/* ---------- Field grids ---------- */
.craftr-tools .field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px 18px;
}

.craftr-tools .field-grid > .full {
  grid-column: 1 / -1;
}

.craftr-tools .field-grid > label {
  margin-bottom: 14px;
}

/* Three-up variant (catalogue filters, compact selectors). */
.craftr-tools .field-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* ---------- Cards (jobs, courses, applications) ---------- */
.craftr-tools .card-top {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.craftr-tools .card-mark {
  display: grid;
  place-items: center;
  flex: none;
  width: 46px;
  height: 46px;
  border-radius: 15px;
  background: var(--gray);
  color: var(--dark);
  font-size: 18px;
  font-weight: 700;
}

.craftr-tools .card-mark--lime {
  background: var(--theme);
  color: var(--black);
}

.craftr-tools .card-title {
  margin: 0 0 4px;
  color: var(--black);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
}

.craftr-tools .card-sub {
  margin: 0;
  color: var(--text);
  font-size: 14px;
}

.craftr-tools .card-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 12px 0 0;
}

.craftr-tools .card-body {
  display: -webkit-box;
  margin: 12px 0 0;
  overflow: hidden;
  color: var(--text);
  font-size: 14px;
  line-height: 1.6;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.craftr-tools .card-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin-top: 16px;
}

.craftr-tools .card-actions .button,
.craftr-tools .card-actions .quiet-button {
  margin: 0;
}

.craftr-tools .learning-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.craftr-tools .learning-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--white);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.craftr-tools .learning-card:hover {
  border-color: #d5dae0;
  box-shadow: 0 14px 40px rgba(13, 13, 13, 0.06);
}

.craftr-tools .learning-card .card-title {
  margin: 8px 0 6px;
}

.craftr-tools .learning-card .card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 16px;
}

.craftr-tools .score-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--dark-3);
  color: var(--theme);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* ---------- Search bar ---------- */
.craftr-tools .search-bar {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
}

.craftr-tools .search-bar > label {
  margin-bottom: 0;
}

.craftr-tools .search-bar .button {
  margin: 0;
  height: 46px;
  padding: 0 24px;
}

/* ---------- Pagination ---------- */
.craftr-tools .pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 22px;
  color: var(--text);
  font-size: 13px;
}

/* ---------- Preview frame ---------- */
.craftr-tools .preview-frame {
  overflow: hidden;
  border: 6px solid var(--dark-3);
  border-radius: 20px;
  background: var(--white);
}

.craftr-tools .preview-chrome {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 9px 14px;
  background: #17171a;
  color: #c9c9cd;
  font-size: 12px;
}

.craftr-tools .preview-chrome i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #4a4a50;
}

.craftr-tools .preview-chrome i:nth-child(1) {
  background: #ff5f57;
}

.craftr-tools .preview-chrome i:nth-child(2) {
  background: #febc2e;
}

.craftr-tools .preview-chrome i:nth-child(3) {
  background: #28c840;
}

.craftr-tools .preview-chrome span {
  margin-left: 8px;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.craftr-tools .preview-frame .document-preview {
  display: block;
  height: 560px;
  border: 0;
  border-radius: 0;
}

/* ---------- Checklist ---------- */
.craftr-tools .checklist {
  display: grid;
  gap: 10px;
}

.craftr-tools .check-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--white);
}

.craftr-tools .check-row.is-ok {
  border-color: #dcf5b3;
  background: #fbfff4;
}

.craftr-tools .check-icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 24px;
  height: 24px;
  margin-top: 1px;
  border-radius: 50%;
  background: var(--gray);
  color: var(--text);
  font-size: 11px;
}

.craftr-tools .check-row.is-ok .check-icon {
  background: var(--theme);
  color: var(--black);
}

.craftr-tools .check-row strong {
  display: block;
  color: var(--black);
  font-size: 15px;
}

.craftr-tools .check-row span {
  color: var(--text);
  font-size: 13px;
  line-height: 1.5;
}

/* ---------- Auth pages ---------- */
.craftr-tools .auth-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.82fr);
  gap: 26px;
  align-items: stretch;
  max-width: 1040px;
  margin: 4px auto 20px;
}

.craftr-tools .auth-card {
  padding: 38px 34px;
  border: 1px solid var(--line);
  border-radius: 30px;
  background: var(--white);
  box-shadow: var(--card-shadow);
}

.craftr-tools .auth-card h2 {
  margin: 0 0 6px;
  font-size: 24px;
}

.craftr-tools .auth-note {
  margin: 0 0 24px;
  color: var(--text);
  font-size: 14px;
}

.craftr-tools .auth-aside {
  display: grid;
  align-content: center;
  gap: 16px;
  padding: 32px;
  border-radius: 30px;
  background: var(--dark-3);
  color: var(--white);
}

.craftr-tools .auth-aside h3 {
  margin: 0;
  color: var(--theme);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.craftr-tools .auth-list {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.craftr-tools .auth-list li {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  color: #d9dadf;
  font-size: 14px;
  line-height: 1.55;
}

.craftr-tools .auth-list i {
  flex: none;
  margin-top: 3px;
  color: var(--theme);
  font-size: 13px;
}

.craftr-tools .auth-switch {
  margin: 20px 0 0;
  color: var(--text);
  font-size: 14px;
}

.craftr-tools .auth-switch a {
  color: var(--black);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---------- Assistant task tiles ---------- */
.craftr-tools .task-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 20px;
}

.craftr-tools .task-tile {
  display: grid;
  gap: 7px;
  justify-items: start;
  padding: 15px 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--white);
  color: var(--dark);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  text-align: left;
  transition: all 0.25s ease;
}

.craftr-tools .task-tile i {
  color: var(--text);
  font-size: 15px;
}

.craftr-tools .task-tile:hover {
  border-color: var(--theme);
  background: var(--theme-soft);
}

.craftr-tools .task-tile.is-active {
  border-color: var(--dark-3);
  background: var(--dark-3);
  color: var(--white);
}

.craftr-tools .task-tile.is-active i {
  color: var(--theme);
}

.craftr-tools .consent {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin: 14px 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--gray);
  color: var(--text);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.55;
}

.craftr-tools .consent input {
  flex: none;
  margin-top: 3px;
}

/* ---------- Output blocks ---------- */
.craftr-tools .output-panel {
  border-color: var(--dark-3);
  background: var(--dark-3);
  color: var(--white);
}

.craftr-tools .output-panel .panel-head h2 {
  color: var(--white);
}

.craftr-tools .output-panel .panel-note {
  color: #b5b6b9;
}

.craftr-tools .output-panel label {
  color: #d3d4d8;
}

.craftr-tools .output-panel textarea {
  border-color: #2c2c31;
  background: #1b1b1f;
  color: #f1f2f4;
  font-weight: 400;
}

.craftr-tools .output-panel .quiet-button {
  border-color: #3a3a41;
  color: var(--white);
}

.craftr-tools .output-panel .quiet-button:hover {
  border-color: var(--theme);
  background: var(--theme);
  color: var(--black);
}

/* ---------- Layout helpers ---------- */
.craftr-tools .split-2 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.craftr-tools .split-2 > .panel {
  margin-bottom: 0;
}

.craftr-tools .stack {
  display: grid;
  gap: 24px;
}

.craftr-tools .section-title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 26px 0 14px;
  color: var(--black);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.craftr-tools .section-title::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--line);
}

.craftr-tools .meta-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  color: var(--text);
}

.craftr-tools .meta-row:last-child {
  border-bottom: 0;
}

.craftr-tools .meta-row strong {
  color: var(--black);
  font-weight: 600;
  text-align: right;
}

/* ---------- Documents rail ---------- */
.craftr-tools .documents-layout > aside {
  position: sticky;
  top: calc(var(--header-h) + 18px);
}

.craftr-tools .doc-selector {
  display: grid;
  gap: 3px;
}

.craftr-tools .doc-selector strong {
  font-size: 14px;
  font-weight: 700;
}

.craftr-tools .doc-selector span {
  text-transform: capitalize;
}

.craftr-tools .document-group > h2 {
  margin: 0 0 14px;
  font-size: 17px;
  font-weight: 700;
  text-transform: none;
}

.craftr-tools .entry-editor {
  border-radius: 20px;
  background: var(--gray);
  border-color: transparent;
}

.craftr-tools .entry-editor .field-grid {
  gap: 0 16px;
}

.craftr-tools .entry-actions .quiet-button {
  padding: 8px 12px;
  font-size: 12px;
}

/* ---------- Responsive ---------- */

/*
 * Between 992px and ~1360px the live tool pages push `.tool-header-actions`
 * past the viewport: the six-item nav is ~887px wide and cannot shrink, so the
 * account button ends up behind a horizontal scrollbar. Lifting the nav onto
 * its own row (the layout the live site already uses below 991px) keeps every
 * link readable and the account button reachable, while the header stays
 * sticky. Sidebar behaviour at 1440px and below 991px is unchanged.
 */
@media (max-width: 1279px) and (min-width: 992px) {
  .craftr-tools .tool-header {
    height: auto;
    padding: 12px 0 10px;
  }

  .craftr-tools .tool-header-inner {
    flex-wrap: wrap;
    gap: 10px 18px;
  }

  .craftr-tools .tool-logo,
  .craftr-tools .tool-header-actions {
    flex-shrink: 0;
  }

  .craftr-tools .tool-header-actions {
    margin-left: auto;
  }

  .craftr-tools .tool-nav {
    order: 3;
    width: 100%;
    margin: 0;
    justify-content: flex-start;
    gap: 22px;
    padding-bottom: 2px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .craftr-tools .tool-nav::-webkit-scrollbar {
    display: none;
  }
}

@media (max-width: 1199px) {
  .craftr-tools .page-intro {
    gap: 38px;
  }

  .craftr-tools .page-intro h1 {
    font-size: clamp(38px, 5vw, 60px);
  }

  .craftr-tools .documents-layout {
    grid-template-columns: 260px minmax(0, 1fr);
  }
}

@media (max-width: 991px) {
  .craftr-tools .page-intro {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 18px;
    padding: 34px 0 26px;
  }

  .craftr-tools .page-intro h1 {
    font-size: clamp(34px, 6.4vw, 48px);
  }

  .craftr-tools .page-intro-text {
    max-width: none;
    font-size: 16px;
  }

  .craftr-tools .page-intro-side {
    padding-bottom: 0;
  }

  .craftr-tools .dashboard-grid:has(> .panel),
  .craftr-tools .split-2,
  .craftr-tools .auth-layout {
    grid-template-columns: 1fr;
  }

  .craftr-tools .learning-grid {
    grid-template-columns: 1fr;
  }

  .craftr-tools .field-grid--three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .craftr-tools .task-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .craftr-tools .search-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .craftr-tools .search-bar .search-submit {
    grid-column: 1 / -1;
  }

  .craftr-tools .search-bar .button {
    width: 100%;
  }

  .craftr-tools .documents-layout > aside {
    position: static;
  }
}

@media (max-width: 800px) {
  .craftr-tools .documents-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 750px) {
  .craftr-tools .shell {
    padding: 0 16px 20px;
  }

  .craftr-tools .panel {
    padding: 22px 18px;
    border-radius: 22px;
  }

  .craftr-tools .panel-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .craftr-tools .account-page .panel,
  .craftr-tools .auth-card {
    padding: 24px 20px;
  }

  .craftr-tools .dashboard-grid,
  .craftr-tools .fieldgrid,
  .craftr-tools .field-grid,
  .craftr-tools .learning-filters,
  .craftr-tools .task-grid,
  .craftr-tools .search-bar {
    grid-template-columns: 1fr;
  }

  .craftr-tools .learning-item {
    flex-direction: column;
    align-items: flex-start;
  }

  .craftr-tools .dashboard-top > .quiet-button {
    margin-left: 0;
  }

  .craftr-tools .dashboard-top > a:first-child {
    margin-right: 0;
  }

  .craftr-tools .stat-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .craftr-tools .stat {
    padding: 15px 16px;
  }

  .craftr-tools .stat-value {
    font-size: 25px;
  }

  .craftr-tools .stat-value--text {
    font-size: 17px;
  }

  .craftr-tools .page-badge {
    margin-top: 14px;
  }

  .craftr-tools .preview-frame .document-preview {
    height: 460px;
  }
}

@media (max-width: 560px) {
  .craftr-tools .save-status {
    display: none;
  }

  /* Card headers: keep the avatar beside the title, drop the status chip
     onto its own line so long job titles are not squeezed into 3 lines. */
  .craftr-tools .card-top {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    grid-template-areas:
      'mark text'
      'mark aside';
    column-gap: 14px;
    row-gap: 10px;
  }

  .craftr-tools .card-top > .card-mark {
    grid-area: mark;
  }

  .craftr-tools .card-top > div {
    grid-area: text;
    min-width: 0;
  }

  .craftr-tools .card-top > .chip,
  .craftr-tools .card-top > .quiet-button {
    grid-area: aside;
    justify-self: start;
  }

  .craftr-tools .page-intro h1 {
    font-size: 32px;
  }

  .craftr-tools .panel-head h2,
  .craftr-tools .panel > h2 {
    font-size: 21px;
  }

  .craftr-tools .auth-aside {
    padding: 24px 20px;
  }

  .craftr-tools .pager {
    gap: 10px;
  }
}

/* ---------- Career Assistant guided flow ---------- */
.craftr-tools .assistant-start-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  margin-bottom: 20px;
  padding: 28px;
  border: 1px solid var(--dark-3);
  border-radius: 26px;
  background: var(--dark-3);
  color: var(--white);
}

.craftr-tools .assistant-start-kicker {
  display: inline-flex;
  margin-bottom: 10px;
  color: var(--theme);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.craftr-tools .assistant-start-card h2 {
  margin: 0 0 8px;
  color: var(--white);
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1.12;
}

.craftr-tools .assistant-start-card p {
  max-width: 760px;
  margin: 0;
  color: #bfc1c7;
  font-size: 14px;
  line-height: 1.7;
}

.craftr-tools .assistant-credit-card {
  min-width: 145px;
  padding: 18px;
  border: 1px solid #34343b;
  border-radius: 20px;
  background: #1b1b1f;
  text-align: center;
}

.craftr-tools .assistant-credit-card strong {
  display: block;
  color: var(--theme);
  font-size: 34px;
  line-height: 1;
}

.craftr-tools .assistant-credit-card span {
  display: block;
  margin-top: 7px;
  color: #c7c8cc;
  font-size: 11px;
  font-weight: 700;
}

.craftr-tools .assistant-task-grid {
  margin-bottom: 0;
}

.craftr-tools .assistant-task-tile {
  position: relative;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  justify-items: stretch;
  min-height: 94px;
  padding: 16px;
}

.craftr-tools .assistant-task-icon {
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 13px;
  background: var(--gray);
}

.craftr-tools .assistant-task-tile.is-active .assistant-task-icon {
  background: rgba(212, 255, 63, .12);
}

.craftr-tools .assistant-task-copy {
  display: grid;
  gap: 4px;
}

.craftr-tools .assistant-task-copy strong {
  font-size: 14px;
}

.craftr-tools .assistant-task-copy small {
  color: var(--text);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.45;
}

.craftr-tools .assistant-task-tile.is-active .assistant-task-copy small {
  color: #bfc1c7;
}

.craftr-tools .assistant-task-arrow {
  color: #a5a6aa;
  font-size: 12px !important;
}

.craftr-tools .assistant-task-tile.is-active .assistant-task-arrow {
  color: var(--theme);
}

.craftr-tools .assistant-compose-panel {
  border-color: #dfe2e5;
}

.craftr-tools .assistant-input-label textarea {
  min-height: 230px;
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.65;
}

.craftr-tools .assistant-prompt-help {
  display: grid;
  gap: 12px;
  margin-top: 16px;
  padding: 16px;
  border: 1px dashed #cfd3d7;
  border-radius: 18px;
  background: #fafafa;
}

.craftr-tools .assistant-prompt-help > div:first-child {
  display: grid;
  gap: 2px;
}

.craftr-tools .assistant-prompt-help strong {
  color: var(--dark);
  font-size: 13px;
}

.craftr-tools .assistant-prompt-help span {
  color: var(--text);
  font-size: 12px;
}

.craftr-tools .assistant-prompt-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.craftr-tools .assistant-prompt-chips button {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--white);
  color: var(--dark);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
  transition: all .2s ease;
}

.craftr-tools .assistant-prompt-chips button:hover {
  border-color: var(--theme);
  background: var(--theme-soft);
}

.craftr-tools .assistant-prompt-chips i {
  color: #6d7c00;
  font-size: 10px;
}

.craftr-tools .assistant-consent span {
  display: grid;
  gap: 2px;
}

.craftr-tools .assistant-consent strong {
  color: var(--dark);
  font-size: 12px;
}

.craftr-tools .assistant-generate-row {
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 16px;
}

.craftr-tools .assistant-generate {
  min-width: 210px;
}

.craftr-tools .assistant-generate i {
  margin-right: 7px;
}

.craftr-tools .assistant-credit-note {
  color: var(--text);
  font-size: 12px;
  font-weight: 600;
}

.craftr-tools .assistant-result textarea {
  width: 100%;
}

.craftr-tools .assistant-result-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 14px;
}

@media (max-width: 750px) {
  .craftr-tools .assistant-start-card {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px 18px;
  }

  .craftr-tools .assistant-credit-card {
    min-width: 0;
    text-align: left;
  }

  .craftr-tools .assistant-credit-card strong,
  .craftr-tools .assistant-credit-card span {
    display: inline;
  }

  .craftr-tools .assistant-credit-card span {
    margin-left: 8px;
  }

  .craftr-tools .assistant-task-tile {
    min-height: 0;
  }

  .craftr-tools .assistant-prompt-chips {
    display: grid;
  }

  .craftr-tools .assistant-prompt-chips button,
  .craftr-tools .assistant-generate {
    width: 100%;
  }

  .craftr-tools .assistant-generate-row {
    align-items: stretch;
  }

  .craftr-tools .assistant-result-actions {
    flex-direction: column-reverse;
  }

  .craftr-tools .assistant-result-actions .button,
  .craftr-tools .assistant-result-actions .quiet-button {
    width: 100%;
  }
}

/* Career Assistant — task-specific context fields */
.craftr-tools .assistant-context-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.craftr-tools .assistant-context-field {
  display: grid;
  gap: 8px;
}

.craftr-tools .assistant-field-full {
  grid-column: 1 / -1;
}

.craftr-tools .assistant-field-heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
}

.craftr-tools .assistant-field-heading strong {
  color: var(--dark);
  font-size: 13px;
}

.craftr-tools .assistant-field-heading small {
  color: var(--text);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.craftr-tools .assistant-context-field input,
.craftr-tools .assistant-context-field textarea,
.craftr-tools .assistant-instruction,
.craftr-tools .assistant-paste-cv textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--white);
  color: var(--dark);
  padding: 12px 14px;
  font: inherit;
}

.craftr-tools .assistant-context-field input:focus,
.craftr-tools .assistant-context-field textarea:focus,
.craftr-tools .assistant-instruction:focus,
.craftr-tools .assistant-paste-cv textarea:focus {
  outline: 2px solid color-mix(in srgb, var(--theme) 35%, transparent);
  border-color: var(--theme);
}

.craftr-tools .assistant-upload-box {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 16px;
  border: 1px dashed #b8bdc6;
  border-radius: 14px;
  background: #fafbfc;
}

.craftr-tools .assistant-upload-box.has-file {
  border-style: solid;
  border-color: #b8ca5a;
  background: #fbfdea;
}

.craftr-tools .assistant-upload-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--white);
  border: 1px solid var(--line);
  font-size: 18px;
}

.craftr-tools .assistant-upload-box > div:nth-child(3) {
  display: grid;
  gap: 3px;
}

.craftr-tools .assistant-upload-box strong,
.craftr-tools .assistant-upload-box span {
  display: block;
}

.craftr-tools .assistant-upload-box span {
  color: var(--text);
  font-size: 11px;
  margin-top: 3px;
}

.craftr-tools .assistant-file-actions {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  font-size: 11px;
  color: #617000;
}

.craftr-tools .assistant-file-actions button {
  border: 0;
  background: transparent;
  color: var(--text);
  text-decoration: underline;
  cursor: pointer;
}

.craftr-tools .assistant-inline-warning {
  margin: 0;
  color: #795b00;
  font-size: 11px;
}

.craftr-tools .assistant-paste-cv {
  margin-top: 4px;
}

.craftr-tools .assistant-paste-cv summary {
  cursor: pointer;
  color: var(--text);
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 8px;
}

.craftr-tools .assistant-instruction {
  margin-top: 10px;
  min-height: 76px;
}

.craftr-tools .assistant-prompt-chips button.is-selected {
  border-color: var(--theme);
  background: var(--theme-soft);
}

.craftr-tools .assistant-required-note {
  color: #8b3f25;
  font-size: 11px;
  font-weight: 700;
}

@media (max-width: 750px) {
  .craftr-tools .assistant-context-grid {
    grid-template-columns: 1fr;
  }

  .craftr-tools .assistant-field-full {
    grid-column: auto;
  }

  .craftr-tools .assistant-upload-box {
    grid-template-columns: auto 1fr;
  }

  .craftr-tools .assistant-upload-box .quiet-button {
    grid-column: 1 / -1;
    width: 100%;
  }
}

/* ---------- Shared tool header foundation ----------
 * Keep the header self-contained inside app-tools.css so the animated homepage
 * can reuse it without loading tools.css (whose global resets would disturb the
 * legacy homepage stack). Inner tool pages still receive the same appearance.
 */
.craftr-tools {
  --black: #000;
  --white: #fff;
  --theme: #cdfe7d;
  --theme-soft: #f1ffd9;
  --text: #5e5f63;
  --dark: #222222;
  --line: #e4e6ea;
  --header-h: 92px;
}

.craftr-tools .tool-header {
  position: sticky;
  top: 0;
  z-index: 999;
  width: 100%;
  height: var(--header-h);
  display: flex;
  align-items: center;
  background: var(--white);
  transition: box-shadow .3s ease, background-color .3s ease;
}

.craftr-tools .tool-header-inner {
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: 0 28px;
  display: flex;
  align-items: center;
  gap: 28px;
}

.craftr-tools .tool-logo {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  color: var(--black);
  text-decoration: none;
  line-height: 1;
}

.craftr-tools .tool-logo img,
.craftr-tools .tool-logo-img {
  display: block;
  width: auto !important;
  height: 34px !important;
  max-width: none;
  object-fit: contain;
}

.craftr-tools .tool-nav {
  display: flex;
  align-items: center;
  gap: 30px;
  margin: 0 auto;
  min-width: 0;
}

.craftr-tools .tool-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  color: var(--dark);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.25;
  text-decoration: none !important;
  white-space: nowrap;
  transition: color .25s ease;
}

.craftr-tools .tool-nav a:hover {
  color: #79a92f;
}

.craftr-tools .tool-nav a[aria-current="page"]::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  height: 3px;
  border-radius: 999px;
  background: var(--theme);
}

.craftr-tools .tool-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
}

.craftr-tools .tool-header-actions .theme-btn {
  margin: 0;
  white-space: nowrap;
}

/* ---------- Tool header responsive navigation ---------- */
.craftr-tools .tool-menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--white);
  color: var(--black);
  font-weight: 700;
  cursor: pointer;
}

@media (max-width: 991px) {
  .craftr-tools .tool-header {
    position: sticky;
    top: 0;
    z-index: 999;
    padding: 12px 0;
  }

  .craftr-tools .tool-header-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
    align-items: center;
  }

  .craftr-tools .tool-logo {
    min-width: 0;
  }

  .craftr-tools .tool-logo img {
    max-width: min(170px, 100%);
    height: auto;
    max-height: 34px;
  }

  .craftr-tools .tool-menu-toggle {
    display: inline-flex;
  }

  .craftr-tools .tool-header-actions {
    margin-left: 0;
  }

  .craftr-tools .tool-header-actions .theme-btn {
    min-height: 42px;
    padding: 10px 14px;
  }

  .craftr-tools .tool-nav {
    display: none;
    grid-column: 1 / -1;
    order: initial;
    width: 100%;
    margin: 0;
    padding: 10px;
    gap: 4px;
    overflow: visible;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--white);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08);
  }

  .craftr-tools .tool-nav.is-open {
    display: grid;
  }

  .craftr-tools .tool-nav a {
    display: block;
    width: 100%;
    padding: 11px 12px;
    border-radius: 10px;
  }

  .craftr-tools .tool-nav a:hover,
  .craftr-tools .tool-nav a[aria-current="page"] {
    background: var(--theme-soft);
    color: var(--black);
  }

  .craftr-tools .tool-nav a[aria-current="page"]::after {
    display: none;
  }
}

@media (max-width: 560px) {
  .craftr-tools .tool-header-inner {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .craftr-tools .tool-menu-toggle span {
    display: none;
  }

  .craftr-tools .tool-menu-toggle {
    width: 42px;
    padding: 0;
  }

  .craftr-tools .tool-header-actions {
    grid-column: 1 / -1;
    width: 100%;
  }

  .craftr-tools .tool-header-actions .theme-btn {
    width: 100%;
  }
}

/* ---------- LinkedIn / profile review ---------- */
.craftr-tools .linkedin-review-grid,
.craftr-tools .linkedin-results-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-bottom: 22px;
}

.craftr-tools .linkedin-target-grid,
.craftr-tools .linkedin-section-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.craftr-tools .linkedin-section-grid .linkedin-wide { grid-column: 1 / -1; }
.craftr-tools .linkedin-paste-field { margin-top: 16px; }
.craftr-tools .linkedin-cv-upload { margin-top: 16px; }
.craftr-tools .linkedin-consent { margin-top: 18px; }

.craftr-tools .linkedin-review-cta {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 16px;
  flex-wrap: wrap;
}

.craftr-tools .linkedin-ai-error { margin-top: 14px; margin-bottom: 0; }
.craftr-tools .linkedin-results { margin-top: 24px; }
.craftr-tools .linkedin-checklist { margin-top: 18px; }

.craftr-tools .linkedin-ai-output {
  white-space: pre-wrap;
  line-height: 1.72;
  color: var(--dark);
  min-height: 220px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fbfbfa;
  overflow-wrap: anywhere;
}

.craftr-tools .linkedin-ai-loading,
.craftr-tools .linkedin-empty-review {
  min-height: 220px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  text-align: center;
  border: 1px dashed var(--line);
  border-radius: 14px;
  padding: 28px;
  background: #fbfbfa;
  color: var(--text);
}

.craftr-tools .linkedin-ai-loading i { font-size: 26px; color: #88a600; }
.craftr-tools .linkedin-empty-review strong,
.craftr-tools .linkedin-ai-loading strong { color: var(--dark); }
.craftr-tools .linkedin-empty-review span { max-width: 420px; }

@media (max-width: 900px) {
  .craftr-tools .linkedin-review-grid,
  .craftr-tools .linkedin-results-grid { grid-template-columns: 1fr; }
}

@media (max-width: 650px) {
  .craftr-tools .linkedin-target-grid,
  .craftr-tools .linkedin-section-grid { grid-template-columns: 1fr; }
  .craftr-tools .linkedin-section-grid .linkedin-wide { grid-column: auto; }
  .craftr-tools .linkedin-review-cta .button { width: 100%; }
}

/* ================================================================
   Portfolio Builder — responsive editor + premium template chooser
   Restored and enhanced after the shared stylesheet consolidation.
   ================================================================ */
.craftr-tools .portfolio-builder-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin: 0 0 24px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--white);
}

.craftr-tools .portfolio-builder-toolbar label {
  display: grid;
  gap: 7px;
  min-width: min(320px, 100%);
  color: var(--text);
  font-size: 12px;
  font-weight: 700;
}

.craftr-tools .portfolio-builder-toolbar select,
.craftr-tools .portfolio-add-section select {
  min-height: 46px;
  padding: 10px 42px 10px 14px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--white);
  color: var(--black);
  font: inherit;
  font-size: 14px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.craftr-tools .portfolio-builder-toolbar select:focus,
.craftr-tools .portfolio-add-section select:focus {
  border-color: var(--theme);
  box-shadow: 0 0 0 4px rgba(183, 255, 91, .18);
}

.craftr-tools .portfolio-builder-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(390px, .8fr);
  gap: 26px;
  align-items: start;
}

.craftr-tools .portfolio-builder-editor {
  min-width: 0;
}

.craftr-tools .portfolio-builder-editor > .panel {
  overflow: visible;
}

.craftr-tools .portfolio-layout-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.craftr-tools .portfolio-layout-card {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 15px;
  min-width: 0;
  min-height: 228px;
  padding: 12px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--white);
  color: var(--black);
  text-align: left;
  cursor: pointer;
  box-shadow: 0 1px 0 rgba(0,0,0,.02);
  transition: transform .28s cubic-bezier(.2,.8,.2,1), border-color .2s ease, box-shadow .28s ease;
}

.craftr-tools .portfolio-layout-card:hover {
  transform: translateY(-5px);
  border-color: rgba(0,0,0,.22);
  box-shadow: 0 20px 48px rgba(0,0,0,.08);
}

.craftr-tools .portfolio-layout-card.is-active {
  border-color: var(--black);
  box-shadow: 0 0 0 2px var(--black), 0 18px 45px rgba(0,0,0,.08);
}

.craftr-tools .portfolio-layout-card.is-active::after {
  content: "Selected";
  position: absolute;
  top: 22px;
  left: 22px;
  z-index: 3;
  padding: 6px 9px;
  border-radius: 999px;
  background: var(--theme);
  color: #111;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.craftr-tools .portfolio-layout-mini {
  position: relative;
  display: block;
  height: 116px;
  overflow: hidden;
  border-radius: 14px;
  background: #f2f4ee;
  border: 1px solid rgba(0,0,0,.06);
  isolation: isolate;
}

.craftr-tools .portfolio-layout-mini i {
  position: absolute;
  display: block;
  border-radius: 5px;
  transition: transform .35s cubic-bezier(.2,.8,.2,1);
}

.craftr-tools .portfolio-layout-card:hover .portfolio-layout-mini i {
  transform: translateY(-2px);
}

.craftr-tools .mini-canvas {
  background: linear-gradient(135deg, #f6f7f1 0 70%, rgba(183,255,91,.42));
}
.craftr-tools .mini-canvas .mini-nav {left: 10px;right: 10px;top: 9px;height: 7px;background:#171a18;opacity:.88}
.craftr-tools .mini-canvas .mini-hero {left: 11px;top: 31px;width: 62%;height: 24px;background:#171a18}
.craftr-tools .mini-canvas .mini-card-one {left: 11px;bottom: 10px;width: 43%;height: 35px;background:#fff;border:1px solid rgba(0,0,0,.08)}
.craftr-tools .mini-canvas .mini-card-two {right: 11px;bottom: 10px;width: 43%;height: 35px;background:#dce5db}

.craftr-tools .mini-split {background:#f2f1eb}
.craftr-tools .mini-split::before {content:"";position:absolute;inset:0 auto 0 0;width:34%;background:#fff;border-right:1px solid rgba(0,0,0,.08)}
.craftr-tools .mini-split .mini-nav {left:10px;top:15px;width:22%;height:7px;background:#171a18;box-shadow:0 16px 0 #a9afaa,0 30px 0 #c5cac5}
.craftr-tools .mini-split .mini-hero {left:42%;top:16px;width:47%;height:22px;background:#171a18}
.craftr-tools .mini-split .mini-card-one {left:42%;bottom:12px;width:22%;height:45px;background:#fff}
.craftr-tools .mini-split .mini-card-two {right:10px;bottom:12px;width:22%;height:45px;background:var(--theme)}

.craftr-tools .mini-studio {background:radial-gradient(circle at 80% 20%,rgba(183,255,91,.25),transparent 34%),#101411}
.craftr-tools .mini-studio .mini-nav {left:10px;right:10px;top:9px;height:5px;background:#b7ff5b}
.craftr-tools .mini-studio .mini-hero {left:12px;top:31px;width:70%;height:22px;background:#f5f7ef}
.craftr-tools .mini-studio .mini-card-one {left:12px;bottom:10px;width:48%;height:38px;background:#202720;border:1px solid rgba(255,255,255,.12)}
.craftr-tools .mini-studio .mini-card-two {right:10px;bottom:10px;width:29%;height:52px;background:#b7ff5b}

.craftr-tools .portfolio-layout-card-copy {
  display: grid;
  gap: 7px;
  padding: 0 3px 3px;
}

.craftr-tools .portfolio-layout-card-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.craftr-tools .portfolio-layout-card strong {
  font-size: 17px;
  line-height: 1.1;
}

.craftr-tools .portfolio-layout-card em {
  padding: 5px 7px;
  border-radius: 999px;
  background: var(--gray);
  color: var(--text);
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.craftr-tools .portfolio-layout-card-copy > span:last-child {
  color: var(--text);
  font-size: 12px;
  line-height: 1.45;
}

.craftr-tools .portfolio-layout-check {
  position: absolute;
  right: 18px;
  top: 18px;
  z-index: 4;
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  background: #111;
  color: var(--theme);
  font-size: 12px;
  opacity: 0;
  transform: scale(.7);
  transition: opacity .2s ease, transform .2s ease;
}

.craftr-tools .portfolio-layout-card.is-active .portfolio-layout-check {
  opacity: 1;
  transform: scale(1);
}

.craftr-tools .portfolio-section-editor-list {
  display: grid;
  gap: 14px;
}

.craftr-tools .portfolio-section-editor {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--white);
  transition: border-color .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.craftr-tools .portfolio-section-editor:hover {
  border-color: rgba(0,0,0,.22);
  box-shadow: 0 12px 34px rgba(0,0,0,.055);
}

.craftr-tools .portfolio-section-editor.is-hidden {
  opacity: .58;
}

.craftr-tools .portfolio-section-editor > header {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 15px 16px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg,#fff,#fafbf8);
}

.craftr-tools .drag-handle {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px dashed rgba(0,0,0,.3);
  border-radius: 11px;
  background: var(--gray);
  color: var(--text);
  cursor: grab;
  font-weight: 900;
  letter-spacing: 2px;
  user-select: none;
}

.craftr-tools .drag-handle:active { cursor: grabbing; }

.craftr-tools .portfolio-section-editor > header > div:nth-child(2) {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.craftr-tools .portfolio-section-editor > header strong {
  overflow: hidden;
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.craftr-tools .portfolio-section-editor > header small {
  color: var(--text);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.craftr-tools .section-editor-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.craftr-tools .section-editor-actions button,
.craftr-tools .portfolio-item-editor-head button {
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--white);
  color: var(--black);
  font: inherit;
  font-size: 11px;
  font-weight: 750;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.craftr-tools .section-editor-actions button:hover:not(:disabled),
.craftr-tools .portfolio-item-editor-head button:hover {
  transform: translateY(-1px);
  border-color: var(--black);
  background: var(--black);
  color: var(--white);
}

.craftr-tools .section-editor-actions button:disabled {
  cursor: not-allowed;
  opacity: .35;
}

.craftr-tools .section-editor-actions button:last-child,
.craftr-tools .portfolio-item-editor-head button {
  color: #a63a2c;
}

.craftr-tools .section-editor-actions button:last-child:hover,
.craftr-tools .portfolio-item-editor-head button:hover {
  border-color: #a63a2c;
  background: #a63a2c;
  color: #fff;
}

.craftr-tools .section-editor-fields,
.craftr-tools .portfolio-items-editor {
  padding: 16px;
}

.craftr-tools .section-editor-fields {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
}

.craftr-tools .section-editor-fields .full {
  grid-column: 1 / -1;
}

.craftr-tools .portfolio-items-editor {
  display: grid;
  gap: 12px;
  padding-top: 0;
}

.craftr-tools .portfolio-item-editor {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--gray);
}

.craftr-tools .portfolio-item-editor-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.craftr-tools .portfolio-add-section {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 10px;
  margin-top: 16px;
  padding: 14px;
  border: 1px dashed rgba(0,0,0,.22);
  border-radius: 16px;
  background: var(--gray);
}

.craftr-tools .portfolio-preview-column {
  min-width: 0;
}

.craftr-tools .portfolio-preview-sticky {
  position: sticky;
  top: calc(var(--header-h) + 18px);
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.16);
  border-radius: 24px;
  background: #111;
  box-shadow: 0 28px 80px rgba(0,0,0,.12);
}

.craftr-tools .portfolio-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 15px;
  color: #fff;
  font-size: 12px;
}

.craftr-tools .portfolio-preview-head::before {
  content: "";
  width: 32px;
  height: 8px;
  margin-right: auto;
  border-radius: 999px;
  background: radial-gradient(circle at 4px 4px,#ff6868 0 3px,transparent 3.2px),radial-gradient(circle at 16px 4px,#ffd35d 0 3px,transparent 3.2px),radial-gradient(circle at 28px 4px,#67d57a 0 3px,transparent 3.2px);
}

.craftr-tools .portfolio-preview-head strong { font-weight: 750; }
.craftr-tools .portfolio-preview-head span {
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.11);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.craftr-tools .portfolio-preview-frame {
  display: block;
  width: 100%;
  height: min(720px, 72vh);
  border: 0;
  background: #fff;
}

@media (max-width: 1180px) {
  .craftr-tools .portfolio-builder-workspace {
    grid-template-columns: 1fr;
  }

  .craftr-tools .portfolio-preview-sticky {
    position: relative;
    top: auto;
  }

  .craftr-tools .portfolio-preview-frame {
    height: 680px;
  }
}

@media (max-width: 780px) {
  .craftr-tools .portfolio-layout-grid {
    grid-template-columns: 1fr;
  }

  .craftr-tools .portfolio-layout-card {
    grid-template-columns: minmax(130px, .42fr) minmax(0, 1fr);
    grid-template-rows: auto;
    align-items: center;
    min-height: 0;
  }

  .craftr-tools .portfolio-layout-mini {
    height: 104px;
  }

  .craftr-tools .portfolio-layout-card.is-active::after {
    display: none;
  }

  .craftr-tools .portfolio-section-editor > header {
    grid-template-columns: auto minmax(0,1fr);
  }

  .craftr-tools .section-editor-actions {
    grid-column: 1 / -1;
    justify-content: stretch;
  }

  .craftr-tools .section-editor-actions button {
    flex: 1 1 auto;
  }

  .craftr-tools .section-editor-fields {
    grid-template-columns: 1fr;
  }

  .craftr-tools .section-editor-fields .full {
    grid-column: auto;
  }
}

@media (max-width: 560px) {
  .craftr-tools .portfolio-builder-toolbar {
    align-items: stretch;
  }

  .craftr-tools .portfolio-builder-toolbar label,
  .craftr-tools .portfolio-builder-toolbar button {
    width: 100%;
  }

  .craftr-tools .portfolio-layout-card {
    grid-template-columns: 1fr;
  }

  .craftr-tools .portfolio-layout-mini {
    height: 126px;
  }

  .craftr-tools .portfolio-add-section {
    grid-template-columns: 1fr;
  }

  .craftr-tools .portfolio-add-section .button {
    width: 100%;
  }

  .craftr-tools .portfolio-preview-frame {
    height: 560px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .craftr-tools .portfolio-layout-card,
  .craftr-tools .portfolio-layout-mini i,
  .craftr-tools .section-editor-actions button {
    transition: none;
  }
}

/* Homepage uses the same shared application header as every inner tool page. */
.craftr-home > .craftr-home-tools-header {
  position: relative;
  z-index: 1005;
}

.craftr-home > .craftr-home-tools-header .tool-header {
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(18px);
}

/* ---------- Homepage header isolation ----------
 * main.css/home-page.css contain broad image/link/header rules. These selectors
 * intentionally win only inside the shared homepage application header.
 */
.craftr-home > .craftr-home-tools-header {
  width: 100%;
  background: #fff;
}

.craftr-home > .craftr-home-tools-header .tool-header-inner {
  min-height: 92px;
}

.craftr-home > .craftr-home-tools-header .tool-logo,
.craftr-home > .craftr-home-tools-header .tool-nav a {
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.craftr-home > .craftr-home-tools-header .tool-logo img {
  width: auto !important;
  height: 34px !important;
  max-height: 34px !important;
  max-width: 180px !important;
}

.craftr-home > .craftr-home-tools-header .tool-nav {
  list-style: none;
}

@media (max-width: 991px) {
  .craftr-home > .craftr-home-tools-header .tool-header,
  .craftr-home > .craftr-home-tools-header .tool-header-inner {
    height: auto;
    min-height: 0;
  }

  .craftr-home > .craftr-home-tools-header .tool-logo img {
    height: 32px !important;
    max-height: 32px !important;
    max-width: 165px !important;
  }
}

/* Craftr vNext — connected career intelligence */
.craftr-tools .mission-hero{display:flex;justify-content:space-between;gap:28px;align-items:end;padding:28px 30px;margin:0 0 24px;border:1px solid rgba(19,22,20,.11);border-radius:28px;background:linear-gradient(135deg,#111512 0%,#181f19 64%,#26331d 100%);color:#fff;overflow:hidden;position:relative}
.craftr-tools .mission-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-90px;top:-120px;background:rgba(190,255,92,.28);filter:blur(2px)}
.craftr-tools .mission-hero>div{position:relative;z-index:1}.craftr-tools .mission-kicker{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#bfff64}.craftr-tools .mission-hero strong{display:block;font-size:68px;line-height:1;margin:9px 0 8px;letter-spacing:-.06em}.craftr-tools .mission-hero strong small{font-size:20px;color:#aeb6b0;letter-spacing:0}.craftr-tools .mission-hero p{max-width:650px;margin:0;color:#c8d0ca}.craftr-tools .mission-actions{display:flex;gap:10px;flex-wrap:wrap}.craftr-tools .mission-actions .quiet-button{background:#fff;color:#111;border-color:#fff}.craftr-tools .mission-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:22px;margin:0 0 24px}.craftr-tools .next-actions{display:grid;gap:10px}.craftr-tools .next-action-card{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:13px;padding:15px;border:1px solid rgba(16,19,17,.1);border-radius:18px;text-decoration:none;color:inherit;background:#fff;transition:.22s ease}.craftr-tools .next-action-card:hover{transform:translateY(-2px);border-color:#9edc41;box-shadow:0 14px 36px rgba(20,30,20,.07)}.craftr-tools .next-action-card>i{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#effbdc;color:#31500d}.craftr-tools .next-action-card div{display:grid;gap:2px}.craftr-tools .next-action-card span{font-size:12px;color:#68716e}.craftr-tools .next-action-card b{font-size:12px}.craftr-tools .setup-steps{display:grid;gap:12px}.craftr-tools .setup-steps>div{display:flex;align-items:center;gap:10px;color:#737b77}.craftr-tools .setup-steps>div.is-done{color:#182013;font-weight:700}.craftr-tools .setup-steps .is-done i{color:#86c932}
.craftr-tools .job-match-box{display:grid;grid-template-columns:86px 1fr;gap:15px;padding:14px 16px;margin:16px 0;border-radius:18px;background:#f4fbe9;border:1px solid #dbeebc}.craftr-tools .job-match-score strong{display:block;font-size:26px;line-height:1;color:#2f5500}.craftr-tools .job-match-score span,.craftr-tools .job-match-box small{font-size:11px;color:#66705f}.craftr-tools .job-match-box p{margin:4px 0 0;font-size:12px}.craftr-tools .market-skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.craftr-tools .market-skill{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid #e4e7e4;border-radius:16px}.craftr-tools .market-skill div{display:grid;gap:2px}.craftr-tools .market-skill span{font-size:11px;color:#7b827e}.craftr-tools .market-skill b{font-size:20px}.craftr-tools .market-skill.is-owned{background:#f5fce9;border-color:#d9edb6}.craftr-tools .application-next{display:flex;gap:10px;align-items:flex-start;margin:14px 0;padding:12px 14px;border-radius:14px;background:#fbf8ec;border:1px solid #eee3b9}.craftr-tools .application-next div{display:grid;gap:2px}.craftr-tools .application-next span{font-size:11px;color:#776f51}.craftr-tools .assistant-saved-cv{display:grid;gap:7px;margin:0 0 12px;font-size:12px;font-weight:700}.craftr-tools .assistant-saved-cv select{width:100%}.craftr-tools .portfolio-ai-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.craftr-tools .portfolio-ai-row span{font-size:12px;color:#727a76}.craftr-tools .mock-grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:22px}.craftr-tools .mock-empty{min-height:260px;display:grid;place-content:center;text-align:center;gap:7px;color:#727a76}.craftr-tools .mock-empty strong{font-size:24px;color:#151915}.craftr-tools .mock-question>span{display:inline-flex;padding:6px 10px;border-radius:999px;background:#effbdc;color:#38590f;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.craftr-tools .mock-question h3{font-size:28px;line-height:1.25;margin:16px 0 22px}.craftr-tools .mock-question label{display:grid;gap:8px;font-weight:700}.craftr-tools .mock-feedback{margin-top:18px}.craftr-tools .mock-feedback h3{margin-bottom:12px}
@media(max-width:980px){.craftr-tools .mission-grid,.craftr-tools .mock-grid{grid-template-columns:1fr}.craftr-tools .mission-hero{align-items:flex-start;flex-direction:column}.craftr-tools .market-skill-grid{grid-template-columns:1fr}}
@media(max-width:640px){.craftr-tools .mission-hero{padding:22px;border-radius:22px}.craftr-tools .mission-hero strong{font-size:54px}.craftr-tools .next-action-card{grid-template-columns:38px 1fr}.craftr-tools .next-action-card>b{grid-column:2}.craftr-tools .job-match-box{grid-template-columns:1fr}.craftr-tools .portfolio-ai-row .quiet-button{width:100%}}

/* ============================================================
   Desktop mega menu
   Desktop intentionally stays minimal: Home + Tools. Mobile keeps the
   straightforward full tool list behind the existing menu toggle.
   ============================================================ */
.craftr-tools .tool-desktop-nav {
  display: flex;
  align-items: center;
  gap: 32px;
  margin: 0 auto;
  min-width: 0;
}

.craftr-tools .tool-desktop-nav > a,
.craftr-tools .tool-mega-trigger {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--dark);
  font: inherit;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.25;
  text-decoration: none !important;
  white-space: nowrap;
  cursor: pointer;
  transition: color .22s ease;
}

.craftr-tools .tool-desktop-nav > a:hover,
.craftr-tools .tool-mega-trigger:hover,
.craftr-tools .tool-mega:focus-within .tool-mega-trigger {
  color: #679d17;
}

.craftr-tools .tool-desktop-nav > a[aria-current="page"]::after,
.craftr-tools .tool-mega-trigger[aria-current="page"]::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1px;
  height: 3px;
  border-radius: 999px;
  background: var(--theme);
}

.craftr-tools .tool-mega {
  position: relative;
  display: flex;
  align-items: center;
}

.craftr-tools .tool-mega-trigger i {
  font-size: 10px;
  transition: transform .25s ease;
}

.craftr-tools .tool-mega:hover .tool-mega-trigger i,
.craftr-tools .tool-mega:focus-within .tool-mega-trigger i {
  transform: rotate(180deg);
}

.craftr-tools .tool-mega-panel {
  position: fixed;
  z-index: 1200;
  top: 78px;
  left: 50%;
  width: min(1180px, calc(100vw - 48px));
  max-height: calc(100vh - 96px);
  overflow: auto;
  padding: 24px;
  border: 1px solid rgba(20, 23, 20, .10);
  border-radius: 26px;
  background: rgba(255, 255, 255, .985);
  box-shadow: 0 28px 80px rgba(18, 25, 18, .16);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 12px) scale(.985);
  transform-origin: 50% 0;
  transition: opacity .2s ease, transform .24s cubic-bezier(.2,.8,.2,1), visibility .2s ease;
  backdrop-filter: blur(20px);
}

.craftr-tools .tool-mega:hover .tool-mega-panel,
.craftr-tools .tool-mega:focus-within .tool-mega-panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0) scale(1);
}

.craftr-tools .tool-mega-intro {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(280px, .7fr);
  gap: 18px;
  align-items: center;
  padding: 4px 4px 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--line);
}

.craftr-tools .tool-mega-intro > span,
.craftr-tools .tool-mega-eyebrow {
  display: inline-flex;
  width: max-content;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--theme-soft);
  color: #486f12;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.craftr-tools .tool-mega-intro > strong {
  color: var(--black);
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.craftr-tools .tool-mega-intro p {
  margin: 0;
  color: #747b76;
  font-size: 13px;
  line-height: 1.55;
}

.craftr-tools .tool-mega-groups {
  display: grid;
  grid-template-columns: .9fr 1.15fr 1.05fr;
  gap: 18px;
}

.craftr-tools .tool-mega-group {
  min-width: 0;
  padding: 18px;
  border: 1px solid #e8eae8;
  border-radius: 20px;
  background: linear-gradient(180deg, #fff 0%, #fbfcfa 100%);
}

.craftr-tools .tool-mega-group h3 {
  margin: 11px 0 14px;
  color: var(--black);
  font-size: 16px;
  font-weight: 750;
  line-height: 1.2;
}

.craftr-tools .tool-mega-links {
  display: grid;
  gap: 6px;
}

.craftr-tools .tool-mega-links > a {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  padding: 10px;
  border: 1px solid transparent;
  border-radius: 14px;
  color: var(--black);
  text-decoration: none !important;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.craftr-tools .tool-mega-links > a > i {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: #f1f3ef;
  color: #465044;
  font-size: 14px;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

.craftr-tools .tool-mega-links > a > span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.craftr-tools .tool-mega-links strong {
  color: var(--black);
  font-size: 13px;
  line-height: 1.25;
}

.craftr-tools .tool-mega-links small {
  color: #737a75;
  font-size: 11px;
  line-height: 1.4;
}

.craftr-tools .tool-mega-links > a:hover,
.craftr-tools .tool-mega-links > a.is-active {
  border-color: #d9ecb9;
  background: #f7fde9;
  box-shadow: 0 10px 30px rgba(63, 88, 29, .07);
  transform: translateY(-1px);
}

.craftr-tools .tool-mega-links > a:hover > i,
.craftr-tools .tool-mega-links > a.is-active > i {
  background: var(--theme);
  color: #213006;
  transform: rotate(-4deg) scale(1.04);
}

.craftr-tools .tool-mega-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 18px;
  padding: 15px 18px;
  border-radius: 16px;
  background: #111411;
  color: #fff;
}

.craftr-tools .tool-mega-foot > span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #d9dfda;
  font-size: 12px;
}

.craftr-tools .tool-mega-foot > span i {
  color: var(--theme);
}

.craftr-tools .tool-mega-foot > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--theme) !important;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none !important;
}

/* The full list is intentionally mobile-only now. */
.craftr-tools .tool-mobile-nav {
  display: none !important;
}

@media (max-width: 991px) {
  .craftr-tools .tool-desktop-nav {
    display: none !important;
  }

  .craftr-tools .tool-mobile-nav {
    display: none !important;
  }

  .craftr-tools .tool-mobile-nav.is-open {
    display: grid !important;
  }
}

@media (min-width: 992px) {
  .craftr-tools .tool-menu-toggle {
    display: none !important;
  }

  /* The old medium-desktop fallback wrapped the long nav onto a second row.
     The mega menu makes that unnecessary. */
  .craftr-tools .tool-header,
  .craftr-tools .tool-header-inner {
    height: var(--header-h);
  }

  .craftr-tools .tool-header-inner {
    flex-wrap: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  .craftr-tools .tool-mega-panel,
  .craftr-tools .tool-mega-trigger i,
  .craftr-tools .tool-mega-links > a,
  .craftr-tools .tool-mega-links > a > i {
    transition: none;
  }
}
@media (min-width: 992px) {
  .craftr-tools .tool-header { padding: 0; }
}

/* Admin dashboard */
.admin-header-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid rgba(0,0,0,.14);border-radius:999px;font-weight:700;text-decoration:none;color:inherit;background:#fff}
.admin-header-link:hover{background:#c5ff65;border-color:#c5ff65}
.admin-dashboard{padding:36px 0 90px}.admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}.admin-stat{border:1px solid #dedede;border-radius:24px;padding:24px;background:#fff}.admin-stat span{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.admin-stat strong{display:block;font-size:42px;line-height:1;margin:16px 0 10px}.admin-stat small{color:#666}.admin-panel{border:1px solid #dedede;border-radius:28px;background:#fff;overflow:hidden}.admin-panel-head{display:flex;gap:24px;align-items:flex-end;justify-content:space-between;padding:28px;border-bottom:1px solid #eee}.admin-panel-head h2{margin:4px 0 0;font-size:30px}.admin-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#6b6b6b}.admin-search{display:flex;gap:8px;flex-wrap:wrap}.admin-search input{min-width:280px;border:1px solid #d8d8d8;border-radius:12px;padding:12px 14px}.admin-search button{border:1px solid #111;border-radius:12px;padding:12px 16px;background:#111;color:#fff;font-weight:700}.admin-search button+button{background:#fff;color:#111}.admin-tabs{display:flex;gap:8px;padding:16px 28px;border-bottom:1px solid #eee;overflow:auto}.admin-tabs button{border:0;background:#f3f3f3;border-radius:999px;padding:10px 14px;font-weight:800;white-space:nowrap}.admin-tabs button.is-active{background:#111;color:#fff}.admin-tabs span{margin-left:6px;opacity:.7}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th,.admin-table td{text-align:left;padding:16px 28px;border-bottom:1px solid #eee;vertical-align:top}.admin-table th{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#666;background:#fafafa}.admin-table td strong,.admin-table td span,.admin-table td a{display:block}.admin-role{display:inline-block;border-radius:999px;padding:6px 10px;background:#eef1f4;font-style:normal;text-transform:capitalize;font-size:12px;font-weight:800}.admin-role-admin,.admin-role-super_admin{background:#e9ffc5}.admin-cards{display:grid;gap:14px;padding:24px}.admin-submission{border:1px solid #e4e4e4;border-radius:18px;padding:18px}.admin-submission-top{display:flex;justify-content:space-between;gap:16px}.admin-submission-top a{display:block;color:#555}.admin-meta{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.admin-meta span,.admin-meta a,.admin-meta em{border-radius:999px;background:#f3f3f3;padding:6px 10px;font-size:12px;font-style:normal}.admin-submission p{margin:0;white-space:pre-wrap}.admin-empty{padding:40px;text-align:center;color:#777}.craftr-newsletter{margin-top:26px}.craftr-newsletter label{display:block;font-weight:800;margin-bottom:9px}.craftr-newsletter>div{display:flex;gap:8px}.craftr-newsletter input{min-width:0;flex:1;border:1px solid #cfcfcf;border-radius:999px;padding:12px 15px}.craftr-newsletter button{border:0;border-radius:999px;padding:12px 18px;background:#c5ff65;font-weight:800}.craftr-newsletter small{display:block;margin-top:8px}
@media(max-width:900px){.admin-stats{grid-template-columns:1fr}.admin-panel-head{align-items:stretch;flex-direction:column}.admin-search input{min-width:0;flex:1}.admin-header-link{padding:8px 11px}.admin-stat strong{font-size:34px}}

/* Admin operations v2 */
.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr));}
.admin-panel-head-stack{align-items:center;gap:16px;}
.admin-export-row{display:flex;align-items:center;gap:10px;}
.admin-export{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid rgba(17,24,39,.12);border-radius:12px;background:#111827;color:#fff;text-decoration:none;font-weight:700;}
.admin-filterbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(150px,.28fr) minmax(170px,.3fr) auto auto;gap:10px;padding:0 24px 20px;}
.admin-filterbar input,.admin-filterbar select,.admin-inline-select,.admin-workflow-grid select,.admin-workflow-grid textarea,.admin-password-box input{width:100%;border:1px solid rgba(15,23,42,.13);background:#fff;border-radius:12px;padding:11px 13px;font:inherit;color:#101828;outline:none;}
.admin-filterbar input:focus,.admin-filterbar select:focus,.admin-inline-select:focus,.admin-workflow-grid select:focus,.admin-workflow-grid textarea:focus,.admin-password-box input:focus{border-color:#7c5cff;box-shadow:0 0 0 3px rgba(124,92,255,.12);}
.admin-filterbar button,.admin-table-action,.admin-row-actions button,.admin-workflow-grid button,.admin-password-box button{border:0;border-radius:11px;padding:11px 14px;background:#111827;color:#fff;font:inherit;font-weight:700;cursor:pointer;}
.admin-filterbar .is-secondary{background:#eef1f5;color:#273043;}
.admin-row-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end;}
.admin-row-actions button{padding:8px 10px;font-size:12px;background:#eef1f5;color:#273043;}
.admin-row-actions button.is-danger{background:#fff0f0;color:#a43131;}
.admin-inline-select{min-width:125px;padding:8px 10px;font-size:12px;}
.admin-status-dot{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:12px;margin-right:8px;}
.admin-status-dot:before{content:"";width:7px;height:7px;border-radius:999px;background:#98a2b3;}
.admin-status-dot.is-active{color:#18794e}.admin-status-dot.is-active:before{background:#22a06b}.admin-status-dot.is-inactive{color:#b42318}.admin-status-dot.is-inactive:before{background:#d92d20}
.admin-link-btn{border:0;background:transparent;color:#5f46d6;text-decoration:underline;padding:0;font:inherit;font-size:12px;cursor:pointer;}
.admin-role-inactive{background:#f2f4f7;color:#667085;}
.admin-workflow-grid{margin-top:18px;padding-top:18px;border-top:1px solid rgba(15,23,42,.08);display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;}
.admin-workflow-grid label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#667085;}
.admin-workflow-notes{grid-column:1 / -1;}
.admin-workflow-grid textarea{resize:vertical;min-height:86px;}
.admin-activity-list{display:grid;gap:0;border-top:1px solid rgba(15,23,42,.08);}
.admin-activity-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:13px;align-items:start;padding:16px 22px;border-bottom:1px solid rgba(15,23,42,.08);}
.admin-activity-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#f2efff;color:#6847d6;font-size:11px;font-weight:900;letter-spacing:.03em;}
.admin-activity-icon.is-admin{background:#fff2e8;color:#b54708;}
.admin-activity-item strong{display:block;color:#101828;font-size:14px;}
.admin-activity-item p{margin:4px 0 2px;color:#667085;font-size:12px;}
.admin-activity-item time{font-size:11px;color:#98a2b3;}
.admin-activity-kind{padding:5px 8px;border-radius:999px;background:#f2f4f7;color:#667085;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.admin-activity-kind.is-admin{background:#fff2e8;color:#b54708;}
.admin-drawer-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(15,23,42,.38);backdrop-filter:blur(6px);display:flex;justify-content:flex-end;}
.admin-user-drawer{position:relative;width:min(620px,94vw);height:100%;overflow:auto;background:#fbfbfd;box-shadow:-24px 0 70px rgba(16,24,40,.18);padding:34px;}
.admin-drawer-close{position:absolute;top:18px;right:20px;width:38px;height:38px;border:0;border-radius:999px;background:#eef1f5;color:#101828;font-size:25px;cursor:pointer;}
.admin-user-drawer h2{font-size:32px;margin:5px 0 3px;}.admin-user-drawer>a{color:#5f46d6;}
.admin-user-badges{display:flex;gap:8px;align-items:center;margin:16px 0 22px;}
.admin-user-mini-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:18px;}
.admin-user-mini-stats>div{padding:14px 10px;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:#fff;text-align:center;}
.admin-user-mini-stats strong{display:block;font-size:22px;color:#101828;}.admin-user-mini-stats span{font-size:10px;color:#667085;text-transform:uppercase;letter-spacing:.05em;}
.admin-user-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;}.admin-user-meta>div{padding:13px;border-radius:13px;background:#f2f4f7;}.admin-user-meta span,.admin-user-meta strong{display:block;}.admin-user-meta span{font-size:10px;text-transform:uppercase;color:#667085;margin-bottom:4px}.admin-user-meta strong{font-size:12px;color:#101828;}
.admin-password-box{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;padding:18px;border:1px solid rgba(15,23,42,.08);background:#fff;border-radius:16px;margin:18px 0 26px;}.admin-password-box h3,.admin-password-box p{grid-column:1 / -1;margin:0}.admin-password-box h3{font-size:15px}.admin-password-box p{font-size:12px;color:#667085;margin-bottom:4px}.admin-password-box button:disabled{opacity:.45;cursor:not-allowed;}
.admin-user-history-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:26px 0 10px;}.admin-user-history-head h3{margin:3px 0 0;font-size:20px}.admin-user-history-head>span{font-size:11px;color:#667085}.admin-activity-list.is-compact{border:1px solid rgba(15,23,42,.08);border-radius:16px;overflow:hidden;background:#fff}.admin-activity-list.is-compact .admin-activity-item{padding:14px 16px;}
@media (max-width:1100px){.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-filterbar{grid-template-columns:1fr 1fr}.admin-filterbar input{grid-column:1 / -1}.admin-workflow-grid{grid-template-columns:1fr 1fr}.admin-workflow-grid button{grid-column:1 / -1}.admin-user-mini-stats{grid-template-columns:repeat(3,1fr)}}
@media (max-width:720px){.admin-stats{grid-template-columns:1fr}.admin-filterbar{grid-template-columns:1fr;padding:0 16px 16px}.admin-filterbar input{grid-column:auto}.admin-tabs{overflow-x:auto;justify-content:flex-start}.admin-table{min-width:860px}.admin-panel-head-stack{align-items:flex-start}.admin-workflow-grid{grid-template-columns:1fr}.admin-workflow-notes,.admin-workflow-grid button{grid-column:auto}.admin-user-drawer{width:100vw;padding:26px 18px}.admin-user-mini-stats{grid-template-columns:repeat(2,1fr)}.admin-user-meta{grid-template-columns:1fr}.admin-password-box{grid-template-columns:1fr}.admin-password-box h3,.admin-password-box p{grid-column:auto}.admin-activity-item{grid-template-columns:38px minmax(0,1fr)}.admin-activity-kind{grid-column:2;justify-self:start}.admin-row-actions{justify-content:flex-start}}

/* Phase 2 — admin platform control center */
.craftr-announcement{position:relative;z-index:55;background:#b9ff39;color:#101114;border-bottom:1px solid rgba(16,17,20,.12)}
.craftr-announcement-inner{max-width:1280px;margin:0 auto;min-height:44px;padding:8px 24px;display:flex;align-items:center;justify-content:center;gap:20px;font-size:14px;font-weight:700;letter-spacing:.01em}
.craftr-announcement-inner span{display:flex;align-items:center;gap:9px}.craftr-announcement-inner a{color:#101114;text-decoration:none;border-bottom:1px solid currentColor;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.admin-flash{margin-bottom:16px;padding:12px 16px;border-radius:14px;font-size:14px;font-weight:700}.admin-flash.is-success{background:rgba(185,255,57,.12);border:1px solid rgba(185,255,57,.35);color:#d7ff8d}.admin-flash.is-error{background:rgba(255,91,91,.1);border:1px solid rgba(255,91,91,.28);color:#ffaaaa}
.admin-tabs-wide{overflow-x:auto;scrollbar-width:thin}.admin-tabs-wide button{flex:0 0 auto}
.admin-platform{display:grid;gap:18px}.admin-settings-card{border:1px solid rgba(255,255,255,.11);border-radius:22px;background:rgba(255,255,255,.035);padding:22px;display:grid;gap:18px}.admin-settings-card h3{margin:3px 0 6px;font-size:20px}.admin-settings-card p{margin:0;color:rgba(255,255,255,.62);font-size:14px;line-height:1.6}.admin-settings-card label>span,.admin-course-form label>span{display:block;margin-bottom:7px;color:rgba(255,255,255,.68);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.admin-settings-card input,.admin-settings-card textarea,.admin-settings-card select,.admin-course-form input,.admin-course-form select{width:100%;border:1px solid rgba(255,255,255,.14);background:#121319;color:#fff;border-radius:12px;padding:11px 13px;outline:none}.admin-settings-card input:focus,.admin-settings-card textarea:focus,.admin-course-form input:focus,.admin-course-form select:focus{border-color:#b9ff39;box-shadow:0 0 0 3px rgba(185,255,57,.08)}
.admin-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025);padding:12px 13px;border-radius:14px;cursor:pointer}.admin-toggle>span{font-size:13px;font-weight:700;color:#fff!important;text-transform:none!important;letter-spacing:0!important;margin:0!important}.admin-toggle input{position:absolute;opacity:0;pointer-events:none}.admin-toggle i{width:38px;height:22px;border-radius:999px;background:#3b3d46;position:relative;flex:0 0 auto;transition:.2s ease}.admin-toggle i:after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s ease}.admin-toggle input:checked+i{background:#b9ff39}.admin-toggle input:checked+i:after{transform:translateX(16px);background:#111}.admin-number-field{max-width:260px}.admin-settings-save{position:sticky;bottom:18px;z-index:4;display:flex;align-items:center;gap:14px;background:rgba(14,15,20,.92);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);padding:14px;border-radius:16px}.admin-settings-save button,.admin-course-toolbar button,.admin-course-form button,.admin-provider-card button{border:0;border-radius:12px;background:#b9ff39;color:#111;padding:11px 16px;font-weight:900;cursor:pointer}.admin-settings-save span{color:rgba(255,255,255,.55);font-size:12px}
.admin-course-manager{display:grid;gap:18px}.admin-course-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1)}.admin-course-toolbar div{display:grid;gap:4px}.admin-course-toolbar span{font-size:13px;color:rgba(255,255,255,.58)}.admin-course-list{display:grid;gap:10px}.admin-course-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px;border-radius:16px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025)}.admin-course-row>div:first-child{min-width:0;display:grid;gap:5px}.admin-course-row strong{font-size:15px}.admin-course-row span,.admin-course-row a{font-size:12px;color:rgba(255,255,255,.58)}.admin-course-row a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:680px}.admin-course-track,.admin-course-inactive{display:inline-flex!important;width:max-content;padding:4px 8px;border-radius:999px;background:rgba(185,255,57,.1);color:#cfff73!important;text-transform:capitalize}.admin-course-inactive{background:rgba(255,91,91,.1);color:#ffaaaa!important;margin-left:6px}.admin-course-form{padding:18px;border-radius:18px;border:1px solid rgba(185,255,57,.24);background:rgba(185,255,57,.025);display:grid;gap:14px}
.admin-provider-area{display:grid;gap:26px}.admin-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-provider-card{border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:18px;background:rgba(255,255,255,.03);display:grid;gap:14px}.admin-provider-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.admin-provider-head span:first-child{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.48)}.admin-provider-head h3{margin:4px 0 0;font-size:20px}.admin-provider-status{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.08)}.admin-provider-status.is-ok{background:rgba(185,255,57,.12);color:#cfff73}.admin-provider-status.is-error{background:rgba(255,91,91,.12);color:#ffaaaa}.admin-provider-status.is-off{opacity:.55}.admin-provider-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.admin-provider-card dl div{padding:9px 10px;border-radius:10px;background:rgba(255,255,255,.035)}.admin-provider-card dt{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.45)}.admin-provider-card dd{margin:3px 0 0;font-size:13px;font-weight:800}.admin-provider-message{margin:0;color:#ffb0b0;font-size:12px;line-height:1.5;word-break:break-word}.admin-provider-card button:disabled{opacity:.4;cursor:not-allowed}.admin-provider-events h3{font-size:18px;margin:0 0 12px}.admin-provider-mini{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase}.admin-provider-mini.is-ok{background:rgba(185,255,57,.1);color:#cfff73}.admin-provider-mini.is-error{background:rgba(255,91,91,.1);color:#ffaaaa}
@media(max-width:900px){.admin-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-provider-grid{grid-template-columns:1fr}.admin-settings-grid{grid-template-columns:1fr}.admin-course-row{align-items:flex-start;flex-direction:column}.admin-course-row .admin-row-actions{width:100%}.craftr-announcement-inner{justify-content:space-between}}
@media(max-width:600px){.admin-toggle-grid{grid-template-columns:1fr}.admin-settings-card{padding:16px}.admin-settings-save{align-items:stretch;flex-direction:column}.admin-settings-save button{width:100%}.craftr-announcement-inner{padding:9px 14px;align-items:flex-start;flex-direction:column;gap:6px}.craftr-announcement-inner a{font-size:12px}}


/* Phase 2 admin light-theme contrast fix */
.admin-platform,.admin-course-manager,.admin-provider-area{color:#101828}
.admin-settings-card{border-color:#e4e7ec;background:#fff;color:#101828}
.admin-settings-card h3,.admin-course-toolbar strong,.admin-course-row strong,.admin-provider-head h3,.admin-provider-events h3{color:#101828}
.admin-settings-card p{color:#667085}
.admin-settings-card label>span,.admin-course-form label>span{color:#667085}
.admin-settings-card input,.admin-settings-card textarea,.admin-settings-card select,.admin-course-form input,.admin-course-form select{border-color:#d0d5dd;background:#fff;color:#101828}
.admin-settings-card input::placeholder,.admin-settings-card textarea::placeholder,.admin-course-form input::placeholder{color:#98a2b3}
.admin-toggle{border-color:#e4e7ec;background:#f9fafb}
.admin-toggle>span{color:#101828!important}
.admin-toggle i{background:#d0d5dd}
.admin-toggle input:checked+i{background:#b9ff39}
.admin-settings-save{background:#111827;border-color:#111827}
.admin-settings-save span{color:#d0d5dd}
.admin-course-toolbar{background:#f9fafb;border-color:#e4e7ec;color:#101828}
.admin-course-toolbar span{color:#667085}
.admin-course-list{color:#101828}
.admin-course-row{border-color:#e4e7ec;background:#fff;color:#101828}
.admin-course-row span{color:#667085}
.admin-course-row a{color:#5f46d6}
.admin-course-track{background:#efffd7;color:#4b7b00!important}
.admin-course-inactive{background:#fff1f0;color:#b42318!important}
.admin-course-form{border-color:#d9f99d;background:#fbfff5;color:#101828}
.admin-provider-card{border-color:#e4e7ec;background:#fff;color:#101828}
.admin-provider-head span:first-child{color:#667085}
.admin-provider-status{background:#f2f4f7;color:#475467}
.admin-provider-status.is-ok{background:#ecfdf3;color:#027a48}
.admin-provider-status.is-error{background:#fef3f2;color:#b42318}
.admin-provider-card dl div{background:#f9fafb}
.admin-provider-card dt{color:#667085}
.admin-provider-card dd{color:#101828}
.admin-provider-message{color:#b42318}
.admin-provider-mini.is-ok{background:#ecfdf3;color:#027a48}
.admin-provider-mini.is-error{background:#fef3f2;color:#b42318}
.admin-flash.is-success{background:#ecfdf3;border-color:#abefc6;color:#067647}
.admin-flash.is-error{background:#fef3f2;border-color:#fecdca;color:#b42318}
