:root{--text:#3f3d45;--text-h:#1a1825;--bg:#f6f5f8;--card-bg:#fff;--border:#e4e2ea;--accent:#7c3aed;--accent-hover:#6d28d9;--danger:#dc2626;--success:#16a34a;color:var(--text);background:var(--bg);font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}#root{min-height:100vh}h1,h2{color:var(--text-h);margin:0 0 4px;font-weight:600}h1{font-size:26px}h2{margin-bottom:16px;font-size:18px}p{margin:0}.muted{color:#8a8794}.small{font-size:13px}.page{max-width:1000px;margin:0 auto;padding:32px 20px 60px}.topbar{justify-content:space-between;align-items:flex-start;margin-bottom:28px;display:flex}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;margin-bottom:24px;padding:24px;box-shadow:0 1px 2px #00000008}.split{grid-template-columns:1fr 1.2fr;gap:24px;display:grid}@media (width<=800px){.split{grid-template-columns:1fr}}label{color:#6b6875;flex-direction:column;gap:4px;font-size:13px;display:flex}input,select{font:inherit;border:1px solid var(--border);color:var(--text-h);background:#fff;border-radius:8px;padding:9px 10px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}button{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 18px;font-weight:500}button:hover{background:var(--accent-hover)}button:disabled{opacity:.6;cursor:default}button.secondary{color:var(--text-h);border:1px solid var(--border);background:0 0}button.secondary:hover{background:#f0eef5}button.link{color:var(--accent);background:0 0;padding:0;font-weight:500}button.link:hover{background:0 0;text-decoration:underline}button.link.danger{color:var(--danger)}.error{color:#991b1b;background:#fee2e2;border-radius:8px;margin-top:12px;padding:10px 14px;font-size:14px}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card-wrap{flex-direction:column;align-items:center;gap:20px;width:100%;max-width:380px;display:flex}.auth-logo-link{text-decoration:none}.auth-card{flex-direction:column;gap:14px;width:100%;display:flex}.hint{color:#6b6875;background:#f7f6fb;border-radius:8px;margin-top:8px;padding:12px 14px;font-size:13px}.hint ul{margin:6px 0 0;padding-left:18px}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;display:flex}button.tab{color:#6b6875;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:10px 16px}button.tab:hover{color:var(--text-h);background:0 0}button.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.hours-form{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.hours-form label{min-width:140px}.hours-form label.grow{flex:1;min-width:200px}.form-actions{gap:10px;display:flex}.section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-header h2{margin-bottom:0}.totals-row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.pill{color:#5b21b6;background:#f0eafc;border-radius:999px;padding:5px 12px;font-size:13px}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}.table th{color:#8a8794;text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:500}.row-actions{white-space:nowrap;gap:12px;display:flex}.invoice-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.invoice-list li{border:1px solid var(--border);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px;display:flex}.invoice-list li:hover{border-color:var(--accent)}.invoice-list li.active{border-color:var(--accent);background:#f7f4fd}.invoice-list-right{align-items:center;gap:10px;font-weight:600;display:flex}.badge{border-radius:999px;padding:3px 9px;font-size:12px;font-weight:500}.badge.concept{color:#92400e;background:#fef3c7}.badge.final{color:#166534;background:#dcfce7}.invoice-total{justify-content:space-between;align-items:center;gap:12px;margin:14px 0 18px;font-size:16px;display:flex}.invoice-total-left{flex-direction:column;gap:4px;display:flex}.logo-cell{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.logo-preview{object-fit:contain;background:#fff;border:1px solid #eee;border-radius:4px;max-width:60px;max-height:32px;padding:2px}.logo-input{display:none}.logo-cell label.link{cursor:pointer}.landing{--navy:#16213e;--navy-soft:#2a3a5f;--amber:#f5a524;--amber-soft:#fdeacb;--cream:#f4f1ec;--ink:#16213e;--ink-muted:#5c6377;color:var(--ink);background:var(--cream);font-family:Poppins,system-ui,Segoe UI,Roboto,sans-serif}.landing *{box-sizing:border-box}.landing a{color:inherit}.landing-container{max-width:1120px;margin:0 auto;padding:0 24px}.landing-nav{justify-content:space-between;align-items:center;padding:22px 0;display:flex}.landing-nav-links{color:var(--ink-muted);gap:28px;font-size:14px;font-weight:500;display:none}@media (width>=760px){.landing-nav-links{display:flex}}.landing-nav-links a:hover{color:var(--navy)}.landing-btn{cursor:pointer;border:none;border-radius:999px;align-items:center;gap:6px;padding:11px 22px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex}.landing-btn-primary{background:var(--amber);color:var(--navy);box-shadow:0 6px 16px #f5a52459}.landing-btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 20px #f5a52473}.landing-btn-outline{color:var(--navy);border:1.5px solid var(--navy);background:0 0}.landing-btn-outline:hover{background:var(--navy);color:var(--cream)}.landing-hero{align-items:center;gap:40px;padding:60px 0 80px;display:grid}@media (width>=860px){.landing-hero{grid-template-columns:1.1fr .9fr;padding:80px 0 110px}}.landing-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--navy);background:var(--amber-soft);border-radius:999px;margin-bottom:18px;padding:6px 14px;font-size:12px;font-weight:700;display:inline-block}.landing-hero h1{letter-spacing:-.02em;margin:0 0 18px;font-size:40px;font-weight:700;line-height:1.12}@media (width>=640px){.landing-hero h1{font-size:50px}}.landing-hero p.landing-lede{color:var(--ink-muted);max-width:520px;margin:0 0 30px;font-size:17px;line-height:1.6}.landing-hero-actions{flex-wrap:wrap;gap:14px;display:flex}.landing-hero-art{background:var(--navy);color:var(--cream);border-radius:24px;padding:28px;position:relative;overflow:hidden}.landing-hero-art:after{content:"";background:radial-gradient(circle,#f5a52459,#0000 70%);width:220px;height:220px;position:absolute;top:-60px;right:-60px}.landing-flow{flex-direction:column;gap:14px;display:flex;position:relative}.landing-flow-step{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;align-items:center;gap:12px;padding:14px 16px;display:flex}.landing-flow-num{background:var(--amber);width:26px;height:26px;color:var(--navy);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.landing-flow-step div p{margin:0;font-size:13.5px;line-height:1.4}.landing-flow-step strong{margin-bottom:2px;font-size:14.5px;display:block}.landing-section{padding:70px 0}.landing-section-head{max-width:620px;margin:0 0 44px}.landing-section-head .landing-eyebrow{margin-bottom:14px}.landing-section-head h2{letter-spacing:-.01em;color:var(--navy);margin:0 0 12px;font-size:30px;font-weight:700}.landing-section-head p{color:var(--ink-muted);margin:0;font-size:15.5px;line-height:1.6}.landing-steps{gap:20px;display:grid}@media (width>=760px){.landing-steps{grid-template-columns:repeat(3,1fr)}}.landing-step-card{background:#fff;border:1px solid #16213e14;border-radius:18px;padding:28px 24px}.landing-step-badge{background:var(--amber-soft);width:40px;height:40px;color:var(--navy);border-radius:12px;justify-content:center;align-items:center;margin-bottom:16px;font-size:16px;font-weight:700;display:flex}.landing-step-card h3{color:var(--navy);margin:0 0 8px;font-size:17px}.landing-step-card p{color:var(--ink-muted);margin:0;font-size:14.5px;line-height:1.6}.landing-features{background:var(--navy)}.landing-features .landing-section-head h2,.landing-features .landing-section-head p{color:var(--cream)}.landing-features .landing-section-head p{opacity:.75}.landing-feature-grid{grid-template-columns:1fr;gap:18px;display:grid}@media (width>=640px){.landing-feature-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=980px){.landing-feature-grid{grid-template-columns:repeat(3,1fr)}}.landing-feature-card{color:var(--cream);background:#ffffff0d;border:1px solid #ffffff1f;border-radius:16px;padding:22px}.landing-feature-icon{margin-bottom:12px;font-size:20px}.landing-feature-card h3{margin:0 0 6px;font-size:15.5px}.landing-feature-card p{color:#f4f1ecb8;margin:0;font-size:13.5px;line-height:1.55}.landing-case-grid{align-items:center;gap:28px;display:grid}@media (width>=760px){.landing-case-grid{grid-template-columns:1.15fr .85fr;gap:40px}}.landing-case-grid h2{letter-spacing:-.01em;color:var(--navy);margin:14px 0 16px;font-size:28px;font-weight:700}.landing-case-grid p{color:var(--ink-muted);margin:0 0 14px;font-size:15px;line-height:1.65}.landing-case-card{background:var(--navy);color:var(--cream);border-radius:20px;padding:30px}.landing-case-card h3{margin:0 0 4px;font-size:19px}.landing-case-sub{color:#f4f1eca6;margin:0 0 22px;font-size:13px}.landing-case-stats{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.landing-case-stat{text-align:center;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;padding:14px 10px}.landing-case-stat strong{color:var(--amber);margin-bottom:4px;font-size:20px;display:block}.landing-case-stat span{color:#f4f1ecbf;font-size:11px;line-height:1.35;display:block}.landing-contact{align-items:center;gap:24px;display:grid}@media (width>=760px){.landing-contact{grid-template-columns:1.1fr .9fr}}.landing-contact-card{background:#fff;border:1px solid #16213e14;border-radius:20px;padding:32px}.landing-contact-card h3{color:var(--navy);margin:0 0 8px;font-size:19px}.landing-contact-card p{color:var(--ink-muted);margin:0 0 20px;font-size:14.5px;line-height:1.6}.landing-footer{color:var(--ink-muted);border-top:1px solid #16213e1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:28px 0;font-size:13px;display:flex}.landing-footer a{color:var(--navy);font-weight:600;text-decoration:none}.landing-footer a:hover{text-decoration:underline}
