:root{
  --green:#00412E;
  --sage:#96BF8A;
  --mist:#E8EAE5;
  --white:#FFFFFF;
  --ink:#15231e;
  --muted:#6c7c74;
  --danger:#b3261e;
  --warning:#a66b00;
  --shadow:0 18px 55px rgba(0,65,46,.12);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--mist);color:var(--ink)}
a{color:inherit}
button,input{font:inherit}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:
 radial-gradient(circle at 18% 15%,rgba(150,191,138,.38),transparent 25%),
 linear-gradient(140deg,#003c2b 0%,#00412e 54%,#0d4d3a 100%)}
.auth-card{width:min(1050px,100%);min-height:620px;display:grid;grid-template-columns:1.08fr .92fr;background:rgba(255,255,255,.97);border-radius:30px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.28)}
.auth-brand{position:relative;padding:54px;background:#f5f7f4;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.auth-brand:after{content:"";position:absolute;width:530px;height:530px;border-radius:50%;background:var(--sage);opacity:.13;right:-230px;bottom:-260px}
.brand-logo{width:min(500px,100%);height:auto;object-fit:contain;object-position:left center;position:relative;z-index:1}
.brand-emblem{width:210px;height:210px;object-fit:contain;border-radius:28px;position:relative;z-index:1;mix-blend-mode:multiply}
.brand-copy{position:relative;z-index:1}
.brand-copy h2{font-size:36px;color:var(--green);margin:18px 0 8px}
.brand-copy p{font-size:18px;color:var(--muted);line-height:1.6;max-width:520px}
.auth-form{padding:64px 60px;display:flex;flex-direction:column;justify-content:center;background:var(--white)}
.auth-form h1{margin:0 0 8px;font-size:42px;color:var(--green)}
.auth-form .sub{color:var(--muted);font-size:17px;margin:0 0 32px}
.field{display:block;margin:0 0 18px}
.field span{display:block;font-weight:700;color:var(--green);margin-bottom:8px}
.field input{width:100%;border:1px solid #cfd8d2;background:#fbfcfb;border-radius:13px;padding:15px 16px;outline:none;transition:.2s}
.field input:focus{border-color:var(--sage);box-shadow:0 0 0 4px rgba(150,191,138,.22)}
.btn{border:0;border-radius:13px;background:var(--green);color:white;font-weight:800;padding:15px 18px;cursor:pointer;transition:.2s}
.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn.secondary{background:var(--white);border:1px solid var(--green);color:var(--green)}
.alert{border-radius:12px;padding:13px 15px;margin:0 0 18px;background:#fff2f1;border:1px solid #efc4c0;color:var(--danger)}
.note{color:var(--muted);font-size:14px;line-height:1.5;margin-top:18px}
.otp-box{display:flex;gap:10px;margin:12px 0 24px}
.otp-box input{text-align:center;font-size:28px;font-weight:800;letter-spacing:9px}
.app{min-height:100vh;display:grid;grid-template-columns:260px 1fr}
.sidebar{background:var(--green);color:white;padding:26px 20px;display:flex;flex-direction:column;min-height:100vh}
.sidebar .logo{width:100%;max-height:86px;object-fit:contain;object-position:left center;margin-bottom:34px}
.nav{display:flex;flex-direction:column;gap:8px}
.nav a{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;text-decoration:none;color:#e7f0eb}
.nav a.active,.nav a:hover{background:rgba(255,255,255,.12);color:white}
.side-footer{margin-top:auto;padding-top:28px;font-size:14px;color:#c7d8cf}
.main{padding:30px 34px 48px;background:#f5f6f4}
.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}
.topbar h1{margin:0;color:var(--green);font-size:32px}
.user-chip{background:white;border:1px solid #dce3de;border-radius:999px;padding:9px 14px;font-size:14px}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.metric{background:white;border-radius:18px;padding:20px;box-shadow:0 8px 26px rgba(0,65,46,.06);border:1px solid #e4e8e5}
.metric small{color:var(--muted);font-weight:700}
.metric strong{display:block;font-size:30px;margin-top:8px;color:var(--green)}
.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-top:18px}
.panel{background:white;border:1px solid #e2e7e3;border-radius:20px;padding:22px;box-shadow:0 8px 26px rgba(0,65,46,.05)}
.panel h3{margin:0 0 16px;color:var(--green)}
.device-list{display:grid;gap:12px}
.device{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:15px;border:1px solid #e4e8e5;border-radius:14px}
.device .name{font-weight:800}
.device .meta{color:var(--muted);font-size:14px;margin-top:3px}
.pill{font-size:12px;font-weight:800;border-radius:999px;padding:6px 10px;background:#eef4ed;color:var(--green)}
.pill.warn{background:#fff5db;color:var(--warning)}
.empty{padding:28px;border:1px dashed #c9d2cc;border-radius:14px;text-align:center;color:var(--muted)}
.chart{height:180px;display:flex;align-items:flex-end;gap:12px;padding:20px 6px 4px}
.chart span{flex:1;background:linear-gradient(180deg,var(--sage),var(--green));border-radius:10px 10px 4px 4px;min-height:18px}
.setup-shell{max-width:820px;margin:34px auto;background:white;border-radius:22px;padding:30px;box-shadow:var(--shadow)}
.setup-shell .logo{max-width:440px;width:100%;height:auto}
.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
hr{border:0;border-top:1px solid #e1e6e2;margin:28px 0}
@media(max-width:900px){
  .auth-card{grid-template-columns:1fr}
  .auth-brand{display:none}
  .auth-form{padding:40px 28px}
  .app{grid-template-columns:1fr}
  .sidebar{min-height:auto}
  .metrics{grid-template-columns:1fr 1fr}
  .grid-2{grid-template-columns:1fr}
}
@media(max-width:600px){
  .metrics,.setup-grid{grid-template-columns:1fr}
  .main{padding:22px 16px}
  .auth-shell{padding:12px}
}
