:root{color-scheme:dark;--bg:#030814;--panel:#071525;--line:#1b3653;--text:#edf5ff;--muted:#7d91aa;--blue:#63aaff;--cyan:#51e5dc;--green:#54e3aa;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;color:var(--text);background:var(--bg);background-image:radial-gradient(circle at 24% 42%,rgba(37,108,188,.18),transparent 30%),radial-gradient(circle at 82% 10%,rgba(31,147,170,.11),transparent 23%),linear-gradient(rgba(85,147,220,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(85,147,220,.03) 1px,transparent 1px);background-size:auto,auto,72px 72px,72px 72px}a{color:inherit;text-decoration:none}button,input{font:inherit}
.login-header{display:flex;align-items:center;justify-content:space-between;width:min(1200px,calc(100% - 48px));min-height:82px;margin:0 auto;border-bottom:1px solid #10233a}.brand{display:inline-flex;align-items:center;gap:12px}.brand-mark{display:grid;width:39px;height:39px;place-items:center;border:1px solid rgba(97,169,255,.55);border-radius:12px;color:#05101f;background:linear-gradient(145deg,#9bc9ff,#4b9dff);box-shadow:0 0 35px rgba(67,145,241,.18);font:900 17px/1 ui-monospace,Consolas,monospace}.brand-copy{display:grid;gap:3px}.brand-copy strong{font-size:17px}.brand-copy small{color:#62758e;font:800 7px/1 ui-monospace,Consolas,monospace;letter-spacing:.18em}.back-link{display:flex;align-items:center;gap:10px;color:#778ba3;font-size:12px;font-weight:750;transition:color .2s}.back-link:hover{color:#d8e9fb}.back-link span{color:var(--blue);font-size:16px}
.login-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,470px);align-items:center;gap:clamp(65px,10vw,155px);width:min(1200px,calc(100% - 48px));min-height:calc(100vh - 172px);margin:0 auto;padding:70px 0}.login-intro{max-width:620px}.eyebrow{display:inline-flex;align-items:center;gap:9px;margin:0 0 25px;padding:9px 13px;border:1px solid rgba(81,229,220,.27);border-radius:999px;color:#64d9d6;background:rgba(34,155,160,.07);font:850 9px/1 ui-monospace,Consolas,monospace;letter-spacing:.13em}.eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 5px rgba(81,229,220,.07),0 0 14px rgba(81,229,220,.72)}h1{margin:0;font-size:clamp(49px,5vw,76px);line-height:1;letter-spacing:-.06em}h1 span{color:transparent;background:linear-gradient(90deg,#6daeff,#55dfd9);background-clip:text;-webkit-background-clip:text}.login-intro>p:not(.eyebrow){max-width:610px;margin:29px 0 0;color:#7d90a8;font-size:15px;line-height:1.8}.login-intro ul{display:grid;gap:8px;margin:36px 0 0;padding:0;list-style:none}.login-intro li{display:flex;align-items:center;gap:15px;max-width:480px;padding:12px 0;border-bottom:1px solid #13273e}.login-intro li>b{color:#4f8dca;font:900 10px/1 ui-monospace,Consolas,monospace}.login-intro li>span{display:grid;gap:4px}.login-intro li strong{font-size:12px}.login-intro li small{color:#637890;font-size:10px}
.access-card{position:relative;padding:31px;border:1px solid #244462;border-radius:22px;background:linear-gradient(155deg,rgba(13,31,52,.98),rgba(5,14,27,.98));box-shadow:0 40px 120px rgba(0,3,11,.52),inset 0 1px rgba(255,255,255,.025);overflow:hidden}.access-card::before{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 85% 0,rgba(75,158,255,.14),transparent 17rem);content:""}.access-card>*{position:relative}.access-head{display:flex;align-items:center;gap:13px}.access-icon{display:grid;width:46px;height:46px;flex:0 0 auto;place-items:center;border:1px solid rgba(94,171,255,.35);border-radius:13px;color:#72b9ff;background:rgba(71,151,242,.09)}.access-icon svg{width:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.access-head p{margin:0 0 5px;color:#66aefa;font:850 8px/1 ui-monospace,Consolas,monospace;letter-spacing:.14em}.access-head h2{margin:0;font-size:24px;letter-spacing:-.035em}.access-copy{margin:20px 0 23px;color:#768ba3;font-size:11px;line-height:1.7}form{display:grid;gap:15px}label{display:grid;gap:8px}label>span{color:#8296ad;font-size:9px;font-weight:850}input{width:100%;height:49px;padding:0 14px;border:1px solid #274865;border-radius:10px;outline:0;color:#e7f1fc;background:#050f1d;font-size:13px;transition:border-color .2s,box-shadow .2s}input::placeholder{color:#465b73}input:focus{border-color:#5c9ddd;box-shadow:0 0 0 3px rgba(70,151,237,.11)}button{border:0;cursor:pointer}.password-login{display:flex;min-height:52px;align-items:center;justify-content:space-between;margin-top:2px;padding:0 18px;border-radius:11px;color:#06111e;background:linear-gradient(135deg,#85c0ff,#4d9fff);font-size:12px;font-weight:900;box-shadow:0 16px 35px rgba(62,136,225,.18)}.password-login:disabled,.telegram-login:disabled{cursor:wait;opacity:.65}.password-login b{font-size:17px}#login-error{min-height:14px;margin:-5px 0 0;color:#ff8394;font-size:10px;line-height:1.4}.divider{display:flex;align-items:center;gap:12px;margin:19px 0;color:#52677f;font:800 7px/1 ui-monospace,Consolas,monospace;text-transform:uppercase;letter-spacing:.12em}.divider::before,.divider::after{height:1px;flex:1;background:#1a334c;content:""}
.telegram-login{display:grid;width:100%;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:58px;padding:0 14px;border:1px solid #315879;border-radius:11px;color:#cfe5fa;background:#08182a;text-align:left;transition:border-color .2s,background .2s}.telegram-login:hover{border-color:#58a2e3;background:#0b2037}.telegram-login svg{width:23px;fill:none;stroke:#62b7ff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.telegram-login>span{display:grid;gap:4px}.telegram-login strong{font-size:10px}.telegram-login small{color:#637b95;font-size:8px}.telegram-login>b{color:#619bd2}.telegram-flow{margin-top:12px;padding:13px;border:1px solid #2d5576;border-radius:11px;background:#071829}.telegram-flow[hidden]{display:none}.flow-status{display:flex;align-items:center;gap:11px}.flow-status>i{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#f1c756;box-shadow:0 0 13px rgba(241,199,86,.45)}.flow-status>span{display:grid;gap:4px}.flow-status strong{font-size:9px}.flow-status small{color:#6d8299;font-size:8px}.telegram-flow>a{display:inline-block;margin-top:11px;color:#68adf0;font-size:9px;font-weight:800}.telegram-flow.success{border-color:rgba(84,227,170,.35)}.telegram-flow.success .flow-status>i{background:var(--green)}.telegram-flow.error{border-color:rgba(255,110,131,.38)}.telegram-flow.error .flow-status>i{background:#ff6e83}.access-footer{display:flex;justify-content:center;gap:6px;margin-top:18px;color:#647a91;font-size:9px}.access-footer a{color:#70b3f3;font-weight:850}.secure-note{display:flex;align-items:center;justify-content:center;gap:7px;margin:18px 0 0;padding-top:16px;border-top:1px solid #173047;color:#536a82;font-size:8px}.secure-note i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 9px rgba(84,227,170,.6)}
footer{display:flex;align-items:center;justify-content:space-between;width:min(1200px,calc(100% - 48px));min-height:90px;margin:0 auto;border-top:1px solid #10233a;color:#4f637a;font:700 9px/1.6 ui-monospace,Consolas,monospace}footer p{margin:0}@media(max-width:850px){.login-stage{grid-template-columns:1fr;max-width:600px;gap:48px;padding:55px 0}.login-intro{max-width:560px}.access-card{order:-1;width:100%}footer{max-width:600px}}@media(max-width:520px){.login-header,.login-stage,footer{width:calc(100% - 28px)}.login-header{min-height:70px}.brand-mark{width:36px;height:36px}.brand-copy small{display:none}.back-link{font-size:10px}.login-stage{padding:30px 0 44px}.eyebrow{margin-bottom:21px;font-size:8px}h1{font-size:clamp(44px,13vw,61px)}.login-intro>p:not(.eyebrow){font-size:13px}.login-intro ul{margin-top:25px}.access-card{padding:23px 18px;border-radius:18px}.access-head h2{font-size:22px}.access-copy{font-size:10px}footer{align-items:flex-start;flex-direction:column;justify-content:center;gap:7px;padding:22px 0}footer p{margin:0}}


/* ============================================================
   Forkline · login, aligned with the dashboard navy theme
   2026-08-24 · visual only
   ============================================================ */
:root {
  --bg: #040913;
  --panel: #07101c;
  --line: #1b3049;
  --text: #edf5ff;
  --muted: #8ea4bd;
  --blue: #5ba8fb;
  --cyan: #56d7d0;
  --green: #43dda7;
  font-family: Manrope, ui-sans-serif, system-ui, sans-serif;
}
html { background: #040913; }
body {
  color: #edf5ff;
  background:
    radial-gradient(circle at 76% -8%, rgba(45, 109, 192, .2), transparent 34rem),
    linear-gradient(180deg, #050b16, #03070f);
  font-family: Manrope, ui-sans-serif, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, .brand strong { font-family: "Space Grotesk", Manrope, sans-serif; font-weight: 600; }
h1 { letter-spacing: -.055em; }
input, button, select { font-family: Manrope, ui-sans-serif, system-ui, sans-serif; }
:focus-visible { outline: 2px solid #58a8ff; outline-offset: 2px; }
::selection { color: #edf5ff; background: rgba(88, 168, 255, .28); }

.brand-mark {
  border: 1px solid rgba(119, 185, 255, .42);
  color: #06101d;
  background: linear-gradient(145deg, #83c3ff, #4a97ee);
  box-shadow: 0 12px 30px rgba(43, 122, 219, .22), inset 0 1px rgba(255, 255, 255, .26);
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 900;
}
.brand-copy small,
.eyebrow,
.access-head p { font-family: "JetBrains Mono", ui-monospace, monospace; font-weight: 800; letter-spacing: .14em; }
.eyebrow { color: #72e4b9; }
.access-head p { color: #6fb3ff; }
.back-link { color: #7f91a8; font-size: 11px; font-weight: 650; }
.back-link:hover { color: #e9f4ff; }

.access-card {
  border: 1px solid #233d5b;
  border-radius: 21px;
  background: linear-gradient(155deg, rgba(13, 29, 49, .98), rgba(6, 15, 28, .98));
  box-shadow: 0 34px 100px rgba(0, 4, 13, .5), inset 0 1px rgba(255, 255, 255, .025);
}
.access-icon { border: 1px solid rgba(94, 171, 255, .35); border-radius: 13px; color: #72b9ff; background: rgba(71, 151, 242, .09); }
.access-icon svg { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.access-copy { color: #8395ac; font-size: 12px; line-height: 1.58; }

#login-form label > span { color: #9fb1c6; font-size: 10px; font-weight: 700; }
#login-form input {
  border: 1px solid #29486c;
  border-radius: 10px;
  color: #edf5ff;
  background: #06111f;
  font-size: 14px;
}
#login-form input:focus { border-color: #5ba8fb; box-shadow: 0 0 0 3px rgba(79, 159, 255, .1); }
#login-form input::placeholder { color: #55708c; }
.password-login {
  border: 1px solid #64aef5;
  border-radius: 10px;
  color: #06101e;
  background: linear-gradient(140deg, #7fc0ff, #4e9df4);
  font-size: 11px;
  font-weight: 820;
}
.password-login:hover { filter: brightness(1.08); }
#login-error { color: #ff98a1; font-size: 10.5px; }
.divider span { color: #5d7087; font-size: 8px; font-weight: 700; letter-spacing: .08em; }
.divider::before, .divider::after,
.divider span::before, .divider span::after { background: #1c314a; }
.telegram-login {
  border: 1px solid #2a4b70;
  border-radius: 11px;
  color: #dcecff;
  background: #0a1a2d;
}
.telegram-login:hover { border-color: #4e8ac9; background: #0d2036; }
.telegram-login svg { fill: none; stroke: #63b6ff; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.telegram-login strong { font-size: 11px; font-weight: 700; }
.telegram-login small { color: #6f839c; font-size: 8.5px; }
.telegram-flow {
  border: 1px solid #1b3049;
  border-radius: 11px;
  background: rgba(8, 20, 35, .7);
}
.telegram-flow a { color: #82bcf8; }
.access-footer { color: #71859d; font-size: 9.5px; }
.access-footer a { color: #82bcf8; font-weight: 750; }
.secure-note { color: #546980; font-size: 8px; }
.secure-note i { background: #4bd4a3; }

.login-intro > p { color: #8d9eb4; line-height: 1.65; }
.login-intro h1 span { color: transparent; background: linear-gradient(100deg, #72b9ff 5%, #56d7d0 82%); background-clip: text; -webkit-background-clip: text; }
.login-intro ul li { border-color: #1b3049; background: rgba(8, 20, 35, .6); }
.login-intro ul b { color: #72b9ff; font-family: "JetBrains Mono", ui-monospace, monospace; font-weight: 800; }
.login-intro ul strong { color: #eaf3ff; font-size: 12.5px; font-weight: 600; }
.login-intro ul small { color: #75889f; font-size: 10px; }
.login-header { border-bottom: 1px solid #12233a; }
footer { border-top: 1px solid #12233a; color: #4d6078; }
footer span, footer p { color: #4d6078; font-size: 9.5px; }

/* Standalone authorization: keep the form as the only page content. */
.login-stage {
  display: grid;
  grid-template-columns: minmax(0, 470px);
  place-content: center;
  width: min(100% - 32px, 470px);
  min-height: 100dvh;
  margin: 0 auto;
  padding: 32px 0;
}
.access-card { width: 100%; }

@media (max-width: 520px) {
  .login-stage {
    width: calc(100% - 24px);
    min-height: 100dvh;
    padding: 18px 0;
  }
}
