/* Copyright (c) 2026 Biotech-AI LLC. All rights reserved. */
:root{
  --bg:#f4f7fb;
  --panel:#ffffff;
  --ink:#172033;
  --muted:#5d6b82;
  --line:#dce4ef;
  --primary:#214d7a;
  --primary-2:#2d6f9f;
  --accent:#1590a8;
  --warn:#b66b00;
  --danger:#b42318;
  --success:#147a4d;
  --soft:#edf5fb;
  --shadow:0 18px 45px rgba(25,42,70,.12);
  --radius:18px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:linear-gradient(135deg,#eef4fb 0%,#f8fbff 55%,#edf7f8 100%);}
body{min-height:100vh;display:flex;flex-direction:column}
.topbar{height:76px;background:#0f2338;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 28px;box-shadow:0 8px 30px rgba(11,26,43,.25);position:sticky;top:0;z-index:10}
.brand-block{display:flex;align-items:center;gap:14px}.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#2c80b8,#16a0b7);display:grid;place-items:center;font-weight:800;letter-spacing:.5px}.brand{font-weight:800;font-size:18px}.subtitle{font-size:13px;color:#bed5e8;margin-top:2px}.userbox{display:flex;align-items:center;gap:14px;font-size:14px}.logout{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.35);padding:9px 13px;border-radius:12px}.logout:hover{background:rgba(255,255,255,.12)}
.login-shell{width:100%;display:grid;place-items:center;padding:48px 20px;flex:1}.login-card{width:min(930px,100%);background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:32px}.login-logo{color:var(--primary);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:13px}.login-card h1{font-size:34px;margin:8px 0 10px}.warning{background:#fff6e7;color:#6c4200;border:1px solid #f3d69c;padding:14px 16px;border-radius:14px;line-height:1.45}.notice{background:#edf9f0;border:1px solid #b9e0c3;color:#0f683b;padding:12px;border-radius:12px}.error{background:#fff1f0;border:1px solid #ffc9c4;color:#9d1a12;padding:12px;border-radius:12px}.login-form{display:flex;flex-direction:column;gap:16px}.agreement-box{border:1px solid #cfdbea;background:#f8fbff;border-radius:18px;padding:18px;line-height:1.45}.agreement-box h2{margin:0 0 8px}.check{display:flex;align-items:flex-start;gap:10px;margin:10px 0}.check input{margin-top:3px;transform:scale(1.05)}
.app-shell{width:min(1440px,100%);margin:0 auto;padding:26px;flex:1}.hero{background:linear-gradient(135deg,#143c63,#1f7790);color:white;border-radius:26px;padding:28px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);gap:20px}.hero h1{font-size:34px;margin:0 0 8px}.hero p{margin:0;color:#d8edf7;max-width:760px}.hero-badge{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:16px;border-radius:18px;min-width:230px}.hero-badge span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#c8edf5}.hero-badge strong{display:block;margin-top:4px}.research-banner{margin:18px 0;background:#fff8e9;border:1px solid #f0cf8c;color:#684400;padding:14px 18px;border-radius:16px}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:20px;align-items:start}.panel{background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.form-panel{overflow:hidden}.results-panel{padding:20px;position:sticky;top:98px}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:#eaf1f8;border-bottom:1px solid var(--line)}.tab{border:0;background:transparent;padding:16px 12px;font-weight:800;color:#4a5a70;cursor:pointer;border-bottom:3px solid transparent;font-size:15px;white-space:nowrap}.tab.active{background:white;color:var(--primary);border-bottom-color:var(--accent)}.tab:focus{outline:3px solid rgba(21,144,168,.18);outline-offset:-3px}.tab-page{display:none;padding:22px}.tab-page.active{display:block}.tab-page h2{margin:0 0 18px;color:#1d3854}.field-row{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;align-items:center;margin:12px 0}.field-row>label:first-child{font-weight:800;color:#263c55;text-align:right}.login-row{grid-template-columns:220px minmax(0,1fr)}.login-row>label{text-align:right;font-weight:800}input[type="text"],input[type="password"],input[type="number"],select{width:100%;border:1px solid #cbd8e7;border-radius:12px;padding:12px 13px;font-size:15px;background:white;color:var(--ink)}select{min-height:44px}.switch-line{display:flex!important;gap:10px;align-items:center;background:#f6f9fd;border:1px solid #dce6f2;padding:12px;border-radius:12px;text-align:left!important;font-weight:600!important;color:var(--ink)!important}.section-label{font-weight:800;margin:18px 0 10px;color:#384d64;background:#f3f8fc;border:1px solid #dce7f2;border-radius:12px;padding:12px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric-grid label{font-weight:800;color:#2c4057;background:#f6f9fd;border:1px solid #dde8f2;padding:12px;border-radius:14px}.metric-grid input{margin-top:8px}.metric-grid span{display:block;color:var(--muted);font-weight:600;font-size:12px;margin-top:4px}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.check-card{display:flex;gap:12px;align-items:flex-start;border:1px solid #dce6f2;background:#f9fbfe;border-radius:14px;padding:14px;min-height:72px}.check-card b{color:var(--primary)}.check-card.danger{background:#fff8f7;border-color:#ffd4cf}.check-card input{margin-top:4px;transform:scale(1.08)}.action-row{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.primary-btn,.secondary-btn{border:0;border-radius:14px;padding:13px 18px;font-weight:900;cursor:pointer;font-size:15px}.primary-btn{background:linear-gradient(135deg,var(--primary),var(--accent));color:white;box-shadow:0 10px 22px rgba(33,77,122,.22)}.primary-btn:hover{filter:brightness(1.05)}.secondary-btn{background:#eef4fa;color:#23405c;border:1px solid #d3deea}.secondary-btn:disabled{opacity:.55;cursor:not-allowed}.result-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.result-topline h2{margin:0}.status-pill{display:inline-flex;padding:8px 11px;border-radius:999px;font-weight:900;font-size:12px;background:#eef2f6;color:#495c72}.status-pill.good{background:#e9f8f1;color:var(--success)}.status-pill.warn{background:#fff5df;color:#936000}.status-pill.danger{background:#fff1ef;color:var(--danger)}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.tile{background:#f4f8fc;border:1px solid #dce6f2;border-radius:14px;padding:12px;text-align:center}.tile span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.tile strong{display:block;margin-top:4px;font-size:18px;color:#1d3854}.output{border:1px solid #dce6f2;background:#fbfdff;border-radius:16px;padding:16px;min-height:170px;line-height:1.45}.output.empty{color:var(--muted)}.output h3{margin:0 0 8px;font-size:20px}.output .summary{font-size:17px;font-weight:900;margin-bottom:10px}.output ul{margin:8px 0 0 20px;padding:0}.tagline{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.tag{padding:6px 9px;border-radius:999px;background:#eef4fa;color:#27435f;font-weight:800;font-size:12px}.tag.good{background:#e8f8ef;color:var(--success)}.tag.warn{background:#fff3d8;color:#915d00}.tag.danger{background:#ffefed;color:var(--danger)}.diagram{margin:16px 0;padding:16px;background:linear-gradient(180deg,#f7fbff,#eef6fa);border:1px solid #dce6f2;border-radius:18px;text-align:center}.node{background:white;border:2px solid #d7e3ee;border-radius:16px;padding:12px;margin:0 auto;max-width:310px;box-shadow:0 8px 18px rgba(20,42,66,.08);transition:.2s}.node b{display:block}.node small{display:block;color:var(--muted);margin-top:3px}.node.active{border-color:var(--primary-2);box-shadow:0 0 0 4px rgba(45,111,159,.12),0 8px 18px rgba(20,42,66,.08)}.node.good{border-color:var(--success);background:#f3fcf7}.node.warn{border-color:var(--warn);background:#fffaf0}.node.danger{border-color:var(--danger);background:#fff6f5}.arrow{color:#6f8298;font-weight:900;padding:5px 0}footer{padding:16px 26px;color:#5b6878;font-size:12px;text-align:center}
@media (max-width:1000px){.dashboard-layout{grid-template-columns:1fr}.results-panel{position:static}.hero{flex-direction:column;align-items:flex-start}.metric-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){.topbar{height:auto;align-items:flex-start;gap:12px;flex-direction:column;padding:16px}.app-shell{padding:16px}.tabs{grid-template-columns:1fr}.field-row,.login-row{grid-template-columns:1fr;gap:7px}.field-row>label:first-child,.login-row>label{text-align:left}.checkbox-grid,.metric-grid{grid-template-columns:1fr}.tiles{grid-template-columns:1fr}.login-card{padding:22px}.hero h1{font-size:26px}}
.field-help{margin:7px 0 0;color:#64748b;font-size:12.5px;line-height:1.35}.field-help strong{color:#854d0e}
