*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-base: #0d0f14;--bg-surface: #13161e;--bg-elevated: #1a1e2a;--bg-hover: #20253385;--border: #ffffff0f;--border-accent: #ffffff1a;--text-primary: #e8eaf0;--text-secondary: #8b90a0;--text-muted: #4a4f62;--green: #00e5a0;--green-dim: #00e5a015;--red: #ff5c6a;--red-dim: #ff5c6a15;--amber: #ffc843;--amber-dim: #ffc84315;--font-body: "Sora", sans-serif;--font-mono: "DM Mono", monospace;--radius: 10px;--radius-sm: 6px;--shadow-card: 0 1px 3px #00000040, 0 8px 32px #00000030;--shadow-glow: 0 0 0 1px #00e5a020, 0 8px 32px #00e5a008}html,body,#root{height:100%}body{font-family:var(--font-body);background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.6}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-accent);border-radius:3px}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-up{animation:fadeUp .5s ease both}.login-root{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden;background:var(--bg-base)}.login-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 40%,transparent 100%);mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 40%,transparent 100%);pointer-events:none}.login-root:after{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,#00e5a012 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.login-card{width:100%;max-width:400px;background:var(--bg-surface);border:1px solid var(--border-accent);border-radius:16px;padding:40px;position:relative;z-index:1;box-shadow:var(--shadow-card),0 0 0 1px #ffffff06 inset}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:28px}.login-logo{width:36px;height:36px;background:var(--green-dim);border:1px solid #00e5a030;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--green)}.login-brand-name{font-family:var(--font-mono);font-size:1rem;font-weight:500;color:var(--text-primary);letter-spacing:.02em}.login-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);line-height:1.3}.login-subtitle{font-size:.875rem;color:var(--text-secondary);margin-top:6px;margin-bottom:32px}.login-form{display:flex;flex-direction:column;gap:20px}.field-group{display:flex;flex-direction:column;gap:8px}.field-label{font-size:.8rem;font-weight:500;color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase}.field-input{background:var(--bg-elevated);border:1px solid var(--border-accent);border-radius:var(--radius-sm);padding:11px 14px;font-family:var(--font-body);font-size:.9rem;color:var(--text-primary);outline:none;transition:border-color .2s,box-shadow .2s}.field-input::placeholder{color:var(--text-muted)}.field-input:focus{border-color:#00e5a040;box-shadow:0 0 0 3px #00e5a010}.login-error{display:flex;align-items:center;gap:8px;background:var(--red-dim);border:1px solid #ff5c6a25;border-radius:var(--radius-sm);padding:10px 14px;font-size:.84rem;color:var(--red)}.login-btn{margin-top:4px;padding:12px;background:var(--green);color:#0a0c10;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;display:flex;align-items:center;justify-content:center;min-height:44px;letter-spacing:.01em}.login-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-spinner{width:16px;height:16px;border:2px solid #0a0c1050;border-top-color:#0a0c10;border-radius:50%;animation:spin .7s linear infinite}.login-success{background:#0f2f22;border:1px solid #00e5a0;color:#00e5a0;padding:10px;border-radius:8px;margin-bottom:14px;font-size:14px}.tx-table-wrapper{width:100%;overflow-x:auto}.tx-table{width:100%;border-collapse:collapse;font-size:.875rem;min-width:900px}.tx-th{padding:10px 24px;text-align:left;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);background:var(--bg-elevated);border-bottom:1px solid var(--border);white-space:nowrap}.tx-th-right{text-align:right}.tx-row{transition:background .12s}.tx-row:hover{background:var(--bg-hover)}.tx-row:not(:last-child) .tx-td{border-bottom:1px solid var(--border)}.tx-td{padding:14px 24px;color:var(--text-primary);vertical-align:middle}.tx-date{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.tx-desc{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}.tx-category{display:inline-block;padding:3px 10px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:20px;font-size:.78rem;color:var(--text-secondary);white-space:nowrap}.tx-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.75rem;font-weight:600;letter-spacing:.04em;white-space:nowrap}.tx-badge-income{background:var(--green-dim);color:var(--green);border:1px solid #00e5a025}.tx-badge-expense{background:var(--red-dim);color:var(--red);border:1px solid #ff5c6a25}.tx-amount{font-family:var(--font-mono);font-size:.875rem;font-weight:500;text-align:right;white-space:nowrap}.tx-amount-income{color:var(--green)}.tx-amount-expense{color:var(--red)}.tx-user{font-family:var(--font-mono);font-size:.78rem;color:var(--text-muted);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-empty{padding:48px 24px;text-align:center}.tx-empty-inner{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-muted);font-size:.875rem}.skeleton-row .tx-td{padding:14px 24px}.skeleton-row:not(:last-child) .tx-td{border-bottom:1px solid var(--border)}.skeleton-cell{display:block;height:14px;border-radius:4px;background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--border-accent) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.tt-actions{display:flex;gap:8px;align-items:center}.tt-edit{padding:6px 12px;border-radius:8px;border:1px solid rgba(0,229,160,.4);background:#00e5a014;color:#00e5a0;font-size:13px;font-weight:500;cursor:pointer;transition:all .18s ease}.tt-edit:hover{background:#00e5a0;color:#071018;transform:translateY(-1px);box-shadow:0 0 10px #00e5a059}.tt-delete{padding:6px 12px;border-radius:8px;border:1px solid rgba(255,92,106,.4);background:#ff5c6a14;color:#ff5c6a;font-size:13px;font-weight:500;cursor:pointer;transition:all .18s ease}.tt-delete:hover{background:#ff5c6a;color:#fff;transform:translateY(-1px);box-shadow:0 0 10px #ff5c6a59}.tx-table .tt-actions{min-width:160px;white-space:nowrap}.dash-table-section{overflow-x:auto}.tx-table{min-width:150px}.tt-actions{justify-content:flex-start}.atf-card{background:var(--bg-surface);border:1px solid var(--border-accent);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card)}.atf-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--border)}.atf-title{font-size:.95rem;font-weight:600;color:var(--text-primary)}.atf-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;transition:color .15s}.atf-close:hover{color:var(--text-primary)}.atf-form{padding:24px}.atf-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.atf-field{display:flex;flex-direction:column;gap:7px}.atf-field-full{grid-column:1 / -1}.atf-label{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.atf-input{background:var(--bg-elevated);border:1px solid var(--border-accent);border-radius:var(--radius-sm);padding:10px 13px;font-family:var(--font-body);font-size:.875rem;color:var(--text-primary);outline:none;transition:border-color .2s,box-shadow .2s;width:100%}.atf-input::placeholder{color:var(--text-muted)}.atf-input:focus{border-color:#00e5a040;box-shadow:0 0 0 3px #00e5a010}.atf-input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.5)}.atf-toggle{display:flex;gap:8px}.atf-toggle-btn{flex:1;padding:9px 16px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s;border:1px solid var(--border-accent);background:var(--bg-elevated);color:var(--text-secondary)}.atf-toggle-expense.active{background:var(--red-dim);border-color:#ff5c6a35;color:var(--red)}.atf-toggle-income.active{background:var(--green-dim);border-color:#00e5a035;color:var(--green)}.atf-error{display:flex;align-items:center;gap:8px;margin-top:16px;background:var(--red-dim);border:1px solid #ff5c6a25;border-radius:var(--radius-sm);padding:10px 14px;font-size:.84rem;color:var(--red)}.atf-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.atf-btn-cancel{padding:9px 18px;background:transparent;border:1px solid var(--border-accent);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-body);font-size:.875rem;cursor:pointer;transition:color .15s,border-color .15s}.atf-btn-cancel:hover{color:var(--text-primary);border-color:var(--border-accent)}.atf-btn-submit{padding:9px 22px;background:var(--green);color:#0a0c10;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;display:flex;align-items:center;justify-content:center;min-width:140px}.atf-btn-submit:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.atf-btn-submit:disabled{opacity:.6;cursor:not-allowed}.atf-spinner{width:14px;height:14px;border:2px solid #0a0c1050;border-top-color:#0a0c10;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:520px){.atf-grid{grid-template-columns:1fr}}.dash-root{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-base)}.dash-nav{display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:60px;flex-shrink:0;background:var(--bg-surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dash-nav-brand{display:flex;align-items:center;gap:10px}.dash-logo{width:30px;height:30px;background:var(--green-dim);border:1px solid #96d6c330;border-radius:7px;display:flex;align-items:center;justify-content:center;color:var(--green)}.dash-brand-text{font-family:var(--font-mono);font-size:.9rem;font-weight:500;color:var(--text-primary)}.dash-nav-right{display:flex;align-items:center;gap:12px}.dash-user-pill{font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border);border-radius:20px;padding:4px 12px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-logout-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:transparent;border:1px solid var(--border-accent);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-body);font-size:.82rem;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.dash-logout-btn:hover{color:var(--red);border-color:#ff5c6a30;background:var(--red-dim)}.dash-main{flex:1;padding:36px 32px;max-width:1100px;width:100%;margin:0 auto}.dash-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:16px}.dash-title{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.dash-subtitle{font-size:.875rem;color:var(--text-secondary);margin-top:4px}.dash-add-btn{display:flex;align-items:center;gap:7px;padding:10px 18px;background:var(--green);color:#0a0c10;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;white-space:nowrap}.dash-add-btn:hover{opacity:.88;transform:translateY(-1px)}.dash-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:28px}.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s}.stat-card:hover{border-color:var(--border-accent)}.stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:500}.stat-value{font-family:var(--font-mono);font-size:1.25rem;font-weight:500;color:var(--text-primary)}.stat-green{color:var(--green)}.stat-red{color:var(--red)}.dash-form-wrapper{margin-bottom:28px}.dash-table-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);overflow:visible}.dash-section-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border)}.dash-section-title{font-size:.95rem;font-weight:600;color:var(--text-primary)}.dash-page-badge{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);background:var(--bg-elevated);padding:3px 10px;border-radius:20px;border:1px solid var(--border)}.dash-error{display:flex;align-items:center;gap:8px;margin:16px 24px 0;background:var(--red-dim);border:1px solid #ff5c6a25;border-radius:var(--radius-sm);padding:10px 14px;font-size:.84rem;color:var(--red)}.dash-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:18px 24px;border-top:1px solid var(--border)}.page-btn{padding:7px 16px;background:var(--bg-elevated);border:1px solid var(--border-accent);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-body);font-size:.82rem;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.page-btn:hover:not(:disabled){color:var(--text-primary);border-color:#00e5a030;background:var(--green-dim)}.page-btn:disabled{opacity:.35;cursor:not-allowed}.page-info{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted)}@media(max-width:640px){.dash-main{padding:20px 16px}.dash-nav{padding:0 16px}.dash-user-pill{display:none}}.dash-filter{display:flex;gap:10px;margin-bottom:18px;align-items:center}.dash-date{padding:8px 10px;border-radius:8px;border:1px solid #e3e6eb}.dash-filter-btn{background:#4f46e5;color:#fff;border:none;padding:8px 14px;border-radius:8px;cursor:pointer}.dash-filter-clear{background:transparent;border:none;color:#666;cursor:pointer}.dash-profile-btn{background:transparent;border:1px solid #e5e7eb;padding:6px 12px;border-radius:8px;cursor:pointer;margin-right:8px;font-weight:500;color:#f3efef}.dash-profile-btn:hover{background:#f3f4f6;color:#0a0c10}.dash-analytics-btn{background:transparent;border:1px solid #e5e7eb;padding:6px 12px;border-radius:8px;cursor:pointer;margin-right:8px;font-weight:500;color:#f3efef}.dash-analytics-btn:hover{background:#f3f4f6;color:#0a0c10}.ai-panel{margin-top:30px;background:#13161e;border:1px solid #2b2f3a;border-radius:10px;padding:16px}.ai-title{font-size:16px;margin-bottom:10px}.ai-messages{max-height:250px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.ai-user{align-self:flex-end;background:#4f46e5;padding:8px 12px;border-radius:8px;font-size:14px}.ai-bot{align-self:flex-start;background:#1f2937;padding:8px 12px;border-radius:8px;font-size:14px}.ai-input-row{display:flex;gap:8px}.ai-input-row input{flex:1;padding:8px;border-radius:6px;border:1px solid #333;background:#0d0f14;color:#fff}.ai-input-row button{padding:8px 14px;border:none;border-radius:6px;background:#00e5a0;cursor:pointer}.ai-bubble{position:fixed;bottom:100px;right:25px;width:60px;height:60px;border-radius:50%;background:#00e5a0;display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer;box-shadow:0 6px 20px #00000059;z-index:1000;transition:transform .2s ease}.ai-bubble:hover{transform:scale(1.1)}.toast-container{position:fixed;top:24px;right:24px;z-index:10005;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast-item{display:flex;align-items:center;gap:12px;background:#0f172af2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:12px 18px;color:#fff;font-size:14px;font-weight:500;box-shadow:0 4px 12px #0000004d;animation:toastFadeIn .3s cubic-bezier(.16,1,.3,1);min-width:240px;max-width:380px;pointer-events:auto}.toast-item.success{border-left:4px solid #00e5a0}.toast-item.error{border-left:4px solid #ff5c6a}.toast-item.info{border-left:4px solid #3b82f6}.toast-icon{font-size:16px;font-weight:700}.toast-item.success .toast-icon{color:#00e5a0}.toast-item.error .toast-icon{color:#ff5c6a}.toast-item.info .toast-icon{color:#3b82f6}.toast-message{flex:1;word-wrap:break-word}@keyframes toastFadeIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10010;display:flex;justify-content:center;align-items:center}.confirm-modal-card{width:100%;max-width:420px;background:#0f172a;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:24px;box-shadow:0 12px 40px #0009;animation:modalScaleIn .25s cubic-bezier(.16,1,.3,1);color:#f1f5f9}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.confirm-modal-title{margin-top:0;margin-bottom:12px;font-size:18px;font-weight:600;color:#fff}.confirm-modal-message{font-size:14px;line-height:1.5;color:#94a3b8;margin-bottom:24px}.confirm-modal-actions{display:flex;justify-content:flex-end;gap:12px}.confirm-modal-btn{padding:10px 18px;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:.2s;border:1px solid transparent}.confirm-modal-btn:disabled{opacity:.5;cursor:not-allowed}.confirm-modal-btn.cancel{background:transparent;border-color:#334155;color:#cbd5e1}.confirm-modal-btn.cancel:hover:not(:disabled){background:#ffffff0d;color:#fff}.confirm-modal-btn.confirm{background:#ff5c6a;color:#000;font-weight:700}.confirm-modal-btn.confirm:hover:not(:disabled){background:#ff3b4d}.profile-root{min-height:100vh;background:radial-gradient(circle at top,#0b1220,#06080f 70%);display:flex;justify-content:center;align-items:flex-start;padding:80px 20px;color:#e6edf3}.profile-card{width:100%;max-width:520px;background:#121826b3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.05);border-radius:18px;padding:28px;box-shadow:0 0 40px #0006;animation:fadeUp .4s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.profile-title{font-size:24px;font-weight:600;margin-bottom:20px}.profile-form{display:flex;flex-direction:column;gap:14px}.profile-input{background:#0f172a;border:1px solid #1e293b;border-radius:10px;padding:12px;color:#fff;outline:none;transition:.2s}.profile-input:focus{border-color:#00e5a0;box-shadow:0 0 0 2px #00e5a033}.profile-update-btn{margin-top:10px;background:linear-gradient(90deg,#00e5a0,#00c78c);border:none;border-radius:10px;padding:12px;font-weight:600;cursor:pointer;color:#001a13;transition:.2s}.profile-update-btn:hover{transform:translateY(-1px);box-shadow:0 0 14px #00e5a066}.profile-divider{border:none;border-top:1px solid rgba(255,255,255,.05);margin:20px 0}.profile-delete-btn{background:#ff5c6a1a;border:1px solid rgba(255,92,106,.4);color:#ff5c6a;padding:10px;border-radius:10px;cursor:pointer;transition:.2s}.profile-delete-btn:hover{background:#ff5c6a33}.profile-back-btn{margin-bottom:14px;background:transparent;border:none;color:#9aa4b2;cursor:pointer;margin-left:auto;display:block}.profile-back-btn:hover{color:#00e5a0}.profile-header{display:flex;align-items:center;justify-content:space-between}.profile-details{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.profile-field{display:flex;flex-direction:column;gap:6px}.profile-field label{font-size:11px;font-weight:600;color:#9aa4b2;text-transform:uppercase;letter-spacing:.8px}.profile-value{background:#0f172a;border:1px solid #1e293b;border-radius:10px;padding:12px;color:#fff;font-size:15px}.profile-actions{display:flex;gap:12px;margin-top:10px}.profile-cancel-btn{flex:1;background:transparent;border:1px solid #1e293b;color:#9aa4b2;border-radius:10px;padding:12px;font-weight:600;cursor:pointer;transition:.2s}.profile-cancel-btn:hover{background:#ffffff0d;color:#fff}.profile-save-btn{flex:1.5;background:linear-gradient(90deg,#00e5a0,#00c78c);border:none;border-radius:10px;padding:12px;font-weight:600;cursor:pointer;color:#001a13;transition:.2s}.profile-save-btn:hover{transform:translateY(-1px);box-shadow:0 0 14px #00e5a066}.profile-edit-btn{width:100%;background:linear-gradient(90deg,#00e5a0,#00c78c);border:none;border-radius:10px;padding:12px;font-weight:600;cursor:pointer;color:#001a13;transition:.2s;text-align:center;display:inline-block;margin-bottom:12px}.profile-edit-btn:hover{transform:translateY(-1px);box-shadow:0 0 14px #00e5a066}.read-only-input{opacity:.65;cursor:not-allowed}.analytics-root{padding:24px}.analytics-title{color:#e6edf3;font-size:22px;margin-bottom:16px}.analytics-card{background:#0f1624;border-radius:16px;padding:18px;box-shadow:0 8px 20px #00000059}.ai-layout{display:flex;height:calc(100vh - 60px);background:#0f172a;color:#f1f5f9;overflow:hidden}.ai-desktop-sidebar{background:#090d16;border-right:1px solid #1e293b;display:flex;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1);overflow:hidden;flex-shrink:0}.ai-desktop-sidebar.expanded{width:280px;padding:16px}.ai-desktop-sidebar.collapsed{width:64px;padding:12px 0;align-items:center}.sidebar-brand-section{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding-left:8px}.sidebar-spark{font-size:18px}.sidebar-brand-title{font-size:18px;font-weight:700;letter-spacing:.5px;color:#fff}.sidebar-new-chat-btn{background:transparent;border:1px solid #334155;color:#e2e8f0;padding:12px;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;text-align:left;transition:.2s;margin-bottom:20px}.sidebar-new-chat-btn:hover{background:#ffffff0d;border-color:#4f46e5;color:#fff}.sidebar-scroll-area{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.session-group{display:flex;flex-direction:column;gap:6px}.group-label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px;padding-left:8px}.chat-item-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:.2s;background:transparent;position:relative;overflow:hidden}.chat-item-card:hover{background:#ffffff0a}.chat-item-card.active{background:#4f46e526;border:1px solid rgba(79,70,229,.3)}.chat-item-icon{font-size:14px;opacity:.7}.chat-item-title-text{flex:1;font-size:13.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#cbd5e1}.chat-item-card.active .chat-item-title-text{color:#fff}.chat-item-delete-btn{background:transparent;border:none;cursor:pointer;font-size:13px;opacity:0;transition:opacity .2s;color:#94a3b8}.chat-item-card:hover .chat-item-delete-btn{opacity:1}.chat-item-delete-btn:hover{color:#ff5c6a}.sidebar-user-section{display:flex;align-items:center;gap:10px;padding:12px 8px;border-top:1px solid #1e293b;margin-top:16px;cursor:pointer;transition:.2s}.sidebar-user-section:hover{background:#ffffff0a;border-radius:8px}.user-profile-avatar{font-size:18px}.user-profile-info{display:flex;flex-direction:column}.user-profile-name{font-size:13.5px;font-weight:600;color:#fff}.user-profile-link{font-size:11px;color:#94a3b8}.collapsed-sidebar-icons{display:flex;flex-direction:column;gap:16px;align-items:center;width:100%}.collapsed-action-btn{background:transparent;border:1px solid #1e293b;width:40px;height:40px;border-radius:8px;color:#cbd5e1;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s}.collapsed-action-btn:hover{background:#ffffff0d;color:#fff;border-color:#4f46e5}.ai-page{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#0f172a}.ai-chat-header{display:flex;align-items:center;padding:14px 24px;border-bottom:1px solid #1e293b;background:#0b1220}.header-toggle-btn{background:transparent;border:none;color:#cbd5e1;font-size:20px;cursor:pointer;margin-right:18px;padding:4px;display:flex;align-items:center}.header-toggle-btn:hover{color:#fff}.header-mobile-toggle-btn{display:none}.header-title-container{display:flex;align-items:center;gap:10px}.header-title-main{font-weight:700;font-size:16px;color:#fff}.header-title-divider{color:#475569}.header-title-sub{font-weight:500;font-size:14px;color:#94a3b8}.ai-container{flex:1;max-width:820px;width:100%;margin:0 auto;display:flex;flex-direction:column;overflow:hidden}.ai-chat{flex:1;overflow-y:auto;padding:24px 16px;display:flex;flex-direction:column;gap:16px}.ai-chat-msg-bubble-wrapper{display:flex;width:100%}.ai-chat-msg-bubble-wrapper.user{justify-content:flex-end}.ai-chat-msg-bubble-wrapper.ai{justify-content:flex-start}.ai-chat-msg-bubble{padding:12px 18px;border-radius:16px;font-size:14.5px;line-height:1.6;max-width:70%;word-wrap:break-word;white-space:pre-wrap;box-shadow:0 2px 8px #00000026}.ai-chat-msg-bubble.user{background:#4f46e5;color:#fff;border-bottom-right-radius:4px}.ai-chat-msg-bubble.ai{background:#1e293b;color:#e2e8f0;border-bottom-left-radius:4px;border:1px solid rgba(255,255,255,.03)}.ai-chat-msg-bubble.ai.thinking{opacity:.7}.ai-suggestions-container{margin-top:14px;padding-left:8px}.suggestions-prompt-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;margin-bottom:10px}.ai-suggestions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.suggestion-btn{text-align:left;padding:12px 16px;background:#1e293b;border:1px solid rgba(255,255,255,.05);border-radius:10px;cursor:pointer;color:#e2e8f0;font-size:13px;transition:.2s}.suggestion-btn:hover{background:#334155;color:#fff;border-color:#4f46e5}.ai-input-container{padding:20px 16px;background:#0f172a}.ai-input-box{display:flex;align-items:center;background:#1e293b;border-radius:24px;padding:8px 16px;box-shadow:0 4px 20px #0006;border:1px solid rgba(255,255,255,.04)}.ai-input{flex:1;border:none;outline:none;background:transparent;color:#fff;font-size:14.5px;padding:8px;resize:none;max-height:120px;line-height:1.4}.ai-send-btn{border:none;background:#10b981;color:#000;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:.2s}.ai-send-btn:hover:not(:disabled){background:#059669}.ai-send-btn:disabled{opacity:.4;cursor:not-allowed}@media(max-width:768px){.ai-desktop-sidebar,.header-toggle-btn{display:none}.header-mobile-toggle-btn{display:flex;background:transparent;border:none;color:#cbd5e1;font-size:20px;cursor:pointer;margin-right:18px;padding:4px;align-items:center}.ai-mobile-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;z-index:9999}.ai-mobile-drawer{width:280px;height:100%;background:#090d16;padding:16px;display:flex;flex-direction:column;animation:drawerSlide .3s cubic-bezier(.16,1,.3,1)}@keyframes drawerSlide{0%{transform:translate(-100%)}to{transform:translate(0)}}.ai-suggestions{grid-template-columns:1fr}.ai-chat-msg-bubble{max-width:85%}}.ai-launcher-container{position:fixed;bottom:24px;right:24px;z-index:9999;font-family:inherit}.ai-launcher-btn{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#4f46e5,#3b82f6);border:none;border-radius:9999px;padding:12px 20px;color:#fff;font-weight:600;font-size:14px;cursor:pointer;box-shadow:0 4px 20px #0000004d,0 0 0 1px #ffffff1a;transition:transform .2s,box-shadow .2s}.ai-launcher-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #4f46e566,0 0 0 1px #ffffff26}.ai-launcher-icon{font-size:16px}.ai-launcher-panel{position:absolute;bottom:60px;right:0;width:380px;height:520px;background:#0f172af2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 12px 40px #0009;display:flex;flex-direction:column;overflow:hidden;animation:panelOpen .3s cubic-bezier(.16,1,.3,1)}@keyframes panelOpen{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#1e293b80;border-bottom:1px solid rgba(255,255,255,.08)}.ai-panel-brand{display:flex;align-items:center;gap:8px}.ai-panel-spark{font-size:14px}.ai-panel-title-text{font-weight:600;font-size:15px;color:#fff}.ai-panel-header-actions{display:flex;align-items:center;gap:8px}.ai-panel-full-btn{background:transparent;border:none;color:#9aa4b2;font-size:12px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px;transition:.2s}.ai-panel-full-btn:hover{color:#fff;background:#ffffff14}.ai-panel-close-btn{background:transparent;border:none;color:#9aa4b2;font-size:20px;cursor:pointer;padding:2px 8px;border-radius:4px;line-height:1;transition:.2s}.ai-panel-close-btn:hover{color:#ff5c6a;background:#ffffff14}.ai-panel-body{flex:1;padding:18px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.ai-panel-msg-bubble{padding:10px 14px;border-radius:12px;max-width:80%;font-size:13.5px;line-height:1.5;word-wrap:break-word;white-space:pre-wrap}.ai-panel-msg-bubble.user{align-self:flex-end;background:#4f46e5;color:#fff}.ai-panel-msg-bubble.ai{align-self:flex-start;background:#1e293b;color:#e2e8f0;border:1px solid rgba(255,255,255,.03)}.ai-panel-msg-bubble.ai.loading{opacity:.7}.ai-panel-suggestions{display:flex;flex-direction:column;gap:8px;margin-top:8px}.ai-panel-suggest-btn{text-align:left;padding:8px 12px;background:#1e293b;border:1px solid rgba(255,255,255,.05);border-radius:8px;color:#cbd5e1;font-size:12.5px;cursor:pointer;transition:.2s}.ai-panel-suggest-btn:hover{background:#334155;color:#fff}.ai-panel-footer{padding:12px 16px;background:#0f172af2;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:8px}.ai-panel-input{flex:1;background:#1e293b;border:1px solid rgba(255,255,255,.05);border-radius:20px;padding:8px 14px;color:#fff;font-size:13.5px;outline:none;resize:none;line-height:1.4;max-height:80px}.ai-panel-input:focus{border-color:#4f46e5}.ai-panel-send-btn{background:#10b981;border:none;color:#000;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:.2s}.ai-panel-send-btn:hover:not(:disabled){background:#059669}.ai-panel-send-btn:disabled{opacity:.4;cursor:not-allowed}@media(max-width:480px){.ai-launcher-panel{width:calc(100vw - 32px);height:480px;right:-8px;bottom:56px}}
