.chat{display:flex;flex-direction:column;height:100%;background:var(--bg)}.chat-messages{flex:1;overflow-y:auto;padding:20px 16px;display:flex;flex-direction:column;gap:14px}.chat-bubble{max-width:88%;padding:12px 16px;border-radius:20px;position:relative;box-shadow:var(--shadow-sm)}.chat-bubble.user{align-self:flex-end;background:var(--chat-user);color:#fff;border-bottom-right-radius:6px}.chat-bubble.agent{align-self:flex-start;background:var(--chat-agent);border:1px solid var(--border);border-bottom-left-radius:6px}.md-content p{font-size:14px;line-height:1.6;margin:0}.md-content p+p{margin-top:6px}.md-content .md-spacer{height:8px}.chat-bubble.user .md-content p,.chat-bubble.user .md-content{color:#fff}.md-content .md-h1{font-size:16px;font-weight:700;margin:8px 0 4px;color:var(--text);letter-spacing:-.3px}.md-content .md-h2{font-size:15px;font-weight:700;margin:6px 0 4px;color:var(--text)}.md-content .md-h3{font-size:14px;font-weight:700;margin:4px 0 2px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.md-content .md-h4{font-size:13px;font-weight:600;margin:4px 0 2px;color:var(--text-secondary)}.md-content strong{font-weight:700;color:var(--text)}.chat-bubble.user .md-content strong{color:#fff}.md-content em{font-style:italic;opacity:.9}.md-content .inline-code{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-family:SF Mono,Fira Code,monospace;font-size:12px;color:var(--primary-light)}.chat-bubble.user .md-content .inline-code{background:#ffffff26;border-color:#fff3;color:#fff}.md-content .md-code-block{background:#0d0d0d;border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin:8px 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.md-content .md-code-block code{font-family:SF Mono,Fira Code,monospace;font-size:12px;line-height:1.5;color:#e5e5e5;white-space:pre}.md-content .md-list{margin:6px 0;padding-left:20px}.md-content .md-list li{font-size:14px;line-height:1.6;margin:3px 0;color:var(--text)}.md-content .md-list li::marker{color:var(--primary-light)}.chat-bubble.user .md-content .md-list li{color:#fff}.chat-bubble.user .md-content .md-list li::marker{color:#ffffffb3}.md-content .md-table-wrap{margin:8px -8px;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:10px;border:1px solid var(--border)}.md-content .md-table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.md-content .md-table th{background:var(--surface-2);color:var(--text-secondary);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;text-align:left;border-bottom:1px solid var(--border)}.md-content .md-table td{padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text)}.md-content .md-table tr:last-child td{border-bottom:none}.md-content .md-table tr:hover td{background:#dc262608}.md-content .md-quote{border-left:3px solid var(--primary);padding:6px 12px;margin:6px 0;background:#dc26260d;border-radius:0 8px 8px 0;font-size:13px;color:var(--text-secondary);font-style:italic}.md-content .md-hr{border:none;border-top:1px solid var(--border);margin:10px 0}.md-content a{color:var(--primary-light);text-decoration:none;font-weight:500}.md-content a:hover{text-decoration:underline}.chat-bubble.user .md-content a{color:#ffffffe6;text-decoration:underline}.md-content del{opacity:.5;text-decoration:line-through}.bubble-action{font-size:11px;color:var(--primary-light);margin-top:8px;padding-top:8px;border-top:1px solid var(--border);display:flex;align-items:center;gap:4px}.bubble-time{font-size:10px;color:var(--text-secondary);margin-top:4px;text-align:right;opacity:.7}.chat-bubble.user .bubble-time{color:#ffffffb3}.typing{display:flex;gap:5px;padding:6px 0}.typing span{width:8px;height:8px;background:var(--primary-light);border-radius:50%;animation:typing 1.4s infinite}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}.chat-input-area{display:flex;gap:10px;padding:14px 16px;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -2px 10px #00000008}.chat-input{flex:1;padding:12px 18px;border:2px solid var(--border);border-radius:24px;font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s;background:var(--surface-2);color:var(--text)}.chat-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #dc262626;background:var(--surface)}.chat-input::placeholder{color:var(--text-secondary)}.chat-send{width:44px;height:44px;border-radius:50%;border:none;background:linear-gradient(135deg,#dc2626,#991b1b);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s,opacity .2s;box-shadow:0 3px 10px #dc262666}.chat-send:active{transform:scale(.9)}.chat-send:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}@media (min-width: 768px){.chat-bubble{max-width:70%;padding:16px 20px}.md-content p{font-size:15px}.md-content .md-table{font-size:14px;white-space:normal}.md-content .md-table th,.md-content .md-table td{padding:10px 16px}.md-content .md-code-block code{font-size:13px}.md-content .md-list li{font-size:15px}.md-content .md-h1{font-size:18px}.md-content .md-h2{font-size:16px}.chat-input-area{padding:16px 24px}.chat-input{font-size:15px;padding:14px 22px}.chat-messages{padding:24px 20px}}@media (min-width: 1200px){.chat-bubble{max-width:60%}.chat-messages{padding:32px 40px}.chat-input-area{padding:20px 40px}}@media (max-width: 375px){.chat-bubble{max-width:92%;padding:10px 12px}.md-content p{font-size:13px}.md-content .md-table{font-size:11px}.md-content .md-table th,.md-content .md-table td{padding:6px 8px}.md-content .md-code-block{padding:8px 10px}.md-content .md-code-block code{font-size:11px}.chat-input{padding:10px 14px;font-size:13px}}.dashboard{padding:20px 16px;overflow-y:auto;height:100%;background:var(--bg)}.dash-section{margin-bottom:28px}.dash-section h2{font-size:15px;font-weight:700;margin-bottom:14px;color:var(--text);letter-spacing:-.3px}.dash-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dash-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-sm);transition:transform .2s}.dash-card:active{transform:scale(.97)}.dash-card.positive .card-value{color:var(--accent)}.dash-card.negative .card-value{color:var(--text)}.card-label{font-size:11px;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.card-value{font-size:22px;font-weight:800;letter-spacing:-.5px}.dash-note{font-size:12px;color:var(--text-secondary);margin-top:10px;font-style:italic}.dash-actions{display:flex;flex-direction:column;gap:10px}.action-btn{padding:14px 18px;background:var(--surface);border:2px solid var(--primary-light);border-radius:14px;color:var(--primary);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.action-btn:active{background:#6366f114;transform:scale(.97)}.deadlines{padding:20px 16px;overflow-y:auto;height:100%;background:var(--bg)}.deadlines h2{font-size:15px;font-weight:700;margin-bottom:16px;letter-spacing:-.3px}.deadlines-loading,.deadlines-error,.deadlines-empty{text-align:center;padding:40px 20px;color:var(--text-secondary);font-size:14px}.deadlines-empty p{font-size:16px;color:var(--accent)}.retry-btn{display:block;margin:16px auto;padding:10px 24px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer}.deadline-list{display:flex;flex-direction:column;gap:14px}.deadline-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;border-left:4px solid var(--text-secondary);box-shadow:var(--shadow-sm);transition:transform .2s}.deadline-card:active{transform:scale(.98)}.deadline-card.critical{border-left-color:#dc2626}.deadline-card.urgent{border-left-color:#f59e0b}.deadline-card.normal{border-left-color:#3b82f6}.deadline-card.info{border-left-color:var(--accent)}.deadline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.deadline-title{font-weight:700;font-size:14px;color:var(--text)}.deadline-badge{font-size:10px;font-weight:700;padding:3px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.deadline-badge.overdue{background:#dc262633;color:#ef4444}.deadline-badge.critical{background:#dc262626;color:#ef4444}.deadline-badge.urgent{background:#f59e0b26;color:#f59e0b}.deadline-badge.normal{background:#3b82f626;color:#60a5fa}.deadline-badge.info{background:#10b98126;color:#34d399}.deadline-amount{font-size:24px;font-weight:800;color:var(--text);margin:6px 0;letter-spacing:-.5px}.deadline-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-secondary);margin-bottom:8px}.deadline-portal{color:var(--primary-light);font-weight:600;text-decoration:none}.deadline-how{font-size:12px;color:var(--text-secondary);margin-bottom:12px;padding:8px 10px;background:var(--surface-2);border-radius:8px;line-height:1.4}.deadline-actions{display:flex;gap:10px}.mark-paid-btn{flex:1;padding:10px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #10b9814d;transition:transform .2s}.mark-paid-btn:active{transform:scale(.95)}.mark-paid-btn:disabled{opacity:.5;cursor:not-allowed}.how-to-btn{flex:1;padding:10px;background:none;color:var(--primary-light);border:2px solid rgba(220,38,38,.3);border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;text-align:center;transition:transform .2s}.how-to-btn:active{transform:scale(.95);background:#dc26260d}.install-prompt{height:100dvh;display:flex;align-items:center;justify-content:center;background:#0f0f0f;padding:24px}.install-card{background:#1a1a1a;border-radius:20px;padding:40px 32px;text-align:center;max-width:380px;width:100%;box-shadow:0 20px 60px #00000080;border:1px solid #2e2e2e}.install-icon{display:none}.install-logo{width:64px;height:64px;background:linear-gradient(135deg,#dc2626,#7f1d1d);border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;box-shadow:0 8px 24px #dc262666}.install-card h1{font-size:24px;color:#f5f5f5;margin-bottom:4px}.install-subtitle{color:#a3a3a3;font-size:14px;margin-bottom:24px}.install-features{text-align:left;margin-bottom:32px}.feature{padding:8px 0;font-size:14px;color:#e5e5e5;border-bottom:1px solid #2e2e2e}.feature:last-child{border-bottom:none}.install-btn{width:100%;padding:14px;background:linear-gradient(135deg,#dc2626,#991b1b);color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:600;cursor:pointer;margin-bottom:12px;box-shadow:0 4px 14px #dc262666}.install-instructions{background:#f5f5f5;border-radius:12px;padding:16px;margin-bottom:12px}.install-instructions p{font-size:13px;color:var(--text-secondary);margin:4px 0}.continue-btn{background:none;border:none;color:var(--text-secondary);font-size:13px;cursor:pointer;padding:8px;text-decoration:underline}.app{display:flex;flex-direction:column;height:100dvh}.app-header{background:var(--surface);color:var(--text);padding:14px 20px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-md);z-index:10;border-bottom:1px solid var(--border)}.header-brand{display:flex;align-items:center;gap:10px}.header-logo{width:32px;height:32px;background:linear-gradient(135deg,#dc2626,#7f1d1d);border-radius:8px;display:flex;align-items:center;justify-content:center}.app-header h1{font-size:18px;font-weight:700;letter-spacing:-.5px}.app-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.app-nav{display:flex;background:var(--surface);border-top:1px solid var(--border);padding:6px 8px;padding-bottom:env(safe-area-inset-bottom,6px)}.nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;border:none;background:none;padding:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s ease;border-radius:12px;margin:0 4px}.nav-btn svg{width:22px;height:22px}.nav-btn span{font-size:10px;font-weight:600;letter-spacing:.3px}.nav-btn.active{color:var(--primary);background:#dc26261a}.nav-btn.active svg{stroke:var(--primary)}.login-screen{height:100dvh;display:flex;align-items:center;justify-content:center;background:#0f0f0f;padding:24px}.login-card{background:#1a1a1a;border-radius:24px;padding:48px 32px;text-align:center;max-width:340px;width:100%;box-shadow:var(--shadow-lg);border:1px solid #2e2e2e}.login-logo{width:64px;height:64px;background:linear-gradient(135deg,#dc2626,#7f1d1d);border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;box-shadow:0 8px 24px #dc26264d}.login-card h1{font-size:22px;color:#f5f5f5;margin-bottom:8px;font-weight:700}.login-card p{color:var(--text-secondary);font-size:14px;margin-bottom:28px}.login-btn{display:block;width:100%;padding:14px;background:linear-gradient(135deg,#dc2626,#991b1b);color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:600;text-decoration:none;text-align:center;box-shadow:0 4px 14px #dc262666;transition:transform .2s,box-shadow .2s}.login-btn:active{transform:scale(.97)}.logout-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #dc2626;--primary-dark: #b91c1c;--primary-light: #ef4444;--accent: #10b981;--accent-light: #34d399;--danger: #ef4444;--warning: #f59e0b;--bg: #0f0f0f;--surface: #1a1a1a;--surface-2: #242424;--text: #f5f5f5;--text-secondary: #a3a3a3;--border: #2e2e2e;--chat-user: linear-gradient(135deg, #dc2626, #991b1b);--chat-agent: #1a1a1a;--gradient-header: linear-gradient(135deg, #1a1a1a 0%, #0f0f0f 100%);--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.4);--shadow-lg: 0 10px 40px rgba(0,0,0,.5)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);height:100dvh;overflow:hidden}#root{height:100dvh;display:flex;flex-direction:column}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}
