@charset "UTF-8";

/* Adaptaciones funcionales de ThowiLabs sobre el shell visual de Pangolite. */
.sidebar .nav-link{cursor:pointer}.sidebar .nav-link[hidden]{display:none!important}
.sidebar-scrim{display:none}.admin-only-hidden{display:none!important}
.runtime-banner{margin-bottom:16px}.runtime-banner.ready{border-color:rgba(52,211,153,.34)!important;background:rgba(52,211,153,.08)!important}.runtime-banner.error{border-color:rgba(251,113,133,.38)!important;background:rgba(251,113,133,.10)!important}.runtime-inline{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.runtime-copy{display:flex;align-items:flex-start;gap:12px}.runtime-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;border:1px solid var(--pg-border);background:rgba(255,255,255,.07);color:#fff;font-size:18px}.runtime-title{color:#fff;font-weight:850}.runtime-text{color:var(--pg-muted);font-size:13px;margin-top:2px;max-width:760px}
.table-responsive{overflow-x:auto;border-radius:16px}.sandbox-table .resource-entry{max-width:300px}.sandbox-id{display:block;margin-top:4px;color:var(--pg-muted);font-size:11px}.sandbox-access{white-space:normal;min-width:220px}.sandbox-actions{min-width:280px}.status-running{color:#bbf7d0}.status-created,.status-exited{color:#fde68a}.status-paused,.status-restarting{color:#bfdbfe}.status-dead,.status-unavailable,.status-missing{color:#fecdd3}.status-dot.running{background:var(--pg-success)}.status-dot.created,.status-dot.exited{background:var(--pg-warning)}.status-dot.dead,.status-dot.unavailable,.status-dot.missing{background:var(--pg-danger)}
.modal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.modal-form-grid .span-2{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.modal-copy{color:var(--pg-muted);margin-bottom:16px}.secret-pin{font-size:28px;line-height:36px;letter-spacing:.08em;color:#fff;display:block;padding:16px;border:1px solid var(--pg-border);border-radius:14px;background:#020204;text-align:center;word-break:break-all}.pin-mode-help{min-height:18px}.field-row{display:flex;gap:10px;align-items:center}.field-row>*{flex:1}
.card-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-section-title h2{margin:0;color:#fff;font-size:18px;font-weight:850}.section-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.scope-select{width:auto!important;min-width:150px}.owner-select{min-width:180px}.metric-card .stat-value.small-value{font-size:20px}.endpoint-box{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--pg-border);border-radius:14px;background:#020204;padding:12px 14px}.endpoint-box code{color:#dbeafe;word-break:break-all}.endpoint-box .btn{flex:0 0 auto}
.empty-state{padding:42px 20px;text-align:center;border:1px dashed var(--pg-border);border-radius:16px;color:var(--pg-muted)}.empty-state i{display:block;font-size:30px;color:#fff;margin-bottom:10px}.empty-state strong{display:block;color:#fff;margin-bottom:4px}.onboarding-step i{display:block;font-size:20px;color:#fff;margin-bottom:8px}.danger-text{color:#fecdd3!important}.success-text{color:#bbf7d0!important}.warning-text{color:#fde68a!important}
.user-list{display:grid;gap:10px}.user-row{display:grid;grid-template-columns:minmax(120px,1.1fr) minmax(180px,1.5fr) 110px 150px;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--pg-border);border-radius:14px;background:rgba(255,255,255,.035)}.user-row strong{color:#fff}.role-pill{justify-self:start}.top-user .user-menu-item{cursor:pointer}.nav-system{margin-top:auto}
.auth-card .auth-hint{border-top:1px solid var(--pg-border);padding:14px 20px;color:var(--pg-muted);font-size:12px;text-align:center}.auth-card .auth-hint code{color:#dbeafe}.auth-card .alert{margin-bottom:16px}.auth-brand-copy h1{color:#fff!important}.setup-pin-input{letter-spacing:.18em;font-variant-numeric:tabular-nums}.auth-footer a{color:#fff}
#globalMsg{position:relative;z-index:2}.button-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:pgspin .7s linear infinite}.btn[disabled]{opacity:.55;cursor:not-allowed;pointer-events:none}
.modal-lite .form-text{margin-top:5px}.modal-lite select option{background:#0b0b10;color:#fff}
@media(max-width:960px){.sidebar-scrim{position:fixed;inset:0;z-index:39;background:rgba(0,0,0,.62)}body.sidebar-open .sidebar-scrim{display:block}.sandbox-actions{min-width:0}.modal-form-grid{grid-template-columns:1fr}.modal-form-grid .span-2{grid-column:auto}.user-row{grid-template-columns:1fr}.user-row>*{justify-self:start}.endpoint-box{align-items:flex-start;flex-direction:column}.scope-select{width:100%!important}.section-actions{width:100%}.section-actions .btn{justify-content:center}.main-content{padding-bottom:18px!important}}
.terminal-route-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:0 0 12px;color:var(--pg-muted);font-size:13px}.terminal-route-intro strong{color:#fff}.project-nav-link{cursor:pointer}
.resource-slider{padding:14px 16px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.025)}
.resource-slider-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.resource-slider-head strong{color:#fff;font-variant-numeric:tabular-nums}.resource-slider .form-range{width:100%}

/* Conexiones OAuth: filas de gestión dentro del sistema visual existente. */
.oauth-connections-card{grid-column:1/-1}
.oauth-connection-list{display:grid;gap:10px}
.oauth-connection-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--pg-border);border-radius:14px;background:rgba(255,255,255,.025);min-width:0}
.oauth-connection-info{flex:1 1 320px;min-width:0}
.oauth-connection-heading{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.oauth-connection-name{margin:0;color:#fff;font-size:14px;line-height:20px;font-weight:800;overflow-wrap:anywhere}
.oauth-connection-status{display:inline-flex;align-items:center;min-height:25px;padding:3px 8px;border:1px solid;border-radius:7px;font-size:12px;line-height:17px;font-weight:750}
.oauth-connection-status--connected{color:#bbf7d0;background:rgba(52,211,153,.12);border-color:#34d399}
.oauth-connection-status--pending{color:#cdcdcd;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.36)}
.oauth-connection-status--revoked{color:#fecdd3;background:rgba(251,113,133,.12);border-color:#fb7185}
.oauth-connection-detail{margin:8px 0 0;color:var(--pg-muted);font-size:13px;line-height:19px;overflow-wrap:anywhere}
.oauth-connection-last-used{margin:4px 0 0;color:var(--pg-muted);font-size:12px;line-height:18px}
.oauth-connection-actions{display:flex;flex:0 1 auto;align-items:center;flex-wrap:wrap;gap:8px}
.oauth-connection-actions .btn,.oauth-connection-rename-actions .btn,.oauth-connection-retry{min-height:44px;padding:.55rem .85rem}
.oauth-connection-actions .btn-outline-secondary,.oauth-connection-rename-actions .btn-outline-secondary{border-color:rgba(255,255,255,.38)!important}
.oauth-connection-actions .btn-outline-primary{color:#a5f3fc!important;border-color:rgba(34,211,238,.72)!important}
.oauth-connection-actions .btn-outline-primary:hover{background:rgba(34,211,238,.12)!important}
.oauth-connection-actions .btn-outline-danger,.oauth-connection-rename-actions .btn-outline-danger{border-color:rgba(251,113,133,.72)!important}
.oauth-connection-create-form .form-control,.oauth-connection-rename-form .form-control{min-height:44px;border-color:rgba(255,255,255,.36)!important}
.oauth-connection-create-form .btn-primary,.oauth-connection-rename-actions .btn-primary{min-height:44px;background:#6d28d9!important;color:#fff!important;border:1px solid #6d28d9!important}
.oauth-connection-create-form .btn-primary:hover,.oauth-connection-rename-actions .btn-primary:hover{background:#5b21b6!important;border-color:#5b21b6!important}
.oauth-connection-rename-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--pg-border)}
.oauth-connection-rename-form .form-label{display:block;margin-bottom:6px}
.oauth-connection-rename-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.oauth-connection-empty{margin:0;padding:14px;border:1px dashed rgba(255,255,255,.32);border-radius:12px;color:var(--pg-muted)}
.oauth-connection-retry{margin-top:10px}
@media(max-width:960px){
  .oauth-connection-item{flex-direction:column}
  .oauth-connection-actions,.oauth-connection-rename-actions{width:100%}
  .oauth-connection-actions .btn,.oauth-connection-rename-actions .btn{flex:1 1 140px}
  .oauth-connection-rename-form{grid-template-columns:1fr}
}
@media(max-width:420px){
  .oauth-connection-actions .btn,.oauth-connection-rename-actions .btn{width:100%}
}
.oauth-connection-retry{border-color:rgba(255,255,255,.38)!important}
@media(max-width:420px){.oauth-connection-create-form>div,.oauth-connection-create-form .btn-primary{width:100%}.oauth-connection-create-form .btn-primary{justify-content:center}}
.modal-lite .btn{min-height:44px}
