#frAuthGate{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:radial-gradient(circle at 75% 20%,#1d3557 0,#0d1724 34%,#070d14 100%);font-family:"Segoe UI",Arial,sans-serif}
#frAuthGate[hidden]{display:none!important}
.fr-login-card{width:min(430px,calc(100vw - 32px));background:#0f1824eF;border:1px solid #ffffff18;border-radius:20px;padding:32px;box-shadow:0 30px 100px #0009;color:#fff;backdrop-filter:blur(18px)}
.fr-login-brand{display:flex;align-items:center;gap:13px;margin-bottom:28px}
.fr-login-logo{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;font:800 28px Georgia;background:linear-gradient(145deg,#fff,#9fc3ef);color:#0b1624;box-shadow:0 8px 30px #6ea8e744}
.fr-login-brand h1{font-size:22px;margin:0}.fr-login-brand p{margin:3px 0 0;color:#9caec2;font-size:12px}
.fr-login-card label{display:block;font-size:12px;color:#aab9c9;margin:14px 0 6px}
.fr-login-card input{width:100%;height:45px;border:1px solid #ffffff1c;background:#07101a;color:white;border-radius:10px;padding:0 13px;outline:none}
.fr-login-card input:focus{border-color:#79aee7;box-shadow:0 0 0 3px #79aee71a}
#frLoginSubmit{width:100%;height:46px;margin-top:20px;border:0;border-radius:10px;background:linear-gradient(135deg,#d9eaff,#7fb3ea);color:#07111d;font-weight:800;cursor:pointer}
#frLoginSubmit:disabled{opacity:.55;cursor:wait}
#frLoginError{min-height:20px;margin-top:11px;color:#ff9d9d;font-size:12px;text-align:center}
.fr-login-foot{text-align:center;color:#66798d;font-size:10px;margin-top:18px}

#frIdentity{display:flex;align-items:center;gap:6px;margin-inline-start:auto;direction:rtl}
#frIdentity button,#frIdentity span{height:30px;border:1px solid var(--line,#ddd);border-radius:7px;background:var(--surface,var(--paper,#fff));color:var(--ink,#222);padding:0 9px;font:11px "Segoe UI";display:inline-flex;align-items:center}
#frIdentity button{cursor:pointer}
#frIdentity .fr-role{color:var(--sub,#777)}

#frAdminDialog{width:min(960px,94vw);max-height:88vh;border:1px solid var(--line,#ddd);border-radius:16px;background:var(--surface,var(--paper,#fff));color:var(--ink,#222);padding:0;box-shadow:0 30px 100px #0006}
#frAdminDialog::backdrop{background:#0008;backdrop-filter:blur(4px)}
.fr-admin-head{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line,#ddd)}
.fr-admin-head h2{margin:0;font-size:16px}.fr-admin-head small{color:var(--sub,#777)}
.fr-admin-head button{margin-inline-start:auto}
.fr-admin-body{padding:16px;overflow:auto}
.fr-admin-create{display:grid;grid-template-columns:1.2fr 1.3fr .8fr 1fr .6fr auto;gap:7px;margin-bottom:16px}
.fr-admin-create input,.fr-admin-create select,.fr-admin-create button,.fr-admin-head button,.fr-user-row button{height:34px;border:1px solid var(--line,#ddd);border-radius:7px;background:var(--field,var(--surface,#fff));color:var(--ink,#222);padding:0 8px}
.fr-admin-create button{font-weight:700;cursor:pointer}
.fr-users{width:100%;border-collapse:collapse;font-size:11px}
.fr-users th,.fr-users td{padding:8px;border-bottom:1px solid var(--line,#ddd);text-align:start;white-space:nowrap}
.fr-users th{color:var(--sub,#777);font-weight:600}
.fr-users input{height:30px;max-width:145px;border:1px solid var(--line,#ddd);border-radius:6px;background:var(--field,var(--surface,#fff));color:var(--ink,#222);padding:0 6px}
.fr-status-on{color:#1f9d55;font-weight:700}.fr-status-off{color:#d9534f;font-weight:700}
#frAdminMessage{font-size:11px;min-height:18px;color:var(--sub,#777);margin-bottom:8px}
@media(max-width:780px){.fr-admin-create{grid-template-columns:1fr 1fr}.fr-users{min-width:760px}}

.fr-secondary{
  width:100%;
  height:42px;
  margin-top:8px;
  border:1px solid #ffffff22!important;
  border-radius:10px;
  background:transparent!important;
  color:#b7c8da!important;
  cursor:pointer;
}

.fr-primary{
  width:100%;
  height:46px;
  margin-top:20px;
  border:0;
  border-radius:10px;
  background:linear-gradient(135deg,#e5f1ff,#7fb3ea);
  color:#07111d;
  font-weight:800;
  cursor:pointer;
}

#frSignupForm h3{
  margin:0 0 18px;
  font-size:17px;
  color:white;
}

#frSignupForm select{
  width:100%;
  height:45px;
  border:1px solid #ffffff1c;
  border-radius:10px;
  background:#07101a;
  color:white;
  padding:0 13px;
}

#frSignupMessage{
  min-height:22px;
  margin-top:10px;
  text-align:center;
  font-size:12px;
  color:#9fc8f5;
}

.fr-admin-section{
  padding:14px 0;
  border-bottom:1px solid var(--line,#ddd);
}

.fr-admin-section:last-child{
  border-bottom:0;
}

.fr-section-title{
  display:flex;
  align-items:center;
  gap:8px;
}

.fr-section-title h3{
  margin:0 0 10px;
}

#frPendingCount{
  padding:2px 7px;
  border-radius:20px;
  background:var(--focus,#dbeafe);
  font-size:10px;
}

.fr-table-wrap{
  overflow:auto;
}

.fr-empty-row{
  text-align:center!important;
  color:var(--sub,#777);
  padding:18px!important;
}

.fr-approve{
  background:#16794b!important;
  color:white!important;
  border-color:#16794b!important;
}

.fr-reject{
  margin-inline-start:6px;
}

.fr-gift-days{
  width:62px!important;
  margin-inline-end:5px;
}

.fr-user-row td:last-child button{
  margin-inline:3px;
}

