/* ===== SIMANUP space-themed auth screen ===== */
.auth-screen{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;
  background:radial-gradient(1200px 700px at 50% -10%,#0b1e46 0%,#06122e 40%,#020814 100%);
  overflow:hidden;font-family:'IBM Plex Sans Arabic',system-ui,sans-serif}
.auth-canvas{position:absolute;inset:0;width:100%;height:100%}
.auth-canvas.fx{z-index:5;pointer-events:none}
/* rotating gears + chip glows */
.auth-orbits{position:absolute;inset:0;color:rgba(80,160,255,.16);pointer-events:none}
.auth-orbits .gear{position:absolute;width:340px;height:340px;animation:spin 26s linear infinite}
.auth-orbits .g1{top:-90px;inset-inline-start:-90px}
.auth-orbits .g2{bottom:-120px;inset-inline-end:-110px;width:440px;height:440px;animation-duration:38s;animation-direction:reverse;color:rgba(31,195,242,.14)}
@keyframes spin{to{transform:rotate(360deg)}}
.chip-glow{position:absolute;width:220px;height:220px;border-radius:50%;filter:blur(60px);opacity:.5;animation:pulse 6s ease-in-out infinite}
.chip-glow.c1{background:#2E7BFF;top:12%;inset-inline-end:16%}
.chip-glow.c2{background:#1FC3F2;bottom:16%;inset-inline-start:12%;animation-delay:1.5s}
.chip-glow.c3{background:#7c3aed;top:40%;inset-inline-start:44%;animation-delay:3s;opacity:.35}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.35}50%{transform:scale(1.25);opacity:.6}}
/* glass card */
.auth-card{position:relative;z-index:10;width:min(92vw,400px);padding:34px 30px 26px;text-align:center;
  background:rgba(10,22,48,.55);backdrop-filter:blur(18px);border:1px solid rgba(120,170,255,.22);
  border-radius:22px;box-shadow:0 30px 90px rgba(0,10,40,.6),inset 0 1px 0 rgba(255,255,255,.06)}
.auth-logo{font-size:30px;font-weight:800;letter-spacing:2px;color:#eaf2ff}
.auth-logo span{color:#2E7BFF}.auth-logo .lg-mark{color:#1FC3F2;margin-inline-end:4px}
.auth-sub{color:#8fb2e6;font-size:12.5px;margin-top:4px}
/* processor row */
.proc{display:flex;gap:6px;justify-content:center;margin:16px 0 20px}
.proc i{width:26px;height:8px;border-radius:3px;background:linear-gradient(90deg,#1FC3F2,#2E7BFF);opacity:.25;animation:proc 1.4s ease-in-out infinite}
.proc i:nth-child(2){animation-delay:.15s}.proc i:nth-child(3){animation-delay:.3s}
.proc i:nth-child(4){animation-delay:.45s}.proc i:nth-child(5){animation-delay:.6s}.proc i:nth-child(6){animation-delay:.75s}
@keyframes proc{0%,100%{opacity:.2}50%{opacity:1;box-shadow:0 0 12px rgba(46,123,255,.8)}}
.auth-form{display:flex;flex-direction:column;gap:12px;text-align:start}
.afield{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#a9c6f0}
.afield input{font:inherit;font-size:14px;color:#eaf2ff;background:rgba(4,12,30,.7);
  border:1px solid rgba(120,170,255,.28);border-radius:11px;padding:11px 13px;outline:none;transition:border-color .15s}
.afield input:focus{border-color:#2E7BFF;box-shadow:0 0 0 3px rgba(46,123,255,.2)}
.auth-btn{margin-top:6px;font:inherit;font-size:15px;font-weight:700;color:#fff;cursor:pointer;
  background:linear-gradient(90deg,#1FC3F2,#2E7BFF);border:0;border-radius:12px;padding:12px;
  box-shadow:0 10px 30px rgba(46,123,255,.4);transition:transform .12s,box-shadow .12s}
.auth-btn:hover{transform:translateY(-1px);box-shadow:0 14px 36px rgba(46,123,255,.55)}
.auth-btn:disabled{opacity:.6;cursor:default}
.auth-err{color:#ff9aa2;font-size:12.5px;background:rgba(120,20,30,.35);border:1px solid rgba(255,120,130,.3);border-radius:9px;padding:8px 10px}
.auth-foot{margin-top:16px;color:#5f7fb0;font-size:11px}
/* header user chip */
.userchip{display:flex;align-items:center;gap:8px;padding-inline-start:8px;border-inline-start:1px solid var(--line);margin-inline-start:4px}
.uav{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:800;color:#fff;background:var(--grad);font-size:14px}
.uinfo{display:flex;flex-direction:column;line-height:1.15}
.uinfo b{font-size:12.5px;color:var(--ink)}
.urole{font-size:10.5px;color:var(--muted)}
.uout{background:transparent;border:1px solid var(--line);border-radius:9px;padding:7px;cursor:pointer;color:var(--muted);display:grid;place-items:center}
.uout:hover{color:var(--red-ink,#b91c1c);border-color:var(--red-ink,#b91c1c)}
.uout svg{width:16px;height:16px}
/* role-gated hiding */
body:not(.cap-upload) .cap-upload-only{display:none!important}
body:not(.cap-manage_users) .cap-admin-only{display:none!important}
/* the hidden attribute must actually hide the overlay (overrides display:grid above) */
.auth-screen[hidden]{display:none!important}
