/* CareerForge workspace refinement: readable type, deliberate spacing and responsive controls. */
body.app-workspace {
    --ink: #172b27;
    --green: #176653;
    --green-dark: #104b3e;
    --mint: #e9f4ed;
    --line: #dbe6df;
    --muted: #60716b;
    --paper: #f4f7f3;
    background: var(--paper);
    color: var(--ink);
    font-family: Manrope, "Segoe UI Variable", "Segoe UI", sans-serif;
    font-size: 15px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}

.app-workspace :where(h1, h2, h3, h4, p, label, input, select, textarea, button, a) {
    letter-spacing: normal;
}
.app-workspace h1, .app-workspace h2, .app-workspace h3 {
    color: var(--ink);
    letter-spacing: -.035em;
    line-height: 1.22;
}
.app-workspace h1 { font-size: clamp(1.9rem, 3vw, 2.65rem) !important; font-weight: 780; }
.app-workspace h2 { font-size: clamp(1.25rem, 2vw, 1.65rem); font-weight: 740; }
.app-workspace h3 { font-size: 1.08rem; font-weight: 720; }
.app-workspace p { line-height: 1.68; }
.app-workspace :where(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid #a6d5a5;
    outline-offset: 3px;
}

.app-workspace .nav-wrap {
    background: #fff;
    border-bottom-color: #e3ebe5;
    box-shadow: 0 3px 14px rgb(25 55 42 / 4%);
}
.app-workspace .nav { min-height: 68px; }
.app-workspace .brand { font-weight: 820; }
.app-workspace .nav-actions { gap: 10px; }
.app-workspace .header-credit { font-size: 13px; min-height: 42px; padding: 8px 14px; }
.app-workspace .notification-bell,
.app-workspace .account-menu summary { width: 42px; height: 42px; }

.app-workspace .workspace-shell { gap: 25px; }
.app-workspace .workspace-sidebar {
    background: #fff;
    border: 1px solid #e2ebe4;
    border-radius: 16px;
    padding: 18px 12px;
    box-shadow: 0 8px 26px rgb(26 59 43 / 5%);
}
.app-workspace .workspace-sidebar strong { font-size: 11px; padding-inline: 12px; }
.app-workspace .workspace-sidebar nav a,
.app-workspace .workspace-mobile-menu nav a {
    min-height: 44px;
    padding: 10px 12px;
    border-radius: 9px;
    font-size: 14px;
    line-height: 1.35;
    color: #40554d;
}
.app-workspace .workspace-sidebar nav a[aria-current="page"],
.app-workspace .workspace-mobile-menu nav a[aria-current="page"] {
    background: #e6f2e9;
    color: #104f40;
}
.app-workspace .workspace-main { padding: 30px clamp(20px, 3vw, 48px) 64px; }
.app-workspace .workspace-main > .wrap { max-width: 1440px; }
.app-workspace .workspace-shell.menu-collapsed { grid-template-columns: minmax(0, 1fr); }
.app-workspace .workspace-shell.menu-collapsed .workspace-sidebar { display: none; }
.app-workspace .workspace-shell.menu-collapsed .workspace-main { width: 100%; }
.app-workspace .workspace-shell.menu-collapsed .workspace-main > .wrap { max-width: none; }
.workspace-menu-bar { max-width: 1440px; margin: 0 auto 10px; display: flex; justify-content: flex-start; }
.workspace-menu-toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 7px 11px; border: 1px solid #d9e5dc; border-radius: 9px; color: #31574a; background: #fff; font: 650 13px/1.2 Manrope, "Segoe UI", sans-serif; cursor: pointer; }
.workspace-menu-toggle:hover { background: #eff6f0; border-color: #b9d0bf; }
.app-workspace .workspace-shell.menu-collapsed .workspace-menu-toggle svg { transform: rotate(180deg); }
.app-workspace .workspace-shell.menu-collapsed .document-shell { max-width: 1560px; }
.app-workspace .workspace-shell.menu-collapsed .cv-builder { max-width: 1440px; }
.app-workspace .workspace-mobile-menu {
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: 0 5px 18px rgb(26 59 43 / 4%);
}
.app-workspace .workspace-mobile-menu summary { padding: 6px 4px; min-height: 32px; }
.app-workspace .template-gallery { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.app-workspace .template-gallery button { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 9px; border-radius: 12px; }
.app-workspace .template-gallery button img { display: block; width: 100%; aspect-ratio: 320 / 452; object-fit: contain; background: #f4f7f4; border: 1px solid #e3e9e4; border-radius: 6px; }
.app-workspace .template-gallery button strong { font-size: 13px; line-height: 1.35; }
.app-workspace .template-gallery button[aria-pressed="true"] { border-width: 2px; background: #fbfefb; }

.app-workspace :where(.card, .section-card, .metric-card, .panel, .suggestion-card, .job-prep-step) {
    border-color: #e0e9e2 !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 24px rgb(24 54 40 / 5%) !important;
}
.app-workspace .metric-card { padding: 22px; }
.app-workspace .metric-card > span,
.app-workspace .metric-card > small { color: #667970; font-size: 13px; line-height: 1.5; }
.app-workspace .metric-card > strong { color: #173d32; font-size: clamp(1.8rem, 2.5vw, 2.25rem); margin: 9px 0; }
.app-workspace .quick-links { gap: 10px; }
.app-workspace .quick-links a { min-height: 44px; padding: 11px 15px; border-radius: 9px; font-size: 13px; }
.app-workspace .connection-grid { gap: 14px; }
.app-workspace .connection-grid a { border-radius: 12px; padding: 18px; }
.app-workspace .connection-grid span { font-size: 13px; line-height: 1.55; }

.app-workspace .field { margin-bottom: 20px; }
.app-workspace .field label { color: #344c43; font-size: 14px; line-height: 1.4; margin-bottom: 8px; }
.app-workspace .field input,
.app-workspace .field select,
.app-workspace .field textarea,
.app-workspace input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.app-workspace select,
.app-workspace textarea {
    border: 1px solid #cfded3;
    border-radius: 10px;
    color: var(--ink);
    font-size: 15px;
    line-height: 1.45;
    background: #fff;
}
.app-workspace .field input:not([type="color"]):not([type="checkbox"]):not([type="file"]),
.app-workspace .field select,
.app-workspace input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.app-workspace select { min-height: 46px; padding: 10px 13px; }
.app-workspace .field textarea,
.app-workspace textarea { min-height: 116px; padding: 12px 13px; }
.app-workspace .field small,
.app-workspace .settings-stack > section > p { color: #687970; font-size: 13px; line-height: 1.55; }
.app-workspace .btn {
    min-height: 44px;
    border-radius: 9px;
    padding: 11px 17px;
    font-size: 14px;
    font-weight: 720;
    box-shadow: 0 3px 8px rgb(15 73 57 / 10%);
    transition: background-color .16s ease, border-color .16s ease, transform .16s ease, box-shadow .16s ease;
}
.app-workspace .btn:hover { transform: translateY(-1px); box-shadow: 0 6px 14px rgb(15 73 57 / 14%); }
.app-workspace .btn.secondary { box-shadow: none; }
.app-workspace .check { font-size: 14px; line-height: 1.5; }
.app-workspace .list li { font-size: 14px; line-height: 1.55; }

/* Job search, saved matches and application preparation */
.app-workspace .career,
.app-workspace .job-picks,
.app-workspace .job-prep { padding-top: 24px !important; }
.app-workspace .career section { border-radius: 16px !important; }
.app-workspace .career .result,
.app-workspace .career article { min-width: 0; }
.app-workspace .job-picks-head { align-items: center; }
.app-workspace .job-picks-head p { max-width: 700px; font-size: 16px; }
.app-workspace .job-alert-card { padding: clamp(20px, 3vw, 30px); }
.app-workspace .alert-fields { column-gap: 18px; }
.app-workspace .alert-controls { padding-top: 5px; }
.app-workspace .alert-switch { min-height: 44px; font-size: 14px; }
.app-workspace .alert-switch input { width: 20px; height: 20px; }
.app-workspace .suggestion-card { padding: 22px; }
.app-workspace .suggestion-card h3 { font-size: 20px; }
.app-workspace .suggestion-card p { font-size: 15px; }
.app-workspace .suggestion-source,
.app-workspace .suggestion-age,
.app-workspace .suggestion-disclaimer { font-size: 13px; }
.app-workspace .suggestion-card-footer { gap: 14px; padding-top: 17px; }
.app-workspace .suggestion-actions { gap: 9px; }
.app-workspace .job-prep-hero,
.app-workspace .job-prep-step { padding: clamp(20px, 3vw, 30px); }
.app-workspace .job-prep-grid { gap: 20px; }

/* Floating help: a single gentle arrival cue, with motion disabled when requested. */
.app-workspace .assistant { right: 24px; bottom: 24px; }
.app-workspace .assistant-toggle {
    width: 58px;
    height: 58px;
    border: 2px solid rgb(255 255 255 / 70%);
    box-shadow: 0 8px 24px rgb(12 67 52 / 25%);
    animation: assistant-arrive 700ms ease-out 900ms both;
}
.app-workspace .assistant-toggle:hover { transform: translateY(-2px) scale(1.03); }
.app-workspace .assistant-panel {
    border-radius: 16px;
    box-shadow: 0 20px 60px rgb(20 48 36 / 22%);
}
.app-workspace .assistant-messages { padding: 16px; }
.app-workspace .assistant-messages p { font-size: 14px; line-height: 1.55; }
.app-workspace .assistant-note { font-size: 11px; line-height: 1.45; }
.app-workspace .assistant textarea { min-height: 48px; font-size: 15px; }
.app-workspace .assistant form .btn { min-height: 44px; }
@keyframes assistant-arrive {
    0% { opacity: 0; transform: translateY(12px) scale(.88); }
    65% { opacity: 1; transform: translateY(-3px) scale(1.04); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

@media (min-width: 1500px) {
    .app-workspace .workspace-main { padding-inline: 52px; }
}
@media (max-width: 1100px) {
    .app-workspace .workspace-shell { grid-template-columns: 205px minmax(0, 1fr); }
    .app-workspace .workspace-main { padding-inline: 24px; }
    .app-workspace .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 850px) {
    .app-workspace .workspace-shell { display: block; }
    .app-workspace .workspace-sidebar { display: none; }
    .workspace-menu-bar { display: none; }
    .app-workspace .workspace-shell.menu-collapsed { display: block; }
    .app-workspace .workspace-shell.menu-collapsed .workspace-sidebar { display: none; }
    .app-workspace .template-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .app-workspace .workspace-main { padding: 20px 18px 82px; }
    .app-workspace .workspace-mobile-menu { margin: 0 0 18px; padding: 12px 15px; }
    .app-workspace .workspace-mobile-menu nav { gap: 5px; }
    .app-workspace .workspace-mobile-menu nav a { padding: 10px; }
    .app-workspace .grid2,
    .app-workspace .job-prep-grid { grid-template-columns: 1fr 1fr; }
    .app-workspace .page-heading { align-items: flex-start; }
}
@media (max-width: 600px) {
    .app-workspace { font-size: 15px; }
    .app-workspace .nav { min-height: 62px; padding-inline: 13px; gap: 8px; }
    .app-workspace .brand { font-size: 14px; gap: 7px; }
    .app-workspace .brand-mark { height: 30px; width: 30px; }
    .app-workspace .nav-actions { gap: 6px; }
    .app-workspace .header-credit { min-height: 38px; padding: 6px 9px; font-size: 11px; }
    .app-workspace .header-credit strong { font-size: 14px; }
    .app-workspace .notification-bell,
    .app-workspace .account-menu summary { width: 38px; height: 38px; }
    .app-workspace .workspace-main { padding: 16px 14px 78px; }
    .app-workspace .workspace-mobile-menu nav { grid-template-columns: 1fr 1fr; }
    .app-workspace .template-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
    .app-workspace .workspace-mobile-menu nav a { min-height: 44px; font-size: 13px; }
    .app-workspace .metric-grid,
    .app-workspace .grid2,
    .app-workspace .grid3,
    .app-workspace .connection-grid,
    .app-workspace .job-prep-grid { grid-template-columns: 1fr; }
    .app-workspace .metric-grid { gap: 11px; }
    .app-workspace .metric-card { padding: 17px; }
    .app-workspace .metric-card > strong { margin: 5px 0; }
    .app-workspace .page-heading { display: block; margin-bottom: 20px; }
    .app-workspace .quick-links a { flex: 1 1 145px; }
    .app-workspace .section-card,
    .app-workspace .panel { padding: 18px !important; }
    .app-workspace .career section { padding: 18px !important; margin-block: 15px; }
    .app-workspace .job-picks-head { display: block; }
    .app-workspace .job-picks-head .btn { margin-top: 15px; width: 100%; }
    .app-workspace .alert-fields { grid-template-columns: 1fr; }
    .app-workspace .alert-controls { align-items: stretch; flex-direction: column; }
    .app-workspace .alert-controls .btn { width: 100%; }
    .app-workspace .suggestion-card { padding: 17px; }
    .app-workspace .suggestion-card-footer { align-items: flex-start; flex-direction: column; }
    .app-workspace .suggestion-actions { width: 100%; }
    .app-workspace .suggestion-actions .btn { flex: 1; }
    .app-workspace .assistant { right: 14px; bottom: 14px; }
    .app-workspace .assistant-toggle { width: 54px; height: 54px; }
    .app-workspace .assistant-panel { right: -4px; width: calc(100vw - 24px); height: min(560px, calc(100dvh - 94px)); }
}
@media (prefers-reduced-motion: reduce) {
    .app-workspace *, .app-workspace *::before, .app-workspace *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
