:root{color:#f4f5f7;font-synthesis:none;text-rendering:optimizelegibility;--background:#0b0d12;--surface:#14171d;--surface-raised:#1a1e25;--border:#282d35;--border-soft:#20242b;--text:#f4f5f7;--muted:#989da6;--dim:#626873;--accent:#70f3e4;--accent-strong:#48e4d2;--accent-muted:#173632;--orange:#ff9d57;--orange-muted:#38281e;--rose:#ff7d8c;--rose-muted:#3a232a;--radius:14px;background:#0b0d12;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--background);min-height:100%}body{background:var(--background);min-width:320px;min-height:100dvh;margin:0}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login-shell{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 0,#377f7638,#0000 38%),linear-gradient(#0d1015 0%,#090b0f 100%);place-items:center;display:grid;position:relative;overflow:hidden}.login-shell:before{content:"";opacity:.16;pointer-events:none;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 76%);mask-image:linear-gradient(#000,#0000 76%)}.login-glow{filter:blur(90px);background:#70f3e40f;border-radius:50%;width:320px;height:320px;position:absolute}.login-card{z-index:1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#14171de0;border:1px solid #70f3e421;border-radius:22px;width:min(100%,430px);padding:28px;position:relative;box-shadow:0 36px 90px #0000006b,inset 0 1px #ffffff08}.login-brand,.brand-lockup{align-items:center;gap:12px;display:flex}.logo{color:#0b1110;background:linear-gradient(135deg,#91fff3,#49d9ca);border:1px solid #326c65;border-radius:13px;flex:none;place-items:center;width:44px;height:44px;font:700 24px/1 Georgia,serif;display:grid;box-shadow:0 8px 28px #48e4d224}.eyebrow{color:var(--accent);letter-spacing:.15em;margin:0;font-size:9px;font-weight:700}.login-brand h1{letter-spacing:-.035em;margin:3px 0 0;font-size:20px}.login-copy{padding:30px 0 25px}.login-copy h2{letter-spacing:-.055em;max-width:310px;margin:0;font-size:30px;font-weight:570;line-height:1.08}.login-copy p{color:var(--muted);margin:12px 0 0;font-size:13px;line-height:1.6}.field-label{color:#bdc1c7;margin-bottom:8px;font-size:11px;font-weight:600;display:block}.password-field{border:1px solid var(--border);height:50px;color:var(--dim);background:#101319;border-radius:12px;align-items:center;gap:10px;padding:0 11px 0 14px;transition:border-color .15s,box-shadow .15s;display:flex}.password-field:focus-within{border-color:#3f8a82;box-shadow:0 0 0 3px #70f3e40f}.password-field input{min-width:0;color:var(--text);letter-spacing:.01em;background:0 0;border:0;outline:0;flex:1;font-size:14px}.password-field input::placeholder{color:#545a64}.field-icon-button{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.field-icon-button:hover{background:var(--surface-raised);color:var(--text)}.inline-error{color:#ffc19b;align-items:center;gap:7px;margin-top:10px;font-size:11px;display:flex}.primary-button{color:#07100e;cursor:pointer;background:linear-gradient(135deg,#81f8eb,#52dfd0);border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;height:48px;margin-top:15px;font-size:13px;font-weight:750;transition:transform .15s,filter .15s;display:flex;box-shadow:0 10px 30px #48e4d21f}.primary-button:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-1px)}.primary-button:disabled{opacity:.44;cursor:default;box-shadow:none}.privacy-note{color:var(--dim);text-align:center;margin:18px 5px 0;font-size:10px;line-height:1.5}.app-shell{background:linear-gradient(180deg, #0d1015 0, var(--background) 320px);min-height:100dvh}.app-header{z-index:20;padding-top:env(safe-area-inset-top);-webkit-backdrop-filter:blur(18px)saturate(130%);backdrop-filter:blur(18px)saturate(130%);background:#0b0d12db;border-bottom:1px solid #282d35d1;position:sticky;top:0}.app-header-inner,.dashboard-content,.subview-header-inner,.subview-content{width:min(100%,680px);margin:0 auto}.app-header-inner{justify-content:space-between;align-items:center;gap:14px;min-height:72px;padding:12px 18px;display:flex}.brand-lockup{align-items:flex-start;min-width:0}.brand-lockup .logo{border-radius:11px;width:38px;height:38px;margin-top:1px;font-size:21px}.brand-copy{min-width:0}.brand-lockup h1{letter-spacing:-.035em;margin:0;font-size:17px;font-weight:600}.brand-meta{color:var(--dim);letter-spacing:.13em;margin:3px 0 0;font-size:7.5px;font-weight:650}.header-actions{align-items:center;gap:8px;display:flex}.sync-status{min-height:13px;color:var(--muted);letter-spacing:.072em;white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:7px;margin:5px 0 0;font-size:9px;font-weight:550;display:flex}.live-dot{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px;animation:2.4s ease-out infinite pulse;box-shadow:0 0 #70f3e466}.loading-dots{align-items:center;gap:2px;display:inline-flex}.loading-dots i{background:var(--accent);border-radius:50%;width:3px;height:3px;animation:1.14s ease-in-out infinite blink}.loading-dots i:nth-child(2){animation-delay:.19s}.loading-dots i:nth-child(3){animation-delay:.38s}.icon-button{border:1px solid var(--border);background:var(--surface-raised);color:#d8dade;cursor:pointer;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;transition:all .15s;display:grid}.icon-button:hover:not(:disabled){background:#20252d;border-color:#3b444e}.icon-button:active:not(:disabled){transform:scale(.97)}.icon-button:disabled{cursor:default}.refresh-button.is-success,.refresh-button.is-busy{color:var(--accent);background:var(--accent-muted);border-color:#2c6a63}.refresh-icons{place-items:center;width:20px;height:20px;display:grid;position:relative}.refresh-icon,.refresh-check{transition:opacity .18s,transform .18s cubic-bezier(.2,.8,.2,1);position:absolute}.refresh-check{opacity:0;transform:scale(.72)}.refresh-button.is-success .refresh-icon{opacity:0}.refresh-button.is-success .refresh-check{opacity:1;transform:scale(1)}.dashboard-content{padding:20px 18px max(42px, env(safe-area-inset-bottom))}.install-card{border-radius:var(--radius);background:linear-gradient(135deg,#1b403bd6,#132223e0);border:1px solid #285650;align-items:flex-start;gap:11px;margin-bottom:18px;padding:13px;display:flex;box-shadow:0 10px 30px #00000029}.install-card-icon{background:var(--accent-muted);width:35px;height:35px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.install-card-copy{flex:1;min-width:0}.install-card-copy strong{font-size:12px;display:block}.install-card-copy span{color:#9db5b2;flex-wrap:wrap;align-items:center;gap:3px;margin-top:4px;font-size:10px;line-height:1.45;display:inline-flex}.install-card>button{color:#70928e;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:27px;height:27px;display:grid}.section-heading{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:11px;display:flex}.section-heading h2{letter-spacing:-.04em;margin:4px 0 0;font-size:20px;font-weight:570}.section-meta{color:var(--dim);letter-spacing:.13em;padding-bottom:4px;font-size:8px;font-weight:700}.metric-grid{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.metric-card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(145deg,#171a20,#13161b);flex-direction:column;justify-content:center;min-width:0;height:82px;padding:11px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff05}.metric-card:after{content:"";background:#70f3e406;border-radius:50%;width:70px;height:70px;position:absolute;bottom:-38px;right:-24px}.metric-card strong{color:var(--text);letter-spacing:-.045em;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(16px,3.4vw,23px);font-weight:510;line-height:1.1;overflow:hidden}.metric-card>span:last-child{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:9px;overflow:hidden}.skeleton{background:linear-gradient(90deg,#23272e 20%,#30353d 50%,#23272e 80%) 0 0/220% 100%;border-radius:5px;animation:1.5s infinite shimmer;display:block}.skeleton-value{width:70%;height:22px}.skeleton-label{width:55%;height:8px;margin-top:8px}.error-banner{color:#ffc29a;background:var(--orange-muted);border:1px solid #64412d;border-radius:12px;align-items:flex-start;gap:9px;margin-top:10px;padding:11px;font-size:11px;line-height:1.5;display:flex}.error-banner svg{color:var(--orange);flex:none}.transactions-section{margin-top:30px}.filter-pill{color:var(--muted);background:var(--surface);letter-spacing:.1em;border:1px solid #39434d;border-radius:20px;padding:5px 7px;font-size:7px;font-weight:700}.day-section{margin-top:22px}.day-heading{margin-bottom:9px}.day-divider{align-items:center;gap:9px;display:flex}.day-rule{background:linear-gradient(90deg, transparent, var(--accent-strong));opacity:.5;flex:1;height:1px}.day-divider .day-rule:last-child{background:linear-gradient(90deg, var(--accent-strong), transparent)}.day-heading h3{color:var(--accent);letter-spacing:.11em;white-space:nowrap;margin:0;font-size:9px;font-weight:650}.today-countdown{background:var(--accent-muted);border:1px solid #70f3e429;border-radius:999px;justify-content:center;align-items:center;gap:7px;width:fit-content;margin:9px auto 0;padding:5px 11px;display:flex}.today-countdown svg{color:var(--accent);flex:none}.today-countdown span{color:#a6b9b6;letter-spacing:.1em;font-size:8px;font-weight:600}.today-countdown strong{color:var(--text);letter-spacing:.04em;font-variant-numeric:tabular-nums;font:600 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.day-metrics{grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:7px;display:grid}.day-metric{border:1px solid var(--border-soft);background:#12151a;border-radius:9px;min-width:0;padding:7px 8px;position:relative;overflow:hidden}.day-metric strong,.day-metric>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.day-metric strong{letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:12px;font-weight:550}.day-metric strong.is-compact{letter-spacing:-.015em;font-size:10.5px}.day-metric strong.is-tiny{letter-spacing:0;font-size:9px}.day-metric>span{color:var(--muted);margin-top:3px;font-size:7px}.transaction-stack{flex-direction:column;gap:6px;display:flex}.transaction-card{border:1px solid var(--border);width:100%;min-height:68px;color:var(--text);background:linear-gradient(140deg, var(--surface), #13161b);text-align:left;cursor:pointer;border-radius:12px;padding:10px 12px;transition:border-color .14s,background .14s,transform .14s;display:block;position:relative;overflow:hidden}.transaction-card:hover{background:#191d23;border-color:#39414b}.transaction-card:active{transform:scale(.995)}.transaction-top,.transaction-bottom{align-items:center;min-width:0;display:flex}.flag{flex:none;margin-right:8px;font-size:17px}.event-badge{letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;border-radius:20px;align-items:center;gap:5px;max-width:52%;padding:4px 8px;font-size:10px;font-weight:650;display:inline-flex;overflow:hidden}.transaction-spacer{flex:1;min-width:8px}.transaction-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:15px;font-weight:500}.transaction-chevron{color:#4e545e;margin-left:7px}.transaction-bottom{color:var(--dim);gap:6px;margin-top:8px;font-size:9px}.transaction-bottom svg{flex:none}.transaction-email{max-width:37%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.transaction-source{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.transaction-bottom time{color:var(--dim);flex:none;font-size:8px}.empty-state{border:1px solid var(--border-soft);background:var(--surface);text-align:center;border-radius:12px;flex-direction:column;align-items:center;padding:27px 22px;display:flex}.empty-state strong{font-size:13px}.empty-state span{max-width:330px;color:var(--dim);margin-top:6px;font-size:10px;line-height:1.5}.transaction-skeleton{cursor:default;pointer-events:none}.transaction-skeleton .transaction-spacer{min-width:8px}.sk-flag{border-radius:7px;width:19px;height:19px;margin-right:8px}.sk-badge{border-radius:11px;width:40%;height:22px}.sk-value{border-radius:6px;width:54px;height:18px}.sk-bolt{border-radius:4px;width:12px;height:12px;margin-right:6px}.sk-source{width:52%;height:10px}.sk-time{width:46px;height:8px}.skeleton-stack{flex-direction:column;gap:6px;display:flex}.menu-layer{z-index:60;pointer-events:none;visibility:hidden;position:fixed;inset:0}.menu-layer.is-open{pointer-events:auto;visibility:visible}.menu-backdrop{opacity:0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:default;background:#000000a3;border:0;transition:opacity .22s;position:absolute;inset:0}.menu-layer.is-open .menu-backdrop{opacity:1}.slide-menu{width:min(88vw,390px);height:100dvh;padding:max(22px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom));border-left:1px solid var(--border);background:#11141a;flex-direction:column;transition:transform .25s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;top:0;right:0;overflow-y:auto;transform:translate(102%);box-shadow:-24px 0 70px #00000080}.menu-layer.is-open .slide-menu{transform:translate(0)}.menu-header{justify-content:space-between;align-items:center;display:flex}.menu-header h2{letter-spacing:-.045em;margin:4px 0 0;font-size:24px;font-weight:570}.menu-section{margin-top:28px}.menu-section-label{color:var(--dim);letter-spacing:.13em;margin:0 0 8px;font-size:8px;font-weight:700}.menu-setting{border:1px solid var(--border-soft);background:var(--surface);border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.menu-setting strong,.menu-setting span{display:block}.menu-setting strong{font-size:12px;font-weight:560}.menu-setting span{color:var(--dim);margin-top:4px;font-size:9px;line-height:1.45}.toggle{cursor:pointer;background:#242831;border:1px solid #3a4049;border-radius:15px;flex:none;width:41px;height:24px;padding:0;transition:all .18s;position:relative}.toggle>span{background:#898f98;border-radius:50%;width:16px;height:16px;margin:0;transition:transform .18s,background .18s;position:absolute;top:3px;left:3px}.toggle.is-on{background:var(--accent-muted);border-color:#398078}.toggle.is-on>span{background:var(--accent);transform:translate(17px)}.password-summary{border:1px solid var(--border-soft);background:var(--surface);border-radius:12px;align-items:center;gap:11px;padding:14px;display:flex}.password-summary>svg{color:var(--accent)}.password-summary div{flex:1;min-width:0}.password-summary div span,.password-summary div strong{display:block}.password-summary div span{color:var(--dim);font-size:9px}.password-summary div strong{color:#c6c9ce;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font:500 11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.status-dot{width:23px;height:23px;color:var(--accent);background:var(--accent-muted);border-radius:50%;place-items:center;display:grid}.install-steps{border:1px solid var(--border-soft);background:var(--surface);border-radius:12px;padding:13px}.install-steps>div{color:var(--muted);align-items:center;gap:9px;font-size:10px;line-height:1.45;display:flex}.install-steps>div+div{margin-top:11px}.install-steps>div>span:last-child{flex-wrap:wrap;align-items:center;gap:3px;display:inline-flex}.step-number{width:19px;height:19px;color:var(--accent);background:var(--accent-muted);border-radius:50%;flex:none;place-items:center;font-size:8px;font-weight:700;display:grid}.menu-footer{margin-top:auto;padding-top:34px}.sign-out-button{color:#f39aa4;cursor:pointer;background:#27191e;border:1px solid #493138;border-radius:11px;justify-content:center;align-items:center;gap:8px;width:100%;height:44px;font-size:11px;font-weight:650;display:flex}.sign-out-button:hover{background:#311e24;border-color:#70434d}.menu-footer p{color:var(--dim);text-align:center;margin:9px 8px 0;font-size:8.5px;line-height:1.45}.fullscreen-view{background:var(--background);min-height:100dvh;position:relative}.subview-header{z-index:20;padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--border-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0b0d12e6;position:sticky;top:0}.subview-header-inner{align-items:center;gap:11px;min-height:72px;padding:12px 18px;display:flex}.subview-header-inner h1{letter-spacing:-.035em;margin:0;font-size:18px;font-weight:570}.subview-header-inner p{max-width:520px;color:var(--dim);letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:8px;font-weight:600;overflow:hidden}.subview-content{padding:16px 18px max(34px, env(safe-area-inset-bottom))}.subview-content>.error-banner{margin-top:0}.retry-button{border:1px solid var(--border);color:var(--text);background:var(--surface-raised);cursor:pointer;border-radius:9px;align-items:center;gap:7px;margin:9px 0 14px;padding:8px 11px;font-size:10px;display:flex}.detail-hero{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(145deg,#171a20,#12151a);padding:14px}.detail-hero-top{align-items:center;display:flex}.detail-hero-top>strong{letter-spacing:-.03em;font-size:19px;font-weight:520}.detail-user{color:var(--dim);align-items:center;gap:9px;margin-top:19px;display:flex}.detail-user div{min-width:0}.detail-user span,.detail-user strong{display:block}.detail-user span{letter-spacing:.12em;font-size:7px;font-weight:700}.detail-user strong{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;font-weight:480;overflow:hidden}.detail-section{margin-top:20px}.detail-section h2{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin:0 0 7px;font-size:9px;font-weight:700}.detail-card{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);padding:0 13px;overflow:hidden}.detail-row{grid-template-columns:.42fr .58fr;align-items:start;gap:14px;min-height:45px;padding:11px 0;display:grid}.detail-row+.detail-row{border-top:1px solid var(--border-soft)}.detail-row>span{color:var(--dim);font-size:10px;line-height:1.45}.detail-row>div{text-align:right;min-width:0}.detail-row strong,.detail-row small{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;display:block}.detail-row strong{color:var(--text);font-size:11px;font-weight:480;line-height:1.4}.detail-row small{color:var(--dim);margin-top:3px;font-size:8px;line-height:1.4}.sweep{z-index:1;pointer-events:none;border-radius:inherit;background-image:linear-gradient(100deg,#0000 38%,#70f3e40d 45%,#ffffff13 50%,#70f3e40d 55%,#0000 62%);background-repeat:no-repeat;background-size:260% 100%;animation:1.35s cubic-bezier(.45,0,.25,1) infinite sweep;position:absolute;inset:0}@keyframes sweep{0%{background-position:165% 0}76%,to{background-position:-65% 0}}.spin{animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-220% 0}}@keyframes blink{0%,to{opacity:.25}45%{opacity:1}}@keyframes pulse{0%{box-shadow:0 0 #70f3e452}70%,to{box-shadow:0 0 0 5px #70f3e400}}@media (width<=560px){.metric-grid{grid-template-columns:repeat(2,1fr)}.metric-card{height:76px}.metric-card strong{font-size:22px}.dashboard-content,.subview-content,.app-header-inner,.subview-header-inner{padding-left:14px;padding-right:14px}.transaction-email{max-width:32%}}@media (width<=370px){.login-card{padding:23px 20px}.login-copy h2{font-size:27px}.brand-lockup .logo{width:35px;height:35px}.header-actions{gap:5px}.sync-status{letter-spacing:.045em;gap:5px;font-size:8px}.event-badge{max-width:45%}.transaction-email,.transaction-sep{display:none}.day-metric{padding:6px}.day-metric strong{font-size:10px}.day-metric strong.is-compact{font-size:9px}.day-metric strong.is-tiny{font-size:8px}.today-countdown{gap:6px;padding:5px 9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.sweep,.live-dot{animation:none!important}.sweep{display:none}}
