:root{
  --bg:#0f172a;--card:#1e293b;--line:#334155;--txt:#e2e8f0;--muted:#94a3b8;
  --accent:#3b82f6;--accent-d:#2563eb;
  --red:#ef4444;--red-bg:#3b1418;--yellow:#f59e0b;--yellow-bg:#3a2c0a;
  --green:#22c55e;--green-bg:#0e2a18;--nov-bg:#1f2533;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Segoe UI',system-ui,Arial,sans-serif;background:var(--bg);color:var(--txt);font-size:15px}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
code{font-family:ui-monospace,Consolas,monospace;font-size:13px}

/* Login */
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}
.login-box{background:var(--card);padding:32px;border-radius:14px;width:100%;max-width:360px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.login-box h1{margin:0 0 4px;font-size:22px}
.login-sub{margin:0 0 20px;color:var(--muted);font-size:14px}
.login-box label{display:block;margin-bottom:14px;font-size:13px;color:var(--muted)}
.login-box input{width:100%;margin-top:6px;padding:11px;border-radius:8px;border:1px solid var(--line);background:#0b1220;color:var(--txt)}
.login-box button[type=submit]{width:100%;padding:12px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-size:15px;font-weight:600;cursor:pointer}
.alert{background:var(--red-bg);color:#fca5a5;border:1px solid var(--red);padding:10px;border-radius:8px;margin-bottom:16px;font-size:13px}
.flash{background:var(--green-bg);color:#86efac;border:1px solid var(--green);padding:11px 14px;border-radius:10px;margin-bottom:16px;font-size:14px}
.pw-wrap{position:relative;display:block;margin-top:6px}
.pw-wrap input{width:100%;padding-right:42px}
.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;border:0;cursor:pointer;font-size:17px}
.remember-row{display:flex!important;align-items:center;gap:8px;color:var(--muted);font-size:13px}
.remember-row input{width:auto!important;margin:0}

/* Topbar + nav */
.topbar{display:flex;align-items:center;gap:18px;padding:12px 22px;background:var(--card);border-bottom:1px solid var(--line);flex-wrap:wrap}
.topbar h1{font-size:18px;margin:0}
.nav{display:flex;gap:16px;flex-wrap:wrap}
.nav a{color:var(--txt);font-size:14px}
.topbar .right{margin-left:auto;display:flex;gap:14px;align-items:center;font-size:14px;color:var(--muted)}
.kredit-chip{background:#0b1220;border:1px solid var(--line);padding:5px 11px;border-radius:20px;color:#fde68a;font-weight:600;font-size:13px}
.wrap{max-width:1280px;margin:0 auto;padding:22px 26px}

/* Stat kartice */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:22px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}
.stat .num{font-size:26px;font-weight:700}.stat .lbl{color:var(--muted);font-size:13px;margin-top:4px}
.stat.red .num{color:var(--red)}.stat.yellow .num{color:var(--yellow)}
.stat.green .num{color:var(--green)}.stat.blue .num{color:var(--accent)}

.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:18px}
.card h2{margin:0 0 12px;font-size:17px}.card h3{font-size:15px;margin:18px 0 10px}

.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;align-items:center}
.toolbar input[type=search]{flex:1;min-width:180px;padding:9px 11px;border-radius:8px;border:1px solid var(--line);background:#0b1220;color:var(--txt)}

.btn{display:inline-block;padding:9px 16px;border-radius:8px;background:var(--accent);color:#fff;border:0;cursor:pointer;font-size:14px;font-weight:600}
.btn:hover{background:var(--accent-d);text-decoration:none}
.btn.gray{background:#475569}.btn.danger{background:var(--red)}
.btn.sm{padding:5px 10px;font-size:13px}

.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
table{width:100%;border-collapse:collapse;background:var(--card);font-size:14px}
th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle}
th{position:sticky;top:0;background:#16202f;color:#cbd5e1;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
tbody tr:nth-child(even){background:#1a2433}tbody tr:hover{background:#243042}
tr.row-isteklo{background:var(--red-bg)!important}tr.row-uskoro{background:var(--yellow-bg)!important}
tr.row-nov{background:var(--nov-bg)!important}

.badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:12px;font-weight:600;text-transform:capitalize}
.badge.aktivan{background:var(--green);color:#06250f}
.badge.uskoro{background:var(--yellow);color:#1a1205}
.badge.isteklo{background:var(--red);color:#fff}
.badge.nov{background:#475569;color:#fff}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid label{display:block;font-size:13px;color:var(--muted)}
.form-grid label.full,.form-actions.full{grid-column:1/-1}
.form-grid input,.form-grid select{width:100%;margin-top:6px;padding:10px;border-radius:8px;border:1px solid var(--line);background:#0b1220;color:var(--txt)}
.form-actions{display:flex;gap:10px;margin-top:6px}
.empty{text-align:center;padding:36px;color:var(--muted)}
@media(max-width:560px){.form-grid{grid-template-columns:1fr}}
