:root { --glb-bg:#0E0E0E; --glb-card:#181818; --glb-card2:#202020; --glb-border:#333333; --glb-text:#8AB4D4; --glb-muted:#507090; --glb-accent:#777777; --glb-accent2:#999999; --glb-red:#ef4444; }
.glb-btn-open { display:inline-block; padding:14px 32px; background:linear-gradient(135deg,var(--glb-accent),var(--glb-accent2)); color:#fff; border:none; border-radius:10px; font-size:1rem; font-weight:700; cursor:pointer; transition:opacity .2s; }
.glb-btn-open:hover { opacity:.85; }
.glb-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.75); z-index:9998; backdrop-filter:blur(3px); }
.glb-overlay.active { display:block; }
.glb-modal { display:none; position:fixed; top:50%; left:50%; transform:translate(-50%,-50%) scale(.95); z-index:9999; background:var(--glb-card); border:1px solid var(--glb-border); border-radius:16px; padding:48px 40px; width:100%; max-width:420px; text-align:center; transition:transform .2s,opacity .2s; opacity:0; }
.glb-modal.active { display:block; transform:translate(-50%,-50%) scale(1); opacity:1; }
@media(max-width:480px) { .glb-modal { padding:32px 20px; max-width:calc(100vw - 32px); } }
.glb-modal-close { position:absolute; top:16px; right:16px; background:none; border:none; color:var(--glb-muted); font-size:1.2rem; cursor:pointer; padding:4px 8px; }
.glb-modal-close:hover { color:var(--glb-text); }
.glb-logo { font-size:1.8rem; font-weight:800; background:linear-gradient(135deg,var(--glb-accent),var(--glb-accent2)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; margin-bottom:6px; }
.glb-sub { color:var(--glb-muted); font-size:.85rem; margin-bottom:28px; }
.glb-field { margin-bottom:16px; text-align:left; }
.glb-field label { display:block; font-size:.75rem; color:var(--glb-muted); font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin-bottom:6px; }
.glb-field input { width:100%; padding:12px 16px; background:var(--glb-bg); border:1px solid var(--glb-border); border-radius:10px; color:var(--glb-text); font-size:.95rem; box-sizing:border-box; outline:none; transition:border-color .2s; }
.glb-field input:focus { border-color:var(--glb-accent); }
.glb-field input::placeholder { color:var(--glb-muted); opacity:.7; }
.glb-pw-wrap { position:relative; }
.glb-pw-wrap input { padding-right:95px; }
.glb-pw-toggle { position:absolute; right:8px; top:50%; transform:translateY(-50%); padding:5px 11px; font-size:.72rem; font-weight:600; background:var(--glb-card2); color:var(--glb-text); border:1px solid var(--glb-border); border-radius:6px; cursor:pointer; }
.glb-err { color:var(--glb-red); font-size:.85rem; min-height:20px; margin-bottom:8px; }
.glb-btn-login { width:100%; padding:14px; background:linear-gradient(135deg,var(--glb-accent),var(--glb-accent2)); color:#fff; border:none; border-radius:10px; font-size:1rem; font-weight:700; cursor:pointer; margin-top:4px; transition:opacity .2s; }
.glb-btn-login:hover { opacity:.9; }
.glb-btn-login:disabled { opacity:.6; cursor:not-allowed; }
.glb-forgot { display:inline-block; margin-top:14px; font-size:.82rem; color:var(--glb-muted); text-decoration:none; border-bottom:1px dotted var(--glb-muted); }
.glb-forgot:hover { color:var(--glb-text); }
.glb-apps { margin-top:20px; padding-top:16px; border-top:1px solid var(--glb-border); font-size:.8rem; color:var(--glb-muted); display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; }
.glb-apps a { color:var(--glb-text); text-decoration:none; padding:3px 10px; border:1px solid var(--glb-border); border-radius:6px; font-size:.78rem; transition:border-color .2s; }
.glb-apps a:hover { border-color:var(--glb-accent); }
