:root {
  --primary-color: rgba(10,25,47,.82);
  --accent-color: #00BFFF;
  --error-color: #FF4C4C;
  --border-color: rgba(255,255,255,.16);
  --text-color: #E5E7EB;
  --muted-color: #8ea0b8;
  --input-bg: rgba(25,50,75,.42);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
}
* { box-sizing:border-box; }
html,body { min-height:100%; }
body { margin:0;color:var(--text-color);background:linear-gradient(120deg,#0F172A,#1E293B 55%,#111c30);font-family:inherit;position:relative; }
body::before { content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(circle,rgba(255,255,255,.09) .5px,transparent 1px);background-size:20px 20px; }
button,input { font:inherit; }
.glass { background:var(--primary-color);border:1px solid var(--border-color);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 0 14px rgba(0,191,255,.08); }
.login-body { min-height:100vh;display:grid;place-items:center;padding:20px; }
.login-panel { width:360px;min-height:470px;border-radius:12px;padding:30px 34px;text-align:center; }
.logo-wrapper { position:relative;width:110px;height:110px;margin:18px auto 38px; }
.nedry-logo { display:block;border-radius:50%;object-fit:cover;background:rgba(255,188,0,.08);border:1px solid rgba(255,201,63,.58);box-shadow:0 0 12px rgba(255,188,0,.48);animation:glowPulse 2.4s infinite ease-in-out;width:110px;height:110px;position:relative;z-index:1; }
.login-logo-img { user-select:none;-webkit-user-drag:none;image-rendering:auto; }
.logo-wrapper::after { content:"";position:absolute;inset:-7px;border-radius:50%;pointer-events:none;border:1px solid rgba(255,188,0,.13);box-shadow:0 0 24px rgba(255,188,0,.10); }
.sweep { position:absolute;inset:0;border-radius:50%;overflow:hidden;z-index:3;pointer-events:none; }
.sweep::before { content:"";position:absolute;top:-75%;left:-75%;width:250%;height:250%;background:linear-gradient(115deg,transparent 45%,rgba(255,255,255,.4) 50%,transparent 55%);transform:rotate(20deg);animation:sweep 5s infinite linear;filter:blur(1px);opacity:.6; }
.login-title { color:var(--accent-color);font-size:1rem;letter-spacing:2px;font-weight:700; }
.login-subtitle { color:var(--muted-color);font-size:.68rem;letter-spacing:2px;margin:5px 0 27px; }
.login-panel form { display:flex;flex-direction:column;text-align:left;gap:6px; }
.login-panel label { color:var(--accent-color);font-size:.68rem;margin-top:8px; }
.login-panel input { padding:10px;border:1px solid var(--border-color);border-radius:6px;background:var(--input-bg);color:var(--text-color);outline:none; }
.login-panel input:focus { border-color:var(--accent-color);box-shadow:0 0 8px rgba(0,191,255,.12); }
.btn-action { margin-top:14px;width:100%;background:transparent;color:var(--accent-color);padding:10px;border:1px solid var(--accent-color);border-radius:6px;cursor:pointer;transition:.25s; }
.btn-action:hover { background:var(--accent-color);color:#03111e;box-shadow:0 0 10px var(--accent-color); }
.login-mode { margin-top:24px;color:rgba(0,191,255,.48);font-size:.55rem;letter-spacing:1.5px; }
.alert.error { color:var(--error-color);border:1px solid rgba(255,76,76,.45);background:rgba(92,28,28,.45);padding:8px;border-radius:5px;font-size:.65rem;margin-bottom:12px; }
#nedry-footer { position:fixed;bottom:10px;right:15px;font-size:.68rem;letter-spacing:2px;color:rgba(0,200,255,.68);text-transform:uppercase;opacity:.72;text-shadow:0 0 5px rgba(0,200,255,.5),0 0 10px rgba(255,255,255,.25);pointer-events:none; }
@keyframes glowPulse { 0%,100%{box-shadow:0 0 7px rgba(255,188,0,.42)} 50%{box-shadow:0 0 19px rgba(255,188,0,.82)} }
@keyframes sweep { from{transform:translateX(-80%) rotate(20deg)} to{transform:translateX(80%) rotate(20deg)} }
