:root{--bg:#0d0f14;--panel:#151925;--panel2:#1c2131;--line:#262c3d;--text:#e8ebf3;--muted:#8b93a8;--accent:#ff4d6d;--accent2:#ffb347;--ok:#3ddc97;--link:#6fb3ff}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:var(--link)}
.hidden{display:none!important}
.screen{min-height:100vh}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px}
.login-card{max-width:420px;margin:12vh auto;display:flex;flex-direction:column;gap:14px}
.brand{display:flex;gap:14px;align-items:center}
.brand h1{margin:0;font-size:22px}
.brand h1 em{color:var(--accent);font-style:normal}
.brand p{margin:2px 0 0;color:var(--muted);font-size:13px}
.brand.small h1{font-size:17px}
.logo{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:800;letter-spacing:.5px}
.brand.small .logo{width:32px;height:32px;font-size:12px;border-radius:9px}
label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted)}
input{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:9px;padding:10px 12px;font-size:15px;outline:none}
input:focus{border-color:var(--accent)}
form{display:flex;flex-direction:column;gap:12px}
.btn{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:9px;padding:9px 14px;font-size:14px;cursor:pointer}
.btn:hover{border-color:var(--muted)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
.btn.ghost{background:transparent}
.err{color:var(--accent);margin:0;min-height:1.2em;font-size:13px}
.pw-wrap{position:relative;display:flex}
.pw-wrap input{flex:1;padding-right:44px}
.eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:transparent;border:0;color:var(--muted);font-size:18px;cursor:pointer;padding:6px 8px;border-radius:8px;line-height:1}
.eye:hover{color:var(--text);background:var(--panel2)}
.eye.on{color:var(--accent)}
.muted{color:var(--muted);font-size:13px}

.top{display:flex;align-items:center;gap:16px;padding:12px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(13,15,20,.92);backdrop-filter:blur(8px);z-index:5;flex-wrap:wrap}
.status{flex:1;color:var(--muted);font-size:13px;min-width:200px}
.status b{color:var(--ok);font-weight:600}
.user{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--muted)}
.tabs{display:flex;gap:4px;padding:12px 16px 0}
.tab{background:transparent;border:0;color:var(--muted);padding:10px 14px;font-size:15px;cursor:pointer;border-bottom:2px solid transparent}
.tab.active{color:var(--text);border-color:var(--accent)}
.count{background:var(--panel2);border-radius:999px;padding:0 7px;font-size:12px}
.filters{display:flex;gap:10px;align-items:center;padding:12px 16px;flex-wrap:wrap}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.seg button{background:transparent;border:0;color:var(--muted);padding:8px 14px;cursor:pointer}
.seg button.active{background:var(--panel2);color:var(--text)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:5px 11px;font-size:13px;cursor:pointer}
.chip.active{color:var(--text);border-color:var(--accent);background:rgba(255,77,109,.12)}
#search{flex:1;min-width:220px}
.meta{padding:0 16px;color:var(--muted);font-size:13px;margin:0 0 6px}

.list{display:flex;flex-direction:column;gap:10px;padding:0 16px 40px;max-width:1100px}
.item{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:grid;grid-template-columns:56px 1fr auto;gap:12px}
.rank{font-size:22px;font-weight:800;color:var(--muted);text-align:center;padding-top:4px}
.rank.top{color:var(--accent2)}
.head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:6px}
.badge{border:1px solid var(--line);border-radius:6px;padding:1px 7px;text-transform:uppercase;letter-spacing:.4px;font-size:11px}
.badge.pornhub{color:#ffb347}.badge.xvideos{color:#ff6b6b}.badge.xhamster{color:#ff9f43}.badge.redtube{color:#ff4d6d}.badge.eporner{color:#a29bfe}
.views{font-weight:700;color:var(--text);font-size:14px}
.title{font-size:17px;font-weight:700;margin:0 0 4px;line-height:1.3}
.title-pt{color:#c7cde0;margin:0 0 8px;font-size:15px}
.summary{color:var(--muted);font-size:14px;line-height:1.5;margin:0}
.summary b{color:var(--text);font-weight:600}
.summary .src{font-size:11px;color:var(--muted);opacity:.7;margin-left:6px}
.actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.heart{background:transparent;border:1px solid var(--line);border-radius:999px;width:42px;height:42px;font-size:20px;cursor:pointer;color:var(--muted);line-height:1}
.heart.on{color:var(--accent);border-color:var(--accent);background:rgba(255,77,109,.12)}
.mini{font-size:12px;padding:6px 10px}
.saved{font-size:11px;color:var(--muted)}
.empty{color:var(--muted);padding:30px 0;text-align:center}
.days{color:#9fd3ff}
.roles{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13px}
.roles li{border-top:1px solid var(--line);padding-top:8px;line-height:1.45}
.roles .vt{color:var(--text)}
.roles a{margin-left:6px;font-size:12px}

.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:grid;place-items:center;padding:16px;z-index:20}
.modal .card{width:100%;max-width:440px;display:flex;flex-direction:column;gap:12px;max-height:92vh;overflow:auto}
.modal .card.wide{max-width:820px}
.modal h2{margin:0;font-size:18px}.modal h3{margin:8px 0 0;font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.row.between{justify-content:space-between}
form.row{flex-direction:row}
form.row input{flex:1;min-width:160px}
table.users{width:100%;border-collapse:collapse;font-size:13px}
table.users th,table.users td{text-align:left;padding:7px 6px;border-bottom:1px solid var(--line);vertical-align:middle}
table.users th{color:var(--muted);font-weight:500}
.tag{background:var(--panel2);border-radius:6px;padding:1px 7px;font-size:12px}
.tag.admin{color:var(--accent2)}
.off{opacity:.5}
pre#logBox{background:#0a0c11;border:1px solid var(--line);border-radius:9px;padding:10px;font-size:12px;max-height:260px;overflow:auto;white-space:pre-wrap;margin:0}
code.pw{background:var(--panel2);padding:2px 6px;border-radius:5px;user-select:all}

@media (max-width:700px){
  .item{grid-template-columns:1fr;gap:8px}
  .rank{text-align:left;font-size:16px;padding:0}
  .actions{flex-direction:row;align-items:center;justify-content:flex-start}
  .top{gap:8px}.status{order:3;width:100%}
}
