:root{--bg:#101722;--panel:#1d2939;--card:#263447;--border:#354b65;--muted:#afc0d7;--text:#f5f8fd;--accent:#abc9ff;--danger:#ffb6ad;font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:linear-gradient(160deg,#182638 0%,#0e1621 70%);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer;color:inherit}a{text-decoration:none;color:inherit}.page{max-width:1300px;padding:18px 24px 32px;margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:3px 0 16px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-logo{flex:none;display:grid;place-items:center;width:54px;height:54px;border:1px solid #7694c2;border-radius:13px;background:#30466a;font-size:29px}.static-logo{cursor:default}.brand-titles h1{font-size:clamp(21px,2.1vw,27px);margin:0}.brand-titles p{font-size:12px;color:var(--muted);margin:4px 0 0}.header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.demo-pill{font-size:11px;font-weight:600;color:#e6d0a3;background:#453923;border-radius:7px;padding:7px 9px}.navigation{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:15px 0}.flat-btn,.primary-btn{min-height:48px;min-width:92px;padding:10px 17px;border-radius:10px;border:1px solid #556d8e;background:#2b3b51;font-weight:650}.flat-btn:disabled{opacity:.35;cursor:default}.primary-btn{background:#3c6aa7;border-color:#749ed0;color:#fff}.path{font-size:13px;color:var(--muted);margin-left:5px}.tools{margin:13px 0 8px}.search-field,.text-field{width:100%;border:1px solid #5b7295;border-radius:10px;padding:11px 13px;min-height:46px;background:#111c2c;color:#fff}.search-field{max-width:470px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0 10px}.section-head h2{font-size:16px;margin:0}.count{font-size:12px;color:var(--muted)}.folder-grid,.link-grid{display:grid;gap:9px;grid-template-columns:repeat(4,minmax(0,1fr))}.bookmark-card{display:flex;align-items:center;gap:10px;border:1px solid var(--border);min-height:66px;padding:11px 13px;border-radius:12px;background:var(--panel);width:100%;text-align:left;min-width:0}.bookmark-card:hover,.bookmark-card:focus-visible,.flat-btn:hover,.primary-btn:hover,.key-btn:hover{background:#395675;border-color:#9db9e5;box-shadow:0 0 0 2px #85a5d544}.bookmark-card:hover{transform:translateY(-1px)}.bookmark-icon{font-size:25px;flex:none;min-width:31px;text-align:center}.bookmark-copy{min-width:0;flex:1}.bookmark-copy strong{font-size:14px;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bookmark-copy small{display:block;color:var(--muted);margin-top:3px;font-size:11px}.chevron{font-size:19px;color:#c0d2eb}.empty{color:var(--muted);padding:30px 12px;border:1px dashed var(--border);border-radius:12px;margin-top:15px;text-align:center}.footer{border-top:1px solid var(--border);color:var(--muted);font-size:12px;padding-top:18px;margin-top:25px}.loading{color:var(--muted);padding:28px}.notice{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);padding:11px 16px;border-radius:10px;background:#e7efff;color:#112039;box-shadow:0 6px 30px #0007;z-index:10;max-width:90vw}.notice:empty{display:none}.modal-backdrop{position:fixed;inset:0;background:#050911c9;display:flex;align-items:center;justify-content:center;padding:15px;z-index:100}.pin-panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:24px;width:min(440px,100%);box-shadow:0 20px 60px #000a;text-align:center}.pin-panel h2{margin:0 0 8px}.pin-panel .subtext{margin:0 0 15px}.number-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;max-width:340px;margin:auto}.key-btn{border:1px solid #60748f;border-radius:10px;background:#324157;min-height:59px;font-size:21px}.modal-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:12px}.pin-indicator{height:26px;letter-spacing:3px;margin:14px}.fineprint,.subtext{font-size:13px;color:var(--muted);line-height:1.5}.error-text{font-size:13px;color:var(--danger);min-height:19px}.login-card{max-width:430px;margin:8vh auto 0;padding:28px;border:1px solid var(--border);border-radius:17px;background:var(--panel);display:flex;flex-direction:column;align-items:stretch;gap:12px}.login-mark{text-align:center;font-size:32px}.login-card h1{margin:0;text-align:center}.login-card>.subtext{text-align:center}.login-form,.editor-form{display:flex;flex-direction:column;gap:11px}.login-form label,.editor-form label{font-size:13px;font-weight:650}.login-form button,.editor-form button{margin-top:6px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.setting-row{border-radius:10px;background:var(--panel);padding:14px;display:flex;justify-content:space-between;gap:12px}.setting-row strong{font-size:20px}.muted{color:var(--muted);font-size:13px}.admin-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(250px,1fr);gap:16px}.panel{border:1px solid var(--border);border-radius:14px;padding:20px;background:var(--panel);min-width:0}.panel h2{margin:0 0 10px;font-size:18px}.admin-list{max-height:530px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;margin-top:14px}.admin-entry{text-align:left;border-radius:8px;border:1px solid #354b65;min-height:49px;background:#243348;padding:9px;display:flex;justify-content:space-between;gap:10px;align-items:center}.admin-entry small{color:var(--muted);font-size:11px}.admin-entry.chosen{border-color:#a8c5f7;background:#38567b}.info-panel{margin-top:16px}:focus-visible{outline:3px solid #ffd181;outline-offset:2px}
@media(min-width:1450px){.folder-grid,.link-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:950px){.folder-grid,.link-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-layout{grid-template-columns:1fr}}@media(max-width:620px){.page{padding:12px}.folder-grid,.link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bookmark-card{min-height:65px;padding:10px}.bookmark-icon{font-size:21px;min-width:26px}.brand-logo{width:48px;height:48px;font-size:26px}.brand-titles h1{font-size:21px}.demo-pill{display:none}.stats{gap:5px}.setting-row{padding:10px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;transform:none!important}}
/* Alpha 2: source pairing and activity */
.pairing-box{margin-top:15px;padding:14px;border:1px solid #4b6a85;border-radius:12px;background:#1e3041}
.sync-source-list{margin-top:16px}.sync-source-list h3{font-size:16px}.sync-source-list .setting-row{margin:10px 0}
.activity-card{background:var(--panel-soft,#213044);margin:10px 0;border:1px solid #42516a;border-radius:10px;padding:12px}
.tiny-url{overflow-wrap:anywhere;font-size:12px;color:#b9c8dc}

/* ALFA 3 · MarcadorTV visual polish and dual theme */
:root { --panel-soft:#213044; --input-bg:#111c2c; --button-bg:#2b3b51; --button-hover:#395675; --body-gradient:linear-gradient(160deg,#182638,#0e1621 70%); }
:root[data-theme="light"] { color-scheme:light; --bg:#f6f8fc;--panel:#ffffff;--card:#eef3fa;--border:#d0dbe8;--muted:#526278;--text:#1c2d44;--accent:#245bb7;--danger:#af2921;--panel-soft:#f0f4fa;--input-bg:#ffffff;--button-bg:#e8f0fc;--button-hover:#d7e8ff;--body-gradient:linear-gradient(160deg,#f8faff,#edf3fa 70%); }
body{background:var(--body-gradient);color:var(--text)}
.theme-switch { min-width:100px; }
[data-theme="light"] .bookmark-card,[data-theme="light"] .panel,[data-theme="light"] .pin-panel,[data-theme="light"] .login-card,[data-theme="light"] .setting-row,[data-theme="light"] .activity-card {background:var(--panel);color:var(--text);border-color:var(--border)}
[data-theme="light"] .flat-btn,[data-theme="light"] .admin-entry,[data-theme="light"] .key-btn {background:var(--button-bg);color:var(--text);border-color:#bacbe1}
[data-theme="light"] .flat-btn:hover,[data-theme="light"] .bookmark-card:hover,[data-theme="light"] .bookmark-card:focus-visible,[data-theme="light"] .key-btn:hover {background:var(--button-hover)}
[data-theme="light"] .search-field,[data-theme="light"] .text-field {background:var(--input-bg);color:var(--text);border-color:#9eafc6}
[data-theme="light"] .brand-logo {background:#e1edff;border-color:#b6d1f0}
[data-theme="light"] .admin-entry.chosen{background:#d9e9ff;border-color:#3266ae}
[data-theme="light"] .chevron,[data-theme="light"] .tiny-url {color:#476488}
[data-theme="light"] .demo-pill{background:#e9f1fa;color:#314b6a}
[data-theme="light"] .pairing-box {background:#eff4fb;border-color:#b4cbe8}
[data-theme="light"] .bookmark-editor {background:#f8fafd;border-color:#c7d5e7}
[data-theme="light"] .source-card {background:#f8fafd;border-color:#c7d5e7}
[data-theme="light"] .notice{background:#183a5b;color:#fff}
/* Compact PIN for pointer-driven TCL BrowseHere. */
.modal-backdrop {padding:12px;overscroll-behavior:contain}
.pin-panel { width:min(352px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow-y:auto;padding:16px 18px;border-radius:15px; }
.pin-panel h2 {font-size:18px;margin:0 0 5px}
.pin-panel .subtext {font-size:12px;margin:0 0 5px}
.pin-panel .pin-indicator {height:22px;margin:8px 0;font-size:14px}
.pin-panel .number-grid {max-width:265px;gap:5px}
.pin-panel .key-btn {min-height:40px;font-size:17px;border-radius:8px}
.pin-panel .modal-actions{margin-top:9px;flex-wrap:nowrap}
.pin-panel .modal-actions button{min-height:41px;min-width:0;flex:1;padding:8px;font-size:13px}
.pin-panel .error-text{font-size:12px;min-height:0;margin:5px 0}
/* Main screen stays short: activity behind one deliberate button. */
.compact-section{padding:13px 17px}
.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.field{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.field label{font-size:12px;font-weight:650;color:var(--muted)}
.bookmark-editor-list{margin-top:26px;border-top:1px solid var(--border);padding-top:14px}
.bookmark-editor-list h3,.sync-source-list h3{font-size:16px}
.bookmark-editor{background:var(--panel-soft);border:1px solid var(--border);border-radius:9px;margin-top:8px;padding:8px 12px}
.bookmark-editor summary{cursor:pointer;font-size:13px;font-weight:600;padding:7px 1px}
.bookmark-editor-body{padding:5px 0 12px}
.source-card{border:1px solid var(--border);border-radius:10px;padding:14px;margin:10px 0;background:var(--panel-soft)}
.danger-btn{border-color:#ad6a67}
.activity-card{background:var(--panel-soft);margin:10px 0;border:1px solid var(--border);border-radius:10px;padding:12px}
.setting-row{align-items:center}
.setting-row strong{font-size:18px}
@media (max-height:560px){.pin-panel{padding:9px 12px}.pin-panel .key-btn{min-height:33px}.pin-panel .pin-indicator{margin:4px 0}}
@media (max-width:650px){.topbar{flex-wrap:wrap}.header-actions{justify-content:flex-end;width:100%}.row-between{align-items:flex-start}.source-card .row-between{display:block}.source-card .header-actions{margin-top:8px}}
/* Alfa 4 — administración compacta y señales de publicación */
.theme-switch{width:42px;min-width:42px!important;min-height:42px!important;padding:7px!important;font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.admin-tabs,.filter-actions,.publication-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.admin-tabs{margin:16px 0}.admin-tabs .active-tab,.filter-actions .active-tab{background:#476793;border-color:#a5c4f0}
.publication-panel{padding:14px 19px}.publication-panel .row-between{font-weight:700}.publication-counts{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:12px 0}.publication-counts strong{font-size:14px}
.publication-actions .flat-btn{min-height:42px}.publication-panel .subtext{margin:10px 0 0;font-size:12px}
.status-badge{font-size:11px;padding:5px 8px;border-radius:8px;border:1px solid transparent;font-weight:700;text-align:center;line-height:1.25;white-space:normal}
.status-public{color:#b5f0d1;background:#214b3e;border-color:#3e8f6d}.status-private{color:#d7d2ff;background:#3e345c;border-color:#7666aa}.status-pending,.status-blocked{color:#ffe2aa;background:#533c26;border-color:#8b663d}.status-hidden{color:#d6dbe5;background:#364153;border-color:#65738a}
.entry-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.admin-entry{gap:7px}.admin-entry .status-badge{max-width:140px;flex:none}.small-btn{min-height:37px;min-width:0;padding:7px 11px;font-size:12px}.filter-actions{margin-top:12px}
.effective-state{margin:10px 0 16px;padding:11px 12px;border:1px solid var(--border);background:var(--card);border-radius:10px}.effective-state .status-badge{display:inline-block}.effective-state .subtext{margin:8px 0}
.bookmark-editor summary{display:flex;align-items:center;justify-content:space-between;gap:10px}.bookmark-editor summary span:first-child{flex:1}.bookmark-editor summary .status-badge{max-width:190px}
.emoji-palette{padding:10px;margin-top:8px;border:1px solid var(--border);border-radius:10px;background:var(--card)}.emoji-palette[hidden]{display:none}.emoji-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;margin-top:8px}
.emoji-choice{background:var(--panel);border:1px solid var(--border);min-width:0;min-height:40px;border-radius:7px;font-size:22px}
.emoji-choice:hover,.emoji-choice:focus-visible{border-color:var(--accent);background:#415472}.field .small-btn{align-self:flex-start;margin-top:6px}
.advanced-settings{border:1px solid var(--border);border-radius:10px;margin-top:16px;padding:13px}.advanced-settings summary{cursor:pointer;font-weight:600}.advanced-content{margin-top:12px}.advanced-content .flat-btn{margin:6px 5px 0 0}
@media(max-width:700px){.publication-counts{flex-direction:column;align-items:flex-start;gap:5px}.admin-entry .status-badge{max-width:112px}.emoji-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-tabs .flat-btn{flex:1}}
:root[data-theme="light"] .status-public{color:#165b3a;background:#dcefe4;border-color:#a8d8bc}
:root[data-theme="light"] .status-private{color:#4c3f83;background:#eee8ff;border-color:#c8b9ea}
:root[data-theme="light"] .status-pending,:root[data-theme="light"] .status-blocked{color:#785019;background:#fff2d3;border-color:#e4c88b}
:root[data-theme="light"] .status-hidden{color:#4f5868;background:#e8edf4;border-color:#cbd4df}
