/* Crystal desk: daylight surfaces, cobalt wayfinding, readable business data. */
:root {
  --crystal-ink: #152c46;
  --crystal-muted: #586c82;
  --crystal-blue: #245ad6;
  --crystal-ice: #edf5ff;
  --crystal-line: #dbe5f0;
  --crystal-shadow: 0 8px 28px rgba(35, 65, 105, .055);
}
body { color: var(--crystal-ink); background: #f4f7fc; }
button, input, select, textarea { font: inherit; }
:is(button, a, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--crystal-blue);
  outline-offset: 4px;
}
button, a { -webkit-tap-highlight-color: transparent; }

/* Workspace */
.crystal-workspace {
  --bg: #f4f7fc;
  --bg-soft: #edf3fa;
  --bg-elevated: #fff;
  --text: var(--crystal-ink);
  --muted: var(--crystal-muted);
  --line: var(--crystal-line);
  --line-strong: #bdcfe2;
  --blue: var(--crystal-blue);
  --exec-ink: var(--crystal-ink);
  --exec-cobalt: var(--crystal-blue);
  --exec-line: var(--crystal-line);
  --exec-shadow-soft: var(--crystal-shadow);
  --v4-paper: #edf3fa;
  --v4-cobalt: var(--crystal-blue);
  --font-body: "Segoe UI", system-ui, sans-serif;
  --font-display: "Ubuntu Local", "Segoe UI", sans-serif;
  --font-mono: Consolas, monospace;
  font-family: var(--font-body);
}
.crystal-workspace .sidebar {
  color: var(--crystal-ink);
  background: linear-gradient(160deg, #fff 0%, #f3f8ff 100%);
  border-right: 1px solid var(--crystal-line);
  box-shadow: none;
}
.crystal-workspace .sidebar::before { display: none; }
.crystal-workspace .sidebar-brand { border-color: var(--crystal-line); padding-bottom: 24px; }
.crystal-workspace .brand-name { color: var(--crystal-ink); letter-spacing: -.04em; }
.crystal-workspace .brand-copy { color: var(--crystal-muted); font-size: .75rem; }
.crystal-workspace .sidebar-nav { gap: 6px; }
.crystal-workspace .sidebar-nav::before { color: #64788e; font-size: .64rem; letter-spacing: .12em; }
.crystal-workspace .nav-item {
  min-height: 48px; color: #50657d; border-radius: 12px;
  font-size: .88rem; font-weight: 600;
}
.crystal-workspace .nav-item:hover { color: var(--crystal-blue); background: #eaf2ff; transform: none; }
.crystal-workspace .nav-item.active {
  color: #fff; background: var(--crystal-blue); border-color: transparent;
  box-shadow: 0 5px 14px rgba(36, 90, 214, .18);
}
.crystal-workspace .nav-item.active::before { display: none; }
.crystal-workspace .nav-new { color: #245ad6; background: #e5eeff; animation: none; }
.crystal-workspace .nav-item.active .nav-new { color: #fff; background: rgba(255,255,255,.2); }
.crystal-workspace .nav-item[data-nav-new]::after { display: none; }
.crystal-workspace .sidebar-account { background: #fff; border-color: var(--crystal-line); border-radius: 14px; }
.crystal-workspace .account-profile { color: var(--crystal-ink); }
.crystal-workspace .account-profile small,
.crystal-workspace .logout-button { color: var(--crystal-muted); }
.crystal-workspace .account-avatar { color: var(--crystal-blue); background: #e5efff; border-radius: 11px; }
.crystal-workspace .topbar {
  background: rgba(255,255,255,.92); border-bottom: 1px solid var(--crystal-line);
  display: grid; box-shadow: none; backdrop-filter: blur(18px);
  grid-template-columns: minmax(160px, .65fr) minmax(0, 1.35fr);
}
.crystal-workspace .topbar::after { display: none; }
.crystal-workspace .topbar-heading h1 { letter-spacing: -.045em; line-height: 1.12; font-family: var(--font-display); }
.crystal-workspace .topbar-heading > p:last-child { color: var(--crystal-muted); font-size: .8rem; line-height: 1.5; }
.crystal-workspace .topbar-actions { margin-left: auto; flex-wrap: wrap; max-width: 100%; }
.crystal-workspace .topbar-actions > .action-btn { width: auto; padding-inline: 12px; }
.crystal-workspace .workspace-scroll {
  background: radial-gradient(ellipse at 100% 0, #eaf2ff 0, transparent 45%), #f4f7fc;
  padding-top: 26px;
}
.crystal-workspace :is(.section-stack, .finance-dashboard) { gap: 20px; }
.crystal-workspace :is(.panel-surface, .hero-panel, .metric-card, .chart-panel,
  .user-card, .report-pack, .donut-card, .note-card, .table-wrap, .timeline-card,
  .weekly-performance, .profit-items, .cash-position, .subscription-panel,
  .customer-statement, .operation-subnav, .dashboard-now-widget) {
  border-color: var(--crystal-line); border-radius: 18px; box-shadow: var(--crystal-shadow);
}
.crystal-workspace .metric-card { min-height: 146px; padding: 22px; }
.crystal-workspace .metric-card::before { left: 22px; top: 0; bottom: auto; height: 3px; width: 28px; border-radius: 0 0 4px 4px; }
.crystal-workspace .metric-card:hover { transform: none; border-color: #a9c4ed; }
.crystal-workspace .metric-card h3 { color: var(--crystal-muted); font-size: .8rem; letter-spacing: 0; }
.crystal-workspace .metric-card p { font-size: clamp(1.4rem, 2vw, 2rem); font-variant-numeric: tabular-nums; letter-spacing: -.035em; }
.crystal-workspace .eyebrow { font-size: .67rem; letter-spacing: .12em; }
.crystal-workspace .panel-header p { color: var(--crystal-muted); line-height: 1.6; }
.crystal-workspace .business-pulse-widget {
  background: radial-gradient(ellipse at 100% 0, rgba(99,214,255,.28), transparent 60%), #183e86;
  padding: 24px; border-radius: 20px;
}
.crystal-workspace .dashboard-quick-dock { background: #edf4ff; color: var(--crystal-ink); border: 1px solid #d4e3fb; padding: 22px; }
.crystal-workspace .dashboard-quick-dock .eyebrow { color: var(--crystal-blue); }
.crystal-workspace .dashboard-quick-dock > button { min-height: 54px; color: var(--crystal-ink); border-color: #d4e3fb; background: #fff; border-radius: 12px; }
.crystal-workspace .dashboard-quick-dock > button:hover { border-color: var(--crystal-blue); background: #f7faff; }
.crystal-workspace .dashboard-quick-dock > button > span { color: var(--crystal-blue); background: #edf4ff; }
.crystal-workspace .dashboard-quick-dock > button strong { font-size: .78rem; }
.crystal-workspace .dashboard-quick-dock > button small { font-size: .68rem; opacity: 1; color: var(--crystal-muted); }
.crystal-workspace .pulse-metrics span { color: #d2e2f9; font-size: .72rem; }
.crystal-workspace .business-pulse-widget > footer { color: #d2e2f9; font-size: .72rem; }
.crystal-workspace .dashboard-activity-feed > div { padding-block: 12px; }
.crystal-workspace .dashboard-activity-feed strong { font-size: .8rem; }
.crystal-workspace .dashboard-activity-feed small { color: var(--crystal-muted); font-size: .7rem; }
.crystal-workspace .dashboard-activity-feed > div > b { font-size: .75rem; font-variant-numeric: tabular-nums; }
.crystal-workspace .data-table th { background: #f4f8fd; color: #50657d; font-size: .73rem; }
.crystal-workspace .data-table td { padding-block: 17px; font-size: .82rem; }
.crystal-workspace .data-table tbody tr:hover { background: #f5f9ff; }
.crystal-workspace :is(.operation-tabs, .period-switch) { background: #edf3fa; border-color: var(--crystal-line); border-radius: 12px; }
.crystal-workspace .operation-tabs button { min-height: 42px; }
.crystal-workspace .period-btn.active { color: var(--crystal-blue); background: #fff; box-shadow: 0 2px 6px rgba(35,65,105,.08); }
.crystal-workspace :is(.custom-prompt, .global-search, .operation-editor) { border-radius: 22px; box-shadow: 0 24px 80px rgba(20,44,76,.18); }
.crystal-workspace .global-search { background: #f4f7fc; }
.crystal-workspace .empty-live-state { padding: 28px 18px; color: var(--crystal-muted); line-height: 1.6; }
.crystal-workspace .finance-hero {
  border: 1px solid #bfd6f7; border-radius: 22px; box-shadow: var(--crystal-shadow);
  background: radial-gradient(ellipse at 100% 0, rgba(131,215,247,.25), transparent 65%), #183e86;
}
.crystal-workspace .finance-hero::before { display: none; }
.crystal-workspace .finance-hero::after { border: 1px solid rgba(182,232,255,.25); border-radius: 28%; transform: rotate(25deg); }
.crystal-workspace .finance-hero h2 { font-family: var(--font-display); letter-spacing: -.05em; line-height: 1.05; }
.crystal-workspace .finance-hero h2 em, .crystal-workspace .finance-hero .eyebrow { color: #b6e8ff; }
.crystal-workspace .finance-hero-number { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); }
.crystal-workspace .finance-tile { border: 1px solid var(--crystal-line); border-radius: 18px; box-shadow: var(--crystal-shadow); }
.crystal-workspace .finance-tile > div { color: var(--crystal-muted); font-size: .78rem; }
.crystal-workspace .finance-tile > strong { color: var(--crystal-ink); font-variant-numeric: tabular-nums; }
.crystal-workspace .finance-tile p { color: var(--crystal-muted); font-size: .75rem; line-height: 1.5; }
.crystal-workspace .finance-tile:hover { transform: none; border-color: #a9c4ed; box-shadow: var(--crystal-shadow); }

/* Public pages share the workspace's daylight finish. */
.crystal-site { --paper: #f4f7fc; --ink: #152c46; --blue: #245ad6; --sky: #83d7f7; }
.crystal-site .site-header { background: rgba(255,255,255,.94); border-radius: 0; border-color: var(--crystal-line); box-shadow: none; backdrop-filter: blur(18px); }
.crystal-site .landing-hero { background: radial-gradient(ellipse at 85% 30%, #dcecff, transparent 55%), #f4f7fc; }
.crystal-site .landing-hero .hero-copy h1 em { color: #b6e8ff; }
.crystal-site .landing-hero .kicker { color: #b6e8ff; }
.crystal-site .landing-hero .primary-cta { color: #fff; box-shadow: 0 6px 18px rgba(36,90,214,.2); }
.crystal-site .hero-copy h1 { letter-spacing: -.055em; line-height: 1.02; }
.crystal-site .hero-lead { color: var(--crystal-muted); line-height: 1.75; }
.crystal-site :is(.primary-cta, .register-link) { background: var(--crystal-blue); color: #fff; border-radius: 12px; box-shadow: 0 6px 18px rgba(36,90,214,.15); }
.crystal-site .secondary-cta { border-radius: 12px; border-color: #c7d7e9; }
.crystal-site .product-window { border: 1px solid #c6d9ef; border-radius: 22px; box-shadow: 0 30px 80px rgba(35,65,105,.14); transform: none; }
.crystal-site .modules-section { background: #edf4ff; }
.crystal-site .modules-section::before { display: none; }
.crystal-site .module-card { border-color: var(--crystal-line); box-shadow: var(--crystal-shadow); }
.crystal-site .module-card:hover { transform: translateY(-3px); }
.crystal-site .contact-visual { background: radial-gradient(ellipse at 100% 0, rgba(131,215,247,.3), transparent 65%), #183e86; box-shadow: var(--crystal-shadow); }
.crystal-site .pricing-grid > article { border-radius: 20px; border-color: var(--crystal-line); box-shadow: var(--crystal-shadow); }
.crystal-site .landing-chat-button { border-radius: 16px; }
.crystal-auth { font-family: "Segoe UI", system-ui, sans-serif; }
.crystal-auth .auth-art { background: radial-gradient(ellipse at 100% 0, rgba(131,215,247,.28), transparent 65%), #183e86; }
.crystal-auth .auth-art::before, .crystal-auth .auth-art::after { border-width: 1px; border-color: rgba(173,221,255,.25); border-radius: 28%; transform: rotate(25deg); }
.crystal-auth .auth-message h1 { font-family: UbuntuLocal, sans-serif; line-height: 1; letter-spacing: -.05em; }
.crystal-auth .auth-message h1 em, .crystal-auth .auth-message > span { color: #b6e8ff; }
.crystal-auth .auth-message p, .crystal-auth .auth-proof span { color: #d2e2f9; }
.crystal-auth .auth-main { background: radial-gradient(ellipse at 100% 0, #e6f0ff, transparent 65%), #f4f7fc; }
.crystal-auth .auth-card { padding: 32px; width: min(534px,100%); border: 1px solid var(--crystal-line); border-radius: 24px; background: #fff; box-shadow: var(--crystal-shadow); }
.crystal-auth .auth-card h2 { color: var(--crystal-ink); font-family: UbuntuLocal, sans-serif; }
.crystal-auth .auth-card-header p { color: var(--crystal-muted); }
.crystal-auth .auth-field input, .crystal-auth .auth-field select { background: #f8faff; border-color: #ccd9e8; }
.crystal-auth .auth-submit { color: #fff; background: var(--crystal-blue); border-radius: 12px; box-shadow: 0 6px 18px rgba(36,90,214,.15); }
.crystal-auth .security-note { background: #edf4ff; color: var(--crystal-muted); border-color: var(--crystal-line); }

@media (max-width: 1220px) {
  .crystal-workspace .topbar-heading { min-width: 150px; }
}
@media (max-width: 980px) {
  .crystal-workspace .mobile-nav { background: rgba(255,255,255,.96); border-color: #d4e3f4; box-shadow: 0 8px 32px rgba(35,65,105,.14); }
  .crystal-workspace .mobile-nav-item { color: #536981; min-height: 52px; }
  .crystal-workspace .mobile-nav-item.active { color: #fff; background: var(--crystal-blue); }
}
@media (max-width: 680px) {
  .crystal-workspace .topbar { display: flex; flex-wrap: nowrap; gap: 10px; }
  .crystal-workspace .topbar-heading { flex: 0 1 auto; }
  .crystal-workspace .topbar-actions { flex-wrap: nowrap; }
  .crystal-workspace .topbar-heading { min-width: 0; }
  .crystal-workspace .workspace-scroll { padding-top: 16px; }
  .crystal-workspace :is(.section-stack, .finance-dashboard) { gap: 14px; }
  .crystal-workspace .metric-card { min-height: 134px; padding: 18px; }
  .crystal-workspace .business-pulse-widget { padding: 20px; }
  .crystal-workspace .finance-hero { padding: 22px 20px; }
  .crystal-workspace .finance-hero h2 { font-size: clamp(1.85rem, 8.5vw, 2.6rem); }
  .crystal-workspace .finance-hero-number { padding: 14px; }
  .crystal-auth .auth-main { padding: 24px 16px; }
  .crystal-auth .auth-card { padding: 24px 20px; border-radius: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
