*{box-sizing:border-box} :root{--navy:#10233f;--blue:#1477c9;--teal:#0e9b9a;--bg:#f3f6fa;--ink:#182536;--muted:#66758a}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,Arial,sans-serif}header{background:var(--navy);color:#fff;padding:16px max(18px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.brand{font-size:22px;font-weight:850;letter-spacing:.5px}.brand span{font-weight:500;color:#6edbd4}.admin-link{color:#fff;text-decoration:none;font-size:14px}main{max-width:1180px;margin:0 auto;padding:22px 18px 44px}.hero{padding:22px 0}.hero h1{margin:3px 0;font-size:clamp(26px,4vw,36px);line-height:1.2}.hero p{margin:7px 0;color:var(--muted)}.eyebrow{font-size:12px!important;font-weight:800;letter-spacing:1.6px;color:var(--teal)!important}.stats{display:flex;gap:12px;overflow:auto;margin:0 0 20px}.stat{background:#fff;border:1px solid #e4eaf1;border-radius:13px;padding:13px 17px;min-width:130px;flex:1;box-shadow:0 2px 8px #10233f08}.stat strong{display:block;font-size:23px;color:var(--navy)}.stat span{font-size:12px;color:var(--muted)}.search{display:grid;grid-template-columns:2fr 1fr auto;gap:10px;margin-bottom:18px}input,select,textarea{width:100%;min-width:0;border:1px solid #d4dce7;border-radius:8px;padding:11px 12px;background:#fff;color:var(--ink);font:inherit}label{display:block;font-size:13px;font-weight:650;color:#45556a}label input,label select,label textarea{display:block;margin-top:5px;font-weight:400}button,.button{display:inline-block;background:var(--blue);color:white;border:0;border-radius:8px;padding:11px 16px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}button:hover,.button:hover{filter:brightness(.94)}.secondary{background:#e9f4ff;color:#075b9e}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:13px}.card,.panel{background:#fff;border:1px solid #e3e9f1;border-radius:13px;padding:17px;box-shadow:0 3px 12px #10233f08}.card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.card h2{font-size:18px;margin:14px 0 7px}.muted{color:var(--muted)}.badge{display:inline-block;background:#e4f8f4;color:#08766f;padding:5px 9px;border-radius:20px;font-size:12px;font-weight:750}.empty{padding:30px;background:#fff;border-radius:12px;color:var(--muted)}footer{text-align:center;color:var(--muted);padding:22px;font-size:13px}.narrow{max-width:700px}.panel h2{font-size:18px;margin:0 0 14px}.panel label{margin-bottom:14px}.alert,.success{padding:12px 15px;border-radius:8px;margin:12px 0}.alert{background:#fff0ef;color:#a62b24}.success{background:#e8f8ee;color:#176b3b}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.detail-grid div{background:#f5f8fb;padding:12px;border-radius:8px}.detail-grid small,.detail-grid b{display:block}.detail-grid small{color:var(--muted)}.detail-grid b{margin-top:4px}.small{font-size:12px}.admin-layout{display:grid;grid-template-columns:minmax(280px, .9fr) minmax(0,1.5fr);gap:16px;align-items:start}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.form-grid .full{grid-column:1/-1}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e6ebf1;padding:10px 8px}th{color:var(--muted);white-space:nowrap}.mini-form{display:grid;gap:6px;min-width:145px}.mini-form input,.mini-form select{padding:7px;font-size:12px}.small-button{padding:7px;font-size:12px}.header-actions{font-size:13px;color:#dce6f5}.header-actions a{margin-left:10px}@media(max-width:720px){main{padding:14px 12px 30px}.search{grid-template-columns:1fr}.stats{gap:8px}.stat{min-width:112px;padding:11px}.admin-layout{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.detail-grid{grid-template-columns:1fr 1fr}.card{padding:15px}}
/* Fotos dos equipamentos */
.card-photo{display:block;width:100%;max-height:240px;object-fit:contain;background:#eef2f7;border-radius:12px;margin:0 0 14px}
.detail-photo-wrap{display:flex;align-items:center;gap:10px;margin:0 0 22px}
.photo-thumb-button{display:inline-flex;align-items:center;justify-content:center;padding:0;width:84px;height:84px;flex:0 0 84px;background:#eef2f7;border:1px solid #dbe3ee;border-radius:10px;overflow:hidden}
.detail-photo-thumb{display:block;width:100%;height:100%;object-fit:cover}
.photo-hint{font-size:13px;color:var(--muted)}
.photo-modal{display:none;position:fixed;inset:0;z-index:9999;background:rgba(8,16,30,.92);align-items:center;justify-content:center;padding:54px 12px 20px}
.photo-modal.is-open{display:flex}
.photo-modal-image{display:block;max-width:96vw;max-height:calc(100vh - 82px);width:auto;height:auto;object-fit:contain;border-radius:8px}
.photo-modal-close{position:absolute;top:12px;right:14px;width:44px;height:44px;padding:0;border-radius:50%;font-size:30px;line-height:1;background:#fff;color:#182536;display:flex;align-items:center;justify-content:center}
body.photo-modal-open{overflow:hidden}
@media(max-width:480px){.photo-thumb-button{width:76px;height:76px;flex-basis:76px}.photo-modal{padding:54px 8px 16px}.photo-modal-image{max-width:98vw;max-height:calc(100vh - 76px)}}
.os-thumb{width:76px;height:76px;object-fit:cover;border-radius:8px;border:1px solid #dbe3ee;margin-bottom:6px}
.photo-replace{display:block;font-size:12px;line-height:1.4;color:#64748b}
.photo-replace input{display:block;width:100%;font-size:12px;margin-top:5px}
.form-grid input[type=file]{padding:10px;background:#f8fafc;max-width:100%}
.form-grid label small{display:block;color:#64748b;font-weight:400;margin-top:5px}

/* Ajustes definitivos das fotos: miniaturas compactas em consulta e administração */
.card-photo{display:none!important}
.public-photo-button{display:inline-flex;align-items:center;justify-content:center;width:76px;height:76px;min-width:76px;padding:0;margin:0 0 12px;background:#eef2f7;border:1px solid #dbe3ee;border-radius:9px;overflow:hidden;cursor:pointer}
.public-photo-thumb{display:block;width:100%;height:100%;object-fit:cover}
.admin-os-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}
.admin-os-card{min-width:0;border:1px solid #e1e8f0;border-radius:12px;padding:14px;background:#fff}
.admin-os-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}
.admin-os-heading strong{overflow-wrap:anywhere}
.admin-os-equipment{font-weight:650;margin:8px 0;color:#26364b}
.admin-photo-current{display:flex;align-items:center;gap:10px;margin:10px 0;color:var(--muted);font-size:12px}
.admin-photo-thumb{display:block;width:76px;height:76px;object-fit:cover;border-radius:8px;border:1px solid #dbe3ee}
.admin-os-price{font-size:13px;color:var(--muted);margin:8px 0 12px}
.admin-os-price a{color:#075b9e}
.os-update-form{display:grid;gap:9px;border-top:1px solid #e6ebf1;padding-top:12px}
.os-update-form label{margin:0;font-size:13px}
.os-update-form input,.os-update-form select{margin-top:4px}
.photo-upload-label{display:block;padding:10px;border:1px dashed #b7c8db;border-radius:9px;background:#f7fafc;color:#33465d;font-size:13px}
.photo-upload-label input{display:block;width:100%;font-size:13px;margin-top:7px}
.photo-upload-label small{display:block;color:#64748b;font-weight:400;margin-top:5px}
.delete-photo-form{margin-top:8px}
.delete-photo-button{background:#fff0ef;color:#a62b24;border:1px solid #f3c5c1;padding:8px 11px;font-size:13px;width:100%}
@media(max-width:720px){.admin-os-list{grid-template-columns:1fr}.admin-os-card{padding:13px}.public-photo-button{width:72px;height:72px;min-width:72px}.table-wrap{overflow:visible}}

/* Melhorias de status, arquivamento, histórico e recados */
.status-recebido{border-color:#a8c8f0!important}.status-orcamento{border-color:#e8cf91!important}.status-peca{border-color:#d5b5ef!important}.status-reparo{border-color:#f0b59b!important}.status-pronto{border-color:#9ed8bc!important}.status-entregue{border-color:#a9cbd0!important}.status-aprovacao{border-color:#e8c0d2!important}.status-default{border-color:#d9e1eb!important}
.card,.admin-os-card,.panel{border-width:1.5px}.badge.status-recebido{background:#edf5ff;color:#285b92}.badge.status-orcamento{background:#fff7e3;color:#805c13}.badge.status-peca{background:#f6edff;color:#70449b}.badge.status-reparo{background:#fff0e9;color:#9b4b2d}.badge.status-pronto{background:#eaf8ef;color:#246d45}.badge.status-entregue{background:#eaf5f7;color:#27616b}.badge.status-aprovacao{background:#fff0f6;color:#914366}
.admin-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:12px 0}.admin-search button{padding:9px 13px}.admin-os-card.has-unread{border-color:#e9a23b!important;box-shadow:0 0 0 2px #fce7c1;background:#fffdf7}.message-alert{background:#fff3d8;color:#81500b;border:1px solid #f2cf86;padding:10px 12px;border-radius:9px;margin:9px 0;font-weight:700}.message-alert a{color:inherit}.inline-action{display:inline-block;margin:7px 5px 0 0}.inline-action button{margin:0}.history-box{margin-top:12px;padding:10px 12px;background:#f7f9fc;border:1px solid #e3eaf2;border-radius:9px}.history-box summary{cursor:pointer;font-weight:700}.history-box p{font-size:13px;margin:9px 0}.archive-tag{display:inline-block;background:#eef0f4;color:#596579;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:800;margin:5px 0}.is-archived{opacity:.93}.note-box{padding:12px;border-radius:8px;background:#f5f8fc;border:1px solid #e0e8f1}.status-history{margin-top:22px;padding-top:14px;border-top:1px solid #e5ebf2}.status-history h2{margin-bottom:12px}.history-entry{display:flex;gap:10px;padding:0 0 13px}.history-dot{display:block;width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:#168b95;margin-top:6px;box-shadow:0 0 0 4px #e5f5f4}.history-entry p{margin:2px 0}.message-panel{margin-top:16px}.recado-form{display:grid;gap:12px}.recado-form label{margin:0}.message-history-item{padding:12px 0;border-top:1px solid #e7edf4}.message-history-item p{margin:7px 0 0;overflow-wrap:anywhere}.messages-history-title{margin-top:22px!important}.message-panel button{justify-self:start}
@media(max-width:520px){.admin-search{grid-template-columns:1fr}.admin-search button{width:100%}.inline-action{display:block}.inline-action button{width:100%}.detail-grid{grid-template-columns:1fr 1fr}}
.unread-message-preview{padding:9px 10px;margin:6px 0;background:#fff8e8;border-left:3px solid #e9a23b;border-radius:5px;font-size:12px}.unread-message-preview p{margin:4px 0 0;overflow-wrap:anywhere;white-space:normal}

/* Ajuste visual v3: status bem visíveis em cartões públicos e administrativos */
.card.status-recebido,.admin-os-card.status-recebido{border-left:7px solid #397fd1!important;background:linear-gradient(90deg,#f0f6ff 0%,#fff 34%)!important}
.card.status-orcamento,.admin-os-card.status-orcamento{border-left:7px solid #e4ae26!important;background:linear-gradient(90deg,#fff8e4 0%,#fff 34%)!important}
.card.status-peca,.admin-os-card.status-peca{border-left:7px solid #a56bd5!important;background:linear-gradient(90deg,#f8f0ff 0%,#fff 34%)!important}
.card.status-reparo,.admin-os-card.status-reparo{border-left:7px solid #e87942!important;background:linear-gradient(90deg,#fff1e9 0%,#fff 34%)!important}
.card.status-pronto,.admin-os-card.status-pronto{border-left:7px solid #2eaa68!important;background:linear-gradient(90deg,#effaf3 0%,#fff 34%)!important}
.card.status-entregue,.admin-os-card.status-entregue{border-left:7px solid #328d9a!important;background:linear-gradient(90deg,#eff8fa 0%,#fff 34%)!important}
.card.status-aprovacao,.admin-os-card.status-aprovacao{border-left:7px solid #cc6f9c!important;background:linear-gradient(90deg,#fff1f7 0%,#fff 34%)!important}
.admin-os-card.has-unread{order:-1;border:2px solid #e9a23b!important;border-left:9px solid #f0a21b!important;background:#fff8e8!important;box-shadow:0 0 0 3px #fce7c1,0 8px 22px #9a670b20!important}
.admin-os-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;align-items:start}
@media(max-width:720px){.admin-os-list{grid-template-columns:1fr}}


/* MRC melhorias solicitadas: cadastro recolhível, cliente, telefone e novos status */
.new-os-details>summary{list-style:none;cursor:pointer;display:block;background:#1477c9;color:#fff;font-size:17px;font-weight:800;padding:14px 16px;border-radius:10px;margin:-2px 0 12px}
.new-os-details>summary::-webkit-details-marker{display:none}
.new-os-details>summary::after{content:'  ▾';float:right}
.new-os-details[open]>summary::after{content:'  ▴'}
.new-os-details .form-grid{padding-top:8px}
.client-name-highlight{color:#164f91!important;font-weight:800!important;background:#eaf3ff;border-left:4px solid #2d7dd2;border-radius:6px;padding:7px 10px;margin:8px 0 10px!important;overflow-wrap:anywhere}
.detail-client-name{font-size:19px}
.phone-actions{display:flex;flex-wrap:wrap;gap:8px;margin:7px 0 12px}
.phone-action{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:8px;font-size:12px;font-weight:800;text-decoration:none;border:1px solid transparent}
.phone-whatsapp{background:#e8f8ed;color:#146c35;border-color:#a8dfb7}
.phone-call{background:#eaf3ff;color:#155b9e;border-color:#b7d4f6}
.status-sem-contato{border-color:#e7b45b!important}
.status-finalizado{border-color:#9aa5b1!important}
.badge.status-sem-contato{background:#fff3d9;color:#81500b}
.badge.status-finalizado{background:#eef1f4;color:#475569}
.card.status-sem-contato,.admin-os-card.status-sem-contato{border-left:7px solid #e7a82d!important;background:linear-gradient(90deg,#fff7e5 0%,#fff 34%)!important}
.card.status-finalizado,.admin-os-card.status-finalizado{border-left:7px solid #7f8b99!important;background:linear-gradient(90deg,#f1f3f5 0%,#fff 34%)!important}
@media(max-width:720px){.new-os-details>summary{font-size:15px}.phone-action{font-size:12px;padding:8px 9px}}

/* V5: telefone visível e editável no cartão administrativo */
.phone-number-text{margin:5px 0 7px;color:#334155;font-size:14px;overflow-wrap:anywhere}.phone-number-text strong{font-size:15px;color:#10233f;letter-spacing:.3px}.os-update-form label input[name="telefone"]{font-variant-numeric:tabular-nums}

/* Telefone visível no painel administrativo */
.admin-phone-number{margin:8px 0 9px;padding:7px 10px;background:#f3f7fc;border:1px solid #dbe6f3;border-radius:8px;color:#243b53;font-size:14px;overflow-wrap:anywhere}.admin-phone-number strong{color:#10233f}
