/* Load after styles.css, crm.css and budgets.css. No body class is required. */
@media screen {
  :root {
    --red: #cf3038;
    --red-dark: #b6242d;
    --red-soft: #361a1f;
    --ink: #f0f0f3;
    --muted: #b4b4be;
    --line: #323237;
    --canvas: #09090b;
    --green: #8cd4ad;
    --sidebar: #080809;
    --surface: #17171b;
    --surface-raised: #222227;
    --field: #101013;
    --field-line: #484850;
    --text-secondary: #b4b4be;
    color-scheme: dark;
    color: var(--ink);
  }

  body {
    background: var(--canvas);
    color: var(--ink);
    scrollbar-color: #515157 #141417;
  }
  ::selection { background: #8e2630; color: #fff; }
  button:focus-visible, a:focus-visible, input:focus-visible,
  select:focus-visible, textarea:focus-visible, summary:focus-visible {
    outline-color: #fa9298;
  }
  .app-shell { background: linear-gradient(130deg, #1c0e11 0, #0c0c0e 400px, #09090b 850px); }
  .sidebar { border-right: 1px solid #2d2528; color: #c4c4cd; }
  .brand, .sidebar-profile strong { color: #f7f7fa; }
  .brand small, .workspace-label small, .sidebar-profile small,
  .profile-shield svg, .sidebar-tip p { color: #a9a9b3; }
  .workspace-label { background: #121215; border-color: #34343a; color: #dedee4; }
  .workspace-icon { background: #29292f; color: #f4f4f6; }
  .nav-caption { color: #9c9ca6; }
  .nav-link { color: #c4c4cd; }
  .nav-link:hover { background: #242126; color: #fff; }
  .nav-link.active { background: #ba2730; color: #fff; box-shadow: inset 3px 0 #ff8b91; }
  .nav-count { background: #35353c; color: #dedee5; }
  .nav-link.active .nav-count { background: #ffffff25; color: #fff; }
  .sidebar-tip { background: #1c1418; border-color: #443037; }
  .sidebar-tip strong { color: #f0e9ec; }
  .sidebar-tip .text-button, .tip-spark { color: #ff9da4; }
  .sidebar-profile { border-color: #303035; }
  .sidebar-overlay { background: #000a; }

  .topbar { background: #101013; border-bottom-color: #3c252b; }
  .breadcrumb, .search-trigger, .demo-pill { color: #b6b6c0; }
  .breadcrumb strong { color: #ededf2; }
  .breadcrumb > span { color: #777780; }
  .search-trigger kbd { background: #242429; border-color: #424249; color: #c2c2cb; }
  .header-divider { background: #39393f; }
  .icon-button { color: #c8c8d1; }
  .icon-button:hover { color: #fff; background: #2a282e; }
  .notification-button i { border-color: #101013; background: #ff6d76; }
  .skip-link { color: #fff; background: #28282f; border: 1px solid #ee7983; }
  .eyebrow { color: #c5a0a7; }
  .page-description { color: #b9b9c3; }
  .app-footer, .footer-dot { color: #a5a5af; }

  .panel, .metric { background: var(--surface); border-color: var(--line); box-shadow: 0 4px 16px #0002; }
  .panel-subtitle, .panel-bottom, .metric-top, .metric-note,
  .toolbar-label, .section-title, .project-card p, .project-card-bottom span,
  .schedule-copy p, .progress-line, .date-chip { color: var(--text-secondary); }
  .panel-subtitle, .panel-bottom, .metric-note { font-size: 11px; }
  .panel-bottom, .project-card-bottom, .schedule-date { border-color: var(--line); }
  .metric-top { font-size: 12px; }
  .metric-icon { background: #2b2b32; color: #c2c2cc; }
  .metric:first-child .metric-icon { background: #3c1d23; color: #ff959e; }
  .metric-note .positive { color: #8bd2aa; }
  .metric-value, .schedule-date strong, .schedule-copy strong { color: #f4f4f7; }
  .schedule-date { color: #b5b5bf; }
  .schedule-row.done { opacity: .85; }
  .schedule-row.done .schedule-copy strong { color: #a8a8b3; }
  .track { background: #38383f; }
  .track span { background: #eb5c68; }
  .welcome-banner { background: linear-gradient(110deg, #310f16, #191418 70%, #151519); border-color: #54252e; }
  .welcome-banner p { color: #d2c0c7; font-size: 12px; }
  .welcome-banner .text-button { color: #fff; }
  .banner-eyebrow { color: #ffadb4; }
  .art-mark { background: linear-gradient(135deg, #c73440, #681923); border-color: #f06f7c80; }
  .chart-line { border-color: #37373e; }
  .chart-line span, .bar-label, .chart-key { color: #b3b3bf; }
  .chart-key span:last-child i, .bar.pale { background: #72404a; }
  .bar, .bar-group:last-child .bar:not(.pale) { background: #eb626c; }
  .chart-caption { background: #121215; border-color: var(--line); color: #b1b1bc; }
  .agenda-item:not(:last-child):before { background: #3b3b43; }
  .agenda-dot { background: #17171b; border-color: #f27c87; }
  .agenda-details strong { color: #e9e9ee; font-size: 12px; }
  .agenda-details p, .agenda-time { color: #b3b3bd; font-size: 11px; }
  .agenda-footer { border-color: var(--line); }
  .count-pill { color: #c9c9d2; background: #303038; }

  .btn, .heading-actions .btn, .table-actions .btn { font-size: 12px; }
  .btn-primary { background: var(--red); border-color: #e6535d; color: #fff; box-shadow: none; }
  .btn-primary:hover { background: var(--red-dark); border-color: #ef6b75; }
  .btn-secondary { background: #25252b; border-color: #4a4a53; color: #eeeeF4; }
  .btn-secondary:hover { background: #363138; border-color: #9a5d67; color: #fff; }
  .btn-danger { background: #301a21; border-color: #86414e; color: #ffb2b9; }
  .btn-danger:hover { background: #4d202c; border-color: #c96576; }
  .text-button, .back-link:hover { color: #ff9ba4; }
  .text-button:hover { color: #ffc2c7; }
  .back-link { color: #c7c7d0; font-size: 12px; }
  .date-select { color: #d2d2db; border-color: #45454e; background: #1e1e23; }
  .filter-tab { color: #bdbdc8; font-size: 12px; }
  .filter-tab:hover { color: #f6e7eb; background: #30252c; }
  .filter-tab.active { color: #ffb3bb; background: #49202b; }
  .row-action { color: #c0c0cb; }
  .row-action:hover { color: #ffb2bb; background: #3e232b; }
  .check-button { color: #a9a9b7; background: #111114; border-color: #696976; }
  .check-button.checked { color: #effff4; background: #276044; border-color: #76c39b; }

  .table-wrap { background: #17171b; }
  th { background: #222226; color: #d6d6df; border-color: #39393f; font-size: 11px; }
  td { color: #d5d5de; border-color: #323239; font-size: 12px; }
  tbody tr:hover { background: #211c22; }
  .entity strong { color: #f1f1f5; font-size: 12px; }
  .entity small, .table-subtext { color: #b4b4bf; font-size: 11px; }
  .entity-icon { border-color: #42424b; background: #28282f; color: #c8c8d5; }
  .avatar { background: #34343e; color: #dedeea; }
  .avatar-red { background: #58242e; color: #ffc3c9; }
  .avatar.blue { background: #273950; color: #b7d8ff; }
  .avatar.green { background: #233e31; color: #ace0bd; }
  .avatar.amber { background: #4a3a20; color: #f3d494; }
  .avatar.purple { background: #3c2c50; color: #dec2ff; }
  .avatar-stack .avatar { border-color: #17171b; }
  .status { color: #d3d3de; background: #34343e; font-size: 11px; }
  .status.green { background: #203d2d; color: #9ee0b7; }
  .status.amber { background: #46371e; color: #f4d69b; }
  .status.blue { background: #22364f; color: #b3d3ff; }
  .status.red { background: #4e232e; color: #ffb1be; }
  .doc-indicators span { color: #b8b8c5; background: #31313a; font-size: 10px; }
  .doc-indicators .received { background: #223c2e; color: #a1d9b6; }

  .input-search, .form-field input, .form-field select, .form-field textarea,
  .small-select, .module-client-picker select, .search-modal-input {
    background: var(--field);
    border-color: var(--field-line);
    color: #f1f1f6;
    color-scheme: dark;
  }
  .input-search { background: #17171c; }
  .input-search input { color: #f1f1f6; font-size: 13px; }
  .input-search svg { color: #b8b8c4; }
  .input-search:focus-within { outline-color: #d16c78; border-color: #c76d79; }
  .form-field label, .fields-grid .form-field label,
  .module-client-picker label { color: #d6d6df; font-size: 12px; }
  .form-field input, .form-field select, .form-field textarea,
  .fields-grid .form-field input, .fields-grid .form-field select { font-size: 13px; }
  input::placeholder, textarea::placeholder { color: #9999a5; opacity: 1; }
  .form-field input[readonly] { background: #25252b; color: #bfbfc9; border-color: #414148; }
  .form-field input:disabled, .fields-grid .form-field input:disabled {
    background: #232328; color: #a8a8b4; border-color: #3a3a42; opacity: 1;
  }
  .form-field input:disabled::placeholder { color: #a8a8b4; }
  input[type="date"], input[type="time"], select { color-scheme: dark; }
  input[type="checkbox"], input[type="radio"], input[type="range"] { accent-color: #d63b48; }
  select option { background: #1c1c21; color: #efeff4; }
  .form-field small, .toggle-row small, .form-actions > span,
  .subtle-label, .setting-info { color: #b1b1bd; font-size: 11px; }
  .setting-info strong, .side-help strong { color: #ededf3; }
  .toggle-row { border-color: var(--line); }
  .settings-separator { background: var(--line); }
  .form-error { color: #ff9da9; }
  .client-tabs { border-color: #444047; }
  .client-tabs button { color: #bdbdc8; font-size: 13px; }
  .client-tabs button:hover, .client-tabs button.active { color: #ffa1ab; }
  .client-tabs button.active { border-color: #ed606f; }
  .form-section-head > span { background: #46202a; color: #ffb8c1; }
  .form-section-head p, .side-panel > p { color: #b9b9c3; font-size: 11px; }
  .side-panel-icon { background: #39202a; color: #f29fab; }
  .document-check { color: #d1d1db; font-size: 12px; }
  .document-check > svg { color: #95d6b0; }
  .attachment-placeholder { border-color: #52525e; background: #121216; color: #cdced7; }
  .attachment-placeholder span, .attachment-placeholder svg,
  .side-help { color: #b2b2be; }
  .module-symbol { color: #ffabb7; background: #3b1d28; border-color: #68303f; }
  .module-preview > p { color: #bebec9; }
  .module-selection { background: #24242c; border: 1px solid #393941; }
  .module-selection strong { color: #eeeef5; }
  .module-selection small { color: #bdbdc8; }

  .demo-note { color: #e5c695; background: #292119; border-color: #5c4930; font-size: 12px; }
  .chief-card { background: linear-gradient(110deg, #391820, #20181f); border: 1px solid #61303c; }
  .chief-card p { color: #d2bdc5; font-size: 12px; }
  .chief-icon { background: #4d2531; color: #ffc2cf; border-color: #8b4a5d; }
  .chief-card .status { background: #5a2b3b; color: #ffd5df; }
  .empty-state { color: #bdbdc8; }
  .empty-state strong { color: #ededf3; }
  dialog { background: #1b1b20; color: #ededf3; border-color: #58515b; box-shadow: 0 22px 80px #0009; }
  dialog::backdrop { background: #000a; }
  .modal-heading, .modal-footer { border-color: #38383f; }
  .modal-footer { background: #141417; }
  .modal-description, .modal-intro p, .about-copy,
  .notice-item p { color: #bcbcc8; font-size: 12px; }
  .notice-item strong, .search-result strong { color: #f1f1f6; }
  .notice-item { border-color: #36363f; }
  .detail-list dt { color: #b3b3c0; }
  .detail-list dd { color: #ededf5; }
  .search-result:hover { background: #33252e; }
  .search-result small { color: #b9b9c7; }
  .document-icon { color: #ffabb6; background: #3b1e28; border-color: #74394b; }
  .toast { color: #fff; background: #3c202b; border: 1px solid #9c5268; box-shadow: 0 8px 30px #0007; }

  .login-layout, .login-access { background: #0f0f12; }
  .login-story { background: linear-gradient(145deg, #070708 10%, #260d14 65%, #480d1b); }
  .login-brand small, .login-story-footer { color: #c3aab5; }
  .login-story-content > p:not(.banner-eyebrow) { color: #d6bec9; }
  .login-story h1 em { color: #ff929f; }
  .login-card > h2 { color: #f4f4f8; }
  .login-card > .eyebrow { color: #c19ba8; }
  .login-card > p:not(.eyebrow), .login-demo-note,
  .login-access-footer { color: #b8b8c5; }
  .login-fields > label { color: #d4d4df; font-size: 12px; }
  .login-input { color: #ececf4; background: #1b1b21; border-color: #484851; }
  .login-input svg { color: #c3c3d0; }
  .login-input input { color: #d9d9e3; }
  .login-input input::placeholder { color: #aaaab9; }

  .budget-flow { color: #c8c8d3; font-size: 12px; }
  .budget-flow b { background: #4a202a; color: #ffb2bc; }
  .budget-flow > svg { color: #a4a4b2; }
  .budget-form-note, .budget-terms-details { color: #bdbdc9; font-size: 12px; }
  .budget-terms-details summary { color: #edc6cf; }
  .budget-save-bar { background: #111115f5; border-top-color: #51404a; }
  .budget-save-bar > span { color: #c4c4d0; font-size: 12px; }
  .budget-save-bar .btn { font-size: 12px; }
  .budget-print-toolbar p { color: #b9b9c7; font-size: 12px; }

  /* The document is always a white sheet, even inside the dark application. */
  .budget-paper { color-scheme: light; background: #fff; color: #222; box-shadow: 0 8px 40px #0006; }
  .budget-paper h2 { color: #222; background: #f0f1f3; }
  .budget-paper-header small, .budget-paper-footer { color: #626262; }
  .budget-print-grid label { color: #585858; }
  .budget-print-notice { color: #805158; background: #fcf6f6; }
  .budget-paper input, .budget-paper textarea, .budget-paper select {
    color-scheme: light; color: #222; background: #fff; border-color: #b9b9b9;
  }
}

@media print {
  :root { color-scheme: light; }
  body, .app-shell, main { background: #fff !important; color: #222 !important; }
  .budget-paper { color-scheme: light; background: #fff !important; color: #222 !important; box-shadow: none !important; }
  .budget-paper h2 { color: #222 !important; background: #f0f1f3 !important; }
  .budget-paper-header small, .budget-paper-footer, .budget-print-grid label { color: #555 !important; }
  .budget-paper input, .budget-paper textarea, .budget-paper select {
    color-scheme: light; background: #fff !important; color: #222 !important; border-color: #aaa !important;
  }
}
