:root{--ink-900: #062f44;--ink-800: #0b4763;--ink-700: #176784;--sea-500: #3e9fb5;--mint-500: #60deac;--mint-400: #7be8bf;--paper: #eef6f8;--paper-strong: #f9fcfd;--line-soft: rgba(8, 62, 86, .2);--danger: #b93939;--success: #0a6a4f;--shadow-lg: 0 20px 45px rgba(6, 47, 68, .22);--shadow-md: 0 12px 28px rgba(6, 47, 68, .14);--shadow-sm: 0 6px 14px rgba(6, 47, 68, .08)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Avenir Next,Nunito Sans,Segoe UI,sans-serif;color:#072e42;background:radial-gradient(900px 520px at 100% 0%,rgba(96,222,172,.4),transparent 60%),radial-gradient(900px 500px at 0% 100%,rgba(62,159,181,.24),transparent 64%),linear-gradient(145deg,#d6e9ee,#c8dde5 38%,#deeff2)}#root{min-height:100vh}.page-bg{position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,rgba(7,62,86,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(7,62,86,.04) 1px,transparent 1px);background-size:22px 22px;opacity:.85;pointer-events:none}.orb{position:fixed;border-radius:999px;filter:blur(18px);opacity:.52;pointer-events:none}.orb-a{width:420px;height:420px;background:radial-gradient(circle at 35% 35%,#8df2cb,#46ba8f 70%);top:-160px;right:-100px;animation:float 8s ease-in-out infinite}.orb-b{width:360px;height:360px;background:radial-gradient(circle at 40% 40%,#7ec6d4,#2c7b93 72%);bottom:-130px;left:-100px;animation:float 10s ease-in-out infinite reverse}.app-shell{position:relative;z-index:1;width:min(1160px,93vw);margin:34px auto}.brand-row{display:flex;align-items:center;gap:12px;margin-bottom:20px}.brand-row h1{margin:0;color:var(--ink-900);font-size:clamp(2rem,2.7vw,2.7rem);letter-spacing:.2px;line-height:1}.brand-row p{margin:2px 0 0;color:#2c687c;font-size:1.08rem;font-weight:700}.brand-mark{width:48px;height:48px;border-radius:14px;background:conic-gradient(from 190deg,#084159,#2786a3,#77e9c0,#0f5f73);box-shadow:var(--shadow-md)}.alerts{min-height:10px}.alert{margin:0 0 14px;padding:12px 14px;border-radius:12px;border:1px solid rgba(185,57,57,.2);background:#fff0f0f2;color:var(--danger);font-weight:700}.alert-success{border-color:#0a6a4f4d;background:#dffff4f2;color:var(--success)}.card{background:linear-gradient(180deg,#ffffffe6,#f4fcfde0);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line-soft);border-radius:20px;box-shadow:var(--shadow-lg)}.panel{padding:24px 24px 22px}.auth-wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;animation:rise .3s ease-out}.hero-panel{color:#f2fdf9;background:radial-gradient(520px 250px at 90% -20%,rgba(123,232,191,.24),transparent 60%),linear-gradient(140deg,#072f44,#1f6985)}.hero-panel h2{margin:0 0 10px;font-size:1.9rem;line-height:1.15}.hero-panel p{margin:0;line-height:1.5;color:#d4f8ee}.chip-row{margin-top:16px;display:flex;flex-wrap:wrap;gap:9px}.chip{background:#ffffff24;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:7px 12px;font-size:.82rem;font-weight:700;letter-spacing:.25px}.auth-form h3{margin:0 0 14px;color:var(--ink-900)}.field{margin-bottom:12px}label{display:block;font-size:.82rem;color:#245364;margin-bottom:6px;font-weight:800;letter-spacing:.45px;text-transform:uppercase}input,select{width:100%;padding:11px 12px;border:1px solid rgba(2,64,89,.22);border-radius:12px;font-size:1rem;font-weight:600;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;background:#ffffffeb}input:focus,select:focus{border-color:#2f8cac;box-shadow:0 0 0 4px #56d6ab47;background:#fffffffa}.actions{display:flex;gap:10px;margin-top:14px}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:12px;padding:10px 15px;font-weight:800;letter-spacing:.2px;cursor:pointer;transition:transform .14s ease,filter .14s ease,box-shadow .14s ease,background-color .14s ease}button:disabled{opacity:.7;cursor:not-allowed}.btn-primary{background:linear-gradient(130deg,#0a4b68,#0d6788);color:#edfffb;box-shadow:0 10px 20px #0a4b684d}.btn-secondary{background:linear-gradient(130deg,#5adca8,#84eec6);color:#044733;box-shadow:0 10px 20px #38b68942}.btn-ghost{background:#ffffff6b;color:var(--ink-900);border-color:#0240593d}.btn-danger{background:linear-gradient(130deg,#cc4c4c,#a63333);color:#fff4f4;box-shadow:0 10px 20px #a131314d}.btn-primary:hover,.btn-secondary:hover,.btn-danger:hover,.btn-ghost:hover{transform:translateY(-2px);filter:saturate(1.08);box-shadow:var(--shadow-md)}.btn-settle{background:linear-gradient(130deg,#2ecc71,#27ae60);color:#fff;box-shadow:0 10px 20px #2ecc714d}.btn-settle:hover{transform:translateY(-2px);filter:saturate(1.08);box-shadow:var(--shadow-md)}.auth-toggle{margin-top:12px;font-size:.9rem}.auth-hint{margin:8px 0 0;color:#2c5f6b;font-size:.85rem}.auth-toggle a{color:var(--ink-900);font-weight:700}.dash-wrap{animation:rise .3s ease-out}.dash-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:14px}.dash-top-actions{display:flex;gap:8px}.dash-top h2{margin:0;color:var(--ink-900);font-size:clamp(1.55rem,2vw,1.95rem);letter-spacing:.2px}.dash-top p{margin:6px 0 0;color:#2b687b;font-size:1rem;font-weight:500}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat{padding:16px;background:linear-gradient(180deg,#ffffffc7,#f0f9fbd6);border-color:#06425a29;box-shadow:var(--shadow-sm)}.stat h4{margin:0 0 6px;color:#2f6374;font-size:.76rem;text-transform:uppercase;letter-spacing:1.2px;font-weight:800}.stat strong{font-size:1.2rem;line-height:1;color:var(--ink-900)}.workspace-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.section-panel h3{margin:0 0 12px;color:var(--ink-900);font-size:1.85rem;letter-spacing:.2px}.dash-wrap .section-panel h3{font-size:1.15rem;margin-bottom:10px}.dash-wrap .stat h4{font-size:.72rem;letter-spacing:.9px}.panel-header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.panel-header-placeholder{width:84px;height:36px;display:inline-block}.section-panel{background:linear-gradient(180deg,#fcfeffd6,#f1f9fbeb);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.section-panel:hover{transform:translateY(-3px);box-shadow:0 18px 32px #02405933;border-color:#02405947}.invites-panel{grid-column:2;grid-row:2}.create-invite-panel{grid-column:2;grid-row:1}.pending-invites-panel{grid-column:1;grid-row:2}.inline-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:12px}.list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.list li{border:1px solid rgba(2,64,89,.18);border-radius:12px;background:#ffffffd1;box-shadow:var(--shadow-sm)}.list li.is-active{border-color:#02405973;background:#77f2b938}.list-row{display:grid;grid-template-columns:1fr auto;align-items:center}.list-btn{width:100%;text-align:left;background:transparent;border:none;padding:11px 10px;display:flex;justify-content:space-between;align-items:center;gap:8px;color:#063344}.list-btn code{color:#2f7184;font-weight:700}.group-name-stack{display:inline-flex;align-items:center;gap:8px;min-width:0}.group-role-chip{border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:800;letter-spacing:.2px;text-transform:uppercase;border:1px solid transparent}.group-list li.group-owner{border-color:#116f5352}.group-list li.group-member{border-color:#0240592e}.group-list li.group-owner .chip-owner{color:#0f5f47;background:#60deac42;border-color:#116f5347}.group-list li.group-member .chip-member{color:#245364;background:#0240591a;border-color:#02405933}.btn-inline{margin-right:8px;background:#0240591f;color:var(--ink-900);padding:7px 10px}.list-empty{padding:12px;color:#3f6d78;font-weight:600}.list-empty-inline{margin:0;border:1px solid rgba(2,64,89,.18);border-radius:12px;background:#ffffffd1;box-shadow:var(--shadow-sm)}.result-box{margin-top:12px;background:linear-gradient(180deg,#77f2b938,#d7ffedc7);border:1px solid rgba(2,64,89,.22);border-radius:12px;padding:11px}.result-box p{margin:0 0 6px;line-break:anywhere}.result-box p:last-child{margin-bottom:0}.group-page-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.group-hero{padding:18px;border-radius:16px;margin-bottom:16px;background:radial-gradient(560px 260px at 100% 0%,rgba(121,237,195,.24),transparent 62%),linear-gradient(140deg,#062f44f5,#186885e6);color:#ddf8f0;box-shadow:0 20px 34px #03344b59}.group-hero h2{margin:0;font-size:clamp(2rem,2.5vw,2.45rem);line-height:1.06}.group-hero p{margin:8px 0 11px;color:#d0f6eb;font-size:1.1rem;font-weight:500}.chip-soft{background:#ffffff21;border-color:#ffffff47}.group-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.group-stack{display:flex;flex-direction:column;gap:14px}.expense-form-grid{display:grid;grid-template-columns:1fr;gap:10px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(480px 220px at 18% 8%,rgba(107,226,184,.16),transparent 70%),#03202c8f;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:40}.modal-card{width:min(470px,100%);background:linear-gradient(180deg,#fffffffa,#f1f9fbf5);border:1px solid rgba(2,64,89,.24);border-radius:18px;box-shadow:0 24px 52px #02405957;overflow:hidden}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:16px 18px 15px;background:radial-gradient(300px 140px at 100% 0%,rgba(155,248,216,.25),transparent 74%),linear-gradient(130deg,#48b79a,#6fddb9)}.modal-header h3{margin:0;color:#f5fffb;font-size:2rem;line-height:1}.modal-close{background:transparent;color:#f5fffb;border:none;padding:0;width:30px;height:30px;font-size:1.8rem;font-weight:700;line-height:1;border-radius:9px;opacity:.85}.modal-close:hover{background:#ffffff29;opacity:1}.modal-card form{padding:18px}.expense-entry-layout{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:start;margin-bottom:10px}.expense-entry-layout .field{margin-bottom:0}.expense-amount-field input{font-size:2.1rem;font-weight:800;padding:14px;border-radius:14px;letter-spacing:.25px;color:#093d55;background:linear-gradient(180deg,#fffffffa,#eff8fbf5)}.expense-amount-field input::placeholder{color:#2260736b;font-weight:700}.expense-amount-hint{margin:2px 2px 8px;color:#356979;font-size:.84rem;font-weight:700}.expense-inline-summary{display:block;margin:8px 0 10px}.expense-icon-box{width:72px;height:100%;min-height:70px;border-radius:14px;border:1px solid rgba(2,64,89,.2);background:linear-gradient(180deg,#fffffff2,#edf7faf2);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center}.expense-icon-box svg{width:34px;height:34px;fill:#1b5a70}.expense-split-summary p{margin:0;color:#1f4f61;font-weight:700}.expense-split-summary p+p{margin-top:6px;color:#2f6779;font-size:.93rem}.summary-chip{display:inline-block;padding:2px 8px;border-radius:999px;background:#60deac33;border:1px solid rgba(16,113,83,.22);color:#145843;font-size:.8rem;line-height:1.35}.summary-chip-wrap{position:relative;display:inline-block}.summary-chip-button{padding:3px 10px;cursor:pointer}.summary-chip-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:180px;max-height:180px;overflow-y:auto;background:#f5fcfefa;border:1px solid rgba(2,64,89,.24);border-radius:12px;box-shadow:var(--shadow-md);padding:6px;z-index:20}.summary-chip-option{display:block;width:100%;text-align:left;background:transparent;border:none;border-radius:8px;color:#1b5569;padding:8px 9px;font-size:.9rem;font-weight:700}.summary-chip-option:hover{background:#60deac38}.summary-chip-option[aria-selected=true]{background:#60deac47;color:#114a37}.settle-up-content{padding:18px 18px 14px}.settle-up-prompt{margin:0 0 16px;color:#4a5f68;font-size:1rem}.payment-methods{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.payment-method-btn{width:100%;padding:14px 16px;border-radius:12px;font-size:1rem;font-weight:700;text-align:center;border:2px solid transparent;transition:all .2s ease;cursor:pointer}.payment-method-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.payment-method-btn[aria-pressed=true]{border-color:#062f4466;box-shadow:0 0 0 3px #60deac38}.payment-method-cash{background:linear-gradient(130deg,#2ecc71,#27ae60);color:#fff;box-shadow:0 6px 12px #2ecc7133}.payment-method-venmo{background:linear-gradient(130deg,#3d95ce,#1681d4);color:#fff;box-shadow:0 6px 12px #1681d433}.payment-method-paypal{background:#fff;color:#0070ba;border:1px solid rgba(0,112,186,.2);box-shadow:0 6px 12px #0070ba14}.venmo-logo,.paypal-logo{font-weight:800;letter-spacing:.5px}.payment-disclaimer{margin:0;padding:12px;border-radius:10px;background:#e0f2f499;border:1px solid rgba(62,159,181,.2);color:#245364;font-size:.85rem;line-height:1.5}.modal-actions{justify-content:flex-end;margin-top:8px}.settle-up-actions{padding:0 18px 18px;margin-top:12px}.settlement-entry-view{padding:2px 2px 0}.settlement-group-pill-top{margin:0 auto 12px;width:min(100%,360px)}.settlement-avatar-row{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:12px}.settlement-avatar{width:56px;height:56px;border-radius:999px;border:1px solid rgba(2,64,89,.18);background:linear-gradient(180deg,#fffffff5,#e6f3f7f5);color:#1c6075;font-weight:800;display:flex;align-items:center;justify-content:center}.settlement-arrow{color:#97a7af;font-size:1.9rem;line-height:1}.settlement-copy{margin:0 0 10px;text-align:center;color:#4a5f68;font-size:1.05rem}.settlement-amount-wrap{display:flex;align-items:baseline;justify-content:center;gap:6px;margin-bottom:14px}.settlement-currency{font-size:2rem;color:#3a5360}.settlement-amount-input{width:140px;border:none;border-bottom:1px dashed rgba(66,97,110,.45);background:transparent;font-size:3rem;line-height:1;font-weight:700;color:#a6afb4;text-align:center;padding:0 0 5px}.settlement-amount-input:focus{outline:none;border-bottom-color:#358099b3;color:#456572}.settlement-meta-grid{display:flex;justify-content:center}.settlement-pill-input,.settlement-group-pill{display:flex;align-items:center;justify-content:center;height:34px;border-radius:999px;border:1px solid rgba(97,117,126,.32);background:#f1f1f18c;color:#606e74;font-size:1rem;text-align:center;padding:0 12px}.settlement-pill-input{width:min(100%,230px)}.settlement-pill-input:focus{outline:none;border-color:#358099b3;box-shadow:0 0 0 3px #60deac26}.settlement-expense-pick-list{list-style:none;margin:8px 0 0;padding:0;max-height:180px;overflow-y:auto;border:1px solid rgba(2,64,89,.18);border-radius:10px;background:#ffffffdb}.settlement-expense-pick-list li+li{border-top:1px solid rgba(2,64,89,.1)}.settlement-expense-pick-item{display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-weight:700;font-size:.9rem;color:#1f4f61;margin:0;padding:8px 10px}.settlement-expense-pick-item input[type=checkbox]{width:auto}.settlement-selection-total{margin:8px 0 0;color:#1f4f61;font-size:.88rem;font-weight:800}.settled-group-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.settled-group-card{position:relative;border:1px solid rgba(7,66,92,.2);border-radius:14px;background:linear-gradient(180deg,#fffffffa,#f4fafcf5);box-shadow:0 10px 22px #07425c1f;overflow:hidden}.settled-group-card:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:999px;background:linear-gradient(180deg,#2e8ea8,#6fe0bb)}.settled-group-toggle{width:100%;border:none;border-radius:0;background:transparent;color:#08384f;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;text-align:left;padding:13px 14px;cursor:pointer}.settled-group-main{flex:1;min-width:0}.settled-group-title{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:1.01rem;color:#08384f}.settled-group-separator{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#457387}.settled-group-meta{margin:5px 0 0;color:#2f6070;font-size:.92rem;line-height:1.35}.settled-toggle-pill{display:inline-flex;align-items:center;justify-content:center;min-width:84px;padding:7px 10px;border-radius:10px;background:linear-gradient(180deg,#2e8ea8,#2f9b8f);border:1px solid rgba(13,84,107,.25);color:#f4fbff;font-size:.8rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;box-shadow:0 6px 14px #126b8438}.settled-group-body{border-top:1px solid rgba(2,64,89,.12);padding:8px 14px 10px}.settled-group-expense{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:6px 0;font-size:.9rem;color:#2f6070}.expense-save-status{margin:0;padding:10px;border:1px solid rgba(10,106,79,.25);border-radius:10px;background:#dffff4eb;color:var(--success);font-weight:700}.member-list,.expense-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.member-list{gap:8px}.expense-list{gap:10px}.member-list li,.expense-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid rgba(2,64,89,.18);border-radius:12px;background:#ffffffdb;box-shadow:var(--shadow-sm)}.member-list li{justify-content:flex-start;padding:11px 12px}.expense-list li{position:relative;align-items:stretch;padding:13px 14px;border-radius:14px;border-color:#07425c33;background:linear-gradient(180deg,#fffffffa,#f4fafcf5);box-shadow:0 10px 22px #07425c1f}.expense-list li:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:999px;background:linear-gradient(180deg,#2e8ea8,#6fe0bb)}.member-list li>div:last-child,.expense-main{flex:1;min-width:0}.member-list li p{margin:4px 0 0;color:#2c5f6b;font-size:.9rem}.expense-title{display:block;font-size:1.08rem;color:#08384f;letter-spacing:.1px}.expense-meta,.expense-split{margin:5px 0 0;color:#2f6070;font-size:.92rem;line-height:1.35}.expense-split{color:#356979;font-size:.88rem}.expense-actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:10px;min-width:114px}.expense-amount{font-size:1.5rem;font-weight:800;line-height:1;color:#08384f}.expense-delete{margin-right:0;padding:6px 10px;border-radius:10px;background:linear-gradient(130deg,#c94545,#a12d2d);color:#fff6f6;border-color:#7415158c;box-shadow:0 8px 14px #a1313147}.expense-delete:hover:not(:disabled){background:linear-gradient(130deg,#d25252,#ae3333);color:#fff}.expense-delete:disabled{background:linear-gradient(130deg,#d9a8a8,#c79393);color:#fff5f5;border-color:#91424259;box-shadow:none}.avatar{width:40px;height:40px;border-radius:999px;background:linear-gradient(145deg,#1868852e,#77f2b96b);color:#0b4862;display:inline-flex;align-items:center;justify-content:center;font-weight:800;box-shadow:inset 0 1px #ffffff80}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(14px)}to{transform:translateY(0)}}@media (max-width: 980px){.workspace-grid{grid-template-columns:1fr}.invites-panel,.create-invite-panel,.pending-invites-panel{grid-column:auto;grid-row:auto}}@media (max-width: 850px){.auth-wrap,.grid{grid-template-columns:1fr}.dash-top,.group-page-top{flex-direction:column;align-items:flex-start}.dash-top-actions{width:100%;flex-wrap:wrap}.group-grid,.expense-form-grid{grid-template-columns:1fr}.modal-overlay{align-items:flex-start;overflow-y:auto;padding-top:28px}.modal-card{width:min(460px,100%)}.modal-header h3{font-size:1.7rem}.expense-amount-field input{font-size:1.8rem}.expense-inline-summary{margin-top:2px}.expense-entry-layout{grid-template-columns:1fr;gap:10px}.expense-icon-box{width:58px;height:58px;min-height:58px}.inline-form{grid-template-columns:1fr}.expense-list li{flex-direction:column;align-items:flex-start;gap:12px}.expense-actions{width:100%;flex-direction:row;align-items:center;justify-content:space-between;min-width:0}.expense-amount{font-size:1.2rem}}
