/**
 * Estilos del Portal de Socios / Frontend Partner Dashboard
 * Quieroloma Multi-Tenant & Multi-Vendor
 */

:root {
  --ql-primary: #1a4d2e;
  --ql-primary-dark: #123520;
  --ql-primary-light: #2d6a4f;
  --ql-accent: #e89923;
  --ql-accent-hover: #cf8418;
  --ql-bg-light: #f8fafc;
  --ql-card-bg: #ffffff;
  --ql-text-main: #1e293b;
  --ql-text-muted: #64748b;
  --ql-border: #e2e8f0;
  --ql-success: #10b981;
  --ql-warning: #f59e0b;
  --ql-danger: #ef4444;
  --ql-radius: 12px;
  --ql-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
}

.ql-partner-container {
  max-width: 1200px;
  margin: 30px auto;
  padding: 0 20px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  color: var(--ql-text-main);
}

/* Header del Dashboard */
.ql-partner-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 25px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--ql-border);
}

.ql-partner-header h2 {
  font-size: 26px;
  font-weight: 700;
  color: var(--ql-primary);
  margin: 0;
}

.ql-partner-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #e6f4ea;
  color: var(--ql-primary);
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
}

/* KPIs y Métricas */
.ql-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px;
  margin-bottom: 30px;
}

.ql-stat-card {
  background: var(--ql-card-bg);
  border: 1px solid var(--ql-border);
  border-radius: var(--ql-radius);
  padding: 20px;
  box-shadow: var(--ql-shadow);
  display: flex;
  flex-direction: column;
}

.ql-stat-card .stat-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--ql-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.ql-stat-card .stat-value {
  font-size: 28px;
  font-weight: 800;
  color: var(--ql-primary);
  margin-top: 8px;
}

/* Pestañas de Navegación */
.ql-tabs-nav {
  display: flex;
  gap: 10px;
  border-bottom: 2px solid var(--ql-border);
  margin-bottom: 25px;
  overflow-x: auto;
}

.ql-tab-btn {
  background: none;
  border: none;
  padding: 12px 20px;
  font-size: 15px;
  font-weight: 600;
  color: var(--ql-text-muted);
  cursor: pointer;
  border-bottom: 3px solid transparent;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.ql-tab-btn:hover {
  color: var(--ql-primary);
}

.ql-tab-btn.active {
  color: var(--ql-primary);
  border-bottom-color: var(--ql-primary);
}

.ql-tab-pane {
  display: none;
}

.ql-tab-pane.active {
  display: block;
}

/* Tarjetas y Tablas */
.ql-partner-card {
  background: var(--ql-card-bg);
  border: 1px solid var(--ql-border);
  border-radius: var(--ql-radius);
  padding: 25px;
  box-shadow: var(--ql-shadow);
  margin-bottom: 25px;
}

.ql-partner-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 15px;
}

.ql-partner-table th,
.ql-partner-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid var(--ql-border);
}

.ql-partner-table th {
  background: var(--ql-bg-light);
  font-size: 13px;
  font-weight: 600;
  color: var(--ql-text-muted);
}

/* Botones y Formularios */
.ql-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: background 0.2s ease, transform 0.1s ease;
}

.ql-btn-primary {
  background: var(--ql-primary);
  color: #ffffff;
}

.ql-btn-primary:hover {
  background: var(--ql-primary-dark);
  color: #ffffff;
}

.ql-btn-accent {
  background: var(--ql-accent);
  color: #ffffff;
}

.ql-btn-accent:hover {
  background: var(--ql-accent-hover);
}

.ql-btn-secondary {
  background: var(--ql-bg-light);
  color: var(--ql-text-main);
  border: 1px solid var(--ql-border);
}

.ql-btn-danger {
  background: #fee2e2;
  color: var(--ql-danger);
}

.ql-btn-danger:hover {
  background: #fecaca;
}

/* Formulario de Ficha y Registro */
.ql-form-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
  margin-bottom: 18px;
}

.ql-form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.ql-form-group label {
  font-size: 14px;
  font-weight: 600;
  color: var(--ql-text-main);
}

.ql-form-group input,
.ql-form-group select,
.ql-form-group textarea {
  padding: 10px 14px;
  border: 1px solid var(--ql-border);
  border-radius: 8px;
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s ease;
}

.ql-form-group input:focus,
.ql-form-group select:focus,
.ql-form-group textarea:focus {
  border-color: var(--ql-primary);
}

.ql-checkbox-group {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  margin: 15px 0;
}

.ql-checkbox-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}

/* Badges de Estado */
.ql-status-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
}

.ql-status-publish {
  background: #d1fae5;
  color: #065f46;
}

.ql-status-pending {
  background: #fef3c7;
  color: #92400e;
}

.ql-status-draft {
  background: #e2e8f0;
  color: #475569;
}

/* Editor visual del micrositio */
.ql-editor-intro{margin:-4px 0 22px;color:var(--ql-text-muted);line-height:1.55}
.ql-site-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:28px;align-items:start;margin-bottom:32px;padding-bottom:30px;border-bottom:1px solid #e2e8f0}
.ql-site-editor-controls{display:grid;gap:18px}.ql-site-editor-controls .ql-form-group{margin:0}.ql-site-editor-controls small{display:block;margin-top:6px;color:#64748b}
.ql-template-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}
.ql-template-choice{position:relative;display:grid;grid-template-columns:42px 1fr;align-items:center;gap:10px;padding:10px;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;background:#fff;transition:.2s ease}
.ql-template-choice:has(input:checked){border-color:var(--ql-primary);box-shadow:0 0 0 3px rgba(13,148,136,.12)}.ql-template-choice input{position:absolute;opacity:0}.ql-template-swatch{width:42px;height:34px;border-radius:7px;background:linear-gradient(145deg,#0f766e 0 48%,#f59e0b 49% 58%,#f8fafc 59%)}
.ql-template-swatch-hospitality{border-radius:14px;background:linear-gradient(145deg,#17324d 0 58%,#d4af37 59%)}.ql-template-swatch-adventure{border-radius:2px;background:linear-gradient(145deg,#276749 0 50%,#ed8936 51%)}.ql-template-swatch-gastronomy{background:linear-gradient(145deg,#7f1d1d 0 50%,#fbbf24 51%)}
.ql-site-editor input[type=color]{width:100%;height:48px;padding:4px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;cursor:pointer}
.ql-site-preview-wrap{position:sticky;top:20px}.ql-preview-label{display:block;margin-bottom:8px;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.ql-site-preview{overflow:hidden;border:1px solid #dbe3ea;border-radius:16px;background:#fff;box-shadow:0 16px 34px rgba(15,23,42,.13);transition:border-radius .2s ease}
.ql-preview-hero{position:relative;display:flex;align-items:flex-end;gap:14px;min-height:210px;padding:22px;background:linear-gradient(135deg,var(--preview-primary),#0f172a);background-size:cover;background-position:center;color:#fff}.ql-preview-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.68))}.ql-preview-hero img,.ql-preview-hero div{position:relative;z-index:1}.ql-preview-hero img{width:72px;height:72px;border:4px solid #fff;border-radius:50%;background:#fff;object-fit:contain}.ql-preview-hero div{display:grid}.ql-preview-hero strong{font-size:20px}.ql-preview-hero small{opacity:.86}
.ql-preview-body{display:flex;align-items:center;gap:8px;padding:18px}.ql-preview-body span{height:10px;flex:1;border-radius:99px;background:#e2e8f0}.ql-preview-body span:nth-child(2){max-width:70px}.ql-preview-body button{border:0;border-radius:8px;padding:9px 14px;background:var(--preview-primary);color:#fff;font-weight:800}.ql-preview-hospitality{border-radius:26px}.ql-preview-adventure{border-radius:3px}.ql-preview-gastronomy{border:3px solid var(--preview-secondary)}
.ql-editor-section-title{margin:0 0 18px;padding-bottom:10px;border-bottom:1px solid #e2e8f0;font-size:17px}
@media(max-width:900px){.ql-site-editor{grid-template-columns:1fr}.ql-site-preview-wrap{position:static}}
@media(max-width:520px){.ql-template-picker{grid-template-columns:1fr}.ql-site-editor{gap:20px}.ql-preview-hero{min-height:170px}.ql-preview-hero img{width:58px;height:58px}}
.ql-tour-date-builder{display:flex;gap:10px;align-items:center}.ql-tour-date-builder input{flex:1}.ql-tour-date-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.ql-tour-date-chip{padding:7px 10px;border:1px solid #99f6e4;border-radius:999px;background:#f0fdfa;color:#0f766e;font-weight:700;cursor:pointer}.ql-tour-flexible-option{margin:8px 0!important}@media(max-width:640px){.ql-tour-date-builder{align-items:stretch;flex-direction:column}}
