/* SplitGecko / Aurora: shared visual language with the SwiftUI client. */
:root{color-scheme:dark;--ink:#eaf4f4;--muted:#92a7ad;--line:#ffffff12;--accent:#7de5c6;--accent-light:#7de5c612;--bg:#091216;--paper:#101e24}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:radial-gradient(ellipse at 70% 0,#123d424a,transparent 65%),var(--bg);background-attachment:fixed}
.sidebar{background:#0b171be6;backdrop-filter:blur(28px);border-color:var(--line)}
.brand{letter-spacing:-1.4px}.brand-icon{background:linear-gradient(135deg,#a0f4d9,#62c8e0);color:#10262a;border-radius:10px;box-shadow:0 0 30px #7de5c61a}
.workspace .avatar,.avatar.mine{background:#7de5c61c;color:var(--accent)}.nav-item.selected,.group-link.active{background:#7de5c613;color:var(--accent);border-radius:13px}
.nav-item,.group-link,.workspace-label small,.account-button,.new-group{color:var(--muted)}.workspace-label strong,.group-link.active{color:var(--ink)}
.count,.tabs button span{background:#ffffff10}.topbar{background:#0c191b70;backdrop-filter:blur(20px)}.crumb b{color:var(--ink)}
h1{font-weight:700;letter-spacing:-1px}.main-body{padding-top:40px}.group-heading{margin-bottom:34px}
.stats{background:linear-gradient(125deg,#7de5c615,#69b5ed09);border:1px solid #8bdac426;border-radius:26px;padding:30px;box-shadow:0 18px 80px #0000001a}.stats strong{font-size:38px;letter-spacing:-1.7px}.stats small{font-size:12px}.personal-stat strong{color:#90f1d5}
.btn,.input,.settings-btn,.icon-btn{border-radius:13px}.primary{background:linear-gradient(135deg,#a1f1d6,#7cd5db);color:#0a292c;box-shadow:0 4px 20px #7de5c619}.primary:hover{background:#c0f8e7}.secondary,.settings-btn{border-color:#ffffff20;background:#ffffff08}.secondary:hover,.icon-btn:hover{background:#ffffff12}
.default-bar,.currency-bar{background:#ffffff04;border-color:var(--line);border-radius:13px;color:var(--muted)}.default-bar strong,.currency-bar strong{color:var(--ink)}
.members-card,.default-card{background:#ffffff03;border-color:var(--line);border-radius:23px}.member{border-color:var(--line)}.member-identity strong{color:var(--ink)}.member>b.owes,.expense-amount small.negative{color:#eebc91}.status-badge{background:#ffffff08;color:#8fa8ad}.status-badge.registered{background:#7de5c612;color:var(--accent)}
.expense{border-radius:14px;padding:18px 10px;border-bottom-color:#ffffff0a;transition:background .2s,transform .2s}.expense:hover{background:#ffffff06;transform:translateX(3px)}.expense-icon{background:#ffffff07;filter:none;border-radius:14px;width:44px;height:44px}.expense-info strong{font-size:14px}.expense-amount strong{font-size:15px}.date-label{background:transparent}.avatar{color:#203235}
.modal-backdrop{background:#01080bb3;backdrop-filter:blur(14px)}.modal{background:linear-gradient(145deg,#182c32f5,#0d1b22fc);border:1px solid #ffffff20;border-radius:28px;box-shadow:0 30px 100px #0008;animation:sheet-in .32s cubic-bezier(.2,.8,.2,1)}
.input{background:#07141880;border-color:#ffffff20;color:var(--ink)}.input:focus{border-color:var(--accent)}.field label,.field-label{color:#afc2c6}.amount-box,.segment{background:#06131770;border-color:#ffffff14;border-radius:17px}.amount-input{font-family:inherit;color:var(--ink)}.segment button.active{background:#ffffff13;color:var(--accent)}.keypad button{background:#ffffff08;border-color:#ffffff10}.keypad button.operator{background:#7de5c612;color:var(--accent)}
.security-key,.conversion-note,.setup-key,.qr-placeholder,.fx-box{background:#ffffff05;border-color:#ffffff16}.rate-equation,.recorded-total{color:var(--ink)}.error{color:#ffa9a1}.settle-row,.balance-header{border-color:var(--line)}
.mobile-nav{background:#102128d9;border:1px solid #ffffff1c;backdrop-filter:blur(28px);border-radius:24px;box-shadow:0 12px 45px #0007}.mobile-nav button{color:var(--muted)}.mobile-nav button.active{color:var(--accent)}.mobile-nav .mobile-add{background:linear-gradient(135deg,#a1f1d6,#7cd5db);color:#0a292c;border-radius:18px}.back-mobile .language-picker select,.language-picker select{background:#ffffff08;color:var(--ink);border-color:#ffffff15}.mobile-account-chip{background:#ffffff08;border-color:#ffffff12;color:var(--muted)}
button{transition:transform .18s,background .18s,box-shadow .18s}button:active{transform:scale(.97)}button:disabled{opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #92eddb;outline-offset:4px}
@keyframes sheet-in{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:620px){.main-body{padding-top:24px;padding-bottom:115px}.stats{padding:24px 18px;border-radius:24px}.stats strong{font-size:28px}.mobile-nav{bottom:14px;left:14px;right:14px;width:auto;padding-bottom:max(8px,env(safe-area-inset-bottom));height:auto;min-height:70px}.mobile-nav .mobile-add{padding:13px 18px}.expense{padding:18px 0}.expense-icon{width:38px;height:40px}.modal{border-radius:28px 28px 0 0}.modal-backdrop{padding:0}.group-heading h1{font-size:29px}}
@media(max-width:360px){.stats strong{font-size:22px}.expense-info strong{font-size:12px}.expense-amount strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.stats strong{overflow-wrap:anywhere;font-size:clamp(20px,2.5vw,38px);line-height:1.35}.member>b{max-width:46%;text-align:right;overflow-wrap:anywhere}.stats{align-items:start}

/* SplitGecko brand assets keep a consistent identity across desktop and mobile. */
img.splitgecko-mark{object-fit:cover;border-radius:11px;flex-shrink:0;display:inline-block;vertical-align:middle}

/* Flat surfaces and a single field palette, including split and native controls. */
:root{--line:#33464e;--muted:#b3c2c8;--field:#16272e;--field-border:#7b939d}
body{background:var(--bg)}
.sidebar,.topbar{background:#101e24;backdrop-filter:none}
.stats,.members-card,.default-card{background:var(--paper);border-color:var(--line);border-radius:12px;box-shadow:none}
.stats{padding:24px}
.brand-icon,.primary,.mobile-nav .mobile-add{background:var(--accent);box-shadow:none}
.btn,.settings-btn,.icon-btn,.nav-item.selected,.group-link.active{border-radius:8px}
.secondary,.settings-btn{background:var(--paper);border-color:var(--field-border)}
.modal{background:var(--paper);border-color:var(--line);border-radius:16px;box-shadow:0 16px 48px #0006}
.modal-backdrop{backdrop-filter:none}
.input,.split-row input,.amount-input,.language-picker select{background:var(--field);color:var(--ink);border:1px solid var(--field-border);border-radius:8px;font-family:inherit;font-size:16px;min-height:44px;caret-color:var(--accent);color-scheme:dark;opacity:1}
.amount-input{padding:8px 10px;font-size:32px}
textarea.input{resize:vertical}
input::placeholder,textarea::placeholder{color:#a6b9c2;opacity:1}
select option{background:var(--field);color:var(--ink)}
.input:focus,.split-row input:focus,.amount-input:focus,.language-picker select:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px;box-shadow:none}
input:autofill{box-shadow:0 0 0 1000px var(--field) inset;-webkit-text-fill-color:var(--ink)}
.field label,.field-label{color:var(--ink)}
input[type=checkbox],input[type=radio]{accent-color:var(--accent)}
.text-btn,.member-payment-link{min-height:44px}
.expense:hover{transform:none}
.mobile-nav{background:var(--paper);border-radius:12px;backdrop-filter:none;box-shadow:0 4px 20px #0004}
textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:620px){.modal{border-radius:16px 16px 0 0}.stats{padding:20px 16px}}


/* Authentication is required before any expense controls are exposed. */
.auth-gate{max-width:480px;margin:12vh auto;padding:32px;text-align:center;color:var(--text,#e6f0ee)}
.auth-gate img{border-radius:20px}.auth-gate p{line-height:1.6}.auth-gate .field{text-align:left}
.auth-gate .btn{margin-top:12px}.auth-gate input,.auth-gate select{width:100%}
body.auth-locked .app,body.auth-locked .mobile-nav,body.auth-locked #modal{display:none!important}
body:not(.auth-locked) .auth-gate{display:none}
