:root{
  --ms-primary:#123c69;
  --ms-primary-dark:#0b2545;
  --ms-accent:#0f9f8f;
  --ms-bg:#f5f7fb;
  --ms-card:#ffffff;
  --ms-border:#e8edf5;
  --ms-muted:#6c7a90;
}

body{background:var(--ms-bg);color:#1f2937}.bg-megasyn{background:linear-gradient(90deg,#061727,#0b2545,#123c69)}
.ms-navbar{box-shadow:0 8px 24px rgba(4,18,38,.18)}.brand-mark{width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,var(--ms-accent),#57d1c9);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:.8rem;box-shadow:0 8px 20px rgba(15,159,143,.28)}
.navbar .nav-link{border-radius:12px;margin:0 2px;padding:.55rem .75rem}.navbar .nav-link.active,.navbar .dropdown-item.active{background:rgba(255,255,255,.16);color:#fff}.dropdown-menu .dropdown-item.active{background:#eef6ff;color:var(--ms-primary);font-weight:700}.dropdown-item{border-radius:10px;margin:2px 6px;width:auto}.dropdown-menu{border-radius:16px;padding:.5rem;min-width:230px}.dropdown-item.disabled{opacity:.55}
.app-main{max-width:1480px}.page-header{background:linear-gradient(135deg,#fff,#f9fbff);border:1px solid var(--ms-border);border-radius:22px;padding:20px 22px;box-shadow:0 10px 30px rgba(12,30,60,.06)}
.card-soft,.card{border-color:var(--ms-border);border-radius:18px}.card-soft{border:0;box-shadow:0 10px 30px rgba(12,30,60,.08)}.card{box-shadow:0 6px 20px rgba(12,30,60,.045)}.card-header{border-top-left-radius:18px!important;border-top-right-radius:18px!important}
.btn-megasyn,.btn-primary{background:var(--ms-primary);color:#fff;border-color:var(--ms-primary)}.btn-megasyn:hover,.btn-primary:hover{background:var(--ms-primary-dark);border-color:var(--ms-primary-dark);color:#fff}.btn-outline-primary{color:var(--ms-primary);border-color:var(--ms-primary)}.btn-outline-primary:hover{background:var(--ms-primary);border-color:var(--ms-primary)}
.table{--bs-table-bg:transparent}.table thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ms-muted);font-weight:800;border-bottom-color:var(--ms-border)}.table td{vertical-align:middle}.badge{border-radius:999px;padding:.48em .72em}.form-control,.form-select{border-radius:13px;border-color:#dce5f2}.form-control:focus,.form-select:focus{border-color:var(--ms-primary);box-shadow:0 0 0 .2rem rgba(18,60,105,.12)}
.footer-version{background:#fff;border-top:1px solid #e9eef5}.flash-stack{position:relative;z-index:10}.login-bg{background:radial-gradient(circle at top,#1b6ca8,#0b2545 60%,#061727)}.login-card{width:100%;max-width:430px;border-radius:24px}.logo-circle{width:72px;height:72px;border-radius:22px;background:linear-gradient(135deg,#123c69,#0f9f8f);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:24px}
.sidebar{width:240px;min-height:100vh;background:#111827;color:white;position:fixed;padding:20px}.sidebar a{color:#d1d5db;text-decoration:none;display:block;padding:10px 0}.sidebar a:hover,.sidebar a.active{color:white}.sidebar-brand{margin-bottom:30px}.sidebar-group{font-size:.75rem;text-transform:uppercase;color:#93a4bd;margin-top:1rem}.sidebar-menu{list-style:none;padding:0;margin:0}
@media (max-width: 768px){.page-header{padding:16px}.display-6{font-size:2rem}.app-main{padding-left:1rem!important;padding-right:1rem!important}}

.brand-logo{height:34px;width:auto;max-width:150px;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(0,0,0,.18))}
.login-logo{height:86px;width:auto;max-width:220px;object-fit:contain;display:block}

/* MegaSyn UX Kit v1.6.0 */
.metric-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--ms-border);border-radius:22px;padding:20px;box-shadow:0 12px 34px rgba(12,30,60,.08);transition:.18s ease;color:#1f2937}.metric-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(12,30,60,.12)}.metric-card:after{content:"";position:absolute;inset:auto -40px -70px auto;width:150px;height:150px;border-radius:50%;background:rgba(18,60,105,.06)}.metric-primary{background:linear-gradient(135deg,#fff,#f7fbff)}.metric-icon{width:46px;height:46px;border-radius:16px;background:rgba(18,60,105,.10);color:var(--ms-primary);display:flex;align-items:center;justify-content:center;font-size:1.35rem;margin-bottom:14px}.metric-icon.success{background:rgba(15,159,143,.12);color:var(--ms-accent)}.metric-icon.warning{background:rgba(245,158,11,.14);color:#b45309}.metric-icon.money{background:rgba(16,185,129,.13);color:#047857}.metric-value{font-size:2.05rem;font-weight:850;letter-spacing:-.04em;line-height:1.05}.metric-value.money-text{font-size:1.65rem}.metric-subtitle{font-size:.86rem;color:var(--ms-muted);margin-top:6px}.bg-soft-primary{background:#eaf3ff;color:var(--ms-primary);border:1px solid #d7e8ff}.table-pro tbody tr{transition:.14s ease}.table-pro tbody tr:hover{background:#f8fbff}.status-badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.42rem .7rem;font-size:.78rem;font-weight:800;border:1px solid transparent}.status-badge:before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:currentColor}.status-ativo,.status-pago{background:#ecfdf5;color:#047857;border-color:#bbf7d0}.status-suspenso,.status-aguardando_instalacao,.status-aberto{background:#fffbeb;color:#b45309;border-color:#fde68a}.status-cancelado,.status-bloqueado,.status-atrasado{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.status-isento{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-grid a{min-height:92px;border:1px solid var(--ms-border);border-radius:18px;text-decoration:none;color:#1f2937;background:linear-gradient(135deg,#fff,#f9fbff);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-weight:800;text-align:center;transition:.16s ease}.quick-grid a:hover{border-color:#c8d8ef;color:var(--ms-primary);transform:translateY(-1px)}.quick-grid i{font-size:1.35rem;color:var(--ms-primary)}.btn{border-radius:13px;font-weight:700}.pagination .page-link{border-radius:12px;margin:0 3px;border-color:var(--ms-border);color:var(--ms-primary)}.pagination .active .page-link{background:var(--ms-primary);border-color:var(--ms-primary)}.breadcrumb-soft{font-size:.84rem}.breadcrumb-soft a{color:var(--ms-muted);text-decoration:none}.breadcrumb-soft a:hover{color:var(--ms-primary)}

/* MegaSyn ISP v1.8.0 - Cliente 360 */
.cliente-360 .cliente-hero {
  background: linear-gradient(135deg, var(--ms-primary, #123f7a), #0f6ea8);
  color: #fff;
}
.cliente-360 .metric-box {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 1rem;
  padding: .9rem;
  min-height: 82px;
}
.cliente-360 .metric-box small {
  display: block;
  opacity: .8;
  margin-bottom: .35rem;
}
.cliente-360 .metric-box strong {
  display: block;
  font-size: .98rem;
}
.timeline-list {
  position: relative;
  padding-left: .25rem;
}
.timeline-item {
  display: flex;
  gap: .9rem;
  padding: 0 0 1.15rem 0;
  position: relative;
}
.timeline-item:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 38px;
  bottom: 0;
  border-left: 2px dashed #dbe4f0;
}
.timeline-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eef5ff;
  color: var(--ms-primary, #123f7a);
  flex: 0 0 38px;
  z-index: 1;
}
.timeline-content {
  background: #fff;
  border: 1px solid #edf1f7;
  border-radius: .9rem;
  padding: .85rem 1rem;
  flex: 1;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
}
.ms-navbar .global-search {
  min-width: min(420px, 45vw);
}
