/* Shared interface refinements; document layouts keep their own typography. */
@media screen {
    :root { --ink: #213e34; --muted: #66736b; --green: #35664f; --line: #e1e7df; --canvas: #f8faf6; --sidebar: 240px; }
    body { font-size: 15px; }
    .sidebar { padding-top: 34px; }
    .workspace-label { font-size: 10px; margin-top: 38px; }
    .main-nav > a { font-size: 14px; padding: 13px; border-radius: 9px; }
    .main-nav > a.active { box-shadow: inset 3px 0 #35664f; }
    .main-nav small { font-size: 11px; }
    .sidebar-tip { border-radius: 14px; padding: 20px 16px; }
    .sidebar-tip p, .sidebar-tip > a, .sidebar-bottom > a { font-size: 12px; }
    .sidebar-account strong { font-size: 12px; }
    .sidebar-account small, .sidebar-account div > a { font-size: 10px; line-height: 1.6; }
    .topbar { height: 80px; padding-inline: 40px; }
    .breadcrumb-label, .signin-link { font-size: 13px; }
    .free-note { font-size: 12px; color: #62735e; }
    .content { padding: 40px; max-width: 1440px; }
    .eyebrow { font-size: 10px; letter-spacing: 1.7px; color: #65785c; }
    .btn { min-height: 44px; padding: 13px 20px; font-size: 13px; border-radius: 8px; font-weight: 600; }
    .btn-dark { box-shadow: 0 4px 10px #29483912; }
    .text-link { font-size: 13px; font-weight: 500; }
    .hero { padding: 28px 0 56px; grid-template-columns: 1.15fr 1fr; gap: 35px; }
    .hero h1 { font-size: clamp(38px, 4.1vw, 65px); letter-spacing: -2.4px; line-height: 1.13; margin: 22px 0; }
    .hero-copy > p { max-width: 440px; font-size: 15px; line-height: 1.85; }
    .hero-actions { gap: 22px; flex-wrap: wrap; margin: 28px 0 22px; }
    .hero-assurances { display: flex; flex-wrap: wrap; gap: 8px 17px; color: #65785d; font-size: 11px; line-height: 1.8; }
    .hero-art { min-height: 450px; border-radius: 40% 40% 16px 16px; background: #e9efe4; isolation: isolate; }
    .hero-paper { width: 260px; transform: rotate(5deg); border: 7px solid white; box-shadow: 0 25px 45px #233d3326; }
    .hero-paper .mini-cv { min-height: 360px; }
    .note-one { top: 20px; right: 24px; font-size: 14px; transform: rotate(-7deg); }
    .hero-ready { position: absolute; bottom: 20px; left: -15px; display: flex; align-items: center; gap: 12px; padding: 15px 19px; border: 1px solid #e0e7dc; border-radius: 12px; background: #fff; box-shadow: 0 8px 30px #233d3310; }
    .hero-ready > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #35664f; background: #edf4e8; }
    .hero-ready strong { display: block; font-size: 12px; }
    .hero-ready small { display: block; font-size: 10px; color: #687868; margin-top: 4px; }
    .hero-orbit { bottom: 65px; right: -12px; font-size: 64px; z-index: -1; }
    .benefit-strip { padding: 28px 0; gap: 24px; }
    .benefit-strip > div { grid-template-columns: 40px 1fr; gap: 3px 12px; align-items: center; }
    .benefit-strip > div > span { width: 40px; height: 40px; font-size: 15px; }
    .benefit-strip strong { font-size: 13px; }
    .benefit-strip small { font-size: 11px; line-height: 1.7; }
    .section-heading { margin: 48px 0 26px; }
    .section-heading h2, .home-features h2 { font-size: clamp(29px, 3vw, 39px); line-height: 1.2; }
    .template-grid { gap: 30px 22px; }
    .template-art { border-radius: 12px; height: 350px; padding: 38px 24px 0; }
    .template-art:hover, .template-art:focus-visible { box-shadow: 0 12px 24px #283c3014; border-color: #a1b59b; }
    .template-meta { padding-top: 17px; }
    .template-meta h3 { font-size: 15px; margin-bottom: 7px; }
    .template-meta p { font-size: 11px; color: #6b7866; }
    .template-use { width: 40px; height: 40px; }
    .ats-badge, .popular-badge { font-size: 10px; padding: 5px 9px; }
    .preview-hover { font-size: 12px; border-radius: 7px; }
    .home-features { display: grid; grid-template-columns: 1fr 1.1fr; gap: 50px; padding: 54px 0; margin-top: 42px; border-top: 1px solid var(--line); }
    .home-features > div > p { max-width: 330px; margin-top: 20px; font-size: 14px; }
    .feature-details { display: grid; gap: 24px; }
    .feature-details article { display: flex; gap: 17px; }
    .feature-details article > span { background: #eaf0e5; color: #35664f; flex: 0 0 42px; height: 42px; border-radius: 10px; display: grid; place-items: center; font-size: 23px; }
    .feature-details h3 { font-size: 15px; letter-spacing: -.2px; margin: 1px 0 7px; }
    .feature-details p { font-size: 13px; margin: 0; }
    .bottom-cta { padding: 34px; border-radius: 14px; margin-top: 0; }
    .bottom-cta .eyebrow { font-size: 10px; }
    .bottom-cta h2 { font-size: 30px; }
    .bottom-cta p { font-size: 13px; }
    .page-heading h1 { font-size: clamp(30px, 3.3vw, 43px); }
    .page-heading p, .preview-description > p { font-size: 14px; }
    .gallery-banner { border-radius: 12px; padding: 23px; }
    .gallery-banner strong { font-size: 15px; }
    .gallery-banner p { font-size: 12px; color: #64745c; }
    .banner-tag { font-size: 11px; }
    .filter-toolbar { gap: 18px; flex-wrap: wrap; }
    .category-tab { font-size: 12px; padding: 11px 12px; min-height: 44px; color: #62705f; }
    .category-tab span { font-size: 10px; }
    .search-box { max-width: 240px; min-height: 44px; border-radius: 8px; }
    .search-box input { font-size: 13px; }
    .search-box button { min-width: 28px; min-height: 28px; font-size: 14px; color: #4d6944; }
    .results-toolbar, .results-toolbar p, .ats-filter { font-size: 12px; color: #65725e; }
    .ats-filter input { width: 16px; height: 16px; }
    .gallery-footnote { font-size: 11px; color: #62755c; }
    .auth-layout, .settings-card { border-radius: 16px; box-shadow: 0 10px 35px #213e3406; }
    .auth-form > p, .auth-switch, .guest-link, .field-label, .settings-card label { font-size: 13px; }
    .form-control, .form-select { font-size: 14px; padding: 12px; min-height: 44px; border-radius: 7px; }
    .form-control:focus, .form-select:focus { border-color: #6b8b5f; box-shadow: 0 0 0 3px #6b8b5f18; }
    .editor-intro p, .editor-hint { font-size: 12px; }
    .editor-section h3 { font-size: 16px; }
    .field-grid label, .entry-fields label { font-size: 12px; }
    .field-grid input, .entry-fields input, .entry-fields textarea, .editor-section > textarea { font-size: 13px; padding: 11px; }
    .add-entry { font-size: 12px; min-height: 44px; }
    .remove-entry { font-size: 11px; min-height: 32px; }
    .saved-meta h3 { font-size: 16px; }
    .saved-meta small, .saved-actions { font-size: 12px; }
    .app-footer { padding: 25px 40px; font-size: 11px; line-height: 1.7; }
    .skip-link { position: fixed; left: 16px; top: -100px; z-index: 200; background: #294839; color: white; padding: 12px 18px; border-radius: 8px; }
    .skip-link:focus { top: 12px; }
    .nav-backdrop { display: none; }
    @media (max-width: 1200px) {
        :root { --sidebar: 215px; }
        .content { padding: 32px 28px; }
        .hero { gap: 24px; }
        .hero h1 { font-size: 43px; }
        .hero-paper { width: 225px; }
        .hero-art { min-height: 420px; }
        .hero-ready { left: -8px; padding: 12px; }
        .template-art { height: 320px; }
    }
    @media (max-width: 1000px) {
        .hero { grid-template-columns: 1fr; }
        .hero-copy > p { max-width: 550px; }
        .hero-art { display: grid; min-height: 410px; max-width: 510px; width: 100%; margin: 14px auto 0; }
        .hero-paper { width: 245px; }
        .benefit-strip > div { grid-template-columns: 1fr; }
        .benefit-strip > div > span { margin-bottom: 8px; }
        .home-features { grid-template-columns: 1fr; gap: 30px; }
        .search-box { max-width: none; width: 100%; }
        .section-heading { gap: 18px; }
    }
    @media (max-width: 700px) {
        :root { --sidebar: 0px; }
        .content { padding: 26px 20px; }
        .topbar { height: 68px; padding-inline: 20px; }
        .hero { padding-top: 10px; padding-bottom: 32px; }
        .hero h1 { font-size: clamp(35px, 8.8vw, 51px); letter-spacing: -1.8px; }
        .hero-copy .eyebrow, .eyebrow { font-size: 9px; letter-spacing: 1.3px; }
        .hero-copy > p { font-size: 14px; }
        .hero-actions .btn { font-size: 13px; }
        .hero-art { min-height: 390px; }
        .hero-paper { width: 230px; }
        .hero-ready { left: 4px; bottom: 12px; }
        .hero-orbit { right: 6px; }
        .benefit-strip { grid-template-columns: 1fr; gap: 20px; }
        .benefit-strip > div { grid-template-columns: 40px 1fr; gap: 2px 14px; }
        .benefit-strip > div > span { margin: 0; }
        .benefit-strip strong { font-size: 14px; }
        .benefit-strip small { font-size: 12px; }
        .template-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 14px; }
        .template-art { height: 265px; padding: 38px 13px 0; }
        .template-meta h3 { font-size: 13px; }
        .template-meta p { font-size: 10px; }
        .template-use { width: 32px; height: 32px; flex-shrink: 0; }
        .ats-badge, .popular-badge { font-size: 8px; padding: 4px 6px; }
        .page-heading { flex-wrap: wrap; }
        .page-heading .btn { font-size: 12px; margin: 0; }
        .gallery-banner strong { font-size: 13px; }
        .gallery-banner p { font-size: 12px; }
        .category-tabs { gap: 3px; }
        .category-tab { font-size: 12px; padding: 10px; }
        .home-features { margin-top: 32px; padding-block: 36px; }
        .bottom-cta { padding: 25px; }
        .bottom-cta h2 { font-size: 28px; }
        .app-footer { padding: 24px 20px 85px; }
        .sidebar { width: min(280px, 85vw); z-index: 110; overflow-y: auto; }
        .nav-open { overflow: hidden; }
        .nav-open .nav-backdrop { display: block; position: fixed; inset: 0; z-index: 105; background: #102c2266; border: 0; }
        .mobile-menu { z-index: 120; width: 50px; height: 50px; }
        .editor-top input { max-width: 100%; min-width: 0; }
        .field-grid { grid-template-columns: 1fr; }
    }
    @media (max-width: 420px) {
        .template-grid { grid-template-columns: 1fr; }
        .template-art { height: 370px; padding: 40px 32px 0; }
        .mini-head h3 { font-size: 16px; }
        .mini-cv h4, .mini-cv b, .mini-cv p { font-size: 6px; }
        .template-meta h3 { font-size: 15px; }
        .template-meta p { font-size: 12px; }
        .ats-badge, .popular-badge { font-size: 10px; }
        .hero-art { min-height: 370px; }
        .hero-paper { width: 205px; }
        .hero-ready strong { font-size: 11px; }
        .results-toolbar { gap: 12px; flex-wrap: wrap; }
    }
    @media (prefers-reduced-motion: reduce) {
        *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; }
    }
}
@media print { .skip-link, .nav-backdrop, .hero-ready { display: none !important; } }
@media screen {
    .dashboard-start { display: grid; grid-template-columns: 1.15fr 1fr; gap: 36px; background: #eaf1e5; border: 1px solid #dce6d6; border-radius: 16px; padding: 32px; }
    .dashboard-start h2 { font-size: 31px; }
    .dashboard-start p { font-size: 14px; max-width: 480px; }
    .dashboard-start .hero-actions { margin-bottom: 0; }
    .dashboard-steps { list-style: none; padding: 0; margin: 0; display: grid; align-content: center; gap: 22px; }
    .dashboard-steps li { display: flex; align-items: center; gap: 14px; }
    .dashboard-steps li > span { background: white; border: 1px solid #d8e3d3; border-radius: 50%; width: 38px; height: 38px; display: grid; place-items: center; flex-shrink: 0; }
    .dashboard-steps strong { display: block; font-size: 14px; }
    .dashboard-steps small { display: block; font-size: 12px; color: #65765d; margin-top: 4px; }
    .dashboard-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
    .dashboard-stats > * { padding: 23px; background: white; border: 1px solid var(--line); border-radius: 12px; min-width: 0; }
    .dashboard-stats span, .dashboard-stats small { display: block; color: #667460; font-size: 12px; }
    .dashboard-stats strong { display: block; font-size: 31px; margin: 9px 0; }
    .dashboard-stats .stat-date { font-size: 20px; letter-spacing: -.6px; overflow-wrap: anywhere; }
    .dashboard-count { font: 15px 'DM Sans', sans-serif; background: #e7eee2; border-radius: 8px; padding: 5px 10px; vertical-align: middle; }
    .dashboard-cvs { display: grid; gap: 18px; }
    .dashboard-cv { display: flex; align-items: center; gap: 25px; padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: white; }
    .dashboard-document { display: block; flex: 0 0 135px; min-height: 165px; padding: 15px; background: #fafcf9; border: 1px solid #e0e7dc; border-top: 5px solid var(--document-accent); border-radius: 4px; overflow-wrap: anywhere; }
    .dashboard-document > span { display: block; font-size: 9px; color: #718269; letter-spacing: 2px; margin-bottom: 14px; }
    .dashboard-document strong { display: block; color: var(--document-accent); font-size: 13px; }
    .dashboard-document small { display: block; font-size: 9px; color: #6b7864; margin-top: 5px; }
    .dashboard-document i { display: block; background: #e3e9de; height: 3px; margin-top: 10px; }
    .dashboard-document i:last-child { width: 70%; }
    .dashboard-cv-details { min-width: 0; flex: 1; }
    .dashboard-cv-details h3 { font-size: 22px; overflow-wrap: anywhere; }
    .dashboard-cv-details p { font-size: 12px; }
    .dashboard-cv-details .eyebrow { margin-bottom: 10px; }
    .dashboard-cv-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 18px; margin-top: 20px; }
    .dashboard-cv-actions form { margin: 0; }
    .dashboard-cv-actions .text-link { min-height: 44px; }
    .dashboard-empty { border: 1px dashed #bdcdb4; border-radius: 14px; text-align: center; padding: 45px 24px; }
    .dashboard-empty > span { font-size: 40px; color: #7a9470; }
    .dashboard-empty h3 { font-size: 23px; margin-top: 15px; }
    .dashboard-empty p { max-width: 460px; margin: 15px auto 24px; font-size: 14px; }
    @media (max-width: 1000px) { .dashboard-start { grid-template-columns: 1fr; } .dashboard-stats { grid-template-columns: 1fr; } }
    @media (max-width: 700px) { .dashboard-start { padding: 24px; gap: 28px; } .dashboard-start h2 { font-size: 27px; } .dashboard-cv { align-items: flex-start; flex-direction: column; padding: 20px; } .dashboard-document { width: 135px; flex-basis: auto; } .dashboard-stats { gap: 12px; } }
}
@media screen {
    .about-intro { padding: 20px 0 45px; max-width: 760px; }
    .about-intro h1 { font-size: clamp(36px, 4.5vw, 62px); line-height: 1.15; }
    .about-intro > p { max-width: 610px; font-size: 16px; margin-top: 24px; }
    .about-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
    .about-values article { padding: 26px; border: 1px solid var(--line); background: white; border-radius: 14px; }
    .about-values article > span { font-size: 10px; letter-spacing: 1.3px; color: #63775a; }
    .about-values h2 { font-size: 24px; margin: 20px 0 14px; }
    .about-values p { font-size: 14px; margin: 0; }
    .admin-stats { margin-bottom: 24px; }
    .admin-shortcuts { display: flex; flex-wrap: wrap; gap: 12px 24px; padding-bottom: 30px; font-size: 13px; color: #35664f; }
    .admin-template-heading { display: flex; gap: 12px; align-items: center; justify-content: space-between; }
    .admin-template-heading h3 { font-size: 19px; margin: 0; }
    .template-status { background: #f0f1ed; padding: 5px 9px; border-radius: 5px; font-size: 10px; white-space: nowrap; }
    .template-status.published { color: #35664f; background: #e8f2e2; }
    .admin-layout-note { font-size: 12px; margin-top: 10px; }
    .admin-grid { align-items: start; }
    .admin-grid > form[hidden] { display: none; }
    .admin-grid .settings-card { max-width: none; width: 100%; padding: 25px; }
    .admin-grid input[type=color] { display: block; height: 40px; width: 70px; padding: 3px; border: 1px solid var(--line); border-radius: 6px; }
    #template-manager, #contact-inbox { scroll-margin-top: 24px; }
    @media (max-width: 1000px) { .about-values { grid-template-columns: 1fr; } }
}
