@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap";:root{--font-display:"Plus Jakarta Sans", "Inter", system-ui, -apple-system, sans-serif;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--bg-main:#0b0f19;--bg-card:#161c2d8c;--bg-card-hover:#1e273eb3;--border-color:#ffffff14;--border-focus:#8b5cf680;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--grad-primary:linear-gradient(135deg, #8b5cf6 0%, #d946ef 100%);--grad-secondary:linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);--grad-success:linear-gradient(135deg, #10b981 0%, #059669 100%);--grad-danger:linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--grad-text:linear-gradient(135deg, #fff 0%, #d1d5db 100%);--grad-accent-text:linear-gradient(135deg, #a78bfa 0%, #ec4899 100%);--glow-primary:0 0 25px #8b5cf633;--glow-secondary:0 0 25px #06b6d426;--shadow-lg:0 10px 30px -10px #00000080;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 0 0,#8b5cf614 0,#0000 50%),radial-gradient(at 100% 100%,#06b6d414 0,#0000 50%),radial-gradient(#d946ef05 0,#0000 50%);background-attachment:fixed;min-height:100vh;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700}.app-container{max-width:1200px;margin:0 auto;padding:2rem 1.5rem 4rem}.app-header{border-bottom:1px solid #ffffff0f;flex-direction:row;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.logo-section{align-items:center;gap:1rem;display:flex}.logo-icon{border-radius:var(--radius-md);background:var(--grad-primary);width:3rem;height:3rem;box-shadow:var(--glow-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.logo-icon svg{color:#fff;width:1.75rem;height:1.75rem}.logo-text h1{background:var(--grad-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.75rem;font-weight:800;line-height:1.2}.logo-text p{color:var(--text-secondary);font-size:.85rem}.header-actions{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.currency-badge{border-radius:var(--radius-md);border:1px solid var(--border-color);background:#ffffff08;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.currency-badge label{color:var(--text-muted);font-weight:500}.currency-badge select{color:#fff;cursor:pointer;background:0 0;border:none;outline:none;padding-right:.25rem;font-weight:700}.currency-badge select option{background-color:var(--bg-main);color:#fff}.error-banner{border-radius:var(--radius-md);color:#fee2e2;background:#ef44441a;border:1px solid #ef444433;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem;font-size:.9rem;animation:.3s ease-out fadeIn;display:flex}.error-banner svg{color:#f87171;flex-shrink:0}.dashboard-grid{grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=992px){.dashboard-grid{grid-template-columns:5fr 7fr}}.column{flex-direction:column;gap:2rem;display:flex}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transition:var(--transition-smooth);padding:1.75rem}.card:hover{background:var(--bg-card-hover);border-color:#ffffff1f}.card-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.card-title{color:#fff;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;display:flex}.card-title.participants svg{color:#8b5cf6}.card-title.expense svg{color:#06b6d4}.card-title.results svg{color:#d946ef}.card-title.history svg{color:var(--text-secondary)}.card-count-badge{color:var(--text-secondary);background:#ffffff0d;border-radius:9999px;padding:.2rem .6rem;font-size:.75rem;font-weight:500}.form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.form-input{border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:var(--transition-smooth);background:#11182799;padding:.75rem 1rem;font-size:.95rem}.form-input:focus{border-color:var(--border-focus);background:#111827cc;outline:none;box-shadow:0 0 0 3px #8b5cf633}.form-input::placeholder{color:var(--text-muted)}.form-select{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 16px center;background-repeat:no-repeat;background-size:16px;padding-right:2.5rem}.form-row{gap:.5rem;display:flex}.btn{font-family:var(--font-display);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-smooth);-webkit-user-select:none;user-select:none;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--grad-primary);color:#fff;box-shadow:var(--glow-primary)}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 0 25px #8b5cf659}.btn-primary:active{transform:translateY(0)}.btn-secondary{border:1px solid var(--border-color);color:var(--text-primary);background:#ffffff0d}.btn-secondary:hover{background:#ffffff1a;border-color:#fff3}.btn-danger-outline{color:#f87171;background:0 0;border:1px solid #ef44444d}.btn-danger-outline:hover{background:#ef44441a;border-color:#ef444499}.btn-icon{aspect-ratio:1;padding:.75rem}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none!important;filter:none!important;transform:none!important}.badge-list{flex-wrap:wrap;gap:.5rem;max-height:180px;margin-top:1rem;padding-right:.25rem;display:flex;overflow-y:auto}.badge-item{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);background:#ffffff08;align-items:center;gap:.5rem;padding:.4rem .5rem .4rem .75rem;font-size:.85rem;animation:.2s cubic-bezier(.16,1,.3,1) forwards scaleIn;display:inline-flex}.badge-delete-btn{color:var(--text-muted);cursor:pointer;width:1.25rem;height:1.25rem;transition:var(--transition-smooth);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:flex}.badge-delete-btn:hover:not(:disabled){color:#ef4444;background:#ef44441a}.badge-delete-btn:disabled{opacity:.3;cursor:help}.summary-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}.summary-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#ffffff05;padding:1rem}.summary-label{color:var(--text-secondary);margin-bottom:.25rem;font-size:.75rem;display:block}.summary-value{color:#fff;font-size:1.35rem;font-weight:800}.summary-value .currency{color:#a78bfa;margin-left:.25rem;font-size:1.1rem;font-weight:700}.section-subtitle{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.75rem;font-size:.75rem;font-weight:700}.transfers-container{flex-direction:column;gap:.65rem;margin-bottom:1.5rem;display:flex}.transfer-row{border-radius:var(--radius-md);transition:var(--transition-smooth);background:linear-gradient(90deg,#8b5cf614,#d946ef08);border:1px solid #8b5cf62e;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:flex}.transfer-row:hover{border-color:#8b5cf659}.transfer-people{flex:1;align-items:center;gap:.5rem;min-width:0;margin-right:.75rem;display:flex}.transfer-from,.transfer-to{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:100px;font-size:.95rem;font-weight:700;overflow:hidden}@media (width<=480px){.transfer-row{padding:.65rem .75rem}.transfer-from,.transfer-to{max-width:65px;font-size:.85rem}.transfer-amount{padding:.25rem .5rem;font-size:.95rem}}.transfer-amount{color:#fff;border-radius:var(--radius-sm);background:#00000040;border:1px solid #ffffff0a;padding:.35rem .75rem;font-size:1.1rem;font-weight:800}.transfer-amount .currency{color:#d946ef;margin-left:.2rem;font-size:.95rem}.no-transfers-banner{color:#d1fae5;border-radius:var(--radius-md);background:#10b9811a;border:1px solid #10b98133;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem;font-size:.9rem;font-weight:500;display:flex}.no-transfers-banner svg{color:#34d399;flex-shrink:0}.balances-container{flex-direction:column;gap:.5rem;max-height:180px;padding-right:.25rem;display:flex;overflow-y:auto}.balance-row{border-radius:var(--radius-sm);background:#ffffff03;border:1px solid #ffffff05;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:.9rem;display:flex}.balance-row:hover{background:#ffffff05}.balance-name{color:var(--text-secondary);font-weight:500}.balance-value{font-weight:700}.balance-value.positive{color:#34d399}.balance-value.negative{color:#f87171}.balance-value.neutral{color:var(--text-muted)}.balance-note{color:var(--text-muted);text-transform:lowercase;margin-left:.35rem;font-size:.65rem;font-weight:400}.expenses-scroller{flex-direction:column;gap:.75rem;max-height:320px;padding-right:.25rem;display:flex;overflow-y:auto}.expense-row{border-radius:var(--radius-md);transition:var(--transition-smooth);background:#ffffff05;border:1px solid #ffffff0a;justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.expense-row:hover{background:#ffffff0a;border-color:#ffffff14}.expense-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.expense-desc{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.expense-payer{color:var(--text-muted);font-size:.75rem}.expense-payer strong{color:var(--text-secondary);font-weight:600}.expense-actions{align-items:center;gap:.85rem;display:flex}.expense-value{color:#fff;white-space:nowrap;font-size:1.05rem;font-weight:800}.expense-value .currency{color:var(--text-secondary);margin-left:.15rem;font-size:.75rem;font-weight:500}.expense-delete-btn{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;width:2rem;height:2rem;transition:var(--transition-smooth);background:#ffffff05;border:1px solid #ffffff0a;justify-content:center;align-items:center;display:flex}.expense-delete-btn:hover{color:#ef4444;background:#ef444426;border-color:#ef444433}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:2rem 0;display:flex}.empty-state svg{color:#ffffff0d;margin-bottom:.75rem}.empty-state p{max-width:280px;font-size:.85rem}.empty-state .sub{opacity:.7;margin-top:.25rem;font-size:.75rem}.demo-data-btn{color:#a78bfa;cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;display:inline-flex}.demo-data-btn:hover{color:#ec4899}.app-footer{text-align:center;color:var(--text-muted);border-top:1px solid #ffffff0a;margin-top:3rem;padding-top:1.5rem;font-size:.75rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.badge-list::-webkit-scrollbar{width:5px}.balances-container::-webkit-scrollbar{width:5px}.expenses-scroller::-webkit-scrollbar{width:5px}.badge-list::-webkit-scrollbar-track{background:0 0}.balances-container::-webkit-scrollbar-track{background:0 0}.expenses-scroller::-webkit-scrollbar-track{background:0 0}.badge-list::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:9999px}.balances-container::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:9999px}.expenses-scroller::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:9999px}.badge-list::-webkit-scrollbar-thumb:hover{background:#ffffff26}.balances-container::-webkit-scrollbar-thumb:hover{background:#ffffff26}.expenses-scroller::-webkit-scrollbar-thumb:hover{background:#ffffff26}@media (width<=400px){.summary-grid{grid-template-columns:1fr;gap:.75rem}}
