*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
body{margin:0;font-family:Arial,sans-serif;background:#0b1220;color:#eaf1ff;line-height:1.4}
a{color:#65b7ff;text-decoration:none}
img{max-width:100%}
header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 5%;background:#111b2e;min-width:0}
header>div{min-width:0}
header h1{margin:0;overflow-wrap:anywhere}
header small{display:block;margin-top:4px;overflow-wrap:anywhere}
nav{display:flex;gap:10px;padding:12px 5%;background:#16233b;flex-wrap:wrap;max-width:100%}
nav a{padding:10px 14px;background:#223657;border-radius:10px;white-space:nowrap;flex:0 1 auto}
nav a.on{background:#facc15;color:#111827}
.wrap{width:100%;max-width:1100px;margin:auto;padding:24px;min-width:0}
.card{width:min(460px,calc(100% - 28px));margin:6vh auto;background:#17243c;padding:28px;border-radius:18px;min-width:0}
.card form,.form-grid{display:grid;gap:12px;min-width:0}
input,select,textarea,button{width:100%;max-width:100%;min-width:0;padding:13px;border-radius:10px;border:1px solid #3a5277;background:#0d1729;color:#fff;font:inherit}
textarea{overflow-wrap:anywhere}
button{background:#1677ff;border:0;font-weight:bold;cursor:pointer}
.danger{background:#b52d3a}.ok{background:#174f35;padding:12px;border-radius:8px}.err{background:#6b2530;padding:12px;border-radius:8px;overflow-wrap:anywhere}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:15px;min-width:0}
.metric{background:#17243c;padding:24px;border-radius:16px;min-width:0;overflow-wrap:anywhere}
.metric b{display:block;font-size:34px}.metric span{opacity:.75}
.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));background:#17243c;padding:18px;border-radius:16px}
.form-grid>*{min-width:0}
.table{display:grid;gap:10px;margin-top:18px;min-width:0}
.row{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#17243c;padding:15px;border-radius:12px;min-width:0;max-width:100%}
.row>span{min-width:0;overflow-wrap:anywhere}
.row small{overflow-wrap:anywhere;word-break:break-word}
.row form{width:auto;min-width:0}.row button{width:auto}
.button{display:inline-block;text-decoration:none;background:#facc15;color:#111827;padding:11px 16px;border-radius:10px;font-weight:700;text-align:center}
.secondary{background:#334155;color:#fff}.muted{color:#94a3b8}.panel{margin-top:22px;background:#172033;padding:18px;border-radius:16px;min-width:0;max-width:100%}.check{display:flex;gap:8px;align-items:center}.check input{width:auto;flex:0 0 auto}
.form-actions,.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0}.form-actions{grid-column:1/-1}.form-actions button{width:auto;min-width:150px}.row-actions form{margin:0}.edit-btn{background:#7c3aed}.whatsapp{background:#16a34a;color:#fff}.client-row small{line-height:1.55}.row-actions .button,.row-actions button{width:auto;padding:10px 13px}
.message-form{display:grid;gap:18px;min-width:0}.message-form label{display:grid;gap:8px;min-width:0}.message-form textarea{min-height:145px;resize:vertical;line-height:1.5}.message-form button{max-width:240px}
.login-card{text-align:center;padding:clamp(18px,5vw,28px)}
.login-card h1{font-size:clamp(24px,7vw,34px);line-height:1.12;margin:10px 0 12px;overflow-wrap:anywhere}
.login-logo{display:block;width:auto;height:auto;max-width:min(170px,62vw);max-height:82px;object-fit:contain;margin:0 auto 16px}
.profile-logo{display:block;width:auto;height:auto;max-width:min(230px,75vw);max-height:120px;object-fit:contain;margin:12px 0 20px;padding:10px;background:#fff;border-radius:12px}
.form-grid label{display:grid;gap:8px;min-width:0}.renewed{background:#0891b2;color:#fff}.edit-admin{background:#7c3aed}

@media(max-width:700px){
 header{padding:14px;align-items:flex-start}
 header h1{font-size:20px;line-height:1.15}
 header .button{flex:0 0 auto;padding:9px 12px}
 nav{padding:10px 12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 nav a{width:100%;padding:10px 8px;text-align:center;white-space:normal;overflow-wrap:anywhere}
 .wrap{padding:14px 12px 24px}
 .wrap>h2{font-size:24px;margin:10px 0 14px;overflow-wrap:anywhere}
 .panel{padding:14px;margin-top:14px}
 .grid{grid-template-columns:1fr 1fr;gap:10px}
 .metric{padding:16px}.metric b{font-size:28px}
 .form-grid{grid-template-columns:1fr;padding:14px}
 .row{align-items:stretch;flex-direction:column;padding:13px}
 .row-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
 .row-actions .button,.row-actions button,.row-actions form{width:100%;min-width:0}
 .row-actions form button{width:100%;height:100%}
 .form-actions{display:grid;grid-template-columns:1fr;width:100%}
 .form-actions button{width:100%;min-width:0}
 .message-form button{max-width:none}
}

@media(max-width:390px){
 .card{width:calc(100% - 20px);margin:18px auto;padding:18px 14px}
 .login-logo{max-width:min(145px,58vw);max-height:68px;margin-bottom:12px}
 .login-card h1{font-size:25px}
 header{gap:8px}
 header h1{font-size:18px}
 nav{grid-template-columns:1fr 1fr}
 .grid{grid-template-columns:1fr}
 .row-actions{grid-template-columns:1fr}
}


/* V6.4 — correção móvel definitiva e quebra de cache */
html{width:100%;min-width:0;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{width:100%;min-width:0;overflow-x:hidden}
body *{min-width:0}
main,section,form,div,span,label{max-width:100%}
input[type="date"],input[type="file"],select,textarea{display:block;width:100%;min-width:0;max-width:100%}
input[type="date"]{-webkit-appearance:none;appearance:none}

/* Login: a logo ocupa uma área controlada, independentemente do arquivo enviado */
.login-card{width:min(410px,calc(100vw - 28px));margin:24px auto;padding:22px 18px;overflow:hidden}
.login-logo{display:block!important;width:auto!important;height:auto!important;max-width:120px!important;max-height:64px!important;object-fit:contain!important;object-position:center!important;margin:0 auto 12px!important}
.login-card form{width:100%}
.login-card input,.login-card button{width:100%}

/* Painel interno: nenhum bloco pode ultrapassar a viewport */
header,nav,.wrap,.panel,.grid,.metric,.form-grid,.table,.row,.row-actions{width:100%;max-width:100vw}
.wrap{overflow:hidden}
.row>span,.client-row>span{width:100%;max-width:100%;word-break:break-word;overflow-wrap:anywhere}
.row-actions>*{max-width:100%}

@media(max-width:700px){
 body{font-size:15px}
 header{width:100%;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
 header h1{font-size:18px;white-space:normal;word-break:break-word}
 header small{font-size:12px}
 header .button{width:auto;max-width:76px;padding:9px 11px}
 nav{width:100%;padding:9px;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}
 nav a{min-width:0;width:100%;font-size:14px;padding:10px 5px}
 .wrap{width:100%;padding:12px 9px 24px;overflow:hidden}
 .panel,.form-grid{width:100%;padding:12px;border-radius:12px;overflow:hidden}
 .grid{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .metric{width:100%;padding:13px}
 .metric b{font-size:25px}
 .row{width:100%;padding:12px;overflow:hidden}
 .row-actions{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .row-actions .button,.row-actions button,.row-actions form{min-width:0;width:100%;max-width:100%;font-size:13px;padding:10px 5px;white-space:normal;overflow-wrap:anywhere}
 .form-grid{grid-template-columns:minmax(0,1fr)}
 .form-grid input,.form-grid select,.form-grid textarea,.form-grid label{width:100%;max-width:100%;min-width:0}
 .form-actions{grid-template-columns:minmax(0,1fr)}
 .profile-logo{max-width:150px!important;max-height:80px!important}
}

@media(max-width:380px){
 .login-card{width:calc(100vw - 18px);padding:18px 13px}
 .login-logo{max-width:96px!important;max-height:54px!important}
 .login-card h1{font-size:23px}
 header{grid-template-columns:minmax(0,1fr) 62px;padding:10px 8px}
 header h1{font-size:16px}
 header .button{max-width:62px;padding:8px 5px;font-size:13px}
 nav{padding:7px;gap:6px}
 nav a{font-size:13px;padding:9px 3px}
 .wrap{padding-left:7px;padding-right:7px}
 .grid{grid-template-columns:minmax(0,1fr)}
 .row-actions{grid-template-columns:minmax(0,1fr)}
}

/* V6.5A — celular: menu em duas colunas e logo realmente contida */
.login-logo-box{
  width:100%;height:88px;display:flex;align-items:center;justify-content:center;
  overflow:hidden;margin:0 auto 14px;padding:4px;
}
.login-logo-box .login-logo{
  display:block!important;width:auto!important;height:auto!important;
  max-width:160px!important;max-height:80px!important;
  object-fit:contain!important;object-position:center!important;margin:0!important;
}
@media(max-width:700px){
  body.layout-a nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important}
  body.layout-a nav a{display:flex!important;align-items:center;justify-content:center;width:100%!important;min-height:48px!important;white-space:normal!important;text-align:center!important}
  body.layout-a .wrap{max-width:100%!important;width:100%!important;padding:12px 10px 28px!important;overflow:visible!important}
  body.layout-a .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.layout-a .metric{min-height:112px!important}
  .login-logo-box{height:72px!important;margin-bottom:10px!important}
  .login-logo-box .login-logo{max-width:130px!important;max-height:64px!important}
}
@media(max-width:380px){
  body.layout-a .grid{grid-template-columns:1fr!important}
  .login-logo-box{height:62px!important}
  .login-logo-box .login-logo{max-width:108px!important;max-height:54px!important}
}

/* V7 — melhorias funcionais e visuais */
.filter-bar{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:10px;margin-bottom:16px;background:#17243c;padding:14px;border-radius:14px}
.report-actions{display:flex;gap:10px;flex-wrap:wrap}.report-actions>*{width:auto}
.theme-light{background:#eef3f8;color:#162033}.theme-light header{background:#fff;color:#162033}.theme-light nav{background:#dfe8f2}.theme-light nav a{background:#cbd8e7;color:#162033}.theme-light .panel,.theme-light .metric,.theme-light .row,.theme-light .form-grid,.theme-light .card,.theme-light .filter-bar{background:#fff;color:#162033;box-shadow:0 8px 24px rgba(15,23,42,.08)}.theme-light input,.theme-light select,.theme-light textarea{background:#f7fafc;color:#162033;border-color:#cbd5e1}.theme-light .muted{color:#64748b}
@media(max-width:700px){.filter-bar{grid-template-columns:1fr}.filter-bar .button,.filter-bar button{width:100%}.report-actions{display:grid;grid-template-columns:1fr}.report-actions>*{width:100%}}
@media print{header,nav,.report-actions,.err{display:none!important}.wrap{max-width:none;padding:0}.panel{box-shadow:none;background:#fff!important;color:#000!important}.row{background:#fff!important;color:#000!important;border-bottom:1px solid #ccc;border-radius:0}.print-report{display:block}.theme-dark{background:#fff;color:#000}}
