@font-face {font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/manrope-400.ttf') format('truetype');}
@font-face {font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('./fonts/manrope-500.ttf') format('truetype');}
@font-face {font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('./fonts/manrope-600.ttf') format('truetype');}
@font-face {font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('./fonts/manrope-700.ttf') format('truetype');}
@font-face {font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url('./fonts/manrope-800.ttf') format('truetype');}

:root { color-scheme: dark; }
* { box-sizing: border-box; }
body { margin: 0; background: #080910; color: #f4f3fa; font-family: 'Manrope', 'Segoe UI', sans-serif; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; }
  #nos-aurora { padding: 16px 8px; }
  #nos-aurora .na-app {
    --na-bg:#0b0c14; --na-surface:#151622; --na-surface-raised:#1d1e2d;
    --na-text:#f4f3fa; --na-muted:#9b9caf; --na-line:#292a3b;
    --na-violet:#a59aff; --na-cyan:#69ded3; --na-button:#c1b7ff; --na-onbutton:#211640;
    --na-radius:24px; --na-gap:24px; color-scheme:dark;
    color:var(--na-text); background:var(--na-bg); width:100%; max-width:470px; margin:0 auto;
    border:1px solid #2d2c40; border-radius:34px; overflow:hidden; position:relative;
    font:500 14px/1.5 'Manrope','Segoe UI',sans-serif; isolation:isolate;
    box-shadow:0 28px 70px #00000030;
  }
  #nos-aurora .na-app::before { content:''; position:absolute; pointer-events:none; z-index:-1; inset:0 0 auto; height:320px; background:radial-gradient(ellipse at 80% 0%,#53529e2b,transparent 66%); }
  #nos-aurora .na-app[data-glow=false]::before { display:none; }
  #nos-aurora .na-app * { box-sizing:border-box; }
  #nos-aurora [hidden] { display:none !important; }
  #nos-aurora h2,#nos-aurora h3,#nos-aurora p { margin:0; }
  #nos-aurora button,#nos-aurora input,#nos-aurora select { font:inherit; }
  #nos-aurora button { color:inherit; touch-action:manipulation; }
  #nos-aurora button:focus-visible,#nos-aurora input:focus-visible,#nos-aurora select:focus-visible { outline:2px solid var(--na-cyan); outline-offset:4px; }
  #nos-aurora .na-head { padding:28px var(--na-gap) 20px; }
  #nos-aurora .na-brandline { display:flex; align-items:center; justify-content:space-between; gap:14px; }
  #nos-aurora .na-brand { display:flex; align-items:center; gap:12px; }
  #nos-aurora .na-brandmark { width:38px; height:38px; flex:0 0 38px; border:1px solid #ffffff1a; border-radius:12px; box-shadow:0 5px 18px #00000030; }
  #nos-aurora .na-logo { font-size:30px; line-height:1; letter-spacing:-2px; font-weight:800; }
  #nos-aurora .na-brandcaption { border-left:1px solid #464252; padding-left:12px; color:#c4bfda; font-size:11px; line-height:1.5; letter-spacing:1.7px; }
  #nos-aurora .na-iconbutton { width:44px; height:44px; display:grid; place-items:center; border:0; border-radius:50%; background:transparent; color:var(--na-muted); padding:0; flex:0 0 44px; }
  #nos-aurora .na-iconbutton:hover { background:var(--na-surface-raised); color:var(--na-text); }
  #nos-aurora svg { flex-shrink:0; }
  #nos-aurora .na-iconbutton svg { width:19px; height:19px; }
  #nos-aurora .na-greeting { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:26px; }
  #nos-aurora .na-eyebrow { font-size:11px; letter-spacing:1.8px; text-transform:uppercase; color:var(--na-muted); }
  #nos-aurora .na-couple { font-size:20px; font-weight:700; letter-spacing:-.6px; margin-top:4px; overflow-wrap:anywhere; }
  #nos-aurora .na-avatars { display:flex; padding-right:2px; }
  #nos-aurora .na-avatar { width:37px; height:37px; border-radius:50%; border:3px solid var(--na-bg); display:grid; place-items:center; font-size:12px; font-weight:800; background:#c1b7ff; color:#241e43; }
  #nos-aurora .na-avatar + .na-avatar { margin-left:-9px; background:#89ded5; color:#153b3b; }
  #nos-aurora .na-month { display:flex; justify-content:space-between; align-items:center; margin-top:19px; padding:4px 0; border-top:1px solid var(--na-line); border-bottom:1px solid var(--na-line); }
  #nos-aurora .na-month span { font-size:12px; color:#d6d3e2; letter-spacing:.3px; }
  #nos-aurora .na-month button { width:34px; flex-basis:34px; }
  #nos-aurora .na-main { min-height:530px; padding:0 var(--na-gap) 24px; }
  #nos-aurora .na-hero { position:relative; isolation:isolate; overflow:hidden; border-radius:var(--na-radius); padding:24px; background:#211e37; border:1px solid #453d66; }
  #nos-aurora .na-hero::before { content:''; position:absolute; z-index:-1; inset:0; background:radial-gradient(ellipse at 100% 0%,#426a7a66,transparent 48%),radial-gradient(ellipse at 0% 100%,#7c4acc5c,transparent 75%); }
  #nos-aurora .na-app[data-glow=false] .na-hero::before { display:none; }
  #nos-aurora .na-orbit { position:absolute; width:166px; height:166px; right:-66px; top:-72px; border:1px solid #c1b7ff36; border-radius:50%; box-shadow:0 0 0 17px #c1b7ff09,0 0 0 34px #c1b7ff08; z-index:-1; }
  #nos-aurora .na-hero-label { font-size:12px; color:#d9d4ec; display:flex; gap:8px; align-items:center; }
  #nos-aurora .na-hero-label svg { width:15px; height:15px; color:#d4cbff; }
  #nos-aurora .na-value { font-size:44px; font-weight:700; letter-spacing:-2.2px; line-height:1.15; margin:15px 0 10px; font-variant-numeric:tabular-nums; white-space:nowrap; }
  #nos-aurora .na-value small { font-size:21px; letter-spacing:-.5px; font-weight:500; padding-right:5px; }
  #nos-aurora .na-hero-hint { display:flex; align-items:center; gap:6px; font-size:11px; color:#d3cce5; }
  #nos-aurora .na-dot { width:5px; height:5px; border-radius:50%; background:#ad9cf6; flex:0 0 5px; }
  #nos-aurora .na-hero-bottom { display:grid; grid-template-columns:1fr 1fr; gap:15px; border-top:1px solid #ffffff1c; padding-top:18px; margin-top:21px; }
  #nos-aurora .na-hero-bottom span { display:block; font-size:11px; color:#c2bdd6; margin-bottom:5px; }
  #nos-aurora .na-hero-bottom strong { font-size:16px; font-weight:600; }
  #nos-aurora .na-hero-bottom .na-positive { color:#8aeadb; }
  #nos-aurora .na-actions { display:grid; grid-template-columns:1.25fr 1fr; gap:10px; margin:14px 0 23px; }
  #nos-aurora .na-button { min-height:46px; padding:10px 15px; border-radius:14px; border:1px solid var(--na-line); background:var(--na-surface); display:inline-flex; align-items:center; justify-content:center; gap:8px; font-size:12px; font-weight:700; }
  #nos-aurora .na-button svg { width:16px; height:16px; }
  #nos-aurora .na-primary { background:var(--na-button); color:var(--na-onbutton); border-color:transparent; }
  #nos-aurora .na-button:hover { filter:brightness(1.09); }
  #nos-aurora .na-full { width:100%; }
  #nos-aurora .na-subhead { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:23px 0 8px; }
  #nos-aurora .na-subhead h3 { font-size:14px; font-weight:700; letter-spacing:-.2px; }
  #nos-aurora .na-link { border:0; background:none; color:var(--na-violet); padding:9px 0 9px 9px; min-height:36px; font-size:11px; display:inline-flex; align-items:center; gap:4px; }
  #nos-aurora .na-link svg { width:13px; height:13px; }
  #nos-aurora .na-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
  #nos-aurora .na-quick { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  #nos-aurora .na-quick-item { display:flex; align-items:center; gap:10px; }
  #nos-aurora .na-glyph { display:grid; place-items:center; background:#24213b; color:#b7a9ff; width:37px; height:37px; border-radius:12px; flex:0 0 37px; }
  #nos-aurora .na-glyph svg { width:17px; height:17px; }
  #nos-aurora .na-glyph.cyan { background:#162e30; color:var(--na-cyan); }
  #nos-aurora .na-small { font-size:11px; color:var(--na-muted); }
  #nos-aurora .na-quick strong { display:block; font-size:14px; margin-top:1px; font-weight:600; }
  #nos-aurora .na-num { font-variant-numeric:tabular-nums; white-space:nowrap; }
  #nos-aurora .na-transaction { display:flex; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid #242431; }
  #nos-aurora .na-transaction:last-child { border-bottom:0; }
  #nos-aurora .na-transaction .na-glyph { background:#191a27; color:#bab8d0; }
  #nos-aurora .na-iteminfo { flex:1; min-width:0; overflow-wrap:anywhere; }
  #nos-aurora .na-itemname { font-size:12px; font-weight:700; }
  #nos-aurora .na-itemdetail { font-size:11px; color:var(--na-muted); margin-top:3px; }
  #nos-aurora .na-itemvalue { text-align:right; font-size:12px; font-weight:600; }
  #nos-aurora .na-planpeek { margin-top:18px; padding:16px; background:#151824; border-radius:18px; border:1px solid #25283a; }
  #nos-aurora .na-planpeek .na-glyph { background:#272339; }
  #nos-aurora .na-progress { height:5px; border-radius:6px; background:#ffffff13; overflow:hidden; }
  #nos-aurora .na-fill { height:100%; border-radius:inherit; background:linear-gradient(90deg,#a294f8,#68d9d3); }
  #nos-aurora .na-planpeek .na-progress { margin-top:13px; }
  #nos-aurora .na-nav { margin:0 14px 14px; padding:7px 5px; display:flex; background:#181924; border:1px solid #2c2c3c; border-radius:22px; }
  #nos-aurora .na-nav button { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-width:0; min-height:56px; padding:8px 2px; border:0; border-radius:15px; background:transparent; color:#9996af; font-size:11px; font-weight:600; }
  #nos-aurora .na-nav svg { width:19px; height:19px; stroke-width:1.7; }
  #nos-aurora .na-nav button[aria-pressed=true] { color:#d4ccff; background:#302945; }
  #nos-aurora .na-title { font-size:25px; font-weight:700; line-height:1.2; letter-spacing:-.9px; }
  #nos-aurora .na-pagehead { margin:3px 0 22px; }
  #nos-aurora .na-pagehead p { color:var(--na-muted); font-size:12px; margin-top:7px; }
  #nos-aurora .na-statrow { display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin:19px 0 13px; }
  #nos-aurora .na-statrow strong { font-size:26px; letter-spacing:-.8px; font-weight:600; }
  #nos-aurora .na-count { color:var(--na-cyan); font-size:11px; }
  #nos-aurora .na-check { padding:0; width:44px; height:44px; flex:0 0 44px; display:grid; place-items:center; border:0; background:transparent; }
  #nos-aurora .na-check span { height:23px; width:23px; border:1px solid #565466; border-radius:8px; display:grid; place-items:center; }
  #nos-aurora .na-check svg { width:14px; height:14px; visibility:hidden; }
  #nos-aurora .na-check[aria-pressed=true] span { background:var(--na-cyan); color:#102925; border-color:var(--na-cyan); }
  #nos-aurora .na-check[aria-pressed=true] svg { visibility:visible; }
  #nos-aurora .na-paid .na-itemdetail { color:var(--na-cyan); }
  #nos-aurora .na-paid .na-itemname { color:#a7a3b8; }
  #nos-aurora .na-note { display:flex; align-items:flex-start; gap:9px; padding:14px 0; font-size:11px; color:var(--na-muted); }
  #nos-aurora .na-note svg { width:14px; height:14px; margin-top:2px; }
  #nos-aurora .na-credit { min-height:209px; padding:22px; position:relative; overflow:hidden; border-radius:var(--na-radius); background:linear-gradient(125deg,#393050,#262a45 60%,#224046); border:1px solid #6e648b; isolation:isolate; }
  #nos-aurora .na-credit::before { content:''; position:absolute; width:240px; height:240px; border-radius:50%; border:1px solid #d9d0ff2b; right:-80px; top:-20px; box-shadow:0 0 0 26px #dfd0ff08,0 0 0 54px #dfd0ff06; z-index:-1; }
  #nos-aurora .na-credit .na-logo { font-size:26px; }
  #nos-aurora .na-credit-brand { display:flex; align-items:center; gap:8px; }
  #nos-aurora .na-credit-brand img { width:32px; height:32px; border:1px solid #ffffff1a; border-radius:9px; }
  #nos-aurora .na-credit-amount { margin:25px 0 21px; }
  #nos-aurora .na-credit-amount strong { display:block; font-size:28px; font-weight:600; letter-spacing:-1px; margin-top:5px; }
  #nos-aurora .na-credit .na-small { color:#d2cfe2; }
  #nos-aurora .na-credit-bottom { display:flex; justify-content:space-between; gap:10px; font-size:11px; letter-spacing:1px; color:#e3dfee; }
  #nos-aurora .na-credit-bottom span { min-width:0; overflow-wrap:anywhere; }
  #nos-aurora .na-goal { padding:22px; border-radius:var(--na-radius); overflow:hidden; position:relative; background:#1b1b2a; border:1px solid #343044; margin:16px 0; isolation:isolate; }
  #nos-aurora .na-goal.travel { background:linear-gradient(135deg,#262139,#1d2536); }
  #nos-aurora .na-goal.reserve { background:linear-gradient(135deg,#1a2c30,#202032); }
  #nos-aurora .na-goal::before { content:''; width:110px; height:110px; border:1px solid #c8c0ef25; border-radius:50%; position:absolute; right:-12px; top:-17px; box-shadow:0 0 0 15px #c8c0ef07,0 0 0 31px #c8c0ef05; z-index:-1; }
  #nos-aurora .na-goal h3 { font-size:17px; letter-spacing:-.4px; font-weight:700; margin:17px 0 17px; }
  #nos-aurora .na-goal-icon { color:#c9bcff; height:21px; width:21px; }
  #nos-aurora .na-goal .na-progress { margin:13px 0; }
  #nos-aurora .na-goal strong { font-size:20px; font-weight:600; letter-spacing:-.5px; }
  #nos-aurora .na-goal .na-small { color:#b5b2c8; }
  #nos-aurora .na-goal .na-button { min-height:34px; padding:6px 12px; border-color:#ffffff20; background:#ffffff09; font-size:11px; border-radius:10px; }
  #nos-aurora .na-goal .na-button svg { width:13px; height:13px; }
  #nos-aurora .na-category { margin:22px 0; }
  #nos-aurora .na-category .na-progress { margin-top:10px; }
  #nos-aurora .na-category .na-fill { background:var(--na-violet); }
  #nos-aurora .na-category .na-row { font-size:12px; }
  #nos-aurora .na-category .na-small { margin-top:6px; }
  #nos-aurora .na-sectionline { margin-top:24px; border-top:1px solid var(--na-line); padding-top:21px; }
  #nos-aurora .na-fields { display:grid; gap:17px; }
  #nos-aurora .na-label { display:block; font-size:11px; color:#bcb8d0; }
  #nos-aurora input:not([type=range]),#nos-aurora select { display:block; width:100%; margin-top:7px; min-height:48px; border:1px solid #393648; border-radius:12px; background:#181824; color:var(--na-text); padding:11px 13px; font-size:16px; min-width:0; }
  #nos-aurora .na-fields-two { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
  #nos-aurora .na-formactions { display:flex; justify-content:flex-end; gap:10px; margin-top:24px; }
  #nos-aurora .na-formactions .na-primary { flex:1; }
  #nos-aurora .na-error { font-size:12px; color:#ffb3bc; margin-top:14px; }
  #nos-aurora .na-toast { margin:0 var(--na-gap) 16px; color:#a7e8dc; background:#162927; border:1px solid #29453f; border-radius:12px; padding:12px 14px; font-size:12px; }
  #nos-aurora .na-range { width:100%; accent-color:var(--na-violet); margin:18px 0; }
  #nos-aurora .na-splitchoice { display:flex; gap:8px; margin:15px 0; flex-wrap:wrap; }
  #nos-aurora .na-splitchoice .na-button { flex:1; min-height:40px; font-size:11px; padding:7px; }
  #nos-aurora .na-splitchoice .na-button[aria-pressed=true] { background:#38304d; border-color:#a59aff77; }
  #nos-aurora .na-splitvalues { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  #nos-aurora .na-splitvalues strong { font-size:18px; display:block; margin-top:5px; font-weight:600; }
  #nos-aurora .na-preview-label { text-align:center; margin:13px auto 0; font:12px/1.4 system-ui,sans-serif; color:light-dark(#6b6676,#ada6be); }
  @media (max-width:390px) {
    #nos-aurora { padding:8px 0; }
    #nos-aurora .na-app { --na-gap:18px; border-radius:25px; }
    #nos-aurora .na-hero { padding:20px; }
    #nos-aurora .na-value { font-size:37px; letter-spacing:-1.8px; }
    #nos-aurora .na-value small { font-size:18px; }
    #nos-aurora .na-couple { font-size:18px; }
    #nos-aurora .na-glyph { width:32px; height:32px; flex-basis:32px; }
    #nos-aurora .na-quick { gap:10px; }
    #nos-aurora .na-quick-item { gap:7px; }
    #nos-aurora .na-quick strong { font-size:12px; }
    #nos-aurora .na-nav { margin:0 10px 10px; }
    #nos-aurora .na-transaction { gap:8px; }
    #nos-aurora .na-goal { padding:18px; }
  }
  @media (prefers-reduced-motion:no-preference) {
    #nos-aurora button { transition:background .16s ease,color .16s ease,filter .16s ease; }
    #nos-aurora .na-fill { transition:width .25s ease; }
  }

#nos-aurora .na-mode { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px; margin:0 var(--na-gap) 18px; font-size:11px; color:#c8bddf; }
#nos-aurora .na-mode .na-link { min-height:40px; padding:5px 0; }
#nos-aurora .na-storage-warning { margin:0 var(--na-gap) 18px; padding:12px; border:1px solid #86545c; border-radius:12px; background:#321c29; color:#ffd0d6; font-size:12px; }
#nos-aurora .na-auth { --na-line:#35364a; --na-muted:#9b9caf; --na-text:#f4f3fa; --na-cyan:#69ded3; --na-button:#c1b7ff; --na-onbutton:#211640; width:min(100% - 32px,520px); margin:clamp(28px,8vh,88px) auto 24px; padding:24px; border:1px solid var(--na-line); border-radius:26px; background:linear-gradient(145deg,#222432f5,#171923f5); box-shadow:0 24px 90px #0005; color:var(--na-text); }
#nos-aurora .na-auth .na-brandline { justify-content:center; margin-bottom:26px; }
#nos-aurora .na-auth .na-brand { flex-direction:column; gap:8px; min-width:0; text-align:center; }
#nos-aurora .na-auth .na-brandmark { display:block; width:76px; height:76px; flex:0 0 76px; border-radius:22px; }
#nos-aurora .na-auth .na-logo { font-size:31px; letter-spacing:-1.6px; }
#nos-aurora .na-auth .na-brandcaption { border:0; padding:0; color:#aaa5c0; font-size:10px; line-height:1.4; letter-spacing:2px; white-space:nowrap; }
#nos-aurora .na-auth .na-title { margin:0 0 8px; font-size:27px; line-height:1.16; }
#nos-aurora .na-auth-copy { margin:0 0 22px; color:var(--na-muted); font-size:14px; line-height:1.5; }
#nos-aurora .na-auth h1 { margin:0 0 8px; font-size:27px; line-height:1.16; }
#nos-aurora .na-auth-form { display:grid; gap:14px; }
#nos-aurora .na-auth-form .na-label { display:grid; gap:7px; color:#bcb8d0; font-size:12px; }
#nos-aurora .na-auth-form input { width:100%; min-height:48px; padding:0 14px; border:1px solid var(--na-line); border-radius:14px; background:#ffffff0a; color:var(--na-text); }
#nos-aurora .na-auth-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:6px; }
#nos-aurora .na-auth-actions .na-button { flex:1; }
#nos-aurora .na-auth .na-button { min-height:46px; padding:10px 15px; border:1px solid var(--na-line); border-radius:14px; background:#ffffff0a; color:var(--na-text); font-size:12px; font-weight:700; }
#nos-aurora .na-auth .na-button.na-primary { background:var(--na-button); color:var(--na-onbutton); border-color:transparent; }
#nos-aurora .na-auth-link { margin:14px 0 0; border:0; padding:0; background:transparent; color:var(--na-cyan); font:inherit; font-size:13px; }
#nos-aurora .na-auth-note { margin:16px 0 0; color:var(--na-muted); font-size:12px; line-height:1.5; }
#nos-aurora .na-auth-status { width:min(100% - 32px,520px); margin:0 auto 16px; padding:12px 14px; border:1px solid #41655d; border-radius:12px; background:#162927; color:#b9eee4; font-size:13px; line-height:1.45; }
#nos-aurora .na-auth-status[data-error=true] { border-color:#86545c; background:#321c29; color:#ffd0d6; }
#nos-aurora .na-invite-code { display:block; margin:18px 0; overflow-wrap:anywhere; border:1px solid var(--na-line); border-radius:14px; background:#0f111a; padding:15px; color:var(--na-cyan); font:600 15px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; text-align:center; user-select:all; }
#nos-aurora .na-auth-spinner { width:24px; height:24px; margin:22px auto; border:2px solid #ffffff25; border-top-color:var(--na-cyan); border-radius:50%; animation:na-spin .8s linear infinite; }
#nos-aurora .na-insights { margin:22px 0; padding:17px; border:1px solid #514870; border-radius:20px; background:linear-gradient(145deg,#28243b,#1a202b 82%); }
#nos-aurora .na-insights-head { display:flex; align-items:center; gap:11px; }
#nos-aurora .na-insight-mark { width:36px; height:36px; flex:0 0 36px; display:grid; place-items:center; border-radius:12px; color:#d7ceff; background:#a99cff1c; }
#nos-aurora .na-insight-mark svg { width:18px; height:18px; }
#nos-aurora .na-private-chip { margin-left:auto; border:1px solid #315b53; border-radius:999px; padding:4px 8px; color:#92e8d8; font-size:9px; letter-spacing:.4px; text-transform:uppercase; white-space:nowrap; }
#nos-aurora .na-insight-list { margin-top:12px; }
#nos-aurora .na-insight-row { display:flex; align-items:flex-start; gap:9px; padding:10px 0; border-top:1px solid #ffffff12; color:#ddd9eb; font-size:11px; line-height:1.5; }
#nos-aurora .na-insight-row svg { width:15px; height:15px; margin-top:1px; flex:0 0 15px; color:var(--na-cyan); }
@keyframes na-spin { to { transform:rotate(360deg); } }
#nos-aurora .na-backup-actions { display:grid; gap:10px; margin:16px 0; }
#nos-aurora .na-danger { color:#ffb8c3; border-color:#67404d; }
#nos-aurora .na-preview-label { color:#aba8bd; }
#nos-aurora .na-value { font-size:clamp(27px, 8vw, 44px); }
@media (max-width:390px) { #nos-aurora .na-app { --na-gap:18px !important; } }
