/* Compact internal service-management UI. Public homepage is intentionally untouched. */
.jdm-app {
  --fb-blue:#3f7fb7;
  --fb-blue-dark:#2e6797;
  --fb-green:#65b85a;
  --fb-red:#cf5c55;
  --fb-orange:#e6a541;
  --fb-bg:#f5f6f7;
  --fb-card:#fff;
  --fb-border:#d6dbe0;
  --fb-text:#30343a;
  --fb-muted:#7d8389;
  background:var(--fb-bg);
}

.jdm-app .site-header{background:#fff;border-bottom:1px solid var(--fb-border);box-shadow:none}
.jdm-app .header-inner{max-width:1180px;min-height:58px;padding:7px 12px;gap:10px}
.jdm-app .site-brand{font-size:16px;font-weight:800;white-space:nowrap}
.jdm-app .site-nav{gap:5px}
.jdm-app .site-nav a{min-height:36px;padding:7px 11px;border:1px solid var(--fb-border);border-radius:4px;background:#fff;color:var(--fb-blue-dark);font-size:13px;font-weight:700}

.jdm-app .page-shell,.jdm-app .invoice-page{max-width:1180px;padding:14px 14px 70px}
.jdm-app .page-head,.jdm-app .invoice-head{padding:14px 16px;margin-bottom:12px;border-radius:4px}
.jdm-app .page-head h1,.jdm-app .invoice-head h1{font-size:30px;margin-bottom:5px}
.jdm-app .page-head p,.jdm-app .invoice-head p{font-size:15px;line-height:1.35}
.jdm-app .head-actions{gap:6px}
.jdm-app .btn{min-height:38px;padding:8px 13px;border-radius:4px;font-size:14px}

.jdm-app .stats-grid{gap:7px;margin-bottom:14px}
.jdm-app .stat{padding:12px 14px;border-radius:4px;border-top-width:3px;box-shadow:none}
.jdm-app .stat span{margin-bottom:7px;font-size:11px}
.jdm-app .stat strong{font-size:27px}

.jdm-app .section-block{margin-top:14px}
.jdm-app .section-head{margin-bottom:7px}
.jdm-app .section-head h2{font-size:21px}
.jdm-app .panel,.jdm-app .request-card,.jdm-app .job-card,.jdm-app .list-card{border-radius:4px;box-shadow:none}
.jdm-app .panel{padding:13px}

.jdm-app .request-card{padding:14px;border-left-width:4px}
.jdm-app .request-card h3{font-size:19px;margin-bottom:3px}
.jdm-app .detail-list{margin-top:8px}
.jdm-app .detail-list p{margin:4px 0;font-size:14px}
.jdm-app .note-box{margin-top:10px;padding:10px;border-radius:4px;font-size:14px}
.jdm-app .action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px}
.jdm-app .action-grid form{margin:0}
.jdm-app .action-grid .btn,.jdm-app .action-grid .danger-btn{min-height:40px;font-size:14px}

.jdm-app .job-list{gap:6px}
.jdm-app .job-card{padding:12px 14px;border-left-width:4px;gap:10px}
.jdm-app .job-card h3{font-size:18px;margin-bottom:2px}
.jdm-app .job-card p{margin:3px 0;font-size:14px}
.jdm-app .job-meta{min-width:130px;gap:4px;font-size:12px}
.jdm-app .chip{padding:4px 7px;font-size:10px}

.jdm-app .form-grid{gap:9px}
.jdm-app .form-grid label,.jdm-app .auth-card label,.jdm-app .form-field>label{gap:4px;font-size:14px}
.jdm-app .form-grid input,.jdm-app .form-grid textarea,.jdm-app .form-grid select,.jdm-app .search-bar input,.jdm-app .auth-card input,.jdm-app .form-field input{min-height:40px;padding:8px 10px;border-radius:3px;font-size:14px}
.jdm-app .form-grid textarea{min-height:82px}

.jdm-app .two-col{gap:8px;margin-bottom:8px}
.jdm-app .job-summary{gap:6px}
.jdm-app .job-summary>div{padding:9px;border-radius:3px;box-shadow:none}
.jdm-app .job-summary span{font-size:10px}
.jdm-app .job-summary strong{font-size:14px}

.jdm-app .totals-grid{gap:6px}
.jdm-app .totals-grid>div{padding:9px;border-radius:3px}
.jdm-app .totals-grid span{font-size:10px}
.jdm-app .totals-grid strong{font-size:17px}

.jdm-app table{font-size:13px}
.jdm-app th,.jdm-app td{padding:7px 8px}
.jdm-app th{font-size:10px}

.jdm-app .attachment-grid{gap:8px}
.jdm-app .attachment-card{padding:8px;border-radius:4px}

/* Give work-order sections the visual hierarchy of a service screen. */
.jdm-app #estimate>.section-head h2::before{content:"$ ";color:var(--fb-orange)}
.jdm-app #parts>.section-head h2::before{content:"▣ ";color:var(--fb-blue)}
.jdm-app #time>.section-head h2::before{content:"◷ ";color:var(--fb-green)}
.jdm-app #files>.section-head h2::before{content:"▧ ";color:var(--fb-blue)}
.jdm-app #inspections>.section-head h2::before{content:"✓ ";color:var(--fb-green)}
.jdm-app #notes>.section-head h2::before{content:"✎ ";color:var(--fb-blue)}

/* Mobile: dense, thumb-friendly, closer to the supplied service-management screens. */
@media (max-width:560px){
  .jdm-app .header-inner{display:block;min-height:auto;padding:6px 8px}
  .jdm-app .site-brand{display:none}
  .jdm-app .site-nav{display:grid;grid-template-columns:repeat(4,1fr);width:100%;gap:4px}
  .jdm-app .site-nav a{min-height:34px;padding:6px 3px;font-size:11px;text-align:center;justify-content:center}
  .jdm-app .page-shell,.jdm-app .invoice-page{padding:10px 8px 64px}
  .jdm-app .page-head,.jdm-app .invoice-head{padding:11px 12px;margin-bottom:8px}
  .jdm-app .page-head h1,.jdm-app .invoice-head h1{font-size:25px;line-height:1.05}
  .jdm-app .page-head p,.jdm-app .invoice-head p{font-size:13px}
  .jdm-app .head-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:8px}
  .jdm-app .head-actions .btn{width:100%}
  .jdm-app .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .jdm-app .stat{padding:10px}
  .jdm-app .stat strong{font-size:23px}
  .jdm-app .section-head h2{font-size:19px}
  .jdm-app .panel{padding:10px}
  .jdm-app .request-card{padding:11px}
  .jdm-app .request-card h3{font-size:18px}
  .jdm-app .split{gap:5px}
  .jdm-app .action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jdm-app .job-card{grid-template-columns:1fr;padding:10px 11px}
  .jdm-app .job-meta{min-width:0;align-items:flex-start;text-align:left;display:flex;flex-direction:row;flex-wrap:wrap}
  .jdm-app .two-col{grid-template-columns:1fr}
  .jdm-app .job-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jdm-app .form-grid{grid-template-columns:1fr;gap:7px}
  .jdm-app .form-grid .full{grid-column:auto}
  .jdm-app .totals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jdm-app .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .jdm-app .section-block{margin-top:10px}
  .jdm-app .site-footer{padding:16px 8px 24px;font-size:11px}
}
