@import url('/assets/css/opjus-global.css?v=6.0.0');
:root{
  --navy-deep:#07162f;
  --navy:#12366d;
  --paper:#f8f7f2;
  --card:#ffffff;
  --ink:#1b1d22;
  --ink-soft:#5b5f66;
  --line:#e3e1d8;
  --accent:#12366d;
  --danger:#9b2c2c;
  --danger-bg:#fbe4e4;
  --ok:#2e6b41;
  --ok-bg:#e9f4ec;
  --gold:#cda34a;
}
*{box-sizing:border-box}
body{
  margin:0;
  background:radial-gradient(circle at top, #12366d 0%, var(--navy-deep) 58%);
  color:var(--ink);
  font-family:system-ui,-apple-system,'Segoe UI',sans-serif;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.auth-shell{
  width:100%;
  max-width:460px;
  background:var(--card);
  border-radius:18px;
  box-shadow:0 12px 40px rgba(0,0,0,.35);
  padding:32px 28px;
  border:1px solid rgba(205,163,74,.28);
}
.auth-shell-wide{max-width:520px}
.app-shell{
  width:100%;
  max-width:920px;
  background:var(--card);
  border-radius:18px;
  box-shadow:0 12px 40px rgba(0,0,0,.35);
  padding:0;
  overflow:hidden;
  border:1px solid rgba(205,163,74,.28);
}
h1{font-size:22px; margin:0 0 6px; color:var(--navy)}
.subtitle{font-size:13px; color:var(--ink-soft); margin:0 0 22px; line-height:1.45}
label{display:block; font-size:12.5px; font-weight:700; margin-bottom:5px; color:var(--ink)}
input[type=email],input[type=password],input[type=text]{
  width:100%;
  padding:11px 13px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:14px;
  margin-bottom:16px;
  background:var(--paper);
  color:var(--ink);
}
button, .btn{
  display:inline-block;
  padding:11px 18px;
  border-radius:10px;
  border:none;
  background:linear-gradient(180deg, #1b4da0 0%, #12366d 100%);
  color:#fff;
  font-weight:700;
  font-size:14px;
  cursor:pointer;
  text-decoration:none;
  text-align:center;
  box-shadow:0 6px 14px rgba(18,54,109,.2);
}
button:hover, .btn:hover{opacity:.94}
.btn-danger{background:var(--danger)}
.btn-secondary{
  background:var(--paper);
  color:var(--ink);
  border:1px solid var(--line);
  box-shadow:none;
}
.alert{padding:11px 14px; border-radius:10px; font-size:13.5px; margin-bottom:16px}
.alert-error{background:var(--danger-bg); color:var(--danger)}
.alert-ok{background:var(--ok-bg); color:var(--ok)}
.foot-link{font-size:13px; margin-top:18px; text-align:center; color:var(--ink-soft)}
.foot-link a{color:var(--accent); font-weight:700; text-decoration:none}

.brand-auth{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:22px;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}
.brand-auth-logo{
  width:78px;
  height:78px;
  object-fit:contain;
  border-radius:50%;
  box-shadow:0 6px 18px rgba(0,0,0,.15);
}
.brand-auth-name{
  font-size:28px;
  font-weight:800;
  letter-spacing:.03em;
  color:var(--navy-deep);
}
.brand-auth-subtitle{margin:4px 0 0}

header.top{
  background:linear-gradient(180deg, #0d2144 0%, var(--navy-deep) 100%);
  color:#fff;
  padding:18px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.top-left{
  display:flex;
  align-items:center;
  gap:14px;
}
.top-logo{
  width:78px;
  height:78px;
  object-fit:contain;
  display:block;
}
.top-actions{display:flex; gap:10px; flex-wrap:wrap}
header.top .who{font-size:18px; font-weight:700; opacity:.96}
main.content{padding:28px}

table.admin-table{width:100%; border-collapse:collapse; font-size:13.5px}
table.admin-table th, table.admin-table td{
  padding:10px 12px; border-bottom:1px solid var(--line); text-align:left;
}
table.admin-table th{color:var(--ink-soft); font-size:12px; text-transform:uppercase; letter-spacing:.03em}
.badge{display:inline-block; padding:3px 9px; border-radius:20px; font-size:11.5px; font-weight:700}
.badge-active{background:var(--ok-bg); color:var(--ok)}
.badge-pending{background:#FDF2E3; color:#8A5A20}
.badge-disabled{background:var(--danger-bg); color:var(--danger)}
.badge-admin{background:#E3ECFB; color:var(--navy)}
.row-actions{display:flex; gap:6px; flex-wrap:wrap}
.row-actions button{padding:6px 10px; font-size:12px}

@media (max-width: 700px){
  body{padding:16px}
  .auth-shell,.auth-shell-wide{padding:24px 20px}
  .brand-auth{align-items:flex-start}
  .brand-auth-logo{width:64px;height:64px}
  .brand-auth-name{font-size:24px}
  header.top{flex-direction:column; align-items:flex-start}
  .top-logo{width:64px; height:64px}
  header.top .who{font-size:16px}
  .top-actions{width:100%}
}

