/* CVPilot Tailwind + Cream/Sage design system. Utilities live in tailwind.css; this file defines app-level semantic surfaces and persistent dark mode. */
:root {
  color-scheme: light;
  --bg: #f8f5ee;
  --paper: #fffdf8;
  --paper-2: #f3efe5;
  --ink: #292a22;
  --muted: #777669;
  --line: #e8e0d2;
  --soft: #efeee4;
  --navy: #292a22;
  --sage: #788365;
  --sage-deep: #59664a;
  --terracotta: #b87456;
  --shadow: 0 24px 70px rgba(68, 58, 41, .085);
  --shadow-sm: 0 10px 30px rgba(68, 58, 41, .06);
  --theme-transition: background-color .24s ease, color .24s ease, border-color .24s ease, box-shadow .24s ease;
}
html { background: var(--bg); scroll-behavior: smooth; }
html.theme-transition-root, html.theme-transition-root body, html.theme-transition-root body * { transition-property: background-color, border-color, color, box-shadow; transition-duration: .18s; transition-timing-function: ease; }
body.public-site-body {
  background: radial-gradient(circle at 8% 0%, rgba(220, 210, 186, .22), transparent 29rem), radial-gradient(circle at 96% 19%, rgba(199, 211, 184, .24), transparent 25rem), var(--bg) !important;
  color: var(--ink) !important;
}
body.admin-console-body { background: #f5f1e8 !important; color: var(--ink) !important; }
.site-header { background: rgba(251, 248, 241, .92) !important; border-color: rgba(224, 214, 197, .86) !important; box-shadow: 0 7px 25px rgba(66, 57, 43, .035) !important; }
.site-header .main-nav a, .site-header .nav-quiet { color: #68685b; }
.site-header .main-nav a:hover, .site-header .nav-quiet:hover { color: var(--sage-deep); }
.site-header .brand-wordmark { color: #2c2d24; }
.site-footer { background: #f1ece1; border-color: var(--line) !important; }
.site-footer, .site-footer p, .site-footer a { color: #747163; }
.site-footer strong { color: #34352b; }
.trust-strip { background: rgba(255, 253, 248, .78) !important; border-color: var(--line) !important; }
.feature-card, .template-card, .price-card, .tool-tile, .panel, .stat-card, .editor-panel, .preview-panel, .sidebar, .profile-card, .dashboard-card, .admin-stat-card, .admin-analytics-panel, .admin-quick-panel, .admin-settings-panel, .admin-table-panel, .admin-gateway-card, .admin-provider-card, .admin-gateway-summary-card, .admin-quick-link, .admin-webhook-url-panel {
  background-color: var(--paper) !important;
  border-color: var(--line) !important;
  box-shadow: var(--shadow-sm);
}
.feature-card h3, .template-card h3, .price-card h3, .panel h2, .panel h3, .section-title, .section-head h2, .page-hero h1, .page-heading h1, .admin-section-heading h1, .admin-page-toolbar h2 { color: var(--ink); }
.feature-card p, .template-card p, .section-head p, .page-hero p, .subhead, .muted, .panel p, .admin-section-heading p { color: var(--muted); }
input:not([type=checkbox]):not([type=radio]):not([type=range]), select, textarea {
  background-color: #fffdf8;
  border-color: #dfd7c9;
  color: #292a22;
}
input::placeholder, textarea::placeholder { color: #a09a8d; }
input:focus, select:focus, textarea:focus { border-color: #a0a98a !important; box-shadow: 0 0 0 3px rgba(120, 131, 101, .13) !important; outline: none; }
.btn-primary { background: linear-gradient(135deg, var(--primary), var(--primary-dark)) !important; border-color: var(--primary-dark) !important; color: #fffdf8 !important; box-shadow: 0 9px 22px color-mix(in srgb, var(--primary) 18%, transparent) !important; }
.btn-primary:hover { background: linear-gradient(135deg, color-mix(in srgb, var(--primary) 86%, white), var(--primary-dark)) !important; }
.btn-accent { color: #292a22 !important; background: linear-gradient(135deg, #e3e9d8, #cbd7b9) !important; border-color: #c4d0b0 !important; }
.btn-outline, .btn-ghost { border-color: #ddd5c6; color: #5d6250; background: rgba(255,253,248,.72); }
.sidebar-link.active, .sidebar-link:hover { background: linear-gradient(110deg, #e9eddf, #f4f5ec) !important; color: #526144 !important; box-shadow: inset 3px 0 #788365 !important; }
.sidebar-link.active svg, .sidebar-link:hover svg { color: #657350 !important; }
.dropzone { background: #fdfbf6; border-color: #d8d0c0; }
.dropzone-icon, .feature-icon { background: #edf0e5; color: #657350; }
.nav-dropdown-menu { background: var(--paper) !important; border-color: var(--line) !important; box-shadow: var(--shadow); }
.theme-toggle {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 37px; padding: 8px 11px; border: 1px solid #e0d8ca; border-radius: 999px;
  background: rgba(255,253,248,.8); color: #5f6354; font: 700 11px/1.2 "DM Sans", Inter, sans-serif;
  cursor: pointer; white-space: nowrap; box-shadow: 0 3px 10px rgba(61,52,38,.025);
}
.theme-toggle:hover { transform: translateY(-1px); border-color: #c8cdb9; background: #fffdf8; box-shadow: 0 8px 20px rgba(61,52,38,.08); }
.theme-toggle svg { width: 15px; height: 15px; flex: none; }
.theme-toggle:focus-visible { outline: 3px solid rgba(120,131,101,.35); outline-offset: 2px; }
.admin-console-top-actions { gap: 12px; }
.admin-console-root { background: #f5f1e8 !important; }
.admin-console-sidebar { background: rgba(255,253,248,.95) !important; border-color: #e6ddcd !important; }
.admin-console-topbar { background: rgba(255,253,248,.85) !important; border-color: #e6ddcd !important; }
.admin-console-brand strong { color: #292a22 !important; }
.admin-console-nav-label { color: #989181 !important; }
.admin-nav-link { color: #6b6a5e !important; }
.admin-nav-link:hover, .admin-nav-link.active { background: #ecefe4 !important; color: #526144 !important; }
.admin-section-heading { border-color: #e4dccd; }
.admin-section-eyebrow { color: #7a8266 !important; }
.admin-console-security { background: #eef0e6 !important; border-color: #e0e4d4 !important; }
.admin-console-live { color: #657350 !important; }
.admin-console-live i { background: #7a9564 !important; }
.admin-console-user-avatar { background: linear-gradient(145deg,#7e896a,#56654a) !important; }
.admin-chart { background: #f9f7f0 !important; border-color: #ece5d8 !important; }
.admin-table-panel table th { background: #f8f5ee !important; color: #777669 !important; }
.admin-table-panel table td, .admin-table-panel table th { border-color: #ece5d8 !important; }
.admin-console-footer { color: #898575 !important; border-color: #e3dbcd !important; }
.resume-preview, .resume-sheet, .mini-resume, .mini-sheet, .resume-window .resume-sheet, .template-document, .resume-paper {
  background-color: #ffffff !important; color: #263042 !important;
}
.resume-preview h1, .resume-preview h2, .resume-preview h3, .resume-preview p, .resume-preview span, .mini-resume h1, .mini-resume h2, .mini-resume h3, .mini-resume p, .mini-resume span { color: revert; }

/* Dark mode: semantic surfaces, legible controls and the admin shell respond to the root .dark class. Resume paper stays white so previews remain faithful to print output. */
html.dark { color-scheme: dark; --bg: #171915; --paper: #20221c; --paper-2: #282a23; --ink: #f4f0e6; --muted: #b2ae9f; --line: #3a3b31; --soft: #292b23; --navy: #f4f0e6; --sage: #b0bd99; --sage-deep: #96a580; --terracotta: #e0a184; --shadow: 0 24px 70px rgba(0,0,0,.24); --shadow-sm: 0 10px 30px rgba(0,0,0,.17); }
html.dark body.public-site-body, html.dark body.admin-console-body { background: radial-gradient(circle at 8% 0%, rgba(91, 103, 73, .11), transparent 30rem), #171915 !important; color: #f4f0e6 !important; }
html.dark .site-header { background: rgba(27,29,24,.94) !important; border-color: #37392f !important; box-shadow: 0 7px 25px rgba(0,0,0,.14) !important; }
html.dark .site-header .brand-wordmark, html.dark .site-header .main-nav a, html.dark .site-header .nav-quiet { color: #e2dece; }
html.dark .site-header .main-nav a:hover, html.dark .site-header .main-nav a.is-current { color: #c5d0b2; }
html.dark .site-footer { background: #1d1f19 !important; border-color: #37392f !important; }
html.dark .site-footer, html.dark .site-footer p, html.dark .site-footer a { color: #b7b2a3 !important; }
html.dark .site-footer strong { color: #f2eddf !important; }
html.dark .trust-strip { background: rgba(32,34,28,.82) !important; border-color: #393b30 !important; }
html.dark .feature-card, html.dark .template-card, html.dark .price-card, html.dark .tool-tile, html.dark .panel, html.dark .stat-card, html.dark .editor-panel, html.dark .preview-panel, html.dark .sidebar, html.dark .profile-card, html.dark .dashboard-card, html.dark .admin-stat-card, html.dark .admin-analytics-panel, html.dark .admin-quick-panel, html.dark .admin-settings-panel, html.dark .admin-table-panel, html.dark .admin-gateway-card, html.dark .admin-provider-card, html.dark .admin-gateway-summary-card, html.dark .admin-quick-link, html.dark .admin-webhook-url-panel { background-color: #20221c !important; border-color: #3a3b31 !important; box-shadow: 0 10px 30px rgba(0,0,0,.14) !important; }
html.dark .feature-card h3, html.dark .template-card h3, html.dark .price-card h3, html.dark .panel h2, html.dark .panel h3, html.dark .section-title, html.dark .section-head h2, html.dark .page-hero h1, html.dark .page-heading h1, html.dark .admin-section-heading h1, html.dark .admin-page-toolbar h2, html.dark .admin-console-brand strong { color: #f4f0e6 !important; }
html.dark .feature-card p, html.dark .template-card p, html.dark .section-head p, html.dark .page-hero p, html.dark .subhead, html.dark .muted, html.dark .panel p, html.dark .admin-section-heading p { color: #b2ae9f !important; }
html.dark input:not([type=checkbox]):not([type=radio]):not([type=range]), html.dark select, html.dark textarea { background: #1a1c17 !important; color: #f4f0e6 !important; border-color: #47483c !important; }
html.dark input::placeholder, html.dark textarea::placeholder { color: #827f72 !important; }
html.dark .btn-outline, html.dark .btn-ghost { background: #272921 !important; color: #e3dece !important; border-color: #46473b !important; }
html.dark .theme-toggle { background: #292b24; border-color: #46483d; color: #e7e2d5; box-shadow: none; }
html.dark .theme-toggle:hover { background: #34372b; border-color: #687454; }
html.dark .nav-dropdown-menu { background: #20221c !important; border-color: #3a3b31 !important; }
html.dark .sidebar-link { color: #b7b4a7 !important; }
html.dark .sidebar-link.active, html.dark .sidebar-link:hover { background: #303429 !important; color: #d5e0c3 !important; box-shadow: inset 3px 0 #a1b18a !important; }
html.dark .sidebar-link.active svg, html.dark .sidebar-link:hover svg { color: #b9c8a2 !important; }
html.dark .dropzone { background: #1a1c17 !important; border-color: #515244 !important; }
html.dark .dropzone-icon, html.dark .feature-icon { background: #30372a !important; color: #c1d0aa !important; }
html.dark .admin-console-root { background: #171915 !important; color: #f4f0e6 !important; }
html.dark .admin-console-sidebar, html.dark .admin-console-topbar { background: #20221c !important; border-color: #3a3b31 !important; }
html.dark .admin-console-nav-label, html.dark .admin-breadcrumb, html.dark .admin-console-user small { color: #a49f90 !important; }
html.dark .admin-console-security { background: #282b22 !important; border-color: #3b4030 !important; }
html.dark .admin-console-live { color: #c3d1b0 !important; }
html.dark .admin-chart, html.dark .admin-table-panel table th { background: #191b16 !important; border-color: #383a30 !important; color: #aaa695 !important; }
html.dark .admin-table-panel table td, html.dark .admin-table-panel table th, html.dark .admin-section-heading, html.dark .admin-console-footer { border-color: #383a30 !important; }
html.dark .admin-nav-link { color: #c3beaf !important; }
html.dark .admin-console-user { color: #eee9dc !important; }
html.dark .admin-console-footer { color: #918d7e !important; }
html.dark .notice, html.dark .tool-note, html.dark .admin-login-note, html.dark .payment-disclaimer { background: #2b2a20 !important; border-color: #4d4835 !important; color: #d4c6a2 !important; }
html.dark .resume-preview, html.dark .resume-sheet, html.dark .mini-resume, html.dark .mini-sheet, html.dark .resume-window .resume-sheet, html.dark .template-document, html.dark .resume-paper { background-color: #fff !important; color: #263042 !important; box-shadow: 0 8px 26px rgba(0,0,0,.22); }
html.dark .resume-preview h1, html.dark .resume-preview h2, html.dark .resume-preview h3, html.dark .resume-preview p, html.dark .resume-preview span, html.dark .mini-resume h1, html.dark .mini-resume h2, html.dark .mini-resume h3, html.dark .mini-resume p, html.dark .mini-resume span { color: revert; }
html.dark .admin-console-brand-symbol { box-shadow: 0 7px 18px rgba(0,0,0,.2); }
@media (max-width: 820px) { .theme-toggle { width: 38px; min-width: 38px; height: 38px; padding: 0; gap: 0; } .theme-toggle [data-theme-label] { display: none; } .admin-console-top-actions .admin-console-live { display: none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } html.theme-transition-root, html.theme-transition-root body, html.theme-transition-root body * { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }

/* Finishing touches for the cream system and complex screens that intentionally retain their distinctive component layouts. */
.template-library-hero { background: radial-gradient(circle at 82% 17%, rgba(204, 208, 185, .28), transparent 28%), radial-gradient(circle at 57% 100%, rgba(218, 226, 204, .3), transparent 30%), linear-gradient(135deg, #fbf8f1 0%, #f5f0e5 55%, #f7f6ee 100%) !important; border-bottom-color: #e8e0d2 !important; }
.template-library-stats { border-color: #e7dfd0 !important; background: rgba(255,253,248,.78) !important; }
.template-results-counter { background: #fffdf8 !important; border-color: #e8e0d2 !important; color: #6c6d60 !important; }
.template-library-bottom-cta { background: linear-gradient(110deg, #f0eee4, #eff3e7) !important; border-color: #e4e4d5 !important; }
.cta-box { background: linear-gradient(120deg, #efede2, #fbf9f2 58%, #e8eddf) !important; border-color: #e6decf !important; }
.faq-question { color: #34352b; }
.faq-answer { color: #777669; }
.price-divider { background: #e9e2d6 !important; }
.editor-tabs { border-color: #e9e2d6 !important; }
.editor-tab { color: #777669 !important; }
.editor-tab.active { background: #e8eddf !important; color: #59664a !important; }
.experience-item { border-color: #e8e0d2 !important; background: #fffdf8; }
.admin-commandbar, .admin-settings-toggle, .admin-template-kpi { background: #fffdf8 !important; border-color: #e8e0d2 !important; }
.admin-live-pill, .admin-date-label { background: rgba(255,253,248,.9) !important; border-color: #e8e0d2 !important; color: #777669 !important; }
.template-card-premium { background: #fffdf8 !important; border-color: #e8e0d2 !important; }
.template-preview-shell { background: linear-gradient(180deg, #f2efe6, #ece8dd) !important; border-color: #e8e0d2 !important; }
.template-preview-shell:after { background: linear-gradient(0deg, rgba(242,239,230,.88), transparent) !important; }
.template-filter-chip { background: #fffdf8 !important; border-color: #e8e0d2 !important; color: #777669 !important; }
.template-filter-chip.active { color: #fff !important; border-color: var(--primary) !important; background: linear-gradient(135deg,var(--primary),var(--primary-dark)) !important; }
html.dark .template-library-hero { background: radial-gradient(circle at 82% 17%, rgba(105, 119, 82, .15), transparent 28rem), linear-gradient(135deg, #1b1d17, #20221b 55%, #1c2019) !important; border-bottom-color: #3a3b31 !important; }
html.dark .template-library-stats, html.dark .template-results-counter, html.dark .template-library-bottom-cta, html.dark .cta-box, html.dark .template-filter-panel, html.dark .admin-commandbar, html.dark .admin-settings-toggle, html.dark .admin-template-kpi, html.dark .template-card-premium { background: #20221c !important; border-color: #3a3b31 !important; color: #f4f0e6 !important; }
html.dark .template-preview-shell { background: linear-gradient(180deg, #282a23, #22241e) !important; border-color: #3a3b31 !important; }
html.dark .template-preview-shell:after { background: linear-gradient(0deg, rgba(34,36,30,.85), transparent) !important; }
html.dark .template-filter-chip { background: #272921 !important; border-color: #47483c !important; color: #c5c0b1 !important; }
html.dark .template-filter-chip.active { background: linear-gradient(135deg,#7b8764,#59664a) !important; border-color: #879570 !important; color: #fffdf8 !important; }
html.dark .faq-question { color: #f0ecdf !important; }
html.dark .faq-answer { color: #b2ae9f !important; }
html.dark .price-divider, html.dark .editor-tabs { background-color: transparent !important; border-color: #3a3b31 !important; }
html.dark .editor-tab { color: #b2ae9f !important; }
html.dark .editor-tab.active { background: #30372a !important; color: #cfddba !important; }
html.dark .experience-item { border-color: #3a3b31 !important; background: #20221c !important; }
html.dark .admin-live-pill, html.dark .admin-date-label { background: #272921 !important; border-color: #47483c !important; color: #b2ae9f !important; }
html.dark .cta-box h2, html.dark .cta-box h3, html.dark .cta-box p { color: #f4f0e6 !important; }


/* CVPilot signature motion: a restrained entrance for the homepage promise. */
.hero .display .hero-closer-word{position:relative;display:inline-block;isolation:isolate;transform-origin:50% 85%;animation:cvpilot-closer-arrive .92s cubic-bezier(.18,.78,.2,1) .12s both;will-change:transform,opacity,filter}
.hero .display .hero-closer-word::after{content:"";position:absolute;left:0;right:0;bottom:-.035em;height:.075em;border-radius:99px;background:linear-gradient(90deg,rgba(123,145,111,.28),currentColor 40%,rgba(123,145,111,.35));transform:scaleX(0);transform-origin:left center;animation:cvpilot-closer-underline .68s cubic-bezier(.18,.78,.2,1) .68s forwards;opacity:.65}
@keyframes cvpilot-closer-arrive{0%{opacity:0;transform:translate3d(0,.22em,0) scale(.975);filter:blur(5px)}65%{opacity:1;filter:blur(0);transform:translate3d(0,-.025em,0) scale(1.005)}100%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}}
@keyframes cvpilot-closer-underline{to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.hero .display .hero-closer-word,.hero .display .hero-closer-word::after{animation:none!important;transform:none!important;filter:none!important;opacity:1!important}}

/* Paid templates remain inspectable, but the upgrade action is clear and consistent. */
.template-preview-shell{position:relative}
.template-card-is-locked .template-preview-page{filter:saturate(.78)}
.template-lock-veil{position:absolute;z-index:5;inset:9px;display:flex;align-items:center;justify-content:center;pointer-events:none;background:rgba(248,247,241,.28);border-radius:10px;opacity:1}
.template-lock-pill{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 12px;border:1px solid rgba(88,103,78,.2);border-radius:999px;background:rgba(255,254,249,.94);color:#344333;box-shadow:0 8px 22px rgba(37,45,32,.12);font-size:10px;font-weight:800;letter-spacing:.01em;backdrop-filter:blur(8px)}
.template-lock-pill svg{width:13px;height:13px;flex:none}
.template-card-is-locked .template-tier-badge{border-color:rgba(178,132,60,.24)}
.template-card-is-locked .template-use-link{color:#94651e}
.template-card-is-locked:hover .template-lock-pill{transform:translateY(-2px);box-shadow:0 12px 28px rgba(37,45,32,.16)}
.template-lock-pill{transition:transform .22s ease,box-shadow .22s ease}
html.dark .template-lock-veil{background:rgba(18,22,18,.28)}
html.dark .template-lock-pill{background:rgba(34,39,32,.94);border-color:rgba(213,221,202,.18);color:#e9eedf;box-shadow:0 8px 22px rgba(0,0,0,.3)}
.required-plan-notice{display:flex;flex-direction:column;gap:6px;max-width:780px;margin:0 auto 22px;text-align:left}
.required-plan-notice strong{display:flex;align-items:center;gap:8px;font-size:14px}
.required-plan-notice strong svg{width:16px;height:16px;flex:none}
.required-plan-notice span{font-size:12px;line-height:1.65}
@media(max-width:520px){.template-lock-pill{font-size:9px;padding:8px 10px}.template-lock-veil{inset:6px}}
