:root {
  --sv-blue: #0647f5;
  --sv-blue-2: #002fca;
  --sv-navy: #071431;
  --sv-orange: #ff6b0a;
  --sv-green: #49ad10;
  --sv-violet: #6043cf;
  --sv-ivory: #f8f5ee;
  --sv-paper: #fffdfa;
  --sv-line: #e7e2d9;
  --sv-muted: #6c7280;
  --sv-shadow: 0 12px 34px rgba(22, 30, 55, .08);
  --sv-radius: 18px;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; color: var(--sv-navy); background: var(--sv-ivory); font-family: Inter, Arial, sans-serif; }
button, input, select, textarea { font: inherit; }
a { color: inherit; }

/* Splash : cinq secondes, sans texte secondaire. */
.sv-splash-page { min-height: 100vh; overflow: hidden; background: #020626; }
.sv-splash { position: relative; display: grid; min-height: 100svh; place-items: center; isolation: isolate; overflow: hidden; }
.sv-splash::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 46%, rgba(20, 70, 255, .22), transparent 34%), linear-gradient(155deg, #020522 0%, #061553 54%, #020522 100%); z-index: -3; }
.sv-aurora { position: absolute; left: -15%; width: 130%; height: 180px; border-radius: 50%; filter: blur(14px); opacity: .9; transform-origin: center; }
.sv-aurora::before, .sv-aurora::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 3px solid currentColor; filter: drop-shadow(0 0 20px currentColor); }
.sv-aurora::after { transform: translateY(24px) scaleX(.86); opacity: .55; }
.sv-aurora-blue { top: 19%; color: #0878ff; background: linear-gradient(90deg, transparent 4%, rgba(0, 77, 255, .08), rgba(0, 176, 255, .55) 45%, rgba(0, 73, 255, .1), transparent 94%); transform: rotate(-8deg) skewY(-6deg); animation: svWave 4s ease-in-out infinite alternate; }
.sv-aurora-orange { bottom: 15%; color: #ff7618; background: linear-gradient(90deg, transparent 4%, rgba(255, 77, 0, .1), rgba(255, 160, 29, .65) 50%, rgba(255, 66, 0, .12), transparent 94%); transform: rotate(-7deg) skewY(7deg); animation: svWave 3.6s ease-in-out infinite alternate-reverse; }
.sv-splash-core { display: grid; justify-items: center; gap: 66px; width: min(80vw, 420px); z-index: 1; }
.sv-splash-logo { width: min(78vw, 340px); height: auto; filter: drop-shadow(0 18px 38px rgba(0, 81, 255, .45)); transform: scale(1.08); }
.sv-loader { width: 46px; height: 46px; padding: 4px; border-radius: 50%; background: conic-gradient(var(--sv-orange) 0 26%, transparent 26% 47%, #fff 47% 72%, transparent 72% 100%); animation: svSpin .9s linear infinite; }
.sv-loader span { display: block; width: 100%; height: 100%; border-radius: inherit; background: #061040; }
@keyframes svWave { to { transform: translateY(20px) rotate(3deg) skewY(3deg) scaleX(1.04); } }
@keyframes svSpin { to { transform: rotate(360deg); } }

/* Connexion, inscription et vérification. */
.nx-page { min-height: 100svh; background: var(--sv-ivory) !important; color: var(--sv-navy); }
.nx-page .nx-bg-glow, .nx-page .nx-ring { display: none !important; }
.nx-auth { min-height: 100svh !important; display: grid !important; place-items: center !important; padding: 36px 20px !important; }
.nx-auth-inner { width: min(100%, 460px) !important; margin: 0 auto !important; }
.nx-auth-logo { display: block !important; width: 144px !important; height: auto !important; margin: 0 auto 44px !important; }
.nx-auth .nx-card { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; border-radius: 0 !important; }
.nx-title { margin: 0 0 30px !important; text-align: center !important; color: var(--sv-navy) !important; font-size: 26px !important; font-weight: 800 !important; letter-spacing: -.7px !important; }
.nx-sub { display: none !important; }
.nx-field { margin: 0 0 18px !important; }
.nx-field::before { content: attr(data-label); display: block; margin: 0 0 8px; color: #1d2539; font-size: 12px; font-weight: 700; }
.nx-field input, .nx-field select, .nx-field textarea, .nx-input, .nx-select { width: 100% !important; min-height: 48px !important; padding: 0 16px !important; color: var(--sv-navy) !important; background: rgba(255,255,255,.55) !important; border: 1px solid #dedbd5 !important; border-radius: 9px !important; outline: 0 !important; box-shadow: none !important; }
.nx-field input:focus, .nx-input:focus, .nx-select:focus { border-color: var(--sv-blue) !important; box-shadow: 0 0 0 3px rgba(6,71,245,.1) !important; }
.nx-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
.nx-btn, .nx-primary, .expense-primary { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: 48px !important; border: 0 !important; border-radius: 8px !important; color: #fff !important; background: linear-gradient(135deg, #073ee4, #0759ff) !important; font-weight: 700 !important; box-shadow: 0 9px 20px rgba(6,71,245,.18) !important; cursor: pointer; }
.nx-auth .nx-btn { width: 100%; margin-top: 16px; }
.nx-link { margin: 34px 0 0 !important; text-align: center !important; color: var(--sv-muted) !important; font-size: 12px !important; }
.nx-link a { color: var(--sv-blue) !important; font-weight: 700 !important; text-decoration: none !important; }
.nx-check { display: flex !important; gap: 9px !important; align-items: flex-start !important; margin: 18px 0 !important; color: var(--sv-muted) !important; font-size: 11px !important; line-height: 1.5 !important; }
.nx-check input { accent-color: var(--sv-blue); }
.nx-error, .nx-success, .sv-alert { padding: 12px 14px; margin-bottom: 16px; border-radius: 9px; font-size: 12px; font-weight: 600; }
.nx-error, .sv-alert.error { color: #a72c21; background: #fff0ed; border: 1px solid #ffd0c8; }
.nx-success, .sv-alert.success { color: #227a28; background: #effbed; border: 1px solid #c6ebc0; }

/* Dashboard validé. */
.sv-dashboard-page { min-height: 100vh; background: var(--sv-ivory); }
.sv-app-shell { width: min(100%, 1640px); min-height: 100vh; margin: 0 auto; }
.sv-topnav { height: 74px; padding: 0 28px; display: grid; grid-template-columns: 170px 1fr 100px; align-items: center; gap: 24px; background: rgba(255,253,250,.96); border-bottom: 1px solid var(--sv-line); }
.sv-brand { display: inline-flex; align-items: center; width: 136px; }
.sv-brand img { display: block; width: 100%; height: auto; }
.sv-desktop-nav { height: 100%; display: flex; justify-content: center; align-items: stretch; gap: clamp(17px, 2.2vw, 38px); }
.sv-desktop-nav a { position: relative; display: inline-flex; align-items: center; color: #07102a; text-decoration: none; font-size: 12px; font-weight: 700; white-space: nowrap; }
.sv-desktop-nav a::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--sv-blue); transform: scaleX(0); transition: transform .2s ease; }
.sv-desktop-nav a.active { color: var(--sv-blue); }
.sv-desktop-nav a.active::after, .sv-desktop-nav a:hover::after { transform: scaleX(1); }
.sv-user-actions { display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 15px !important; }
.sv-bell, .sv-avatar { position: relative; display: grid; place-items: center; border: 0; cursor: pointer; }
.sv-bell { width: 38px; height: 38px; color: #14203c; background: transparent; font-size: 18px; }
.sv-bell > span { position: absolute; top: 6px; right: 5px; width: 7px; height: 7px; background: #ff5b27; border: 2px solid #fff; border-radius: 50%; }
.sv-avatar { width: 36px; height: 36px; color: #fff; background: var(--sv-blue); border-radius: 50%; font-size: 11px; font-weight: 700; }
.sv-dashboard { padding: 16px 28px 28px; }
.sv-hero-grid { display: grid; grid-template-columns: minmax(460px, .95fr) 1.1fr; gap: 12px; }
.sv-card, .sv-balance-card { border-radius: var(--sv-radius); }
.sv-card { background: rgba(255,253,250,.94); border: 1px solid var(--sv-line); box-shadow: var(--sv-shadow); }
.sv-balance-card { position: relative; min-height: 204px; overflow: hidden; padding: 26px 26px 20px; color: #fff; background: radial-gradient(circle at 87% 10%, rgba(32,99,255,.9), transparent 42%), linear-gradient(135deg, #071ba2, #001a8d 55%, #034bff); box-shadow: 0 15px 30px rgba(6,48,190,.22); }
.sv-balance-pattern { position: absolute; inset: 0; opacity: .22; background: repeating-radial-gradient(ellipse at 85% 110%, transparent 0 24px, #4a77ff 25px 26px); transform: rotate(-8deg) scale(1.2); }
.sv-balance-top, .sv-balance-value, .sv-account-line, .sv-balance-buttons { position: relative; z-index: 1; }
.sv-balance-top { display: flex; align-items: center; justify-content: space-between; font-size: 12px; }
.sv-balance-top button { width: 36px; height: 36px; border: 0; color: #fff; background: transparent; border-radius: 50%; cursor: pointer; font-size: 18px; }
.sv-balance-value { display: flex; align-items: baseline; gap: 9px; margin-top: 11px; }
.sv-balance-value strong { font-size: clamp(31px, 3vw, 42px); line-height: 1; letter-spacing: -1.7px; }
.sv-balance-value span { font-size: 15px; font-weight: 700; }
.sv-account-line { margin-top: 12px; font-size: 11px; opacity: .86; }
.sv-balance-buttons { display: flex; gap: 12px; margin-top: 20px; }
.sv-balance-buttons a { display: grid; min-width: 150px; height: 38px; place-items: center; color: #fff; background: #0c56ff; border-radius: 8px; text-decoration: none; font-size: 11px; font-weight: 700; box-shadow: 0 7px 18px rgba(0,0,0,.18); }
.sv-balance-buttons a.light { color: #091735; background: #fff; }
.sv-quick-card { padding: 22px 24px; }
.sv-card h2 { margin: 0; color: #0a1633; font-size: 15px; font-weight: 800; letter-spacing: -.35px; }
.sv-quick-actions { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; align-items: center; height: calc(100% - 25px); }
.sv-quick-actions a { display: grid; justify-items: center; gap: 10px; color: #07122e; text-decoration: none; font-size: 11px; }
.sv-quick-actions span { width: 64px; height: 64px; display: grid; place-items: center; color: #fff; border-radius: 19px; font-size: 24px; box-shadow: inset 0 0 0 9px rgba(255,255,255,.12), 0 8px 18px rgba(14,39,95,.12); }
.sv-quick-actions .blue { background: linear-gradient(145deg, #245fff, #003bdd); }
.sv-quick-actions .orange { background: linear-gradient(145deg, #ff852f, #f04b00); }
.sv-quick-actions .green { background: linear-gradient(145deg, #67c527, #339306); }
.sv-insights-grid { display: grid; grid-template-columns: .85fr 1.2fr .9fr; gap: 12px; margin-top: 12px; }
.sv-insights-grid > .sv-card { min-height: 336px; }
.sv-activity-card, .sv-chart-card, .sv-spending-card { padding: 20px; }
.sv-card-head { display: flex; justify-content: space-between; align-items: center; min-height: 23px; }
.sv-card-head a, .sv-card-link { color: var(--sv-blue); text-decoration: none; font-size: 10px; font-weight: 700; }
.sv-activity-list { margin-top: 12px; }
.sv-activity-row { width: 100%; display: grid; grid-template-columns: 36px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 11px 0; text-align: left; color: inherit; background: transparent; border: 0; border-bottom: 1px solid #eeeae3; cursor: pointer; }
.sv-tx-avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #1058e7; font-size: 10px; font-weight: 800; }
.sv-tx-avatar.tx-2 { background: #54a813; }.sv-tx-avatar.tx-3 { background: #f07926; }.sv-tx-avatar.tx-4 { background: #7647c8; }
.sv-tx-copy { min-width: 0; display: grid; gap: 3px; }
.sv-tx-copy b { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.sv-tx-copy small { color: var(--sv-muted); font-size: 9px; }
.sv-tx-amount { font-size: 10px; font-weight: 800; white-space: nowrap; }.sv-tx-amount.credit { color: #269a19; }.sv-tx-amount.debit { color: #13213d; }
.sv-empty { min-height: 250px; display: grid; place-content: center; justify-items: center; gap: 8px; color: var(--sv-muted); text-align: center; }
.sv-empty i { color: var(--sv-blue); font-size: 26px; }.sv-empty strong { color: var(--sv-navy); font-size: 13px; }.sv-empty span { font-size: 10px; }
.sv-chart-head { align-items: flex-start; }
.sv-chart-value { margin-top: 14px; font-size: 26px; font-weight: 800; letter-spacing: -1px; }.sv-chart-value span { font-size: 11px; letter-spacing: 0; }
.sv-range { display: flex; gap: 7px; }.sv-range button { min-width: 38px; height: 30px; color: #3f485a; background: #f6f4ef; border: 1px solid #e4e0d9; border-radius: 7px; font-size: 9px; font-weight: 700; }.sv-range button.active { color: #fff; background: var(--sv-blue); border-color: var(--sv-blue); }
.sv-chart { margin-top: 15px; }.sv-chart svg { width: 100%; height: 150px; overflow: visible; }.sv-grid-lines path { fill: none; stroke: #dedee4; stroke-width: 1; stroke-dasharray: 4 4; }.sv-chart-fill { fill: url(#chartFill); }.sv-chart-line { fill: none; stroke: var(--sv-blue); stroke-width: 4; stroke-linecap: round; }.sv-chart circle { fill: var(--sv-blue); stroke: #fff; stroke-width: 3; }
.sv-chart-labels { display: flex; justify-content: space-between; color: #717988; font-size: 8px; }.sv-chart-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; padding-top: 13px; margin-top: 11px; border-top: 1px solid #eeeae4; color: #747a87; font-size: 8px; }.sv-chart-stats span { display: grid; gap: 4px; }.sv-chart-stats b { color: #111c36; font-size: 10px; }
.sv-period { color: #707786; background: transparent; border: 0; font-size: 8px; }.sv-period i { font-size: 7px; }
.sv-spending-content { display: grid; grid-template-columns: 134px 1fr; align-items: center; gap: 18px; margin-top: 33px; }
.sv-donut { width: 126px; height: 126px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--sv-blue) 0 45%, var(--sv-orange) 45% 70%, var(--sv-green) 70% 85%, var(--sv-violet) 85% 100%); }.sv-donut::before { content: ""; position: absolute; width: 76px; height: 76px; background: var(--sv-paper); border-radius: 50%; }.sv-donut > div { position: relative; z-index: 1; display: grid; justify-items: center; }.sv-donut small { font-size: 8px; }.sv-donut strong { font-size: 13px; }
.sv-legend { display: grid; gap: 15px; }.sv-legend span { display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 7px; font-size: 9px; }.sv-legend i { width: 7px; height: 7px; border-radius: 50%; }.sv-legend i.blue { background: var(--sv-blue); }.sv-legend i.orange { background: var(--sv-orange); }.sv-legend i.green { background: var(--sv-green); }.sv-legend i.violet { background: var(--sv-violet); }.sv-legend b { font-size: 9px; }.sv-legend em { font-style: normal; font-weight: 700; }
.sv-card-link { display: block; padding-top: 17px; margin-top: 26px; text-align: center; border-top: 1px solid #eeeae4; }
.sv-transaction-modal, .nxg-modal-backdrop { position: fixed !important; inset: 0 !important; z-index: 200 !important; display: grid !important; place-items: center !important; padding: 18px !important; background: rgba(3,11,32,.48) !important; backdrop-filter: blur(8px); }.sv-transaction-modal[hidden] { display: none !important; }
.sv-transaction-modal > div, .nxg-modal { position: relative !important; width: min(100%, 490px) !important; max-height: 88vh !important; overflow: auto !important; padding: 28px !important; color: var(--sv-navy) !important; background: #fffdfa !important; border: 1px solid var(--sv-line) !important; border-radius: 18px !important; box-shadow: 0 30px 70px rgba(3,11,32,.24) !important; }
.sv-modal-close, .nxg-close { position: absolute !important; top: 13px !important; right: 13px !important; width: 34px !important; height: 34px !important; border: 0 !important; border-radius: 50% !important; background: #f1eee8 !important; color: #15203a !important; font-size: 20px !important; }
.sv-modal-icon { width: 46px; height: 46px; display: grid; place-items: center; color: #fff; background: var(--sv-blue); border-radius: 13px; }.sv-transaction-modal h2 { margin: 15px 0; font-size: 20px; }.sv-modal-body { display: grid; }.sv-modal-body span { display: flex; justify-content: space-between; gap: 18px; padding: 12px 0; border-bottom: 1px solid var(--sv-line); color: var(--sv-muted); font-size: 12px; }.sv-modal-body b { color: var(--sv-navy); }

/* Pages fonctionnelles : même langage, aucune barre basse. */
.nx-bottom-nav, .nx-mobile-nav { display: none !important; }
.nx-app, .nx-dashboard, .nxm { min-height: 100vh !important; background: var(--sv-ivory) !important; color: var(--sv-navy) !important; }
.nx-app > .nx-shell, .nxm-shell { width: min(100%, 1380px) !important; margin: 0 auto !important; }
.nx-app .nx-main { min-height: 100vh !important; }
.nx-app .nx-topbar, .nxm-top { min-height: 72px !important; display: grid !important; grid-template-columns: 1fr auto !important; align-items: center !important; padding: 0 30px !important; background: rgba(255,253,250,.95) !important; border-bottom: 1px solid var(--sv-line) !important; box-shadow: none !important; }
.nx-topbar-left { display: flex !important; align-items: center !important; gap: 16px !important; }.nx-mobile-logo, .nxm-brand img { width: 136px !important; height: auto !important; }.nx-top-title { font-size: 15px !important; font-weight: 800 !important; }
.nx-back-home { grid-column: 1/-1 !important; padding: 13px 30px 0 !important; }.nx-back-home a, .expense-back, .nxm-back { color: var(--sv-blue) !important; text-decoration: none !important; font-size: 11px !important; font-weight: 700 !important; }
.nx-top-actions, .nxm-actions { display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 8px !important; }.nx-header-icon, .nx-icon-btn { width: 36px !important; height: 36px !important; display: grid !important; place-items: center !important; color: #17223c !important; background: transparent !important; border: 0 !important; border-radius: 50% !important; text-decoration: none !important; }.nx-global-alias { display: none !important; }
.nx-content-wrap, .nxm-main, .nx-main-inner { width: min(100%, 1180px) !important; margin: 0 auto !important; padding: 44px 24px 52px !important; }
.nx-page-title, .nxm-title, .expense-top h1 { margin: 0 !important; color: var(--sv-navy) !important; font-size: clamp(24px,3vw,34px) !important; font-weight: 800 !important; letter-spacing: -1px !important; }.nx-page-sub, .nxm-sub, .expense-top p, .nx-muted, .nxm-muted { color: var(--sv-muted) !important; line-height: 1.6 !important; }.nx-page-sub { max-width: 720px !important; margin: 9px 0 26px !important; font-size: 12px !important; }
.nx-request-grid, .nx-qr-layout, .nx-scan-grid, .expense-layout { display: grid !important; grid-template-columns: minmax(0,1.15fr) minmax(320px,.85fr) !important; gap: 18px !important; align-items: start !important; }
.nx-panel, .expense-card, .nxm-card, .nxm-stat, .nxm-service { color: var(--sv-navy) !important; background: var(--sv-paper) !important; border: 1px solid var(--sv-line) !important; border-radius: 16px !important; box-shadow: var(--sv-shadow) !important; }
.nx-panel-pad, .expense-card, .nxm-card { padding: 24px !important; }.nx-panel-title { color: var(--sv-navy) !important; font-size: 18px !important; }.nx-kicker, .nxm-kicker, .nx-label { color: #536079 !important; font-size: 10px !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: 0 !important; }
.nx-actions-row { display: flex !important; gap: 10px !important; margin-top: 20px !important; }.nx-primary, .nx-secondary { min-height: 46px !important; padding: 0 20px !important; border-radius: 8px !important; text-decoration: none !important; font-size: 12px !important; font-weight: 700 !important; }.nx-primary { color: #fff !important; background: var(--sv-blue) !important; border: 1px solid var(--sv-blue) !important; }.nx-secondary { display: inline-flex !important; align-items: center !important; justify-content: center !important; color: var(--sv-navy) !important; background: #fff !important; border: 1px solid #dad7d0 !important; }
.nx-quick { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin-top: 9px !important; }.nx-quick button, .nx-chip { color: #34405a !important; background: #f2f0eb !important; border: 1px solid #e3dfd7 !important; border-radius: 8px !important; }
.nx-summary, .nx-request-item, .nx-feature, .nx-alias-box { background: #f7f4ee !important; border: 1px solid #e5e0d6 !important; border-radius: 10px !important; }.nx-summary-row { border-color: #e5e0d6 !important; }.nx-status, .nxm-pill { color: #2c8b20 !important; background: #ecf8ea !important; }
.nx-qr-card { text-align: center !important; }.nx-qr-box { display: inline-grid !important; place-items: center !important; padding: 14px !important; background: #fff !important; border: 1px solid var(--sv-line) !important; border-radius: 14px !important; }.nx-qr-box img, .nxm-qr img { display: block !important; width: min(100%, 290px) !important; height: auto !important; }.nx-alias { color: var(--sv-blue) !important; }
.nxm-stat-grid, .nxm-service-grid, .expense-summary-grid { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 14px !important; }.nxm-stat, .nxm-service, .expense-stat { padding: 20px !important; }.nxm-service { display: grid !important; gap: 8px !important; color: var(--sv-blue) !important; text-decoration: none !important; }.nxm-service b { color: var(--sv-navy) !important; }.nxm-note { color: var(--sv-muted) !important; background: #f2efe9 !important; border-color: #e0dcd3 !important; }
.expense-top, .expense-title-wrap, .expense-section-head { display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 15px !important; }.expense-title-wrap { justify-content: flex-start !important; }.expense-summary-grid { margin: 24px 0 18px !important; }.expense-stat { background: linear-gradient(145deg,#063bdd,#075cff) !important; color: #fff !important; border-radius: 14px !important; box-shadow: 0 12px 25px rgba(6,71,245,.17) !important; }.expense-stat span { color: rgba(255,255,255,.75) !important; }.expense-row, .category-item, .budget-item { border-color: #e7e2d9 !important; }.expense-icon { color: var(--sv-blue) !important; background: #ebf0ff !important; }.expense-modal { background: rgba(4,12,33,.45) !important; backdrop-filter: blur(8px); }.expense-modal-box { background: var(--sv-paper) !important; border-radius: 16px !important; }
.nxg-modal-title { color: var(--sv-navy) !important; font-size: 20px !important; font-weight: 800 !important; }.nxg-setting-section, .nxg-profile-row, .nxg-help-item { border-color: var(--sv-line) !important; }.nxg-primary { color: #fff !important; background: var(--sv-blue) !important; border: 0 !important; border-radius: 8px !important; }.nxg-notification-panel { color: var(--sv-navy) !important; background: #fffdfa !important; border: 1px solid var(--sv-line) !important; box-shadow: var(--sv-shadow) !important; }

/* Le scanner prend l'écran sur mobile, comme la création validée. */
.sv-scan-page { background: #070b15 !important; }.sv-scan-page .nx-app { background: #070b15 !important; }.sv-scan-page .nx-main { color: #fff !important; }.sv-scan-page .nx-panel { background: #0c111d !important; border-color: #252b38 !important; }.sv-scan-page .nx-reader-wrap { min-height: 450px !important; overflow: hidden !important; border-radius: 15px !important; background: #080d17 !important; }.sv-scan-page .nx-scan-frame { border-color: #3f6cff !important; filter: drop-shadow(0 0 8px #2250ff); }

@media (max-width: 900px) {
  .sv-topnav { height: 58px; grid-template-columns: 1fr auto; padding: 0 16px; }.sv-brand { width: 105px; }.sv-desktop-nav { display: none; }.sv-user-actions { gap: 5px !important; }.sv-avatar { width: 32px; height: 32px; }
  .sv-dashboard { padding: 12px 14px 28px; }.sv-hero-grid, .sv-insights-grid { grid-template-columns: 1fr; }.sv-balance-card { min-height: 170px; padding: 17px 18px; border-radius: 13px; }.sv-balance-value strong { font-size: 27px; }.sv-account-line { margin-top: 9px; }.sv-balance-buttons { display: none; }
  .sv-quick-card { padding: 13px 2px 2px; background: transparent; border: 0; box-shadow: none; }.sv-card h2 { font-size: 12px; }.sv-quick-actions { gap: 4px; margin-top: 12px; }.sv-quick-actions span { width: 45px; height: 45px; border-radius: 13px; font-size: 17px; }.sv-quick-actions a { gap: 7px; font-size: 9px; }
  .sv-insights-grid { margin-top: 16px; }.sv-insights-grid > .sv-card { min-height: auto; }.sv-activity-card { padding: 0; background: transparent; border: 0; box-shadow: none; }.sv-activity-row { padding: 12px 0; }.sv-tx-amount { font-size: 9px; }.sv-chart-card, .sv-spending-card { display: none; }.sv-empty { min-height: 180px; }
  .nx-auth { padding: 28px 24px !important; }.nx-auth-inner { width: min(100%, 390px) !important; }.nx-auth-logo { width: 124px !important; margin-bottom: 38px !important; }.nx-title { font-size: 22px !important; margin-bottom: 28px !important; }.nx-grid { grid-template-columns: 1fr !important; gap: 0 !important; }
  .nx-app .nx-topbar, .nxm-top { min-height: 58px !important; padding: 0 15px !important; grid-template-columns: 1fr auto !important; }.nx-mobile-logo, .nxm-brand img { width: 104px !important; }.nx-top-title { font-size: 13px !important; }.nx-top-actions > a:not(:first-of-type), .nx-top-actions .nx-global-alias, .nxm-actions > a:not(:first-of-type) { display: none !important; }.nx-back-home { order: -1; padding: 10px 15px 0 !important; }.nx-back-home a span { display: none; }
  .nx-content-wrap, .nxm-main, .nx-main-inner { padding: 25px 15px 36px !important; }.nx-page-title, .nxm-title, .expense-top h1 { font-size: 19px !important; letter-spacing: -.45px !important; }.nx-page-sub { margin-bottom: 19px !important; font-size: 10px !important; }.nx-request-grid, .nx-qr-layout, .nx-scan-grid, .expense-layout { grid-template-columns: 1fr !important; }.nx-panel-pad, .expense-card, .nxm-card { padding: 17px !important; }.nx-request-grid aside { order: 2; }.nx-actions-row { flex-direction: column !important; }.nx-primary, .nx-secondary { width: 100% !important; }
  .nxm-stat-grid, .nxm-service-grid, .expense-summary-grid { grid-template-columns: 1fr !important; }.expense-top { align-items: flex-start !important; flex-direction: column !important; }.expense-primary { width: 100% !important; }.expense-row { grid-template-columns: auto minmax(0,1fr) auto !important; }.expense-tools { grid-column: 2/4 !important; }
  .sv-scan-page .nx-topbar, .sv-scan-page .nx-content-wrap > .nx-page-sub, .sv-scan-page .nx-scan-grid aside, .sv-scan-page .nx-back-home { display: none !important; }.sv-scan-page .nx-content-wrap { padding: 0 !important; }.sv-scan-page .nx-page-title { position: relative; z-index: 3; margin: 0 !important; padding: 20px 54px 16px !important; color: #fff !important; text-align: center !important; font-size: 14px !important; }.sv-scan-page .nx-page-title::before { content: "‹"; position: absolute; left: 18px; top: 14px; font-size: 30px; font-weight: 400; }.sv-scan-page .nx-panel { min-height: calc(100svh - 56px); padding: 0 15px 20px !important; border: 0 !important; border-radius: 0 !important; }.sv-scan-page .nx-reader-wrap { min-height: calc(100svh - 155px) !important; }.sv-scan-page .nx-actions-row { position: fixed; right: 15px; bottom: 14px; left: 15px; z-index: 4; flex-direction: row !important; }.sv-scan-page .nx-actions-row .nx-secondary { color: #fff !important; background: rgba(20,21,25,.82) !important; border-color: #30333b !important; }
  .sv-transaction-modal > div, .nxg-modal { width: 100% !important; max-height: calc(100svh - 18px) !important; padding: 24px 18px !important; border-radius: 15px !important; }
}

@media (max-width: 380px) {
  .sv-quick-actions span { width: 41px; height: 41px; }.sv-activity-row { grid-template-columns: 32px minmax(0,1fr) auto; }.sv-tx-avatar { width: 31px; height: 31px; }.sv-tx-copy b { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
