*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f5f4f0;--surface:#fff;--surface2:#f0eeea;--border:rgba(0,0,0,.1);--text:#1a1a18;--text2:#6b6b67;--teal:#0f6e56;--teal-light:#e1f5ee;--teal-mid:#1d9e75;--teal-dark:#085041;--amber:#854f0b;--amber-light:#faeeda;--red:#a32d2d;--red-light:#fcebeb;--blue:#185fa5;--blue-light:#e6f1fb;--green:#3b6d11;--green-light:#eaf3de;--font-body:"Segoe UI",system-ui,-apple-system,sans-serif;--font-heading:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;--radius-sm:6px;--radius-md:8px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 12px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04);--shadow-lg:0 10px 30px rgba(0,0,0,.1),0 4px 8px rgba(0,0,0,.05)}body,html{height:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}a.link{color:var(--teal);text-decoration:underline}.sidebar{width:224px;background:var(--surface);border-right:.5px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;height:100vh;box-shadow:var(--shadow-sm)}.logo{padding:1.25rem 1.25rem 1rem;border-bottom:.5px solid var(--border)}.logo-name{font-size:17px;font-weight:700;color:var(--teal);letter-spacing:-.5px;font-family:var(--font-heading)}.logo-sub{font-size:10px;color:var(--text2);margin-top:2px;line-height:1.4}.nav{padding:.75rem;flex:1 1;overflow-y:auto}.nav-section{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text2);padding:8px 8px 4px;margin-top:4px}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-md);cursor:pointer;font-size:13px;color:var(--text2);margin-bottom:1px;transition:background .15s,color .15s}.nav-item:hover{background:var(--surface2);color:var(--text)}.nav-item.active{background:var(--teal-light);color:var(--teal);font-weight:600;box-shadow:inset 2px 0 0 var(--teal)}.sidebar-footer{padding:.75rem 1.25rem;border-top:.5px solid var(--border)}.app-shell{height:100vh}.app-main,.app-shell{display:flex;overflow:hidden}.app-main{flex:1 1;flex-direction:column}.app-topbar{height:52px;border-bottom:.5px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;flex-shrink:0}.app-content{flex:1 1;overflow-y:auto;padding:1.75rem 2rem}.card{background:var(--surface);border:.5px solid var(--border);border-radius:12px;padding:1.25rem;box-shadow:var(--shadow-sm)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-bottom:1.25rem}.metric-card{background:var(--surface2);border-radius:var(--radius-md);padding:1rem}.metric-label{font-size:11px;color:var(--text2);margin-bottom:5px}.metric-value{font-size:22px;font-weight:500;font-family:var(--font-heading)}.metric-sub{font-size:10px;color:var(--text2);margin-top:3px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text2)}td,th{padding:9px 12px;border-bottom:.5px solid var(--border)}td{vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surface2)}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.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(--teal-light);color:var(--teal)}.search-bar{display:flex;gap:8px;margin-bottom:1rem}.search-input{flex:1 1;padding:8px 12px;border:.5px solid var(--border);border-radius:var(--radius-md);font-size:13px;background:var(--surface);outline:none;color:var(--text);transition:border-color .15s}.search-input:focus{border-color:var(--teal-mid)}button{padding:8px 16px;border:.5px solid var(--border);border-radius:var(--radius-md);font-size:13px;cursor:pointer;background:var(--surface);color:var(--text);transition:all .15s;font-family:inherit}button:hover:not(:disabled){background:var(--surface2);box-shadow:var(--shadow-sm)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 2px 8px rgba(15,110,86,.25)}button.primary:hover:not(:disabled){background:var(--teal-dark);box-shadow:0 4px 14px rgba(15,110,86,.35);transform:translateY(-1px)}button.secondary{background:var(--surface);color:var(--teal);border-color:var(--teal-mid)}button.secondary:hover:not(:disabled){background:var(--teal-light);box-shadow:var(--shadow-sm)}.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:5px}label{font-size:12px;font-weight:500;color:var(--text2)}input[type=email],input[type=number],input[type=password],input[type=text],select{padding:8px 10px;border:.5px solid var(--border);border-radius:var(--radius-md);font-size:13px;background:var(--surface);outline:none;color:var(--text);font-family:inherit;width:100%;transition:border-color .15s}input:focus,select:focus{border-color:var(--teal-mid)}textarea{padding:8px 10px;border:.5px solid var(--border);border-radius:var(--radius-md);font-size:13px;background:var(--surface);outline:none;color:var(--text);font-family:inherit;width:100%;resize:vertical;transition:border-color .15s}textarea:focus{border-color:var(--teal-mid)}.result-box{border-radius:var(--radius-md);padding:1rem;margin-bottom:1rem}.result-safe{background:var(--green-light);border:.5px solid #97c459}.result-warn{background:var(--amber-light);border:.5px solid #ef9f27}.result-danger{background:var(--red-light);border:.5px solid #f09595}.chat-messages{height:340px;overflow-y:auto;padding:1rem;border:.5px solid var(--border);background:var(--surface2);margin-bottom:1rem;display:flex;flex-direction:column;gap:8px}.chat-messages,.msg{border-radius:var(--radius-md)}.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(--teal);color:#fff;align-self:flex-end;border-radius:8px 8px 2px 8px}.msg-ai{background:var(--surface);border:.5px solid var(--border);border-radius:8px 8px 8px 2px}.msg-ai,.msg-loading{align-self:flex-start}.msg-loading{color:var(--text2);font-style:italic}.chat-input-row{display:flex;gap:8px}.alert-item{padding:12px;background:var(--surface);border-radius:0 var(--radius-md) var(--radius-md) 0;margin-bottom:8px;border:.5px solid var(--border);border-left:3px solid var(--teal-mid)}.alert-item.warn{border-left-color:#ef9f27}.alert-item.info{border-left-color:var(--blue)}.alert-date{font-size:10px;color:var(--text2);margin-bottom:3px;font-weight:500}.alert-title{font-size:13px;font-weight:500;margin-bottom:2px}.alert-desc{font-size:12px;color:var(--text2);line-height:1.5}.tabs{display:flex;gap:3px;margin-bottom:1.25rem;background:var(--surface2);padding:4px;border-radius:var(--radius-md);width:-moz-fit-content;width:fit-content}.tab{padding:6px 14px;border-radius:6px;font-size:12px;cursor:pointer;color:var(--text2);border:none;background:none;font-family:inherit;transition:background .15s,color .15s}.tab.active{background:var(--surface);color:var(--text);font-weight:500;box-shadow:var(--shadow-sm)}.divider{height:.5px;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)}.empty-state,.row-kv{display:flex;font-size:13px}.row-kv{justify-content:space-between;padding:7px 0;border-bottom:.5px solid var(--border)}.row-kv:last-child{border-bottom:none}.row-kv-key{color:var(--text2)}.row-kv-val{font-weight:500;font-family:monospace;font-size:12px}.page-header{margin-bottom:1.5rem}.page-header h2{font-size:20px;font-weight:600;font-family:var(--font-heading)}.page-header p{font-size:13px;color:var(--text2);margin-top:3px}.marketing-page{background:var(--bg);min-height:100vh}.marketing-nav{display:flex;align-items:center;justify-content:space-between;padding:.85rem 2rem;border-bottom:.5px solid var(--border);background:hsla(0,0%,100%,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:-webkit-sticky;position:sticky;top:0;z-index:100;box-shadow:0 1px 8px rgba(0,0,0,.05)}.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:5rem 2rem 2.5rem;background:radial-gradient(ellipse 80% 60% at 50% -5%,rgba(225,245,238,.7) 0,transparent 70%)}.hero h1{font-size:42px;font-weight:700;letter-spacing:-1.2px;margin-bottom:1rem;line-height:1.15;font-family:var(--font-heading)}.hero p{font-size:16px;color:var(--text2);max-width:560px;margin:0 auto 2rem;line-height:1.7}.hero-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hero-animated .hero-btns,.hero-animated h1,.hero-animated p{animation:heroFadeIn .65s ease both}.hero-animated h1{animation-delay:.05s}.hero-animated p{animation-delay:.15s}.hero-animated .hero-btns{animation-delay:.25s}.hero-mockup{margin:2.5rem auto 0;max-width:760px;border-radius:var(--radius-lg);border:.5px solid var(--border);box-shadow:var(--shadow-lg),0 0 0 1px rgba(0,0,0,.04);overflow:hidden;height:280px;background:var(--surface);animation:heroFadeIn .65s ease .35s both}.mockup-bar{height:34px;background:var(--surface2);border-bottom:.5px 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 3rem}.feature-card{background:var(--surface);border:.5px solid var(--border);border-radius:14px;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease;box-shadow:var(--shadow-sm)}.feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.feature-icon{width:36px;height:36px;border-radius:var(--radius-md);background:var(--teal-light);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:var(--teal)}.feature-card h3{font-size:14px;font-weight:600;margin-bottom:6px;font-family:var(--font-heading)}.feature-card p{font-size:13px;color:var(--text2);line-height:1.6}.section-title{text-align:center;font-size:28px;font-weight:700;letter-spacing:-.5px;margin-bottom:8px;font-family:var(--font-heading)}.section-sub{text-align:center;color:var(--text2);font-size:14px;margin-bottom:2.5rem}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.25rem;gap:1.25rem}.pricing-card{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:2rem;display:flex;flex-direction:column;transition:box-shadow .2s ease,transform .2s ease;box-shadow:var(--shadow-sm)}.pricing-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.pricing-card.featured{border-color:var(--teal-mid);box-shadow:0 0 0 2px var(--teal-light),var(--shadow-md);background:linear-gradient(180deg,rgba(225,245,238,.3) 0,var(--surface) 100%)}.pricing-card.featured:hover{box-shadow:0 0 0 2px var(--teal-mid),var(--shadow-lg)}.pricing-ribbon{position:absolute;top:18px;right:-8px;background:var(--amber);color:#fff;font-size:10px;font-weight:700;padding:3px 10px 3px 8px;border-radius:3px 0 0 3px;letter-spacing:.4px;box-shadow:var(--shadow-sm)}.pricing-ribbon:after{content:"";position:absolute;right:-8px;top:0;width:0;height:0;border-top:11px solid var(--amber);border-right:8px solid transparent;border-bottom:11px solid var(--amber)}.plan-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--teal);background:var(--teal-light);padding:3px 8px;border-radius:4px;width:-moz-fit-content;width:fit-content;margin-bottom:12px}.plan-name{font-size:18px;margin-bottom:4px}.plan-name,.plan-price{font-weight:700;font-family:var(--font-heading)}.plan-price{font-size:36px;letter-spacing:-1px;margin:8px 0 4px}.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:.5px solid var(--border);line-height:1.5}.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(--teal);font-weight:700;flex-shrink:0}.plan-features li.na{color:var(--text2)}.plan-features li.na:before{content:"—";color:var(--border);font-weight:400}.trust-section{text-align:center;padding:2rem 0 3rem;border-top:.5px solid var(--border)}.trust-section p{margin-top:8px}.footer,.trust-section p{font-size:12px;color:var(--text2)}.footer{border-top:.5px solid transparent;background:linear-gradient(to right,var(--teal) 0,var(--teal-mid) 50%,transparent 100%) no-repeat 0 0 /100% 1.5px,var(--surface);padding:2.5rem 2rem 1.5rem}.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:var(--bg)}.auth-card{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem;width:100%;max-width:400px;box-shadow:var(--shadow-md)}.auth-card h1{font-size:20px;font-weight:700;margin-bottom:6px;font-family:var(--font-heading)}.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-md);padding:10px 12px;font-size:13px;margin-bottom:1rem}.reports-list{display:flex;flex-direction:column;gap:8px}.report-item{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-md);padding:1rem 1.25rem;cursor:pointer;transition:background .15s,box-shadow .15s,transform .15s;box-shadow:var(--shadow-sm)}.report-item:hover{background:var(--surface2);box-shadow:var(--shadow-md);transform:translateY(-1px)}.report-item .ri-name{font-size:14px;font-weight:500}.report-item .ri-meta{font-size:11px;color:var(--text2);margin-top:3px}.upgrade-banner{background:var(--teal-light);border:.5px solid var(--teal-mid);border-radius:var(--radius-md);color:var(--teal);display:flex;align-items:center;justify-content:space-between;gap:1rem}.limit-banner,.upgrade-banner{padding:10px 14px;font-size:12px;margin-bottom:1rem}.limit-banner{background:var(--amber-light);border:.5px solid #ef9f27;border-radius:var(--radius-md);color:var(--amber)}