@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{--bg: #0a0a0f;--bg-card: #13131a;--bg-card-hover: #1a1a24;--bg-surface: #0f0f16;--border: #1f1f2e;--border-hover: #2a2a3d;--text: #a0a0b8;--text-muted: #5a5a72;--text-bright: #e8e8f0;--accent: #6366f1;--accent-glow: rgba(99, 102, 241, .15);--accent-soft: rgba(99, 102, 241, .08);--green: #22c55e;--green-glow: rgba(34, 197, 94, .15);--orange: #f59e0b;--orange-glow: rgba(245, 158, 11, .15);--red: #ef4444;--red-glow: rgba(239, 68, 68, .15);--blue: #3b82f6;--blue-glow: rgba(59, 130, 246, .15);--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--shadow: 0 4px 24px rgba(0, 0, 0, .3);--font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Space Grotesk", -apple-system, sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}#root{min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--bg-surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:64px}.logo{display:flex;align-items:center;gap:12px}.logo-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;box-shadow:0 2px 12px var(--accent-glow);border:2px solid var(--accent)}.logo h1{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text-bright);line-height:1.1;letter-spacing:-.3px}.logo p{font-size:12px;color:var(--text-muted);font-weight:500;letter-spacing:.5px;text-transform:uppercase}.lease-count{background:var(--accent);color:#fff;font-size:12px;font-weight:600;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center}.nav-tabs{display:flex;gap:4px}.nav-tab{position:relative;display:flex;align-items:center;gap:8px;padding:8px 16px;border:none;background:transparent;color:var(--text-muted);font-size:14px;font-weight:500;cursor:pointer;border-radius:var(--radius-sm);transition:color .2s,background .2s}.nav-tab:hover{color:var(--text);background:var(--accent-soft)}.nav-tab.active{color:var(--text-bright)}.tab-indicator{position:absolute;bottom:-1px;left:8px;right:8px;height:2px;background:var(--accent);border-radius:1px}.main{max-width:1200px;margin:0 auto;padding:32px 24px;width:100%;flex:1}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;gap:16px;text-align:center}.empty-icon{color:var(--text-muted);opacity:.4}.empty-state h2{font-family:var(--font-display);font-size:24px;color:var(--text-bright)}.empty-state p{color:var(--text-muted)}.upload-view{display:flex;justify-content:center;align-items:center;min-height:500px}.dropzone{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:80px 60px;text-align:center;cursor:pointer;transition:all .3s;background:var(--bg-card);max-width:560px;width:100%}.dropzone:hover,.dropzone.drag-over{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 40px var(--accent-glow)}.dropzone-icon{color:var(--accent);margin-bottom:20px}.dropzone h2{font-family:var(--font-display);font-size:22px;color:var(--text-bright);margin-bottom:8px}.dropzone p{color:var(--text-muted);margin-bottom:20px}.file-input-label{display:inline-flex;padding:10px 24px;background:var(--accent);color:#fff;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:all .2s}.file-input-label:hover{background:#5558e6;box-shadow:0 4px 16px var(--accent-glow)}.processing-card,.done-card,.error-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:60px;text-align:center;max-width:480px;width:100%}.spinner{color:var(--accent)}.processing-info{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:24px;color:var(--text)}.processing-stage{color:var(--text-muted);margin-top:8px}.sparkle-row{display:flex;align-items:center;gap:6px;justify-content:center;margin-top:12px;color:var(--accent);font-size:13px}.review-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;max-width:700px;width:100%}.review-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.review-header h2{font-family:var(--font-display);font-size:20px;color:var(--text-bright)}.success-icon,.success-icon-big{color:var(--green)}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.review-field{display:flex;flex-direction:column;gap:2px}.review-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.review-value{font-size:14px;color:var(--text-bright)}.special-terms{margin:20px 0;padding:16px;background:var(--bg-surface);border-radius:var(--radius-sm)}.special-terms h3{font-size:13px;font-weight:600;color:var(--text);margin-bottom:8px}.special-terms ul{list-style:none;padding:0}.special-terms li{font-size:13px;color:var(--text);padding:4px 0 4px 16px;position:relative}.special-terms li:before{content:"•";position:absolute;left:0;color:var(--accent)}.review-actions{display:flex;gap:12px;margin-top:24px}.done-card h2{font-family:var(--font-display);color:var(--text-bright);margin-top:16px}.error-icon{color:var(--red)}.error-card h2{font-family:var(--font-display);color:var(--text-bright);margin:16px 0 8px}.error-card p{color:var(--text-muted);margin-bottom:24px;font-size:13px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;font-family:var(--font)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#5558e6;box-shadow:0 4px 16px var(--accent-glow)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{background:var(--bg-card-hover);border-color:var(--border-hover)}.btn-sm{padding:6px 12px;font-size:13px}.btn-full{width:100%;justify-content:center}.btn-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-bright);cursor:pointer;transition:all .2s}.btn-icon:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.btn-danger{background:var(--red-glow);color:var(--red);border:1px solid rgba(239,68,68,.2)}.btn-danger:hover{background:#ef444433}.dashboard{display:flex;flex-direction:column;gap:24px}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;align-items:center;gap:16px}.stat-card.warning{border-color:#f59e0b4d}.stat-icon{width:44px;height:44px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.blue{background:var(--blue-glow);color:var(--blue)}.stat-icon.green{background:var(--green-glow);color:var(--green)}.stat-icon.orange{background:var(--orange-glow);color:var(--orange)}.stat-value{display:block;font-family:var(--font-display);font-size:24px;font-weight:700;color:var(--text-bright);line-height:1.1}.stat-label{display:block;font-size:13px;color:var(--text-muted)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 16px;flex:1;max-width:360px;transition:border-color .2s}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.search-box svg{color:var(--text-muted);flex-shrink:0}.search-box input{border:none;background:transparent;color:var(--text-bright);font-size:14px;outline:none;width:100%;font-family:var(--font)}.search-box input::placeholder{color:var(--text-muted)}.toolbar-actions{display:flex;align-items:center;gap:12px}.sort-buttons{display:flex;gap:4px}.sort-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-muted);font-size:13px;cursor:pointer;transition:all .2s;font-family:var(--font)}.sort-btn:hover{color:var(--text);background:var(--bg-card-hover)}.sort-btn.active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.lease-list{display:flex;flex-direction:column;gap:8px}.lease-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .2s}.lease-card:hover{border-color:var(--border-hover)}.lease-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer}.lease-card-main{flex:1}.lease-card-title{display:flex;align-items:center;gap:10px;margin-bottom:8px}.lease-card-title h3{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--text-bright)}.lease-type-badge{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:4px}.lease-type-badge.commercial{background:var(--blue-glow);color:var(--blue)}.lease-type-badge.residential{background:var(--green-glow);color:var(--green)}.lease-card-meta{display:flex;flex-wrap:wrap;gap:16px}.lease-card-meta span{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--text-muted)}.lease-card-expand{color:var(--text-muted);padding:8px}.lease-card-details{border-top:1px solid var(--border);padding:20px;overflow:hidden}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.detail-item{display:flex;flex-direction:column;gap:2px}.detail-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.detail-value{font-size:14px;color:var(--text)}.detail-terms{margin:16px 0;padding:12px 16px;background:var(--bg-surface);border-radius:var(--radius-sm)}.detail-terms h4{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px}.detail-terms ul{list-style:none}.detail-terms li{font-size:13px;color:var(--text);padding:3px 0 3px 14px;position:relative}.detail-terms li:before{content:"•";position:absolute;left:0;color:var(--accent)}.detail-actions{display:flex;justify-content:flex-end}.payments-view{display:flex;flex-direction:column;gap:24px}.month-nav{display:flex;align-items:center;justify-content:center;gap:24px}.month-nav h2{font-family:var(--font-display);font-size:28px;font-weight:700;color:var(--text-bright);min-width:260px;text-align:center}.payment-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.summary-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;align-items:center;gap:16px;color:var(--text-muted)}.summary-card.green{border-color:#22c55e33}.summary-card.green svg{color:var(--green)}.summary-value{display:block;font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--text-bright);line-height:1.1}.summary-label{display:block;font-size:13px;color:var(--text-muted)}.collection-bar-container{height:6px;background:var(--bg-card);border-radius:3px;overflow:hidden}.collection-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--green));border-radius:3px}.payment-list{display:flex;flex-direction:column;gap:4px}.payment-row{display:flex;align-items:center;gap:16px;padding:14px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);transition:all .2s}.payment-row.paid{opacity:.7}.payment-row:hover{border-color:var(--border-hover)}.payment-check{border:none;background:transparent;cursor:pointer;padding:0;display:flex}.check-paid{color:var(--green)}.check-unpaid{color:var(--text-muted)}.payment-info{flex:1;display:flex;flex-direction:column;gap:2px}.payment-tenant{font-weight:600;color:var(--text-bright);font-size:14px}.payment-address{font-size:13px;color:var(--text-muted)}.payment-amount{text-align:right;display:flex;flex-direction:column;gap:2px}.amount-due{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text-bright)}.amount-paid{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--green);text-decoration:line-through;text-decoration-color:#22c55e4d}.payment-date{font-size:12px;color:var(--text-muted)}.no-payments{text-align:center;padding:48px;color:var(--text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px;max-width:420px;width:100%;text-align:center}.modal-icon{width:56px;height:56px;background:var(--accent-soft);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--accent);margin:0 auto 16px}.modal h2{font-family:var(--font-display);font-size:20px;color:var(--text-bright);margin-bottom:8px}.modal p{color:var(--text-muted);font-size:14px;margin-bottom:24px}.modal-input{width:100%;padding:12px 16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-bright);font-size:14px;font-family:monospace;outline:none;margin-bottom:16px;transition:border-color .2s}.modal-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.empty-bobby{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid var(--accent);box-shadow:0 8px 32px var(--accent-glow)}.analytics-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.section-title{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--text);margin-bottom:16px;letter-spacing:-.2px}.rent-roll-chart{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.chart-container{display:flex;align-items:flex-end;gap:12px;height:160px;padding-bottom:4px}.chart-column{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%}.chart-bars{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px;position:relative}.chart-bar{width:45%;border-radius:4px 4px 0 0;min-height:4px}.chart-bar.expected{background:var(--accent);opacity:.3}.chart-bar.received{background:var(--green);opacity:.8}.chart-label{font-size:12px;color:var(--text-muted);font-weight:500}.chart-label.current{color:var(--accent);font-weight:700}.chart-amount{font-size:11px;color:var(--text-muted);font-family:var(--font-display)}.chart-legend{display:flex;gap:16px;margin-top:12px;justify-content:center}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.legend-dot{width:8px;height:8px;border-radius:2px}.legend-dot.expected{background:var(--accent);opacity:.4}.legend-dot.received{background:var(--green)}.timeline-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.timeline{display:flex;flex-direction:column;gap:8px}.timeline-item{display:grid;grid-template-columns:28px 1fr auto;grid-template-rows:auto auto;gap:4px 12px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg-surface);align-items:center}.timeline-icon{grid-row:1 / 3;display:flex;align-items:center;justify-content:center}.timeline-item.expired .timeline-icon{color:var(--red)}.timeline-item.critical .timeline-icon{color:var(--orange)}.timeline-item.warning .timeline-icon{color:var(--orange);opacity:.7}.timeline-item.healthy .timeline-icon{color:var(--green);opacity:.5}.timeline-info{display:flex;flex-direction:column}.timeline-tenant{font-size:13px;font-weight:600;color:var(--text-bright)}.timeline-address{font-size:12px;color:var(--text-muted)}.timeline-date{text-align:right;display:flex;flex-direction:column;gap:1px}.timeline-days{font-size:13px;font-weight:600;font-family:var(--font-display)}.timeline-days.expired{color:var(--red)}.timeline-days.critical{color:var(--orange)}.timeline-days.warning{color:var(--orange);opacity:.8}.timeline-days.healthy{color:var(--green);opacity:.7}.timeline-end{font-size:11px;color:var(--text-muted)}.timeline-bar-track{grid-column:2 / 4;height:3px;background:var(--border);border-radius:2px;overflow:hidden}.timeline-bar-fill{height:100%;border-radius:2px}.timeline-bar-fill.expired{background:var(--red)}.timeline-bar-fill.critical{background:var(--orange)}.timeline-bar-fill.warning{background:var(--orange);opacity:.6}.timeline-bar-fill.healthy{background:var(--green);opacity:.4}@media(max-width:768px){.header-inner{flex-direction:column;height:auto;padding:12px 16px;gap:12px}.main{padding:20px 16px}.review-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr 1fr}.payment-summary{grid-template-columns:1fr}.toolbar{flex-direction:column;align-items:stretch}.search-box{max-width:100%}.toolbar-actions,.sort-buttons{flex-wrap:wrap}.lease-card-meta{flex-direction:column;gap:4px}.analytics-row{grid-template-columns:1fr}}
