:root {
  --sidebar-width: 304px;
  --bg-app: #edf4ff;
  --panel: rgba(255,255,255,.84);
  --panel-solid: #ffffff;
  --panel-border: rgba(15,23,42,.08);
  --ink: #0f172a;
  --muted: #64748b;
  --brand: #2563eb;
  --brand-2: #7c3aed;
  --brand-3: #06b6d4;
  --success: #16a34a;
  --warning: #d97706;
  --danger: #dc2626;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at top left, rgba(37,99,235,.13), transparent 22%),
    radial-gradient(circle at top right, rgba(124,58,237,.11), transparent 20%),
    linear-gradient(180deg, #f7faff 0%, var(--bg-app) 100%);
  min-height: 100vh;
}

a { text-decoration: none; }

.app-shell { display: flex; min-height: 100vh; }

.sidebar-panel {
  width: var(--sidebar-width);
  background:
    radial-gradient(circle at top, rgba(59,130,246,.18), transparent 20%),
    linear-gradient(180deg, #09111f 0%, #0f172a 45%, #172554 100%);
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  box-shadow: 18px 0 40px rgba(15,23,42,.16);
}

.brand-mark {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: linear-gradient(135deg, #3b82f6, #8b5cf6 58%, #06b6d4);
  color:#fff;
  font-weight:800;
  font-size: 1.5rem;
  box-shadow: 0 16px 32px rgba(59,130,246,.3);
}

.glass-dark {
  border-radius: 20px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.09);
  backdrop-filter: blur(10px);
}

.nav-modern {
  display:flex;
  align-items:center;
  gap:.9rem;
  color: rgba(255,255,255,.76);
  padding: .92rem 1rem;
  border-radius: 16px;
  transition: .22s ease;
  font-weight: 600;
}

.nav-modern:hover {
  background: rgba(255,255,255,.08);
  color: #fff;
}

.nav-modern.active {
  background: linear-gradient(135deg, rgba(59,130,246,.28), rgba(139,92,246,.28));
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
}

.nav-modern.danger:hover { background: rgba(220,38,38,.15); }
.nav-modern.mobile { color: #0f172a; }

.main-panel {
  flex:1;
  min-width:0;
}

.topbar-modern {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding: 1.1rem 1.4rem;
  position: sticky;
  top:0;
  z-index:20;
  background: rgba(237,244,255,.75);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(15,23,42,.06);
}

.page-overline {
  font-size: .72rem;
  letter-spacing: .16em;
  font-weight: 800;
  color: var(--brand);
}

.page-title {
  font-size: clamp(1.35rem, 2vw, 2rem);
  font-weight: 800;
}

.topbar-actions {
  display:flex;
  align-items:center;
  gap:.85rem;
}

.search-chip,
.user-pill {
  background: rgba(255,255,255,.88);
  border:1px solid var(--panel-border);
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(15,23,42,.06);
}

.search-chip {
  display:flex;
  align-items:center;
  gap:.7rem;
  padding: .72rem 1rem;
  min-width: 320px;
}

.search-chip input {
  outline:none;
  width:100%;
}

.user-pill {
  display:flex;
  align-items:center;
  gap:.8rem;
  padding:.45rem .85rem .45rem .55rem;
}

.user-avatar {
  width: 40px;
  height:40px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background: linear-gradient(135deg,#2563eb,#7c3aed);
  color:#fff;
  font-weight:700;
}

.content-wrap { padding: 1.4rem; }

.panel-card,
.glass-card,
.stat-card,
.hero-card,
.kanban-column,
.info-card {
  background: var(--panel);
  border:1px solid var(--panel-border);
  backdrop-filter: blur(12px);
  border-radius: 24px;
  box-shadow: 0 18px 40px rgba(15,23,42,.07);
}

.hero-card {
  background:
    radial-gradient(circle at right bottom, rgba(255,255,255,.18), transparent 25%),
    linear-gradient(135deg, rgba(37,99,235,.98), rgba(124,58,237,.96));
  color:#fff;
  overflow:hidden;
  position:relative;
}

.hero-card::after {
  content:'';
  position:absolute;
  inset:auto -30px -30px auto;
  width:180px;
  height:180px;
  background: rgba(255,255,255,.12);
  border-radius:50%;
}

.stat-card { min-height: 125px; }

.stat-label {
  font-size: .82rem;
  color: var(--muted);
  font-weight: 600;
}

.stat-value {
  font-size: clamp(1.35rem, 2vw, 2rem);
  font-weight: 800;
  line-height: 1.08;
  margin-top:.45rem;
}

.stat-hint {
  color: var(--muted);
  font-size: .82rem;
  margin-top:.35rem;
}

.stat-icon {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(37,99,235,.12), rgba(124,58,237,.12));
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.2rem;
  color: var(--brand);
}

.section-head,
.table-toolbar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
}

.section-head { margin-bottom:1rem; }

.section-title {
  font-size: 1.05rem;
  font-weight: 800;
  margin:0;
}

.section-subtitle {
  color: var(--muted);
  font-size:.9rem;
}

.form-label {
  font-size:.84rem;
  font-weight:700;
  color:#334155;
}

.form-control,
.form-select {
  border-radius: 14px;
  padding: .76rem .9rem;
  border-color: rgba(15,23,42,.1);
  background: rgba(255,255,255,.88);
}

.form-control:focus,
.form-select:focus {
  border-color: rgba(37,99,235,.4);
  box-shadow: 0 0 0 .2rem rgba(37,99,235,.12);
}

.btn { border-radius: 14px; }

.btn-soft {
  background: rgba(255,255,255,.86);
  border:1px solid rgba(15,23,42,.08);
  color:#0f172a;
}

.btn-soft:hover {
  background:#fff;
  border-color: rgba(15,23,42,.15);
}

.table-modern thead th {
  border-bottom: 1px solid rgba(15,23,42,.08);
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: .72rem;
  color: var(--muted);
}

.table-modern tbody tr { border-color: rgba(15,23,42,.06); }

.table-modern tbody tr:hover {
  background: rgba(37,99,235,.04);
}

.badge-status {
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  font-weight:700;
  border-radius:999px;
  padding:.48rem .72rem;
  border:1px solid transparent;
}

.badge-status.success {
  color:#166534;
  background:rgba(34,197,94,.12);
  border-color:rgba(34,197,94,.18);
}

.badge-status.warning {
  color:#92400e;
  background:rgba(245,158,11,.16);
  border-color:rgba(245,158,11,.18);
}

.badge-status.info {
  color:#1d4ed8;
  background:rgba(59,130,246,.12);
  border-color:rgba(59,130,246,.16);
}

.badge-status.danger {
  color:#991b1b;
  background:rgba(239,68,68,.12);
  border-color:rgba(239,68,68,.16);
}

.badge-status.secondary {
  color:#475569;
  background:rgba(148,163,184,.12);
  border-color:rgba(148,163,184,.16);
}

.filter-bar {
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}

.filter-pill {
  background: rgba(255,255,255,.85);
  border:1px solid rgba(15,23,42,.08);
  padding:.46rem .7rem;
  border-radius: 999px;
  font-size:.83rem;
}

.login-wrap {
  min-height: 100vh;
  display:grid;
  place-items:center;
  padding:2rem;
  background: radial-gradient(circle at top left, rgba(37,99,235,.28), transparent 24%), linear-gradient(135deg, #0f172a, #172554 45%, #1e293b);
}

.login-card {
  width: min(100%, 1080px);
  border-radius: 32px;
  overflow:hidden;
  background: rgba(255,255,255,.97);
  box-shadow: 0 30px 80px rgba(15,23,42,.35);
}

.timeline-help > div,
.timeline-entry {
  display:grid;
  gap:.25rem;
  padding: .85rem 0;
  border-bottom:1px solid rgba(15,23,42,.08);
}

.data-spotlight {
  background: linear-gradient(135deg, rgba(37,99,235,.08), rgba(124,58,237,.08));
  border:1px solid rgba(37,99,235,.08);
  border-radius: 20px;
  padding: 1rem;
}

.quick-actions,
.meta-grid {
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}

.metric-progress {
  height: 10px;
  border-radius: 999px;
  background: rgba(148,163,184,.18);
  overflow: hidden;
}

.metric-progress > div {
  height:100%;
  border-radius:999px;
  background: linear-gradient(90deg,#2563eb,#8b5cf6);
}

.kanban-board {
  display:grid;
  grid-template-columns: repeat(4, minmax(250px, 1fr));
  gap: 1rem;
}

.kanban-column {
  padding: 1rem;
  min-height: 350px;
}

.kanban-card {
  background: rgba(255,255,255,.94);
  border:1px solid rgba(15,23,42,.07);
  border-radius: 20px;
  padding: 1rem;
  box-shadow: 0 10px 30px rgba(15,23,42,.06);
  margin-bottom: .9rem;
}

.timeline-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: linear-gradient(135deg, #2563eb, #8b5cf6);
  margin-top: .45rem;
}

.timeline-line {
  position: relative;
  padding-left: 1rem;
}

.timeline-line::before {
  content:'';
  position:absolute;
  left:4px;
  top:0;
  bottom:0;
  width:2px;
  background: rgba(148,163,184,.22);
}

.timeline-line .timeline-item {
  position:relative;
  padding-left:1.1rem;
  margin-bottom: .8rem;
}

.timeline-line .timeline-item::before {
  content:'';
  position:absolute;
  left:-1px;
  top:.42rem;
  width:10px;
  height:10px;
  border-radius:999px;
  background: linear-gradient(135deg, #2563eb, #8b5cf6);
}

.attachment-list a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.7rem;
  padding:.8rem .9rem;
  border:1px solid rgba(15,23,42,.07);
  border-radius: 16px;
  background:#fff;
  color:#0f172a;
}

.kpi-inline {
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
}

.kpi-inline .mini {
  min-width: 160px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 18px;
  padding: .9rem 1rem;
}

.hero-grid {
  display:grid;
  grid-template-columns: 1.4fr .9fr;
  gap:1rem;
}

.info-card { padding:1rem; }

.empty-state {
  padding: 2rem;
  text-align:center;
  color: var(--muted);
}

.chart-wrap {
  position: relative;
  height: 320px;
}

@media (max-width: 1199.98px) {
  .kanban-board { grid-template-columns: repeat(2, minmax(250px, 1fr)); }
  .hero-grid { grid-template-columns: 1fr; }
}

@media (max-width: 991.98px) {
  .topbar-modern { padding: 1rem; }
  .content-wrap { padding: 1rem; }
  .topbar-actions { margin-left:auto; }
}

@media (max-width: 767.98px) {
  .topbar-actions .user-pill { display:none; }
  .topbar-actions .btn-soft { display:none; }
  .page-title { font-size: 1.25rem; }
  .panel-card, .glass-card, .stat-card, .hero-card, .kanban-column, .info-card { border-radius: 20px; }
  .kanban-board { grid-template-columns: 1fr; }
  .search-chip { min-width: 0; width: 100%; }
}

.helper-card {
  background: linear-gradient(135deg, rgba(37,99,235,.08), rgba(124,58,237,.08));
  border: 1px solid rgba(37,99,235,.12);
  border-radius: 22px;
  padding: 1rem 1.1rem;
}

.seg-toast-stack { z-index: 2000; }

.seg-followup-toast {
  width: min(360px, calc(100vw - 1.5rem));
  border: 1px solid rgba(37,99,235,.14);
  border-radius: 18px;
  box-shadow: 0 18px 42px rgba(15,23,42,.18);
}

.assignment-chip {
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.45rem .7rem;
  border-radius:999px;
  background: rgba(255,255,255,.78);
  border:1px solid rgba(15,23,42,.08);
  font-size:.82rem;
}

.guide-list { display:grid; gap:.75rem; }

.guide-list .item {
  background:#fff;
  border:1px solid rgba(15,23,42,.06);
  border-radius:18px;
  padding:.9rem 1rem;
}

.seg-splash {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at top left, rgba(37,99,235,.26), transparent 24%), linear-gradient(135deg, #0b1220, #172554 55%, #2563eb);
  transition: opacity .45s ease, visibility .45s ease;
}

.seg-splash.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.seg-splash__inner {
  text-align: center;
  color: #fff;
  padding: 2rem;
}

.seg-splash__mark {
  margin: 0 auto 1rem;
  width: 74px;
  height: 74px;
  font-size: 2rem;
  border-radius: 24px;
}

.seg-splash__title {
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 800;
  letter-spacing: .02em;
}

.seg-splash__subtitle {
  color: rgba(255,255,255,.72);
  margin-top: .45rem;
}

.seg-splash__inner::after {
  content: '';
  display: block;
  width: 140px;
  height: 4px;
  margin: 1.15rem auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255,255,255,.18), rgba(255,255,255,.96), rgba(255,255,255,.18));
  animation: segPulse 1.25s ease-in-out infinite;
}

@keyframes segPulse {
  0% { transform: scaleX(.55); opacity: .45; }
  50% { transform: scaleX(1); opacity: 1; }
  100% { transform: scaleX(.55); opacity: .45; }
}

.form-control[data-mask],
.form-control[data-mask-money] {
  letter-spacing: .01em;
}

.broker-preview {
  min-height: 96px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  border-radius: 20px;
  padding: 1rem 1.1rem;
  display: flex;
  align-items: center;
  gap: .95rem;
  transition: all .22s ease;
}

.broker-preview.is-visible {
  background: rgba(255,255,255,.1);
  border-color: rgba(255,255,255,.18);
}

.broker-preview__media {
  flex: 0 0 auto;
}

.broker-preview__logo,
.broker-preview__fallback {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(255,255,255,.96);
  object-fit: contain;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #172554;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(15,23,42,.18);
}

.broker-preview__body {
  min-width: 0;
}

.broker-preview__label {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: rgba(255,255,255,.6);
  margin-bottom: .2rem;
  font-weight: 700;
}

.broker-preview__name {
  font-size: .92rem;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: .02em;
  color: #fff;
}

.broker-preview__subtitle,
.broker-preview__placeholder {
  color: rgba(255,255,255,.68);
  font-size: .9rem;
  margin-top: .2rem;
}

.seg-input-group {
  border-radius: 18px;
  overflow: hidden;
}

.seg-input-group .form-control,
.seg-input-group .btn {
  border-radius: 0;
}

.seg-input-group .btn {
  font-weight: 700;
}

.brand-name-login{
  font-size: 0.95rem;
  letter-spacing: 0.3px;
  opacity: 0.9;
  margin-top: 2px;
  line-height: 1.2;
}

.logo-seguradora-lista{
  max-height: 62px !important;
  max-width: 44px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

.seguradora-cell{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.seguradora-cell__logo-wrap{
  width:44px;
  min-width:44px;
  height:18px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  overflow:hidden;
}

.logo-seguradora-fallback{
  width:16px;
  height:16px;
  min-width:16px;
  font-size:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:4px;
  background:#eef2f7;
  color:#5b6b7f;
  font-weight:600;
}

.seguradora-cell__name{
  font-size:0.9rem;
  line-height:1.1;
  white-space:nowrap;
}

.bulk-assign-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border:1px solid rgba(28,59,122,.08);background:#f8faff;border-radius:18px}.bulk-assign-toolbar__title{font-weight:700;color:#1a2740}.kanban-column-scroll{max-height:78vh;overflow:auto}.pagination .page-link{border-radius:12px}.table-responsive{scrollbar-width:thin}.modal-content{border-radius:24px}


.seg-pagination {
  display:flex;
  align-items:center;
  gap:0;
  flex-wrap:wrap;
  border:1px solid rgba(15,23,42,.12);
  border-radius:10px;
  overflow:hidden;
  background:rgba(255,255,255,.92);
  width:fit-content;
  max-width:100%;
}
.seg-pagination__item,
.seg-pagination__ellipsis {
  min-width:48px;
  height:40px;
  padding:0 .95rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-right:1px solid rgba(15,23,42,.10);
  color:var(--brand);
  background:#fff;
  font-weight:600;
}
.seg-pagination__item:last-child { border-right:0; }
.seg-pagination__item:hover { background:rgba(37,99,235,.06); color:var(--brand); }
.seg-pagination__item.is-active { background:var(--brand); color:#fff; }
.seg-pagination__item.is-disabled { color:#94a3b8; background:#f8fafc; pointer-events:none; }
.seg-pagination__ellipsis { color:#64748b; min-width:38px; }
.seg-pagination-wrap {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
}
.kanban-column-scroll { max-height: 700px; overflow:auto; }
.proposal-form-card { max-width: 100%; }
@media (max-width: 767.98px) {
  .seg-pagination { width:100%; overflow:auto; flex-wrap:nowrap; }
  .seg-pagination__item, .seg-pagination__ellipsis { flex:0 0 auto; }
}
