.alc-crm-shell{
  --alc-crm-bg:#f4f6f8;
  --alc-crm-surface:#ffffff;
  --alc-crm-border:#d9e1ea;
  --alc-crm-text:#1b2430;
  --alc-crm-muted:#66778b;
  --alc-crm-dark:#101827;
  --alc-crm-red:#c62828;
  --alc-crm-red-dark:#a61f1f;
  --alc-crm-shadow:0 14px 34px rgba(15,23,42,.08);
  font-size:14px !important;
  color:var(--alc-crm-text) !important;
}

.alc-crm-shell,
.alc-crm-shell .alc-card,
.alc-crm-shell .alc-inline-form-card,
.alc-crm-shell input,
.alc-crm-shell select,
.alc-crm-shell textarea,
.alc-crm-shell button,
.alc-crm-shell a{
  font-family:"Segoe UI",Tahoma,Arial,sans-serif !important;
}

.alc-crm-shell.alc-shell{
  width:min(1640px, calc(100vw - 28px)) !important;
  max-width:min(1640px, calc(100vw - 28px)) !important;
  margin:20px auto !important;
  padding:0 6px !important;
}

.alc-crm-shell .alc-layout{
  grid-template-columns:250px minmax(0,1fr) !important;
  gap:18px !important;
}

.alc-crm-shell .alc-crm-topbar,
.alc-crm-shell .alc-topbar{
  background:var(--alc-crm-dark) !important;
  color:#fff !important;
  border-radius:16px !important;
  padding:12px 16px !important;
  box-shadow:var(--alc-crm-shadow) !important;
  margin-bottom:16px !important;
}

.alc-crm-shell .alc-sidebar{
  background:linear-gradient(180deg,#111827 0%,#162235 100%) !important;
  border-radius:20px !important;
  padding:18px !important;
  min-height:520px !important;
}

.alc-crm-shell .alc-brand{
  font-size:22px !important;
  line-height:1.15 !important;
  margin:4px 0 18px !important;
}

.alc-crm-shell .alc-sidebar a{
  padding:12px 14px !important;
  border-radius:12px !important;
  margin-bottom:8px !important;
  font-size:14px !important;
}

.alc-crm-shell .alc-card,
.alc-crm-shell .alc-inline-form-card,
.alc-crm-shell .alc-data-card{
  border-radius:18px !important;
  padding:20px !important;
  box-shadow:var(--alc-crm-shadow) !important;
  border:1px solid var(--alc-crm-border) !important;
}

.alc-crm-shell .alc-page-card{
  padding:22px !important;
}

.alc-crm-shell h1,
.alc-crm-shell .alc-card h1{
  font-size:32px !important;
  line-height:1.15 !important;
  margin:0 0 6px !important;
  color:var(--alc-crm-text) !important;
}

.alc-crm-shell h2,
.alc-crm-shell .alc-card h2{
  font-size:22px !important;
  line-height:1.25 !important;
  margin:0 0 10px !important;
}

.alc-crm-shell h3{
  font-size:18px !important;
  line-height:1.3 !important;
}

.alc-crm-shell p,
.alc-crm-shell li,
.alc-crm-shell td,
.alc-crm-shell th,
.alc-crm-shell label,
.alc-crm-shell input,
.alc-crm-shell select,
.alc-crm-shell textarea,
.alc-crm-shell button,
.alc-crm-shell a{
  font-size:14px !important;
}

.alc-crm-shell .alc-muted,
.alc-crm-shell .alc-muted-line,
.alc-crm-shell .alc-record-chip{
  color:var(--alc-crm-muted) !important;
}

.alc-crm-shell .alc-section-head{
  gap:14px !important;
  margin-bottom:14px !important;
}

.alc-crm-shell .alc-section-head.compact{
  margin-bottom:10px !important;
}

.alc-crm-shell .alc-kicker{
  color:var(--alc-crm-red) !important;
  letter-spacing:.12em !important;
  font-size:11px !important;
}

.alc-crm-shell .alc-btn,
.alc-crm-shell button,
.alc-crm-shell .alc-link-button{
  background:var(--alc-crm-red) !important;
  color:#fff !important;
  border-radius:12px !important;
  min-height:40px !important;
  padding:10px 16px !important;
  border:0 !important;
  font-weight:700 !important;
  box-shadow:none !important;
}

.alc-crm-shell .alc-btn.dark{
  background:var(--alc-crm-dark) !important;
}

.alc-crm-shell .alc-btn.light,
.alc-crm-shell .alc-link-button{
  background:#eef3f8 !important;
  color:#1a2a3b !important;
}

.alc-crm-shell .alc-link-action{
  color:var(--alc-crm-red) !important;
  font-weight:700 !important;
}

.alc-crm-shell input,
.alc-crm-shell select,
.alc-crm-shell textarea{
  min-height:40px !important;
  border-radius:12px !important;
  border:1px solid #d7e0ea !important;
  padding:10px 12px !important;
  background:#fff !important;
}

.alc-crm-shell textarea{
  min-height:110px !important;
}

.alc-crm-shell .alc-tabs{
  gap:8px !important;
  margin:14px 0 18px !important;
}

.alc-crm-shell .alc-tabs a{
  padding:9px 14px !important;
  border-radius:12px !important;
  font-size:13px !important;
}

.alc-crm-shell .alc-tabs a.active{
  background:var(--alc-crm-red) !important;
  color:#fff !important;
}

.alc-crm-shell .alc-table th{
  background:#eef3f8 !important;
  color:#18304a !important;
  font-size:12px !important;
  letter-spacing:.08em !important;
}

.alc-crm-shell .alc-table th,
.alc-crm-shell .alc-table td{
  padding:11px 12px !important;
}

.alc-crm-shell .alc-pill,
.alc-crm-shell .alc-badge{
  background:#fdeaea !important;
  color:var(--alc-crm-red) !important;
  border-radius:999px !important;
  padding:6px 10px !important;
  font-size:12px !important;
  font-weight:700 !important;
}

.alc-crm-shell .alc-pill.is-muted{
  background:#eef3f8 !important;
  color:#5f7084 !important;
}

.alc-crm-shell .alc-dashboard-grid{
  gap:14px !important;
}

.alc-crm-shell .alc-metric-card{
  background:var(--alc-crm-surface) !important;
  border:1px solid var(--alc-crm-border) !important;
  border-radius:18px !important;
  padding:18px !important;
}

.alc-crm-shell .alc-metric-card strong{
  font-size:28px !important;
  line-height:1 !important;
}

.alc-crm-shell .alc-detail-header{
  margin-bottom:14px !important;
}

.alc-crm-shell .alc-detail-header h1{
  font-size:30px !important;
}

.alc-crm-shell .alc-process-banner{
  margin:0 0 14px !important;
  padding:12px 14px !important;
  border-radius:12px !important;
  background:#fff3f3 !important;
  border:1px solid #f4cbcb !important;
  color:#6b2020 !important;
}

.alc-crm-shell .alc-portal-access-form{
  margin-top:10px !important;
}

.alc-crm-shell .alc-detail-buttons,
.alc-crm-shell .alc-inline-actions,
.alc-crm-shell .alc-action-stack{
  gap:8px !important;
}

.alc-crm-shell .alc-data-sections{
  gap:14px !important;
}

.alc-crm-shell .alc-data-card h3{
  margin-bottom:10px !important;
}

.alc-crm-shell .alc-data-grid{
  gap:8px 12px !important;
}

.alc-crm-shell .alc-data-row{
  padding:10px 0 !important;
}

.alc-crm-shell .alc-appointment-board{
  display:grid !important;
  gap:14px !important;
}

.alc-crm-shell .alc-calendar-panel{
  margin-bottom:14px !important;
}

.alc-crm-shell .alc-calendar-grid{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  gap:10px !important;
}

.alc-crm-shell .alc-calendar-weekday{
  padding:8px 10px !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:#42556b !important;
}

.alc-crm-shell .alc-calendar-cell{
  min-height:150px !important;
  border:1px solid var(--alc-crm-border) !important;
  border-radius:14px !important;
  padding:10px !important;
  background:#fff !important;
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
}

.alc-crm-shell .alc-calendar-cell.is-outside{
  background:#f8fafc !important;
  opacity:.72 !important;
}

.alc-crm-shell .alc-calendar-cell.is-today{
  border-color:var(--alc-crm-red) !important;
  box-shadow:0 0 0 1px rgba(198,40,40,.16) inset !important;
}

.alc-crm-shell .alc-calendar-cell-head{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:8px !important;
}

.alc-crm-shell .alc-calendar-items{
  display:grid !important;
  gap:6px !important;
}

.alc-crm-shell .alc-calendar-item{
  display:grid !important;
  gap:2px !important;
  padding:6px 8px !important;
  border-radius:10px !important;
  background:#f3f6fa !important;
  color:#172534 !important;
  text-decoration:none !important;
}

.alc-crm-shell .alc-calendar-time{
  font-size:11px !important;
  font-weight:700 !important;
  color:var(--alc-crm-red) !important;
}

.alc-crm-shell .alc-calendar-name{
  font-size:12px !important;
  line-height:1.35 !important;
}

.alc-crm-shell .alc-calendar-empty{
  font-size:12px !important;
  color:#8a98a8 !important;
}

.alc-crm-shell .alc-process-banner{
  margin-bottom:14px !important;
  padding:12px 14px !important;
  border-radius:12px !important;
  background:#fff5f5 !important;
  border:1px solid #f4cccc !important;
  color:#7f1d1d !important;
}

.alc-crm-shell .alc-calendar-group{
  padding:16px !important;
}

.alc-crm-shell .alc-reschedule-form{
  display:grid !important;
  grid-template-columns:minmax(180px,1fr) auto !important;
  gap:8px !important;
  align-items:center !important;
}

.alc-crm-shell .alc-login-shell{
  max-width:1000px !important;
}

.alc-crm-shell .alc-login-card{
  max-width:460px !important;
  margin:40px auto !important;
  padding:28px !important;
  border-radius:20px !important;
}

.alc-crm-shell .alc-login-card h1{
  font-size:30px !important;
}

.alc-crm-shell .alc-customer-dashboard .alc-card{
  padding:18px !important;
}

.alc-crm-shell .alc-check{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}

.alc-crm-shell .alc-filters{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:10px !important;
  margin:12px 0 16px !important;
}

@media (max-width: 1180px){
  .alc-crm-shell .alc-layout{
    grid-template-columns:1fr !important;
  }

  .alc-crm-shell .alc-sidebar{
    min-height:auto !important;
  }

  .alc-crm-shell .alc-filters{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width: 760px){
  .alc-crm-shell.alc-shell{
    width:min(100vw - 12px, 100%) !important;
    max-width:min(100vw - 12px, 100%) !important;
    margin:10px auto !important;
    padding:0 4px !important;
    left:auto !important;
    transform:none !important;
  }

  .alc-crm-shell .alc-page-card,
  .alc-crm-shell .alc-card,
  .alc-crm-shell .alc-inline-form-card,
  .alc-crm-shell .alc-data-card{
    padding:16px !important;
    border-radius:16px !important;
  }

  .alc-crm-shell h1,
  .alc-crm-shell .alc-card h1{
    font-size:28px !important;
  }

  .alc-crm-shell .alc-filters,
  .alc-crm-shell .alc-application-grid,
  .alc-crm-shell .alc-appointment-grid{
    grid-template-columns:1fr !important;
  }

  .alc-crm-shell .alc-reschedule-form{
    grid-template-columns:1fr !important;
  }

  .alc-crm-shell .alc-calendar-grid{
    grid-template-columns:1fr !important;
  }
}
