/* ═══════════════════════════════════════════════════════════
   UPGEAR CRM — PREMIUM UI POLISH v3
   Safe refinements. No grid content interference.
   ═══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

:root {
  --s-modal-shadow: 0 24px 56px -16px rgba(0,0,0,0.14), 0 0 0 1px rgba(0,0,0,0.03);
  --s-alt-row-bg: rgba(0,0,0,0.012);
  --s-cell-border: rgba(0,0,0,0.045);
  --pr: 8px;
  --pt: 0.18s cubic-bezier(0.4, 0, 0.2, 1);
  --glow-blue: 0 0 0 3px rgba(59,130,246,0.10);
  --glow-green: 0 0 0 3px rgba(22,163,74,0.10);
  --glow-red: 0 0 0 3px rgba(239,68,68,0.08);
}

body {
  font-family: 'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: -0.01em;
}

/* ═══ GRIDS — Safe polish only ═══ */

.slick-header-column {
  font-weight: 600 !important;
  font-size: 11.5px !important;
  letter-spacing: 0.02em !important;
}

/* Filter inputs */
.slick-headerrow-column input,
.slick-headerrow-column select {
  border-radius: 6px !important;
  transition: border-color var(--pt), box-shadow var(--pt) !important;
}

.slick-headerrow-column input:focus,
.slick-headerrow-column select:focus {
  box-shadow: var(--glow-blue) !important;
  outline: none !important;
}

/* Pager */
.slick-pg-control .slick-pg-current {
  border-radius: 6px !important;
}

/* ═══ TOOLBAR BUTTONS ═══ */

.tool-button {
  transition: all var(--pt) !important;
  border-radius: var(--pr) !important;
  margin-left: 2px !important;
}

.tool-button:hover {
  background: rgba(0,0,0,0.025) !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.06) !important;
  transform: translateY(-1px);
}

.tool-button:active {
  transform: translateY(0) !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.06) !important;
  transition-duration: 0.05s !important;
}

.tool-button:first-child, .tool-button:last-child {
  border-radius: var(--pr) !important;
}

.save-and-close-button:hover, .apply-changes-button:hover {
  box-shadow: var(--glow-green), 0 2px 8px rgba(22,163,74,0.12) !important;
  transform: translateY(-1px);
}

.delete-button:hover {
  background: rgba(239,68,68,0.03) !important;
  box-shadow: var(--glow-red), 0 2px 6px rgba(239,68,68,0.08) !important;
  transform: translateY(-1px);
}

/* ═══ DIALOGS ═══ */

.ui-dialog {
  border-radius: 12px !important;
  border: none !important;
  animation: dlgOpen 0.25s ease-out both !important;
}

@keyframes dlgOpen {
  0% { opacity: 0; transform: scale(0.92) translateY(12px); }
  60% { opacity: 1; transform: scale(1.005) translateY(-1px); }
  100% { opacity: 1; transform: scale(1) translateY(0); }
}

/* macOS-style minimize/close: shrink toward center + fade */
.ui-dialog.premium-closing {
  animation: dlgClose 0.28s ease-in forwards !important;
  pointer-events: none !important;
}

@keyframes dlgClose {
  0% { opacity: 1; transform: scale(1) translateY(0); filter: blur(0); }
  50% { opacity: 0.6; transform: scale(0.92) translateY(8px); filter: blur(0.5px); }
  100% { opacity: 0; transform: scale(0.8) translateY(20px); filter: blur(2px); }
}

.ui-dialog-titlebar {
  padding: 12px 18px !important;
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
}

.ui-dialog-title {
  font-weight: 600 !important;
  font-size: 1.05rem !important;
  letter-spacing: -0.01em !important;
}

.ui-dialog-titlebar .ui-button,
.ui-dialog-titlebar-close {
  border-radius: 6px !important;
  transition: all var(--pt) !important;
}

.ui-dialog-titlebar .ui-button:hover,
.ui-dialog-titlebar-close:hover {
  background: rgba(239,68,68,0.06) !important;
  color: #dc2626 !important;
}

.ui-dialog-buttonpane {
  padding: 10px 18px !important;
  border-top: 1px solid rgba(0,0,0,0.05) !important;
}

.s-Panel {
  border-radius: 10px !important;
  animation: dlgOpen 0.2s ease-out both !important;
}

/* Overlay — blur backdrop */
.ui-widget-overlay {
  background: rgba(15,23,42,0.25) !important;
  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;
  animation: overlayIn 0.2s ease-out !important;
}

.ui-widget-overlay.premium-overlay-closing {
  animation: overlayOut 0.25s ease-in forwards !important;
}

@keyframes overlayIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes overlayOut { from { opacity: 1; } to { opacity: 0; } }

/* ═══ FORM INPUTS ═══ */

.s-Form input[type="text"],
.s-Form input[type="number"],
.s-Form input[type="email"],
.s-Form input[type="tel"],
.s-Form input[type="date"],
.s-Form input[type="password"],
.s-Form textarea,
.s-Form select,
.s-PropertyGrid input[type="text"],
.s-PropertyGrid select,
.s-PropertyGrid textarea {
  border-radius: var(--pr) !important;
  transition: border-color var(--pt), box-shadow var(--pt) !important;
}

.s-Form input:hover:not(:focus):not([readonly]),
.s-Form select:hover:not(:focus),
.s-Form textarea:hover:not(:focus),
.s-PropertyGrid input:hover:not(:focus):not([readonly]),
.s-PropertyGrid select:hover:not(:focus) {
  border-color: rgba(59,130,246,0.3) !important;
}

.s-Form input:focus,
.s-Form select:focus,
.s-Form textarea:focus,
.s-PropertyGrid input:focus,
.s-PropertyGrid select:focus,
.s-PropertyGrid textarea:focus {
  border-color: rgba(59,130,246,0.5) !important;
  box-shadow: var(--glow-blue) !important;
  outline: none !important;
}

.s-Form .caption, .s-PropertyGrid .caption {
  font-weight: 600 !important;
  font-size: 12px !important;
  letter-spacing: 0.01em !important;
  color: #475569 !important;
}

.s-Form .category-title, .s-PropertyGrid .category-title {
  font-weight: 700 !important;
  font-size: 12.5px !important;
  padding-bottom: 5px !important;
  margin-top: 8px !important;
}

/* ═══ TABS ═══ */

.ui-tabs-nav li a {
  font-weight: 600 !important;
  font-size: 12px !important;
  transition: color var(--pt), background var(--pt) !important;
  border-radius: 6px 6px 0 0 !important;
}

.ui-tabs-nav li a:hover {
  background: rgba(0,0,0,0.02) !important;
}

/* ═══ SELECT2 ═══ */

.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  border-radius: var(--pr) !important;
  transition: border-color var(--pt), box-shadow var(--pt) !important;
}

.select2-container--default .select2-selection--single:hover {
  border-color: rgba(59,130,246,0.3) !important;
}

.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: rgba(59,130,246,0.5) !important;
  box-shadow: var(--glow-blue) !important;
}

.select2-dropdown {
  border-radius: 10px !important;
  box-shadow: 0 12px 32px -8px rgba(0,0,0,0.12), 0 0 0 1px rgba(0,0,0,0.04) !important;
  border: none !important;
  margin-top: 4px !important;
  overflow: hidden !important;
  animation: dropIn 0.14s ease-out !important;
}

@keyframes dropIn {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}

.select2-results__option {
  padding: 8px 14px !important;
  font-size: 13px !important;
  transition: background var(--pt) !important;
}

.select2-results__option--highlighted {
  background: rgba(59,130,246,0.06) !important;
  color: inherit !important;
}

.select2-search--dropdown .select2-search__field {
  border-radius: 6px !important;
  transition: box-shadow var(--pt) !important;
}

.select2-search--dropdown .select2-search__field:focus {
  box-shadow: var(--glow-blue) !important;
  outline: none !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  border-radius: 6px !important;
}

/* ═══ QUICK SEARCH ═══ */

.s-QuickSearchInput input {
  border-radius: var(--pr) !important;
  transition: border-color var(--pt), box-shadow var(--pt) !important;
}

.s-QuickSearchInput input:focus {
  box-shadow: var(--glow-blue) !important;
}

/* ═══ SCROLLBAR ═══ */

.slick-viewport::-webkit-scrollbar, .ui-dialog-content::-webkit-scrollbar,
.s-Panel::-webkit-scrollbar, .ui-tabs-panel::-webkit-scrollbar {
  width: 6px; height: 6px;
}
.slick-viewport::-webkit-scrollbar-track, .ui-dialog-content::-webkit-scrollbar-track { background: transparent; }
.slick-viewport::-webkit-scrollbar-thumb, .ui-dialog-content::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.1); border-radius: 3px;
}
.slick-viewport::-webkit-scrollbar-thumb:hover, .ui-dialog-content::-webkit-scrollbar-thumb:hover {
  background: rgba(0,0,0,0.2);
}

/* ═══ SIDEBAR ═══ */

.s-sidebar .nav-link {
  transition: all var(--pt) !important;
  border-radius: 6px !important;
  margin: 1px 6px !important;
}

.s-sidebar .nav-link:hover {
  background: rgba(255,255,255,0.06) !important;
}

/* ═══ MISC ═══ */

fieldset { border-radius: var(--pr) !important; }
.check-box { transition: color var(--pt) !important; }

@media (max-width: 768px) {
  .ui-dialog { border-radius: 10px !important; }
}
