/* ==========================================================
   EASYWEEK - POLIMENTO PROFISSIONAL GLOBAL FINAL
   Organiza telas Blade, cards, formulários, tabelas, filtros,
   ações e responsividade sem alterar regras de negócio.
========================================================== */
:root{
  --ew-pro-bg:#f6f8fc;
  --ew-pro-surface:#ffffff;
  --ew-pro-surface-soft:#f8fafc;
  --ew-pro-text:#0f172a;
  --ew-pro-muted:#64748b;
  --ew-pro-border:#e2e8f0;
  --ew-pro-border-soft:#eef2f7;
  --ew-pro-primary:#ef2f7c;
  --ew-pro-primary-2:#a336e8;
  --ew-pro-success:#16a34a;
  --ew-pro-danger:#dc2626;
  --ew-pro-warning:#f59e0b;
  --ew-pro-info:#2563eb;
  --ew-pro-radius:18px;
  --ew-pro-radius-sm:12px;
  --ew-pro-shadow:0 18px 45px rgba(15,23,42,.08);
  --ew-pro-shadow-sm:0 10px 24px rgba(15,23,42,.06);
}

html{scroll-behavior:smooth}
body{font-feature-settings:"cv02","cv03","cv04","cv11"; text-rendering:geometricPrecision;}
.easy-wrapper{background:linear-gradient(180deg,#f8fafc 0%,#eef4fb 100%)}
.page-content{padding:26px 28px 30px; max-width:100%; overflow-x:hidden;}

/* Cabeçalho padrão das páginas */
.page-content :where(.page-header,.module-header,.dashboard-header,.clientes-header,.profissionais-header,.servicos-header,.produtos-header,.vendas-header,.caixa-header,.financeiro-header,.agenda-header,.configuracoes-header,.marketing-header,.relatorios-header,.header-section){
  display:flex; align-items:flex-start; justify-content:space-between; gap:18px; flex-wrap:wrap; margin-bottom:22px;
}
.page-content :where(.page-header h1,.module-header h1,.dashboard-header h1,h1.page-title,.page-title){
  margin:0; color:var(--ew-pro-text); font-size:clamp(24px,2.1vw,34px); line-height:1.12; letter-spacing:-.04em; font-weight:900;
}
.page-content :where(.page-header p,.module-header p,.dashboard-header p,.page-subtitle,.subtitle){
  color:var(--ew-pro-muted); font-size:15px; line-height:1.6; margin:7px 0 0; max-width:780px;
}

/* Superfícies e cards */
.page-content :where(.card,.panel,.box,.widget,.content-card,.table-card,.form-card,.section-card,.metric-card,.stat-card,.summary-card,.filter-card,.empty-state,[class$="-card"],[class*="-card "],[class$="-panel"],[class*="-panel "],[class$="-box"],[class*="-box "]){
  border:1px solid rgba(226,232,240,.95); border-radius:var(--ew-pro-radius); background:rgba(255,255,255,.94); box-shadow:var(--ew-pro-shadow-sm); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
}
.page-content :where(.card,.panel,.box,.widget,.content-card,.table-card,.form-card,.section-card,.filter-card,[class$="-card"],[class*="-card "],[class$="-panel"],[class*="-panel "]):hover{
  box-shadow:var(--ew-pro-shadow); border-color:#dbe5f0;
}
.page-content :where(.metric-card,.stat-card,.summary-card,.dashboard-card){
  overflow:hidden; position:relative;
}
.page-content :where(.metric-card,.stat-card,.summary-card,.dashboard-card)::before{
  content:""; position:absolute; inset:0 0 auto 0; height:3px; background:linear-gradient(90deg,var(--ew-pro-primary),var(--ew-pro-primary-2)); opacity:.85;
}

/* Grades ficam mais limpas */
.page-content :where(.grid,.cards-grid,.stats-grid,.metrics-grid,.dashboard-grid,.summary-grid){gap:18px;}

/* Toolbars, filtros e áreas de busca */
.page-content :where(.toolbar,.filters,.filter-bar,.search-filter,.table-actions,.actions-bar,.form-actions,[class$="-toolbar"],[class*="-toolbar "],[class$="-filters"],[class*="-filters "]){
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
}
.page-content :where(.filter-card,.filters-card,.toolbar-card,.search-filter){
  padding:14px; margin-bottom:18px;
}
.page-content :where(.search-box,.search-wrapper,.search-input-wrap,.filter-input,.input-with-icon){
  min-height:42px; border-radius:14px;
}

/* Formulários profissionais */
.page-content :where(label,.form-label){
  display:inline-block; margin-bottom:7px; font-size:12px; line-height:1.2; font-weight:900; letter-spacing:.04em; text-transform:uppercase; color:#334155;
}
.page-content :where(input,select,textarea,.form-control,.form-select){
  width:100%; min-height:44px; border:1px solid #dbe3ee; border-radius:14px; background:#fff; color:#0f172a; padding:11px 13px; outline:none; transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.page-content :where(textarea){min-height:110px; resize:vertical;}
.page-content :where(input,select,textarea,.form-control,.form-select):focus{
  border-color:rgba(239,47,124,.55); box-shadow:0 0 0 4px rgba(239,47,124,.10); background:#fff;
}
.page-content :where(input,textarea)::placeholder{color:#94a3b8; opacity:1;}
.page-content :where(.form-group,.input-group,.field,.field-group){margin-bottom:16px;}
.page-content :where(.form-row,.row-fields,.fields-grid){display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px;}

/* Botões e ações */
.page-content :where(button,.btn,a.btn,.action-btn,[class$="-btn"],[class*="-btn "]){
  min-height:40px; border-radius:13px; font-weight:800; letter-spacing:-.01em; transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease; cursor:pointer;
}
.page-content :where(button,.btn,a.btn,.action-btn,[class$="-btn"],[class*="-btn "]):hover{transform:translateY(-1px)}
.page-content :where(.btn-primary,.primary-btn,.save-btn,.btn-save,[type="submit"]:not(.btn-danger):not(.delete-btn)){
  background:linear-gradient(135deg,var(--ew-pro-primary),var(--ew-pro-primary-2)); color:#fff; border-color:transparent; box-shadow:0 14px 28px rgba(239,47,124,.22);
}
.page-content :where(.btn-danger,.delete-btn,.danger-btn,[class*="delete"],[class*="danger"]){box-shadow:0 10px 22px rgba(220,38,38,.14)}
.page-content :where(.action-buttons,.row-actions,.table-actions,.actions){display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.page-content :where(.icon-btn,.btn-icon,.action-icon,.row-action){display:inline-grid; place-items:center; width:40px; min-width:40px; height:40px; padding:0; border-radius:13px;}

/* Tabelas */
.page-content :where(.table-responsive,.table-wrapper,.responsive-table,.table-card){
  overflow:auto; -webkit-overflow-scrolling:touch;
}
.page-content table{width:100%; border-collapse:separate; border-spacing:0; color:#0f172a;}
.page-content :where(table th,table td){padding:14px 16px; border-bottom:1px solid var(--ew-pro-border-soft); vertical-align:middle;}
.page-content table th{font-size:11px; font-weight:900; color:#475569; text-transform:uppercase; letter-spacing:.05em; background:#f8fafc; white-space:nowrap;}
.page-content table tbody tr{transition:background .16s ease, transform .16s ease;}
.page-content table tbody tr:hover{background:#fbfdff;}
.page-content table td{font-size:14px; line-height:1.45;}

/* Badges e status */
.page-content :where(.badge,.status,[class*="badge"],[class*="status"]){
  border-radius:999px; padding:.35rem .65rem; font-size:11px; line-height:1; font-weight:900; letter-spacing:.01em; display:inline-flex; align-items:center; gap:6px;
}

/* Estados vazios e mensagens dentro das telas */
.page-content :where(.empty-state,.no-results,.not-found,.blank-state){
  text-align:center; padding:34px 22px; color:var(--ew-pro-muted);
}
.page-content :where(.empty-state h2,.empty-state h3,.no-results h2,.no-results h3){color:var(--ew-pro-text); margin-top:0;}

/* Imagens e avatares */
.page-content img{max-width:100%; height:auto;}
.page-content :where(.avatar,.user-avatar,.client-avatar,.profile-avatar,img[class*="avatar"]){
  object-fit:cover; border-radius:999px; box-shadow:0 8px 18px rgba(15,23,42,.08);
}

/* Modal global mais premium */
.ew-message-modal__dialog,.ew-delete-modal__dialog{border-radius:24px!important; box-shadow:0 30px 80px rgba(15,23,42,.22)!important;}
.ew-message-modal__button,.ew-delete-modal__confirm{border-radius:14px!important; font-weight:900!important;}

/* Responsividade profissional */
@media (max-width: 1180px){
  .page-content{padding:22px 22px 28px;}
  .page-content :where(.stats-grid,.metrics-grid,.cards-grid,.dashboard-grid){grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;}
}
@media (max-width: 768px){
  .page-content{padding:16px 14px 22px;}
  .page-content :where(.page-header,.module-header,.dashboard-header,.clientes-header,.profissionais-header,.servicos-header,.produtos-header,.vendas-header,.agenda-header){gap:12px; margin-bottom:16px;}
  .page-content :where(.page-header h1,.module-header h1,.dashboard-header h1,h1.page-title,.page-title){font-size:24px;}
  .page-content :where(.page-header p,.module-header p,.dashboard-header p,.page-subtitle,.subtitle){font-size:14px;}
  .page-content :where(.toolbar,.filters,.filter-bar,.search-filter,.table-actions,.actions-bar,.form-actions){align-items:stretch;}
  .page-content :where(.toolbar > *,.filters > *,.filter-bar > *,.search-filter > *,.form-actions > *){width:100%;}
  .page-content :where(.card,.panel,.box,.content-card,.table-card,.form-card,.section-card,.filter-card,[class$="-card"],[class*="-card "]){border-radius:16px;}
  .page-content :where(table th,table td){padding:12px 13px;}
  .page-content :where(.action-buttons,.row-actions,.table-actions,.actions){justify-content:flex-start;}
  .page-content :where(.btn,.action-btn,button,a.btn){width:100%; justify-content:center;}
  .page-content :where(.icon-btn,.btn-icon,.action-icon,.row-action){width:42px; min-width:42px;}
}
@media (max-width: 520px){
  .page-content{padding:14px 10px 20px;}
  .topbar{padding-left:12px!important; padding-right:12px!important;}
  .page-content :where(.form-row,.row-fields,.fields-grid){grid-template-columns:1fr;}
  .page-content :where(.table-responsive,.table-wrapper,.responsive-table,.table-card){border-radius:14px;}
  .footer{padding:14px 12px; text-align:center; flex-direction:column; gap:4px;}
}

/* Tema escuro */
html[data-theme="escuro"] .easy-wrapper,body.dark-mode .easy-wrapper{background:linear-gradient(180deg,#0b1220 0%,#0f172a 100%)}
html[data-theme="escuro"] .page-content :where(.card,.panel,.box,.widget,.content-card,.table-card,.form-card,.section-card,.filter-card,.empty-state,[class$="-card"],[class*="-card "],[class$="-panel"],[class*="-panel "]),
body.dark-mode .page-content :where(.card,.panel,.box,.widget,.content-card,.table-card,.form-card,.section-card,.filter-card,.empty-state,[class$="-card"],[class*="-card "],[class$="-panel"],[class*="-panel "]){
  background:linear-gradient(180deg,#101b2f,#13223a)!important; border-color:#2d3f5d!important; box-shadow:0 18px 45px rgba(0,0,0,.25)!important;
}
html[data-theme="escuro"] .page-content :where(input,select,textarea,.form-control,.form-select),
body.dark-mode .page-content :where(input,select,textarea,.form-control,.form-select){background:#0f1d33!important; color:#eef4ff!important; border-color:#334763!important;}
html[data-theme="escuro"] .page-content table th,body.dark-mode .page-content table th{background:#172842!important; color:#eaf2ff!important;}
html[data-theme="escuro"] .page-content table td,body.dark-mode .page-content table td{border-color:#2d3f5d!important;}

/* Impressão limpa para relatórios */
@media print{
  .sidebar,.topbar,.footer,.no-print,.page-content .filters,.page-content .filter-card{display:none!important;}
  .main{margin:0!important; width:100%!important;}
  .page-content{padding:0!important; overflow:visible!important;}
  .page-content :where(.card,.panel,.table-card,.form-card){box-shadow:none!important; border:1px solid #ddd!important;}
}
