:root{
  --bg:#0f131a;
  --panel:#151b24;
  --card:#161d27;
  --muted:#7d8b9f;
  --text:#e7eefc;
  --primary:#0073c5;
  --danger:#ff4d4f;
  --radius:16px;
  --shadow:0 10px 30px rgba(0, 37, 61, 0.315);
  --border:1px solid rgba(255, 255, 255, 0.059);
}

*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}



.login-bg{display:flex;align-items:center;justify-content:center;padding:32px}
.login-card{background:var(--panel);padding:32px;border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:420px}
.login-card h1{margin:0 0 16px}
.alert{background:#1f2835;border:var(--border);padding:10px 14px;border-radius:10px;margin:10px 0;color:#c7d6ef}
.form{display:grid;gap:10px}
.form-inline{display:flex;gap:10px;flex-wrap:wrap}
.form label{font-size:12px;color:var(--muted)}
.form input,.form select{background:#0e131b;border:var(--border);color:var(--text);padding:10px 12px;border-radius:10px;outline:none}
.btn{border:0;border-radius:12px;padding:10px 14px;cursor:pointer}
.btn-primary{background:var(--primary);color:#cfe2ff;box-shadow: 0px 0px 19px 7px rgba(0, 145, 255, 0.11)}
.btn-danger{background:var(--danger);color:#fff;justify-content:center;box-shadow: 0px 0px 19px 7px rgba(255, 0, 0, 0.151)}
.btn-sm{padding:6px 10px;border-radius:10px}
.hint{color:var(--muted);font-size:12px}


a.btn-link { text-decoration: none !important; }
a.btn-link { 
  display: inline-flex;
  text-decoration: none !important;
  align-items: center;
}
a.btn-link.btn-sm {  }

a.btn,
a.btn-sm,
a.btn-primary,
a.btn-secondary,
a.btn-danger {
  text-decoration: none !important;  
  display: inline-flex;           
  align-items: center;
}

a.btn:hover,
a.btn:focus,
a.btn:active {
  text-decoration: none !important;
}

a.btn, a.btn-sm, a.btn-primary, a.btn-secondary, a.btn-danger {
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease, 
              background-color .12s ease, border-color .12s ease;
}

.btn,
.btn-sm,
.btn-primary,
.btn-secondary,
.btn-danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle; 
  vertical-align: middle;
  gap: 6px;
  text-decoration: none;        
  cursor: pointer;
  transition: transform .12s ease,
              box-shadow .12s ease,
              filter .12s ease,
              background-color .12s ease,
              border-color .12s ease;
}


a.btn { text-decoration: none !important; }


.btn:hover,
.btn:focus {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
  filter: brightness(1.08);
  text-decoration: none; 
}


.btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 10px rgba(0,0,0,.18);
  filter: brightness(.96);
}


.btn:focus-visible {
  outline: 2px solid #22d3ee; 
  outline-offset: 2px;
}


.btn-primary:hover   { background-color: #1b5bb3; border-color: #1b5bb3; }
.btn-secondary:hover { background-color: #2a3340; border-color: #2a3340; }
.btn-danger:hover    { background-color: #b42525; border-color: #b42525; }


.btn:disabled,
.btn.disabled {
  opacity: .6;
  pointer-events: none;
  box-shadow: none;
  transform: none;
  filter: none;
}







.app{display:flex;min-height:100%}
.sidebar{width:240px;background: url('/assets/img/background.jpg');border-right:var(--border);display: inline-flex;gap: 5px;flex-direction:column;position:sticky;top:0;height:100vh}
.brand{padding:18px 20px;font-weight:700;font-size:18px;border-bottom:var(--border)}
.nav-link{border-radius: 20px;display:block;padding:12px 18px;color:#cfe2ff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.01)}
.nav-link:hover,.nav-link.active{background: #0073c58f;background: linear-gradient(90deg,rgba(0, 115, 197, 0.74) 1%, rgba(11, 15, 21, 1) 90%)}
.sidebar-foot{margin-top:auto;padding:12px 18px;color:var(--muted);border-top:var(--border)}
.nav-divider {
    height: 2px;          
    background: #0073C5;
    background: linear-gradient(90deg,rgba(0, 115, 197, 0.74) 1%, rgba(255, 255, 255, 0.089) 100%);
    margin: 5px 5;     
    border-radius: 20px;
}


.main{flex:1;padding:24px}
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.topbar h1 {display: flex;align-items: center;gap: 10px;}
.topbar-logo {height: 28px;width: 28px;}

.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px;gap:16px}
.card{background:var(--card);border:var(--border);border-radius:var(--radius);margin-top:18px;padding:16px;box-shadow:var(--shadow)}
.card-title{color:var(--muted);font-size:12px}
.card-value{font-size:24px;font-weight:700;margin-top:6px}

.panel{background:var(--panel);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:18px;margin-bottom:18px}
.panel-head{padding:14px 16px;border-bottom:var(--border)}
.panel-body{padding:16px}

.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px solid rgba(255, 253, 253, 0.06);padding:10px 8px;text-align:left}
.table th{color:var(--muted);font-weight:600;font-size:12px}

.table input,.form select{background:#0e131b;border:var(--border);color:var(--text);padding:10px 12px;border-radius:10px;outline:none}

textarea {
  background: #2a2a2a;
  color: #fff;
  border: 1px solid #555;
}


.pagination {
    margin-top:10px;
    display:flex;
    gap:5px;
}
.pagination a {
    padding:5px 10px;
    border:1px solid #003c66;
    background:#003c66;
    color:#fff;
    text-decoration:none;
    border-radius:8px;
}
.pagination a.active {
    background:#008bee;
    color:#fff;
    border-color:#00c2db;
    border-radius:8px;
    box-shadow: 0px 0px 19px 7px rgba(0, 145, 255, 0.233)
}

.form textarea {
  background:#0e131b;
  border:var(--border);
  color:var(--text);
  padding:10px 12px;
  border-radius:10px;
  outline:none;
  font-family:inherit;
  font-size:14px;
} 

.form textarea {
  height:40px;     
  width:400px;
  resize:none;  
}

.low-logs {
    color: red;
    font-weight: bold;
}


.hamburger-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  margin-left: 10px;
  font-size: 18px;
  color: var(--text);
  text-decoration: none;
  transition: all .2s ease;
}

.hamburger-link:hover {
  background: rgba(255,255,255,0.06);
  color: var(--primary);
}

.nav-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 16px;
    margin-top: 20px;
}

.nav-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 20px;
    border-radius: 14px;
    background: var(--card);
    border: var(--border);
    box-shadow: var(--shadow);
    text-decoration: none;
    color: var(--text);
    font-weight: 700;
    font-size: 16px;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.nav-card i {
    font-size: 20px;
    width: 28px;
    text-align: center;
    color: var(--primary);
}
.nav-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(0,37,61,0.35);
}

#toast {
    position: fixed;
    top: 5%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    background: #15498d;
    color: #cfe2ff;
    padding: 16px 28px;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 37, 61, 0.4);
    font-weight: 600;
    font-size: 16px;
    opacity: 0;
    text-align: center;
    max-width: 90%;
    min-width: 200px;
    transition: all 0.4s ease;
    z-index: 9999;
}

#toast.show {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

#toast2 {
    position: fixed;
    top: 5%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    background: #2a0d0d;
    border: 1px solid #ff4d4f;
    color: #ffcdcd;
    padding: 16px 28px;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(61, 0, 0, 0.35);
    font-weight: 600;
    font-size: 16px;
    opacity: 0;
    text-align: center;
    max-width: 90%;
    min-width: 200px;
    transition: all 0.4s ease;
    z-index: 10000;
}

#toast2.show {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}


.lamp{
  display:inline-block;
  width:10px; height:10px;
  border-radius:50%;
  margin-right:6px;
  vertical-align:middle;
}

.lamp-teal{
  background:#008cff;
  box-shadow:
    0 0 6px  rgba(0, 153, 255, 0.9),
    0 0 12px rgba(0, 153, 255, 0.7),
    0 0 24px rgba(0, 153, 255, 0.55);
}

.lamp-red{
  background:#dc2626;
  box-shadow:
    0 0 6px  rgba(220,38,38,.9),
    0 0 12px rgba(220,38,38,.7),
    0 0 24px rgba(220,38,38,.55);
}





@media(max-width:1100px){ .cards{grid-template-columns:repeat(2,1fr)} .sidebar{width:200px} }
@media(max-width:700px){ .cards{grid-template-columns:1fr} .sidebar{display:none} .main{padding:12px} }