:root{--bg:#0f1117;--surface:#1a1d27;--surface2:#242837;--border:#2e3347;--text:#e8eaed;--text2:#9aa0b0;--accent:#4f8cff;--green:#22c55e;--amber:#f59e0b;--red:#ef4444;--red2:#dc2626}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
a{color:var(--accent);text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
/* Nav */
nav{background:var(--surface);border-bottom:1px solid var(--border);padding:16px 0;position:sticky;top:0;z-index:100}
nav .container{display:flex;justify-content:space-between;align-items:center}
.logo{font-size:1.3rem;font-weight:700;color:var(--text)}
.logo span{color:var(--accent)}
nav .links{display:flex;gap:16px;align-items:center}
nav .links a{color:var(--text2);font-size:.9rem}
/* Buttons */
.btn{display:inline-block;padding:10px 24px;border-radius:8px;font-weight:600;font-size:.9rem;border:none;cursor:pointer;transition:.2s}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:#3a7ae8}
.btn-outline{border:1px solid var(--border);color:var(--text);background:transparent}
.btn-outline:hover{border-color:var(--accent)}
.btn-sm{padding:6px 14px;font-size:.8rem}
.btn-danger{background:var(--red);color:#fff}
.btn-green{background:var(--green);color:#fff}
/* Hero */
.hero{padding:80px 0 60px;text-align:center}
.hero h1{font-size:3rem;font-weight:800;margin-bottom:16px;line-height:1.1}
.hero h1 span{color:var(--accent)}
.hero p{font-size:1.2rem;color:var(--text2);max-width:600px;margin:0 auto 32px}
/* Sections */
.section{padding:60px 0}
.section-title{font-size:1.8rem;font-weight:700;text-align:center;margin-bottom:40px}
/* Escalation demo */
.escalation{display:flex;flex-direction:column;gap:20px;max-width:700px;margin:0 auto}
.esc-step{background:var(--surface);border-radius:12px;padding:24px;border-left:4px solid var(--accent);position:relative}
.esc-step.friendly{border-left-color:var(--green)}
.esc-step.firm{border-left-color:var(--amber)}
.esc-step.final{border-left-color:var(--red)}
.esc-step .label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}
.esc-step.friendly .label{color:var(--green)}
.esc-step.firm .label{color:var(--amber)}
.esc-step.final .label{color:var(--red)}
.esc-step p{color:var(--text2);font-size:.95rem}
/* Features */
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.feature{background:var(--surface);border-radius:12px;padding:28px;border:1px solid var(--border)}
.feature h3{margin-bottom:8px;font-size:1.1rem}
.feature p{color:var(--text2);font-size:.9rem}
/* Pricing */
.pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:900px;margin:0 auto}
.price-card{background:var(--surface);border-radius:12px;padding:32px;border:1px solid var(--border);text-align:center}
.price-card.popular{border-color:var(--accent);position:relative}
.price-card .plan-name{font-size:1.1rem;font-weight:600;margin-bottom:4px}
.price-card .price{font-size:2.5rem;font-weight:800;margin:12px 0}
.price-card .price span{font-size:1rem;color:var(--text2);font-weight:400}
.price-card ul{list-style:none;text-align:left;margin:20px 0}
.price-card li{padding:6px 0;color:var(--text2);font-size:.9rem}
.price-card li::before{content:'✓ ';color:var(--green)}
/* Auth */
.auth-box{max-width:400px;margin:80px auto;background:var(--surface);border-radius:12px;padding:40px;border:1px solid var(--border)}
.auth-box h2{margin-bottom:24px;text-align:center}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:.85rem;color:var(--text2);margin-bottom:6px}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-size:.9rem}
.form-group textarea{resize:vertical;min-height:120px}
/* App layout */
.app-layout{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 60px)}
.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:24px 16px}
.sidebar a{display:block;padding:10px 14px;border-radius:8px;color:var(--text2);margin-bottom:4px;font-size:.9rem}
.sidebar a.active,.sidebar a:hover{background:var(--surface2);color:var(--text)}
.main-content{padding:32px}
/* Stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}
.stat-card{background:var(--surface);border-radius:12px;padding:20px;border:1px solid var(--border)}
.stat-card .label{font-size:.8rem;color:var(--text2);text-transform:uppercase;letter-spacing:.5px}
.stat-card .value{font-size:1.8rem;font-weight:700;margin-top:4px}
.stat-card .value.green{color:var(--green)}
.stat-card .value.red{color:var(--red)}
.stat-card .value.amber{color:var(--amber)}
/* Table */
.table-wrap{background:var(--surface);border-radius:12px;border:1px solid var(--border);overflow:hidden}
.table-wrap table{width:100%;border-collapse:collapse}
.table-wrap th{text-align:left;padding:12px 16px;font-size:.8rem;text-transform:uppercase;color:var(--text2);border-bottom:1px solid var(--border);background:var(--surface2)}
.table-wrap td{padding:12px 16px;font-size:.9rem;border-bottom:1px solid var(--border)}
.table-wrap tr:hover{background:var(--surface2)}
.badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:.75rem;font-weight:600}
.badge-paid{background:rgba(34,197,94,.15);color:var(--green)}
.badge-pending{background:rgba(245,158,11,.15);color:var(--amber)}
.badge-overdue{background:rgba(239,68,68,.15);color:var(--red)}
.badge-overdue-30{background:rgba(220,38,38,.2);color:var(--red2)}
/* Modal */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:200;align-items:center;justify-content:center}
.modal-overlay.active{display:flex}
.modal{background:var(--surface);border-radius:12px;padding:32px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;border:1px solid var(--border)}
.modal h3{margin-bottom:20px}
/* Reminder preview */
.reminder-preview{background:var(--surface2);border-radius:8px;padding:20px;margin:16px 0;white-space:pre-wrap;font-size:.9rem;line-height:1.7;color:var(--text2)}
/* Footer */
footer{text-align:center;padding:40px 0;color:var(--text2);font-size:.85rem;border-top:1px solid var(--border)}
/* Responsive */
@media(max-width:768px){
  .hero h1{font-size:2rem}
  .app-layout{grid-template-columns:1fr}
  .sidebar{display:none}
  .stats{grid-template-columns:1fr 1fr}
}
/* Toast */
.toast{position:fixed;bottom:24px;right:24px;background:var(--surface2);color:var(--text);padding:12px 20px;border-radius:8px;border:1px solid var(--border);z-index:300;display:none;font-size:.9rem}
.toast.show{display:block}
.cursor-pointer{cursor:pointer}
