:root{color:#17211d;background:#f4f6f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0}.loading,.login{place-items:center;min-height:100vh;display:grid}.login{background:linear-gradient(#101c1894,#101c1875),url(https://images.unsplash.com/photo-1584225064785-c62a8b43d148?auto=format&fit=crop&w=1800&q=80) 50%/cover}.loginPanel{background:#fffffff0;border:1px solid #dfe5d8;border-radius:8px;width:min(420px,100vw - 32px);padding:28px}.brandMark{color:#123c36;align-items:center;gap:10px;font-size:1.18rem;font-weight:800;display:flex}.loginForm{gap:16px;margin-top:26px;display:grid}.loginForm label{color:#536059;gap:6px;font-size:.84rem;display:grid}.loginForm input,.logForm input,.logForm select,.sectionHead select{background:#fff;border:1px solid #cdd7c9;border-radius:6px;min-height:42px;padding:0 12px}.loginForm button,.logForm button,.iconButton{color:#fff;background:#123c36;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;display:inline-flex}.formError{color:#b42318;margin:0}.app{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:#fff;border-right:1px solid #dfe5d8;flex-direction:column;gap:26px;padding:22px 16px;display:flex}.sidebar nav{gap:8px;display:grid}.sidebar button{color:#435049;text-align:left;background:0 0;border-radius:6px;align-items:center;gap:10px;min-height:42px;padding:0 12px;display:flex}.sidebar button.active{color:#123c36;background:#e4eee7;font-weight:700}.logout{margin-top:auto}.content{min-width:0;padding:28px}.kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:28px;display:grid}.kpi{background:#fff;border:1px solid #dfe5d8;border-radius:8px;gap:8px;padding:18px;display:grid}.kpi span,.vessel p,.sectionHead p{color:#5c6760;margin:0}.kpi strong{color:#123c36;font-size:1.7rem}.sectionHead{justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px;display:flex}.sectionHead h1{margin:0 0 6px;font-size:1.7rem}.vesselGrid{grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;display:grid}.vessel{background:#fff;border:1px solid #dfe5d8;border-left:6px solid #5a8b69;border-radius:8px;flex-direction:column;justify-content:space-between;min-height:198px;padding:16px;display:flex}.vessel header{justify-content:space-between;gap:10px;display:flex}.vessel h2{margin:0 0 3px;font-size:1.2rem}.badge,.pill{color:#44524a;white-space:nowrap;background:#e9ece7;border-radius:999px;justify-content:center;align-items:center;height:26px;padding:0 9px;font-size:.78rem;display:inline-flex}.readings{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.readings span{gap:4px;display:grid}.readings small{color:#69746e}.readings strong{font-size:1.1rem}.vessel footer{color:#69746e;align-items:center;gap:7px;font-size:.86rem;display:flex}.severity-critical{border-left-color:#b42318}.severity-high{border-left-color:#d47d12}.severity-medium{border-left-color:#b59520}.severity-normal{border-left-color:#5a8b69}.pill.severity-critical{color:#912018;background:#fee4e2}.pill.severity-high{color:#9a4d00;background:#ffead5}.pill.severity-medium{color:#7a5c00;background:#fff4c6}.table{gap:10px;display:grid}.alertRow,.recipeRow,.logRow{background:#fff;border:1px solid #dfe5d8;border-radius:8px;grid-template-columns:110px 90px 160px minmax(220px,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.alertRow p,.logRow p{margin:0}.rowActions{gap:6px;display:flex}.rowActions button{color:#25322d;background:#edf1ea;border-radius:6px;place-items:center;width:34px;height:34px;display:grid}.recipeRow{grid-template-columns:minmax(160px,1.3fr) minmax(220px,2fr) repeat(3,minmax(90px,.7fr))}.logForm{grid-template-columns:110px 110px minmax(180px,1fr) minmax(180px,1fr) 76px;gap:10px;margin-bottom:14px;display:grid}.logRow{grid-template-columns:90px 80px minmax(220px,1fr) 160px}@media (width<=1100px){.vesselGrid{grid-template-columns:repeat(2,minmax(220px,1fr))}.alertRow,.recipeRow,.logRow,.logForm{grid-template-columns:1fr}}@media (width<=760px){.app{grid-template-columns:1fr}.sidebar{z-index:2;border-bottom:1px solid #dfe5d8;border-right:0;position:sticky;top:0}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:18px}.kpis,.vesselGrid{grid-template-columns:1fr}.sectionHead{flex-direction:column;align-items:stretch}}
