/* Phase 53: Customer & Admin Typography Readability and UI Consistency */
:root{
  --sk-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --sk-text: #0f172a;
  --sk-text-strong: #07111f;
  --sk-text-muted: #ffffff;
  --sk-text-soft: #64748b;
  --sk-bg: #f7fafc;
  --sk-surface: #ffffff;
  --sk-surface-soft: #f8fafc;
  --sk-border: #dbe4ee;
  --sk-accent: #0f766e;
  --sk-accent-strong: #0b5f5a;
  --sk-danger: #b42318;
  --sk-warning: #92400e;
  --sk-success: #067647;
  --sk-info: #075985;
  --sk-radius: 18px;
  --sk-radius-sm: 12px;
  --sk-shadow: 0 14px 36px rgba(15,23,42,.08);
  --sk-shadow-soft: 0 8px 22px rgba(15,23,42,.06);
}
html{font-size:16px;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;}
body,
button,input,select,textarea,table{font-family:var(--sk-font-sans)!important;}
body{color:var(--sk-text)!important;background:var(--sk-bg);font-weight:400;line-height:1.55;letter-spacing:-.01em;}
a{color:var(--sk-accent-strong);text-decoration:none;} a:hover{text-decoration:underline;}
/* Balanced hierarchy: readable without aggressive oversized bold text */
h1,.page-title,.admin-title,.sk-page-title,.dashboard-title{font-size:clamp(1.45rem,2.2vw,2.05rem)!important;line-height:1.18!important;font-weight:560!important;letter-spacing:-.035em;color:var(--sk-text-strong)!important;margin:0 0 .7rem!important;}
h2,.section-title,.card-section-title,.admin-section-title{font-size:clamp(1.16rem,1.55vw,1.42rem)!important;line-height:1.25!important;font-weight:540!important;letter-spacing:-.025em;color:var(--sk-text-strong)!important;margin:0 0 .65rem!important;}
h3,.card-title,.widget-title,.dish-card h3,.menu-card h3,.product-card h3,.dish-title{font-size:clamp(1rem,1.25vw,1.14rem)!important;line-height:1.3!important;font-weight:520!important;letter-spacing:-.018em;color:var(--sk-text)!important;margin:0 0 .38rem!important;}
h4,h5,h6,.small-heading,.table-title{font-size:.98rem!important;line-height:1.35!important;font-weight:520!important;color:var(--sk-text)!important;}
p,.body-text,td,th,li,.form-help,.description,.dish-description,.card p{color:var(--sk-text-muted)!important;font-size:clamp(.94rem,.98vw,1rem);line-height:1.6;}
small,.muted,.text-muted,.supporting-text,.hint,.help-text,.meta,.subtitle{color:var(--sk-text-soft)!important;font-size:.9rem;line-height:1.5;}
strong,b{font-weight:600;}
/* Form readability */
label,.form-label,.field-label{color:var(--sk-text)!important;font-weight:520!important;font-size:.94rem;line-height:1.35;margin-bottom:.35rem;display:inline-block;}
input,select,textarea,.form-control,.input,.select{color:var(--sk-text)!important;background:#fff!important;border:1px solid var(--sk-border)!important;border-radius:14px!important;font-size:1rem!important;line-height:1.35!important;box-shadow:none!important;}
input::placeholder,textarea::placeholder{color:#64748b!important;opacity:1;}
input:focus,select:focus,textarea:focus,.form-control:focus{outline:3px solid rgba(15,118,110,.18)!important;border-color:var(--sk-accent)!important;}
/* Buttons: medium weight, cleaner scale */
button,.btn,.button,input[type="submit"],.admin-btn,.sk-btn{font-weight:560!important;font-size:.95rem!important;line-height:1.2!important;border-radius:14px!important;letter-spacing:-.01em;min-height:42px;}
.btn-primary,.button-primary,.save-btn,.admin-btn-primary{background:var(--sk-accent)!important;color:#fff!important;border-color:var(--sk-accent)!important;}
.btn-secondary,.button-secondary{background:#fff!important;color:var(--sk-accent-strong)!important;border:1px solid var(--sk-border)!important;}
/* Cards, widgets, dashboards */
.card,.widget,.summary-card,.dashboard-card,.admin-card,.panel,.box,.content-card,.sk-card,.menu-card,.product-card,.dish-card,.category-card,form.card{background:var(--sk-surface)!important;border:1px solid rgba(148,163,184,.28)!important;border-radius:var(--sk-radius)!important;box-shadow:var(--sk-shadow-soft)!important;color:var(--sk-text)!important;}
.card-header,.panel-header,.widget-header{border-bottom:1px solid rgba(148,163,184,.22)!important;padding-bottom:.75rem!important;margin-bottom:1rem!important;}
/* Tables */
table{color:var(--sk-text)!important;border-collapse:separate;border-spacing:0;} th{color:#7c2d12!important;background:#fff7ed!important;font-weight:560!important;font-size:.94rem;}td{color:var(--sk-text)!important;background:#fff;}tr:nth-child(even) td{background:#fbfdff;} .table-responsive{border-radius:16px;overflow:auto;}
/* Status text: never low-contrast */
.status,.badge,.pill,.alert,.notice{font-weight:560!important;}
.status-success,.badge-success,.alert-success,.success{color:var(--sk-success)!important;background:#ecfdf3!important;}
.status-warning,.badge-warning,.alert-warning,.warning{color:var(--sk-warning)!important;background:#fffbeb!important;}
.status-danger,.badge-danger,.alert-danger,.error,.danger{color:var(--sk-danger)!important;background:#fef3f2!important;}
.status-info,.badge-info,.alert-info,.info{color:var(--sk-info)!important;background:#f0f9ff!important;}
/* Customer navigation readability */
.sk-cx-header,.customer-header,.site-header{color:var(--sk-text)!important;}
.sk-cx-mainnav a,.sk-cx-dropdown a,.nav-link,.admin-nav a{font-weight:520!important;}
.sk-cx-mainnav a{color:var(--sk-text)!important;}.sk-cx-mainnav a.active,.sk-cx-mainnav a:hover{color:var(--sk-accent-strong)!important;}
/* Dish/product image cards: keep titles proportional */
.dish-card .dish-name,.dish-card h3,.product-card .dish-name,.product-card h3,.menu-card .dish-name,.menu-card h3{font-size:clamp(.98rem,3.3vw,1.12rem)!important;font-weight:520!important;color:var(--sk-text)!important;}
.dish-card .price,.product-card .price,.menu-card .price{font-size:1rem!important;font-weight:560!important;color:var(--sk-accent-strong)!important;}
.dish-card .description,.product-card .description,.menu-card .description{font-size:.92rem!important;color:var(--sk-text-muted)!important;}
/* Dark surfaces support */
.theme-dark,.dark,body.dark-mode{--sk-text:#e5edf7;--sk-text-strong:#f8fafc;--sk-text-muted:#cbd5e1;--sk-text-soft:#94a3b8;--sk-bg:#0f172a;--sk-surface:#111c2e;--sk-surface-soft:#172338;--sk-border:#334155;background:#0f172a!important;color:#e5edf7!important;}
.theme-dark .card,.theme-dark .widget,.theme-dark .admin-card,.theme-dark .panel,.theme-dark .box,.theme-dark .content-card,.theme-dark .dish-card,.theme-dark .product-card,.theme-dark .menu-card,.theme-dark form.card{background:#111c2e!important;border-color:#334155!important;color:#e5edf7!important;}
.theme-dark input,.theme-dark select,.theme-dark textarea{background:#0b1220!important;color:#f8fafc!important;border-color:#334155!important;}
.theme-dark th{background:#1f2937!important;color:#fde68a!important;}.theme-dark td{background:#111827!important;color:#e5edf7!important;}.theme-dark tr:nth-child(even) td{background:#0f172a!important;}
.theme-dark .sk-cx-mainnav a,.theme-dark .sk-cx-dropdown a,.theme-dark .nav-link{color:#e5edf7!important;}
/* Spacing polish */
.container,.page-container,.admin-content,.main-content{line-height:1.55;}
.card,.widget,.admin-card,.panel,.box,.content-card{padding:clamp(1rem,2vw,1.5rem);}
.form-row,.form-group,.field-group{margin-bottom:1rem;}
/* Mobile readability and touch targets */
@media (max-width:768px){
  html{font-size:15.5px;}
  h1,.page-title,.admin-title,.sk-page-title{font-size:1.45rem!important;}
  h2,.section-title{font-size:1.18rem!important;}
  h3,.dish-card h3,.product-card h3,.menu-card h3{font-size:1rem!important;}
  p,td,th,li,input,select,textarea{font-size:.96rem!important;}
  button,.btn,.button,input[type="submit"]{min-height:44px!important;padding:.75rem 1rem!important;}
  .card,.widget,.admin-card,.panel,.box,.content-card{padding:1rem!important;border-radius:16px!important;}
}
