/* RepairHub CRM v0.16.0
 * Lightweight monochrome corporate UI.
 * Accessibility goals: strong contrast, readable sizing, large touch targets,
 * visible focus, no decorative animation, and responsive layouts.
 */

/* ---------- Shared tokens ---------- */
.rh-dark-admin,
.rhcrm-front,
.rhportal,
.rhp-login-shell,
.rhp-auth-v15,
.rhp-portal-v15{
  --rh16-bg:#f4f4f4;
  --rh16-surface:#ffffff;
  --rh16-surface-2:#ededed;
  --rh16-text:#111111;
  --rh16-muted:#4b4b4b;
  --rh16-border:#b8b8b8;
  --rh16-border-strong:#777777;
  --rh16-black:#111111;
  --rh16-white:#ffffff;
  --rh16-focus:#000000;
  --rh16-radius:8px;
  --rh16-touch:48px;
  color:var(--rh16-text)!important;
  font-size:16px;
  line-height:1.5;
}

/* Avoid visual motion and expensive decorative effects inside the app. */
.rh-dark-admin *,
.rhcrm-front *,
.rhportal *,
.rhp-login-shell *{
  animation:none!important;
  transition:none!important;
  text-shadow:none!important;
}

/* Strong keyboard focus on every actionable control. */
.rh-dark-admin :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.rhcrm-front :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.rhportal :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.rhp-login-shell :where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid var(--rh16-focus)!important;
  outline-offset:3px!important;
  box-shadow:none!important;
}

/* ---------- WordPress admin / staff CRM ---------- */
.rh-dark-admin{
  background:var(--rh16-bg)!important;
  color:var(--rh16-text)!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:22px 24px 44px!important;
  min-height:70vh;
}
.rh-dark-admin h1,.rh-dark-admin h2,.rh-dark-admin h3,.rh-dark-admin h4,.rh-dark-admin h5,.rh-dark-admin h6,
.rh-dark-admin p,.rh-dark-admin label,.rh-dark-admin strong,.rh-dark-admin td,.rh-dark-admin th{
  color:var(--rh16-text)!important;
}
.rh-dark-admin .description,.rh-dark-admin small,.rh-dark-admin .rh-muted,.rh-dark-admin .rh-head p,
.rh-dark-admin .rh-card span,.rh-dark-admin .rh-kpis-admin span,.rh-dark-admin .rh-status-admin span{
  color:var(--rh16-muted)!important;
  font-size:14px!important;
}
.rh-dark-admin .rh-head{margin:18px 0 20px!important;align-items:flex-start!important}
.rh-dark-admin .rh-head h1{font-size:32px!important;line-height:1.2!important;font-weight:800!important;margin:0!important}

.rh-dark-admin .rh-admin-appnav,
.rh-dark-admin .rh-context-nav{
  background:var(--rh16-surface)!important;
  border:1px solid var(--rh16-border)!important;
  border-radius:var(--rh16-radius)!important;
  box-shadow:none!important;
  padding:6px!important;
  gap:4px!important;
}
.rh-dark-admin .rh-admin-appnav a,
.rh-dark-admin .rh-context-nav a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:8px 13px!important;
  border-radius:6px!important;
  color:#1b1b1b!important;
  background:transparent!important;
  font-size:15px!important;
  font-weight:700!important;
  text-decoration:none!important;
}
.rh-dark-admin .rh-admin-appnav a:hover,
.rh-dark-admin .rh-context-nav a:hover{
  background:#e6e6e6!important;
  color:#000!important;
}
.rh-dark-admin .rh-admin-appnav a.is-active,
.rh-dark-admin .rh-context-nav a.is-active{
  background:#111!important;
  color:#fff!important;
}

.rh-dark-admin .rh-panel,
.rh-dark-admin .rh-card,
.rh-dark-admin .rh-table-wrap,
.rh-dark-admin .rh-modal-card,
.rh-dark-admin .rh-kpis-admin>*,
.rh-dark-admin .rh-status-admin>div,
.rh-dark-admin .rh-selected-customer,
.rh-dark-admin .rh-check-item{
  background:var(--rh16-surface)!important;
  color:var(--rh16-text)!important;
  border:1px solid var(--rh16-border)!important;
  border-radius:var(--rh16-radius)!important;
  box-shadow:none!important;
}
.rh-dark-admin .rh-panel{padding:22px!important}
.rh-dark-admin .rh-card{padding:18px!important}

.rh-dark-admin .widefat,
.rh-dark-admin .widefat td,
.rh-dark-admin .widefat th,
.rh-dark-admin .widefat.striped>tbody>:nth-child(odd),
.rh-dark-admin .widefat.striped>tbody>:nth-child(even){
  background:#fff!important;
  color:#111!important;
  border-color:#c8c8c8!important;
}
.rh-dark-admin .widefat thead th,
.rh-dark-admin .widefat tfoot th{
  background:#e9e9e9!important;
  color:#111!important;
  font-size:14px!important;
  font-weight:800!important;
}
.rh-dark-admin .widefat tbody tr:hover td{background:#f3f3f3!important}
.rh-dark-admin .widefat a{color:#111!important;text-decoration:underline!important;text-underline-offset:2px}

.rh-dark-admin input:not([type=checkbox]):not([type=radio]),
.rh-dark-admin select,
.rh-dark-admin textarea,
.rh-dark-admin .rh-autocomplete input{
  min-height:var(--rh16-touch)!important;
  background:#fff!important;
  color:#111!important;
  border:2px solid #8c8c8c!important;
  border-radius:6px!important;
  padding:10px 12px!important;
  font-size:16px!important;
  line-height:1.35!important;
}
.rh-dark-admin textarea{min-height:110px!important}
.rh-dark-admin input::placeholder,.rh-dark-admin textarea::placeholder{color:#5e5e5e!important;opacity:1!important}
.rh-dark-admin select option{color:#111!important;background:#fff!important}
.rh-dark-admin input[type=checkbox],.rh-dark-admin input[type=radio]{width:22px!important;height:22px!important;min-width:22px!important}

.rh-dark-admin .button,
.rh-dark-admin button,
.rh-dark-admin .rh-button,
.rh-dark-admin .rh-big-action{
  min-height:var(--rh16-touch)!important;
  padding:9px 16px!important;
  border-radius:6px!important;
  border:2px solid #111!important;
  background:#fff!important;
  color:#111!important;
  font-size:15px!important;
  font-weight:800!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
.rh-dark-admin .button:hover,
.rh-dark-admin button:hover,
.rh-dark-admin .rh-button:hover{background:#e8e8e8!important;color:#000!important}
.rh-dark-admin .button-primary,
.rh-dark-admin .rh-primary,
.rh-dark-admin .rh-big-action:not(.rh-secondary){background:#111!important;border-color:#111!important;color:#fff!important}
.rh-dark-admin .button-primary:hover,
.rh-dark-admin .rh-primary:hover,
.rh-dark-admin .rh-big-action:not(.rh-secondary):hover{background:#333!important;border-color:#333!important;color:#fff!important}
.rh-dark-admin .rh-big-action.rh-secondary{background:#fff!important;color:#111!important;border-color:#111!important}

.rh-dark-admin .rh-kpis-admin{gap:12px!important}
.rh-dark-admin .rh-kpis-admin strong{color:#111!important;font-size:30px!important;font-weight:850!important}
.rh-dark-admin .rh-status-admin strong{color:#111!important}
.rh-dark-admin .rh-status{background:#e5e5e5!important;color:#111!important;border:1px solid #aaa!important;font-size:13px!important;font-weight:800!important}

.rh-dark-admin .rh-autocomplete-menu,
.rh-dark-admin .rh-search-results{
  background:#fff!important;
  border:2px solid #777!important;
  color:#111!important;
  box-shadow:0 8px 22px rgba(0,0,0,.12)!important;
}
.rh-dark-admin .rh-autocomplete-option,
.rh-dark-admin .rh-customer-result{
  background:#fff!important;
  color:#111!important;
  border-color:#d0d0d0!important;
  min-height:46px!important;
  font-size:15px!important;
}
.rh-dark-admin .rh-autocomplete-option:hover,
.rh-dark-admin .rh-customer-result:hover{background:#e8e8e8!important;color:#000!important}

/* ---------- Internal frontend CRM ---------- */
.rhcrm-front.rh-corporate,
.rhcrm-front.rh-dark,
.rhcrm-front{
  --rh-bg:#f4f4f4!important;
  --rh-surface:#fff!important;
  --rh-border:#b8b8b8!important;
  --rh-muted:#4b4b4b!important;
  --rh-primary:#111!important;
  --rh-primary-hover:#333!important;
}
.rhcrm-front.rh-corporate,
.rhcrm-front.rh-dark{
  background:var(--rh16-bg)!important;
  color:#111!important;
  border-radius:0!important;
  padding:22px!important;
  box-shadow:none!important;
}
.rhcrm-front :where(h1,h2,h3,h4,h5,h6,strong,label,p,td,th){color:#111!important}
.rhcrm-front :where(small,.rh-muted,.rh-corp-kpis span,.rh-repair-card-meta){color:#4b4b4b!important}
.rhcrm-front small{font-size:14px!important}
.rhcrm-front a{color:#111!important;text-decoration:underline!important;text-underline-offset:2px}
.rhcrm-front .rh-panel,.rhcrm-front .rh-table-wrap,.rhcrm-front .rh-dark-panel,
.rhcrm-front .rh-corp-kpis>div,.rhcrm-front .rh-card{
  background:#fff!important;
  border:1px solid #b8b8b8!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
.rhcrm-front .rh-table th{background:#e9e9e9!important;color:#111!important;font-size:14px!important;font-weight:800!important}
.rhcrm-front .rh-table td,.rhcrm-front .rh-table tr:nth-child(even) td{background:#fff!important;color:#111!important;border-color:#c8c8c8!important}
.rhcrm-front .rh-table tr:hover td{background:#f2f2f2!important}
.rhcrm-front .rh-corp-kpis strong{color:#111!important;font-size:28px!important}
.rhcrm-front .rh-part-code{background:#efefef!important;border:1px solid #aaa!important;color:#111!important}
.rhcrm-front .rh-eyebrow{color:#333!important;font-size:13px!important;letter-spacing:.08em!important}

.rhcrm-front input:not([type=checkbox]):not([type=radio]),
.rhcrm-front select,.rhcrm-front textarea{
  min-height:var(--rh16-touch)!important;
  background:#fff!important;
  color:#111!important;
  border:2px solid #858585!important;
  border-radius:6px!important;
  padding:10px 12px!important;
  font-size:16px!important;
}
.rhcrm-front textarea{min-height:110px!important}
.rhcrm-front input::placeholder,.rhcrm-front textarea::placeholder{color:#5e5e5e!important;opacity:1!important}
.rhcrm-front input[type=checkbox],.rhcrm-front input[type=radio]{width:22px!important;height:22px!important;min-width:22px!important}
.rhcrm-front .rh-button,.rhcrm-front button:not(.rh-autocomplete-option){
  min-height:var(--rh16-touch)!important;
  border-radius:6px!important;
  border:2px solid #111!important;
  background:#fff!important;
  color:#111!important;
  font-size:15px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.rhcrm-front .rh-button.rh-primary,.rhcrm-front .rh-primary{background:#111!important;color:#fff!important;border-color:#111!important}
.rhcrm-front .rh-button.rh-primary:hover,.rhcrm-front .rh-primary:hover{background:#333!important;color:#fff!important}
.rhcrm-front .rh-autocomplete-menu{background:#fff!important;border:2px solid #777!important;box-shadow:0 8px 22px rgba(0,0,0,.12)!important}
.rhcrm-front .rh-autocomplete-option{background:#fff!important;color:#111!important;min-height:46px!important;font-size:15px!important}
.rhcrm-front .rh-autocomplete-option:hover{background:#e8e8e8!important;color:#000!important}

/* ---------- Customer portal ---------- */
.rhportal,.rhp-portal-v15{color:#111!important;background:transparent!important}
.rhp-portal-v15{max-width:1180px!important}
.rhp-portal-header{border-color:#bdbdbd!important}
.rhp-portal-header h2,.rhp-section-head h3,.rhp-repair-card h4{color:#111!important}
.rhp-portal-header p,.rhp-section-head p,.rhp-repair-card p,.rhp-repair-card-meta,
.rhp-device-card small,.rhp-device-card span,.rhp-action-card span{color:#4b4b4b!important}
.rhp-section-head small,.rhp-portal-header small{color:#333!important;font-size:13px!important;letter-spacing:.08em!important}
.rhp-action-card,.rhp-repair-card,.rhp-device-card,.rhp-card,.rhp-login,.rhp-empty-state{
  background:#fff!important;
  color:#111!important;
  border:1px solid #b8b8b8!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
.rhp-repair-card.is-history,.rhp-empty-state{background:#f2f2f2!important}
.rhp-device-icon{background:#e5e5e5!important;color:#111!important;border-radius:6px!important}
.rhp-status-pill,.rhp-row span{background:#e5e5e5!important;color:#111!important;border:1px solid #aaa!important;font-size:13px!important}
.rhp-primary-action,.rhp-btn{
  min-height:var(--rh16-touch)!important;
  background:#111!important;
  color:#fff!important;
  border:2px solid #111!important;
  border-radius:6px!important;
  font-size:15px!important;
  font-weight:800!important;
}
.rhp-secondary-action{
  min-height:var(--rh16-touch)!important;
  background:#fff!important;
  color:#111!important;
  border:2px solid #111!important;
  border-radius:6px!important;
}
.rhp-form input,.rhp-form select,.rhp-form textarea{
  min-height:var(--rh16-touch)!important;
  border:2px solid #858585!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#111!important;
  font-size:16px!important;
  padding:10px 12px!important;
}

/* ---------- Customer login/register ---------- */
.rhp-auth-v15,
.rhp-login-shell.rhp-auth-v15{
  --rhp-accent:#111!important;
  --rhp-page-bg:#f4f4f4!important;
  --rhp-card-bg:#fff!important;
  --rhp-text:#111!important;
  --rhp-muted:#4b4b4b!important;
  min-height:620px!important;
  border-radius:10px!important;
  background:#f4f4f4!important;
  color:#111!important;
  box-shadow:none!important;
  border:1px solid #b8b8b8!important;
}
.rhp-auth-v15 .rhp-brand-panel{
  background:#171717!important;
  color:#fff!important;
  padding:42px!important;
}
.rhp-auth-v15 .rhp-tech-pattern{display:none!important}
.rhp-auth-v15 .rhp-device-icons span{
  background:#2c2c2c!important;
  border:1px solid #6f6f6f!important;
  color:#fff!important;
  border-radius:6px!important;
}
.rhp-auth-v15 .rhp-brand-word{color:#fff!important}
.rhp-auth-v15 .rhp-brand-tagline,.rhp-auth-v15 .rhp-brand-categories,.rhp-auth-v15 .rhp-auth-benefits{color:#e1e1e1!important}
.rhp-auth-v15 .rhp-login-side{background:#f4f4f4!important;padding:38px!important}
.rhp-auth-v15 .rhp-login-card{
  background:#fff!important;
  color:#111!important;
  border:1px solid #aaa!important;
  border-radius:8px!important;
  box-shadow:none!important;
  padding:32px!important;
}
.rhp-auth-v15 .rhp-login-card h2,.rhp-auth-v15 .rhp-login-form label{color:#111!important}
.rhp-auth-v15 .rhp-auth-heading small{color:#333!important;font-size:13px!important}
.rhp-auth-v15 .rhp-auth-heading p,.rhp-auth-v15 .rhp-google-label,.rhp-auth-v15 .rhp-auth-note{color:#4b4b4b!important;font-size:14px!important}
.rhp-auth-v15 .rhp-google-wrap{background:#f7f7f7!important;border:1px solid #bdbdbd!important;border-radius:6px!important}
.rhp-auth-v15 .rhp-or{color:#4b4b4b!important}.rhp-auth-v15 .rhp-or:before,.rhp-auth-v15 .rhp-or:after{background:#bdbdbd!important}
.rhp-auth-v15 .rhp-auth-tabs{background:#e5e5e5!important;border-radius:6px!important;padding:4px!important}
.rhp-auth-v15 .rhp-auth-tab{color:#222!important;border-radius:4px!important;min-height:48px!important;font-size:15px!important}
.rhp-auth-v15 .rhp-auth-tab.is-active{background:#111!important;color:#fff!important;box-shadow:none!important}
.rhp-auth-v15 .rhp-login-form input,
.rhp-auth-v15 input:not([type=checkbox]):not([type=radio]){
  background:#fff!important;
  color:#111!important;
  border:2px solid #777!important;
  border-radius:6px!important;
  min-height:50px!important;
  font-size:16px!important;
  padding:10px 12px!important;
}
.rhp-auth-v15 .rhp-login-submit,
.rhp-auth-v15 .rhp-primary-action{
  background:#111!important;
  color:#fff!important;
  border:2px solid #111!important;
  border-radius:6px!important;
  min-height:52px!important;
  font-size:16px!important;
  font-weight:850!important;
}
.rhp-auth-v15 .rhp-login-submit:hover,.rhp-auth-v15 .rhp-primary-action:hover{background:#333!important}
.rhp-auth-v15 .rhp-forgot a,.rhp-auth-v15 .rhp-register-line a{color:#111!important;text-decoration:underline!important}
.rhp-auth-success,.rhp-auth-warning{background:#f1f1f1!important;color:#111!important;border:2px solid #777!important;border-radius:6px!important}

/* ---------- Print-center popup made readable ---------- */
.rh-print-center{background:rgba(0,0,0,.72)!important}
.rh-print-card{background:#fff!important;color:#111!important;border:2px solid #111!important;border-radius:8px!important;box-shadow:none!important}
.rh-print-card h2,.rh-print-card p{color:#111!important}
.rh-print-close{color:#111!important}
.rh-print-actions button{background:#111!important;color:#fff!important;border:2px solid #111!important;border-radius:6px!important;min-height:52px!important}
.rh-print-actions button:last-child{background:#fff!important;color:#111!important}

/* ---------- Responsive / touch ---------- */
@media (max-width:1100px){
  .rh-dark-admin .rh-kpis-admin{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .rhcrm-front .rh-corp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:782px){
  .rh-dark-admin{padding:14px 10px 34px!important}
  .rh-dark-admin .rh-head h1{font-size:27px!important}
  .rh-dark-admin .rh-admin-appnav,.rh-dark-admin .rh-context-nav{display:grid!important;grid-template-columns:1fr 1fr!important}
  .rh-dark-admin .rh-admin-appnav a,.rh-dark-admin .rh-context-nav a{min-height:52px!important;padding:9px!important}
  .rh-dark-admin .rh-kpis-admin,.rh-dark-admin .rh-status-admin{grid-template-columns:1fr!important}
  .rh-dark-admin .rh-panel{padding:16px!important}
  .rhcrm-front.rh-corporate,.rhcrm-front.rh-dark{padding:12px!important}
  .rhcrm-front .rh-corp-kpis{grid-template-columns:1fr!important}
  .rhcrm-front .rh-button,.rhcrm-front button:not(.rh-autocomplete-option){min-height:54px!important}
  .rhp-primary-action,.rhp-secondary-action,.rhp-btn{min-height:54px!important}
  .rhp-auth-v15 .rhp-login-side{padding:18px 12px!important}
  .rhp-auth-v15 .rhp-login-card{padding:22px!important}
}
@media (max-width:520px){
  .rh-dark-admin .rh-admin-appnav,.rh-dark-admin .rh-context-nav{grid-template-columns:1fr!important}
  .rh-dark-admin .rh-actions,.rhcrm-front .rh-actions{gap:10px!important}
  .rh-dark-admin .rh-actions .button,.rhcrm-front .rh-actions .rh-button{width:100%!important;justify-content:center!important}
  .rhp-auth-v15 .rhp-brand-panel{min-height:210px!important;padding:28px 18px!important}
  .rhp-auth-v15 .rhp-brand-word{font-size:36px!important}
  .rhp-auth-v15 .rhp-device-icons{margin-bottom:18px!important;gap:12px!important}
  .rhp-auth-v15 .rhp-device-icons span{width:54px!important;height:54px!important;font-size:26px!important}
}

@media (prefers-reduced-motion: reduce){
  .rh-dark-admin *, .rhcrm-front *, .rhportal *, .rhp-login-shell *{
    scroll-behavior:auto!important;
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
  }
}
