:root{--primary:#1c322d;--deep:#061d19;--secondary:#a2c2b3;--tertiary:#ebb552;--neutral:#a9b8b5;--cream:#f8f3ee;--surface:#ffffffc7;--surface-solid:#fff;--soft:#e2f1ee;--text:#172924;--muted:#667771;--border:#485e592e;--danger:#ba1a1a;--shadow:0 34px 90px -34px #1c322d5c;color:var(--text);background:var(--primary);font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 11% 6%,#ebb55247,#0000 24rem),radial-gradient(circle at 82% 8%,#a2c2b37a,#0000 30rem),linear-gradient(135deg,#edfdf9 0%,#f8f3ee 50%,#d6e6e2 100%);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}.app{min-height:100vh}.ambient-field{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient-field:before{content:"";opacity:.42;background-image:radial-gradient(circle,#1c322d2e 1px,#0000 1px);background-size:34px 34px;animation:16s linear infinite dotDrift;position:absolute;inset:0}.ambient-field span{--x:calc((var(--i) * 37) % 100);--y:calc((var(--i) * 61) % 100);left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:calc(7px + (var(--i) % 5) * 2px);height:calc(7px + (var(--i) % 5) * 2px);opacity:.24;filter:blur(1px);animation:particleFloat calc(8s + (var(--i) % 7) * 1s) ease-in-out infinite;animation-delay:calc(var(--i) * -.3s);background:#1c322d8c;border-radius:999px;position:absolute}@keyframes dotDrift{to{transform:translate(34px,34px)}}@keyframes particleFloat{50%{opacity:.46;transform:translate(18px,-28px)scale(1.8)}}.topbar{z-index:40;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#f8f3eec7;justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:14px clamp(18px,4vw,56px);display:flex;position:sticky;top:0}.brand{color:var(--primary);text-align:left;background:0 0;align-items:center;gap:10px;display:inline-flex}.brand-logo-frame,.tx-icon,.avatar{border-radius:999px;place-items:center;display:grid}.brand-logo-frame{width:34px;height:42px;box-shadow:none;background:0 0;border:0;overflow:visible}.brand-logo-frame img{object-fit:contain;width:100%;height:100%;transform:none}.brand strong,h1,h2,h3{font-family:Playfair Display,serif}.brand strong{font-size:24px;line-height:1;display:block}.brand small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.desktop-nav{border:1px solid var(--border);background:#ffffff8a;border-radius:999px;align-items:center;gap:4px;padding:5px;display:flex}.nav-pill,.mobile-pill{color:var(--muted);background:0 0;justify-content:center;align-items:center;gap:8px;transition:all .18s;display:inline-flex}.nav-pill{letter-spacing:.9px;text-transform:uppercase;border-radius:999px;min-height:42px;padding:0 13px;font-size:11px;font-weight:800}.nav-pill:hover,.nav-pill.active,.mobile-pill.active,.mobile-pill.add{color:var(--cream);background:var(--primary)}.icon-btn{width:44px;height:44px;color:var(--primary);background:#ffffffa3;border-radius:999px;place-items:center;transition:all .18s;display:grid}.icon-btn:hover{background:var(--soft);transform:translateY(-1px)}.shell{width:min(1240px,100% - 40px);margin:0 auto;padding:50px 0 120px}.hero-heading{max-width:810px;margin-bottom:36px}.section-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;display:flex}.section-header .hero-heading{margin-bottom:0}.label{color:var(--muted);letter-spacing:1.55px;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;max-width:880px;margin-bottom:14px;font-size:clamp(42px,7vw,82px);font-weight:400;line-height:.94}h2{margin:0;font-size:clamp(28px,4vw,38px);font-weight:400}h3{margin:0;font-size:24px;font-weight:400}.hero-heading p:not(.label),.version-panel p,.settings-row p{color:var(--muted);line-height:1.7}.dashboard-grid{perspective:1200px;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px;display:grid}.deadline-banner{border:1px solid var(--border);width:fit-content;max-width:100%;color:var(--primary);background:#ffffffb8;border-radius:999px;flex-wrap:wrap;align-items:center;gap:10px;margin:-12px 0 24px;padding:12px 16px;display:flex;box-shadow:0 16px 42px #1c322d14}.deadline-banner b{color:var(--primary);background:var(--soft);border-radius:999px;padding:6px 10px}.deadline-banner.warn b{background:#ffdeaa}.deadline-banner.danger b{color:#93000a;background:#ffdad6}.balance-hero,.panel,.metric-card,.member-card,.summary-card,.status-row-card{border:1px solid var(--border);box-shadow:var(--shadow)}.balance-hero{min-height:410px;color:var(--cream);transform-style:preserve-3d;background:radial-gradient(circle at 80% 18%,#ebb55252,#0000 18rem),radial-gradient(circle at 20% 80%,#a2c2b347,#0000 16rem),linear-gradient(135deg,#1c322d,#071f1a 70%);border-radius:42px;flex-direction:column;grid-column:span 7;justify-content:space-between;padding:clamp(30px,5vw,50px);display:flex;position:relative;overflow:hidden}.orbital-ring{border:1px solid #f8f3ee42;border-radius:50%;width:340px;height:340px;animation:18s linear infinite spin;position:absolute;top:-104px;right:-72px}.orbital-ring:after{content:"";border-radius:inherit;border:1px dashed #a2c2b347;position:absolute;inset:42px}@keyframes spin{to{transform:rotate(360deg)}}.balance-copy{z-index:1;position:relative}.balance-copy .label{color:#f8f3eead}.balance-copy strong{margin:10px 0 16px;font-size:clamp(46px,7vw,86px);font-weight:400;line-height:.92;display:block}.balance-copy span{color:#f8f3eeb8}.balance-actions,.card-actions,.settings-actions{z-index:1;flex-wrap:wrap;gap:10px;display:flex;position:relative}.primary-btn,.ghost-btn,.danger-btn,.text-btn{letter-spacing:1.2px;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:12px 18px;font-size:11px;font-weight:800;transition:all .18s;display:inline-flex}.primary-btn{color:var(--cream);background:var(--primary)}.primary-btn:hover,.ghost-btn:hover,.danger-btn:hover{transform:translateY(-2px)}.ghost-btn{color:var(--primary);background:#ffffffa3;border:1px solid #485e5942}.ghost-btn.on-dark{color:var(--cream);background:#f8f3ee1f;border-color:#f8f3ee47}.danger-btn{color:#fff;background:var(--danger)}.compact{min-height:38px;padding:9px 13px}.text-btn{min-height:auto;color:var(--primary);background:0 0;padding:0}.danger-text{color:var(--danger)}.metric-card{background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:34px;grid-column:span 5;align-content:start;gap:14px;min-height:190px;padding:30px;display:grid}.metric-card>span{width:48px;height:48px;color:var(--primary);background:var(--soft);border-radius:999px;place-items:center;display:grid}.metric-card.amber>span{background:#ffdeaa}.metric-card p,.summary-card span,.transaction-item small,.member-name p,.member-amount span{color:var(--muted);margin:0}.metric-card strong,.summary-card strong,.member-amount strong{font-family:Playfair Display,serif;font-size:34px;font-weight:400}.panel{background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:34px;padding:clamp(24px,4vw,36px)}.progress-panel,.pulse-panel{grid-column:span 5}.recent-panel{grid-column:span 7}.insight-panel{grid-column:span 5;position:relative;overflow:hidden}.target-panel{grid-column:span 5}.panel-title{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.progress-track{background:#485e5924;border-radius:999px;height:12px;overflow:hidden}.progress-track.big{height:18px}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--primary), var(--secondary), var(--tertiary));height:100%}.split-stat{color:var(--muted);justify-content:space-between;gap:14px;margin-top:18px;display:flex}.progress-ring{width:72px;height:72px}.progress-ring circle{fill:none;stroke:#485e5929;stroke-width:8px}.progress-ring circle:last-of-type{stroke:var(--primary);stroke-linecap:round;transform-origin:50%;transform:rotate(-90deg)}.progress-ring text{fill:var(--primary);text-anchor:middle;font-size:14px;font-weight:800}.mini-people{gap:12px;display:grid}.mini-person{background:#f8f3eeb8;border-radius:999px;align-items:center;gap:12px;padding:10px;display:flex}.mini-person span{flex:1}.avatar{width:48px;height:48px;color:var(--cream);background:linear-gradient(135deg, var(--primary), #4c635d);flex:none;font-family:Playfair Display,serif;font-size:19px}.transaction-list{gap:12px;display:grid}.transaction-item,.status-row-card{background:#f8f3eebf;border-radius:20px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:15px;display:grid}.tx-icon{width:44px;height:44px;color:var(--cream);background:var(--primary)}.tx-icon.expense{background:var(--danger)}.transaction-item strong,.status-row-card strong{margin-bottom:4px;display:block}.transaction-item b,.status-row-card b{white-space:nowrap;font-family:Playfair Display,serif;font-size:23px;font-weight:400}.transaction-item b.income{color:#254f42}.transaction-item b.expense{color:var(--danger)}.coverage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0;display:grid}.coverage-grid span{color:#254f42;align-items:center;gap:8px;display:inline-flex}.floating-spark{color:var(--tertiary);animation:3s ease-in-out infinite floatSpark;position:absolute;bottom:24px;right:24px}@keyframes floatSpark{50%{transform:translateY(-12px)rotate(16deg)}}.activity-ribbon{border:1px solid var(--border);background:#1c322de6;border-radius:999px;width:100%;margin-top:22px;overflow:hidden}.activity-ribbon div{gap:22px;width:max-content;padding:12px 0;display:flex}.activity-ribbon span{color:var(--cream);white-space:nowrap;font-size:12px;font-weight:700}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0 24px;display:flex}.search-box,.select{border:1px solid var(--border);min-height:48px;color:var(--text);background:#ffffffc2;border-radius:999px}.search-box{flex:1;align-items:center;gap:10px;min-width:min(420px,100%);padding:0 16px;display:flex}.search-box input,.select{background:0 0;border:0;outline:0}.search-box input{width:100%}.select{min-width:190px;padding:0 18px}.payment-filter-panel{gap:12px;margin-bottom:24px;display:grid}.payment-filter-panel .toolbar{margin:0}.week-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.week-tab{border:1px solid var(--border);min-height:58px;color:var(--primary);text-align:left;background:#ffffff94;border-radius:18px;padding:10px 12px;transition:all .18s}.week-tab:hover,.week-tab.active{color:var(--cream);border-color:var(--primary);background:var(--primary);transform:translateY(-2px)}.week-tab span{color:var(--muted);margin-top:4px;font-size:10px;font-weight:700;display:block}.week-tab.active span{color:#f8f3eebd}.member-grid,.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.member-card,.summary-card{background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:30px}.member-card{gap:26px;padding:26px;display:grid}.member-top,.member-name{align-items:flex-start;gap:14px;display:flex}.member-top{justify-content:space-between}.status-badge{letter-spacing:.8px;text-transform:uppercase;border-radius:999px;align-items:center;width:fit-content;padding:7px 11px;font-size:10px;font-weight:800;display:inline-flex}.status-badge.paid,.status-badge.active{color:#254f42;background:#c9eada}.status-badge.partial{color:#5f4100;background:#ffdeaa}.status-badge.unpaid,.status-badge.inactive{color:#93000a;background:#ffdad6}.status-board{gap:12px;display:grid}.summary-card{padding:26px}.report-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.notes-panel{margin:20px 0}.notes-panel p:last-child{color:var(--muted);margin-bottom:0;line-height:1.7}.settings-grid{grid-template-columns:1.3fr .7fr;gap:22px;display:grid}.settings-row{border-bottom:1px solid var(--border);grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:18px 0;display:grid}.settings-row>span{width:44px;height:44px;color:var(--primary);background:var(--soft);border-radius:999px;place-items:center;display:grid}.settings-row strong{margin-bottom:4px;display:block}.inline-settings-form{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:12px 0 18px 60px;display:grid}.inline-settings-form input{min-height:44px;color:var(--text);background:#fff;border:1px solid #485e593d;border-radius:999px;outline:0;padding:10px 14px}.period-list{gap:10px;margin:14px 0 6px;display:grid}.period-item{border:1px solid var(--border);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.period-item strong{margin-bottom:2px;display:block}.period-item small{color:var(--muted)}.period-item .confirm-inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.period-item .confirm-inline span{color:var(--danger,#d64545);font-size:.82rem}@media (width<=640px){.period-item{flex-direction:column;align-items:stretch}.period-item .confirm-inline{justify-content:flex-end}}.audit-panel{margin-top:22px}.audit-list,.custom-amounts{gap:10px;display:grid}.audit-item{background:#f8f3eebf;border-radius:18px;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:14px;display:grid}.audit-item small{color:var(--muted);margin-top:4px;display:block}.status-badge.create{color:#254f42;background:#c9eada}.status-badge.update{color:#5f4100;background:#ffdeaa}.status-badge.delete{color:#93000a;background:#ffdad6}.custom-amounts{border:1px solid var(--border);background:#ffffff73;border-radius:20px;max-height:260px;padding:12px;overflow:auto}.file-btn input{display:none}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#061d1985;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-card{background:var(--cream);border:1px solid #f8f3ee5c;border-radius:34px;width:min(720px,100%);max-height:min(88vh,820px);padding:28px;overflow:auto;box-shadow:0 46px 120px -38px #0009}.modal-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;display:flex}.modal-head h2{font-size:38px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid label{color:var(--muted);letter-spacing:1px;text-transform:uppercase;gap:8px;font-size:11px;font-weight:800;display:grid}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:48px;color:var(--text);background:#fff;border:1px solid #485e593d;border-radius:14px;outline:0;padding:12px 14px}.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px #a2c2b347}.full{grid-column:1/-1}.check{align-items:center;gap:10px;display:flex!important}.check input{width:18px;min-height:18px}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.empty-state{min-height:78px;color:var(--muted);background:#ffffff73;border:1px dashed #485e594d;border-radius:22px;justify-content:center;align-items:center;gap:8px;padding:20px;display:flex}.toast{z-index:100;max-width:340px;color:var(--cream);background:var(--primary);box-shadow:var(--shadow);border-radius:18px;padding:14px 18px;position:fixed;bottom:24px;right:22px}.pin-screen{place-items:center;width:min(100% - 32px,520px);min-height:100vh;margin:0 auto;padding:40px 0;display:grid}.pin-card{border:1px solid var(--border);width:100%;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f8f3eedb;border-radius:34px;gap:16px;padding:clamp(28px,6vw,44px);display:grid}.pin-mark{width:60px;height:60px;color:var(--cream);background:var(--primary);border-radius:999px;place-items:center;display:grid}.pin-card h1{margin-bottom:0;font-size:clamp(38px,8vw,56px)}.pin-card label{color:var(--muted);letter-spacing:1px;text-transform:uppercase;gap:8px;font-size:11px;font-weight:800;display:grid}.pin-card input{width:100%;min-height:54px;color:var(--text);letter-spacing:8px;text-align:center;background:#fff;border:1px solid #485e593d;border-radius:16px;outline:0;padding:12px 16px;font-size:24px}.form-warning{color:var(--danger);font-weight:700}.auth-card h1{font-size:clamp(28px,6vw,38px)}.auth-card p{font-size:15px;line-height:1.6}.auth-card input{letter-spacing:.2px;text-align:left;border-radius:14px;min-height:48px;padding:12px 14px;font-size:16px}.auth-card .input-with-icon{display:block;position:relative}.auth-card .input-with-icon>svg{color:var(--muted);z-index:1;pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.auth-card .input-with-icon input{padding-left:42px}.auth-card .password-toggle{width:32px;height:32px;color:var(--muted);cursor:pointer;z-index:1;background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.auth-card .password-toggle:hover{color:var(--primary);background:var(--soft)}.auth-card .password-toggle:active{transform:translateY(-50%)scale(.94)}.auth-card input[type=password],.auth-card input[type=text]{padding-right:48px}.auth-card .primary-btn{margin-top:4px}.auth-card .text-btn{font-size:14px}button:disabled{cursor:not-allowed;opacity:.52;transform:none!important}.mobile-nav{z-index:60;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border-radius:32px 32px 0 0;justify-content:space-around;gap:4px;padding:12px 12px 22px;display:none;position:fixed;inset:auto 0 0;box-shadow:0 -18px 42px #1c322d21}.mobile-pill{letter-spacing:.8px;text-transform:uppercase;border-radius:999px;justify-items:center;gap:4px;min-width:58px;padding:8px 10px;font-size:10px;font-weight:800;display:grid}@media (width<=1040px){.desktop-nav{display:none}.shell{width:min(100% - 28px,760px);padding-top:34px}.dashboard-grid,.member-grid,.summary-grid,.settings-grid{grid-template-columns:1fr}.balance-hero,.metric-card,.progress-panel,.pulse-panel,.recent-panel,.insight-panel,.target-panel{grid-column:1}.section-header{flex-direction:column;align-items:flex-start}.report-actions,.inline-settings-form{grid-template-columns:1fr;justify-content:stretch;margin-left:0}.report-actions>*,.inline-settings-form>*{width:100%}.deadline-banner{border-radius:22px;width:100%}.mobile-nav{display:flex}}@media (width<=640px){.topbar{min-height:66px;padding-inline:14px}.brand-logo-frame{width:31px;height:39px}.brand strong{font-size:20px}.brand small{display:none}h1{font-size:42px}.balance-hero,.panel,.metric-card,.member-card,.summary-card{border-radius:24px}.balance-copy strong{font-size:48px}.transaction-item,.status-row-card{grid-template-columns:auto 1fr}.transaction-item b,.status-row-card b,.status-row-card .status-badge,.transaction-item .text-btn{grid-column:2;justify-self:start}.form-grid,.quick-grid{grid-template-columns:1fr}.week-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-person{border-radius:20px}}
