*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;-webkit-text-size-adjust:100%;}
body{
  background:#0a0a1a;
  background-image:radial-gradient(ellipse at top,#0d1a3d 0%,#060612 65%);
  color:#e0e8ff;
  font-family:'Segoe UI',system-ui,-apple-system,sans-serif;
  font-size:1rem;
  line-height:1.5;
  min-height:100vh;
  padding:12px;
  overflow-x:hidden;
  text-align:center;
}
.container,.container-md{width:100%;max-width:680px;margin:0 auto;padding:0;}
.container-md{max-width:860px;}

/* Top bar */
.admin-topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:rgba(0,0,40,0.85);
  border:1px solid #2244aa;
  border-radius:10px;
  padding:10px 14px;
  margin-bottom:14px;
  flex-wrap:wrap;
  gap:8px;
}
.admin-logo{color:#5599ff;font-size:1rem;font-weight:700;letter-spacing:1px;}
.admin-logout{
  padding:6px 14px;
  background:#220033;
  border:1px solid #8844cc;
  border-radius:6px;
  color:#cc88ff;
  text-decoration:none;
  font-size:0.82rem;
  font-weight:600;
  cursor:pointer;
  font-family:inherit;
  width:auto;
  margin:0;
  display:inline-block;
}
.admin-logout:active{background:#330044;}

h1{
  color:#5599ff;
  font-size:clamp(1.2rem,5vw,1.7rem);
  font-weight:700;
  margin-bottom:14px;
  background:rgba(0,0,30,0.7);
  padding:11px 14px;
  border-radius:10px;
  border:2px solid #2244aa;
  line-height:1.25;
}
h2,h3{color:#5599ff;font-size:clamp(0.95rem,4vw,1.15rem);font-weight:600;margin-bottom:12px;}

.box{
  background:rgba(0,0,25,0.85);
  padding:16px 14px;
  border-radius:12px;
  margin:12px auto;
  border:2px solid #2244aa;
  width:100%;
  text-align:left;
}

input,select,textarea{
  display:block;
  width:100%;
  margin:8px 0;
  padding:11px 12px;
  font-size:1rem;
  border-radius:8px;
  border:2px solid #2244aa;
  background:rgba(0,0,20,0.92);
  color:#e0e8ff;
  font-weight:500;
  -webkit-appearance:none;
  appearance:none;
  font-family:inherit;
}
input::placeholder{color:#5566aa;font-style:italic;font-size:0.88rem;}
input:focus,select:focus{border-color:#5599ff;outline:none;background:rgba(0,0,30,0.95);}

button,.btn-blue{
  display:block;
  width:100%;
  margin:10px 0;
  padding:12px;
  font-size:1rem;
  font-weight:700;
  border-radius:8px;
  background:#1133aa;
  color:#e0e8ff;
  border:2px solid #5599ff;
  cursor:pointer;
  font-family:inherit;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
button:active{background:#0d2288;}
.btn-cancel{background:#1a1a2a;border-color:#555;color:#aaa;}
.btn-cancel:active{background:#111;}
.btn-danger{background:#330011;border-color:#aa2244;color:#ff6688;}
.btn-danger:active{background:#220009;}
.btn-small{
  padding:6px 12px;
  border-radius:6px;
  font-size:0.78rem;
  font-weight:700;
  cursor:pointer;
  border:none;
  display:inline-block;
  width:auto;
  margin:0;
  font-family:inherit;
  -webkit-tap-highlight-color:transparent;
}
.btn-edit{background:#115533;color:#aaffcc;border:1px solid #22aa66!important;}
.btn-delete{background:#330011;color:#ff6688;border:1px solid #aa2244!important;}
.btn-eye{background:#113355;color:#88ccff;border:1px solid #2266aa!important;}

.warning-message{background:rgba(120,0,0,0.3);padding:11px;border-radius:8px;border:1px solid #882200;margin:8px 0;font-size:0.88rem;color:#ffaaaa;text-align:left;}
.success-message{background:rgba(0,80,0,0.3);padding:11px;border-radius:8px;border:1px solid #005500;margin:8px 0;font-size:0.88rem;color:#aaffaa;text-align:left;}

/* User cards */
.users-grid{display:flex;flex-direction:column;gap:10px;margin:12px 0;}
.user-card{
  background:rgba(0,0,25,0.8);
  border:1px solid #2244aa;
  border-radius:10px;
  padding:14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  text-align:left;
}
.user-info{flex:1;min-width:120px;}
.user-name{font-size:1rem;font-weight:700;color:#88bbff;}
.user-pass{font-size:0.82rem;color:#556699;margin-top:3px;font-family:monospace;word-break:break-all;}
.user-actions{display:flex;gap:6px;flex-wrap:wrap;}

/* Modal overlay */
.modal-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,20,0.85);
  z-index:1000;
  align-items:center;
  justify-content:center;
  padding:16px;
}
.modal-overlay.active{display:flex;}
.modal-box{
  background:#080818;
  border:2px solid #2244aa;
  border-radius:14px;
  padding:20px;
  width:100%;
  max-width:400px;
  text-align:left;
}
.modal-title{color:#5599ff;font-size:1rem;font-weight:700;margin-bottom:14px;}
.modal-btns{display:flex;gap:10px;margin-top:14px;}
.modal-btns button{margin:0;flex:1;}

@media(min-width:540px){
  body{padding:18px;}
  .users-grid{display:grid;grid-template-columns:1fr 1fr;}
}
