/* Premium Suporte - visual polish layer */
:root,
html[data-theme="dark"] {
  --ps-bg: #0b0f14;
  --ps-bg-soft: #101720;
  --ps-panel: rgba(17, 24, 34, .92);
  --ps-panel-strong: rgba(23, 32, 45, .96);
  --ps-line: rgba(226, 232, 240, .12);
  --ps-line-strong: rgba(226, 232, 240, .2);
  --ps-text: #f4f7fb;
  --ps-muted: #aab6c8;
  --ps-faint: #768397;
  --ps-primary: #18a68b;
  --ps-primary-strong: #0d8f76;
  --ps-blue: #4f8cff;
  --ps-warn: #f59f27;
  --ps-danger: #ef5b5b;
  --ps-success: #21ba74;
  --ps-radius: 14px;
  --ps-radius-lg: 18px;
  --ps-shadow: 0 18px 50px rgba(0, 0, 0, .28);
}

html[data-theme="light"] {
  --ps-bg: #f4f7fb;
  --ps-bg-soft: #eef3f8;
  --ps-panel: rgba(255, 255, 255, .96);
  --ps-panel-strong: #ffffff;
  --ps-line: rgba(20, 30, 45, .12);
  --ps-line-strong: rgba(20, 30, 45, .2);
  --ps-text: #17202c;
  --ps-muted: #5e6b7d;
  --ps-faint: #8793a3;
  --ps-primary: #0f987f;
  --ps-primary-strong: #087b68;
  --ps-blue: #2563eb;
  --ps-warn: #b76a00;
  --ps-danger: #d92d20;
  --ps-success: #138a57;
  --ps-shadow: 0 16px 42px rgba(20, 30, 45, .1);
}

html {
  text-rendering: geometricPrecision;
}

.ps-icon {
  width: 1.05em;
  height: 1.05em;
  display: inline-block;
  flex: 0 0 auto;
  vertical-align: -0.18em;
  stroke-width: 2.2;
}

[data-ps-icon] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.btn .ps-icon,
button .ps-icon,
a.btn .ps-icon,
.nav-item .ps-icon,
.badge .ps-icon,
.history-meta .ps-icon {
  margin-right: 6px;
}

.btn-icon .ps-icon,
.theme-toggle .ps-icon,
.toggle-pass .ps-icon,
.modal-close .ps-icon,
.smart-icon-btn .ps-icon {
  margin-right: 0;
}

.icon .ps-icon,
.stateicon .ps-icon,
.empty-icon .ps-icon,
.upload-icon .ps-icon,
.success-icon .ps-icon,
.login-logo .ps-icon,
.smart-title-icon .ps-icon {
  width: 1.7em;
  height: 1.7em;
}

.ps-icon-hero {
  width: 3rem;
  height: 3rem;
}

.ps-icon-lg {
  width: 2rem;
  height: 2rem;
}

.mini-card .icon,
.stateicon,
.empty-icon,
.upload-icon,
.success-icon,
.login-logo,
.smart-title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ps-primary);
}

body {
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    radial-gradient(circle at 12% 0, rgba(24,166,139,.18), transparent 34%),
    radial-gradient(circle at 100% 18%, rgba(79,140,255,.12), transparent 30%),
    var(--ps-bg) !important;
  background-size: 34px 34px, 34px 34px, 100% 100%, 100% 100%, 100% 100% !important;
  color: var(--ps-text) !important;
  letter-spacing: 0 !important;
}

html[data-theme="light"] body {
  background:
    linear-gradient(rgba(20,30,45,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20,30,45,.035) 1px, transparent 1px),
    radial-gradient(circle at 12% 0, rgba(15,152,127,.12), transparent 34%),
    radial-gradient(circle at 100% 18%, rgba(37,99,235,.08), transparent 30%),
    var(--ps-bg) !important;
}

.topbar,
.sidebar,
.smart-sidebar,
.modern-glass-card,
.modern-modal,
.box,
.hero-card,
.card,
.table-wrap,
.section-header,
.sub-card,
.smart-panel,
.smart-kpi,
.smart-card,
.smart-chart,
.smart-ticket-card,
.smart-side-card,
.nfs-search,
.nfs-empresas,
.history-list,
.viewer-modal,
.docs-toolbar,
.doc-card,
.perfil-card {
  background: var(--ps-panel) !important;
  border: 1px solid var(--ps-line) !important;
  border-radius: var(--ps-radius-lg) !important;
  box-shadow: var(--ps-shadow) !important;
  backdrop-filter: blur(16px);
}

.sidebar,
.smart-sidebar {
  background: linear-gradient(180deg, var(--ps-panel-strong), rgba(13,19,28,.96)) !important;
  border-radius: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
}

.main-content {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 24px !important;
}

.section-header h1,
.header-titles h1,
.logo h1,
.modal-header h2,
.modal-header h3,
.perfil-section-title h2,
.admin-ticket-header h2 {
  color: var(--ps-text) !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

.section-header p,
.header-titles p,
.logo p,
.brand span,
.topbar-pill,
.card-label,
.form-group label,
.field label,
th,
.history-meta,
.history-item .hi-meta,
.perfil-empty,
.perfil-ticket p,
.perfil-ticket-meta small {
  color: var(--ps-muted) !important;
}

.btn,
button,
input,
select,
textarea {
  font-family: inherit !important;
  letter-spacing: 0 !important;
}

.btn {
  min-height: 42px;
  border-radius: 12px !important;
  font-weight: 800 !important;
}

.btn-primary,
.submit-btn,
.tab.active,
.avatar,
.perfil-avatar,
.smart-new-ticket {
  background: linear-gradient(135deg, var(--ps-primary), var(--ps-primary-strong)) !important;
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(24,166,139,.22) !important;
}

.btn-primary:hover:not(:disabled),
.submit-btn:hover:not(:disabled) {
  filter: brightness(1.04);
  transform: translateY(-1px);
}

.btn-track,
.btn-secondary,
.btn-ghost,
.back-btn,
.tab,
.empresa-btn,
.modal-close,
.theme-toggle,
#menu-toggle {
  background: var(--ps-bg-soft) !important;
  border: 1px solid var(--ps-line) !important;
  color: var(--ps-muted) !important;
  box-shadow: none !important;
}

.btn-track:hover,
.btn-secondary:hover,
.btn-ghost:hover,
.back-btn:hover,
.tab:hover,
.empresa-btn:hover,
.empresa-btn.active,
.theme-toggle:hover,
#menu-toggle:hover {
  border-color: var(--ps-line-strong) !important;
  color: var(--ps-text) !important;
  background: rgba(24,166,139,.1) !important;
}

input,
select,
textarea,
.modern-input,
.form-group input,
.field input,
.field select,
.field textarea,
.table-toolbar input,
.table-toolbar select,
.nfs-search input,
.nfs-search select {
  background: var(--ps-bg-soft) !important;
  border: 1px solid var(--ps-line) !important;
  border-radius: 12px !important;
  color: var(--ps-text) !important;
  outline: none !important;
}

input:focus,
select:focus,
textarea:focus,
.modern-input:focus {
  border-color: rgba(24,166,139,.72) !important;
  box-shadow: 0 0 0 4px rgba(24,166,139,.14) !important;
}

input::placeholder,
textarea::placeholder {
  color: var(--ps-faint) !important;
}

.file-upload-label {
  background: rgba(24,166,139,.06) !important;
  border-color: rgba(24,166,139,.28) !important;
  color: var(--ps-muted) !important;
}

.file-upload-label:hover {
  background: rgba(24,166,139,.12) !important;
  color: var(--ps-primary) !important;
}

.table-wrap {
  overflow: hidden !important;
}

.table-toolbar,
.card-header,
thead,
th {
  background: rgba(255,255,255,.035) !important;
  border-color: var(--ps-line) !important;
}

td {
  border-color: var(--ps-line) !important;
  color: var(--ps-text) !important;
}

tbody tr:hover td {
  background: rgba(24,166,139,.07) !important;
}

.badge,
[class*="badge-"] {
  border-radius: 999px !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.badge-aberto,
.badge-open {
  background: rgba(79,140,255,.14) !important;
  border-color: rgba(79,140,255,.3) !important;
  color: #8fb6ff !important;
}

.badge-emandamento,
.badge-progress {
  background: rgba(245,159,39,.14) !important;
  border-color: rgba(245,159,39,.3) !important;
  color: #ffc977 !important;
}

.badge-concluido,
.badge-done,
.badge-on {
  background: rgba(33,186,116,.14) !important;
  border-color: rgba(33,186,116,.3) !important;
  color: #78e3af !important;
}

.badge-off {
  background: rgba(239,91,91,.14) !important;
  border-color: rgba(239,91,91,.3) !important;
  color: #ff9b9b !important;
}

.toast-message,
#toast {
  border-radius: 14px !important;
  box-shadow: var(--ps-shadow) !important;
}

.modern-modal-overlay,
.modal-overlay {
  background: rgba(4, 8, 14, .72) !important;
  backdrop-filter: blur(8px);
}

.perfil-ticket,
.perfil-status-summary div,
.mini-card,
.history-item,
.track-desc {
  background: rgba(255,255,255,.035) !important;
  border: 1px solid var(--ps-line) !important;
  border-radius: 14px !important;
}

.perfil-ticket:hover,
.mini-card:hover {
  border-color: rgba(24,166,139,.34) !important;
  background: rgba(24,166,139,.08) !important;
}

.nav-item {
  border-radius: 12px !important;
}

.nav-item.active,
.nav-item:hover {
  background: rgba(24,166,139,.1) !important;
  border-color: rgba(24,166,139,.22) !important;
  color: var(--ps-text) !important;
}

.ticket-top-actions .top-profile-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding-inline: 16px;
  text-decoration: none;
  white-space: nowrap;
}

@media (max-width: 860px) {
  .section-header,
  .abertura-header,
  .admin-ticket-header {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .modern-glass-card,
  .perfil-card,
  .box,
  .hero-card,
  .card,
  .table-wrap,
  .section-header {
    border-radius: 16px !important;
  }

  .btn,
  .btn-track,
  .submit-btn {
    width: 100%;
  }

  .ticket-top-actions .top-profile-link {
    width: auto;
  }
}
