/* Yeabla Digital - matched to yeabla.com (Outfit font, slate + red palette) */
:root{
  --bg:#0f172a; --panel:#1e293b; --panel2:#243244; --line:#334155;
  --text:#f8fafc; --muted:#9ca3af; --muted2:#cbd5e1;
  --primary:#ef4444; --primary2:#dc2626; --primary3:#991b1b;
  --radius:14px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Outfit,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--text);min-height:100vh;
  background:linear-gradient(135deg,#0f172a,#1e293b 25%,#1a1020 50%,#1e293b 75%,#0f172a);
  background-attachment:fixed}
.muted{color:var(--muted)}
.nowrap{white-space:nowrap}
code{font-family:"JetBrains Mono","Fira Code",ui-monospace,Menlo,monospace}
a{color:var(--primary)}

.topbar{display:flex;justify-content:space-between;align-items:center;
  padding:16px 28px;border-bottom:1px solid rgba(255,255,255,.07);
  background:rgba(15,23,42,.65);backdrop-filter:blur(8px)}
.brand{display:flex;align-items:center;gap:14px}
.logo-img{height:30px;width:auto;display:block}
.brand .divider{width:1px;height:22px;background:var(--line)}
.brand .tag{font-weight:500;font-size:15px;color:var(--muted2);letter-spacing:.2px}
.userbox{display:flex;align-items:center;gap:14px;color:var(--muted)}

.wrap{width:80%;max-width:80%;margin:0 auto;padding:40px 24px 72px}

.btn{display:inline-block;border:1px solid var(--line);background:var(--panel2);color:var(--text);
  padding:10px 18px;border-radius:10px;font-size:14px;font-weight:500;text-decoration:none;
  cursor:pointer;transition:.15s;font-family:inherit}
.btn:hover{border-color:var(--primary)}
.btn.primary{background:linear-gradient(135deg,var(--primary),var(--primary2));border:none;
  color:#fff;font-weight:600;box-shadow:0 4px 14px rgba(239,68,68,.25)}
.btn.primary:hover{filter:brightness(1.07)}
.btn.ghost{background:transparent}
.btn.sm{padding:7px 14px;font-size:13px}

.login-card{max-width:400px;margin:8vh auto 0;background:var(--panel);
  border:1px solid var(--line);border-radius:var(--radius);padding:36px;
  box-shadow:0 20px 60px rgba(0,0,0,.35)}
.login-card h1{margin:0 0 6px;font-size:26px;font-weight:700}
.login-card form{display:flex;flex-direction:column;gap:16px;margin-top:22px}
.login-card label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--muted)}
.login-card input{padding:12px 14px;border-radius:10px;border:1px solid var(--line);
  background:#0e1a2b;color:var(--text);font-size:15px;font-family:inherit}
.login-card input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(239,68,68,.15)}
.alert{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.4);color:#fca5a5;
  padding:11px 13px;border-radius:10px;font-size:14px}

.dash-head h1{margin:0 0 4px;font-size:28px;font-weight:700}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.stat-num{font-size:26px;font-weight:700}
.stat-label{color:var(--muted);font-size:13px;margin-top:5px}

.notice{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--primary);
  border-radius:10px;padding:15px 18px;margin-bottom:22px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.notice code{background:#0e1a2b;padding:5px 9px;border-radius:6px;color:#fca5a5}

.about{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--primary);
  border-radius:var(--radius);padding:18px 22px;margin-bottom:6px}
.about h3{margin:0 0 6px;font-size:15px}
.about p{margin:0;color:var(--muted2);font-size:14px;line-height:1.65}
.about a{color:var(--primary)}

.bytype{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:8px}
.card-title{padding:13px 18px;font-weight:600;font-size:13px;border-bottom:1px solid var(--line);
  text-transform:uppercase;letter-spacing:.5px}
.total-row td{font-weight:700;border-top:1px solid var(--line)}
.section-h{margin:24px 0 12px;font-size:16px;font-weight:600}

.pill{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600;
  background:var(--panel2);border:1px solid var(--line);color:var(--muted2)}
.pill-web{background:rgba(59,130,246,.14);border-color:rgba(59,130,246,.4);color:#93c5fd}
.pill-db{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.4);color:#fca5a5}

.table-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
table{width:100%;border-collapse:collapse}
table.files-table{table-layout:fixed}
th,td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:top}
th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover{background:var(--panel2)}
.fname{font-family:"JetBrains Mono",monospace;font-size:12px;word-break:break-all}
.files-table .col-file{width:30%}
.files-table .col-type{width:12%}
.files-table .col-size{width:10%}
.files-table .col-sha{width:38%}
.files-table .col-dl{width:10%}
.sha code{display:block;color:var(--muted);font-size:11px;line-height:1.55;
  word-break:break-all;overflow-wrap:anywhere;white-space:normal}

.empty{background:var(--panel);border:1px dashed var(--line);border-radius:var(--radius);
  padding:44px;text-align:center;color:var(--muted)}
.help{margin-top:26px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px}
.help h3{margin:0 0 10px;font-size:15px}
.help ul{margin:0;padding-left:20px;color:var(--muted2);font-size:14px;line-height:1.75}
.help code{background:#0e1a2b;padding:2px 6px;border-radius:5px;color:var(--text)}
.help a{color:var(--primary)}

.foot{text-align:center;padding:26px;border-top:1px solid rgba(255,255,255,.07);font-size:13px}
@media(max-width:760px){.stats{grid-template-columns:1fr}.bytype{grid-template-columns:1fr}.wrap{width:96%;max-width:96%}}
