/* EPG collector page styles — scoped under .epg-page */
.epg-page{max-width:1100px;margin:0 auto;padding:28px 24px 60px;--epg-line:#dce6f2;--epg-muted:#5b6b8c;--epg-accent:#2e7d32;--epg-blue:#1d6fd1;--epg-red:#c62828;--epg-amber:#b26a00}
.epg-page .epg-eyebrow{font-size:12px;letter-spacing:.08em;color:var(--epg-muted);text-transform:uppercase}
.epg-page h1{font-size:32px;margin:0 0 6px;font-weight:800;letter-spacing:-.02em}
.epg-page .sub{color:var(--epg-muted);margin:0 0 22px;font-size:15px;max-width:760px}
.epg-page .epg-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.epg-page .epg-heading-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.epg-page .epg-heading-row h3{margin:0 0 4px}
.epg-page .epg-heading-row .desc{margin:0}
.epg-page .card{background:#fff;border:1px solid var(--epg-line);border-radius:12px;padding:20px 22px;margin:0 0 24px}
.epg-page .card h3{font-size:17px;margin:0 0 4px}
.epg-page .card .desc{color:var(--epg-muted);font-size:13px;margin:0 0 14px}
.epg-page table{width:100%;border-collapse:collapse;font-size:14px}
.epg-page th{text-align:left;font-size:11px;letter-spacing:.07em;color:var(--epg-muted);text-transform:uppercase;padding:9px 12px;background:#f2f6fc;border-bottom:1px solid var(--epg-line)}
.epg-page td{padding:11px 12px;border-bottom:1px solid var(--epg-line);vertical-align:middle}
.epg-page tr:last-child td{border-bottom:0}
.epg-page .epg-table-wrap{overflow-x:auto}
.epg-page .num-r{text-align:right;white-space:nowrap}
.epg-page .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;color:#24395e;word-break:break-all}
.epg-page .epg-url{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.epg-page .btn{border:0;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:700;cursor:pointer}
.epg-page .btn-green{background:var(--epg-accent);color:#fff}
.epg-page .act{display:inline-block;min-width:72px;text-align:center;border:1.5px solid var(--epg-blue);color:var(--epg-blue);background:#fff;border-radius:8px;padding:6px 0;font-size:12.5px;font-weight:700;margin-left:8px;cursor:pointer}
.epg-page .act.red{border-color:var(--epg-red);color:var(--epg-red)}
.epg-page .act:disabled{opacity:.5;cursor:default}
.epg-page .tag{display:inline-flex;align-items:center;gap:6px;border-radius:6px;padding:4px 10px;font-size:12.5px;font-weight:700;white-space:nowrap;border:0}
.epg-page button.tag{cursor:pointer}
.epg-page .dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.epg-page .t-ok{background:#e2f3e4;color:#1b5e20}.epg-page .t-ok .dot{background:#2e7d32}
.epg-page .t-stale{background:#fff2dd;color:var(--epg-amber)}.epg-page .t-stale .dot{background:var(--epg-amber)}
.epg-page .t-none{background:#fde3e3;color:var(--epg-red)}.epg-page .t-none .dot{background:var(--epg-red)}
.epg-page .t-off{background:#e8eef7;color:var(--epg-muted)}.epg-page .t-off .dot{background:#9aa9bf}
.epg-page .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.epg-page .stat{background:#f7fafd;border:1px solid var(--epg-line);border-radius:10px;padding:14px 16px}
.epg-page .stat .num{font-size:24px;font-weight:800}
.epg-page .stat .lbl{font-size:12px;color:var(--epg-muted);margin-top:2px;line-height:1.35}
.epg-page .stat .num.ok{color:var(--epg-accent)}.epg-page .stat .num.warn{color:var(--epg-amber)}
.epg-page .chips{display:flex;gap:8px;flex-wrap:wrap}
.epg-page .chip{border:1.5px solid var(--epg-line);background:#fff;color:var(--epg-muted);border-radius:999px;padding:5px 14px;font-size:12.5px;font-weight:700;cursor:pointer}
.epg-page .chip.on{border-color:var(--epg-blue);color:var(--epg-blue);background:#eef5fd}
.epg-page .note{font-size:12.5px;color:var(--epg-muted);margin-top:12px;line-height:1.5}
.epg-page .epg-form{display:grid;grid-template-columns:170px 170px 1fr 110px auto auto;gap:10px;align-items:center;background:#f7fafd;border:1.5px dashed var(--epg-blue);border-radius:10px;padding:12px;margin-top:10px}
.epg-page .epg-form input,.epg-page .epg-form select{border:1px solid var(--epg-line);border-radius:7px;padding:9px 11px;font-size:13px;color:#16294a;background:#fff;width:100%}
.epg-page .epg-form .actions{display:flex;gap:8px}
.epg-page .epg-form .epg-enabled{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}
.epg-page .epg-form .epg-enabled input{width:auto}
.epg-page .btn-sm{border:0;border-radius:7px;padding:9px 16px;font-size:12.5px;font-weight:700;min-width:80px;cursor:pointer}
.epg-page .btn-save{background:var(--epg-accent);color:#fff}
.epg-page .btn-cancel{background:#fff;border:1.5px solid var(--epg-line);color:var(--epg-muted)}
.epg-page .card.legacy{border:1.5px dashed #c3cfe0;background:#f6f9fc}
.epg-page .badge-old{font-size:11px;font-weight:800;color:var(--epg-muted);background:#e2e9f2;border-radius:6px;padding:3px 9px;margin-left:8px;letter-spacing:.04em;vertical-align:middle}
.epg-page .epg-legacy-link{margin-top:12px}
.epg-page .divider{display:flex;align-items:center;gap:14px;margin:34px 0 20px;color:var(--epg-muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.epg-page .divider:before,.epg-page .divider:after{content:"";flex:1;height:1px;background:#c8d4e4}
.epg-page .modal-bg{position:fixed;inset:0;background:rgba(22,41,74,.45);display:flex;align-items:center;justify-content:center;z-index:20}
.epg-page .modal{background:#fff;border-radius:12px;max-width:420px;width:calc(100% - 40px);padding:22px 24px;box-shadow:0 12px 40px rgba(0,0,0,.25)}
.epg-page .modal h4{margin:0 0 8px;font-size:17px}
.epg-page .modal p{margin:0 0 18px;font-size:13.5px;color:var(--epg-muted);line-height:1.5}
.epg-page .modal .row{display:flex;justify-content:flex-end;gap:10px}
.epg-page .btn-del{background:var(--epg-red);color:#fff;border:0;border-radius:7px;padding:9px 18px;font-size:13px;font-weight:700;cursor:pointer}
.epg-page .epg-error{background:#fde3e3;color:var(--epg-red);border-radius:8px;padding:10px 14px;margin-bottom:16px;font-size:13.5px;font-weight:600}
.epg-page .epg-empty{text-align:center;color:var(--epg-muted);padding:24px}
.epg-page .epg-refresh{border:1.5px solid var(--epg-line);background:#fff;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:700;color:var(--epg-blue);cursor:pointer}
.epg-page .epg-refresh span{margin-right:6px}
@media(max-width:900px){.epg-page .epg-form{grid-template-columns:1fr 1fr}}
.epg-page .epg-search{width:100%;max-width:340px;border:1px solid var(--epg-line);border-radius:7px;padding:8px 11px;font-size:13px;color:#16294a;background:#fff;margin:0 0 12px}
.epg-page .epg-pager-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;font-size:12px;color:#6b7d90}
.epg-page .epg-pagination{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.epg-page .epg-pagination button{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:5px 10px;border:1px solid #dbe3ed;border-radius:5px;background:#fff;color:#536b82;font-size:12px;cursor:pointer}
.epg-page .epg-pagination button:enabled:hover{border-color:#b9cadb;background:#f5f8fc;color:#385a7b}
.epg-page .epg-pagination button:disabled{opacity:.55;cursor:default}
.epg-page .epg-pagination button[aria-current="page"]{border-color:#c5d5e7;background:#edf3fa;color:#315a85;font-weight:600}
.epg-page .epg-gap{padding:0 4px;color:#8f9ead}
.epg-page .epg-perpage select{height:32px;padding:4px 8px;border:1px solid #dbe3ed;border-radius:5px;background:#fff;color:#536b82;font-size:12px;margin-left:4px}
.epg-page .epg-form.epg-form-legacy{grid-template-columns:1fr 220px 170px auto}
.epg-page .epg-muted{color:var(--epg-muted);font-size:12.5px}
.epg-page .epg-health{font-size:13px;padding:6px 12px}
.epg-page .epg-feeds{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.epg-page .epg-feed{border:1px solid var(--epg-line);border-radius:10px;padding:12px 14px;background:#f7fafd}
.epg-page .epg-feed-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:14px}
.epg-page .epg-feed-desc{margin:3px 0 9px}
.epg-page .epg-feed-url{display:flex;align-items:center;gap:6px}
.epg-page .epg-feed-url code{flex:1;min-width:0;background:#fff;border:1px solid var(--epg-line);border-radius:6px;padding:6px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:normal}
.epg-page .epg-feed-url .act{margin-left:0;min-width:70px}
.epg-page .epg-cov-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 12px}
.epg-page .epg-cov-tools .epg-search{margin:0}
.epg-page .epg-hist{display:flex;align-items:center;gap:8px;min-width:190px}
.epg-page .epg-hist-bar{flex:0 0 80px;height:8px;border-radius:4px;background:#e8eef7;overflow:hidden}
.epg-page .epg-hist-bar span{display:block;height:100%;border-radius:4px}
.epg-page .epg-hist-bar .full{background:var(--epg-accent)}
.epg-page .epg-hist-bar .part{background:var(--epg-amber)}
.epg-page .epg-hist-txt{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#24395e;white-space:nowrap}
.epg-page .epg-warn-row td{background:#fffaf0}
.epg-page .epg-warn{margin:0;padding-left:18px;font-size:12px;line-height:1.6}
