:root{--bg: #0f1115;--bg-card: #181b22;--bg-elev: #20242d;--border: #2a2f3a;--text: #e6e8ec;--muted: #8b93a1;--accent: #4f8cff;--accent-hover: #3f7bef;--danger: #e5534b;--star: #f2b84b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}button{cursor:pointer;font:inherit;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);padding:.5rem .9rem;border-radius:8px;transition:background .15s,border-color .15s}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.55;cursor:default}button.danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.link-btn{background:none;border:none;color:var(--accent);padding:.3rem}.link-btn:hover{text-decoration:underline}input{font:inherit;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.55rem .7rem;width:100%}input:focus{outline:none;border-color:var(--accent)}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--danger);font-size:.9rem}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:1rem}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:2rem;width:100%;max-width:360px;display:flex;flex-direction:column;gap:.8rem}.brand-big{font-size:1.8rem;font-weight:700;text-align:center}.auth-card>p{text-align:center;margin:0 0 .5rem}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.4rem 1rem;padding:.8rem 1.2rem;background:#0f1115e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.brand{font-weight:700;font-size:1.2rem}.topbar nav{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1rem}.topbar nav a{color:var(--text);text-decoration:none;font-size:.95rem}.topbar nav a:hover{color:var(--accent)}.topbar nav .user-name{color:var(--muted);font-size:.9rem}.content{max-width:720px;margin:0 auto;padding:1.2rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.1rem 1.2rem;margin-bottom:1rem;overflow:hidden}.card-image{display:block;width:calc(100% + 2.4rem);margin:-1.1rem -1.2rem .9rem;max-height:280px;object-fit:cover}.feed-toolbar{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}.card-meta{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--muted);margin-bottom:.4rem}.card-meta .source{color:var(--accent);font-weight:600}.card-meta .score{margin-left:auto;color:var(--star)}.card-title{margin:0 0 .5rem;font-size:1.15rem;line-height:1.35}.card-summary{margin:0 0 .7rem;color:#cfd3db}.card-summary-extended{padding-top:.7rem;border-top:1px solid var(--border);white-space:pre-line}.card-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem .8rem;margin-top:.2rem}.card-link{color:var(--accent);text-decoration:none;font-size:.9rem}.card-link:hover{text-decoration:underline}.expand-btn{font-size:.82rem;padding:.35rem .7rem;white-space:nowrap}.add-source .row{display:flex;gap:.6rem}.add-source .row input{flex:1}.detected{margin-top:1rem;display:flex;flex-direction:column;gap:.7rem}.detected label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--muted)}.source-item{display:flex;align-items:center;justify-content:space-between;gap:1rem}.source-item.inactive{opacity:.5}.source-name{font-weight:600}.source-actions{display:flex;gap:.5rem;flex-shrink:0}h2{font-size:1.05rem;margin:0 0 .8rem}h3{font-size:.95rem;margin:0 0 .7rem}.age-edit{margin-top:.4rem}.age-edit input{width:5rem}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.8rem;margin-bottom:1.2rem}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:.9rem 1rem}.stat-card .stat-value{font-size:1.4rem;font-weight:700}.stat-card .stat-label{color:var(--muted);font-size:.82rem}.calls-table{width:100%;border-collapse:collapse;font-size:.88rem}.calls-table th,.calls-table td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--border)}.calls-table th{color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase}.calls-table tr.call-error td{color:var(--danger)}.dashboard .card{margin-bottom:1rem;overflow-x:auto}
