/* Hub-specific rules. Base look comes from theme.css (your design system). */
.wrap{padding-top:28px}.logo{display:block}
.lock{min-height:70vh;display:flex;flex-direction:column;justify-content:center;max-width:420px}.form{display:grid;gap:4px}.form .btn{margin-top:8px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px}.stat b{display:block;font-size:30px;letter-spacing:-.02em}.stat span{font-size:12px;color:var(--mut)}
.bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.sm{padding:8px 16px}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.slide{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;cursor:pointer;display:flex;flex-direction:column;gap:10px}
.slide:hover{border-color:var(--ac)}.slide.is-black{background:var(--ac);border-color:var(--ac);color:#111}
.slide-top{display:flex;justify-content:space-between;gap:8px}.slide h2{margin:0;font-size:20px;letter-spacing:-.01em}.num{font-size:12px;opacity:.55}.meta{font-size:13px;opacity:.7;word-break:break-all}
.tag{font-size:12px;border:1px solid currentColor;border-radius:999px;padding:1px 10px;opacity:.85}
progress{width:100%;height:6px;accent-color:var(--ac)}.is-black progress{accent-color:#111}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:16px 0;overflow-x:auto}
.tabs button{background:none;color:var(--mut);border-radius:0;padding:10px 16px;border-bottom:2px solid transparent}.tabs button.on{color:var(--fg);border-color:var(--ac)}
.stack{display:grid;gap:2px;margin-bottom:12px}
.row{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.row label{flex:1}.row.done label{text-decoration:line-through;color:var(--mut)}
input[type=checkbox]{width:auto;margin:0;accent-color:var(--ac)}input[type=range]{padding:0;accent-color:var(--ac)}input[type=file]{width:auto;max-width:100%;margin:4px 0}
.sev{font-size:11px;font-weight:700;text-transform:uppercase;padding:2px 9px;border-radius:999px;color:#fff;background:#555}.sev.high,.sev.critical{background:#c0392b}.sev.medium{background:#b7791f}
.find{padding:12px 0;border-bottom:1px solid var(--line)}.find p{margin:4px 0;font-size:14px;color:var(--mut)}
.msg{color:var(--mut);font-size:14px;margin:8px 0}h2{letter-spacing:-.01em}
.mt18{margin-top:18px}.mt20{margin-top:20px}.mt28{margin-top:28px}
@media(max-width:600px){.stats{grid-template-columns:1fr 1fr 1fr;gap:8px}.stat{padding:12px}.stat b{font-size:24px}}
