@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";.modal-overlay{position:fixed;inset:0;background:var(--bg-modal-overlay);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:500;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s ease forwards}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;animation:fadeInUp .3s ease forwards}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:1.125rem;font-weight:600}.modal-close{width:32px;height:32px;border-radius:var(--radius-sm);border:none;background:var(--bg-card);color:var(--text-secondary);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-card-hover);color:var(--text-primary)}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid var(--border-color)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:480px){.form-row{grid-template-columns:1fr}}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;z-index:100;transition:transform var(--transition-base)}.sidebar-header{padding:1.5rem;border-bottom:1px solid var(--border-color)}.sidebar-logo{display:flex;align-items:center;gap:.75rem}.sidebar-logo-icon{width:38px;height:38px;border-radius:var(--radius-md);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-size:1.125rem}.sidebar-logo h1{font-size:1.0625rem;font-weight:700;letter-spacing:-.02em}.sidebar-logo span{display:block;font-size:.6875rem;color:var(--text-muted);font-weight:400;margin-top:1px}.sidebar-nav{flex:1;padding:1rem .75rem;display:flex;flex-direction:column;gap:.25rem}.sidebar-nav-item{display:flex;align-items:center;gap:.75rem;padding:.6875rem 1rem;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:none;background:none;width:100%;text-align:left;font-family:var(--font-family)}.sidebar-nav-item:hover{background:var(--bg-card);color:var(--text-primary)}.sidebar-nav-item.active{background:#2dd4bf14;color:var(--accent-teal)}.sidebar-nav-item .nav-icon{font-size:1.125rem;width:24px;text-align:center}.sidebar-footer{padding:1rem 1.25rem;border-top:1px solid var(--border-color)}.sidebar-stat{display:flex;align-items:center;justify-content:space-between;padding:.375rem 0}.sidebar-stat-label{font-size:.75rem;color:var(--text-muted)}.sidebar-stat-value{font-size:.8125rem;font-weight:600;color:var(--accent-teal);font-variant-numeric:tabular-nums}.theme-toggle-btn{display:flex;align-items:center;gap:.6rem;width:100%;margin-top:.75rem;padding:.55rem .875rem;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-family:var(--font-family);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-align:left}.theme-toggle-btn:hover{background:var(--bg-card-hover);border-color:var(--border-active);color:var(--text-primary)}.theme-toggle-icon{font-size:1rem;line-height:1}.sidebar-toggle{display:none;position:fixed;top:1rem;left:1rem;z-index:200;width:40px;height:40px;border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);font-size:1.25rem;cursor:pointer;align-items:center;justify-content:center}.sidebar-overlay{display:none}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-toggle{display:flex}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:90}.sidebar-overlay.open{display:block}}.summary-card{position:relative;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;overflow:hidden;transition:all var(--transition-base)}.summary-card:hover{border-color:var(--border-active);transform:translateY(-2px);box-shadow:var(--shadow-md)}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.summary-card.variant-teal:before{background:var(--gradient-primary)}.summary-card.variant-purple:before{background:var(--gradient-cool)}.summary-card.variant-pink:before{background:var(--gradient-warm)}.summary-card.variant-green:before{background:var(--gradient-success)}.summary-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.summary-card-icon{width:42px;height:42px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.25rem}.variant-teal .summary-card-icon{background:#2dd4bf1a}.variant-purple .summary-card-icon{background:#a78bfa1a}.variant-pink .summary-card-icon{background:#f472b61a}.variant-green .summary-card-icon{background:#34d3991a}.summary-card-label{font-size:.8125rem;color:var(--text-muted);font-weight:500}.summary-card-value{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-bottom:.25rem}.summary-card-sub{font-size:.75rem;color:var(--text-muted)}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;letter-spacing:.02em}.status-dot{width:6px;height:6px;border-radius:50%}.status-received{background:#34d3991f;color:var(--accent-green)}.status-received .status-dot{background:var(--accent-green)}.status-pending{background:#fbbf241f;color:var(--accent-amber)}.status-pending .status-dot{background:var(--accent-amber);animation:pulse 2s infinite}.status-overdue{background:#f871711f;color:var(--accent-red)}.status-overdue .status-dot{background:var(--accent-red);animation:pulse 1.2s infinite}.dashboard{animation:fadeInUp .4s ease forwards}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.dashboard-header h1{font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.dashboard-header p{color:var(--text-muted);font-size:.9375rem}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2rem}.dashboard-section{margin-bottom:2rem}.dashboard-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.dashboard-section-header h2{font-size:1.125rem;font-weight:600}.overdue-alerts{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.overdue-alert{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#f871710f;border:1px solid rgba(248,113,113,.15);border-radius:var(--radius-md);animation:fadeInUp .5s ease forwards}.overdue-alert-icon{font-size:1.5rem;flex-shrink:0}.overdue-alert-info{flex:1}.overdue-alert-info strong{color:var(--text-primary);font-weight:600}.overdue-alert-info p{font-size:.8125rem;color:var(--accent-red);margin-top:.125rem}.overdue-alert .btn{flex-shrink:0}.recent-table-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.donut-chart-container{display:flex;align-items:center;gap:2rem;padding:1.5rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.donut-chart{position:relative;width:120px;height:120px;flex-shrink:0}.donut-chart svg{width:100%;height:100%;transform:rotate(-90deg)}.donut-chart-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-chart-center .value{font-size:1.125rem;font-weight:700}.donut-chart-center .label{font-size:.625rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.donut-legend{display:flex;flex-direction:column;gap:.75rem}.donut-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.donut-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.donut-legend-value{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums;padding-left:1rem}@media(max-width:768px){.dashboard-cards{grid-template-columns:1fr 1fr}.donut-chart-container{flex-direction:column}}@media(max-width:480px){.dashboard-cards{grid-template-columns:1fr}}.people-page{animation:fadeInUp .4s ease forwards}.people-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.people-header h1{font-size:1.75rem;font-weight:700}.people-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-input-wrapper{position:relative;flex:1;min-width:200px;max-width:360px}.search-input-wrapper:before{content:"🔍";position:absolute;left:.75rem;top:50%;transform:translateY(-50%);font-size:.875rem;pointer-events:none}.search-input-wrapper .input-field{width:100%;padding-left:2.25rem}.filter-select{min-width:140px}.people-table-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.person-name-cell{display:flex;align-items:center;gap:.75rem}.person-avatar{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;color:#0f1117;flex-shrink:0}.person-name{font-weight:600;color:var(--text-primary)}.person-txn-count{font-size:.75rem;color:var(--text-muted)}.text-currency-green{color:var(--accent-green);font-weight:600;font-variant-numeric:tabular-nums}.text-currency-amber{color:var(--accent-amber);font-weight:600;font-variant-numeric:tabular-nums}.text-currency-red{color:var(--accent-red);font-weight:600;font-variant-numeric:tabular-nums}@media(max-width:768px){.people-table-container{overflow-x:auto}.data-table{min-width:700px}}.person-detail{animation:fadeInUp .4s ease forwards}.person-detail-back{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem;cursor:pointer;margin-bottom:1.5rem;background:none;border:none;font-family:var(--font-family);transition:color var(--transition-fast)}.person-detail-back:hover{color:var(--text-primary)}.person-detail-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.person-detail-info{display:flex;align-items:center;gap:1rem}.person-detail-avatar{width:56px;height:56px;border-radius:var(--radius-lg);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#0f1117;flex-shrink:0}.person-detail-name h1{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.person-detail-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.person-detail-meta span{font-size:.8125rem;color:var(--text-muted)}.person-detail-actions{display:flex;gap:.5rem;flex-wrap:wrap}.person-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem}.person-metric{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.125rem 1.25rem}.person-metric-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.375rem}.person-metric-value{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums}.loan-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1rem;transition:border-color var(--transition-fast);animation:fadeInUp .4s ease forwards}.loan-card:hover{border-color:var(--border-active)}.loan-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.loan-card-title{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.loan-number{font-size:.875rem;font-weight:700;color:var(--text-secondary);letter-spacing:.02em}.loan-purpose-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .65rem;background:#fbbf241f;border:1px solid rgba(251,191,36,.3);border-radius:99px;font-size:.8125rem;font-weight:600;color:#fbbf24;letter-spacing:.01em;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loan-card-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.loan-received-banner{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;background:#34d39914;border:1px solid rgba(52,211,153,.15);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--accent-green);margin-bottom:.75rem}.loan-txn-section{margin-top:.5rem}.loan-txn-title{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.txn-timeline{position:relative;padding-left:1.5rem}.txn-timeline:before{content:"";position:absolute;left:5px;top:0;bottom:0;width:2px;background:var(--border-color)}.txn-timeline-item{position:relative;padding:.5rem 0 .5rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.txn-timeline-item:before{content:"";position:absolute;left:-1.375rem;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:50%;background:var(--accent-teal);border:2px solid var(--bg-primary)}.txn-info{flex:1}.txn-amount{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.txn-date-mode{font-size:.8125rem;color:var(--text-muted);margin-top:.1rem}.txn-note{font-size:.775rem;color:var(--accent-purple);margin-top:.2rem;font-style:italic;opacity:.85}.txn-delete{width:26px;height:26px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);font-size:.8125rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);opacity:0}.txn-timeline-item:hover .txn-delete{opacity:1}.txn-delete:hover{background:#f871711a;color:var(--accent-red)}@media(max-width:768px){.person-metrics{grid-template-columns:1fr 1fr}.loan-metrics{gap:.75rem}}@media(max-width:480px){.person-metrics{grid-template-columns:1fr}.loan-card-header{flex-direction:column;align-items:flex-start}}.crypto-page{width:100%}.crypto-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.crypto-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin:0 0 .35rem}.crypto-subtitle{color:var(--text-muted);font-size:.9375rem;margin:0}.crypto-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:2rem}.crypto-stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem 2rem}.crypto-stat-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.6rem}.crypto-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.2}.pnl-badge{font-size:.9rem;font-weight:700;white-space:nowrap}.pnl-pos{color:#22c55e}.pnl-neg{color:#ef4444}.pnl-na{color:var(--text-muted);font-size:.875rem}.crypto-pnl-bar{display:flex;align-items:center;padding:.55rem 1.75rem;font-size:.8125rem;border-top:1px solid var(--border-color)}.crypto-pnl-bar.pnl-bar-pos{background:color-mix(in srgb,#22c55e 6%,transparent);color:#22c55e}.crypto-pnl-bar.pnl-bar-neg{background:color-mix(in srgb,#ef4444 6%,transparent);color:#ef4444}.crypto-last-updated{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.crypto-last-updated.crypto-stale{color:#f59e0b}.crypto-live-price-hint{background:color-mix(in srgb,var(--accent-teal) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent-teal) 25%,transparent);border-radius:var(--radius-md);padding:.6rem 1rem;font-size:.8125rem;color:var(--accent-teal);margin-bottom:1rem}.crypto-loading{padding:4rem 2rem;text-align:center;color:var(--text-muted);font-size:1rem}.crypto-empty{text-align:center;padding:5rem 2rem;color:var(--text-muted)}.crypto-empty-icon{font-size:4rem;margin-bottom:1rem;background:linear-gradient(135deg,#f7931a,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.crypto-empty h2{font-size:1.25rem;color:var(--text-secondary);margin:0 0 .5rem}.crypto-empty p{font-size:.875rem;margin:0 0 1.5rem}.crypto-holdings{display:flex;flex-direction:column;gap:1rem}.crypto-coin-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .2s}.crypto-coin-card:hover{border-color:var(--border-hover)}.crypto-coin-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 1.75rem;flex-wrap:wrap}.crypto-coin-identity{display:flex;align-items:center;gap:1rem}.crypto-coin-avatar{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;flex-shrink:0}.crypto-coin-name{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.crypto-coin-symbol{font-size:.75rem;color:var(--text-muted);font-weight:600;letter-spacing:.05em;margin-top:.1rem}.crypto-coin-meta{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.crypto-coin-metrics{display:flex;gap:1.5rem}.crypto-mini-stat{display:flex;flex-direction:column;align-items:flex-end}.crypto-mini-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.2rem}.crypto-mini-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.crypto-coin-actions{display:flex;gap:.5rem;align-items:center}.crypto-purchase-history{border-top:1px solid var(--border-color);padding:1rem 1.5rem 1.5rem;background:var(--bg-secondary)}.crypto-history-title{font-size:.8125rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem}.crypto-no-purchases{font-size:.8125rem;color:var(--text-muted);margin:0;padding:.25rem 0}.crypto-purchase-list{display:flex;flex-direction:column;gap:.5rem}.crypto-purchase-item{display:flex;align-items:flex-start;justify-content:space-between;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem 1rem;gap:1rem;transition:border-color .2s}.crypto-purchase-item:hover{border-color:var(--border-hover)}.crypto-purchase-left{display:flex;flex-direction:column;gap:.25rem}.crypto-purchase-qty{font-size:1rem;font-weight:700;color:var(--text-primary)}.crypto-purchase-sym{font-size:.75rem;color:var(--text-muted);font-weight:600}.crypto-purchase-detail{font-size:.8125rem;color:var(--text-muted)}.crypto-purchase-note{font-size:.75rem;color:var(--accent-purple);font-style:italic}.crypto-purchase-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.crypto-purchase-cost{font-size:.9375rem;font-weight:700;color:var(--accent-teal)}.crypto-purchase-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.875rem;padding:.125rem .25rem;border-radius:var(--radius-sm);line-height:1;transition:color .15s}.crypto-purchase-delete:hover{color:var(--accent-red)}.crypto-coin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.5rem;margin-top:.5rem}.crypto-coin-chip{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem;background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;font-size:.8rem;font-weight:500;color:var(--text-secondary);transition:all .15s}.crypto-coin-chip:hover{border-color:var(--accent-purple);color:var(--text-primary)}.crypto-coin-chip.selected{border-color:var(--accent-purple);background:color-mix(in srgb,var(--accent-purple) 12%,transparent);color:var(--accent-purple)}.crypto-coin-chip span:first-child{font-size:1.25rem}.chip-symbol{font-size:.65rem!important;color:var(--text-muted);font-weight:600;letter-spacing:.05em}.crypto-invested-preview{background:color-mix(in srgb,var(--accent-green) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent-green) 30%,transparent);border-radius:var(--radius-md);padding:.625rem 1rem;font-size:.875rem;color:var(--accent-green);margin-bottom:.5rem}@media(max-width:1100px){.crypto-overview{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.crypto-coin-metrics{gap:1rem}}@media(max-width:640px){.crypto-overview{grid-template-columns:1fr 1fr}.crypto-coin-header{padding:1rem}.crypto-coin-metrics{gap:.75rem}.crypto-pnl-bar{padding:.5rem 1rem;flex-wrap:wrap;gap:.25rem}}:root{--bg-primary: #0f1117;--bg-secondary: #161922;--bg-card: #1c1f2e;--bg-card-hover: #232738;--bg-glass: rgba(28, 31, 46, .65);--bg-input: #1a1d2b;--bg-modal-overlay: rgba(0, 0, 0, .6);--border-color: rgba(255, 255, 255, .06);--border-active: rgba(255, 255, 255, .12);--text-primary: #f0f1f5;--text-secondary: #8b8fa3;--text-muted: #5a5e72;--accent-teal: #2dd4bf;--accent-purple: #a78bfa;--accent-blue: #60a5fa;--accent-pink: #f472b6;--accent-amber: #fbbf24;--accent-red: #f87171;--accent-green: #34d399;--gradient-primary: linear-gradient(135deg, #2dd4bf 0%, #a78bfa 100%);--gradient-warm: linear-gradient(135deg, #f472b6 0%, #fbbf24 100%);--gradient-cool: linear-gradient(135deg, #60a5fa 0%, #a78bfa 100%);--gradient-success: linear-gradient(135deg, #34d399 0%, #2dd4bf 100%);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 14px rgba(0, 0, 0, .35);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .4);--shadow-glow-teal: 0 0 20px rgba(45, 212, 191, .15);--shadow-glow-purple: 0 0 20px rgba(167, 139, 250, .15);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--sidebar-width: 260px;--sidebar-collapsed: 72px}[data-theme=light]{--bg-primary: #f4f5f7;--bg-secondary: #eaecf0;--bg-card: #ffffff;--bg-card-hover: #f0f2f5;--bg-glass: rgba(255, 255, 255, .75);--bg-input: #f8f9fb;--bg-modal-overlay: rgba(0, 0, 0, .35);--border-color: rgba(0, 0, 0, .08);--border-active: rgba(0, 0, 0, .18);--text-primary: #111827;--text-secondary: #4b5563;--text-muted: #9ca3af;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 14px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .12);--shadow-glow-teal: 0 0 20px rgba(45, 212, 191, .12);--shadow-glow-purple: 0 0 20px rgba(167, 139, 250, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden;transition:background var(--transition-base),color var(--transition-base)}#root{display:flex;min-height:100vh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-full)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--text-primary)}h1{font-size:1.75rem}h2{font-size:1.375rem}h3{font-size:1.125rem}p{color:var(--text-secondary)}a{color:var(--accent-teal);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-purple)}.glass-card{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;transition:all var(--transition-base)}.glass-card:hover{border-color:var(--border-active);box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:var(--radius-md);font-family:var(--font-family);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.btn:active{transform:scale(.97)}.btn-primary{background:var(--gradient-primary);color:#0f1117;box-shadow:var(--shadow-glow-teal)}.btn-primary:hover{box-shadow:0 0 30px #2dd4bf4d;transform:translateY(-1px)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-active)}.btn-danger{background:#f871711f;color:var(--accent-red);border:1px solid rgba(248,113,113,.2)}.btn-danger:hover{background:#f8717133}.btn-sm{padding:.375rem .875rem;font-size:.8125rem}.btn-icon{width:36px;height:36px;padding:0;border-radius:var(--radius-sm)}.input-group{display:flex;flex-direction:column;gap:.375rem}.input-group label{font-size:.8125rem;font-weight:500;color:var(--text-secondary);letter-spacing:.02em}.input-field{padding:.625rem .875rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-family);font-size:.875rem;transition:all var(--transition-fast);outline:none;width:100%;box-sizing:border-box}.input-field:focus{border-color:var(--accent-teal);box-shadow:0 0 0 3px #2dd4bf1a}.input-field::placeholder{color:var(--text-muted)}select.input-field{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238b8fa3' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:.75rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-color)}.data-table td{padding:.875rem 1rem;font-size:.875rem;border-bottom:1px solid var(--border-color);color:var(--text-secondary)}.data-table tbody tr{transition:background var(--transition-fast);cursor:pointer}.data-table tbody tr:hover{background:var(--bg-card-hover)}.data-table tbody tr:last-child td{border-bottom:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in-up{animation:fadeInUp .5s var(--transition-slow) forwards}.animate-fade-in{animation:fadeIn .3s ease forwards}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-currency{font-variant-numeric:tabular-nums;font-weight:600}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center;gap:1rem}.empty-state .empty-icon{font-size:3rem;opacity:.4}.empty-state p{font-size:.9375rem;max-width:300px}.main-content{flex:1;margin-left:var(--sidebar-width);padding:2rem 2.5rem;min-height:100vh;transition:margin-left var(--transition-base)}@media(max-width:768px){.main-content{margin-left:0;padding:4.5rem 1rem 1rem}}.auth-screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,#1a1d35,#0f1117 70%);z-index:9999;animation:fadeIn .4s ease}[data-theme=light] .auth-screen{background:radial-gradient(ellipse at 50% 40%,#eaecf0,#f4f5f7 70%)}.auth-card{background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-active);border-radius:var(--radius-xl);padding:2.75rem 2.5rem 2.25rem;width:100%;max-width:420px;box-shadow:var(--shadow-lg),var(--shadow-glow-purple);animation:fadeInUp .5s var(--transition-slow) forwards}.auth-icon{font-size:2.75rem;margin-bottom:.5rem;display:block;text-align:center;filter:drop-shadow(0 0 14px rgba(167,139,250,.45))}.auth-title{font-size:1.75rem;font-weight:700;background:var(--gradient-cool);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.35rem;text-align:center}.auth-subtitle{font-size:.9375rem;color:var(--text-muted);margin-bottom:2rem;text-align:center}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-error{font-size:.8125rem;color:var(--accent-red);background:#f8717114;border:1px solid rgba(248,113,113,.2);border-radius:var(--radius-sm);padding:.625rem .875rem;margin:0;animation:fadeIn .2s ease;text-align:center}.auth-btn{width:100%;padding:.875rem 1rem;font-size:1rem;margin-top:.5rem}.auth-toggle{margin-top:1.75rem;text-align:center;font-size:.9375rem;color:var(--text-secondary)}.auth-toggle-btn{background:none;border:none;padding:0;color:var(--accent-teal);font-weight:600;font-family:var(--font-family);font-size:inherit;cursor:pointer;transition:color var(--transition-fast)}.auth-toggle-btn:hover{color:var(--accent-purple);text-decoration:underline}@keyframes lockShake{0%,to{transform:translate(0)}15%{transform:translate(-8px)}30%{transform:translate(8px)}45%{transform:translate(-6px)}60%{transform:translate(6px)}75%{transform:translate(-3px)}90%{transform:translate(3px)}}.lock-shake{animation:lockShake .6s ease}
