/* Fintech Modern — visual layer only. Does not change financial calculations. */
:root {
  --fc-bg-deep:#07111f !important;
  --fc-bg-panel:#0d1929 !important;
  --fc-bg-panel-alt:#111f32 !important;
  --fc-line:#22324a !important;
  --fc-line-faint:#18263a !important;
  --fc-cyan:#4da3ff !important;
  --fc-cyan-dim:#2d78ca !important;
  --fc-amber:#f4c95d !important;
  --fc-red:#ff667d !important;
  --fc-green:#3bd6a0 !important;
  --fc-gold:#4da3ff !important;
  --fc-gold-soft:#9fc9ff !important;
  --fc-text:#f7f9fc !important;
  --fc-text-muted:#93a4b8 !important;
  --fm-shadow:0 18px 50px rgba(0,0,0,.28);
  --fm-radius:16px;
}

html { background:#07111f; }
body {
  background:
    radial-gradient(900px 560px at 82% -10%, rgba(40,107,208,.18), transparent 62%),
    radial-gradient(700px 520px at 30% 10%, rgba(45,161,255,.07), transparent 60%),
    #07111f !important;
  color:var(--fc-text) !important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  padding:0 !important;
  display:block !important;
  min-height:100vh;
}

/* App shell */
.fc-root {
  width:calc(100% - 244px) !important;
  max-width:none !important;
  min-height:100vh !important;
  margin:0 0 0 244px !important;
  padding:28px 30px 88px !important;
  border-radius:0 !important;
  overflow:visible !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Sidebar */
.fc-sidebar-safe {
  position:fixed !important;
  inset:0 auto 0 0 !important;
  width:244px !important;
  height:100vh !important;
  z-index:110 !important;
  padding:24px 14px 22px !important;
  overflow-y:auto !important;
  background:
    linear-gradient(180deg,rgba(13,31,52,.98),rgba(7,17,31,.99)),
    #081424 !important;
  border-right:1px solid #1d3049 !important;
  box-shadow:18px 0 50px rgba(0,0,0,.20) !important;
}
.fc-sidebar-collapse-v10 { display:none !important; }
.fc-side-brand {
  min-height:94px !important;
  padding:8px 12px 20px !important;
  margin-bottom:14px !important;
  border-bottom:1px solid rgba(144,169,199,.14) !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
}
.fc-side-mark {
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  border-radius:14px !important;
  display:grid !important;
  place-items:center !important;
  font-size:22px !important;
  font-weight:800 !important;
  color:#fff !important;
  background:linear-gradient(145deg,#1687ff,#3159d9) !important;
  border:1px solid rgba(121,187,255,.55) !important;
  box-shadow:0 10px 26px rgba(29,117,255,.24) !important;
}
.fc-side-brand b {
  display:block !important;
  font-size:15px !important;
  letter-spacing:.02em !important;
  color:#fff !important;
}
.fc-side-brand span {
  display:block !important;
  margin-top:3px !important;
  font-size:10px !important;
  letter-spacing:.12em !important;
  color:#8fa4be !important;
}
.fc-side-section { margin:16px 0 !important; }
.fc-side-section>span {
  display:block !important;
  padding:0 12px 8px !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
  color:#60758f !important;
}
.fc-side-section button,
.fc-side-bottom button {
  width:100% !important;
  min-height:44px !important;
  padding:10px 12px !important;
  margin:3px 0 !important;
  border:1px solid transparent !important;
  border-radius:11px !important;
  background:transparent !important;
  color:#b9c7d7 !important;
  font-size:13px !important;
  font-weight:600 !important;
  text-align:left !important;
  transition:.16s ease !important;
}
.fc-side-section button:hover,
.fc-side-bottom button:hover {
  background:#10243c !important;
  color:#fff !important;
  transform:translateX(2px);
}
.fc-side-section button.active {
  color:#fff !important;
  background:linear-gradient(135deg,rgba(27,119,255,.95),rgba(41,88,210,.78)) !important;
  border-color:rgba(102,175,255,.4) !important;
  box-shadow:0 8px 22px rgba(30,116,255,.18) !important;
}
.fc-side-section button i,
.fc-side-bottom button i { width:22px !important; font-style:normal !important; opacity:.95; }
.fc-side-bottom {
  margin-top:24px !important;
  padding-top:14px !important;
  border-top:1px solid rgba(144,169,199,.12) !important;
}

/* Header */
.fc-header {
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:24px !important;
  margin:0 0 18px !important;
  padding:0 !important;
  border:none !important;
}
.fc-header-main-with-logo { gap:0 !important; }
.fc-header-main-with-logo .fc-logo-shine-wrap { display:none !important; }
.fc-eyebrow {
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.14em !important;
  color:#4da3ff !important;
  margin-bottom:7px !important;
}
.fc-header h1 {
  margin:0 !important;
  font-family:Inter,system-ui,sans-serif !important;
  font-size:36px !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
  font-weight:800 !important;
  color:#f9fbff !important;
}
.fc-rule { display:none !important; }
.fc-modern-subtitle {
  margin-top:8px !important;
  color:#93a4b8 !important;
  font-size:15px !important;
  line-height:1.5 !important;
}
.fc-header-meta {
  display:flex !important;
  gap:10px !important;
  align-items:center !important;
}
.fc-meta-field {
  min-width:150px !important;
  padding:10px 12px !important;
  border:1px solid #20324a !important;
  border-radius:12px !important;
  background:rgba(15,29,48,.72) !important;
}
.fc-meta-field span { font-size:9px !important; letter-spacing:.1em !important; color:#7589a2 !important; }
.fc-meta-field b { font-size:12px !important; color:#e8eef7 !important; }

/* Toolbar */
.fc-util-bar {
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  padding:10px !important;
  margin:0 0 18px !important;
  border:1px solid #1e3048 !important;
  border-radius:14px !important;
  background:rgba(13,27,45,.72) !important;
  box-shadow:0 8px 28px rgba(0,0,0,.14) !important;
}
.fc-top-btn,
.fc-add-btn,
.fc-icon-btn,
button.primary {
  min-height:38px !important;
  border-radius:10px !important;
  border:1px solid #263a55 !important;
  background:#122238 !important;
  color:#dce7f4 !important;
  font-size:12px !important;
  font-weight:650 !important;
  transition:.16s ease !important;
}
.fc-top-btn:hover,
.fc-add-btn:hover,
.fc-icon-btn:hover,
button.primary:hover {
  border-color:#397fd1 !important;
  background:#17304f !important;
  color:#fff !important;
  transform:translateY(-1px);
}
.fc-add-btn,
button.primary {
  background:linear-gradient(135deg,#1687ff,#2f63df) !important;
  border-color:#368df2 !important;
  color:white !important;
}
.fc-util-divider { border-color:#263950 !important; }

/* Hide the legacy mega tab bar on desktop; all destinations live in the sidebar. */
.fc-tabs { display:none !important; }

/* Primary KPI cards */
.fc-strip {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:0 0 12px !important;
}
.fc-gauge {
  min-height:152px !important;
  padding:18px !important;
  border-radius:var(--fm-radius) !important;
  border:1px solid #20344e !important;
  background:linear-gradient(145deg,rgba(17,33,53,.98),rgba(11,24,40,.98)) !important;
  box-shadow:var(--fm-shadow) !important;
  overflow:hidden !important;
  position:relative !important;
}
.fc-gauge::after {
  content:"";
  position:absolute;
  width:140px;
  height:140px;
  border-radius:50%;
  right:-55px;
  bottom:-75px;
  background:radial-gradient(circle,rgba(51,153,255,.18),transparent 68%);
  pointer-events:none;
}
.fc-gauge:nth-child(1) { border-color:rgba(58,214,159,.30) !important; }
.fc-gauge:nth-child(1) .fc-gauge-value { color:#3bd6a0 !important; }
.fc-gauge:nth-child(2) { border-color:rgba(77,163,255,.30) !important; }
.fc-gauge:nth-child(2) .fc-gauge-value { color:#5eabff !important; }
.fc-gauge:nth-child(3) { border-color:rgba(244,201,93,.27) !important; }
.fc-gauge:nth-child(3) .fc-gauge-value { color:#f4c95d !important; }
.fc-gauge-label {
  font-size:11px !important;
  font-weight:750 !important;
  letter-spacing:.01em !important;
  color:#c3d1e1 !important;
}
.fc-gauge-value {
  margin-top:17px !important;
  font-size:28px !important;
  line-height:1 !important;
  letter-spacing:-.025em !important;
  font-weight:800 !important;
  font-family:Inter,system-ui,sans-serif !important;
}
.fc-gauge-clickable-hint {
  display:block !important;
  margin-top:15px !important;
  color:#6f849d !important;
  font-size:10px !important;
}

/* Secondary KPIs */
.fc-v22-summary {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:0 0 18px !important;
}
.fc-v22-summary-item {
  min-height:112px !important;
  padding:16px 17px !important;
  border:1px solid #20344e !important;
  border-radius:14px !important;
  background:linear-gradient(145deg,#102039,#0c192b) !important;
  box-shadow:0 12px 30px rgba(0,0,0,.18) !important;
}
.fc-v22-summary-item span {
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  color:#8296ae !important;
}
.fc-v22-summary-item strong {
  display:block !important;
  margin-top:10px !important;
  font-size:22px !important;
  line-height:1.1 !important;
  color:#f4f7fb !important;
}
.fc-v22-summary-item small {
  display:block !important;
  margin-top:7px !important;
  font-size:11px !important;
  color:#7f93aa !important;
}
.fc-v22-summary-item:nth-child(1) strong { color:#ff6b81 !important; }
.fc-v22-summary-item:nth-child(2) strong { color:#ffcf62 !important; }
.fc-v22-summary-item:nth-child(3) strong { color:#3bd6a0 !important; }

/* Panels */
.fc-panel,
.fc-v14-card,
.fc-proj-card,
.fc-assistant-box,
.fc-import-box,
.fc-goal-summary,
.fc-flow-kpis,
.fc-callout {
  border:1px solid #20324a !important;
  border-radius:var(--fm-radius) !important;
  background:linear-gradient(145deg,rgba(15,30,49,.98),rgba(10,23,39,.98)) !important;
  box-shadow:0 14px 38px rgba(0,0,0,.20) !important;
}
.fc-panel {
  margin-bottom:16px !important;
  overflow:hidden !important;
}
.fc-panel-header,
.fc-panel-title {
  min-height:54px !important;
  padding:15px 18px !important;
  border-bottom:1px solid #1d2f46 !important;
  background:rgba(13,27,45,.65) !important;
  color:#eef4fb !important;
  font-size:14px !important;
  font-weight:750 !important;
}
.fc-panel-content { padding:18px !important; }
.fc-v14-section-head h3 { font-size:15px !important; color:#f4f7fb !important; }
.fc-v14-section-head span { font-size:10px !important; color:#748aa4 !important; }

/* Typography: never let financial UI become microscopic */
.fc-root small,
.fc-root .fc-empty,
.fc-root .fc-callout,
.fc-root td,
.fc-root th,
.fc-root label,
.fc-root .fc-row,
.fc-root .fc-list {
  font-size:12px !important;
  line-height:1.45 !important;
}
.fc-root input,
.fc-root select,
.fc-root textarea {
  min-height:40px !important;
  border:1px solid #29415e !important;
  border-radius:10px !important;
  background:#0a1728 !important;
  color:#eef4fb !important;
  font-size:13px !important;
  outline:none !important;
}
.fc-root textarea { min-height:96px !important; padding:12px !important; }
.fc-root input:focus,
.fc-root select:focus,
.fc-root textarea:focus {
  border-color:#3e92eb !important;
  box-shadow:0 0 0 3px rgba(62,146,235,.12) !important;
}

/* Lists / ledger / tables */
.fc-list,
.fc-global-results,
.fc-v14-timeline {
  overflow:hidden !important;
  border-radius:12px !important;
  border:1px solid #1d3048 !important;
  background:#0b1829 !important;
}
.fc-row,
.fc-global-row,
.fc-v14-row,
.fc-v14-timeline-row {
  min-height:48px !important;
  padding:10px 12px !important;
  border-bottom:1px solid #182a40 !important;
  background:transparent !important;
}
.fc-row:hover,
.fc-global-row:hover,
.fc-v14-row:hover,
.fc-v14-timeline-row:hover { background:#10243a !important; }
.fc-global-head {
  min-height:40px !important;
  padding:10px 12px !important;
  background:#101f33 !important;
  color:#7f94ac !important;
  font-size:10px !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
}
.fc-mono { font-family:Inter,system-ui,sans-serif !important; font-variant-numeric:tabular-nums; }

/* Account, card, projections and goal blocks */
.fc-proj-card,
.fc-goal-summary>div,
.fc-flow-kpis>div,
.fc-reconcile-grid>div {
  padding:16px !important;
  border:1px solid #20344d !important;
  border-radius:13px !important;
  background:#0e1c2f !important;
}
.fc-proj-card span,
.fc-goal-summary span,
.fc-flow-kpis span { font-size:10px !important; color:#7f94aa !important; letter-spacing:.06em !important; }
.fc-proj-card b,
.fc-goal-summary b,
.fc-flow-kpis b { font-size:18px !important; color:#edf4fc !important; }
.fc-goal-progress {
  height:8px !important;
  border-radius:99px !important;
  background:#15283e !important;
  overflow:hidden !important;
}
.fc-goal-progress i { background:linear-gradient(90deg,#2d8cff,#3bd6a0) !important; }

/* Modals */
.fc-invoice-modal-overlay,
[class*="modal-overlay"] { backdrop-filter:blur(8px) !important; background:rgba(2,8,16,.70) !important; }
.fc-invoice-modal,
[class*="fc-modal"] {
  border:1px solid #2a405c !important;
  border-radius:18px !important;
  background:#0b1829 !important;
  box-shadow:0 28px 90px rgba(0,0,0,.52) !important;
}
.fc-invoice-modal-head,
.fc-invoice-modal-footer { border-color:#20334d !important; }
.fc-invoice-modal-summary>div {
  border:1px solid #21364f !important;
  border-radius:12px !important;
  background:#0f2035 !important;
}

/* Footer */
.fc-footer-summary {
  margin-top:18px !important;
  padding:14px !important;
  gap:10px !important;
  border:1px solid #20334c !important;
  border-radius:14px !important;
  background:#0b192a !important;
}
.fc-footer-summary>div { padding:10px 12px !important; }
.fc-footer-summary span { font-size:10px !important; color:#7f93aa !important; }
.fc-footer-summary b { font-size:15px !important; color:#eef4fb !important; }

/* Premium contextual accents */
.fc-callout {
  border-color:rgba(77,163,255,.28) !important;
  background:linear-gradient(135deg,rgba(20,63,110,.32),rgba(12,28,47,.96)) !important;
  color:#b9cbe0 !important;
}
.fc-v22-positive { color:#3bd6a0 !important; }
.fc-v22-negative,
.fc-calc-negative { color:#ff667d !important; }

/* Scrollbar */
* { scrollbar-width:thin; scrollbar-color:#315170 #0a1626; }
*::-webkit-scrollbar { width:9px; height:9px; }
*::-webkit-scrollbar-track { background:#0a1626; }
*::-webkit-scrollbar-thumb { background:#315170; border-radius:99px; border:2px solid #0a1626; }

@media (max-width:1180px) {
  .fc-strip { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .fc-v22-summary { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}

@media (max-width:900px) {
  .fc-root {
    width:100% !important;
    margin:0 !important;
    padding:14px 14px 90px !important;
  }
  .fc-sidebar-safe {
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    border-right:0 !important;
    border-bottom:1px solid #1d3049 !important;
    padding:12px !important;
    margin-bottom:16px !important;
    border-radius:14px !important;
  }
  .fc-side-brand { min-height:auto !important; padding:6px 8px 12px !important; }
  .fc-side-section { display:flex !important; flex-wrap:wrap !important; gap:5px !important; margin:8px 0 !important; }
  .fc-side-section>span { width:100% !important; }
  .fc-side-section button { width:auto !important; flex:1 1 140px !important; }
  .fc-side-bottom { display:flex !important; gap:6px !important; }
  .fc-side-bottom button { flex:1 !important; }
  .fc-header { flex-direction:column !important; }
  .fc-header h1 { font-size:30px !important; }
  .fc-header-meta { width:100% !important; }
  .fc-meta-field { flex:1 !important; min-width:0 !important; }
  .fc-tabs { display:flex !important; overflow-x:auto !important; gap:6px !important; margin:0 0 14px !important; }
}

@media (max-width:640px) {
  .fc-strip,
  .fc-v22-summary { grid-template-columns:1fr !important; }
  .fc-gauge { min-height:132px !important; }
  .fc-gauge-value { font-size:26px !important; }
  .fc-header h1 { font-size:27px !important; }
  .fc-util-bar { padding:8px !important; }
  .fc-top-btn { flex:1 1 135px !important; }
}
