/* CareerPilot Shared Workspace Navigation v1 */
:root {
  --cp-nav-bg: #ffffff;
  --cp-nav-text: #172033;
  --cp-nav-muted: #667085;
  --cp-nav-border: #e1e7ef;
  --cp-nav-primary: #2563eb;
  --cp-nav-soft: #eff6ff;
  --cp-nav-danger: #b42318;
}

#careerPilotWorkspaceNav { position: sticky; top: 0; z-index: 3000; }
.cp-workspace-nav {
  min-height: 76px;
  padding: 10px 28px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  background: var(--cp-nav-bg);
  color: var(--cp-nav-text);
  border-bottom: 1px solid var(--cp-nav-border);
  box-shadow: 0 4px 18px rgba(15,23,42,.04);
}
.cp-workspace-brand { color: var(--cp-nav-primary); font-size: 24px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.cp-workspace-links { display: flex; align-items: center; justify-content: center; gap: 18px; min-width: 0; }
.cp-workspace-links a { color: var(--cp-nav-text); font-size: 13px; font-weight: 750; text-decoration: none; white-space: nowrap; }
.cp-workspace-links a:hover, .cp-workspace-links a.active { color: var(--cp-nav-primary); }
.cp-workspace-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; white-space: nowrap; }
.cp-workspace-action {
  min-height: 42px; padding: 0 13px; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--cp-nav-border); border-radius: 10px; background: var(--cp-nav-bg); color: var(--cp-nav-text);
  font: inherit; font-size: 13px; font-weight: 800; text-decoration: none; cursor: pointer;
}
.cp-workspace-action:hover { border-color: #b8ccf6; background: var(--cp-nav-soft); color: var(--cp-nav-primary); }
.cp-workspace-logout { color: var(--cp-nav-danger); }
.cp-mobile-menu-button { display: none; }
.workspace-page-toolbar {
  margin: 18px auto 0; padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px;
  width: min(1460px, calc(100% - 36px)); border: 1px solid var(--cp-nav-border); border-radius: 14px; background: var(--cp-nav-bg);
}
.workspace-page-toolbar strong, .workspace-page-toolbar span { display: block; }
.workspace-page-toolbar span { margin-top: 3px; color: var(--cp-nav-muted); font-size: 12px; }
.workspace-page-toolbar-actions { display: flex; gap: 9px; flex-wrap: wrap; }
.workspace-toolbar-button, .workspace-toolbar-primary { min-height: 42px; padding: 0 14px; border-radius: 10px; font: inherit; font-weight: 800; cursor: pointer; }
.workspace-toolbar-button { border: 1px solid var(--cp-nav-border); background: var(--cp-nav-bg); color: var(--cp-nav-text); }
.workspace-toolbar-primary { border: 1px solid var(--cp-nav-primary); background: var(--cp-nav-primary); color: #fff; }
.dark-mode, [data-theme="dark"] {
  --cp-nav-bg: #111827; --cp-nav-text: #f8fafc; --cp-nav-muted: #b7c1d1; --cp-nav-border: #2d3a50; --cp-nav-soft: #172554; --cp-nav-danger: #fca5a5;
}
@media (max-width: 1280px) {
  .cp-workspace-nav { padding-inline: 18px; gap: 14px; }
  .cp-workspace-links { justify-content: flex-start; overflow-x: auto; gap: 14px; scrollbar-width: thin; }
  .cp-workspace-links a { font-size: 12px; }
}
@media (max-width: 900px) {
  .cp-workspace-nav { grid-template-columns: auto 1fr auto; flex-wrap: wrap; }
  .cp-mobile-menu-button { display: inline-flex; }
  .cp-workspace-links { display: none; grid-column: 1 / -1; width: 100%; padding: 10px 0 4px; flex-wrap: wrap; }
  .cp-workspace-nav.menu-open .cp-workspace-links { display: flex; }
  .cp-workspace-actions .cp-settings-label, .cp-workspace-actions .cp-theme-label { display: none; }
}
@media (max-width: 620px) {
  .cp-workspace-nav { padding: 10px 12px; gap: 8px; }
  .cp-workspace-brand { font-size: 20px; }
  .cp-workspace-action { min-width: 40px; padding: 0 9px; }
  .cp-workspace-logout { display: none; }
  .workspace-page-toolbar { width: calc(100% - 20px); align-items: stretch; flex-direction: column; }
  .workspace-page-toolbar-actions { display: grid; grid-template-columns: 1fr; }
}


/* CareerPilot Workspace Navigation — RC1 polish */
.cp-workspace-links {
    scrollbar-color:
        var(--cp-nav-border)
        transparent;
}

.cp-workspace-links a {
    position: relative;
    padding: 10px 0;
}

.cp-workspace-links a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 3px;
    left: 0;
    height: 2px;
    border-radius: 999px;
    background: var(--cp-nav-primary);
    opacity: 0;
    transform: scaleX(.4);
    transition:
        opacity .18s ease,
        transform .18s ease;
}

.cp-workspace-links a:hover::after,
.cp-workspace-links a.active::after {
    opacity: 1;
    transform: scaleX(1);
}

.cp-workspace-action:focus-visible,
.cp-workspace-links a:focus-visible,
.cp-workspace-brand:focus-visible {
    outline: 3px solid rgba(37, 99, 235, .28);
    outline-offset: 3px;
}

@media (max-width: 900px) {
    .cp-workspace-links {
        max-height: calc(100vh - 94px);
        overflow-y: auto;
    }

    .cp-workspace-nav.menu-open {
        box-shadow:
            0 16px 38px
            rgba(15, 23, 42, .14);
    }
}

/* =========================================================
   CareerPilot Mobile Polish v1.0
   Launch-only responsive refinements. Desktop >= 981px untouched.
========================================================= */

@media (max-width: 980px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  body { -webkit-text-size-adjust: 100%; }

  button, a, input, select, textarea { max-width: 100%; }
  button, .cp-workspace-action,
  .workspace-toolbar-button,
  .resume-ai-button,
  .resume-review-button,
  .jmp-primary-button,
  .jmp-secondary-button,
  .jt-primary-link,
  .jt-secondary-button,
  .interview-primary-button,
  .interview-secondary-button,
  .coach-primary-button,
  .coach-secondary-button,
  .settings-primary-button,
  .settings-secondary-button,
  .settings-danger-button {
    min-height: 44px;
  }

  /* Shared workspace nav */
  .cp-workspace-nav {
    gap: 12px;
    padding: 12px 16px;
  }
  .cp-workspace-brand { flex: 1 1 auto; }
  .cp-workspace-actions { gap: 8px; }
  .cp-workspace-links {
    width: 100%;
    padding: 8px 4px 14px;
  }

  /* Resume Builder */
  .resume-builder { width: min(100% - 24px, 1500px) !important; margin-inline: auto !important; }
  .resume-builder-workspace-toolbar {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    align-items: stretch !important;
  }
  .resume-builder-workspace-toolbar > div:first-child { min-width: 0 !important; }
  .resume-builder-workspace-toolbar .workspace-page-toolbar-actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .resume-builder-workspace-toolbar .workspace-toolbar-button,
  .resume-builder-workspace-toolbar .workspace-toolbar-primary {
    width: 100% !important;
    justify-content: center !important;
    margin: 0 !important;
  }
  .resume-builder-header {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    align-items: start !important;
  }
  .resume-builder-header > div:first-child { min-width: 0 !important; }
  .resume-builder-header h1 {
    max-width: 680px !important;
    font-size: clamp(3rem, 8vw, 4.2rem) !important;
    line-height: 1.08 !important;
  }
  .resume-header-actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    align-items: stretch !important;
  }
  .resume-auto-save-status {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
    margin: 0 !important;
  }
  .resume-ai-button,
  .resume-review-button {
    width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
    white-space: normal !important;
  }
  .resume-workspace {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px !important;
  }
  .resume-preview-panel,
  .resume-health-panel { position: static !important; top: auto !important; }
  .resume-form-grid { grid-template-columns: 1fr !important; }
  .resume-form-group-full { grid-column: auto !important; }
  .resume-photo-editor { grid-template-columns: 1fr !important; }
  .resume-photo-editor-preview { justify-self: start !important; }

  /* Dashboard */
  .dashboard-shell { width: min(100% - 24px, 1500px) !important; }
  .hero-card,
  .panel-heading { gap: 16px !important; }
  .hero-card { grid-template-columns: 1fr !important; }
  .hero-actions { width: 100% !important; justify-content: flex-start !important; flex-wrap: wrap !important; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .dashboard-grid,
  .dashboard-grid.insight-grid,
  .dashboard-grid.lower-grid,
  .dashboard-grid.live-grid,
  .dashboard-grid.intelligence-grid { grid-template-columns: 1fr !important; }
  .quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .funnel-grid { overflow-x: auto !important; }

  /* Job Match */
  .jmp-page { width: min(100% - 24px, 1500px) !important; }
  .jmp-hero,
  .jmp-results-heading,
  .jmp-card-heading { gap: 14px !important; }
  .jmp-input-grid,
  .jmp-score-grid,
  .jmp-insight-grid,
  .jmp-analysis-grid { grid-template-columns: 1fr !important; }
  .jmp-form-grid { grid-template-columns: 1fr !important; }
  .jmp-field-full { grid-column: auto !important; }
  .jmp-main-score-card { grid-template-columns: auto minmax(0, 1fr) !important; }
  .jmp-save-panel { grid-template-columns: 1fr !important; gap: 16px !important; }
  .jmp-save-controls {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(120px, .65fr) minmax(160px, 1fr) minmax(160px, 1fr) !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .jmp-save-controls select,
  .jmp-save-controls button,
  .jmp-save-controls a { width: 100% !important; margin: 0 !important; justify-content: center !important; }
  .jmp-success-message { grid-column: 1 / -1 !important; }

  /* Job Tracker */
  .jt-page { width: min(100% - 24px, 1480px) !important; }
  .jt-hero { gap: 18px !important; }
  .jt-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .jt-workspace { grid-template-columns: 1fr !important; }
  .jt-form-grid { grid-template-columns: 1fr 1fr !important; }
  .jt-field-full { grid-column: 1 / -1 !important; }
  .jt-toolbar { flex-wrap: wrap !important; }
  .jt-toolbar input { flex: 1 1 280px !important; }

  /* Pipeline: preserve useful columns by horizontal scroll rather than squeezing */
  .pipeline-shell { width: min(100% - 24px, 1600px) !important; }
  .pipeline-hero { grid-template-columns: 1fr !important; gap: 16px !important; }
  .pipeline-hero-actions { justify-content: flex-start !important; flex-wrap: wrap !important; }
  .pipeline-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .pipeline-toolbar { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .pipeline-toolbar input { grid-column: 1 / -1 !important; width: 100% !important; }
  .pipeline-board {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(280px, 72vw) !important;
    grid-template-columns: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity !important;
    overscroll-behavior-inline: contain !important;
    padding-bottom: 14px !important;
  }
  .pipeline-column { min-width: 0 !important; scroll-snap-align: start !important; }

  /* Interview Intelligence */
  .interview-page { width: min(100% - 24px, 1500px) !important; }
  .interview-hero { grid-template-columns: 1fr !important; gap: 16px !important; }
  .interview-status { justify-self: start !important; }
  .interview-setup-grid,
  .interview-two-column,
  .scorecard-grid,
  .insight-grid { grid-template-columns: 1fr !important; }
  .interview-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .interview-choice-grid.compact { grid-template-columns: 1fr !important; }
  .interview-action-panel,
  .interview-session-heading,
  .interview-scorecard-actions,
  .interview-answer-footer { flex-wrap: wrap !important; gap: 10px !important; }
  .interview-answer-card textarea { min-height: 220px !important; }

  /* Career Coach */
  .coach-shell { width: min(100% - 24px, 1500px) !important; }
  .coach-hero { grid-template-columns: 1fr !important; gap: 16px !important; }
  .coach-layout { grid-template-columns: 1fr !important; }
  .coach-sidebar { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }
  .coach-chat-panel { min-width: 0 !important; }
  .coach-composer { grid-template-columns: 1fr !important; }
  .coach-composer textarea { min-height: 130px !important; }

  /* Settings */
  .settings-shell { width: min(100% - 24px, 1450px) !important; }
  .settings-hero { grid-template-columns: 1fr !important; gap: 16px !important; }
  .settings-layout { grid-template-columns: 1fr !important; }
  .settings-menu {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding-bottom: 8px !important;
    position: static !important;
  }
  .settings-menu-button { flex: 0 0 auto !important; white-space: nowrap !important; }
  .settings-form,
  .theme-choice-grid,
  .account-overview-grid { grid-template-columns: 1fr !important; }

  /* Modals */
  .ai-modal,
  .resume-review-modal { padding: 14px !important; align-items: flex-start !important; overflow-y: auto !important; }
  .ai-modal-content,
  .resume-review-content {
    width: min(100%, 980px) !important;
    max-height: calc(100dvh - 28px) !important;
    overflow-y: auto !important;
    margin: 0 auto !important;
  }
  .resume-review-metrics,
  .resume-review-columns { grid-template-columns: 1fr !important; }
}

@media (max-width: 600px) {
  .cp-workspace-nav { padding: 10px 12px; }
  .cp-workspace-brand { font-size: 1.15rem !important; }
  .cp-settings-label,
  .cp-theme-label { display: none !important; }
  .cp-workspace-action { min-width: 42px !important; padding-inline: 10px !important; }

  .resume-builder { width: min(100% - 16px, 1500px) !important; }
  .resume-builder-workspace-toolbar { gap: 12px !important; }
  .resume-builder-workspace-toolbar .workspace-page-toolbar-actions { grid-template-columns: 1fr !important; }
  .resume-builder-header h1 { font-size: clamp(2.35rem, 12vw, 3.15rem) !important; }
  .resume-header-actions { grid-template-columns: 1fr !important; }
  .resume-auto-save-status { grid-column: auto !important; }
  .resume-form-section,
  .resume-entry-card,
  .resume-editor-panel { padding-inline: 14px !important; }
  .resume-photo-editor-controls { width: 100% !important; }
  .resume-photo-upload-button,
  .resume-photo-remove-button,
  .resume-photo-reset-button { width: 100% !important; }

  .stats-grid,
  .quick-grid,
  .jt-summary-grid,
  .pipeline-summary-grid,
  .coach-sidebar { grid-template-columns: 1fr !important; }

  .jmp-page,
  .jt-page,
  .pipeline-shell,
  .interview-page,
  .coach-shell,
  .settings-shell,
  .dashboard-shell { width: min(100% - 16px, 1500px) !important; }

  .jmp-main-score-card { grid-template-columns: 1fr !important; }
  .jmp-save-controls { grid-template-columns: 1fr !important; }
  .jmp-save-controls select,
  .jmp-save-controls button,
  .jmp-save-controls a { min-height: 46px !important; }

  .jt-form-grid,
  .pipeline-toolbar { grid-template-columns: 1fr !important; }
  .jt-field-full,
  .pipeline-toolbar input { grid-column: auto !important; }
  .jt-form-actions,
  .jt-resume-helper-actions { display: grid !important; grid-template-columns: 1fr !important; gap: 9px !important; }

  .pipeline-board { grid-auto-columns: minmax(270px, 88vw) !important; }

  .interview-choice-grid { grid-template-columns: 1fr !important; }
  .interview-primary-button,
  .interview-secondary-button { width: 100% !important; justify-content: center !important; }

  .coach-chat-header,
  .coach-composer-footer { flex-wrap: wrap !important; gap: 10px !important; }
  .coach-primary-button,
  .coach-secondary-button { width: 100% !important; justify-content: center !important; }

  .settings-panel { padding-inline: 16px !important; }
  .settings-primary-button,
  .settings-secondary-button,
  .settings-danger-button { width: 100% !important; justify-content: center !important; }

  .resume-review-header,
  .resume-review-body,
  .resume-review-footer { padding-inline: 16px !important; }
  .resume-review-score-panel { grid-template-columns: 1fr !important; text-align: center !important; }
  .resume-review-score-circle { margin-inline: auto !important; }
}

@media (max-width: 380px) {
  .cp-workspace-actions { gap: 5px !important; }
  .cp-workspace-action { min-width: 38px !important; padding-inline: 7px !important; }
  .resume-builder-header h1 { font-size: 2.2rem !important; }
  .pipeline-board { grid-auto-columns: minmax(250px, 90vw) !important; }
}
