:root{color-scheme:dark;--bg:#000;--panel:#171b1d;--field:#0c0f10;--stroke:#303939;--text:#f1f6f3;--muted:#a9b6ae;--accent:#38f58b;--accent2:#1dcf72;--warn:#e8c78b;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100svh;color:var(--text);background:radial-gradient(ellipse 90% 25% at 50% -10%,#163421 0%,transparent 80%),#000}
button,input,select{font:inherit}
button{cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
button:disabled{cursor:not-allowed;opacity:.5}
.shell{max-width:1010px;margin:auto;padding:0 clamp(18px,4vw,48px)}
.top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 0;border-bottom:1px solid #28332c}
.wordmark{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:850;letter-spacing:.08em}
.wordmark small{font-size:10px;font-weight:650;letter-spacing:.2em;color:var(--accent);vertical-align:middle}
.mark{width:38px;height:38px;background:var(--accent);color:#06140c;display:grid;place-items:center;border-radius:12px;box-shadow:0 0 27px #38f58b22;font-size:25px}
.noreg{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 13px #38f58b66}
.hero{padding:62px 0 35px;max-width:660px}
.eyebrow,.step{font-size:11px;letter-spacing:.18em;color:var(--accent);font-weight:800}
h1{font-size:clamp(40px,6.5vw,65px);line-height:1.1;letter-spacing:-.045em;margin:14px 0 20px}
h1 span{color:var(--accent)}
h2{font-size:clamp(20px,3vw,25px);letter-spacing:-.025em;line-height:1.25;margin:6px 0}
p{margin:6px 0;color:var(--muted)}
.hero>p:last-child{font-size:16px;line-height:1.75}
.panel{background:var(--panel);border:1px solid var(--stroke);border-radius:21px;padding:clamp(20px,3vw,32px);margin:0 0 18px;box-shadow:0 14px 32px #0006}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}
.section-heading p{font-size:14px}
.soft{border:1px solid #42594d;color:var(--accent);background:#1a2b22;border-radius:11px;padding:10px 15px;white-space:nowrap;font-weight:680}
.soft:hover:not(:disabled){background:#224c35}
.soft span{font-size:18px;margin-right:5px}
.fields{display:grid;gap:12px}
.entry{border:1px solid #343e38;border-radius:14px;background:#101414;padding:18px;display:grid;gap:14px}
.entry-title{display:flex;justify-content:space-between;align-items:center;gap:12px}
.entry-title strong{font-size:14px}
.remove{color:#b6bebe;font-size:12px;background:transparent;border:0;text-decoration:underline;text-underline-offset:3px}
.remove:hover{color:#fff}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label{color:#e2eae5;display:grid;gap:6px;font-size:13px;font-weight:570}
input,select{display:block;width:100%;background:var(--field);color:var(--text);border:1px solid #3f4943;border-radius:10px;padding:12px 13px;min-height:46px;outline:none}
input::placeholder{color:#71857a}
input:focus,select:focus{border-color:var(--accent)}
.extra:empty{display:none}
.extra .stalker,.extra .credential{display:none}
.source-entry[data-protocol="XTREAM"] .credential,.source-entry[data-protocol="STALKER"] .stalker{display:grid}
.source-entry[data-protocol="STALKER"] .extra{grid-template-columns:1fr}
.review{display:grid;gap:17px}
.counter{background:#0c1210;border:1px solid #365145;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:25px;padding:14px;font-weight:650}
.counter span:nth-child(2){color:var(--accent)}
.primary{border:0;border-radius:13px;background:var(--accent);color:#03180c;min-height:54px;padding:13px 20px;font-weight:800;font-size:17px}
.primary:hover:not(:disabled){background:#61ffab}
.hint{font-size:12px;color:#a0b1a5}
#receipt[hidden]{display:none}
footer{border-top:1px solid #28332c;padding:32px 0 45px;margin-top:40px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;color:#6e8576}
#receipt-status p{background:#0c1310;border:1px solid #31463a;border-radius:10px;padding:12px}
@media(max-width:600px){.top{padding:18px 0}.noreg{font-size:10px}.wordmark{font-size:18px}.hero{padding:37px 0 25px}.section-heading{align-items:flex-start}.form-row{grid-template-columns:1fr}.panel{border-radius:16px}.counter{gap:12px;font-size:14px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* IPTV Extreme-style quick entry by protocol, preserving multi-list form. */
.source-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}
@media(max-width:600px){.source-actions{justify-content:flex-start;width:100%}.source-actions .soft{flex:1 1 auto}.section-heading:has(.source-actions){flex-wrap:wrap}}

/* Per-destination destructive action is hidden unless explicitly selected. */
.replace-confirm{display:none;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;border:1px solid #b07b59;background:#302019;color:#ffe4d0;padding:12px;border-radius:10px;font-size:13px;font-weight:500}
.target-entry[data-mode="REPLACE_ALL"] .replace-confirm{display:grid}
.replace-confirm input{width:18px;height:18px;min-height:0;accent-color:var(--accent);margin:2px 0 0}
