*{box-sizing:border-box;margin:0;padding:0}:root{--teal:#2a7f7f;--teal-dark:#1f6060;--teal-light:#d4eaea;--ochre:#c8922a;--ochre-light:#fdf3e3;--terra:#c0614a;--terra-light:#fdecea;--cream:#f5f0e8;--text:#2d2d2d;--text-secondary:#6b6b6b;--text-light:#9b9b9b;--border:#e0d8cc;--border-light:#ede7da;--bg:#f5f0e8;--bg-card:#fff}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:system-ui,-apple-system,sans-serif}.header{background:var(--teal);color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:1rem 1.5rem;display:flex}.header h1{font-size:16px;font-weight:500}.header span{opacity:.75;font-size:12px}.container{max-width:1200px;margin:0 auto;padding:1.5rem}.tabs{border-bottom:2px solid var(--border);flex-wrap:wrap;margin-bottom:1.5rem;display:flex}.tab{cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:9px 16px;font-family:inherit;font-size:13px}.tab.active{color:var(--teal);border-bottom-color:var(--teal);font-weight:600}.tab:hover:not(.active){color:var(--text)}.cards{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:1.5rem;display:grid}@media (width<=700px){.cards{grid-template-columns:repeat(2,1fr)}}.card{background:var(--bg-card);text-align:center;border:1px solid var(--border-light);border-radius:10px;padding:1rem;box-shadow:0 1px 3px #0000000a}.card-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:11px;font-weight:500}.card-value{font-size:24px;font-weight:600}.card-sub{color:var(--text-light);margin-top:4px;font-size:10px}.stitle{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-size:11px;font-weight:700}.tbl-wrap{border:1px solid var(--border);border-radius:10px;max-height:520px;overflow:auto;box-shadow:0 1px 3px #0000000a}table{border-collapse:collapse;background:var(--bg-card);width:100%;font-size:12px}th{background:var(--cream);text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border);z-index:2;padding:9px 8px;font-size:11px;font-weight:600;position:sticky;top:0}td{border-bottom:1px solid var(--border-light);vertical-align:middle;padding:8px}tr:hover td{background:var(--cream)}.badge{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge-gras{color:#fff;background:#2a7f7f}.badge-green{background:var(--teal-light);color:#085041}.badge-ctrl{color:#0f6e56;background:#e8f5f2}.badge-amber{background:var(--ochre-light);color:#7a5500}.badge-red{background:var(--terra-light);color:#7b1e1e}.badge-jf{background:var(--ochre-light);color:var(--ochre);border:1px solid #c8922a4d;border-radius:3px;padding:2px 6px;font-size:10px;font-weight:500}input[type=number].pill{text-align:center;border:1px solid var(--border);background:var(--bg-card);border-radius:4px;width:52px;padding:3px 5px;font-size:12px}.param-row{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:11px 0;font-size:13px;display:flex}.param-input{border:1px solid var(--border);text-align:right;background:var(--bg-card);border-radius:6px;width:80px;padding:6px 8px;font-size:13px}.info-box{background:var(--bg-card);border:1px solid var(--border-light);border-radius:10px;margin-bottom:1rem;padding:1rem;font-size:13px;line-height:1.75}.info-box.method{border-left:3px solid var(--teal)}code{background:var(--cream);color:var(--teal-dark);border-radius:3px;padding:2px 6px;font-size:12px}.btn{border:1px solid var(--border);cursor:pointer;background:var(--bg-card);color:var(--text);border-radius:6px;padding:7px 14px;font-family:inherit;font-size:12px}.btn:hover{background:var(--cream)}.btn-primary{background:var(--teal);color:#fff;border-color:var(--teal)}.btn-primary:hover{background:var(--teal-dark)}.iform{background:var(--bg-card);border:1px solid var(--border-light);border-radius:10px;margin-bottom:1rem;padding:1rem}.irow{grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:10px;margin-top:12px;display:grid}.irow input{border:1px solid var(--border);background:var(--bg-card);border-radius:6px;width:100%;padding:8px;font-size:13px}.irow label{color:var(--text-secondary);margin-bottom:4px;font-size:11px;font-weight:500;display:block}.tc{display:none}.tc.active{display:block}select.btn{height:34px}.ctog{gap:6px;margin-bottom:12px;display:flex}.ctog button{border:1px solid var(--border);cursor:pointer;background:var(--bg-card);color:var(--text-secondary);border-radius:5px;padding:5px 12px;font-family:inherit;font-size:11px;font-weight:500}.ctog button.active{background:var(--teal);color:#fff;border-color:var(--teal)}.legend{color:var(--text-secondary);flex-wrap:wrap;gap:16px;margin-top:10px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:flex}#login-overlay{background:var(--bg);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;width:90%;max-width:380px;padding:2rem;display:flex;box-shadow:0 4px 20px #00000014}.login-card h2{color:var(--teal);font-size:18px}.login-card p{color:var(--text-secondary);font-size:13px}.login-card input{border:1px solid var(--border);border-radius:6px;padding:9px;font-size:14px}#login-toggle{color:var(--teal);cursor:pointer;text-align:center;background:0 0;border:none;padding:2px;font-size:13px;text-decoration:underline}#login-fb{color:var(--text-secondary);min-height:16px;font-size:12px}#app-error{background:var(--terra);color:#fff;text-align:center;z-index:200;padding:8px 16px;font-size:13px;display:none;position:fixed;top:0;left:0;right:0}
