/* Folio Quest: shared Budget.chat surfaces. Client conversation previews retain their own styling. */
:root {
  --canvas: #feeac7; --panel: #ffffff; --line: #e5c9ab; --text: #724319;
  --muted: #7b5537; --green: #724319; --soft: #ffe0d3;
  --quest-purple: #724319; --quest-deep: #724319; --quest-mint: #cad182;
  --quest-coral: #f7b1b0; --quest-yellow: #cad182; --quest-lilac: #f7b1b0;
}
body, body.chat-app { background: var(--canvas); color: var(--text); font-family: "DM Sans", ui-rounded, system-ui, sans-serif; }
h1,h2,h3 { color: var(--text); }
h1 { font-weight: 800; letter-spacing: -.045em; }
a { color: #724319; }
button, input, select, textarea { font-family: inherit; }
button, .primary, .add-button, .step-cta { border-radius: 12px; }
button:not(:disabled), a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline: 3px solid #724319; outline-offset: 4px; }
button:not(:disabled):active, .quest-cta:active { transform: translateY(2px); box-shadow: none; }
button:disabled { cursor: default; }
input, select, textarea { border-color: #f7b1b0; color: var(--text); background: white; }
.eyebrow, .kicker, .welcome-eyebrow { color: #724319; font-weight: 800; letter-spacing: .16em; }
.intro, .note, .page-head p, .page-name, .private { color: var(--muted); }
.primary, .hero-connect, .hero-mcp, .install-button, .dialog-action, .quest-cta,
body.quest-banking button:not(#sign-out), body.quest-transactions button:not(.transaction-link):not(:disabled) {
  background: #724319; color: #fff; border: 1px solid #724319; box-shadow: 0 3px 0 #724319;
  font-weight: 750; transition: background .15s, transform .15s, box-shadow .15s;
}
.primary:hover, .hero-connect:hover, .hero-mcp:hover, .quest-cta:hover { background: #a65352; color: white; }
.quiet, .add-button, .back-link, .folio-promise button { color: #724319; background: #f7b1b0; border-color: #f7b1b0; }
.quiet:hover, .add-button:hover { background: #f7b1b0; }
dialog { color: var(--text); border-color: var(--line); border-radius: 24px; }
dialog p { color: var(--muted); }
dialog::backdrop { background: #72431966; }
.panel, .source-card, .connection-row, .assignment-editor, .table-scroll, .quest-banking section { border-color: var(--line); border-radius: 20px; box-shadow: 0 5px 0 #f7b1b04d; }
.brand, .folio-brand, .rail-logo, .quest-brand { color: var(--text); font-weight: 850; letter-spacing: -.045em; text-decoration: none; }
.quest-brand { display: inline-flex; align-items: center; gap: 10px; font-size: 25px; line-height: 1; }
.quest-brand img { display: block; width: 40px; height: 40px; }
.quest-brand>span { display:block; font-size:25px; font-weight:850; color:var(--text); line-height:1; }
.quest-brand small { display: block; color: var(--muted); letter-spacing: 0; font-size: 10px; margin-top: 7px; font-weight: 500; }
.folio-sidebar, .rail { background: #f7b1b0; border-color: var(--line); }
.folio-brand { gap: 10px; font-size: 28px; }
.folio-brand>img, .rail-logo>img { width: 40px; height: 40px; flex-shrink: 0; }
.folio-brand small { color: var(--muted); }
.folio-nav button, .folio-nav>a { color: #724319; font-size: 13px; font-weight: 600; }
.folio-nav>a { display: flex; align-items: center; gap: 12px; padding: 12px; text-decoration: none; border-radius: 12px; min-height: 44px; }
.folio-nav>a>span { width: 22px; font-size: 22px; text-align: center; }
.folio-nav button.selected, .rail-button.active { background: #f7b1b0; color: #724319; font-weight: 750; border-radius: 12px; }
.folio-nav button:hover, .folio-nav>a:hover { background: #f7b1b0; }
.new-chat { color: #724319; background: #fffdf9; border-color: #f7b1b0; border-radius: 12px; font-weight: 700; }
.new-chat:hover { background: #f7b1b0; }
.sidebar-brand-note h3, .sidebar-brand-note p, .sidebar-profile, .sidebar-profile small, .rail-note { color: #724319; }
.sidebar-brand-note>span { color: #724319; }
.sidebar-profile .avatar, .avatar, .large-avatar { background: #f7b1b0; color: #724319; }
.folio-topbar, .topbar { background: #feeac7; border-color: var(--line); color: #724319; }
.demo-pill, .environment, .count { background: #f7b1b0; color: #724319; border-color: #f7b1b0; }
.demo-pill>span:first-child { background: #a65352; }
.chat-main { max-width: 1280px; padding: 30px 44px 0; }
.quest-hero { position: relative; display: grid; grid-template-columns: 1.05fr 1fr; gap: 16px; align-items: center; padding: 26px 0 28px; }
.quest-hero-copy { position: relative; z-index: 1; }
.quest-hero h1 { color: #724319; font-size: clamp(38px,4.3vw,65px); font-weight: 850; line-height: 1.04; letter-spacing: -.06em; margin: 17px 0 22px; }
.quest-hero h1 em { color: #724319; font-style: normal; }
.quest-hero-copy>p:not(.welcome-eyebrow) { max-width: 410px; font-size: 15px; line-height: 1.75; color: #7b5537; }
.quest-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 25px; }
.quest-cta { display: inline-flex; align-items: center; justify-content: center; gap: 20px; text-decoration: none; padding: 14px 20px; min-height: 48px; border-radius: 12px; font-size: 14px; }
.quest-hero-actions>a:last-child { color: #724319; font-size: 13px; font-weight: 700; text-underline-offset: 4px; }
.quest-hero-art { position: relative; min-width: 0; border-radius: 38% 42% 34% 30%; background: radial-gradient(ellipse at 50% 55%,#f7b1b0 0,#f7b1b0 40%,#feeac700 72%); }
.quest-hero-art img { width: 115%; max-width: none; display: block; margin-left: -7%; aspect-ratio: 1.5; object-fit: contain; }
.quest-art-note { position: absolute; right: 8%; bottom: 6%; color: #724319; font-size: 12px; font-weight: 700; transform: rotate(-5deg); }
.quest-spark { color: #a65352; font-size: 34px; position: absolute; right: 8%; top: 6%; }
.quest-category-strip { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin: 0 0 36px; }
.quest-category { display: flex; gap: 10px; align-items: center; justify-content: center; border-radius: 15px; padding: 15px 10px; font-size: 13px; font-weight: 750; color: #724319; }
.quest-category svg { width: 24px; height: 24px; }
.quest-category:nth-child(1) { background: var(--quest-mint); }.quest-category:nth-child(2) { background: var(--quest-coral); }.quest-category:nth-child(3) { background: var(--quest-yellow); }.quest-category:nth-child(4) { background: var(--quest-lilac); }
.quest-start { padding: 24px 26px; background: #fff; border: 1px solid var(--line); border-radius: 22px; margin-bottom: 45px; box-shadow: 0 5px 0 #f7b1b04d; }
.quest-start-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.quest-start-heading h2 { font-size: 20px; font-weight: 800; letter-spacing: -.6px; margin: 0; }
.quest-start-heading>span { background: #f7b1b0; color: #724319; font-size: 10px; padding: 5px 10px; border-radius: 30px; font-weight: 700; }
.quest-start .setup-steps { margin: 0; padding: 0; }
.quest-start .setup-step { padding: 0; background: transparent; border: 0; box-shadow: none; }
.quest-start .step-number { background: #f7b1b0; color: #a65352; border-color: #f7b1b0; font-weight: 800; }
.quest-start .setup-step:nth-of-type(2) .step-number { background: #cad182; color: #20624f; }
.quest-start .setup-step:nth-of-type(3) .step-number { background: #cad182; color: #6a501c; }
.quest-start .setup-step h2 { font-size: 15px; color: #724319; font-weight: 800; }
.quest-start .setup-step p { color: #7b5537; font-size: 12px; }
.quest-start .step-cta { min-height: 36px; font-size: 11px; padding: 8px 10px; }
.quest-start .step-arrow { color: #a65352; }
.showcase-heading h2, .prompt-library-heading h2 { color: #724319; font-weight: 800; }
.illustration-label, .showcase-footnote, .prompt-library-heading p, .prompt-library-note, .prompt-help { color: #724319; }
.floating-note { color: #a65352; }
.stage-orbit { background: radial-gradient(ellipse,#f7b1b0b3,transparent 68%); inset:110px 0 30px; transform:none; }
.prompt-card { border-color: var(--line); background: #fff; border-radius: 20px; }
.prompt-card h3 { color: #724319; font-weight: 750; }
.prompt-category { color: #a65352; }.prompt-text { color: #724319; }
.copy-prompt { background: #f7b1b0; color: #724319; border-color: #f7b1b0; }
.prompt-client-links a { color: #724319; }.prompt-status { color: #376953; }
.folio-promise { background: #f7b1b0; padding: 28px; border: 1px solid #f7b1b0; border-radius: 22px; }
.folio-promise h2 { color: #724319; font-weight: 750; }.folio-promise p,.folio-footer,.folio-footer b { color: #724319; }.folio-promise>span { color: #a65352; }
.site-header, body.quest-banking>header, body.quest-transactions>header { border-bottom: 1px solid var(--line); }
.site-header nav a, body.quest-transactions>header nav a { color: #7b5537; font-size: 14px; font-weight: 600; }
.site-header nav a[aria-current] { color: #724319; }
.empty { background: #f7b1b0; border-color: #f7b1b0; border-radius: 20px; }.empty-icon { background: #f7b1b0; color: #724319; }
.empty p, .source-card p, .connection-row p, #message { color: #7b5537; }
.source-icon { background: #f7b1b0; color: #724319; }.source-icon.loyalty { background: #ffdadb; color: #963747; }.source-icon.utilities { background: #fff0b9; color: #6e5314; }.source-icon.payments { background: #cad182; color: #24634e; }
.source-card button { color: #724319; }.badge { color: #724319; background: #f7b1b0; }.badge.ready { color: #23624d; background: #cad182; }
.filters button[aria-pressed=true] { background: #f7b1b0; color: #724319; border-color: #f7b1b0; }
.privacy-note { background: #eef7ed; color: #386349; }.privacy-note p { color: #526d59; }
body.quest-transactions main, body.quest-banking main { margin-top: 36px; }
body.quest-transactions #workspace { border-color: var(--line); box-shadow: 0 6px 0 #f7b1b04d; }
body.quest-transactions .source-grid article { background: #f7b1b0; border-color: var(--line); }
body.quest-transactions th { background: #f7b1b0; color: #724319; }
body.quest-transactions td { border-color: #f7b1b0; }
body.quest-transactions .transaction-link { color: #724319; font-weight: 700; box-shadow: none; }
.quest-transactions .source-grid p, .quest-transactions td small { color: #7b5537; }
.quest-transactions header small { font-size: 10px; }
body.quest-transactions .preview { background: #f7b1b0; }
.profile-card, .preferences-card { border-color: var(--line); }
.page-head h1 { font-weight:800; }
.quest-mobile-nav { display: none; }
@media(min-width:1500px) { .quest-hero { min-height: 370px; }.quest-hero-art img { max-height: 350px; } }
@media(max-width:1100px) { .chat-main { padding-inline: 28px; }.quest-hero h1 { font-size: 44px; }.quest-hero-art img { width: 110%; }.quest-category { font-size: 12px; gap: 6px; } }
@media(max-width:760px) {
  .chat-main { padding: 12px 20px 0; }.quest-hero { grid-template-columns: 1fr; padding: 24px 0 8px; gap: 4px; }
  .quest-hero h1 { font-size: clamp(40px,9vw,58px); max-width: 540px; }.quest-hero-copy>p:not(.welcome-eyebrow) { font-size: 14px; }
  .quest-hero-art { max-width: 430px; width: 100%; margin: 0 auto; }.quest-hero-art img { width: 100%; margin: 0; max-height: 240px; }
  .quest-category-strip { gap: 8px; grid-template-columns: repeat(2,1fr); margin-bottom: 24px; }.quest-category { padding: 12px; }
  .quest-start { padding: 22px; margin-bottom: 34px; }.quest-start-heading { align-items: flex-start; }.quest-start-heading h2 { font-size: 18px; }.quest-start-heading>span { white-space: nowrap; }
  .quest-start .setup-steps { display: grid; grid-template-columns: 1fr; gap: 23px; }.quest-start .step-arrow { display: none; }.quest-start .setup-step { display: flex; align-items: flex-start; gap: 14px; }.quest-start .step-number { flex-shrink: 0; }
  .quest-start .setup-step p br { display: none; }.quest-start .setup-step p { font-size: 13px; }.quest-start .step-cta { min-height: 44px; font-size: 12px; }
  .folio-brand { font-size: 24px; }.folio-brand>img { width: 34px; height: 34px; }.new-chat { font-size: 11px; }
  .quest-mobile-nav { display: flex; padding: 10px 20px; gap: 20px; border-bottom: 1px solid var(--line); background: #f7b1b0; }
  .quest-mobile-nav a { font-size: 12px; font-weight: 700; color: #724319; text-decoration: none; min-height: 32px; display: flex; align-items: center; }
  .site-header, body.quest-transactions>header, body.quest-banking>header { gap: 18px; flex-wrap: wrap; }
  .quest-brand { font-size: 23px; }.quest-brand img { width: 35px; height: 35px; }
  body.quest-transactions #workspace { padding: 16px; }.quest-transactions .toolbar { flex-wrap: wrap; }
  .folio-promise { padding: 22px; }.folio-promise button { margin-left: 0; }
}
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
