:root{--bg:#07110e;--panel:#0e1b17;--line:#263832;--text:#f5f7f2;--muted:#94a49e;--lime:#b8ff55;--orange:#ff7a3d}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% 10%,#173329 0,transparent 34%),var(--bg);color:var(--text);font-family:Manrope,Arial,sans-serif}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,520px) 1fr}.auth-panel{padding:42px clamp(28px,5vw,72px);display:flex;flex-direction:column;justify-content:center;background:rgba(8,18,15,.88);border-right:1px solid var(--line)}.brand{position:absolute;top:28px;left:36px;color:#fff;text-decoration:none;font-weight:800;font-size:22px}.brand span{color:var(--lime)}.eyebrow{color:var(--lime);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}h1{font-size:clamp(38px,5vw,64px);line-height:1;margin:12px 0 18px}p{color:var(--muted);line-height:1.6}.tabs{display:flex;gap:8px;margin:26px 0}.tabs button{flex:1;border:1px solid var(--line);background:transparent;color:var(--muted);padding:13px;border-radius:10px;font-weight:700}.tabs button.active{background:var(--lime);color:#0a120f;border-color:var(--lime)}form{display:grid;gap:14px}label{display:grid;gap:7px;color:#ccd5d1;font-size:13px;font-weight:700}input{width:100%;background:#0b1612;border:1px solid var(--line);border-radius:10px;color:#fff;padding:14px 15px;font:inherit;outline:none}input:focus{border-color:var(--lime);box-shadow:0 0 0 3px #b8ff5520}.button{border:0;border-radius:10px;background:var(--lime);color:#07110e;padding:15px;font-weight:800;font-size:15px;cursor:pointer}.button.secondary{background:transparent;color:#fff;border:1px solid var(--line)}.small-link{color:var(--lime);text-decoration:none;font-size:13px}.message{min-height:22px;font-size:14px}.message.error{color:#ff9b78}.message.success{color:var(--lime)}.auth-art{display:flex;align-items:center;justify-content:center;padding:8vw;background:linear-gradient(135deg,#10271f,#07110e)}.art-card{max-width:620px}.art-card strong{font-size:clamp(48px,8vw,110px);line-height:.85;display:block}.art-card strong em{color:var(--lime);font-style:normal}.hidden{display:none!important}.account-shell,.admin-shell{max-width:1180px;margin:auto;padding:100px 28px 60px}.topnav{position:fixed;inset:0 0 auto;height:70px;background:#07110ef2;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;z-index:3}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:28px}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px}.card small{color:var(--muted);display:block;margin-bottom:8px}.card strong{font-size:22px}.admin-table{width:100%;border-collapse:collapse;margin-top:24px;background:var(--panel);border-radius:14px;overflow:hidden}.admin-table th,.admin-table td{text-align:left;padding:14px;border-bottom:1px solid var(--line);font-size:13px}.admin-table th{color:var(--muted)}.action{border:1px solid var(--line);background:transparent;color:#fff;border-radius:7px;padding:7px 9px;margin:2px;cursor:pointer}.danger{color:#ff9b78}.status{padding:4px 8px;border-radius:99px;background:#b8ff5518;color:var(--lime)}.status.blocked{background:#ff7a3d18;color:#ff9b78}@media(max-width:780px){.auth-shell{grid-template-columns:1fr}.auth-art{display:none}.auth-panel{border:0}.brand{left:28px}.admin-table{display:block;overflow-x:auto}}

/* Login and registration layout: one-screen desktop fit without changing admin pages. */
@media (min-width: 781px) {
  body:has(.auth-shell) { height: 100vh; height: 100svh; overflow: hidden; }
  .auth-shell { height: 100vh; height: 100svh; min-height: 0; grid-template-columns: minmax(360px, 440px) 1fr; }
  .auth-shell .auth-panel { min-height: 0; padding: 64px clamp(36px, 4vw, 58px) 12px; }
  .auth-shell + script { display: none; }
  body:has(.auth-shell) > .brand { top: 18px; left: 28px; z-index: 2; }
  .auth-panel > .eyebrow { font-size: 11px; line-height: 14px; }
  .auth-panel > h1 { font-size: clamp(38px, 3.6vw, 46px); line-height: .98; margin: 8px 0 10px; }
  .auth-panel > p { margin: 0; font-size: 14px; line-height: 1.35; }
  .auth-panel .tabs { margin: 10px 0; }
  .auth-panel .tabs button { padding: 9px 10px; }
  .auth-panel form { gap: 6px; }
  .auth-panel label { gap: 3px; font-size: 12px; }
  .auth-panel input { min-height: 36px; padding: 8px 11px; }
  .auth-panel .button { min-height: 38px; padding: 9px 12px; }
  .auth-panel .message { min-height: 16px; font-size: 12px; line-height: 16px; }
  .auth-panel .small-link { font-size: 12px; line-height: 16px; }
  .auth-panel #register-form > p { margin: 0; font-size: 12px; line-height: 16px; }
  .auth-shell .auth-art { min-height: 0; padding: clamp(36px, 6vw, 80px); }
  .auth-shell .art-card { width: min(100%, 720px); max-width: 720px; margin: auto; text-align: center; }
  .auth-shell .art-card > .eyebrow { display: block; margin-bottom: 12px; }
  .auth-shell .art-card strong { font-size: clamp(54px, 6.4vw, 82px); line-height: 1.02; text-align: center; }
}

@media (max-width: 780px) {
  body:has(.auth-shell) { overflow-x: hidden; }
  .auth-shell .auth-panel { min-height: 100vh; min-height: 100svh; padding: 76px 28px 24px; justify-content: flex-start; }
  body:has(.auth-shell) > .brand { top: 22px; }
  .auth-panel > h1 { font-size: clamp(36px, 12vw, 52px); line-height: 1; }
}
