:root{--g:#0f766e;--g2:#0b4f4a;--gd:#062925;--bg:#f6faf9;--c:#fff;--t:#16302d;--m:#64807c;--b:#dde8e6}
@media(prefers-color-scheme:dark){:root{--bg:#0c1716;--c:#142220;--t:#e4efed;--m:#8fa8a4;--b:#243a37}}
*{box-sizing:border-box}[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;font:16px/1.65 system-ui,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--t)}
a{color:inherit}.muted{color:var(--m)}
/* Navbar */
.nb{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:22px;padding:10px 5%;background:color-mix(in srgb,var(--c) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--b)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;font-size:18px;color:var(--g);line-height:1.1}
.brand small{display:block;font-size:11px;font-weight:500;color:var(--m)}
.lg{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--g),#14b8a6);font-size:20px}
.nb nav{margin-left:auto;display:flex;gap:20px}.nb nav a{text-decoration:none;font-size:14px;font-weight:500;color:var(--m)}.nb nav a:hover{color:var(--g)}
.btn{display:inline-block;font:inherit;font-weight:600;border:1px solid var(--b);background:var(--c);color:var(--t);padding:8px 18px;border-radius:10px;cursor:pointer;text-decoration:none;transition:.15s}
.btn.pri{background:var(--g);color:#fff;border-color:var(--g)}.btn.pri:hover{background:var(--g2);transform:translateY(-1px)}
.btn.big{padding:12px 26px}.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}.btn.ghost:hover{background:rgba(255,255,255,.12)}
/* Hero */
.hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(1200px 500px at 80% 0,#0f9488 0,transparent 60%),linear-gradient(135deg,var(--gd),var(--g2) 60%,#0d7a70);padding:84px 5% 90px}
.mol{position:absolute;inset:0;opacity:.18;background-image:radial-gradient(circle,#5eead4 1.6px,transparent 2px),linear-gradient(60deg,transparent 48%,rgba(94,234,212,.5) 49%,transparent 51%);background-size:46px 46px,92px 92px;mask-image:linear-gradient(90deg,transparent,#000 70%)}
.hw{position:relative;max-width:1200px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.eb{display:inline-block;padding:4px 14px;border-radius:99px;background:rgba(255,255,255,.14);font-size:13px;font-weight:600;letter-spacing:.04em}
.eb.dk{background:rgba(15,118,110,.12);color:var(--g)}
.hero h1{font-size:clamp(32px,5vw,54px);line-height:1.1;margin:16px 0}.hero h1 em{font-style:normal;color:#5eead4;display:block}
.hero p{max-width:540px;opacity:.9;font-size:17px}.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.hc{position:relative;display:grid;justify-items:center}
.flask{width:150px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.3));animation:fl 5s ease-in-out infinite}
@keyframes fl{50%{transform:translateY(-10px) rotate(2deg)}}
.glass{width:100%;max-width:340px;margin-top:-26px;padding:20px 22px;border-radius:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(8px)}
.glass small{opacity:.8}.glass p{margin:6px 0 0;font-size:14px}
.big-n{font-size:54px;font-weight:800;line-height:1}.big-n span{font-size:24px}
.bar{height:8px;border-radius:9px;background:rgba(128,128,128,.25);overflow:hidden;margin:10px 0 4px}.bar i{display:block;height:100%;border-radius:9px;background:var(--ac,#2dd4bf)}
/* Strip */
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;max-width:1000px;margin:-36px auto 0;position:relative;z-index:2;background:var(--b);border:1px solid var(--b);border-radius:16px;overflow:hidden;box-shadow:0 14px 36px rgba(6,41,37,.14)}
.strip div{background:var(--c);padding:18px;text-align:center;font-size:13px;color:var(--m)}.strip b{display:block;font-size:30px;color:var(--g)}
/* Sections */
.sec{padding:76px 5%;max-width:1200px;margin:auto}.sec.alt{max-width:none;background:linear-gradient(180deg,rgba(15,118,110,.06),rgba(15,118,110,.02))}.sec.alt .in{max-width:1200px;margin:auto}
.sh{margin-bottom:26px}.sh h2{margin:10px 0 0;font-size:clamp(22px,3vw,32px);letter-spacing:-.01em}
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}.rv.in{opacity:1;transform:none}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.box,.lc,.det{background:var(--c);border:1px solid var(--b);border-radius:16px;padding:20px}
.box{transition:.2s}.box:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(6,41,37,.1)}
.box .ic{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:12px;background:rgba(15,118,110,.1);font-size:24px}
.box h3{margin:10px 0 4px;font-size:17px}.box p{margin:0 0 8px;color:var(--m);font-size:14px}.box small{color:var(--m);display:block}
.tl{border-left:5px solid var(--ac)}
/* Tabs laboratorium */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;padding:6px;background:var(--c);border:1px solid var(--b);border-radius:14px;width:fit-content;max-width:100%}
.tabs button{font:inherit;font-weight:600;font-size:14px;border:0;background:transparent;color:var(--m);padding:9px 16px;border-radius:10px;cursor:pointer;transition:.15s}
.tabs button:hover{color:var(--t)}.tabs button.on{background:var(--ac,var(--g));color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.18)}
.lc{text-align:left;font:inherit;color:inherit;cursor:pointer;border-top:4px solid var(--ac);transition:.2s}
.lc:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(6,41,37,.12)}
.lc .ic{font-size:30px}.lc h3{margin:6px 0 2px}.lc p{margin:0 0 6px;font-size:14px;color:var(--m)}.lc small{color:var(--ac);font-weight:700}
.det{display:flex;gap:26px;align-items:center;flex-wrap:wrap;border-top:4px solid var(--ac)}
.ring{position:relative;width:110px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--ac) calc(var(--p)*1%),var(--b) 0);flex-shrink:0}
.ring::after{content:attr(data-v);position:absolute;inset:11px;border-radius:50%;background:var(--c);display:grid;place-items:center;font-size:22px;font-weight:800;color:var(--ac)}
.dt{flex:1;min-width:240px}.dt h3{margin:0 0 4px;font-size:22px}.dt p{margin:0 0 10px;color:var(--m)}
.meta{display:flex;gap:18px;flex-wrap:wrap;font-size:14px;margin-bottom:10px}.chips{display:flex;gap:8px;flex-wrap:wrap}
.flt{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:18px 0 12px}
input,select{font:inherit;color:inherit;background:var(--c);border:1px solid var(--b);border-radius:10px;padding:10px 14px}
input:focus,select:focus{outline:2px solid var(--g);border-color:var(--g)}.flt input{flex:1;min-width:220px}
.tw{background:var(--c);border:1px solid var(--b);border-radius:14px;overflow:auto}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--b)}
th{background:rgba(15,118,110,.07);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--m);white-space:nowrap}
tbody tr:hover td{background:rgba(15,118,110,.04)}tr:last-child td{border-bottom:0}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px}
.badge{padding:3px 11px;border-radius:99px;font-size:12px;font-weight:700;white-space:nowrap}
.badge.ok{background:#dcfce7;color:#166534}.badge.warn{background:#fef3c7;color:#92400e}.badge.bad{background:#fee2e2;color:#991b1b}
/* K3 & alur */
.k3 div{background:var(--c);border:1px solid var(--b);border-radius:16px;padding:20px}.k3 span{font-size:30px}.k3 b{display:block;margin:6px 0 2px}.k3 p{margin:0;color:var(--m);font-size:14px}
.steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;padding:0;margin:0}
.steps li{counter-increment:s;position:relative;background:var(--c);border:1px solid var(--b);border-radius:16px;padding:44px 18px 18px}
.steps li::before{content:counter(s);position:absolute;top:-14px;left:18px;width:34px;height:34px;border-radius:50%;background:var(--g);color:#fff;display:grid;place-items:center;font-weight:800}
.steps b{display:block}.steps span{font-size:14px;color:var(--m)}
/* Footer */
footer{background:var(--gd);color:#b7d4d0;padding:44px 5% 22px;font-size:14px}
.fw{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px;margin-bottom:24px}
.fw b{color:#fff}.fw p{margin:6px 0 0}.fw a{text-decoration:none}.fw a:hover{color:#5eead4}
footer>small{display:block;max-width:1200px;margin:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.12)}
@media(max-width:860px){.hw{grid-template-columns:1fr}.hc{order:-1}.nb nav{display:none}.nb .btn{margin-left:auto}.hero{padding:56px 5% 80px}}
/* Login */
.loginbg{min-height:100vh;display:grid;place-items:center;padding:16px;background:radial-gradient(900px 500px at 80% 0,#0f9488,transparent 60%),linear-gradient(135deg,var(--gd),var(--g2))}
.loginbox{background:var(--c);width:min(410px,100%);padding:32px 30px;border-radius:20px;display:grid;gap:14px;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.loginbox h1{margin:0;font-size:25px}.loginbox .logo{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,var(--g),#14b8a6);display:grid;place-items:center;font-size:30px}
.loginbox p{margin:-8px 0 0}.loginbox label{display:grid;gap:5px;font-size:13px;font-weight:600}.loginbox input{width:100%}.loginbox .btn{padding:11px}
.back{font-size:13px;color:var(--m);text-decoration:none}.alert{background:#fee2e2;color:#991b1b;padding:10px 12px;border-radius:10px;font-size:14px}
details{font-size:13px;color:var(--m)}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}