:root{--bg:#f4f6f8;--card:#fff;--txt:#1f2937;--muted:#6b7280;--pri:#1f4e79;--ok:#0f766e;--warn:#b45309;--bad:#b91c1c;--line:#d1d5db}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Arial,Helvetica,sans-serif;color:var(--txt)}header{background:var(--pri);color:#fff;padding:16px 28px}header h1{margin:0;font-size:22px}.wrap{max-width:1200px;margin:0 auto;padding:20px}nav{background:#fff;border-bottom:1px solid var(--line);padding:10px 28px}nav a{margin-right:16px;color:var(--pri);text-decoration:none;font-weight:bold}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:18px;box-shadow:0 2px 6px rgba(0,0,0,.04)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{background:white;border-radius:10px;padding:16px;border:1px solid var(--line)}.stat strong{font-size:28px;display:block;color:var(--pri)}label{display:block;font-weight:bold;margin-top:10px}input,select,textarea{width:100%;padding:9px;border:1px solid var(--line);border-radius:6px;margin-top:4px}textarea{min-height:70px}button,.btn{display:inline-block;background:var(--pri);color:#fff;border:0;border-radius:6px;padding:9px 13px;text-decoration:none;cursor:pointer;margin-top:12px}.btn.secondary{background:#374151}.btn.ok{background:var(--ok)}.btn.warn{background:var(--warn)}table{width:100%;border-collapse:collapse;background:white}th,td{padding:9px;border:1px solid var(--line);vertical-align:top;text-align:left}th{background:#eef2f7}.flash{background:#ecfdf5;border:1px solid #99f6e4;padding:10px;border-radius:6px;margin-bottom:10px}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.small{font-size:12px;color:var(--muted)}.item{border:1px solid var(--line);border-radius:8px;padding:12px;margin-bottom:12px;background:#fff}.orient{color:var(--muted);font-size:13px;background:#f9fafb;padding:8px;border-radius:6px}.danger{color:var(--bad);font-weight:bold}@media(max-width:900px){.grid,.two{grid-template-columns:1fr}nav a{display:inline-block;margin-bottom:8px}}

.dropzone{border:2px dashed var(--line);border-radius:8px;padding:10px;background:#fafafa;margin-top:4px}.dropzone.dragover{background:#eef2f7;border-color:var(--pri)}.dropzone span{display:block;font-size:12px;color:var(--muted);margin-top:6px}.dropzone input{background:#fff}
.badge{display:inline-block;padding:3px 7px;border-radius:999px;background:#eef2f7;border:1px solid var(--line);font-size:12px}.muted-row{opacity:.62}.sm{padding:5px 8px;font-size:12px;margin-top:0}.danger{background:var(--bad)!important;color:#fff!important}.actions{white-space:nowrap}
.inline-fields{display:grid;grid-template-columns:2fr 1fr;gap:8px;align-items:end}.inline-fields select,.inline-fields input{margin-top:4px}.hint{font-size:12px;color:var(--muted);margin-top:4px}.cep-status{font-size:12px;color:var(--muted);margin-top:3px}

/* Checklist agrupado v0.2.1 */
.grupo-checklist{border:1px solid #cbd5e1;border-radius:12px;margin:18px 0;background:#fff;overflow:hidden;}
.grupo-checklist summary{cursor:pointer;padding:14px 16px;background:#e8eef5;font-weight:800;display:flex;justify-content:space-between;align-items:center;color:#1f2937;}
.badge{display:inline-block;background:#eef2ff;border:1px solid #c7d2fe;color:#1e3a8a;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700;}
.item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;}
.include-toggle{font-weight:700;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;white-space:nowrap;margin-top:0;}
.item-error{border:2px solid #dc2626 !important;background:#fff7f7;}
.item-error .item-title{color:#b91c1c;}
.msg-erro-item{color:#b91c1c;font-weight:800;margin:8px 0;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:8px;}
.item-disabled{opacity:.65;background:#f8fafc;}
.item-disabled .item-body{display:none;}
@media(max-width:800px){.item-head{display:block}.include-toggle{display:block;margin-top:8px;white-space:normal}.grupo-checklist summary{align-items:flex-start;gap:8px}}
.tag-warn{display:inline-block;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800}.toolbar-inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0 14px}.checkline{display:flex;gap:8px;align-items:flex-start;margin:0}.checkline input{width:auto;margin-top:3px}.modelo-item{margin:8px 12px}.secondary{background:#374151!important;color:#fff!important}

.three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:center}.med-fields{background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:10px;margin:8px 0}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.unit-chip{display:inline-block;padding:4px 8px;border-radius:999px;background:#ecfeff;border:1px solid #a5f3fc;color:#155e75;font-weight:700;font-size:12px}@media(max-width:900px){.three,.mini-grid{grid-template-columns:1fr}}
.foto-atual{border:1px solid var(--line);border-radius:8px;background:#f8fafc;padding:8px;margin:8px 0;font-size:12px;color:var(--muted)}
.foto-atual img{max-width:160px;max-height:110px;object-fit:contain;background:white;border:1px solid #e5e7eb;margin:6px 0;display:block}.status-hint{background:#f9fafb;border-left:4px solid #cbd5e1;padding:7px}.formula{background:#eef6ff;border:1px solid #bfdbfe;border-radius:8px;padding:10px;margin:10px 0;font-weight:500}

/* OS filtros/status v0.2.5 */
.four{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:12px;align-items:end}.filters-box{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:12px;margin:10px 0 16px}.tabs-os{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.tab-os{display:inline-flex;gap:8px;align-items:center;text-decoration:none;color:#1f2937;background:#f8fafc;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-weight:800}.tab-os span{background:#e5e7eb;border-radius:999px;padding:2px 7px;font-size:12px}.tab-os.active{background:var(--pri);color:#fff;border-color:var(--pri)}.tab-os.active span{background:rgba(255,255,255,.25);color:#fff}.status-pill{display:inline-block;border-radius:999px;padding:4px 9px;background:#eef2f7;border:1px solid var(--line);font-size:12px;font-weight:800}.status-aberta{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.status-em-atendimento{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.status-finalizada{background:#ecfdf5;border-color:#99f6e4;color:#0f766e}.status-retorno{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.status-form{margin-top:10px;max-width:520px;background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:10px}@media(max-width:900px){.four{grid-template-columns:1fr}.tabs-os{display:block}.tab-os{margin:4px 4px 4px 0}}

/* Configurações e identidade visual v0.2.6 */
.card-soft{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:10px}.preview-box{margin-top:12px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px}.preview-box img{max-width:220px;max-height:130px;object-fit:contain;display:block;margin:8px 0;background:#f3f4f6;border:1px solid #e5e7eb}.hint{font-size:12px;color:var(--muted);margin-top:4px}


/* Identidade visual v0.2.7 */
.brandbar{display:flex;justify-content:space-between;align-items:center;gap:20px}.brand-left{display:flex;align-items:center;gap:14px}.app-logo{max-height:46px;max-width:150px;object-fit:contain;background:rgba(255,255,255,.94);border-radius:8px;padding:5px}.brand-right{font-size:13px;font-weight:800;opacity:.9;text-align:right}.card h2,.card h3{color:#172033}.preview-box{border-left:4px solid var(--pri)}@media(max-width:800px){.brandbar{display:block}.brand-right{display:none}.app-logo{margin-bottom:8px}}
.field-error{border-color:#dc2626!important;box-shadow:0 0 0 2px rgba(220,38,38,.12)}
.field-msg{color:#b91c1c;font-size:12px;margin:4px 0 8px;font-weight:700}.cep-status{font-size:12px;color:#475569;margin:3px 0 8px}.signature-pad{border:1px dashed #94a3b8;border-radius:8px;background:#fff;width:100%;height:160px;touch-action:none}.assinatura-preview{max-height:90px;max-width:260px;border:1px solid #e5e7eb;background:#fff;padding:6px}
.actions-stack{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.inline-form{display:inline;margin:0}.danger{background:#b91c1c!important;color:#fff!important;border:none;border-radius:6px;padding:8px 10px;cursor:pointer}.status-inativada{background:#fef3c7;color:#92400e}.status-excluída{background:#fee2e2;color:#991b1b}

/* Padronização visual v0.3.1 */
button,.btn{font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:700;line-height:1.2;min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:7px;padding:9px 13px;margin:4px 4px 4px 0;border:0;vertical-align:middle}
.btn.sm,button.sm,.sm{font-size:12px;min-height:28px;padding:6px 9px;border-radius:6px}
.actions-stack{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.actions-stack form{display:inline-flex;align-items:center;margin:0}.actions-stack .btn,.actions-stack button{margin:2px 0;white-space:nowrap}
.inline-form{display:inline-flex;margin:0;align-items:center}.med-edit-form{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:12px}.edit-med-row td{background:#f8fafc}.table-medicoes th,.table-medicoes td{font-size:13px}.table-medicoes .foto-atual img{max-width:120px;max-height:90px}


/* Otimização mobile v0.3.4 */
@media(max-width:700px){
  body{font-size:15px;background:#f8fafc;}
  header{padding:12px 14px;}
  header h1{font-size:18px;line-height:1.15;}
  .wrap{padding:10px;max-width:100%;}
  nav{padding:8px 10px;display:flex;gap:6px;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;}
  nav a{margin:0;background:#eef2f7;border:1px solid #dbe3ee;border-radius:999px;padding:8px 10px;font-size:13px;flex:0 0 auto;}
  .card{padding:12px;border-radius:10px;margin-bottom:12px;}
  .two,.three,.four,.grid,.mini-grid,.inline-fields{grid-template-columns:1fr!important;gap:8px;}
  input,select,textarea{font-size:16px;min-height:42px;padding:10px;border-radius:8px;}
  textarea{min-height:92px;}
  button,.btn{width:100%;min-height:42px;margin:5px 0;font-size:15px;}
  .btn.sm,button.sm,.sm{width:auto;min-height:34px;font-size:13px;padding:7px 9px;}
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;}
  th,td{font-size:13px;padding:8px;}
  .actions-stack{display:flex;gap:6px;flex-wrap:wrap;}
  .actions-stack .btn,.actions-stack button{width:auto;white-space:nowrap;}
  .grupo-checklist summary{position:sticky;top:0;z-index:2;padding:12px;font-size:15px;}
  .item{padding:10px;margin-bottom:10px;}
  .item-head{display:block;}
  .dropzone{padding:9px;}
  .dropzone input{font-size:14px;}
  .signature-pad{height:190px;}
  .brand-left{gap:8px;}
  .app-logo{max-height:38px;max-width:110px;}
}

.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px;margin-top:8px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:14px}.kpi{background:#fff;border:1px solid #d8e2ee;border-radius:12px;padding:16px}.kpi span{display:block;color:#64748b;font-size:13px}.kpi b{font-size:28px;color:var(--pri)}
.autosave-status{padding:8px 10px;background:#f7fbff;border:1px solid #d9e8f7;border-radius:8px;margin:8px 0;color:#1f4e79;}

/* v0.4.4 - prévia padronizada das fotos do relatório */
.rel-photo-frame{
  width:100%;
  aspect-ratio: 4 / 3;
  border:1px solid #d1d5db;
  background:#f8fafc;
  overflow:hidden;
  margin-top:8px;
  border-radius:6px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.rel-photo-frame img{width:100%;height:100%;object-fit:cover;display:block;}
.upload-preview:empty{display:none;}
.dropzone small{display:block;color:#64748b;font-size:12px;margin-top:5px;}
