@import url("https://fonts.googleapis.com/css2?family=Mulish:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700;800&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--primary:#1a5276;--primary-mid:#2980b9;--primary-light:#d6eaf8;--primary-xlight:#eaf4fb;--primary-dark:#0e3d5c;--primary-xdark:#0a2d45;--accent:#0d7377;--accent-light:#1abc9c;--accent-xlight:#d5f5e3;--bg:#f5f7fa;--surface:#fff;--surface2:#f0f4f8;--border:#e0e6ed;--border-strong:#c8d6e5;--text:#2c3e50;--text2:#7f8c8d;--green:#27ae60;--green-light:#d5f5e3;--amber:#e67e22;--amber-light:#fef9e7;--red:#e74c3c;--red-light:#fdecea;--blue:#2980b9;--blue-light:#d6eaf8;--teal:var(--primary);--teal-light:var(--primary-light);--teal-mid:var(--primary-mid);--teal-dark:var(--primary-dark);--font-body:"Mulish","Inter","Segoe UI",system-ui,sans-serif;--font-heading:"Mulish","Inter","Segoe UI",system-ui,sans-serif;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:20px;--shadow-sm:0 1px 4px rgba(26,82,118,.08),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 16px rgba(26,82,118,.12),0 2px 6px rgba(0,0,0,.05);--shadow-lg:0 12px 36px rgba(26,82,118,.14),0 4px 12px rgba(0,0,0,.06);--shadow-glow:0 0 24px rgba(41,128,185,.18);--sidebar-width:220px;--sidebar-logo-bg:#1a5276;--sidebar-logo-bg2:#0e3d5c;--sidebar-bg:#fff}body,html{height:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}a.link{color:var(--primary);text-decoration:underline}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--border);flex-direction:column;height:100vh;box-shadow:2px 0 8px rgba(26,82,118,.08);z-index:10}.sidebar,.sidebar-logo{display:flex;flex-shrink:0}.sidebar-logo{background:linear-gradient(160deg,var(--sidebar-logo-bg) 0,var(--sidebar-logo-bg2) 100%);padding:1.1rem 1.1rem 1rem;align-items:center;gap:10px}.sidebar-logo-name{font-size:16px;font-weight:800;color:#fff;letter-spacing:-.3px;font-family:var(--font-heading);line-height:1.2}.sidebar-logo-sub{font-size:9px;color:hsla(0,0%,100%,.6);margin-top:2px;line-height:1.4;font-weight:500;letter-spacing:.3px}.sidebar-company{background:var(--primary-xlight);border-bottom:1px solid var(--border);padding:7px 14px;display:flex;align-items:center;gap:7px;flex-shrink:0}.sidebar-company-name{font-size:11px;font-weight:700;color:var(--primary-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.2px}.nav{padding:8px 0;flex:1 1;overflow-y:auto}.nav-section{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;color:var(--text2);padding:12px 14px 4px}.nav-item{display:flex;align-items:center;gap:9px;padding:8px 14px;cursor:pointer;font-size:13px;font-weight:500;color:var(--text);margin:1px 8px;border-radius:var(--radius-sm);transition:background .13s,color .13s;position:relative}.nav-item.active,.nav-item:hover{background:var(--primary-xlight);color:var(--primary)}.nav-item.active{font-weight:700;border-left:3px solid var(--primary);padding-left:11px}.nav-item-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--text2);flex-shrink:0}.nav-item.active .nav-item-icon,.nav-item:hover .nav-item-icon{color:var(--primary)}.nav-item-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:10px;font-size:10px;font-weight:700;padding:0 5px;flex-shrink:0;line-height:1}.nav-badge-primary{background:var(--primary);color:#fff}.nav-badge-accent{background:var(--accent);color:#fff}.nav-badge-amber{background:var(--amber);color:#fff}.nav-badge-red{background:var(--red);color:#fff}.nav-badge-blue{background:var(--blue);color:#fff}.nav-divider{height:1px;background:var(--border);margin:8px 14px}.sidebar-footer{padding:10px 14px;border-top:1px solid var(--border);flex-shrink:0}.logo{padding:1.1rem 1.1rem 1rem;border-bottom:1px solid var(--border);background:linear-gradient(135deg,var(--primary-xlight) 0,var(--surface) 100%)}.logo-name{font-size:17px;font-weight:800;color:var(--primary-dark);letter-spacing:-.6px}.logo-sub{font-size:10px;color:var(--text2);margin-top:2px}.app-shell{height:100vh}.app-main,.app-shell{display:flex;overflow:hidden}.app-main{flex:1 1;flex-direction:column}.app-topbar{height:50px;border-bottom:1px solid var(--border);background:hsla(0,0%,100%,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;flex-shrink:0;box-shadow:0 1px 4px rgba(26,82,118,.06)}.app-content{flex:1 1;overflow-y:auto;padding:1.5rem 1.75rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem;box-shadow:var(--shadow-sm);transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow-md)}.card-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.card-panel-header{background:var(--primary);color:#fff;padding:10px 16px;font-size:13px;font-weight:700;letter-spacing:.2px}.card-panel-body{padding:1rem 1.25rem}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-bottom:1.5rem}.metric-card{background:var(--surface);border-radius:var(--radius-md);padding:1rem 1.1rem;box-shadow:var(--shadow-sm);border:1px solid var(--border);border-top:3px solid var(--primary)}.metric-label{font-size:10px;font-weight:700;color:var(--text2);margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:24px;font-weight:800;color:var(--primary)}.metric-sub{font-size:10px;color:var(--text2);margin-top:3px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:10px 14px;font-size:11px;font-weight:700;color:#fff;background:var(--primary);border-bottom:none;white-space:nowrap}th:first-child{border-radius:var(--radius-sm) 0 0 0}th:last-child{border-radius:0 var(--radius-sm) 0 0}td{padding:9px 14px;border-bottom:1px solid var(--border);vertical-align:middle}tr:last-child td{border-bottom:none}tr:nth-child(2n) td{background:#fafbfc}tr:hover td{background:var(--primary-xlight)}.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.2px}.badge-safe{background:var(--green-light);color:var(--green)}.badge-caution{background:var(--amber-light);color:var(--amber)}.badge-risk{background:var(--red-light);color:var(--red)}.badge-info{background:var(--blue-light);color:var(--blue)}.badge-teal{background:var(--primary-light);color:var(--primary-dark)}.search-bar{display:flex;gap:8px;margin-bottom:1rem}.search-input{flex:1 1;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:13px;background:var(--surface);outline:none;color:var(--text);font-family:inherit;transition:border-color .15s,box-shadow .15s}.search-input:focus{border-color:var(--primary-mid);box-shadow:0 0 0 3px rgba(41,128,185,.12)}button{padding:7px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;background:var(--surface);color:var(--text);transition:all .13s;font-family:inherit}button:hover:not(:disabled){background:var(--primary-xlight);border-color:var(--primary-mid)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--primary);color:#fff;border-color:transparent;font-weight:600;box-shadow:0 2px 6px rgba(26,82,118,.25)}button.primary:hover:not(:disabled){background:var(--primary-dark);box-shadow:0 4px 12px rgba(26,82,118,.35)}button.secondary{background:var(--surface);color:var(--primary);border-color:var(--primary-mid);font-weight:600}button.secondary:hover:not(:disabled){background:var(--primary-light)}button.danger{background:var(--red);color:#fff;border-color:transparent;font-weight:600}button.danger:hover:not(:disabled){background:#c0392b}.tabs{display:flex;gap:4px;margin-bottom:1.25rem;padding:0;flex-wrap:wrap}.tab{padding:6px 16px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;cursor:pointer;color:var(--text2);border:1px solid var(--border);background:var(--surface);font-family:inherit;transition:background .13s,color .13s}.tab:hover{background:var(--primary-xlight);color:var(--primary);border-color:var(--primary-mid)}.tab.active{background:var(--primary);color:#fff;border-color:transparent;font-weight:700}.tabs-pill{display:flex;gap:6px;margin-bottom:1.25rem;flex-wrap:wrap}.tab-pill{padding:5px 16px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;color:var(--primary);border:1px solid var(--primary-mid);background:var(--surface);font-family:inherit;transition:background .13s,color .13s}.tab-pill:hover{background:var(--primary-light)}.tab-pill.active{background:var(--primary);color:#fff;border-color:transparent}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.25rem;gap:1.25rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.form-group{display:flex;flex-direction:column;gap:4px}label{font-size:12px;font-weight:600;color:var(--text2)}input[type=email],input[type=number],input[type=password],input[type=text],select{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;background:var(--surface);outline:none;color:var(--text);font-family:inherit;width:100%;transition:border-color .13s,box-shadow .13s}input:focus,select:focus{border-color:var(--primary-mid);box-shadow:0 0 0 3px rgba(41,128,185,.12)}textarea{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;background:var(--surface);outline:none;color:var(--text);font-family:inherit;width:100%;resize:vertical;transition:border-color .13s,box-shadow .13s}textarea:focus{border-color:var(--primary-mid);box-shadow:0 0 0 3px rgba(41,128,185,.12)}.result-box{border-radius:var(--radius-sm);padding:1rem;margin-bottom:1rem}.result-safe{background:var(--green-light);border:1px solid #86efac}.result-warn{background:var(--amber-light);border:1px solid #fcd34d}.result-danger{background:var(--red-light);border:1px solid #fca5a5}.alert-item{padding:11px 14px;background:var(--surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:8px;border:1px solid var(--border);border-left:3px solid var(--primary-mid);transition:box-shadow .13s}.alert-item:hover{box-shadow:var(--shadow-sm)}.alert-item.warn{border-left-color:var(--amber)}.alert-item.info{border-left-color:var(--blue)}.alert-date{font-size:10px;color:var(--text2);margin-bottom:3px;font-weight:600}.alert-title{font-size:13px;font-weight:600;margin-bottom:2px}.alert-desc{font-size:12px;color:var(--text2);line-height:1.5}.divider{height:1px;background:var(--border);margin:12px 0}.quick-btn{font-size:11px;padding:5px 10px;white-space:nowrap}.empty-state{align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--text2);padding:2rem}.empty-state,.row-kv{display:flex;font-size:13px}.row-kv{justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--border)}.row-kv:last-child{border-bottom:none}.row-kv-key{color:var(--text2);font-weight:500}.row-kv-val{font-weight:600;font-family:monospace;font-size:12px;color:var(--primary-dark)}.page-header{margin-bottom:1.5rem}.page-header h2{font-size:20px;font-weight:800;color:var(--primary-dark);letter-spacing:-.3px}.page-header p{font-size:13px;color:var(--text2);margin-top:4px}.mos-safe{background:#d5f5e3;color:#1e8449}.mos-safe,.mos-warning{padding:2px 8px;border-radius:3px;font-weight:600;font-size:12px}.mos-warning{background:#fef9e7;color:#b7770d}.mos-critical{background:#fdecea;color:#c0392b;padding:2px 8px;border-radius:3px;font-weight:600;font-size:12px}.marketing-page{background:var(--bg);min-height:100vh}.marketing-nav{display:flex;align-items:center;justify-content:space-between;padding:.9rem 2rem;border-bottom:1px solid var(--border);background:hsla(0,0%,100%,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);position:-webkit-sticky;position:sticky;top:0;z-index:100;box-shadow:0 1px 8px rgba(26,82,118,.07)}.marketing-nav-right{display:flex;gap:8px;align-items:center}.container{max-width:1100px;margin:0 auto;padding:0 2rem}.hero{text-align:center;padding:5.5rem 2rem 3rem;background:radial-gradient(ellipse 90% 70% at 50% -10%,rgba(26,82,118,.12) 0,transparent 65%),radial-gradient(ellipse 50% 40% at 80% 60%,rgba(41,128,185,.07) 0,transparent 60%);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%231A5276' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none}.hero h1{font-size:46px;font-weight:800;letter-spacing:-1.5px;margin-bottom:1.1rem;line-height:1.12;font-family:var(--font-heading);background:linear-gradient(135deg,var(--primary-xdark) 0,var(--primary) 60%,var(--primary-mid) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero p{font-size:16px;color:var(--text2);max-width:560px;margin:0 auto 2.25rem;line-height:1.75}.hero-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-animated .hero-btns,.hero-animated h1,.hero-animated p{animation:heroFadeIn .7s cubic-bezier(.22,1,.36,1) both}.hero-animated h1{animation-delay:.05s}.hero-animated p{animation-delay:.18s}.hero-animated .hero-btns{animation-delay:.3s}.hero-mockup{margin:3rem auto 0;max-width:780px;border-radius:var(--radius-lg);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg),var(--shadow-glow);overflow:hidden;height:290px;background:var(--surface);animation:heroFadeIn .7s cubic-bezier(.22,1,.36,1) .4s both}.mockup-bar{height:36px;background:var(--primary);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 14px;gap:8px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.25rem;gap:1.25rem;padding:2rem 0 3.5rem}.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.75rem;transition:transform .22s ease,box-shadow .22s ease;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent));opacity:0;transition:opacity .22s}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.feature-card:hover:before{opacity:1}.feature-icon{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--primary-xlight);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:var(--primary)}.feature-card h3{font-size:15px;font-weight:700;margin-bottom:7px;color:var(--primary-dark)}.feature-card p{font-size:13px;color:var(--text2);line-height:1.65}.section-title{text-align:center;font-size:30px;font-weight:800;letter-spacing:-.8px;margin-bottom:8px;color:var(--primary-dark)}.section-sub{text-align:center;color:var(--text2);font-size:14px;margin-bottom:2.75rem}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.25rem;gap:1.25rem}.pricing-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;display:flex;flex-direction:column;transition:box-shadow .22s ease,transform .22s ease;box-shadow:var(--shadow-sm)}.pricing-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.pricing-card.featured{border-color:var(--primary-mid);box-shadow:0 0 0 2px var(--primary-light),var(--shadow-md);background:linear-gradient(180deg,var(--primary-xlight) 0,var(--surface) 50%)}.pricing-ribbon{position:absolute;top:18px;right:-8px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:10px;font-weight:700;padding:3px 10px 3px 8px;border-radius:3px 0 0 3px;letter-spacing:.5px;box-shadow:var(--shadow-sm)}.pricing-ribbon:after{content:"";position:absolute;right:-8px;top:0;width:0;height:0;border-top:11px solid #b45309;border-right:8px solid transparent;border-bottom:11px solid #b45309}.plan-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;background:var(--primary-light);padding:3px 10px;border-radius:20px;width:-moz-fit-content;width:fit-content;margin-bottom:12px}.plan-badge,.plan-name{color:var(--primary-dark)}.plan-name{font-size:20px;font-weight:800;margin-bottom:4px}.plan-price{font-size:40px;font-weight:800;letter-spacing:-1.5px;margin:10px 0 4px;color:var(--primary)}.plan-price .period{font-size:14px;font-weight:400;color:var(--text2)}.plan-equiv{margin-bottom:8px}.plan-desc,.plan-equiv{font-size:12px;color:var(--text2)}.plan-desc{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border);line-height:1.6}.plan-features{list-style:none;flex:1 1;margin-bottom:1.5rem}.plan-features li{font-size:13px;padding:5px 0;display:flex;align-items:flex-start;gap:8px;line-height:1.4}.plan-features li:before{content:"✓";color:var(--primary);font-weight:800;flex-shrink:0}.plan-features li.na{color:var(--text2)}.plan-features li.na:before{content:"—";color:var(--border-strong);font-weight:400}.trust-section{text-align:center;padding:2.5rem 0 3.5rem;border-top:1px solid var(--border)}.trust-section p{margin-top:8px}.footer,.trust-section p{font-size:12px;color:var(--text2)}.footer{border-top:3px solid var(--primary);background:linear-gradient(180deg,var(--primary-xlight) 0,var(--surface) 100%);padding:2.5rem 2rem 1.75rem}.footer-cols{display:grid;grid-template-columns:1fr auto auto;grid-gap:2rem;gap:2rem;max-width:1100px;margin:0 auto;text-align:left}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse 80% 60% at 50% 0,rgba(26,82,118,.1) 0,transparent 60%),var(--bg)}.auth-card{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:2.5rem;width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.auth-card h1{font-size:22px;font-weight:800;margin-bottom:6px;color:var(--primary-dark)}.auth-card .auth-sub{font-size:13px;color:var(--text2);margin-bottom:2rem}.error-msg{background:var(--red-light);color:var(--red);border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;margin-bottom:1rem;border:1px solid #fca5a5}.reports-list{display:flex;flex-direction:column;gap:6px}.report-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.9rem 1.25rem;cursor:pointer;transition:background .13s,box-shadow .13s;box-shadow:var(--shadow-sm)}.report-item:hover{background:var(--primary-xlight);box-shadow:var(--shadow-md)}.report-item .ri-name{font-size:14px;font-weight:600}.report-item .ri-meta{font-size:11px;color:var(--text2);margin-top:3px}.upgrade-banner{background:var(--primary-xlight);border:1px solid var(--primary-mid);border-radius:var(--radius-sm);color:var(--primary-dark);display:flex;align-items:center;justify-content:space-between;gap:1rem}.limit-banner,.upgrade-banner{padding:10px 16px;font-size:12px;font-weight:500;margin-bottom:1rem}.limit-banner{background:var(--amber-light);border:1px solid #fcd34d;border-radius:var(--radius-sm);color:var(--amber)}.chat-messages{height:340px;overflow-y:auto;padding:1rem;border:1px solid var(--border);background:var(--primary-xlight);margin-bottom:1rem;display:flex;flex-direction:column;gap:8px}.chat-messages,.msg{border-radius:var(--radius-sm)}.msg{padding:10px 14px;font-size:13px;line-height:1.7;max-width:88%;white-space:pre-wrap;word-break:break-word}.msg-user{background:var(--primary);color:#fff;align-self:flex-end;border-radius:8px 8px 3px 8px}.msg-ai{background:var(--surface);border:1px solid var(--border);border-radius:8px 8px 8px 3px}.msg-ai,.msg-loading{align-self:flex-start}.msg-loading{color:var(--text2);font-style:italic}.chat-input-row{display:flex;gap:8px}