/* CobrarIA Portal · panel premium basado en dashboard */

:root{
  --cobraria-portal-bg:#071c42;
  --cobraria-portal-bg-2:#0b2f63;
  --cobraria-portal-bg-3:#123f7a;
  --cobraria-portal-surface:#ffffff;
  --cobraria-portal-surface-soft:#f4f8fc;
  --cobraria-portal-surface-soft-2:#edf4fb;
  --cobraria-portal-border:#dbe7f1;
  --cobraria-portal-text:#0f172a;
  --cobraria-portal-muted:#64748b;
  --cobraria-portal-blue:#2271b1;
  --cobraria-portal-blue-2:#2f95e8;
  --cobraria-portal-violet:#9b4dff;
  --cobraria-portal-pink:#ff45b6;
  --cobraria-portal-green:#27ae60;
  --cobraria-portal-orange:#f59e0b;
  --cobraria-portal-radius-xl:28px;
  --cobraria-portal-radius-lg:22px;
  --cobraria-portal-radius-md:16px;
  --cobraria-portal-shadow:0 22px 42px rgba(4,17,41,.12);
  --cobraria-portal-shadow-soft:0 14px 30px rgba(15,23,42,.08);
}

.cobraria-portal-wrap,
.cobraria-portal-wrap *{ box-sizing:border-box; }

.cobraria-portal-wrap{
  position:relative;
  overflow:hidden;
  padding:34px 0 56px;
  min-height:72vh;
  color:var(--cobraria-portal-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Arial,sans-serif;
  background:
    radial-gradient(circle at 0% 0%, rgba(255,69,182,.15) 0%, rgba(255,69,182,0) 24%),
    radial-gradient(circle at 100% 0%, rgba(47,149,232,.18) 0%, rgba(47,149,232,0) 28%),
    linear-gradient(180deg, #f4f8fc 0%, #eef5fb 100%);
}

.cobraria-portal-wrap::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:260px;
  background:linear-gradient(135deg,var(--cobraria-portal-bg) 0%, var(--cobraria-portal-bg-2) 58%, var(--cobraria-portal-bg-3) 100%);
  z-index:0;
}

.cobraria-portal-wrap::after{
  content:"";
  position:absolute;
  top:46px;
  right:-100px;
  width:260px;
  height:260px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,69,182,.22) 0%, rgba(255,69,182,0) 66%);
  pointer-events:none;
  z-index:0;
}

.cobraria-portal-container{
  position:relative;
  z-index:1;
  max-width:1280px;
  margin:0 auto;
  padding:0 22px;
}

.cobraria-portal-wrap a{ color:var(--cobraria-portal-blue); text-decoration:none; }
.cobraria-brand{ margin:0 0 12px; }
.cobraria-brand img{ display:block; max-height:48px; width:auto; }

.cobraria-portal-header,
.cobraria-portal-card,
.cobraria-portal-panel,
.cobraria-login-card{
  position:relative;
  overflow:hidden;
  border-radius:var(--cobraria-portal-radius-xl);
  box-shadow:var(--cobraria-portal-shadow);
}

.cobraria-portal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  margin:0 0 20px;
  padding:26px 28px;
  background:linear-gradient(135deg, rgba(16,40,94,.96) 0%, rgba(34,113,177,.96) 52%, rgba(47,149,232,.94) 100%);
  border:1px solid rgba(255,255,255,.16);
}

.cobraria-portal-header::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,0) 36%);
  pointer-events:none;
}

.cobraria-portal-header-copy,
.cobraria-portal-header-copy *{ position:relative; z-index:1; }
.cobraria-portal-header h2{ margin:0; color:#fff; font-size:34px; line-height:1.05; font-weight:1000; letter-spacing:-.04em; }
.cobraria-portal-header-subtitle{ color:rgba(255,255,255,.92); font-size:15px; line-height:1.45; font-weight:800; margin-top:8px; max-width:720px; }

.cobraria-portal-btn,
.cobraria-login-card .button,
.cobraria-login-card .cobraria-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
  padding:12px 18px;
  border:1px solid transparent;
  border-radius:999px;
  background:linear-gradient(135deg,var(--cobraria-portal-violet) 0%, var(--cobraria-portal-pink) 100%);
  color:#fff !important;
  font-size:14px;
  font-weight:900;
  line-height:1.1;
  letter-spacing:-.01em;
  box-shadow:0 14px 28px rgba(155,77,255,.22);
  transition:transform .16s ease, filter .16s ease, box-shadow .16s ease;
}

.cobraria-portal-btn:hover,
.cobraria-login-card .button:hover,
.cobraria-login-card .cobraria-tab:hover{ transform:translateY(-1px); filter:brightness(1.03); }

.cobraria-portal-btn.secondary,
.cobraria-login-card .cobraria-tab:not(.is-active){
  background:#ffffff;
  color:var(--cobraria-portal-text) !important;
  border-color:rgba(255,255,255,.22);
  box-shadow:0 12px 24px rgba(6,19,46,.12);
}

.cobraria-portal-btn--primary,
.cobraria-login-card .cobraria-tab.is-active{ background:linear-gradient(135deg,var(--cobraria-portal-violet) 0%, var(--cobraria-portal-pink) 100%) !important; color:#fff !important; }
.cobraria-portal-form-submit{ margin-top:18px; }

.cobraria-portal-kpis{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:18px;
  margin:0 0 20px;
}

.cobraria-portal-kpi{
  position:relative;
  overflow:hidden;
  min-height:150px;
  padding:20px 22px;
  border-radius:24px;
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 18px 34px rgba(7,18,42,.18);
}

.cobraria-portal-kpi::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 40%);
  pointer-events:none;
}

.cobraria-portal-kpi > *{ position:relative; z-index:1; }
.cobraria-portal-kpi--services{ background:linear-gradient(135deg,#153b8f 0%, #2478de 100%); }
.cobraria-portal-kpi--due{ background:linear-gradient(135deg,#7a2cff 0%, #df33b9 100%); }
.cobraria-portal-kpi--paid{ background:linear-gradient(135deg,#0c8a6c 0%, #29b6a1 100%); }
.cobraria-portal-kpi--tickets{ background:linear-gradient(135deg,#1d2b5d 0%, #3a66b2 100%); }
.cobraria-portal-kpi-label{ margin:0 0 14px; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.82); }
.cobraria-portal-kpi-value{ margin:0 0 12px; font-size:48px; line-height:1; font-weight:1000; letter-spacing:-.05em; color:#fff; }
.cobraria-portal-kpi-meta{ font-size:14px; line-height:1.45; font-weight:800; color:rgba(255,255,255,.92); }

.cobraria-portal-alert,
.cobraria-portal-panel,
.cobraria-login-card,
.cobraria-portal-card{
  background:rgba(255,255,255,.94);
  border:1px solid var(--cobraria-portal-border);
  color:var(--cobraria-portal-text);
  backdrop-filter:blur(8px);
}

.cobraria-portal-panel,
.cobraria-login-card,
.cobraria-portal-card{ padding:24px 26px; }
.cobraria-portal-panel h3,
.cobraria-portal-panel h4,
.cobraria-login-card h2,
.cobraria-login-card h3,
.cobraria-portal-card h2{ margin:0; color:var(--cobraria-portal-text); font-weight:1000; letter-spacing:-.03em; }

.cobraria-portal-alert{
  margin:0 0 18px;
  padding:16px 18px;
  border-radius:18px;
  font-size:14px;
  font-weight:900;
  box-shadow:var(--cobraria-portal-shadow-soft);
}
.cobraria-portal-alert.is-success{ background:linear-gradient(135deg, rgba(39,174,96,.12) 0%, rgba(41,182,161,.12) 100%); border-color:rgba(39,174,96,.22); color:#0b5a3a; }

.cobraria-auth-title{ margin:0 0 8px; font-size:30px; }
.cobraria-auth-subtitle{ margin:0 0 16px; color:var(--cobraria-portal-muted); font-weight:800; }
.cobraria-auth-tabs{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:14px; }
.cobraria-auth-msg{ margin-top:14px; padding:14px 16px; border-radius:16px; font-size:14px; font-weight:900; box-shadow:var(--cobraria-portal-shadow-soft); }
.cobraria-login-card .panel p{ margin:0 0 12px; }
.cobraria-login-card .panel p:last-child{ margin-bottom:0; }
.cobraria-login-card .panel p[style]{ display:flex; gap:12px; flex-wrap:wrap; }
.cobraria-login-card input.regular-text,
.cobraria-login-card input[type="text"],
.cobraria-login-card input[type="email"],
.cobraria-login-card input[type="password"]{
  width:100%;
  min-height:50px;
  padding:13px 16px;
  border-radius:16px;
  border:1px solid var(--cobraria-portal-border) !important;
  background:var(--cobraria-portal-surface-soft) !important;
  color:var(--cobraria-portal-text) !important;
  font-weight:800;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.cobraria-login-card .button{ min-width:170px; }

.cobraria-portal-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin:0 0 18px;
}
.cobraria-portal-section-meta{ color:var(--cobraria-portal-muted); font-size:13px; font-weight:800; }
.cobraria-portal-section-actions{ display:flex; gap:10px; flex-wrap:wrap; }
.cobraria-portal-section-actions--form{ margin-top:18px; }

.cobraria-portal-profile-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.cobraria-portal-profile-grid label,
.cobraria-portal-field-block{
  display:flex;
  flex-direction:column;
  gap:8px;
  font-size:13px;
  font-weight:900;
  color:var(--cobraria-portal-text);
}
.cobraria-portal-profile-grid label.wide{ grid-column:1 / -1; }
.cobraria-portal-profile-grid input,
.cobraria-portal-profile-grid select,
.cobraria-portal-profile-grid textarea,
.cobraria-portal-field-block input,
.cobraria-portal-field-block select,
.cobraria-portal-field-block textarea,
.cobraria-portal-wrap textarea,
.cobraria-portal-wrap select{
  width:100%;
  min-height:50px;
  padding:13px 16px;
  border-radius:16px;
  border:1px solid var(--cobraria-portal-border) !important;
  background:var(--cobraria-portal-surface-soft) !important;
  color:var(--cobraria-portal-text) !important;
  font-weight:800;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.84);
}
.cobraria-portal-wrap textarea{ min-height:140px; resize:vertical; }

.cobraria-portal-stack{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  margin-top:20px;
}

.cobraria-portal-panel--services h3,
.cobraria-portal-panel--invoices h3,
.cobraria-portal-panel--tickets h3,
.cobraria-portal-profile h3,
.cobraria-portal-panel--catalog h3{ font-size:30px; }
.cobraria-portal-empty{ margin:0; color:var(--cobraria-portal-muted); font-weight:800; }

.cobraria-portal-service-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.cobraria-portal-service-list li{
  margin:0;
  padding:18px 18px;
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff 0%, #f7fbff 100%);
  border:1px solid var(--cobraria-portal-border);
  box-shadow:var(--cobraria-portal-shadow-soft);
  min-height:112px;
}
.cobraria-portal-service-list li strong{ display:block; margin-bottom:7px; font-size:16px; color:var(--cobraria-portal-text); }
.cobraria-portal-service-meta{ margin-top:10px; color:var(--cobraria-portal-muted) !important; font-size:12px; font-weight:800; }

.cobraria-portal-table{
  width:100%;
  margin:10px 0 0;
  border-collapse:separate;
  border-spacing:0 14px;
  background:transparent;
  border:0;
}
.cobraria-portal-table thead th{
  padding:14px 16px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  color:var(--cobraria-portal-muted);
  background:transparent !important;
  border:0 !important;
}
.cobraria-portal-table thead th.is-right{ text-align:right; }
.cobraria-portal-table tbody td{
  padding:16px 16px;
  background:#ffffff;
  color:var(--cobraria-portal-text) !important;
  border-top:1px solid var(--cobraria-portal-border) !important;
  border-bottom:1px solid var(--cobraria-portal-border) !important;
  vertical-align:middle;
  font-size:14px;
  font-weight:800;
  box-shadow:0 12px 24px rgba(15,23,42,.06);
}
.cobraria-portal-table tbody td:first-child{
  border-left:1px solid var(--cobraria-portal-border) !important;
  border-radius:20px 0 0 20px;
}
.cobraria-portal-table tbody td:last-child{
  border-right:1px solid var(--cobraria-portal-border) !important;
  border-radius:0 20px 20px 0;
}
.cobraria-portal-table tbody td.is-right{ text-align:right; }
.cobraria-portal-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:6px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
}
.cobraria-portal-status.status-paid{ background:rgba(39,174,96,.12); color:#0b7b47; }
.cobraria-portal-status.status-issued,
.cobraria-portal-status.status-open{ background:rgba(34,113,177,.12); color:#165586; }
.cobraria-portal-status.status-overdue,
.cobraria-portal-status.status-vencida{ background:rgba(245,158,11,.16); color:#a65d00; }
.cobraria-portal-status.status-cancelled,
.cobraria-portal-status.status-cancelada{ background:rgba(148,163,184,.16); color:#475569; }

.cobraria-portal-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.cobraria-portal-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:10px 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  line-height:1;
  text-decoration:none !important;
  border:1px solid transparent;
  transition:transform .16s ease, filter .16s ease, box-shadow .16s ease;
}
.cobraria-portal-action:hover{ transform:translateY(-1px); filter:brightness(1.02); }
.cobraria-portal-action.is-ualabis{ background:linear-gradient(135deg,#2140c9 0%, #4e78ff 52%, #d962b5 100%); color:#fff !important; box-shadow:0 10px 18px rgba(33,64,201,.20); }
.cobraria-portal-action.is-mp{ background:linear-gradient(135deg,#0d64b6 0%, #35a2ee 100%); color:#fff !important; box-shadow:0 10px 18px rgba(13,100,182,.18); }
.cobraria-portal-action.is-uala{ background:#eef5fb; color:#165586 !important; border-color:#cfe0ef; }
.cobraria-portal-action.is-open{ background:#ffffff; color:var(--cobraria-portal-text) !important; border-color:var(--cobraria-portal-border); }

.cobraria-portal-ticket-form-wrap{ margin-top:16px; }
.cobraria-portal-panel [style*="font-weight:1000"]{ color:var(--cobraria-portal-text) !important; }
.cobraria-portal-panel code{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 10px;
  border-radius:999px;
  background:#edf4fb;
  border:1px solid var(--cobraria-portal-border);
  color:var(--cobraria-portal-text);
  font-size:12px;
  font-weight:900;
}

.cobraria-available-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.cobraria-available-desc{ margin:8px 0 0; color:var(--cobraria-portal-muted); font-weight:800; }
.cobraria-portal-panel--catalog{ margin-top:20px; }

@media (max-width:1120px){
  .cobraria-portal-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cobraria-portal-service-list{ grid-template-columns:1fr; }
  .cobraria-portal-table{ display:block; overflow-x:auto; }
}

@media (max-width:782px){
  .cobraria-portal-wrap{ padding:24px 0 42px; }
  .cobraria-portal-container{ padding:0 16px; }
  .cobraria-portal-wrap::before{ height:210px; }
  .cobraria-portal-header,
  .cobraria-portal-panel,
  .cobraria-login-card,
  .cobraria-portal-card{ border-radius:22px; }
  .cobraria-portal-header{ padding:22px 20px; }
  .cobraria-portal-header h2{ font-size:28px; }
  .cobraria-portal-kpis{ grid-template-columns:1fr; }
  .cobraria-portal-kpi{ min-height:128px; }
  .cobraria-portal-kpi-value{ font-size:40px; }
  .cobraria-portal-profile-grid{ grid-template-columns:1fr; }
  .cobraria-portal-service-list{ grid-template-columns:1fr; }
  .cobraria-portal-actions{ justify-content:flex-start; }
  .cobraria-portal-table{ border-spacing:0 12px; }
  .cobraria-portal-table thead{ display:none; }
  .cobraria-portal-table,
  .cobraria-portal-table tbody,
  .cobraria-portal-table tr,
  .cobraria-portal-table td{ display:block; width:100%; }
  .cobraria-portal-table tbody tr{ margin-bottom:12px; }
  .cobraria-portal-table tbody td{ border-left:1px solid var(--cobraria-portal-border) !important; border-right:1px solid var(--cobraria-portal-border) !important; border-radius:0 !important; text-align:left !important; }
  .cobraria-portal-table tbody td:first-child{ border-radius:18px 18px 0 0 !important; }
  .cobraria-portal-table tbody td:last-child{ border-radius:0 0 18px 18px !important; }
  .cobraria-portal-table tbody td::before{ display:block; margin-bottom:6px; font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--cobraria-portal-muted); font-weight:900; }
  .cobraria-portal-table tbody td:nth-child(1)::before{ content:"N°"; }
  .cobraria-portal-table tbody td:nth-child(2)::before{ content:"Estado"; }
  .cobraria-portal-table tbody td:nth-child(3)::before{ content:"Total"; }
  .cobraria-portal-table tbody td:nth-child(4)::before{ content:"Acciones"; }
}
