:root{--bg-primary:#fff;--bg-secondary:#f5f5f5;--bg-card:#fff;--bg-input:#fff;--border:#d4d4d4;--border-focus:#333;--text-primary:#1a1a1a;--text-secondary:#595959;--text-muted:#737373;--accent:#1a1a1a;--accent-hover:#333;--accent-text:#fff;--success:#1f7a2e;--warning:#9a6c00;--danger:#b12617;--info:#1d4d8f;--shadow:#00000014;--shadow-hover:#0000001f}[data-theme=dark]{--bg-primary:#0f0f0f;--bg-secondary:#1a1a1a;--bg-card:#1e1e1e;--bg-input:#252525;--border:#3a3a3a;--border-focus:#ccc;--text-primary:#f0f0f0;--text-secondary:#b8b8b8;--text-muted:#8f8f8f;--accent:#f0f0f0;--accent-hover:#ccc;--accent-text:#0f0f0f;--success:#5ecf6a;--warning:#f0c040;--danger:#ff6a5c;--info:#7ab3e5;--shadow:#0000004d;--shadow-hover:#00000080}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;transition:background-color .2s,color .2s}a{color:var(--text-primary);text-decoration:none}a:hover{opacity:.7}button{cursor:pointer;font-family:inherit}input,select,textarea{color:var(--text-primary);background-color:var(--bg-input);border:1px solid var(--border);border-radius:4px;width:100%;padding:.625rem .75rem;font-family:inherit;font-size:.9375rem;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--border-focus);outline:none}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;margin-bottom:2rem;display:flex}.page-title{font-size:1.5rem;font-weight:600}.page-title-accent{color:var(--text-secondary);font-weight:500}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.responsive-table{border-collapse:collapse;width:100%}@media (width<=900px){.responsive-table,.responsive-table thead,.responsive-table tbody,.responsive-table tr,.responsive-table th,.responsive-table td{display:block}.responsive-table thead{display:none}.responsive-table tr{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;margin-bottom:.75rem;padding:.75rem}.responsive-table td{text-align:left;border:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.375rem 0;display:flex}.responsive-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);flex-shrink:0;font-size:.6875rem;font-weight:600}.responsive-table td.text-right{text-align:right}.responsive-table td:first-child{border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;gap:.125rem;margin-bottom:.375rem;padding-bottom:.625rem;font-weight:600}.responsive-table td:first-child:before{display:none}}.btn{letter-spacing:.02em;text-transform:uppercase;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--accent);color:var(--accent-text);border-color:var(--accent)}.btn-primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}.btn-secondary{color:var(--text-primary);border-color:var(--border);background-color:#0000}.btn-secondary:hover{border-color:var(--text-primary)}.btn-danger{background-color:var(--danger);color:#fff;border-color:var(--danger)}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.form-error{color:var(--danger);margin-top:.25rem;font-size:.8125rem}.badge{text-align:center;text-transform:uppercase;letter-spacing:.05em;border-radius:3px;min-width:6.5rem;padding:.2rem .6rem;font-size:.75rem;font-weight:500;display:inline-block}.badge-draft{color:var(--text-muted);border:1px solid var(--border)}.badge-sent{color:var(--info);border:1px solid var(--info)}.badge-paid{color:var(--success);border:1px solid var(--success)}.badge-partial{color:var(--warning);border:1px solid var(--warning)}.badge-overdue{color:var(--danger);border:1px solid var(--danger)}.badge-cancelled{color:var(--text-muted);border:1px solid var(--border);text-decoration:line-through}.badge-locked{color:var(--text-secondary);border:1px solid var(--border);background:var(--bg-secondary)}.badge-archived{color:var(--text-muted);border:1px solid var(--border);background:var(--bg-secondary);font-style:italic}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:2px solid var(--border);padding:.75rem;font-size:.75rem;font-weight:600}td{border-bottom:1px solid var(--border);padding:.75rem;font-size:.875rem}tr:hover{background-color:var(--bg-secondary)}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.text-right{text-align:right}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.layout{flex-direction:column;min-height:100vh;display:flex}.header{border-bottom:1px solid var(--border);background-color:var(--bg-card)}.header-top{justify-content:space-between;align-items:center;height:48px;padding:0 2rem;display:flex}.logo{align-items:baseline;gap:.5rem;display:flex}.logo-app{letter-spacing:.15em;text-transform:uppercase;font-size:.875rem;font-weight:700}.logo-company{color:var(--text-secondary);letter-spacing:.02em;font-size:.6875rem;font-weight:400}.nav{border-top:1px solid var(--border);flex-wrap:wrap;gap:0;padding:0 2rem;display:flex}.nav-link{letter-spacing:.03em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;border-bottom:2px solid #0000;padding:.5rem .875rem;font-size:.75rem;font-weight:500;transition:all .2s}@media (width<=1100px){.nav-link{letter-spacing:.02em;padding:.5rem .625rem;font-size:.6875rem}.nav{padding:0 1rem}}.nav-link:hover{color:var(--text-primary);opacity:1}.nav-link.active{color:var(--text-primary);border-bottom-color:var(--accent)}.header-right{align-items:center;gap:1rem;display:flex}.theme-toggle{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border:1px solid var(--border);background:0 0;border-radius:3px;padding:.2rem .5rem;font-size:.6875rem;font-weight:500;transition:all .2s}.theme-toggle:hover{color:var(--text-primary);border-color:var(--text-primary)}.user-name{color:var(--text-secondary);font-size:.75rem}.btn-logout{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:0 0;border:none;padding:.2rem .5rem;font-size:.6875rem;font-weight:500;transition:color .2s}.btn-logout:hover{color:var(--danger)}.menu-toggle{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border:1px solid var(--border);background:0 0;border-radius:3px;padding:.25rem .625rem;font-size:.75rem;font-weight:500;display:none}.nav-mobile-actions{display:none}.main{flex:1;padding:2rem}@media (width<=900px){.header-top{padding:0 1rem}.logo-company,.user-name,.theme-toggle,.btn-logout{display:none}.menu-toggle{display:block}.nav{flex-direction:column;padding:0;display:none}.nav-open{display:flex}.nav-link{border-bottom:none;border-left:3px solid #0000;padding:.75rem 1rem}.nav-link.active{border-bottom:none;border-left-color:var(--accent);background-color:var(--bg-secondary)}.nav-mobile-actions{border-top:1px solid var(--border);background:var(--bg-secondary);flex-direction:column;gap:0;padding:.75rem 1rem;display:flex}.nav-mobile-user{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:.375rem 0;font-size:.75rem}.nav-mobile-btn{text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;padding:.625rem 0;font-size:.75rem;font-weight:500}.nav-mobile-btn:hover{color:var(--text-secondary)}.nav-mobile-logout{color:var(--danger)}.main{padding:1rem}}.landing-page{background:var(--bg-primary);min-height:100vh;color:var(--text-primary);box-sizing:border-box;flex-direction:column;padding:2rem 1.25rem;display:flex}.landing-container{flex-direction:column;flex:1;justify-content:space-between;gap:2rem;width:100%;max-width:1080px;margin:0 auto;display:flex}.landing-hero{text-align:center;padding:.5rem 0}.landing-logo{letter-spacing:-.02em;margin:0 0 .5rem;font-size:clamp(2rem,5vw,2.75rem);font-weight:800;line-height:1.05}.landing-logo-accent{color:var(--accent,#2563eb)}.landing-tagline{color:var(--text-primary);margin:0;font-size:clamp(1rem,2vw,1.125rem);font-weight:500;line-height:1.4}.landing-cta-wrapper{text-align:center}.landing-cta-btn{padding:.75rem 1.75rem;font-size:.9375rem;text-decoration:none;display:inline-block}.landing-features{grid-template-columns:repeat(3,1fr);gap:.875rem;display:grid}@media (width<=900px){.landing-features{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.landing-features{grid-template-columns:1fr}}.landing-feature{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:.875rem 1rem;transition:border-color .2s,transform .2s}.landing-feature:hover{border-color:var(--text-primary);transform:translateY(-2px)}.landing-feature-title{letter-spacing:-.005em;color:var(--text-primary);margin-bottom:.25rem;font-size:.9375rem;font-weight:700}.landing-feature-desc{color:var(--text-secondary);font-size:.8125rem;line-height:1.45}.landing-demo{text-align:center}.landing-demo-header{margin-bottom:1.25rem}.landing-demo-title{letter-spacing:-.01em;margin:0 0 .375rem;font-size:1.375rem;font-weight:700}.landing-demo-intro{color:var(--text-secondary);margin:0;font-size:.9375rem}.landing-demo-error{text-align:left;max-width:480px;margin:0 auto 1rem}.landing-demo-chips{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.landing-demo-chip{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:.625rem 1.125rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:border-color .15s,background .15s,transform .15s}.landing-demo-chip:hover:not(:disabled):not(.landing-demo-chip-disabled){border-color:var(--text-primary);background:var(--bg-primary);transform:translateY(-1px)}.landing-demo-chip:disabled{opacity:.5;cursor:not-allowed}.landing-demo-chip-disabled{opacity:.5;cursor:default;color:var(--text-muted)}.landing-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;font-size:.8125rem;display:flex}.landing-footer-credit{color:var(--text-secondary);align-items:center;gap:.625rem;text-decoration:none;transition:opacity .15s;display:inline-flex}.landing-footer-credit .landing-footer-credit-brand{margin-left:-.5rem}.landing-footer-credit:hover{opacity:.7}.landing-footer-credit-text{font-size:.8125rem}.landing-footer-logo{object-fit:contain;width:36px;height:36px;display:block}.landing-footer-credit-brand{color:var(--text-primary);letter-spacing:-.005em;font-weight:700}.landing-footer-credit-brand-accent{color:var(--accent,#2563eb)}.landing-theme-toggle{border:1px solid var(--border);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:4px;padding:.5rem 1rem;font-size:.8125rem;transition:border-color .2s}.landing-theme-toggle:hover{border-color:var(--text-primary)}@media (width<=640px){.landing-page{padding:1.5rem 1rem}.landing-container{gap:1.5rem}.landing-footer{text-align:left;flex-direction:column;align-items:flex-start}}.alert{border-radius:4px;margin-bottom:.75rem;padding:1rem 1.25rem;font-size:.875rem}.alert strong{margin-bottom:.25rem;display:block}.alert p{margin:0;font-size:.8125rem}.alert-warning{color:var(--warning);background-color:#b8860b14;border:1px solid #b8860b40}.alert-danger{color:var(--danger);background-color:#c0392b14;border:1px solid #c0392b40}.kpi-grid{grid-template-columns:repeat(6,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.kpi-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:1.25rem}.kpi-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:.75rem;font-weight:500}.kpi-value{margin-top:.375rem;font-size:1.375rem;font-weight:600}.kpi-sub{margin-top:.125rem;font-size:.8125rem}.dashboard-grid{grid-template-columns:2fr 1fr;gap:1.5rem;display:grid}.card-title{text-transform:uppercase;letter-spacing:.03em;margin-bottom:1.25rem;font-size:.875rem;font-weight:600}.card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.card-header .card-title{margin-bottom:0}.chart{align-items:flex-end;gap:.5rem;height:200px;padding-top:1.5rem;display:flex}.chart-bar-group{flex-direction:column;flex:1;align-items:center;height:100%;display:flex}.chart-value{color:var(--text-secondary);white-space:nowrap;margin-bottom:.375rem;font-size:.6875rem}.chart-bar-container{flex:1;align-items:flex-end;width:100%;display:flex}.chart-bar{background-color:var(--accent);border-radius:2px 2px 0 0;width:100%;min-height:4px;transition:height .3s}.chart-label{text-transform:uppercase;color:var(--text-secondary);margin-top:.375rem;font-size:.6875rem;font-weight:500}.top-clients{flex-direction:column;gap:.125rem;display:flex}.top-client-row{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.5rem 0;font-size:.875rem;display:flex}.top-client-row:last-child{border-bottom:none}.top-client-rank{color:var(--text-muted);width:1.25rem;font-size:.75rem;font-weight:600}.top-client-name{flex:1;font-weight:500}.top-client-count{color:var(--text-muted);font-size:.75rem}.top-client-total{text-align:right;min-width:5rem;font-weight:500}@media (width<=1024px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media (width<=768px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.kpi-value{font-size:1.125rem}.recent-invoices-table thead{display:none}.recent-invoices-table,.recent-invoices-table tbody,.recent-invoices-table tr,.recent-invoices-table td{width:100%;display:block}.recent-invoices-table tr{border:1px solid var(--border);background:var(--bg-card);border-radius:4px;margin-bottom:.75rem;padding:.75rem}.recent-invoices-table tr:hover{background:var(--bg-card)}.recent-invoices-table td{border:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.375rem 0;display:flex}.recent-invoices-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);flex-shrink:0;font-size:.6875rem;font-weight:600}.recent-invoices-table td.text-right{text-align:right}.chart{gap:.25rem;height:140px}.chart-value,.chart-label{font-size:.5625rem}}@media (width<=480px){.kpi-grid{grid-template-columns:1fr}}
