:root{--brand:#2563eb;--ink:#111827;--soft:#f4f7fb;--line:#e5e7eb}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#f8fafc}
a{text-decoration:none}.app-shell main{min-height:calc(100vh - 70px)}
.flat-card{border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.metric-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px;display:flex;flex-direction:column;gap:8px;min-height:116px}.metric-card span{color:#64748b}.metric-card strong{font-size:28px}
.badge{border-radius:999px;text-transform:capitalize}.status-paid{background:#dcfce7;color:#166534}.status-unpaid,.status-overdue{background:#fee2e2;color:#991b1b}.status-draft{background:#e0f2fe;color:#075985}
.auth-bg{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef6ff,#f8fafc)}
.auth-card{width:min(430px,92vw);background:#fff;border:1px solid var(--line);border-radius:8px;padding:32px;box-shadow:0 20px 50px rgba(15,23,42,.12)}.brand{display:inline-block;font-weight:800;font-size:24px;margin-bottom:24px;color:var(--brand)}
.hero-section{min-height:620px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(7,18,39,.92),rgba(37,99,235,.55)),url("https://images.unsplash.com/photo-1554224155-6726b3ff858f?auto=format&fit=crop&w=1600&q=80") center/cover;color:#fff}
.hero-copy{max-width:780px}.hero-copy h1{font-size:64px;line-height:1;margin:18px 0}.hero-copy p{font-size:22px;max-width:720px}.trust-pill{display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);border-radius:999px;padding:8px 14px}
.section-band{background:#fff;padding:64px 0}.testimonial{height:100%;background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:22px}.legal-page{max-width:850px}.invoice-preview{top:88px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px}.invoice-items td{vertical-align:middle}.text-end{text-align:right}
@media(max-width:768px){.hero-section{min-height:520px}.hero-copy h1{font-size:42px}.hero-copy p{font-size:18px}.d-flex.gap-2{gap:.5rem!important}.table{font-size:14px}}
@media print{.navbar,.print-hide,footer{display:none!important}body{background:#fff}.container{max-width:100%!important}}
