:root{--bg-color: #f7f9fc;--sidebar-bg: #ffffff;--card-bg: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--accent-gold: #b77d24;--accent-gold-light: #f5f0e6;--accent-gold-dark: #96661d;--success: #16A34A;--success-bg: #dcfce7;--danger: #dc2626;--danger-bg: #fee2e2;--border-color: #e2e8f0;--font-family: "Inter", system-ui, -apple-system, sans-serif;--logo-font: "Playfair Display", serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-primary);display:flex;height:100vh;overflow:hidden}#root{display:flex;height:100vh;width:100vw;overflow:hidden}.sidebar{width:250px;flex-shrink:0;background-color:var(--sidebar-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:20px 0}.logo{font-family:var(--logo-font);font-size:32px;font-weight:700;color:var(--accent-gold);padding:0 24px;margin-bottom:40px}.nav-links{flex-grow:1;list-style:none}.nav-item{display:flex;align-items:center;width:100%;padding:12px 24px;margin-bottom:8px;color:var(--text-secondary);text-decoration:none;font-weight:500;transition:all .2s ease;border-left:4px solid transparent}.nav-button{border:0;background:transparent;font-family:inherit;font-size:16px;cursor:pointer;text-align:left}.nav-item i{margin-right:12px;font-size:18px}.nav-item:hover{background-color:var(--bg-color);color:var(--text-primary)}.nav-item.active{background-color:var(--bg-color);color:var(--accent-gold);border-left-color:var(--accent-gold)}.sidebar-bottom{list-style:none;margin-top:auto;padding-top:20px;border-top:1px solid var(--border-color)}.logout{color:var(--danger)}.logout:hover{background-color:var(--danger-bg);color:var(--danger)}.collapsible-toggle{display:flex;justify-content:space-between;align-items:center;width:100%}.toggle-caret{margin-left:auto;font-size:12px}.collapsible-content{list-style:none;padding-left:16px;margin-top:4px;margin-bottom:8px}.sub-nav-item{font-size:14px;padding:8px 16px;border-left:3px solid transparent}.sub-nav-item i{font-size:14px;margin-right:10px}.main-content{flex-grow:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto}.top-header{background-color:var(--sidebar-bg);padding:16px 32px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10}.search-bar{display:flex;align-items:center;background-color:var(--bg-color);padding:8px 16px;border-radius:8px;width:400px}.search-bar i{color:var(--text-secondary);margin-right:8px}.search-bar input{border:none;background:none;outline:none;width:100%;color:var(--text-primary);font-size:14px}.header-actions{display:flex;align-items:center;gap:20px}.header-icon{color:var(--text-secondary);font-size:20px;cursor:pointer;transition:color .2s}.header-icon:hover{color:var(--text-primary)}.support-link{color:var(--accent-gold);text-decoration:none;font-weight:500}.avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.avatar-initials{display:inline-flex;align-items:center;justify-content:center;background-color:var(--accent-gold-light);color:var(--accent-gold-dark);font-size:13px;font-weight:700}.profile-chip{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--text-primary);cursor:pointer;font:inherit;font-weight:600}.auth-page{display:grid;grid-template-columns:minmax(360px,440px) 1fr;width:100vw;height:100vh;background:var(--bg-color)}.auth-panel{display:flex;flex-direction:column;justify-content:center;gap:32px;background:#fff;border-right:1px solid var(--border-color);padding:56px}.auth-logo{font-family:var(--logo-font);font-size:42px;font-weight:700;color:var(--accent-gold);margin-bottom:24px}.auth-panel h1{font-size:32px;margin-bottom:10px}.auth-panel p{color:var(--text-secondary);line-height:1.6}.auth-form{display:flex;flex-direction:column;gap:18px}.auth-form label{display:flex;flex-direction:column;gap:8px;color:var(--text-secondary);font-size:13px;font-weight:600}.auth-form input{border:1px solid var(--border-color);border-radius:8px;padding:13px 14px;font:inherit;color:var(--text-primary)}.auth-form input:focus{border-color:var(--accent-gold);outline:3px solid rgba(183,125,36,.14)}.auth-button{margin-top:8px;min-height:46px}.auth-button:disabled{cursor:not-allowed;opacity:.65}.auth-error{border:1px solid var(--danger-bg);border-radius:8px;background:#fff5f5;color:var(--danger);padding:12px;font-size:13px;font-weight:600}.auth-message{border:1px solid var(--success-bg);border-radius:8px;background:#f0fdf4;color:var(--success);padding:12px;font-size:13px;font-weight:600}.auth-link{align-self:flex-start;font-size:14px;font-weight:700}.auth-mode-toggle{margin-bottom:0}.auth-aside{display:flex;align-items:flex-end;padding:56px;background:linear-gradient(135deg,#1e293bbd,#b77d2480),url(/assets/media__1779000484258-CA4xf6e9.png) center / cover}.auth-aside-content{max-width:620px;color:#fff}.auth-aside-content span{display:block;margin-bottom:12px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.auth-aside-content strong{display:block;font-size:42px;line-height:1.1}.profile-header{display:flex;align-items:center;gap:18px;margin-bottom:24px}.profile-avatar{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent-gold-light);color:var(--accent-gold-dark);font-size:22px;font-weight:800}.profile-card{max-width:760px}.profile-row{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--border-color)}.profile-row:last-child{border-bottom:0}.profile-row span{color:var(--text-secondary);font-size:13px;font-weight:700;text-transform:uppercase}.profile-row strong{overflow-wrap:anywhere}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.workspace-grid{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.4fr);gap:24px;align-items:start}.form-title{font-weight:700;margin-bottom:18px}.data-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.data-form.compact{grid-template-columns:1fr}.data-form label{display:flex;flex-direction:column;gap:7px;color:var(--text-secondary);font-size:12px;font-weight:700;text-transform:uppercase}.data-form input,.data-form select,.data-form textarea{width:100%;min-height:42px;border:1px solid var(--border-color);border-radius:8px;background:#fff;color:var(--text-primary);font:inherit;padding:10px 12px;text-transform:none}.data-form textarea{min-height:84px;resize:vertical}.data-form .span-2,.data-form button{grid-column:span 2}.segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px;background:var(--bg-color);border-radius:8px;padding:6px}.segmented-control button{min-height:40px;border:0;border-radius:7px;background:transparent;color:var(--text-secondary);cursor:pointer;font:inherit;font-weight:800}.segmented-control button.active.in{background:var(--success);color:#fff}.segmented-control button.active.out,.transaction-submit.out{background:var(--danger);color:#fff}.transaction-submit.in{background:var(--success);color:#fff}.form-status{margin-top:14px;color:var(--text-secondary);font-size:13px;font-weight:600}.member-list,.commitment-list{display:flex;flex-direction:column;gap:12px}.member-row{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--border-color);border-radius:8px}.member-row-button,.commitment-card-button{width:100%;background:#fff;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:border-color .2s,transform .2s}.member-row-button:hover,.commitment-card-button:hover{border-color:var(--accent-gold);transform:translateY(-1px)}.snapshot-avatar{width:32px;height:32px;margin-right:12px}.snapshot-referral{width:100%;margin-top:8px;color:var(--accent-gold);font-size:12px;font-weight:700}.referral-code{color:var(--accent-gold);font-weight:700}.member-detail-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--border-color);border-radius:8px;margin-bottom:18px}.link-button{border:0;background:transparent;cursor:pointer;font:inherit;padding:0}.transaction-row-button{width:100%;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left}.transaction-row-button:hover .activity-icon{color:var(--accent-gold)}.transaction-detail-grid{margin:18px 0}.transaction-edit-form{margin-top:22px}.attachment-preview{display:inline-flex;align-items:center;gap:8px;margin:4px 0 18px;color:var(--accent-gold);font-size:14px;font-weight:700;text-decoration:none}.page-container{padding:32px;max-width:1200px;margin:0 auto;width:100%}.card{background-color:var(--card-bg);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d}.flex{display:flex}.justify-between{justify-content:space-between}.items-center{align-items:center}.gap-4{gap:16px}.gap-6{gap:24px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.grid-2-1{display:grid;grid-template-columns:2fr 1fr;gap:24px}.text-sm{font-size:12px}.text-md{font-size:14px}.text-lg{font-size:18px}.text-xl{font-size:24px;font-weight:600}.text-2xl{font-size:32px;font-weight:700}.text-muted{color:var(--text-secondary)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.badge{padding:4px 8px;border-radius:16px;font-size:12px;font-weight:600}.badge.success{background-color:var(--success-bg);color:var(--success)}.badge.danger{background-color:var(--danger-bg);color:var(--danger)}.badge.gray{background-color:var(--bg-color);color:var(--text-secondary)}.btn{padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;border:none;transition:all .2s}.btn-primary{background-color:var(--accent-gold);color:#fff}.btn-primary:hover{background-color:var(--accent-gold-dark)}.btn-secondary{background-color:var(--bg-color);color:var(--text-primary)}.btn-secondary:hover{background-color:#e2e8f0}.btn-outline{border:1px solid var(--border-color);background:transparent;color:var(--text-primary)}.btn-outline:hover{background-color:var(--bg-color)}.section-title{font-size:18px;font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:8px}.section-subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:24px}.stat-card{border:1px solid var(--border-color)}.stat-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.stat-value{margin-top:12px;margin-bottom:16px}.progress-bar-bg{height:4px;background-color:var(--bg-color);border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:2px}.progress-bar-fill.success{background-color:var(--success)}.progress-bar-fill.danger{background-color:var(--accent-gold)}.quick-ops-card{background-color:var(--accent-gold-light);color:var(--accent-gold-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;border-radius:12px;cursor:pointer;font-weight:600;border:0;font-family:inherit;transition:transform .2s}.quick-ops-card:hover{transform:translateY(-2px)}.quick-ops-card.filled{background-color:var(--accent-gold);color:#fff}.quick-ops-card.quick-ops-in{background-color:var(--success);color:#fff}.quick-ops-card.quick-ops-out{background-color:var(--danger);color:#fff}.quick-ops-icon{font-size:24px;margin-bottom:12px}.quick-section-icon{background:#f1f5f9;padding:4px;border-radius:4px}.quick-ops-plus{border:1px solid #fff;padding:8px;border-radius:8px}.snapshot-menu{position:absolute;right:24px;top:24px;cursor:pointer}.goal-widget{background-color:#f8fafc;padding:16px;border-radius:8px;margin-top:24px}.goal-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}.goal-title{font-weight:700;font-size:15px}.goal-percent{font-size:11px}.activity-list{display:flex;flex-direction:column;gap:16px}.activity-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--bg-color)}.filter-card{margin-bottom:16px}.filter-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.filter-presets{display:flex;gap:8px;background:var(--bg-color);border-radius:8px;padding:6px}.filter-presets button{min-height:36px;border:0;border-radius:7px;background:transparent;color:var(--text-secondary);cursor:pointer;font:inherit;font-weight:700;padding:6px 10px}.filter-presets button.active{background:#fff;color:var(--text-primary);box-shadow:0 1px 2px #0000000a}.filter-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.filter-label{display:flex;gap:6px;align-items:center;color:var(--text-secondary);font-weight:700;font-size:13px}.filter-input{min-height:36px;padding:8px 10px;border-radius:8px;border:1px solid var(--border-color);background:#fff;font:inherit}.filter-input[type=date]{width:150px}.filter-input[type=number]{width:110px}.filter-search{min-width:220px}.filter-clear{padding:6px 10px;border-radius:8px;background:transparent;border:0;color:var(--text-secondary);cursor:pointer}.activity-item:last-child{border-bottom:none}.activity-icon{width:40px;height:40px;border-radius:8px;background-color:var(--bg-color);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:18px}.activity-details{margin-left:16px;flex-grow:1}.activity-name{display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px}.transaction-type-badge{border-radius:999px;padding:2px 7px;font-size:10px;font-weight:800;letter-spacing:.04em}.transaction-type-badge.in{background:var(--success-bg);color:var(--success)}.transaction-type-badge.out{background:var(--danger-bg);color:var(--danger)}.empty-state{color:var(--text-secondary);font-size:14px;padding:18px 0;text-align:center}.skeleton{position:relative;overflow:hidden;background:#e8edf4;border-radius:8px}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);animation:skeleton-shimmer 1.35s infinite}.skeleton-card{min-height:148px}.skeleton-title{width:116px;height:13px}.skeleton-badge{width:62px;height:24px;border-radius:999px}.skeleton-value{width:180px;height:42px;margin-top:18px;margin-bottom:20px}.skeleton-bar{width:100%;height:4px;border-radius:999px}.skeleton-row{min-height:72px}.skeleton-icon{width:40px;height:40px}.skeleton-line{width:150px;height:12px;margin-top:8px}.skeleton-line.wide{width:220px;height:15px;margin-top:0}.skeleton-amount{width:86px;height:22px}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.family-snapshot-item{display:flex;align-items:center;margin-bottom:16px}.family-snapshot-item img{width:32px;height:32px;border-radius:50%;margin-right:12px}.transactions-table{width:100%;border-collapse:collapse}.transactions-table th{text-align:left;padding:12px 16px;color:var(--text-secondary);font-size:12px;text-transform:uppercase;font-weight:600;border-bottom:1px solid var(--border-color)}.transactions-table td{padding:16px;border-bottom:1px solid var(--bg-color);font-size:14px}.member-badge{display:flex;align-items:center;gap:8px}.member-avatar-initials{width:28px;height:28px;border-radius:50%;background-color:#e0f2fe;color:#0369a1;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.collective-member{display:flex;align-items:center;padding:16px;border-radius:8px;margin-bottom:8px;cursor:pointer;transition:background .2s}.collective-member:hover,.collective-member.active{background-color:var(--bg-color)}.collective-member img{width:48px;height:48px;border-radius:50%;margin-right:16px}.trustee-card{display:flex;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--border-color);margin-bottom:24px}.trustee-card img{width:120px;height:120px;border-radius:12px;object-fit:cover}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.form-control{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-family:var(--font-family)}.commitment-card{display:flex;align-items:center;gap:0;padding:16px;border:1px solid var(--border-color);border-radius:8px}.commitment-icon{width:40px;height:40px;border-radius:8px;background-color:#e0e7ff;color:#4338ca;display:flex;align-items:center;justify-content:center;margin-right:16px}.detail-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;font-weight:700}.detail-title{font-size:24px;font-weight:800;margin-bottom:6px}.detail-description{margin-bottom:18px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-row{border:1px solid var(--border-color);border-radius:8px;padding:14px}.detail-row span{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:11px;font-weight:800;text-transform:uppercase}.detail-row strong{overflow-wrap:anywhere}.detail-skeleton-stack{display:flex;flex-direction:column;gap:14px}.installments-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color)}.installment-list{display:flex;flex-direction:column;gap:10px}.installment-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;border:1px solid var(--border-color);border-radius:8px;padding:14px}.installment-amount{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.installment-amount span{color:var(--text-secondary);font-size:12px;font-weight:600}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:8px;margin-top:16px}.calendar-day-header{font-size:12px;font-weight:600;color:var(--text-secondary);padding-bottom:8px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:14px;position:relative}.calendar-day.active{color:#4338ca;font-weight:600}.calendar-dot{width:4px;height:4px;border-radius:50%;position:absolute;bottom:8px}.calendar-dot.blue{background-color:#4338ca}.calendar-dot.pink{background-color:#ec4899}.header-left{display:flex;align-items:center;gap:16px;flex-grow:1;max-width:500px}.menu-toggle{display:none;background:transparent;border:none;font-size:20px;color:var(--text-primary);cursor:pointer;padding:8px;align-items:center;justify-content:center}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:0 24px;margin-bottom:24px}.sidebar-header .logo{padding:0;margin-bottom:0}.sidebar-close{display:none;background:transparent;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer;padding:8px;align-items:center;justify-content:center}.sidebar-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#1e293b66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99}@media(max-width:768px){.sidebar{position:fixed;top:0;left:-260px;height:100vh;z-index:100;box-shadow:4px 0 16px #00000014;transition:left .3s cubic-bezier(.4,0,.2,1)}.sidebar.mobile-open{left:0}.sidebar-close,.menu-toggle{display:inline-flex}.top-header{padding:12px 16px}.search-bar{width:100%;max-width:100%}.header-actions{gap:12px}.support-link,.profile-chip span{display:none}.page-container{padding:16px}.grid-3,.grid-2,.grid-2-1,.workspace-grid,.detail-grid{grid-template-columns:1fr!important;gap:16px}.grid-3.mb-8{margin-bottom:16px!important}.quick-ops-card{padding:20px}.data-form{grid-template-columns:1fr!important;gap:12px}.data-form .span-2,.data-form button{grid-column:span 1!important}.profile-row{grid-template-columns:1fr;gap:6px;padding:12px 0}.auth-page{grid-template-columns:1fr}.auth-panel{padding:32px 24px;gap:24px}.auth-panel h1{font-size:26px}.auth-aside{display:none}.filter-row{flex-direction:column;align-items:stretch;gap:16px}.filter-presets{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:4px}.filter-presets button{font-size:11px;padding:6px 4px;text-align:center}.filter-controls{width:100%;display:flex;flex-direction:column;gap:12px}.filter-label{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:6px}.filter-input{width:100%!important}.filter-clear{text-align:center;background:var(--bg-color);padding:10px;border-radius:8px}.installment-row{grid-template-columns:1fr;gap:10px}.installment-amount{align-items:flex-start;border-top:1px solid var(--border-color);padding-top:8px;margin-top:4px}.member-row{grid-template-columns:40px 1fr;gap:12px}.member-row span.badge{grid-column:span 2;justify-self:flex-start}.trustee-card{flex-direction:column;align-items:center;text-align:center}.trustee-card img{width:100px;height:100px}.activity-item{gap:10px}.activity-details{margin-left:8px}.activity-name{flex-wrap:wrap;font-size:14px}}
