*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:#f8fafc;color:#0f172a;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:Outfit,system-ui,sans-serif}.mono-num{font-family:JetBrains Mono,ui-monospace,SF Mono,monospace;font-variant-numeric:tabular-nums}.app-shell{display:flex;min-height:100vh;background:#f8fafc}.sidebar{background:#fff;border-right:1px solid #E2E8F0;display:flex;flex-direction:column;transition:width .25s cubic-bezier(.4,0,.2,1);position:sticky;top:0;height:100vh;z-index:40;flex-shrink:0}.sidebar.expanded{width:260px}.sidebar.collapsed{width:72px}.sidebar-header{padding:1.25rem 1rem;border-bottom:1px solid #F1F5F9;display:flex;align-items:center;justify-content:space-between}.sidebar-brand{display:flex;align-items:center;overflow:hidden;white-space:nowrap;cursor:pointer}.sidebar-header .sidebar-brand{gap:.75rem}.sidebar-logo-img{width:40px;height:40px;border-radius:10px;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.sidebar-title{font-size:1.1rem;font-weight:800;color:#0f172a;line-height:1.2}.sidebar-title span{color:#059669}.sidebar-toggle-btn{background:#f1f5f9;border:1px solid #CBD5E1;border-radius:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#475569;font-size:.85rem;transition:all .2s ease;flex-shrink:0}.sidebar-toggle-btn:hover{background:#e2e8f0;color:#0f172a}.sidebar-menu{padding:1rem .5rem;flex:1;display:flex;flex-direction:column;gap:.35rem;overflow-y:auto}.menu-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:12px;border:none;background:transparent;color:#475569;font-size:.875rem;font-weight:600;cursor:pointer;width:100%;text-align:left;text-decoration:none;white-space:nowrap;transition:all .15s ease}.menu-item:hover{background:#f1f5f9;color:#0f172a}.menu-item.active{background:#ecfdf5;color:#047857;font-weight:700}.menu-icon-badge{width:34px;height:34px;border-radius:10px;background:#f1f5f9;color:#64748b;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.menu-item:hover .menu-icon-badge{background:#e2e8f0;color:#334155}.menu-item.active .menu-icon-badge{background:#d1fae5;color:#047857}.sidebar-footer{padding:1rem;border-top:1px solid #F1F5F9;font-size:.75rem;color:#94a3b8;white-space:nowrap;overflow:hidden}.sidebar-section-label{font-size:.7rem;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;padding:.85rem .6rem .35rem}.sidebar-account-label{font-size:.7rem;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.3rem}.sidebar-account-email{font-size:.85rem;font-weight:700;color:#0f172a;margin-bottom:.85rem;overflow:hidden;text-overflow:ellipsis}.sidebar-logout-btn{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:#dc2626;font-weight:700;font-size:.85rem;cursor:pointer;padding:0}.sidebar-logout-btn:hover{color:#b91c1c}.sidebar-logout-btn-collapsed{display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0 auto;border-radius:10px;background:none;border:none;color:#dc2626;cursor:pointer;transition:background .15s ease}.sidebar-logout-btn-collapsed:hover{background:#fef2f2}.main-wrapper{flex:1;display:flex;flex-direction:column;min-width:0}.top-bar{background:#fff;border-bottom:1px solid #E2E8F0;padding:.85rem 1.75rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30}.top-banner-text{font-size:.85rem;font-weight:700;color:#047857;display:flex;align-items:center;gap:.5rem}.page-container{padding:0;width:100%;margin:0 auto}.landing-section{padding:7rem 2.5rem;border-bottom:1px solid #E2E8F0;width:100%}.bg-white{background-color:#fff}.bg-slate{background-color:#f8fafc}.section-inner{max-width:1100px;margin:0 auto}.landing-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#022c22,#064e3b 45%,#0f172a);padding:6rem 2.5rem 7rem}.landing-hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:64px 64px;pointer-events:none}.landing-hero-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;pointer-events:none;animation:gridcarbon-drift 22s ease-in-out infinite}@keyframes gridcarbon-drift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(40px,-30px) scale(1.08)}66%{transform:translate(-30px,25px) scale(.95)}}.landing-hero-content{position:relative;z-index:1}.landing-hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:.4rem .9rem;border-radius:9999px;color:#a7f3d0;font-size:.75rem;font-weight:800;letter-spacing:.03em}.landing-hero-title{font-family:Outfit,sans-serif;font-size:clamp(2rem,4.5vw,3.2rem);font-weight:900;color:#fff;line-height:1.22;letter-spacing:-.02em}.landing-hero-title-accent{background:linear-gradient(90deg,#6ee7b7,#34d399,#a7f3d0);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-hero-desc{font-size:1.1rem;color:#ffffffc7;line-height:1.75;font-weight:500;max-width:850px}.landing-hero-cta-ghost{background:#ffffff14;border:1px solid rgba(255,255,255,.25);color:#fff}.landing-hero-cta-ghost:hover{background:#ffffff29;border-color:#fff6}.scroll-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.landing-hero-blob{animation:none}.scroll-reveal{opacity:1;transform:none;transition:none}}.flat-card{background:#fff;border:1px solid #E2E8F0;border-radius:16px;padding:1.75rem;margin-bottom:0}.flat-card-title{font-size:1.25rem;font-weight:800;color:#0f172a;margin-bottom:.35rem}.flat-card-sub{font-size:.85rem;color:#64748b;margin-bottom:1.5rem}.flat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}.flat-stat-box{background:#fff;border:1px solid #E2E8F0;border-radius:14px;padding:1.5rem}.flat-table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.flat-table th{padding:.85rem 1rem;background:#f8fafc;color:#475569;font-weight:700;font-size:.75rem;border-bottom:1px solid #E2E8F0;text-transform:uppercase}.flat-table td{padding:.95rem 1rem;border-bottom:1px solid #F1F5F9;color:#334155;font-weight:500}.flat-table tr:hover td{background:#f8fafc}.btn-flat{background:#059669;color:#fff;font-weight:700;padding:.7rem 1.4rem;border-radius:8px;border:none;cursor:pointer;text-decoration:none;font-size:.875rem;display:inline-flex;align-items:center;gap:.4rem;transition:background .15s ease}.btn-flat:hover{background:#047857}.flat-footer{border-top:1px solid #E2E8F0;padding:1.5rem 1.75rem;background:#fff;text-align:center;font-size:.75rem;color:#64748b}.report-card-item{border:1px solid #E2E8F0;border-radius:12px;padding:1.75rem;background:#fff;margin-bottom:2.5rem}.report-preview-box{background:#f8fafc;border:1px solid #E2E8F0;border-radius:8px;padding:1rem 1.25rem;font-size:.92rem;font-family:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;color:#1e293b;white-space:pre-wrap;line-height:1.65;position:relative;max-height:220px;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%)}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:#f8fafc}.auth-card{width:100%;max-width:440px}.form-group{margin-bottom:1.15rem}.form-label{display:block;font-size:.8rem;font-weight:700;color:#334155;margin-bottom:.4rem}.form-input,.form-select,.form-textarea{width:100%;padding:.65rem .85rem;border:1px solid #CBD5E1;border-radius:8px;font-size:.9rem;font-family:inherit;color:#0f172a;background:#fff;transition:border-color .15s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#059669}.form-textarea{resize:vertical;min-height:80px}.form-checkbox-row{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.85rem;font-size:.82rem;color:#334155;line-height:1.5}.form-checkbox-row input[type=checkbox]{margin-top:.2rem;flex-shrink:0;width:16px;height:16px;accent-color:#059669}.form-error{background:#fef2f2;border:1px solid #FECACA;color:#991b1b;font-size:.82rem;font-weight:600;padding:.65rem .85rem;border-radius:8px;margin-bottom:1rem}.form-success{background:#ecfdf5;border:1px solid #A7F3D0;color:#047857;font-size:.82rem;font-weight:600;padding:.65rem .85rem;border-radius:8px;margin-bottom:1rem}.btn-flat-outline{background:transparent;color:#059669;font-weight:700;padding:.7rem 1.4rem;border-radius:8px;border:1px solid #059669;cursor:pointer;font-size:.875rem;display:inline-flex;align-items:center;gap:.4rem;transition:background .15s ease}.btn-flat-outline:hover{background:#ecfdf5}.btn-flat:disabled,.btn-flat-outline:disabled,.sidebar-logout-btn:disabled,.sidebar-logout-btn-collapsed:disabled{opacity:.55;cursor:not-allowed}.btn-flat-danger{background:#dc2626}.btn-flat-danger:hover{background:#b91c1c}.badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:800;text-transform:uppercase;padding:.25rem .6rem;border-radius:9999px}.badge-success{background:#ecfdf5;color:#047857;border:1px solid #A7F3D0}.badge-error{background:#fef2f2;color:#991b1b;border:1px solid #FECACA}.badge-pending{background:#fffbeb;color:#92400e;border:1px solid #FDE68A}.badge-muted{background:#f1f5f9;color:#475569;border:1px solid #E2E8F0}.live-dot{position:relative;display:inline-flex;width:8px;height:8px;flex-shrink:0}.live-dot-ping{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#34d399;opacity:.75;animation:gridcarbon-ping 1.8s cubic-bezier(0,0,.2,1) infinite}.live-dot-core{position:relative;width:8px;height:8px;border-radius:50%;background:#059669}@keyframes gridcarbon-ping{75%,to{transform:scale(2.2);opacity:0}}@media (prefers-reduced-motion: reduce){.live-dot-ping{animation:none;opacity:0}}.gc-spinner{animation:gc-spin .8s linear infinite}@keyframes gc-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.gc-spinner{animation:none}}.gc-loading-block{display:flex;align-items:center;justify-content:center;gap:.6rem;color:#64748b;font-size:.85rem}.nav-link-plain{color:inherit;text-decoration:none;display:flex;align-items:center;gap:inherit;width:100%}
