:root{
  --bg:#0f1115;
  --card:#171a21;
  --accent:#5b8cff;
  --text:#e8e9ed;
  --muted:#8a8f9c;
  --danger:#ff5b5b;
  --border:#262b36;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  min-height:100vh;
}
.hidden{display:none !important;}
.screen{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  padding:20px;
}
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  padding:28px;
  width:100%;
  max-width:420px;
  text-align:center;
}
.ban-card h1{font-size:56px;margin:0 0 10px;}
.ban-card h2{color:var(--danger);margin:0 0 10px;}
.loader{
  width:36px;height:36px;
  border:3px solid var(--border);
  border-top-color:var(--accent);
  border-radius:50%;
  margin:0 auto 12px;
  animation:spin 0.8s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg);}}

.auth-card h1{margin-top:0;}
.tabs{display:flex;gap:6px;margin-bottom:16px;}
.tab{
  flex:1;padding:10px;border:1px solid var(--border);
  background:transparent;color:var(--muted);border-radius:8px;cursor:pointer;
}
.tab.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.auth-form{display:flex;flex-direction:column;gap:10px;}
input{
  padding:12px;border-radius:8px;border:1px solid var(--border);
  background:#0f1218;color:var(--text);font-size:14px;
}
button{
  padding:12px;border-radius:8px;border:none;
  background:var(--accent);color:#fff;font-size:14px;cursor:pointer;
}
button:hover{opacity:0.9;}
.divider{color:var(--muted);margin:14px 0;font-size:12px;}
.btn-google{background:#fff;color:#111;width:100%;}
.error{color:var(--danger);font-size:13px;margin-top:10px;}

.topbar{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  padding:14px 20px;border-bottom:1px solid var(--border);
}
.btn-small{background:transparent;border:1px solid var(--border);color:var(--text);
  padding:6px 10px;border-radius:6px;font-size:12px;margin-left:6px;}
.admin-card{max-width:600px;margin:20px auto 0;text-align:left;}
.admin-card h2{margin-top:0;font-size:16px;}
#form-create{display:flex;flex-direction:column;gap:8px;}
#create-status{color:var(--muted);font-size:13px;}
.preview{
  display:flex;gap:10px;border:1px solid var(--border);border-radius:8px;
  padding:10px;margin:10px 0;align-items:center;
}
.preview img{width:56px;height:56px;object-fit:cover;border-radius:6px;background:#000;}
.preview .meta{overflow:hidden;}
.preview .meta b{display:block;font-size:14px;}
.preview .meta span{display:block;font-size:12px;color:var(--muted);
  white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}
.link-row{display:flex;gap:8px;}
.link-row input{flex:1;}
.links-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;}
.link-item{
  display:flex;justify-content:space-between;align-items:center;
  border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:13px;
}
.link-item a{color:var(--accent);text-decoration:none;}
.link-item span{color:var(--muted);}

.links-head{display:flex;justify-content:space-between;align-items:center;}
.link-out{text-decoration:none;}

.full-list-wrap{max-width:800px;margin:20px auto;padding:0 16px;width:100%;}
.full-list-controls{display:flex;gap:8px;margin-bottom:14px;align-items:center;}
.full-list-controls input{flex:1;}
.full-list-controls select{
  padding:12px;border-radius:8px;border:1px solid var(--border);
  background:#0f1218;color:var(--text);
}
.count-label{color:var(--muted);font-size:12px;white-space:nowrap;}

.full-links-list{display:flex;flex-direction:column;gap:10px;}
.full-link-item{
  display:flex;gap:12px;align-items:flex-start;
  border:1px solid var(--border);border-radius:10px;padding:12px;
  background:var(--card);
}
.full-link-item img{width:44px;height:44px;border-radius:8px;object-fit:cover;background:#000;flex-shrink:0;}
.full-link-meta{flex:1;min-width:0;}
.full-link-top{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.short-a{color:var(--accent);font-weight:600;text-decoration:none;}
.clicks-badge{font-size:11px;color:var(--muted);white-space:nowrap;}
.full-link-title{font-size:14px;margin-top:2px;}
.full-link-url{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.full-link-date{font-size:11px;color:var(--muted);margin-top:4px;}
.full-link-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0;}
.btn-danger{border-color:var(--danger) !important;color:var(--danger);}
