:root{--bg: #09090e;--bg-card: #111118;--bg-card2: #17172200;--accent: #11e6a3;--accent2: #f7c948;--accent-glow: rgba(17, 230, 163, .25);--accent2-glow: rgba(247, 201, 72, .2);--text: #edf0f8;--text-muted: #545776;--border: rgba(17, 230, 163, .1);--border-card: rgba(255, 255, 255, .06)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{max-width:480px;margin:0 auto;padding:16px 16px 96px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 0 0 var(--accent-glow)}50%{opacity:.55;box-shadow:0 0 0 5px transparent}}@keyframes digitRollUp{0%{transform:translateY(75%);opacity:0}to{transform:translateY(0);opacity:1}}.ticker-digit{display:inline-block;overflow:hidden;vertical-align:text-bottom}.ticker-digit-inner{display:block;animation:digitRollUp .22s cubic-bezier(.22,1,.36,1)}.ticker-static{display:inline-block;vertical-align:text-bottom}@keyframes countGlow{0%,to{filter:drop-shadow(0 0 8px rgba(17,230,163,.4))}50%{filter:drop-shadow(0 0 20px rgba(17,230,163,.85))}}.loading-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:65vh;gap:18px;animation:fadeIn .3s ease}.loading-spinner{width:38px;height:38px;border:2.5px solid rgba(255,255,255,.07);border-top-color:var(--accent);border-radius:50%;animation:spin .75s linear infinite}.loading-text{font-size:14px;color:var(--text-muted);letter-spacing:.4px}.error-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:65vh;gap:12px;text-align:center;animation:fadeIn .3s ease}.error-icon{font-size:36px}.error-text{color:#f87171;font-size:14px;max-width:260px;line-height:1.5}.dashboard-header{position:relative;overflow:hidden;background:linear-gradient(155deg,#0c1a13,#0b0f1c 55%,#0a0c16);border:1px solid var(--border-card);border-radius:26px;padding:30px 22px 26px;margin-bottom:12px;text-align:center;isolation:isolate;animation:fadeInUp .4s ease both}.dashboard-header:before{content:"";position:absolute;top:-50px;left:-50px;width:220px;height:220px;background:radial-gradient(circle,rgba(17,230,163,.14) 0%,transparent 68%);border-radius:50%;pointer-events:none;z-index:0}.dashboard-header:after{content:"";position:absolute;bottom:-70px;right:-40px;width:240px;height:240px;background:radial-gradient(circle,rgba(247,201,72,.1) 0%,transparent 68%);border-radius:50%;pointer-events:none;z-index:0}.dashboard-header>*{position:relative;z-index:1}.dashboard-header h2{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;font-weight:500}.dashboard-header .total-amount{font-size:46px;font-weight:700;color:var(--text);margin-bottom:4px;letter-spacing:-1.5px;line-height:1.1}.portfolio-change{font-size:13px;color:var(--accent);margin-bottom:22px;font-weight:500;letter-spacing:.2px}.stats-row{display:flex;gap:10px;justify-content:center}.stat-box{background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:13px 14px;flex:1;transition:background .2s,border-color .2s}.stat-box .label{font-size:10px;color:var(--text-muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.6px}.stat-box .value{font-size:17px;font-weight:700;color:var(--text);letter-spacing:-.3px}.live-counter{background:linear-gradient(135deg,#0d1d15,#0c1018);border:1px solid rgba(17,230,163,.18);border-radius:22px;padding:22px;margin-bottom:12px;box-shadow:0 0 28px #11e6a30a,inset 0 1px #ffffff0a;animation:fadeInUp .45s ease .05s both}.counter-main{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.counter-left{flex:1}.counter-right{text-align:right;flex-shrink:0}.counter-label{font-size:11px;color:var(--text-muted);margin-bottom:7px;text-transform:uppercase;letter-spacing:.8px;display:flex;align-items:center;gap:6px}.counter-value{font-size:30px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent);letter-spacing:-.5px;animation:countGlow 3.5s ease-in-out infinite;line-height:1}.counter-sub{font-size:12px;color:var(--text-muted);margin-top:5px}.counter-per-hour{font-size:20px;font-weight:700;color:var(--accent2);font-variant-numeric:tabular-nums;letter-spacing:-.4px;line-height:1}.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);animation:pulse 2s infinite;flex-shrink:0;display:inline-block}.add-btn{width:100%;padding:16px;background:linear-gradient(135deg,var(--accent) 0%,#07c98e 100%);color:#031a0d;border:none;border-radius:18px;font-size:16px;font-weight:700;cursor:pointer;margin-bottom:16px;transition:transform .15s,box-shadow .2s,opacity .15s;letter-spacing:.2px;box-shadow:0 4px 22px #11e6a347;animation:fadeInUp .45s ease .1s both}.add-btn:active{transform:scale(.97);opacity:.9;box-shadow:0 2px 10px #11e6a333}.section-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:10px;padding-left:2px}.borrower-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:22px;padding:18px;margin-bottom:10px;cursor:pointer;transition:border-color .2s,transform .15s,box-shadow .2s;animation:fadeInUp .45s ease calc(var(--i, 0) * .07s) both}.borrower-card:hover{border-color:#11e6a338;box-shadow:0 4px 24px #00000059}.borrower-card:active{transform:scale(.98)}.card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:3px}.card-name{font-size:17px;font-weight:600;color:var(--text)}.card-amount{font-size:17px;font-weight:700;color:var(--text)}.card-rate{font-size:13px;color:var(--text-muted);margin-bottom:14px}.card-stats{display:flex;gap:8px;margin-bottom:14px}.card-stat{background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:13px;padding:9px 10px;flex:1;text-align:center}.card-stat .s-label{font-size:10px;color:var(--text-muted);margin-bottom:3px;text-transform:uppercase;letter-spacing:.3px}.card-stat .s-value{font-size:14px;font-weight:600;color:var(--text)}.card-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.card-earned-label{font-size:12px;color:var(--text-muted)}.card-earned-value{font-size:13px;font-weight:600;color:var(--accent)}.empty-state{text-align:center;padding:52px 20px 20px;animation:fadeIn .5s ease}.empty-icon{margin:0 auto 22px;display:flex;justify-content:center}.empty-title{font-size:19px;font-weight:600;color:var(--text);margin-bottom:9px}.empty-subtitle{font-size:14px;color:var(--text-muted);line-height:1.55}.form-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:24px;padding:24px;margin-bottom:16px;animation:fadeInUp .35s ease both}.form-card h3{font-size:20px;font-weight:700;color:var(--text);margin-bottom:22px}.form-group{margin-bottom:15px}.form-group label{display:block;font-size:11px;color:var(--text-muted);margin-bottom:7px;font-weight:500;text-transform:uppercase;letter-spacing:.8px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:13px 15px;border:1.5px solid rgba(255,255,255,.07);border-radius:13px;font-size:16px;background:#ffffff08;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group select option{background:#111118;color:var(--text)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #11e6a317}.form-row{display:flex;gap:10px}.form-row .form-group{flex:1}.btn-primary{width:100%;padding:15px;background:linear-gradient(135deg,var(--accent) 0%,#07c98e 100%);color:#031a0d;border:none;border-radius:15px;font-size:16px;font-weight:700;cursor:pointer;margin-bottom:10px;transition:opacity .15s,transform .15s;box-shadow:0 4px 18px #11e6a338;letter-spacing:.2px}.btn-primary:active{opacity:.88;transform:scale(.98)}.btn-primary:disabled{opacity:.45}.btn-secondary{width:100%;padding:14px;background:transparent;color:var(--text-muted);border:1.5px solid rgba(255,255,255,.08);border-radius:15px;font-size:16px;cursor:pointer;transition:border-color .15s,color .15s}.btn-secondary:hover{border-color:#ffffff26;color:var(--text)}.detail-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:22px;padding:20px;margin-bottom:12px;animation:fadeInUp .4s ease both}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.04)}.detail-row:last-child{border-bottom:none}.detail-row .d-label{color:var(--text-muted);font-size:14px}.detail-row .d-value{font-size:14px;font-weight:600;color:var(--text)}.income-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.income-tile{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:15px 14px}.income-tile .t-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:7px}.income-tile .t-value{font-size:18px;font-weight:700;color:var(--accent);letter-spacing:-.3px;line-height:1}.income-tile .t-session{font-size:11px;color:var(--accent2);margin-top:5px;font-weight:500}.btn-danger{width:100%;padding:14px;background:transparent;color:#f87171;border:1.5px solid rgba(248,113,113,.22);border-radius:15px;font-size:16px;cursor:pointer;margin-top:10px;transition:border-color .15s,background .15s}.btn-danger:hover{border-color:#f8717161;background:#f871710d}.back-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:12px;color:var(--text);font-size:15px;cursor:pointer;padding:10px 16px;margin-bottom:16px;display:flex;align-items:center;gap:6px;font-weight:500;width:fit-content;transition:background .15s}.back-btn:hover{background:#ffffff14}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0}}.toast-success{position:fixed;top:18px;left:50%;transform:translate(-50%);background:var(--accent);color:#031a0d;padding:10px 22px;border-radius:999px;font-size:14px;font-weight:600;z-index:999;white-space:nowrap;animation:toastIn .25s ease,toastOut .3s ease 2s forwards}.list-header{margin-bottom:10px}.sort-chips{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.sort-chip{padding:5px 14px;border-radius:999px;border:1.5px solid rgba(255,255,255,.08);background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;transition:all .15s}.sort-chip.active{border-color:var(--accent);color:var(--accent);background:#11e6a314}.income-preview{display:flex;justify-content:space-between;align-items:center;background:#11e6a30f;border:1px solid rgba(17,230,163,.18);border-radius:13px;padding:13px 15px;margin-bottom:14px}.preview-label{font-size:13px;color:var(--text-muted)}.preview-value{font-size:17px;font-weight:700;color:var(--accent);letter-spacing:-.3px}.mixed-currencies{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:4px}.currency-badge{font-size:26px;font-weight:700;color:var(--text);letter-spacing:-.8px}.mixed-hint{font-size:12px;color:var(--text-muted);margin-bottom:18px}.tab-bar{position:fixed;bottom:0;left:0;right:0;display:flex;background:#0a0a10eb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.06);padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:8px;z-index:100;max-width:480px;margin:0 auto}.tab-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;background:transparent;border:none;border-radius:14px;color:var(--text-muted);font-size:11px;font-weight:500;cursor:pointer;transition:color .15s,background .15s;position:relative;letter-spacing:.3px}.tab-btn--active{color:var(--accent);background:#11e6a314}.tab-badge{position:absolute;top:4px;right:calc(50% - 18px);background:var(--accent);color:#031a0d;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 4px}.closed-card{cursor:default;animation:none!important;opacity:.5}.closed-card:hover{border-color:var(--border-card)!important;box-shadow:none!important}.closed-badge{font-size:11px;color:var(--text-muted);margin-top:6px;text-transform:uppercase;letter-spacing:.5px}.income-tile--highlight{border-color:#11e6a333;background:#11e6a30d}
