/* Capa SaaS: solo compatibilidad funcional. El diseño base proviene de /style.css original ABROK CRM. */
.saas-alert{margin-bottom:1.25rem;border-radius:.75rem;border:1px solid #e4e7ec;padding:.875rem 1rem;font-size:.875rem}.saas-alert.success{border-color:#abefc6;background:#ecfdf3;color:#067647}.saas-alert.error{border-color:#fecdca;background:#fef3f2;color:#b42318}.dark .saas-alert{background:rgba(255,255,255,.03);color:#d0d5dd;border-color:#344054}
.saas-btn,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.5rem;padding:.7rem 1.1rem;font-size:.875rem;font-weight:500;transition:.15s;border:1px solid transparent}.saas-btn.primary,.btn.primary{background:#465fff;color:white}.saas-btn.primary:hover,.btn.primary:hover{background:#3641f5}.saas-btn.secondary,.btn.secondary{border-color:#d0d5dd;background:#fff;color:#344054;box-shadow:0 1px 2px rgba(16,24,40,.05)}.dark .saas-btn.secondary,.dark .btn.secondary{border-color:#344054;background:#1d2939;color:#d0d5dd}.saas-btn.danger,.btn.danger{background:#d92d20;color:white}.saas-btn.small,.btn.small{padding:.5rem .75rem;font-size:.8125rem}.btn.wide{width:100%}
.panel{border:1px solid #e4e7ec;background:#fff;border-radius:1rem;padding:1.25rem;margin-bottom:1.25rem}.dark .panel{border-color:#1f2937;background:rgba(255,255,255,.03)}.panel h2{font-size:1.125rem;font-weight:600;color:#1d2939}.dark .panel h2{color:rgba(255,255,255,.9)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.eyebrow{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#667085}.dark .eyebrow{color:#98a2b3}
.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.search{display:flex;gap:.5rem;flex:1;max-width:520px}.search input{height:44px;width:100%;border:1px solid #d0d5dd;border-radius:.5rem;padding:.625rem .875rem;background:transparent;color:#1d2939}.dark .search input{border-color:#374151;color:rgba(255,255,255,.9);background:#111827}
.table-wrap{max-width:100%;overflow-x:auto;border-radius:.75rem;border:1px solid #e4e7ec}.dark .table-wrap{border-color:#1f2937}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap thead{background:#f9fafb}.dark .table-wrap thead{background:rgba(255,255,255,.03)}.table-wrap th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;color:#667085}.table-wrap td{padding:1rem;border-top:1px solid #eaecf0;font-size:.875rem;color:#475467}.dark .table-wrap td{border-color:#1f2937;color:#d0d5dd}.table-wrap strong{color:#1d2939}.dark .table-wrap strong{color:#fff}.right{text-align:right}.empty{text-align:center;padding:2rem!important;color:#98a2b3!important}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid.single{grid-template-columns:1fr}.form-grid label{display:block}.form-grid label.full{grid-column:1/-1}.form-grid label>span{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:500;color:#344054}.dark .form-grid label>span{color:#98a2b3}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #d0d5dd;border-radius:.5rem;background:transparent;padding:.625rem .875rem;font-size:.875rem;color:#1d2939;box-shadow:0 1px 2px rgba(16,24,40,.05)}.form-grid input,.form-grid select{min-height:44px}.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#a4bcfd;outline:none;box-shadow:0 0 0 4px rgba(70,95,255,.1)}.dark .form-grid input,.dark .form-grid select,.dark .form-grid textarea{border-color:#374151;background:#111827;color:rgba(255,255,255,.9)}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.inline-form{display:inline-flex;margin:.5rem .5rem .5rem 0}
.grid{display:grid;gap:1.25rem}.grid.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card,.quick-card{display:block;border:1px solid #e4e7ec;background:#fff;border-radius:1rem;padding:1.25rem}.dark .stat-card,.dark .quick-card{border-color:#1f2937;background:rgba(255,255,255,.03)}.stat-card strong,.quick-card strong{display:block;margin-top:.35rem;font-size:1.125rem;color:#1d2939}.dark .stat-card strong,.dark .quick-card strong{color:#fff}.stat-card small,.quick-card span{display:block;margin-top:.25rem;color:#667085;font-size:.875rem}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.quick-card:hover{border-color:#a4bcfd;box-shadow:0 1px 3px rgba(16,24,40,.08)}
.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.check{display:flex!important;align-items:flex-start;gap:.75rem;border:1px solid #e4e7ec;border-radius:.75rem;padding:.875rem}.dark .check{border-color:#344054}.check input{width:1rem!important;min-height:1rem!important;margin-top:.15rem}.check strong,.check small{display:block}.meta{display:grid;grid-template-columns:160px 1fr;gap:.6rem 1rem;margin-top:1rem}.meta dt{font-size:.8125rem;color:#667085}.meta dd{font-size:.875rem;color:#344054}.dark .meta dd{color:#d0d5dd}.help{font-size:.8125rem;color:#667085;margin-top:.5rem}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
@media(max-width:900px){.grid.cards-3,.grid.two-col,.quick-grid,.check-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.search{max-width:none}.toolbar{align-items:stretch}.toolbar>*{width:100%}}
.alert{margin-bottom:1.25rem;border-radius:.75rem;border:1px solid #e4e7ec;padding:.875rem 1rem;font-size:.875rem}.alert.success{border-color:#abefc6;background:#ecfdf3;color:#067647}.alert.error{border-color:#fecdca;background:#fef3f2;color:#b42318}.alert.info{border-color:#b2ddff;background:#eff8ff;color:#175cd3}.dark .alert{background:rgba(255,255,255,.03);color:#d0d5dd;border-color:#344054}.badge.info{display:inline-flex;border-radius:999px;background:#eff8ff;padding:.125rem .5rem;font-size:.75rem;font-weight:500;color:#175cd3}.mini-label{margin-left:.4rem;border-radius:999px;background:#f2f4f7;padding:.1rem .4rem;font-size:.7rem;color:#475467}.block{display:block}.filter-inline{display:flex;align-items:center;gap:.5rem}.filter-inline select{height:44px;border:1px solid #d0d5dd;border-radius:.5rem;padding:0 .75rem;background:transparent}.dark .filter-inline select{border-color:#374151;background:#111827;color:#fff}.table-panel{padding:1.25rem}.form-panel{padding:1.25rem}

/* Sidebar ABROK SaaS V1.8: estado escritorio separado de apertura móvil. */
@media (min-width: 1024px) {
  .sidebar.abrok-sidebar-collapsed,
  .sidebar.abrok-sidebar-collapsed:hover {
    width: 90px !important;
  }
  .sidebar.abrok-sidebar-collapsed:hover .logo,
  .sidebar.abrok-sidebar-collapsed .logo {
    display: none !important;
  }
  .sidebar.abrok-sidebar-collapsed:hover .logo-icon,
  .sidebar.abrok-sidebar-collapsed .logo-icon {
    display: block !important;
  }
  .sidebar.abrok-sidebar-collapsed:hover .sidebar-header,
  .sidebar.abrok-sidebar-collapsed .sidebar-header {
    justify-content: center !important;
  }
  .sidebar.abrok-sidebar-collapsed:hover .menu-group-title,
  .sidebar.abrok-sidebar-collapsed .menu-group-title,
  .sidebar.abrok-sidebar-collapsed:hover .menu-item-text,
  .sidebar.abrok-sidebar-collapsed .menu-item-text,
  .sidebar.abrok-sidebar-collapsed:hover .menu-item-arrow,
  .sidebar.abrok-sidebar-collapsed .menu-item-arrow,
  .sidebar.abrok-sidebar-collapsed:hover .menu-dropdown,
  .sidebar.abrok-sidebar-collapsed .menu-dropdown {
    display: none !important;
  }
  .sidebar.abrok-sidebar-collapsed .menu-group-icon {
    display: block !important;
  }
  .sidebar.abrok-sidebar-collapsed .menu-item {
    justify-content: center;
    padding-left: .75rem;
    padding-right: .75rem;
  }
}

/* ABROK SaaS shell: jerarquía visual central para navegación y notificaciones */
:root{
  --abrok-z-content:1;
  --abrok-z-sticky:20;
  --abrok-z-topbar:100;
  --abrok-z-dropdown:200;
  --abrok-z-overlay:300;
  --abrok-z-toast:400;
  --abrok-z-modal:500;
  --abrok-z-critical:600;
  --abrok-topbar-height:72px;
  --abrok-toast-gap:14px;
}
#abrok-topbar{z-index:var(--abrok-z-topbar)!important}
.abrok-toast-root{position:fixed;top:calc(var(--abrok-topbar-height) + var(--abrok-toast-gap));right:16px;z-index:var(--abrok-z-toast);display:flex;width:min(420px,calc(100vw - 32px));flex-direction:column;gap:10px;pointer-events:none}
.abrok-toast{pointer-events:auto;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border:1px solid #e5e7eb;border-radius:14px;background:#fff;padding:14px 16px;box-shadow:0 14px 35px rgba(17,24,39,.16);font-size:14px;line-height:1.45;color:#344054}
.abrok-toast button{flex:0 0 auto;border:0;background:transparent;color:#667085;cursor:pointer}
.abrok-toast--success{border-left:4px solid #12b76a}.abrok-toast--error{border-left:4px solid #f04438}.abrok-toast--warning{border-left:4px solid #f79009}.abrok-toast--info{border-left:4px solid #6172f3}
.abrok-business-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;border:1px solid #e5e7eb;border-radius:14px;padding:14px 16px;background:#fff}
.abrok-business-banner div{display:flex;flex-direction:column;gap:3px}.abrok-business-banner strong{font-size:14px;color:#101828}.abrok-business-banner span{font-size:13px;color:#667085}.abrok-business-banner a{white-space:nowrap;font-size:13px;font-weight:600;color:#6941c6}
.abrok-business-banner--warning{border-color:#fedf89;background:#fffaeb}.abrok-business-banner--danger,.abrok-business-banner--error{border-color:#fecdca;background:#fef3f2}.abrok-business-banner--success{border-color:#abefc6;background:#ecfdf3}
.saas-usage-track{height:8px;overflow:hidden;border-radius:999px;background:#eaecf0}.saas-usage-fill{height:100%;border-radius:inherit;background:#7f56d9}.saas-usage-fill[data-level="warning"]{background:#f79009}.saas-usage-fill[data-level="critical"]{background:#f04438}
@media(max-width:640px){.abrok-toast-root{left:12px;right:12px;width:auto}.abrok-business-banner{align-items:flex-start;flex-direction:column;gap:8px}}

/* Controles SaaS comerciales y stacking coherente */
.form-input{min-height:42px;border:1px solid #d0d5dd;border-radius:.55rem;background:#fff;padding:.6rem .75rem;font-size:.875rem;color:#1d2939;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.form-input:focus{border-color:#a4bcfd;outline:0;box-shadow:0 0 0 4px rgba(70,95,255,.1)}
.dark .form-input{border-color:#344054;background:#111827;color:#f2f4f7}
.sidebar{z-index:var(--abrok-z-overlay)!important}
@media(max-width:640px){.abrok-toast-root{left:12px;right:12px;width:auto}.abrok-business-banner{align-items:flex-start;flex-direction:column}.abrok-business-banner a{white-space:normal}}
.company-module-option.is-disabled{opacity:.58;cursor:not-allowed}.company-module-option.is-disabled .company-module-switch{filter:grayscale(1)}
