
:root{color-scheme:dark;--bg:#0f1113;--card:#181b1e;--line:#34393e;--gold:#d8ad3a;--muted:#9ba2a8;--danger:#a92b32}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f4f4f4;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.shell{max-width:920px;margin:auto;padding:max(18px,env(safe-area-inset-top)) 16px max(28px,env(safe-area-inset-bottom))}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.brand{font-weight:900;color:var(--gold);font-size:20px}.sub{color:var(--muted);font-size:13px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;margin:12px 0;box-shadow:0 10px 35px rgba(0,0,0,.18)}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
input,select,textarea,button{font:inherit}input,select,textarea{width:100%;background:#101215;color:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}
textarea{min-height:90px;resize:vertical}label{display:block;font-size:12px;color:#c8cdd1;margin:10px 0 5px}
button,.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #735c1f;background:var(--gold);color:#151515;font-weight:800;border-radius:12px;padding:11px 14px;cursor:pointer}
.btn.secondary,button.secondary{background:#24282c;border-color:#444a50;color:#fff}.danger{background:var(--danger)!important;border-color:#d14a52!important;color:#fff!important}
.actions{display:flex;gap:8px;flex-wrap:wrap}.hidden{display:none!important}.state{min-height:22px;color:#c9cdd0;font-size:13px;margin-top:8px}
.userrow,.row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;margin:9px 0;background:#121518}
.userrow strong,.row strong{display:block}.meta{font-size:12px;color:var(--muted);margin-top:4px}.bigcards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
.bigcard{min-height:150px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:20px;border-radius:22px;background:#171a1d;border:1px solid #4c4330;color:#fff;text-decoration:none}
.bigcard b{font-size:22px;color:var(--gold)}.bigcard span{font-size:13px;color:#abb0b5;margin-top:6px}
.money{font-weight:800;color:var(--gold)}.pill{display:inline-block;border:1px solid #4a5055;border-radius:999px;padding:4px 8px;font-size:11px;color:#cbd0d4}
.headline{font-size:24px;margin:4px 0 0}.empty{text-align:center;color:var(--muted);padding:24px}
@media(max-width:650px){.grid,.grid3,.bigcards{grid-template-columns:1fr}.top{align-items:flex-start}.userrow{grid-template-columns:1fr}.actions{width:100%}.actions>*{flex:1}}

.boot-screen{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#0f1113}
.boot-screen.hidden{display:none!important}
.boot-card{display:flex;flex-direction:column;align-items:center;gap:12px;color:#d8ad3a;font-size:20px;font-weight:900}
.boot-spinner{width:34px;height:34px;border:3px solid #35393d;border-top-color:#d8ad3a;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.login-center{max-width:430px;margin:10vh auto 0}
.admin-mini{display:block;margin-top:18px;text-align:center;color:#777;text-decoration:none;font-size:12px}

.page-loader{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  background:#0f1113;
  padding:
    max(18px,env(safe-area-inset-top))
    max(16px,env(safe-area-inset-right))
    max(18px,env(safe-area-inset-bottom))
    max(16px,env(safe-area-inset-left));
}
.page-loader.hidden{display:none!important}
.page-loader-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  color:#d8ad3a;
  font-size:19px;
  font-weight:900;
}
.page-loader-spinner{
  width:34px;
  height:34px;
  border:3px solid #35393d;
  border-top-color:#d8ad3a;
  border-radius:50%;
  animation:spin .7s linear infinite;
}

.password-wrap{
  position:relative;
}
.password-wrap input{
  padding-right:52px!important;
}
.password-eye{
  position:absolute;
  right:7px;
  top:50%;
  transform:translateY(-50%);
  width:40px;
  height:40px;
  padding:0;
  border-radius:10px;
  border:1px solid #3d4348;
  background:#24282c;
  color:#fff;
  font-size:18px;
  z-index:2;
}
.keyboard-open .login-box,
.keyboard-open .offline-password-card{
  transform:translateY(-16vh);
  transition:transform .2s ease;
}
.login-box,.offline-password-card{
  transition:transform .2s ease;
}
@media(max-height:700px){
  .login-modal{align-items:flex-start;padding-top:max(22px,env(safe-area-inset-top))}
  .login-box{margin-top:4vh}
  .keyboard-open .login-box{transform:translateY(-2vh)}
}
.admin-accordion{
  margin:12px 0;
}
.admin-accordion-head{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:#181b1e;
  color:#fff;
  border:1px solid #34393e;
  border-radius:16px;
  padding:15px 16px;
  font-weight:800;
}
.admin-accordion-head .chev{
  color:#d8ad3a;
  font-size:18px;
  transition:transform .18s ease;
}
.admin-accordion.open .admin-accordion-head .chev{
  transform:rotate(180deg);
}
.admin-accordion-body{
  display:none;
}
.admin-accordion.open .admin-accordion-body{
  display:block;
}
