
:root{
  --bg:#0b0f17;
  --paper:#121826;
  --muted:#1b2436;
  --accent:#6aa9ff;
  --accent-2:#88ffe3;
  --text:#e8eefc;
  --text-dim:#a9b3c9;
  --ok:#29c36a;
  --warn:#ffcf5c;
  --bad:#ff6b6b;
  --border: #22304a;
  --radius: 18px;
  --shadow: 0 10px 30px rgba(0,0,0,0.35);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
  background: radial-gradient(1200px 800px at 70% -10%, rgba(106,169,255,.15), transparent 60%),
              radial-gradient(800px 600px at -10% 110%, rgba(136,255,227,.08), transparent 50%),
              var(--bg);
  color:var(--text); 
}
a{color:var(--accent); text-decoration:none}
.container{max-width:1200px;margin:0 auto;padding:28px}
.grid{display:grid;gap:18px}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
@media (max-width: 980px){.grid.cols-3{grid-template-columns:1fr}.grid.cols-2{grid-template-columns:1fr}}

.card{
  background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.0)),
             var(--paper);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:18px;
}

.header{
  position:sticky; top:0; z-index:10; backdrop-filter: blur(8px);
  background: rgba(11,15,23,0.6); border-bottom:1px solid var(--border);
}
.header .inner{display:flex;align-items:center;gap:18px; padding:14px 24px; max-width:1200px; margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:0.2px}
.brand .logo{width:28px;height:28px; display:inline-block; border-radius:8px; background:
  conic-gradient(from 180deg, var(--accent), var(--accent-2), var(--accent));
  box-shadow: 0 4px 18px rgba(106,169,255,.35);
}
.nav{margin-left:auto; display:flex; gap:12px; flex-wrap:wrap}
.nav a{
  padding:10px 14px; border-radius:12px; border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.0));
  color:var(--text); font-weight:600; font-size:14px;
}
.nav a.active{background:linear-gradient(180deg, rgba(106,169,255,.12), rgba(106,169,255,.02)); border-color:#2b3f66; color:#d9e8ff}

.h1{font-size:28px;font-weight:800;margin:4px 0 8px}
.sub{color:var(--text-dim);font-size:14px}

.input, select, textarea{
  width:100%; background:var(--muted); color:var(--text);
  border:1px solid var(--border); border-radius:12px; padding:12px 14px; outline:none;
}
.input:focus, select:focus, textarea:focus{border-color:var(--accent); box-shadow:0 0 0 4px rgba(106,169,255,.15)}

.row{display:grid; grid-template-columns:1fr 1fr; gap:14px}
@media (max-width: 720px){.row{grid-template-columns:1fr}}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:10px 14px; border-radius:12px; border:1px solid var(--border); cursor:pointer;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  color:var(--text); font-weight:700;
}
.btn.primary{background:linear-gradient(180deg, rgba(106,169,255,.35), rgba(106,169,255,.1)); border-color:#3f5f96}
.btn.ghost{background:transparent}
.btn.ok{background: linear-gradient(180deg, rgba(41,195,106,.35), rgba(41,195,106,.08)); border-color:#1a5f3b}
.btn.bad{background: linear-gradient(180deg, rgba(255,107,107,.28), rgba(255,107,107,.08)); border-color:#6a2a2a}

.table{width:100%; border-collapse:separate; border-spacing:0 8px}
.table th{color:var(--text-dim); font-size:12px; text-transform:uppercase; letter-spacing:.08em; text-align:left; padding:0 12px 6px}
.table td{
  background:var(--paper); border:1px solid var(--border); border-left:none; border-right:none;
  padding:12px; color:var(--text); 
}
.table tr{box-shadow: var(--shadow); border-radius:12px}
.badge{padding:6px 10px; border-radius:999px; font-size:12px; font-weight:700; border:1px solid var(--border)}
.badge.ok{background:rgba(41,195,106,.1); color:#9bf2c1; border-color:#1a5f3b}
.badge.warn{background:rgba(255,207,92,.1); color:#ffe9af; border-color:#6e5b2a}
.badge.bad{background:rgba(255,107,107,.1); color:#ffb0b0; border-color:#6a2a2a}
.badge.neutral{background:rgba(106,169,255,.1); color:#d9e8ff; border-color:#3f5f96}

.kpi{display:flex; align-items:center; gap:12px}
.kpi .num{font-size:28px; font-weight:800}
.kpi small{color:var(--text-dim)}
.searchbar{display:flex; gap:10px; align-items:center}
.searchbar input{flex:1}
.select{min-width:160px}

.footer{opacity:.6; font-size:12px; text-align:center; padding:24px}
/* ================================
   📱 Responsive Mobile Adjustments
   ================================ */

/* Header: pretvaranje navigacije u hamburger meni */
@media (max-width: 820px) {
  .header .inner {
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .nav {
    display: none;
    flex-direction: column;
    width: 100%;
    background: var(--paper);
    border-radius: var(--radius);
    padding: 12px;
    border: 1px solid var(--border);
  }

  .nav a {
    padding: 12px;
    border-bottom: 1px solid var(--border);
  }

  .nav a:last-child {
    border-bottom: none;
  }

  .nav.show {
    display: flex;
  }

  /* Hamburger dugme */
  .menu-btn {
    display: block;
    cursor: pointer;
    font-size: 26px;
    padding: 8px 14px;
    border-radius: 12px;
    border:1px solid var(--border);
    background: var(--muted);
  }
}

/* Desktop */
@media (min-width: 821px) {
  .menu-btn {
    display: none;
  }
}

/* KPI Cards stacking */
@media (max-width: 820px) {
  .grid.cols-3, .grid.cols-2 {
    grid-template-columns: 1fr !important;
  }
}

/* Search and filters stacking */
@media (max-width: 720px) {
  .searchbar {
    flex-direction: column;
    gap: 8px;
  }

  .searchbar .input,
  .searchbar select {
    width: 100%;
  }
}

/* Tables -> Cards */
@media (max-width: 720px) {
  table.table {
    border: 0;
  }

  table.table thead {
    display: none;
  }

  table.table tr {
    display: block;
    margin-bottom: 16px;
    border-radius: var(--radius);
    overflow: hidden;
  }

  table.table td {
    display: flex;
    justify-content: space-between;
    padding: 12px;
    border: none;
    border-bottom: 1px solid var(--border);
  }

  table.table td:last-child {
    border-bottom: none;
  }

  table.table td::before {
    content: attr(data-label);
    font-weight: 700;
    color: var(--text-dim);
  }
}

/* Dugmad u mobilnoj verziji */
@media (max-width: 720px) {
  .btn {
    width: 100%;
    justify-content: center;
  }

  .card {
    padding: 14px;
  }
}
