@import url("gestiona-tokens.css");
@import url("gestiona-components.css");
@import url("gestiona-responsive.css");

/* GestionaUI v1.1 - Arquitectura visual configurable */
.g360-page-header{margin:12px 0 18px;background:linear-gradient(135deg,#fff 0%,#f8fbff 100%);border:1px solid var(--border,#e2e8f0);border-radius:18px;box-shadow:0 8px 24px rgba(15,23,42,.05);overflow:hidden}
.g360-page-header__main{padding:20px 22px}
.g360-breadcrumb{display:flex;align-items:center;gap:7px;color:var(--muted,#64748b);font-size:12px;margin-bottom:10px;flex-wrap:wrap}
.g360-breadcrumb a{color:inherit;text-decoration:none}
.g360-breadcrumb a:hover{text-decoration:underline}
.g360-breadcrumb__separator{opacity:.55}
.g360-page-header__title-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.g360-page-header__copy{min-width:0}
.g360-page-header h1{margin:0;color:#10284a;font-size:clamp(24px,2.4vw,34px);line-height:1.15}
.g360-page-header p{margin:7px 0 0;color:var(--muted,#64748b);font-size:14px;line-height:1.5;max-width:850px}
.g360-page-header__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto}
.g360-context-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid #e8eef5}
.g360-context-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:999px;background:#eef2f7;color:#475569;font-size:11px;font-weight:650;border:1px solid transparent}
.g360-context-chip.is-success{background:#ecfdf3;color:#067647;border-color:#abefc6}
.g360-context-chip.is-muted{background:#f8fafc;color:#64748b;border-color:#e2e8f0}
.g360-context-chip.is-company{background:#eff8ff;color:#175cd3;border-color:#b2ddff}
.g360-context-chip.is-global{background:#f4f3ff;color:#5925dc;border-color:#d9d6fe}
.g360-context-chip.is-warning{background:#fffaeb;color:#b54708;border-color:#fedf89}

/* Variantes por tipo de módulo */
.g360-page-header--compact{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;margin:8px 0 16px}
.g360-page-header--compact .g360-page-header__main{padding:0}
.g360-page-header--compact h1{font-size:clamp(24px,2.2vw,32px)}
.g360-page-header--compact p{font-size:14px}

.g360-page-header--simple{box-shadow:none;background:#fff}
.g360-page-header--simple .g360-page-header__main{padding:17px 20px}
.g360-page-header--simple h1{font-size:clamp(22px,2vw,30px)}

.g360-page-header--analytics{background:linear-gradient(135deg,#ffffff 0%,#f5f9ff 100%)}
.g360-page-header--analytics .g360-page-header__main{padding:18px 22px}
.g360-page-header--analytics h1{font-size:clamp(23px,2.2vw,32px)}
.g360-page-header--analytics .g360-context-row{margin-top:12px;padding-top:12px}

.g360-empty-cell{padding:32px 18px!important;text-align:center!important}
.g360-empty-state{display:flex;flex-direction:column;align-items:center;gap:4px;color:#64748b}
.g360-empty-state__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#f1f5f9;color:#475569;font-size:22px;margin-bottom:3px}
.g360-empty-state strong{color:#334155;font-size:14px}
.g360-empty-state small{font-size:12px}

@media(max-width:760px){
  .g360-page-header__main{padding:16px}
  .g360-page-header--compact .g360-page-header__main{padding:0}
  .g360-page-header__title-row{flex-direction:column}
  .g360-page-header__actions{width:100%;justify-content:flex-start}
  .g360-page-header__actions .btn{flex:1}
  .g360-context-row{gap:6px}
  .g360-context-chip{font-size:10px}
  .toolbar{align-items:stretch}
  .toolbar select,.toolbar input,.toolbar .btn{width:100%;max-width:none}
}

/* GestionaUI v1.2 — estados, alertas, badges y acciones */
.g360-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid;border-radius:12px;margin:12px 0;font-size:14px}.g360-alert__copy{display:grid;gap:2px}.g360-alert__copy strong{font-weight:800}.g360-alert__icon,.g360-toast__icon{width:10px;height:10px;border-radius:50%;margin-top:5px;flex:0 0 auto}.g360-alert--success{background:#ecfdf3;border-color:#a7f3d0;color:#166534}.g360-alert--success .g360-alert__icon{background:#16a34a}.g360-alert--info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.g360-alert--info .g360-alert__icon{background:#2563eb}.g360-alert--warning{background:#fffbeb;border-color:#fde68a;color:#92400e}.g360-alert--warning .g360-alert__icon{background:#d97706}.g360-alert--danger{background:#fef2f2;border-color:#fecaca;color:#991b1b}.g360-alert--danger .g360-alert__icon{background:#dc2626}
.g360-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap;border:1px solid transparent}.g360-badge--success{background:#dcfce7;color:#166534;border-color:#bbf7d0}.g360-badge--warning{background:#fef3c7;color:#92400e;border-color:#fde68a}.g360-badge--danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}.g360-badge--info{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}.g360-badge--primary{background:#ede9fe;color:#5b21b6;border-color:#ddd6fe}.g360-badge--neutral{background:#f1f5f9;color:#475569;border-color:#e2e8f0}
.g360-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 14px;border-radius:10px;border:1px solid transparent;font-weight:800;font-size:14px;line-height:1;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.g360-btn:hover{transform:translateY(-1px)}.g360-btn:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}.g360-btn--primary{background:#102b53;color:#fff}.g360-btn--secondary{background:#e8eef6;color:#20324d}.g360-btn--success{background:#15803d;color:#fff}.g360-btn--danger{background:#b42318;color:#fff}.g360-btn--outline{background:#fff;color:#102b53;border-color:#cbd5e1}.g360-btn--link{background:transparent;color:#0757c7;padding-inline:4px}
.g360-empty-cell{padding:26px 16px!important;text-align:center!important}.g360-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#64748b;min-height:84px}.g360-empty-state__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#f1f5f9;color:#64748b;font-size:22px}.g360-empty-state strong{color:#334155;font-size:14px}.g360-empty-state small{max-width:520px;font-size:12px}.g360-empty-state__action{margin-top:8px}
.g360-toast-host{position:fixed;right:18px;top:18px;z-index:99999;display:grid;gap:10px;width:min(390px,calc(100vw - 28px))}.g360-toast{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:13px 14px;border:1px solid;border-radius:13px;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.18);animation:g360ToastIn .18s ease-out}.g360-toast>div{display:grid;gap:3px}.g360-toast strong{font-size:13px}.g360-toast span{font-size:12px;line-height:1.45}.g360-toast button{border:0;background:transparent;font-size:20px;line-height:1;color:inherit;cursor:pointer}.g360-toast--success{border-color:#86efac;color:#166534}.g360-toast--success .g360-toast__icon{background:#16a34a}.g360-toast--info{border-color:#93c5fd;color:#1e40af}.g360-toast--info .g360-toast__icon{background:#2563eb}.g360-toast--warning{border-color:#fcd34d;color:#92400e}.g360-toast--warning .g360-toast__icon{background:#d97706}.g360-toast--danger{border-color:#fca5a5;color:#991b1b}.g360-toast--danger .g360-toast__icon{background:#dc2626}@keyframes g360ToastIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(max-width:640px){.g360-toast-host{right:14px;top:14px}.g360-btn{width:100%}.g360-page-header__actions .g360-btn{width:auto}}
