/* Panel Maestro: navegación agrupada, métricas de CT y densidad visual. */
.app-bar .main-nav{gap:4px;padding-right:3px}
.app-bar .nav-group{border-radius:10px}
.app-bar .nav-group[open]{margin-block:2px 5px;background:#07143124}
.app-bar .nav-group[open]>summary{background:#07143142}
.app-bar .nav-submenu{position:relative;margin:1px 8px 5px 20px;padding:2px 0 2px 12px;border-left:1px solid #ffffff38}
.app-bar .nav-submenu a{position:relative;min-height:31px;padding:6px 8px;border-radius:8px;font-size:10.5px}
.app-bar .nav-submenu .nav-icon{display:none}
.app-bar .nav-submenu a:before{content:'';width:5px;height:5px;margin-left:-15px;border-radius:50%;background:#ffffff75;box-shadow:0 0 0 3px #ffffff10}
.app-bar .nav-submenu a[aria-current=page]:before{background:#fff;box-shadow:0 0 0 3px #00c2ff55}

.app-main>.page-head{animation:panel-rise .28s ease-out both}
.app-main>.workspace,.app-main>.ct-overview,.app-main>.summary-stats,.app-main>.system-configs{animation:panel-rise .32s ease-out both}
.app-main>.summary-stats{animation-delay:.04s}
.app-main>.workspace:nth-of-type(2),.app-main>.system-configs{animation-delay:.07s}

.ct-overview{padding:14px;border:1px solid var(--color-rule);border-radius:13px;background:color-mix(in srgb,var(--color-paper) 92%,var(--color-accent-wash));box-shadow:0 6px 22px #0b1b330c}
.ct-overview .section-bar{margin-bottom:12px}
.ct-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));gap:11px}
.ct-card{--card-accent:var(--flux-cyan);position:relative;min-width:0;padding:13px;border:1px solid color-mix(in srgb,var(--card-accent) 35%,var(--color-rule));border-top:3px solid var(--card-accent);border-radius:11px;background:var(--color-paper);box-shadow:0 4px 14px #0b1b330c;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.ct-card:nth-child(4n+2){--card-accent:var(--flux-purple)}
.ct-card:nth-child(4n+3){--card-accent:var(--flux-green)}
.ct-card:nth-child(4n){--card-accent:var(--flux-orange)}
.ct-card[data-ct-state=stale]{--card-accent:var(--flux-orange)}
.ct-card[data-ct-state=stopped]{--card-accent:var(--color-error)}
.ct-card:before{content:'';position:absolute;inset:0 0 auto;height:38px;background:linear-gradient(180deg,color-mix(in srgb,var(--card-accent) 9%,transparent),transparent);pointer-events:none}
.ct-card:hover,.ct-card:focus-within{transform:translateY(-2px);border-color:color-mix(in srgb,var(--card-accent) 68%,var(--color-rule));box-shadow:0 10px 24px color-mix(in srgb,var(--card-accent) 14%,transparent)}
.ct-card header{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.ct-card header>div{min-width:0}
.ct-card .ct-id{display:block;color:var(--card-accent);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.ct-card h3{margin:3px 0 1px;font-size:14px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-card header p{margin:0;color:var(--color-muted);font-size:9px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-status{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding:4px 7px;border-radius:999px;font-size:8.5px;font-weight:750;white-space:nowrap}
.ct-status:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
.ct-running{color:var(--color-success);background:var(--color-success-wash)}
.ct-running:before{animation:ct-pulse 2.4s ease-in-out infinite}
.ct-stale{color:var(--color-warning);background:var(--color-warning-wash)}
.ct-stopped{color:var(--color-error);background:var(--color-error-wash)}
.ct-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ct-metric{min-width:0;padding:8px;border:1px solid var(--color-rule);border-radius:8px;background:var(--color-paper-2)}
.ct-metric>div{display:flex;align-items:baseline;justify-content:space-between;gap:4px}
.ct-metric span{color:var(--color-muted);font-size:8.5px;font-weight:650}
.ct-metric strong{font:750 10px var(--font-body);white-space:nowrap;color:var(--color-ink)}
.ct-metric meter{display:block;width:100%;height:7px;margin:5px 0 2px;accent-color:var(--card-accent)}
.ct-metric meter::-webkit-meter-bar{height:5px;border:0;border-radius:99px;background:var(--color-paper-3)}
.ct-metric meter::-webkit-meter-optimum-value{border-radius:99px;background:linear-gradient(90deg,var(--card-accent),color-mix(in srgb,var(--card-accent) 55%,#fff))}
.ct-metric small{display:block;min-height:20px;margin:0;color:var(--color-muted);font-size:8px;line-height:1.25;overflow-wrap:anywhere}
.ct-card footer{display:flex;align-items:end;justify-content:space-between;gap:9px;margin-top:10px;padding-top:9px;border-top:1px solid var(--color-rule)}
.ct-card footer>div{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:2px 7px;min-width:0}
.ct-card footer span{color:var(--color-muted);font-size:8px;font-weight:650;text-transform:uppercase;letter-spacing:.05em}
.ct-card footer strong{font-size:10px;white-space:nowrap}
.ct-card footer small{grid-column:1/-1;margin:0;color:var(--color-muted);font-size:8px}
.ct-card footer a{flex-shrink:0;padding:5px 7px;border-radius:7px;background:color-mix(in srgb,var(--card-accent) 11%,var(--color-paper));color:var(--card-accent);font-size:9px;font-weight:750;text-decoration:none}

.app-main .table-scroll{border:1px solid color-mix(in srgb,var(--color-accent) 24%,var(--color-rule));border-radius:9px;background:var(--color-paper);box-shadow:0 3px 12px #0b1b3308;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--color-accent) 55%,transparent) transparent}
.app-main table{border-collapse:separate;border-spacing:0;width:100%;font-size:11px;font-variant-numeric:tabular-nums}
.app-main table :is(th,td){padding:6px 9px;line-height:1.25;vertical-align:middle;border-bottom:1px solid color-mix(in srgb,var(--color-rule) 72%,transparent)}
.app-main table thead th{position:sticky;top:0;z-index:1;padding-block:8px;background:color-mix(in srgb,var(--color-accent-wash) 86%,var(--color-paper));color:var(--color-ink-2);font-size:9px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}
.app-main table tbody th{font-size:11px}
.app-main table tbody tr:nth-child(even)>*{background:color-mix(in srgb,var(--color-accent-wash) 23%,var(--color-paper))}
.app-main table tbody tr:nth-child(4n+1)>:first-child{box-shadow:inset 3px 0 var(--flux-cyan)}
.app-main table tbody tr:nth-child(4n+2)>:first-child{box-shadow:inset 3px 0 var(--flux-purple)}
.app-main table tbody tr:nth-child(4n+3)>:first-child{box-shadow:inset 3px 0 var(--flux-green)}
.app-main table tbody tr:nth-child(4n)>:first-child{box-shadow:inset 3px 0 var(--flux-orange)}
.app-main table tbody tr:hover>*{background:color-mix(in srgb,var(--color-accent-wash) 72%,var(--color-paper))}
.app-main table tbody tr{animation:table-row-in .2s ease-out both}
.app-main table tbody tr:nth-child(2){animation-delay:.025s}.app-main table tbody tr:nth-child(3){animation-delay:.05s}.app-main table tbody tr:nth-child(4){animation-delay:.075s}.app-main table tbody tr:nth-child(5){animation-delay:.1s}
.app-main table small{font-size:9px;line-height:1.25}
.app-main table .state{font-size:9px;padding:3px 6px}
.app-main .workspace{transition:border-color .18s ease,box-shadow .18s ease}
.app-main .workspace:focus-within{border-color:color-mix(in srgb,var(--color-accent) 55%,var(--color-rule));box-shadow:0 7px 22px color-mix(in srgb,var(--color-accent) 10%,transparent)}

@keyframes panel-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes table-row-in{from{opacity:0;transform:translateX(-3px)}to{opacity:1;transform:none}}
@keyframes ct-pulse{0%,100%{box-shadow:0 0 0 0 currentColor}50%{box-shadow:0 0 0 3px transparent}}

@media(max-width:1200px){.ct-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ct-overview{padding:11px}.ct-cards{grid-template-columns:1fr}.ct-metrics{grid-template-columns:repeat(3,minmax(78px,1fr))}.app-main table :is(th,td){padding:6px 8px}.app-bar .nav-submenu{margin-right:3px}}
@media(max-width:390px){.ct-metrics{grid-template-columns:1fr}.ct-metric small{min-height:0}.ct-card footer{align-items:center}}
@media(prefers-reduced-motion:reduce){.app-main>.page-head,.app-main>.workspace,.app-main>.ct-overview,.app-main>.summary-stats,.app-main>.system-configs,.app-main table tbody tr{animation:none!important}.ct-running:before{animation:none!important}.ct-card:hover,.ct-card:focus-within{transform:none}}
