/* Страницы входа, регистрации, аккаунта и админки. Цвета берутся из style.css. */
.authpage{min-height:100vh; display:flex; flex-direction:column; align-items:center; padding:40px 16px 56px}
.authbox{width:100%; max-width:420px}
.brand--center{justify-content:center}
.brand--center .brand__logo{width:44px; height:44px}
.brand--center .brand__name{font-size:26px}
.auth__tag{text-align:center; color:var(--muted); margin:6px 0 24px}
.auth__card{padding:24px; display:flex; flex-direction:column; gap:14px}
.auth__card h1{font-size:20px}
.auth__card label{display:flex; flex-direction:column; gap:6px; font-size:13px; color:var(--muted)}
.auth__card input[type=email], .auth__card input[type=password], .auth__card input[type=text], .field-in{background:var(--surface-2); color:var(--text); border:1px solid var(--border); border-radius:8px; padding:11px 12px; font:inherit; font-size:15px; width:100%}
.auth__card input:focus-visible, .field-in:focus-visible{outline:2px solid var(--accent); outline-offset:1px}
.auth__check{display:flex !important; flex-direction:row !important; align-items:flex-start; gap:10px !important; color:var(--text) !important; font-size:13px !important; line-height:1.4}
.auth__check input{margin-top:2px; width:16px; height:16px; accent-color:var(--accent); flex:none}
.auth__err{color:var(--down); background:rgba(232,101,122,.08); border:1px solid rgba(232,101,122,.4); border-radius:8px; padding:10px 12px; font-size:14px}
.auth__ok{color:var(--up); background:rgba(63,182,139,.08); border:1px solid rgba(63,182,139,.4); border-radius:8px; padding:10px 12px; font-size:14px}
.auth__note{color:var(--warn); background:rgba(217,164,65,.08); border:1px solid rgba(217,164,65,.4); border-radius:8px; padding:10px 12px; font-size:14px}
.auth__alt{text-align:center; color:var(--muted); font-size:14px}
.auth__alt a, .auth__card a, .authbox a{color:var(--accent)}
.btn--primary{background:var(--accent); color:#0B0F14; border-color:var(--accent); font-weight:650; padding:11px 14px; font-size:15px}
.btn--primary:hover{filter:brightness(1.08); border-color:var(--accent)}
.btn:disabled{opacity:.55; cursor:default}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.pitch{list-style:none; margin:22px 0 0; padding:0; display:grid; gap:10px; color:var(--muted); font-size:14px}
.pitch li{display:flex; gap:10px; align-items:flex-start}
.pitch li::before{content:""; width:6px; height:6px; margin-top:8px; border-radius:50%; background:var(--accent); flex:none}
.auth__card .showpw{font-size:13px; color:var(--muted); display:flex; flex-direction:row; align-items:center; gap:8px}
.price{display:flex; align-items:baseline; gap:8px}
.price b{font-size:34px; font-weight:700}
.price span{color:var(--muted)}
.statusbox{display:grid; gap:4px}
.statusbox .big{font-size:18px; font-weight:650}
.pays{display:grid; gap:0; font-size:13px}
.pays div{display:flex; justify-content:space-between; gap:10px; padding:7px 0; border-bottom:1px solid var(--border)}
.pays div:last-child{border-bottom:0}
.muted{color:var(--muted)}
.authwide{max-width:1100px}
.legal{max-width:760px; width:100%}
.legal h1{font-size:24px; margin-bottom:12px}
.legal h2{font-size:16px; margin:22px 0 6px}
.legal p, .legal li{color:var(--muted); font-size:14px; line-height:1.6}
.legal ul{padding-left:20px}
.draft{border:1px dashed var(--warn); color:var(--warn); border-radius:8px; padding:10px 12px; font-size:13px; margin-bottom:16px}

/* админка */
.admin .topline{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:16px}
.tabs{display:inline-flex; border:1px solid var(--border); border-radius:8px; overflow:hidden}
.tabs button{background:var(--surface-2); color:var(--muted); border:0; border-right:1px solid var(--border); padding:8px 14px; font:inherit; cursor:pointer}
.tabs button:last-child{border-right:0}
.tabs button[aria-pressed="true"]{background:var(--accent-soft); color:var(--text); box-shadow:inset 0 -2px 0 var(--accent)}
.scrollx{overflow-x:auto}
.admin table{display:table; font-size:13px; min-width:900px}
.admin thead{display:table-header-group}
.admin tbody{display:table-row-group}
.admin tr{display:table-row; padding:0; border:0}
.admin td, .admin th{display:table-cell; padding:8px 10px; text-align:left; white-space:nowrap; vertical-align:middle; width:auto; border-bottom:1px solid var(--border)}
.admin td::before{content:none}
.admin tr:last-child td{border-bottom:0}
.acts{display:flex; gap:6px; flex-wrap:wrap}
.acts .btn{padding:3px 8px; font-size:12px}
.tag2{display:inline-block; padding:1px 8px; border-radius:999px; font-size:12px; background:var(--surface-2); border:1px solid var(--border)}
.tag2.ok{color:var(--up); border-color:rgba(63,182,139,.5)} .tag2.bad{color:var(--down); border-color:rgba(232,101,122,.5)} .tag2.warn{color:var(--warn); border-color:rgba(217,164,65,.5)}
.addban{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px}
.addban select, .addban input{background:var(--surface-2); color:var(--text); border:1px solid var(--border); border-radius:8px; padding:8px 10px; font:inherit; font-size:14px}
