:root{color-scheme:dark;--line:#1f1f1f;--line2:#333;--text:#e8e8e8;--dim:#8a8a8a;--card:#0a0a0a;--up:#4ade80;--down:#f87171;--h:40px}
*{box-sizing:border-box}
html,body{margin:0;background:#000;color:var(--text);font:14px/1.45 system-ui,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
body:not(.center){max-width:1120px;margin:0 auto;padding:0 20px 40px}
body.center{display:flex;min-height:100vh;align-items:center;justify-content:center}
.box{text-align:center;padding:24px}
h1{font-size:22px;font-weight:600;margin:0 0 12px}
a{color:var(--dim);text-decoration:none}
a:hover{color:#fff}

/* кнопки и поля одной высоты */
.btn,button,select,input,textarea{background:var(--card);color:var(--text);border:1px solid var(--line2);border-radius:8px;font:inherit;outline:none;transition:border-color .15s,background .15s}
.btn,button,select,input:not([type=checkbox]){height:var(--h);padding:0 14px}
.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;white-space:nowrap}
select{cursor:pointer}
.btn:hover,button:hover{background:#161616;border-color:#555;color:#fff}
input:focus,select:focus,textarea:focus{border-color:#777}
button:disabled{opacity:.35;cursor:default;background:var(--card);border-color:var(--line2)}
#copy,#add{background:#fff;color:#000;border-color:#fff;font-weight:600}
#copy:hover,#add:hover{background:#d8d8d8;border-color:#d8d8d8;color:#000}
input[type=file]{padding:8px 10px;line-height:22px;color:var(--dim)}
input[type=checkbox]{width:16px;height:16px;accent-color:#fff;vertical-align:middle}
textarea{display:block;width:100%;min-height:150px;padding:12px 14px;resize:vertical;font:13px/1.5 ui-monospace,Consolas,monospace}
::placeholder{color:#666}

/* шапка */
header{display:flex;align-items:center;gap:14px;padding:22px 0 18px}
header strong{font-size:22px;font-weight:700;letter-spacing:-.01em}
header .grow{flex:1;color:var(--dim)}
#stat:not(:empty)::before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--up);box-shadow:0 0 8px var(--up)}
header a{padding:8px 14px;border:1px solid var(--line2);border-radius:8px;color:var(--text)}
header a:hover{background:#161616;border-color:#555}

/* панели */
.bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}
.bar input{flex:1;min-width:200px}
.bar .msg{margin-left:4px}
.wrap{overflow-x:auto;margin-top:16px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
table{width:100%;border-collapse:collapse;white-space:nowrap}
th,td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line)}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:#111}
th{color:var(--dim);font-size:12px;font-weight:500;background:#050505}
td:first-child{font-family:ui-monospace,Consolas,monospace;font-size:13px}

/* состояние */
.up,.down,.new{font-weight:500}
.up{color:var(--up)}.down{color:var(--down)}.new{color:var(--dim)}
.up::before,.down::before,.new::before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:currentColor;vertical-align:1px}

.pager{display:flex;gap:12px;align-items:center;justify-content:center;padding:16px 0 0;color:var(--dim)}

/* админка */
section{margin-bottom:16px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#050505}
section h2{font-size:15px;margin:0 0 12px;font-weight:600}
section .wrap{margin-top:12px}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0}
.row input:not([type=file]){flex:1;min-width:220px}
.msg{color:var(--dim);min-height:1.4em}

@media(max-width:640px){
  body:not(.center){padding:0 14px 28px}
  .bar select,.bar button,.bar .btn{flex:1 1 calc(50% - 5px);min-width:0}
  .bar input{flex-basis:100%}
  th,td{padding:10px 12px}
  .hide-m{display:none}
}
