.db-dashboard {
  --db-ink: #142d46;
  --db-muted: #718092;
  --db-line: #e5eaf0;
  --db-paper: #f5f7f9;
  --db-blue: #163c5b;
  --db-teal: #378a84;
  color: var(--db-ink);
  max-width: 1480px;
  margin: 0 auto;
  padding: 7px 4px 34px;
  font-family: "Plus Jakarta Sans", "DM Sans", sans-serif;
  animation: db-enter .42s ease both;
}
.db-dashboard * { box-sizing: border-box; }
.db-dashboard button, .db-dashboard input { font: inherit; }
.db-dashboard button { cursor: pointer; }
.db-dashboard button:focus-visible, .db-dashboard input:focus-visible { outline: 3px solid rgba(55,138,132,.3); outline-offset: 2px; }
@keyframes db-enter { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
.db-welcome { display:flex; justify-content:space-between; align-items:center; gap:24px; padding: 12px 5px 26px; }
.db-kicker { display:flex; align-items:center; gap:10px; font-size:10px; font-weight:800; letter-spacing:.17em; color:#668093; }
.db-kicker i { width:4px; height:4px; border-radius:50%; background:#6b9c96; }
.db-welcome h1 { margin:12px 0 5px; color:var(--db-ink); font-size:clamp(26px,3vw,38px); line-height:1.13; letter-spacing:-.045em; font-weight:800; }
.db-welcome p { margin:0; color:var(--db-muted); font-size:13px; font-weight:500; }
.db-welcome-divider { padding:0 7px; color:#b4bec8; }
.db-create-quote { display:flex; align-items:center; gap:12px; min-width:238px; border:0; border-radius:14px; padding:13px 15px; color:#fff; text-align:left; background:#183f5e; box-shadow:0 7px 17px rgba(24,63,94,.15); transition:transform .18s ease, box-shadow .18s ease; }
.db-create-quote:hover { transform:translateY(-2px); box-shadow:0 10px 20px rgba(24,63,94,.2); }
.db-create-icon { width:35px; height:35px; display:grid; place-items:center; background:rgba(255,255,255,.12); border-radius:10px; }
.db-create-quote strong,.db-create-quote small { display:block; }
.db-create-quote strong { font-size:13px; font-weight:750; }
.db-create-quote small { margin-top:3px; font-size:10px; color:rgba(255,255,255,.69); }
.db-create-quote > svg { width:16px; height:16px; margin-left:auto; color:#a9d1c9; }
.db-dashboard svg { width:18px; height:18px; flex:none; }
.db-sales-card { padding:17px 22px 19px; border:1px solid #e4eaf0; border-radius:17px; background:linear-gradient(108deg,#f0f5f6 0%,#f5f7f8 58%,#eff4f5 100%); box-shadow:0 3px 12px rgba(24,50,70,.035); margin-bottom:18px; }
.db-sales-label { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:750; color:#38576b; }
.db-sales-label svg { width:16px; height:16px; color:#538e87; }
.db-sales-label small { margin-left:auto; font-size:9px; font-weight:800; letter-spacing:.12em; color:#8b9aa5; }
.db-live-dot { width:6px; height:6px; border-radius:50%; background:#65a497; box-shadow:0 0 0 3px rgba(101,164,151,.12); }
.db-sales-grid { display:flex; align-items:stretch; gap:0; margin-top:14px; }
.db-sales-current,.db-sales-previous { display:flex; flex-direction:column; align-items:flex-start; }
.db-sales-current { padding-right:33px; min-width:220px; border-right:1px solid #dce5e9; }
.db-sales-previous { padding-left:33px; }
.db-eyebrow { color:#82909c; font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.db-sales-current > strong { margin:4px 0 2px; color:#183b56; font-size:clamp(24px,3vw,31px); font-weight:800; letter-spacing:-.045em; }
.db-sales-previous > strong { margin:7px 0 5px; color:#536b7b; font-size:20px; font-weight:750; letter-spacing:-.03em; }
.db-sales-change { font-size:11px; font-weight:800; color:#82909c; }
.db-sales-change small { margin-left:3px; color:#84919c; font-size:10px; font-weight:500; }
.db-sales-change.is-up { color:#2f8778; }
.db-sales-change.is-down { color:#bb6655; }
.db-subtle { font-size:10px; color:#8896a1; }
.db-sales-unavailable-reason { margin-top:9px; color:#8b7770; font-size:10px; line-height:1.45; }
.db-content-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; align-items:start; }
.db-dashboard-column { display:contents; }
.db-card { background:#fff; border:1px solid #e7ebef; border-radius:16px; box-shadow:0 4px 14px rgba(29,52,69,.045); overflow:hidden; }
.db-overview-card { min-width:0; }
.db-card-heading { display:flex; align-items:center; gap:11px; min-height:75px; padding:15px 19px; border-bottom:1px solid #edf0f3; }
.db-heading-icon { width:35px; height:35px; display:grid; place-items:center; border-radius:11px; }
.db-heading-icon svg { width:17px; height:17px; }
.ai-icon { color:#3a817d; background:#eaf4f1; }
.quote-icon { color:#4a7594; background:#edf3f7; }
.task-icon { color:#7a8361; background:#f2f3ea; }
.db-card-heading h2 { margin:0; font-size:14px; line-height:1.4; font-weight:800; letter-spacing:-.02em; color:#20394f; }
.db-card-heading p { margin:2px 0 0; font-size:10px; color:#8a96a2; font-weight:500; }
.db-refresh { display:flex; align-items:center; gap:6px; margin-left:auto; padding:7px 9px; border:1px solid #e3e9ed; border-radius:8px; background:#fff; color:#607484; font-size:10px; font-weight:700; transition:background .15s ease; }
.db-refresh:hover { background:#f3f7f7; }
.db-refresh svg { width:13px; height:13px; }
.db-refresh:disabled { opacity:.6; cursor:wait; }
.db-link-button { display:flex; align-items:center; gap:5px; margin-left:auto; border:0; padding:6px 2px; color:#527d89; background:transparent; font-size:10px; font-weight:750; white-space:nowrap; }
.db-link-button:hover { color:#1b5461; }
.db-card-body { padding:17px 19px 18px; }
.db-card-action { display:flex; justify-content:flex-end; padding:0 18px 12px; border-top:1px solid #f0f2f3; }
.db-card-action .db-link-button { padding:10px 0 2px; }
.db-overview-card .db-card-body { min-height:245px; }
.db-overview-copy { color:#40596b; font-size:13px; line-height:1.75; white-space:pre-line; }
.db-flags { display:grid; gap:8px; margin-top:16px; }
.db-flag { width:100%; display:flex; align-items:center; gap:10px; padding:11px 12px; text-align:left; border:1px solid #e7ecee; border-radius:10px; background:#fbfcfc; color:#3c5362; transition:transform .15s ease, border-color .15s ease, background .15s ease; }
.db-flag:not(:disabled):hover { transform:translateX(2px); border-color:#cbdcda; background:#f7fbfa; }
.db-flag:disabled { cursor:default; opacity:.85; }
.db-flag-dot { width:7px; height:7px; border-radius:50%; flex:none; background:#71a39a; }
.flag-priority .db-flag-dot { background:#c98265; }
.db-flag-copy { display:block; min-width:0; line-height:1.45; }
.db-flag-copy strong { color:#304b5b; font-size:11px; font-weight:750; }
.db-flag-copy span { color:#7c8a96; font-size:10px; line-height:1.45; }
.db-flag > svg { width:14px; height:14px; margin-left:auto; color:#94a5ac; }
.db-no-flags { margin-top:16px; border-radius:10px; padding:12px; color:#758892; background:#f6f8f8; font-size:11px; }
.db-card-foot { padding:10px 19px; border-top:1px solid #edf0f3; color:#99a4ad; font-size:9px; }
.db-quote-list { display:grid; }
.db-quote-row { width:100%; display:grid; grid-template-columns:42px minmax(0,1fr) minmax(78px,.9fr) auto 15px; align-items:center; gap:11px; padding:10px 0; border:0; border-bottom:1px solid #eff1f3; text-align:left; background:transparent; }
.db-quote-row:last-child { border-bottom:0; }
.db-quote-row:hover .db-quote-main strong { color:#347c7c; }
.db-quote-mark { width:39px; height:39px; display:grid; place-items:center; border-radius:12px; color:#3c5666; background:color-mix(in srgb,var(--brand-color),white 80%); font-size:10px; font-weight:800; }
.db-quote-main,.db-quote-meta { display:flex; flex-direction:column; min-width:0; gap:4px; }
.db-quote-main strong { color:#31495a; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; font-weight:750; transition:color .15s ease; }
.db-quote-main > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#87939c; font-size:10px; }
.db-quote-meta > span { display:flex; align-items:center; gap:5px; color:#82909b; font-size:9px; white-space:nowrap; }
.db-quote-meta svg { width:12px; height:12px; }
.db-brand-name { color:#586d7a!important; font-size:10px!important; font-weight:650; }
.db-status { white-space:nowrap; padding:5px 8px; border-radius:99px; color:#567f73; background:#edf5f0; font-size:9px; font-weight:750; }
.db-quote-row > svg { width:14px; height:14px; color:#9eacb2; }
.db-task-list { display:grid; }
.db-task { display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:10px; padding:11px 0; border-bottom:1px solid #eff1f3; }
.db-task:last-child { border-bottom:0; padding-bottom:1px; }
.db-task-check { width:22px; height:22px; display:grid; place-items:center; padding:0; border:1.5px solid #cbd7d4; border-radius:7px; color:#578c7e; background:#fff; }
.db-task-check:hover { border-color:#6a9b8c; background:#f0f7f4; }
.db-task-check svg { width:13px; height:13px; }
.db-task-check:disabled { opacity:.6; cursor:wait; }
.db-task-copy { display:flex; flex-direction:column; gap:4px; min-width:0; }
.db-task-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#405666; font-size:10px; font-weight:750; }
.db-task-copy > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#929da5; font-size:9px; }
.db-task-due { display:flex; flex-direction:column; align-items:flex-end; gap:5px; color:#8b969e; font-size:9px; white-space:nowrap; }
.db-priority { color:#74838c; font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.db-priority.priority-high { color:#b86851; }
.db-task.is-overdue .db-task-due > span:last-child { color:#bd6d59; font-weight:750; }
.db-task.is-urgent .db-task-copy strong { color:#30475a; }
.db-empty { display:flex; align-items:center; gap:12px; min-height:62px; }
.db-empty-mark { display:grid; place-items:center; width:34px; height:34px; flex:none; border-radius:11px; color:#668b8b; background:#edf4f2; font-size:9px; font-weight:800; letter-spacing:.04em; }
.db-empty-check { color:#778561; background:#f1f3e9; }
.db-empty strong { display:block; color:#43596a; font-size:11px; font-weight:750; }
.db-empty p { margin:4px 0 0; color:#919da5; font-size:10px; }
.db-inline-error { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#a45f50; font-size:11px; }
.db-inline-error button,.db-text-button { border:0; padding:5px 8px; border-radius:7px; color:#406e70; background:#edf4f2; font-size:10px; font-weight:750; }
.db-ai-loading { display:flex; align-items:center; gap:12px; min-height:90px; color:#536b78; }
.db-ai-loading > div { display:grid; gap:5px; }
.db-ai-loading b { font-size:11px; font-weight:750; }
.db-ai-loading span:not(.db-ai-pulse) { color:#97a2a8; font-size:10px; }
.db-ai-pulse { width:23px; height:23px; border:2px solid #d8e8e3; border-top-color:#4e9284; border-radius:50%; animation:db-spin .8s linear infinite; }
@keyframes db-spin { to { transform:rotate(360deg); } }
.db-ai-error { padding:15px 0; color:#a45f50; font-size:11px; }
.db-ai-error p { margin:0 0 9px; }
.db-chat-transcript { display:grid; gap:9px; margin-top:15px; padding-top:13px; border-top:1px solid #edf0f1; }
.db-chat-line { padding:9px 11px; border-radius:9px; background:#f5f7f7; }
.db-chat-line.from-user { margin-left:20px; background:#eef4f4; }
.db-chat-line > span { color:#77908f; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.db-chat-line p { margin:4px 0 0; color:#4e626e; font-size:10px; line-height:1.55; white-space:pre-wrap; }
.db-followup { display:grid; gap:7px; margin-top:17px; }
.db-followup label { color:#87949c; font-size:9px; font-weight:750; }
.db-followup > div { display:flex; align-items:center; gap:7px; }
.db-followup input { min-width:0; flex:1; padding:10px 11px; border:1px solid #e2e8e9; border-radius:9px; color:#344c5b; background:#fff; font-size:10px; }
.db-followup input::placeholder { color:#a6b0b5; }
.db-followup button { display:flex; align-items:center; gap:6px; padding:9px 11px; border:0; border-radius:9px; color:#fff; background:#426f73; font-size:10px; font-weight:750; }
.db-followup button svg { width:13px; height:13px; }
.db-followup button:disabled { opacity:.6; cursor:wait; }
.db-chat-error { color:#a45f50; font-size:10px; }
.db-footer-note { display:flex; align-items:center; gap:7px; margin-top:17px; color:#99a5ad; font-size:9px; }
.db-footer-note span { width:5px; height:5px; border-radius:50%; background:#78a79c; }
.db-skeleton { display:grid; gap:11px; padding:7px 0; }
.db-skeleton i,.db-sales-skeleton i { display:block; height:11px; border-radius:8px; background:linear-gradient(90deg,#f0f3f4,#e8edef,#f0f3f4); background-size:200% 100%; animation:db-shimmer 1.4s ease infinite; }
.db-quote-skeleton i:first-child { width:88%; height:38px; }
.db-quote-skeleton i:nth-child(2) { width:65%; }
.db-quote-skeleton i:nth-child(3) { width:74%; }
.db-task-skeleton i { height:33px; }
.db-task-skeleton i:nth-child(2) { width:90%; }
.db-task-skeleton i:nth-child(3) { width:82%; }
.db-sales-skeleton { display:flex; gap:20px; margin-top:14px; }
.db-sales-skeleton i { width:165px; height:47px; }
@keyframes db-shimmer { to { background-position:-200% 0; } }
.db-sales-error { padding:12px 0 0; color:#a45f50; font-size:10px; }
.db-check-wait { width:11px; height:11px; border:1.5px solid #d4e1dc; border-top-color:#578c7e; border-radius:50%; animation:db-spin .8s linear infinite; }
@media (max-width: 1050px) and (min-width: 701px) {
  .db-content-grid { grid-template-columns:minmax(0,1.35fr) minmax(260px,.85fr); align-items:start; }
  .db-dashboard-column { display:grid; align-content:start; gap:17px; min-width:0; }
}
@media (max-width: 1250px) and (min-width: 1051px) {
  .db-quote-row { grid-template-columns:38px minmax(0,1fr) auto 14px; gap:8px; }
  .db-quote-meta { display:none; }
}
@media (max-width: 700px) {
  .db-content-grid { grid-template-columns:1fr; }
  .db-overview-card { order:1; }
  .db-tasks-card { order:2; }
  .db-quote-card { order:3; }
  .db-overview-card .db-card-body { min-height:unset; }
}
@media (max-width: 620px) {
  .db-dashboard { padding:0 0 26px; }
  .db-welcome { align-items:flex-start; flex-direction:column; gap:18px; padding:5px 2px 20px; }
  .db-create-quote { width:100%; }
  .db-sales-card { padding:15px; }
  .db-sales-current { min-width:0; flex:1; padding-right:18px; }
  .db-sales-previous { padding-left:18px; }
  .db-sales-label small { font-size:8px; }
  .db-sales-current > strong { font-size:25px; }
  .db-sales-previous > strong { font-size:17px; }
  .db-card-heading { padding:13px 14px; gap:9px; }
  .db-card-body { padding:14px; }
  .db-card-action { padding:0 14px 11px; }
  .db-heading-icon { width:32px; height:32px; }
  .db-card-heading h2 { font-size:13px; }
  .db-card-heading p { font-size:9px; }
  .db-refresh { padding:7px; }
  .db-quote-row { grid-template-columns:38px minmax(90px,1fr) auto 13px; gap:8px; }
  .db-quote-mark { width:35px; height:35px; }
  .db-quote-meta { display:none; }
  .db-status { font-size:8px; padding:4px 6px; }
  .db-task { grid-template-columns:26px minmax(0,1fr) auto; gap:7px; }
  .db-task-due { font-size:8px; }
}
@media (prefers-reduced-motion: reduce) {
  .db-dashboard *, .db-dashboard *::before, .db-dashboard *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; }
}