#page{min-width:0}
#page>[data-cine-live-result],.admin-area:not([hidden]),[data-chat-area]:not([hidden]),.source-control [data-source-body],.source-report{display:grid;gap:24px;min-width:0}
#page .card,#page .filter-bar,#page .table-wrap,#page .catalog-item{min-width:0}
#page .card+.card,#page .card+.filter-bar{margin-top:0}
#page .card{overflow-wrap:anywhere}
#page .card>h2{margin-top:0;margin-bottom:18px}
#page .card>h3:not(:first-child){margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
#page .card>button{margin:4px 8px 12px 0}
#page .cell-value:has(>button){display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#page .table-wrap td .cell-value>button{margin:0}
#page .filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:16px}
#page .filter-bar label{flex:1 1 180px;min-width:0;display:grid;gap:8px}
#page .filter-bar input,#page .filter-bar select{width:100%;min-width:0}
#page .filter-bar>button{flex:0 0 auto}
#page .range-query{display:grid}
#page .search-form{display:flex;flex-wrap:wrap;align-items:end;gap:16px}
#page .search-form label{flex:1 1 220px;min-width:0;display:grid;gap:8px}
#page .search-form input,#page .search-form textarea{width:100%;min-width:0}
#page .dialog-body>form,#page form.dialog-body{display:grid;gap:18px}
#page .dialog-body label{min-width:0}
#page .dialog-body input,#page .dialog-body select,#page .dialog-body textarea{max-width:100%;min-width:0}
#page .dialog-body>.filter-bar,#page form.dialog-body>.filter-bar{margin:6px 0 0;background:transparent;border:0;padding:16px 0 0;border-top:1px solid var(--line)}
#page .dialog-body>button{margin:4px 8px 8px 0}
.activity-service{grid-column:span 6;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:20px;min-width:0}
.activity-service h3{font-size:15px;margin:0 0 12px}.activity-service strong{color:var(--accent)}.activity-service p{font-size:13px;line-height:1.7}.activity-service small{color:var(--muted)}
.source-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}.source-heading h1{margin:0}.source-heading p{color:var(--muted);margin:10px 0 0}
.source-nav{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.source-nav button{background:transparent;border:1px solid var(--line)}
.source-control [data-source-live]{padding:14px 18px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;margin:0;font-size:13px;line-height:1.7}
.source-control [data-source-message]:empty{display:none}
.source-control [data-source-message]{padding:14px 18px;border:1px solid var(--line);border-radius:10px;margin:0}
.source-control [data-source-body]>p{margin:0;line-height:1.7}
.source-control .source-table{border:1px solid var(--line);border-radius:12px;margin:0;background:var(--surface)}
.source-control .source-table th{background:var(--surface-2);font-size:12px;color:var(--muted)}
.source-control .source-table td{font-size:13px}.source-control .source-table td:last-child{min-width:260px}
.source-control .source-actions{gap:12px}.source-probe{display:flex;flex-wrap:wrap;gap:8px;width:100%;align-items:center;padding-top:10px;border-top:1px solid var(--line)}
.source-probe select{flex:1;min-width:140px;max-width:220px}.source-probe button{flex:0 0 auto}
.source-control .source-report h3{margin:4px 0 0}.source-control [data-source-body]>h3{margin:8px 0 0}
.dossier-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}.dossier-summary>div{border:1px solid var(--line);border-radius:10px;padding:16px;background:var(--surface-2);min-width:0}.dossier-summary dt{color:var(--muted);font-size:12px;margin-bottom:10px}.dossier-summary dd{margin:0;overflow-wrap:anywhere;font-size:13px}
.vip-area .vip-pass{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);margin:14px 0}.vip-pass>button{margin:6px 10px 0 0}
#page [data-cine-activity][hidden]{display:none}
@media(max-width:820px){
 #page .admin-area:not([hidden]),#page [data-chat-area]:not([hidden]),.source-control [data-source-body],.source-report{gap:18px}
 .activity-service{grid-column:1/-1;padding:16px}
 #page .table-wrap{max-height:none}
 #page .card{padding:18px}
 #page .filter-bar,#page .search-form{gap:12px}
 #page .filter-bar:not(.range-query)>button,#page .search-form>button{width:100%;min-height:44px}
 #page .dialog-body{padding:20px;max-height:calc(100dvh - 170px)}
 #page .dialog-foot{padding:14px 20px;flex-wrap:wrap}
 #page .dialog-foot button{flex:1;min-height:44px}
 #page input,#page select,#page textarea{font-size:16px}
 #page .table-toolbar input{max-width:none;flex-basis:100%}
 #page .cell-value:has(>button){gap:10px}
 #page .table-wrap td .cell-value>button{min-height:44px;flex:1 1 120px}
 .source-heading{flex-wrap:wrap}.source-heading>button{width:100%}
 .source-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.source-nav button{padding:10px 6px;font-size:12px}
 .source-control .source-table{border:0;background:transparent;overflow:visible}
 .source-control .source-table table,.source-control .source-table tbody{display:block;width:100%;min-width:0}
 .source-control .source-table thead{display:none}
 .source-control .source-table tr{display:block;border:1px solid var(--line);border-radius:12px}
 .source-control .source-table td{display:block;border:0;padding:8px 0}
 .source-control .source-table td::before{content:attr(data-label);display:block;color:var(--muted);font-size:11px;margin-bottom:6px}
 .source-control .source-table tr,.source-control .source-table td{min-width:0;max-width:100%;overflow-wrap:anywhere}
 .source-control .source-table td:last-child{min-width:0}
 .source-control .source-actions>button{flex:1 1 120px;min-height:44px}
 .source-control .source-table tr{background:var(--surface);padding:14px;margin-bottom:14px}
 .source-control .source-probe select{max-width:none;min-width:0}
 .dossier-summary{grid-template-columns:1fr;margin-bottom:18px}
 .edit-dialog .section-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .edit-dialog .section-tabs button{min-height:44px;white-space:normal}
}
@media(prefers-reduced-motion:reduce){#page *{scroll-behavior:auto!important}}

/* Fuentes: vista de control visual, con acciones separadas de los datos. */
.source-control{--source-ink:#f7eef5;--source-muted:#b9aebb;--source-panel:#211c27;--source-panel-2:#29222f;--source-border:#443548;--source-pink:#efa2c4}
.source-control h1,.source-control h2,.source-control h3,.source-control p{overflow-wrap:anywhere}
.source-eyebrow{display:block;color:var(--source-pink);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}
.source-heading{align-items:end;border-bottom:0;padding-bottom:0;margin-bottom:0}.source-heading h1{font-size:clamp(28px,3vw,38px);letter-spacing:-.035em;margin:0}.source-heading p{max-width:650px;line-height:1.65;margin:10px 0 0}.source-heading>button{white-space:nowrap}
.source-nav{padding:6px;background:#1a161f;border:1px solid var(--source-border);border-radius:14px;margin:0;gap:6px}.source-nav button{border:0;border-radius:10px;min-height:44px;padding:10px 15px;color:var(--source-muted);background:transparent}.source-nav button[aria-selected=true]{color:#291c27;background:var(--source-pink);box-shadow:0 5px 18px #efa2c426}.source-nav button:hover{background:#33283a;color:var(--source-ink)}
.source-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.source-metric{display:grid;gap:7px;min-width:0;padding:16px 18px;background:var(--source-panel);border:1px solid var(--source-border);border-radius:14px}.source-metric-label,.source-metric-detail{color:var(--source-muted);font-size:11px;line-height:1.4}.source-metric-value{font-size:23px;line-height:1.1;color:var(--source-ink);font-weight:700}.source-metric[data-kind=active]{border-color:#6b9886}.source-metric[data-kind=active] .source-metric-value{color:#a9e0c6}.source-metric[data-kind=warning]{border-color:#8b6579}.source-metric[data-kind=warning] .source-metric-value{color:#f1bdcf}
.source-live{margin:0;color:var(--source-muted);font-size:12px}.source-message{margin:0;padding:13px 16px;border:1px solid #638e7b;background:#21372f;color:#c5eed7;border-radius:12px}.source-message.is-error{border-color:#a76879;background:#3c242f;color:#ffd1dc}
.source-section-head{display:grid;gap:6px}.source-section-head h2{font-size:22px;margin:0}.source-section-head p{margin:0;line-height:1.6}.source-callout{display:grid;gap:6px;padding:17px 19px;border:1px solid #574253;background:#281f2c;border-radius:13px}.source-callout strong{color:#f1c4d9}.source-callout p{margin:0;color:var(--source-muted);font-size:13px;line-height:1.65}.source-callout-wide{gap:14px}.source-callout-wide>button{justify-self:start}
.source-toolbar{display:flex;align-items:end;gap:16px;padding:16px 18px;background:var(--source-panel);border:1px solid var(--source-border);border-radius:13px}.source-toolbar label,.source-report-toolbar label{display:grid;gap:7px;min-width:0;font-size:12px;color:var(--source-muted);flex:1}.source-toolbar input,.source-report-toolbar select{width:100%;min-width:0}.source-toolbar-count{color:var(--source-muted);font-size:12px;white-space:nowrap;padding-bottom:12px}
.source-host-grid,.source-job-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.source-host-card,.source-job-card{display:grid;gap:17px;min-width:0;padding:19px;background:var(--source-panel);border:1px solid var(--source-border);border-radius:15px}.source-host-head,.source-job-head{display:flex;justify-content:space-between;align-items:start;gap:14px}.source-host-title,.source-job-title{display:grid;gap:10px;min-width:0}.source-host-head h3,.source-job-head h3{margin:0;font-size:16px;overflow-wrap:anywhere}.source-host-links,.source-job-lease{color:var(--source-muted);font-size:12px;white-space:nowrap}.source-host-details{display:grid;gap:5px;padding:12px 0;border-top:1px solid #ffffff0c;border-bottom:1px solid #ffffff0c}.source-host-state{font-size:13px;color:var(--source-ink)}.source-host-meta,.source-job-info{color:var(--source-muted);font-size:11px;line-height:1.5}.source-status{display:inline-flex;width:max-content;max-width:100%;padding:5px 9px;border-radius:999px;background:#37303b;color:#d7cbd9;font-size:10px;font-weight:700;line-height:1.1;overflow-wrap:anywhere}.source-status.is-ok{background:#244237;color:#b9edd3}.source-status.is-off{background:#482934;color:#ffc5d3}.source-status.is-pending{background:#4a3a28;color:#f5d39a}.source-status.is-muted{background:#312c35;color:#bdb2c2}
.source-host-actions,.source-job-actions{display:grid;gap:12px}.source-host-actions>button,.source-job-actions>button{width:100%}.source-probe{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end;padding-top:0;border-top:0}.source-probe label{display:grid;gap:6px;color:var(--source-muted);font-size:11px}.source-probe select{width:100%;max-width:none;min-width:0}.source-probe button{min-height:42px}.source-job-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.source-job-actions button{min-width:0}.source-pending{padding:17px 19px;border:1px dashed #926178;border-radius:13px;background:#2e202c}.source-pending h3{margin:0 0 8px;color:#f4bfd5}.source-pending p{margin:0 0 7px;overflow-wrap:anywhere}.source-pending small{color:var(--source-muted)}.source-runtime-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.source-history{margin-top:0}.source-panel{padding:19px;background:var(--source-panel);border:1px solid var(--source-border);border-radius:15px}.source-panel-head{margin-bottom:17px}.source-panel-head h3{margin:0;font-size:16px}.source-panel-head p{margin:5px 0 0;font-size:12px}.source-table-wrap{border:1px solid var(--source-border);border-radius:11px;overflow:auto;background:#1b171f}.source-table-wrap table{width:100%;border-collapse:collapse;min-width:620px}.source-table-wrap th{padding:12px 13px;background:#2b2430;color:var(--source-muted);text-align:left;font-size:10px;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}.source-table-wrap td{padding:13px;border-top:1px solid #ffffff0d;color:var(--source-ink);font-size:12px;vertical-align:top;line-height:1.45}.source-table-wrap tr:hover td{background:#2a222e}.source-report-toolbar{display:flex;align-items:end;gap:12px;padding:16px 18px;background:var(--source-panel);border:1px solid var(--source-border);border-radius:13px}.source-report-toolbar label{max-width:300px}.source-report{gap:20px}.source-report-title{margin:6px 0 0;font-size:16px}.source-report-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.source-alert{display:grid;gap:6px;padding:16px 18px;border:1px solid #9e687b;background:#38232e;border-radius:13px;color:#ffd3df}.source-alert strong{font-size:14px}.source-alert p{margin:0;font-size:12px;color:#eebdcb}.source-empty{padding:28px 18px;text-align:center;color:var(--source-muted);border:1px dashed var(--source-border);border-radius:13px}
.source-confirm{width:min(560px,calc(100vw - 32px));padding:0;border:1px solid #674d60;border-radius:18px;background:#211b27;color:var(--source-ink);box-shadow:0 25px 100px #000b}.source-confirm::backdrop{background:#09070db8;backdrop-filter:blur(3px)}.source-confirm-head{padding:22px 24px;border-bottom:1px solid var(--source-border)}.source-confirm-head h2{margin:5px 0 0;font-size:20px}.source-confirm-body{display:grid;gap:14px;padding:22px 24px}.source-confirm-body p{margin:0;color:var(--source-muted);line-height:1.6}.source-confirm-label{display:grid;gap:7px;font-size:12px;color:var(--source-muted)}.source-confirm-label input{width:100%}.source-confirm-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--source-border);background:#1a161f}.source-confirm-actions button{min-width:110px}
@media(max-width:820px){.source-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.source-host-grid,.source-job-grid{grid-template-columns:1fr}.source-runtime-grid,.source-report-summary{grid-template-columns:1fr}.source-toolbar,.source-report-toolbar{display:grid;align-items:stretch;gap:11px}.source-toolbar-count{padding:0}.source-report-toolbar label{max-width:none}.source-report-toolbar button{width:100%}.source-host-head,.source-job-head{gap:9px}.source-host-links,.source-job-lease{white-space:normal;text-align:right}.source-job-actions{grid-template-columns:1fr}.source-probe{grid-template-columns:1fr}.source-probe button{width:100%}.source-panel{padding:16px}.source-table-wrap{border:0;overflow:visible;background:transparent}.source-table-wrap table{display:block;min-width:0}.source-table-wrap thead{display:none}.source-table-wrap tbody{display:grid;gap:12px}.source-table-wrap tr{display:block;padding:12px 14px;background:var(--source-panel);border:1px solid var(--source-border);border-radius:12px}.source-table-wrap td{display:grid;grid-template-columns:95px minmax(0,1fr);gap:10px;border:0;padding:7px 0;min-width:0;overflow-wrap:anywhere}.source-table-wrap td::before{content:attr(data-label);color:var(--source-muted);font-size:10px;line-height:1.5}.source-table-wrap td .cell-value{min-width:0;overflow-wrap:anywhere}.source-confirm-actions{flex-wrap:wrap}.source-confirm-actions button{flex:1;min-height:44px}.source-nav{display:grid;grid-template-columns:1fr;gap:5px}.source-nav button{text-align:left}.source-heading>button{width:100%}}

/* Las áreas internas de Fuentes siguen el mismo patrón de pestañas del resto del panel. */
.source-control .source-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:5px;background:#19171e;border:1px solid var(--line);border-radius:12px;margin:0 0 0;max-width:100%;overflow:visible}
.source-control .source-tabs button{flex:0 1 auto;border:0;border-radius:8px;min-height:40px;padding:9px 14px;margin:0;color:var(--muted);background:transparent;font-size:12px}
.source-control .source-tabs button[aria-current=page]{background:#3b2b38;color:#f8d8e7;box-shadow:none;border:0}
.source-control .source-tabs button:hover{background:#2d2630}
.source-context-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:820px){.source-control .source-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.source-control .source-tabs button{width:100%;padding:9px 8px;font-size:11px;white-space:normal;line-height:1.35}.source-control .source-context-metrics{grid-template-columns:1fr}}
