/**
 * Manitas Platform 2.9.1 — Auditoría visual y contraste
 * Capa final exclusivamente visual. No modifica lógica, rutas ni acciones.
 */

/* Base coherente y legible */
body.manitas-app,
body.manitas-auth{
  --mta-action-green:#4f8f1f;
  --mta-action-green-hover:#3f7617;
  --mta-action-green-soft:#edf7e7;
  --mta-deep-teal:#005c67;
  --mta-deep-teal-hover:#00464f;
  --mta-text:#172033;
  --mta-muted:#64748b;
  --mta-border:#dfe7ef;
  --mta-surface:#ffffff;
  --mta-surface-soft:#f8fafc;
  --mta-danger:#b42318;
  --mta-danger-hover:#8f1b13;
  color:var(--mta-text);
  background:#f5f7fa;
}

body.manitas-app main,
body.manitas-app .site-main,
body.manitas-app .entry-content{
  color:var(--mta-text);
}

body.manitas-app h1,
body.manitas-app h2,
body.manitas-app h3,
body.manitas-app h4,
body.manitas-app h5,
body.manitas-app h6,
body.manitas-auth h1,
body.manitas-auth h2,
body.manitas-auth h3{
  color:var(--mta-text);
  letter-spacing:-.015em;
}

body.manitas-app p,
body.manitas-app li,
body.manitas-app td,
body.manitas-app dd{
  line-height:1.55;
}

body.manitas-app a:not(.mta-btn):not(.m-ui-btn):not(.mx-btn-top):not(.mx-footer-link):not(.mx-menu a){
  color:var(--mta-deep-teal);
  text-underline-offset:3px;
}
body.manitas-app a:not(.mta-btn):not(.m-ui-btn):hover{
  color:var(--mta-deep-teal-hover);
}

/* Tarjetas y contenedores heredados: misma jerarquía visual */
body.manitas-app :is(.mta-card,.mta-box,.mta-section,.mta-admin-card,.mta-ag-card,.mta-contract-card,.mta-support-shell,.mta-viewer-shell,.manitas-prev-card){
  background:var(--mta-surface);
  color:var(--mta-text);
  border-color:var(--mta-border);
  box-shadow:0 8px 24px rgba(15,23,42,.065);
}

body.manitas-app :is(.mta-title,.mta-page-title,.mta-section-title,.mta-proposals-title,.mta-job-title,.mta-contract-title,.mta-support-title){
  color:var(--mta-text);
}
body.manitas-app :is(.mta-muted,.mta-sub,.mta-desc,.mta-mini,.mta-section-sub,.mta-proposals-sub,.mta-job-meta,.mta-review-meta,.mta-pageinfo){
  color:var(--mta-muted);
}

/* Botones: contraste WCAG mejorado manteniendo identidad verde */
body.manitas-app :is(.mta-btn,.mta-btn-primary,.mta-submit,.m-ui-btn),
body.manitas-app button:not(.m-ui-reset):not(.mx-menu-close),
body.manitas-app input[type="submit"]{
  background:var(--mta-action-green);
  border-color:var(--mta-action-green);
  color:#fff;
  text-shadow:none;
  box-shadow:0 5px 14px rgba(79,143,31,.20);
}
body.manitas-app :is(.mta-btn,.mta-btn-primary,.mta-submit,.m-ui-btn):hover,
body.manitas-app button:not(.m-ui-reset):not(.mx-menu-close):hover,
body.manitas-app input[type="submit"]:hover{
  background:var(--mta-action-green-hover);
  border-color:var(--mta-action-green-hover);
  color:#fff;
}

body.manitas-app :is(.mta-btn-secondary,.mta-btn-blue,.m-ui-btn--secondary){
  background:var(--mta-deep-teal);
  border-color:var(--mta-deep-teal);
  color:#fff;
  box-shadow:0 5px 14px rgba(0,92,103,.18);
}
body.manitas-app :is(.mta-btn-secondary,.mta-btn-blue,.m-ui-btn--secondary):hover{
  background:var(--mta-deep-teal-hover);
  border-color:var(--mta-deep-teal-hover);
  color:#fff;
}

body.manitas-app :is(.mta-btn--ghost,.m-ui-btn--ghost,.m-ui-btn--outline){
  background:#fff;
  border-color:#b9c8d6;
  color:var(--mta-deep-teal);
  box-shadow:none;
}
body.manitas-app :is(.mta-btn--ghost,.m-ui-btn--ghost,.m-ui-btn--outline):hover{
  background:#eef7f8;
  border-color:#8eb7bc;
  color:#00464f;
}

body.manitas-app :is(.mta-btn--danger,.m-ui-btn--danger),
body.manitas-app .mta-actions a[href*="borrar"],
body.manitas-app .mta-actions a[href*="eliminar"]{
  background:#fff;
  border-color:#efb6b6;
  color:var(--mta-danger);
  box-shadow:none;
}
body.manitas-app :is(.mta-btn--danger,.m-ui-btn--danger):hover,
body.manitas-app .mta-actions a[href*="borrar"]:hover,
body.manitas-app .mta-actions a[href*="eliminar"]:hover{
  background:#fff0f0;
  border-color:#dc2626;
  color:#8f1b13;
}

body.manitas-app button:disabled,
body.manitas-app input:disabled,
body.manitas-app select:disabled,
body.manitas-app .is-disabled{
  opacity:.62;
  cursor:not-allowed;
  box-shadow:none;
}

/* Formularios */
body.manitas-app :is(label,.mta-lbl,.m-ui-label,.manitas-prev-field label){
  color:#263449;
  font-weight:700;
}
body.manitas-app input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
body.manitas-app select,
body.manitas-app textarea{
  color:var(--mta-text);
  background:#fff;
  border-color:#cbd5e1;
}
body.manitas-app input::placeholder,
body.manitas-app textarea::placeholder{
  color:#77869a;
  opacity:1;
}
body.manitas-app input:focus,
body.manitas-app select:focus,
body.manitas-app textarea:focus{
  border-color:#5f9e25;
  box-shadow:0 0 0 4px rgba(95,158,37,.16);
}

/* Estados y mensajes con texto de alto contraste */
body.manitas-app :is(.mta-badge,.mta-pill,.mta-chip,.m-ui-badge){
  font-weight:750;
}
body.manitas-app :is(.mta-alert,.mta-msg,.mta-note,.mta-warn,.m-ui-alert){
  color:#263449;
}
body.manitas-app .m-ui-badge--success,
body.manitas-app .mta-badge--ok{color:#166534;background:#ecfdf3}
body.manitas-app .m-ui-badge--warning{color:#854d0e;background:#fff7e6}
body.manitas-app .m-ui-badge--danger{color:#991b1b;background:#fef2f2}

/* Tablas */
body.manitas-app table{
  border-color:var(--mta-border);
}
body.manitas-app table th{
  color:#475569;
  background:#f8fafc;
  font-weight:800;
}
body.manitas-app table td{
  color:var(--mta-text);
}
body.manitas-app table tbody tr:hover{
  background:#fbfdfd;
}

/* Propuestas: conserva estructura 3.0 y mejora lectura */
body.manitas-app .mta-proposal-card{
  background:#fff;
  border-color:var(--mta-border);
  box-shadow:0 8px 22px rgba(15,23,42,.06);
}
body.manitas-app .mta-proposal-price{
  color:#064f58;
}
body.manitas-app .mta-proposal-message{
  color:#334155;
  background:#f8fafc;
  border-color:#e2e8f0;
}

/* Dashboard y métricas */
body.manitas-app .mta-kpi,
body.manitas-app .mta-metric{
  background:#fff;
  border-color:var(--mta-border);
  color:var(--mta-text);
}

/* Navegación: no cambia geometría, solo asegura contraste */
body.manitas-app .mx-appbar{
  background:rgba(255,255,255,.97);
  border-bottom-color:#dfe7ef;
}
body.manitas-app .mx-user-pill{
  color:#334155;
  background:#f8fafc;
  border-color:#dfe7ef;
}
body.manitas-app .mx-btn-top{
  color:#00464f;
}
body.manitas-app .mx-btn-top--logout{
  color:#7f1d1d;
}
body.manitas-app .mx-footerbar{
  background:rgba(255,255,255,.98);
  border-top-color:#dfe7ef;
}

/* Accesibilidad y estados de foco */
body.manitas-app :focus-visible,
body.manitas-auth :focus-visible{
  outline:3px solid rgba(0,92,103,.34)!important;
  outline-offset:3px;
}
body.manitas-app .mta-btn:focus-visible,
body.manitas-app .m-ui-btn:focus-visible,
body.manitas-app button:focus-visible{
  outline-color:rgba(79,143,31,.48)!important;
}

/* Evita texto claro heredado sobre fondos claros */
body.manitas-app :is(.mta-card,.mta-box,.mta-section,.mta-job,.mta-proposal-card,.mta-admin-card) :is(p,span,small,strong){
  text-shadow:none;
}

/* Responsive: lectura y acciones sin desbordes */
@media(max-width:782px){
  body.manitas-app :is(.mta-wrap,.mta-container,.mta-shell,.manitas-page){
    width:100%;
    max-width:100%;
  }
  body.manitas-app :is(.mta-actions,.mta-btn-row,.mta-proposal-actions,.mta-contract-actions){
    gap:10px;
  }
  body.manitas-app :is(.mta-actions,.mta-proposal-actions) > :is(a,button,form){
    min-width:0;
  }
  body.manitas-app table{
    min-width:680px;
  }
  body.manitas-app .m-ui-table-wrap,
  body.manitas-app .mta-table{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  body.manitas-app .mta-proposal-card,
  body.manitas-app .mta-job,
  body.manitas-app .mta-card{
    border-radius:16px;
  }
}

@media(prefers-contrast:more){
  body.manitas-app{
    --mta-border:#aebdca;
    --mta-muted:#475569;
  }
  body.manitas-app :is(.mta-card,.mta-box,.mta-section,.mta-proposal-card){
    border-width:2px;
  }
}
