:root{color-scheme:light;--bg: #f4f7fb;--surface: #ffffff;--surface-2: #eef6f5;--ink: #07193d;--muted: #5d6a7f;--line: #dbe4ef;--navy: #082568;--teal: #00a997;--amber: #b7791f;--danger: #b42318}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit;text-decoration:none}.appShell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.landing{min-height:100vh;background:linear-gradient(90deg,#f4f7fbf0,#f4f7fbc2),url(/assets/certfiscal-logo.png) right 8vw top 12vh / min(520px,44vw) auto no-repeat,var(--bg)}.landingNav{min-height:86px;width:min(1180px,calc(100% - 40px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.landingNav img{width:160px;height:58px;object-fit:contain;object-position:left center}.privateLink,.primaryAction{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:8px;font-weight:800}.privateLink{padding:0 14px;border:1px solid var(--line);background:#ffffffdb;color:var(--navy)}.landingHero{min-height:calc(100vh - 86px);width:min(1180px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:minmax(0,680px) 360px;align-items:center;gap:60px;padding:34px 0 80px}.landingHeroContent h1{margin-top:8px;font-size:clamp(3rem,7vw,5.6rem);line-height:.98}.landingHeroContent>p:not(.eyebrow){max-width:650px;margin-top:20px;color:#31415f;font-size:1.18rem;line-height:1.65}.landingActions{margin-top:30px;display:flex;align-items:center;flex-wrap:wrap;gap:16px}.primaryAction{padding:0 18px;background:var(--navy);color:#fff;box-shadow:0 12px 28px #08256833}.landingActions span{color:var(--muted);font-weight:700}.invoicePreview{min-height:340px;display:grid;align-content:space-between;gap:24px;padding:24px;border:1px solid rgba(8,37,104,.12);border-radius:8px;background:#ffffffeb;box-shadow:0 22px 50px #0825681f}.invoiceTop{display:flex;align-items:center;gap:14px}.invoiceTop svg,.invoiceStatus svg{color:var(--teal);flex:0 0 auto}.invoiceTop strong,.invoiceTop span{display:block}.invoiceTop span{margin-top:4px;color:var(--muted)}.invoiceRows{display:grid;gap:12px}.invoiceRows span{height:48px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(90deg,#00a99721,#fff0),#fff}.invoiceStatus{min-height:50px;display:flex;align-items:center;gap:10px;padding:0 14px;border-radius:8px;background:var(--surface-2);color:var(--navy);font-weight:800}.landingBand{width:min(1180px,calc(100% - 40px));margin:-44px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--line)}.landingBand article{min-height:132px;padding:22px;display:grid;align-content:start;gap:10px;background:#fff}.landingBand span{color:var(--muted);line-height:1.45}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;background:#fff;border-right:1px solid var(--line)}.logo{width:178px;height:78px;object-fit:contain;object-position:left center;display:block;margin-bottom:28px}nav{display:grid;gap:6px}nav a{min-height:42px;display:flex;align-items:center;gap:10px;padding:0 12px;border-radius:8px;color:var(--muted);font-weight:700}nav a.active,nav a:hover{background:var(--surface-2);color:var(--navy)}.workspace{width:min(1240px,100%);padding:28px;display:grid;gap:22px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{margin:0 0 4px;color:var(--teal);font-size:.78rem;font-weight:900;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{font-size:2.4rem;letter-spacing:0}h2{font-size:1.65rem;letter-spacing:0}.env{min-width:190px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fff}.env span,.cardHeader span,.moduleList span,.riskBox span{color:var(--muted)}.env span,.cardHeader span{display:block;font-size:.78rem;font-weight:800;text-transform:uppercase}.env strong{color:var(--amber)}.hero,.panel,.card{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.hero{min-height:260px;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:center;padding:32px}.hero p,.panel p,.card p{margin-top:10px;color:var(--muted);line-height:1.55}.heroPanel{min-height:170px;display:grid;align-content:center;gap:10px;padding:24px;border-radius:8px;background:var(--surface-2)}.heroPanel svg{color:var(--teal)}.grid.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card{min-height:178px;padding:18px}.cardHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.cardHeader svg{color:var(--navy)}.card h3{font-size:1.08rem}.panel{padding:24px}.panelTitle{display:flex;gap:14px;align-items:flex-start}.panelTitle svg{flex:0 0 auto;color:var(--teal)}.moduleList{margin-top:22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--line)}.moduleList div{min-height:106px;padding:16px;display:grid;align-content:start;gap:8px;background:#fff}.moduleList span{line-height:1.45}.split{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:center}.riskBox{min-height:132px;padding:18px;display:grid;gap:8px;border-radius:8px;background:#fff7ed;border:1px solid #fed7aa}.riskBox svg{color:var(--danger)}@media(max-width:980px){.appShell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.hero,.split,.grid.four,.moduleList,.landingHero,.landingBand{grid-template-columns:1fr}.landing{background:linear-gradient(90deg,#f4f7fbf5,#f4f7fbe0),url(/assets/certfiscal-logo.png) right 20px top 110px / 260px auto no-repeat,var(--bg)}.landingHero{min-height:auto;gap:30px;padding-top:34px}.landingBand{margin-top:0}}@media(max-width:640px){.workspace{padding:18px}.landingNav,.landingHero,.landingBand{width:min(100% - 28px,1180px)}.landingNav{align-items:flex-start;flex-direction:column;padding:16px 0}.landingHeroContent h1{font-size:3rem}.topbar{align-items:stretch;flex-direction:column}.hero,.panel{padding:18px}}
