/* Complemento do visual do protótipo (base.css): utilitários que substituem estilo inline e o painel. */
[hidden]{display:none!important}
.mt-12{margin-top:12px}.mb-10{margin-bottom:10px}.mb-15{margin-bottom:15px}.mb-18{margin-bottom:18px}
.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-22{margin-top:22px}.mt-24{margin-top:24px}
.inline-form{display:inline-flex;margin:0}
.plain-fieldset{border:0;padding:0;margin:0;min-width:0}
.flash-ok{padding:12px 16px;border:1px solid #bcdccb;background:var(--soft);color:var(--green-dark);border-radius:12px;margin-bottom:16px;font-size:14px}
.language-switch{margin:0}
.tag .icon{flex:none}
.feedback-row .tag{margin-top:4px;max-width:100%;white-space:normal}

/* Acesso */
.login-body{display:flex;min-height:100vh;align-items:center;justify-content:center;background:var(--bg);padding:16px}
.login-card{width:100%;max-width:440px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}
.login-card h1{font-size:26px;margin:18px 0 4px;color:var(--green-dark)}
.login-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.login-top .brand{padding:0;margin:0}
.stack{display:flex;flex-direction:column;gap:14px;margin-top:16px}
.stack label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}
.stack input{font:inherit;padding:11px 12px;border:1px solid var(--line);border-radius:10px;width:100%;box-sizing:border-box}
.stack .btn{justify-content:center}

.stack label small{font-weight:400}
.password-field{display:flex;gap:8px;align-items:stretch}
.password-field input{flex:1;min-width:0}
.password-field .btn{flex:none}

/* Impressão */
.print-page{background:#fff;padding:16px}
.print-page #print-root{display:block;max-width:760px;margin:auto}
.print-toolbar{display:flex;justify-content:space-between;gap:10px;max-width:760px;margin:0 auto 18px}
@media print{.print-toolbar{display:none!important}.print-page{padding:0}.print-page #print-root{max-width:none}}

/* Painel */
.adm-title{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px}
.adm-title h1{font-size:28px;margin:0;color:var(--green-dark)}
.adm-sub{color:var(--muted);font-size:14px;margin:4px 0 0}
.adm-nav-mobile{display:none}
.adm-table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:22px}
.adm-table{width:100%;border-collapse:collapse;font-size:14px}
.adm-table th{background:#f8faf8;text-align:left;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;font-weight:600}
.adm-table th,.adm-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.adm-table tr:last-child td{border-bottom:0}
.adm-table td.num,.adm-table th.num{text-align:right;white-space:nowrap}
.adm-table td.center,.adm-table th.center{text-align:center}
.adm-table .row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.adm-table .day-row td{background:var(--soft);font-weight:600}
.adm-table input[type=datetime-local],.adm-table select{font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;max-width:190px}
.adm-table input[type=checkbox]{width:18px;height:18px;accent-color:var(--green)}
.adm-muted-row td{color:var(--muted)}
.adm-form{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin-bottom:22px}
.adm-form .full{grid-column:1/-1}
.adm-form h2{grid-column:1/-1;font-size:17px;margin:10px 0 0;color:var(--green-dark)}
.adm-field{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;min-width:0}
.adm-field small{font-weight:400;color:var(--muted)}
.adm-field input:not([type=checkbox]),.adm-field select,.adm-field textarea{font:inherit;font-weight:400;font-size:14px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;width:100%;box-sizing:border-box;background:#fff}
.adm-field textarea{min-height:84px;resize:vertical}
.adm-check{flex-direction:row;align-items:center;gap:9px}
.adm-check input{width:18px;height:18px;accent-color:var(--green)}
.adm-form-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}
.adm-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:16px}
.adm-toolbar .adm-field{min-width:170px}
.adm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:22px}
.adm-stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}
.adm-stat strong{display:block;font-size:28px;color:var(--green-dark)}
.adm-stat span{font-size:13px;color:var(--muted)}
.adm-section-title{font-size:18px;margin:6px 0 10px;color:var(--green-dark)}
.status-ok{color:var(--green-dark);font-weight:600}
.status-bad{color:#a12626;font-weight:600}
.dist{display:flex;height:10px;border-radius:6px;overflow:hidden;background:#eef2ef;min-width:120px}
.dist span{display:block;height:100%}
.dist .d1{background:#b5432f}.dist .d2{background:#d98c5f}.dist .d3{background:#d8c27a}.dist .d4{background:#6fb08f}.dist .d5{background:#08785b}
.bar{height:8px;border-radius:5px;background:#eef2ef;overflow:hidden;min-width:90px}
.bar span{display:block;height:100%;background:var(--green)}
.matrix td,.matrix th{text-align:center;white-space:nowrap}
.matrix td:first-child,.matrix th:first-child{text-align:left;position:sticky;left:0;background:#fff}
.mx-done{color:var(--green-dark);font-weight:700}.mx-draft{color:var(--amber);font-weight:700}.mx-none{color:#b8c2bc}.mx-absent{color:var(--muted);font-weight:700}
.code-cell{font-family:ui-monospace,Consolas,monospace;font-weight:700;letter-spacing:1px;white-space:nowrap}
.comment-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px;font-size:14px}
.comment-item small{display:block;color:var(--muted);margin-bottom:4px}
.pill-issue{display:inline-block;font-size:12px;padding:2px 8px;border-radius:9px;background:var(--amber-bg);color:var(--amber);margin:2px 4px 2px 0}
.pill-ok{display:inline-block;font-size:12px;padding:2px 8px;border-radius:9px;background:var(--soft);color:var(--green-dark)}
.pill-bad{display:inline-block;font-size:12px;padding:2px 8px;border-radius:9px;background:#fbe9e7;color:#a12626}
.adm-sidebar nav{display:flex;flex-direction:column;gap:2px}
@media(max-width:1000px){
  .adm-nav-mobile{display:block;background:#fff;border-bottom:1px solid var(--line);padding:8px 14px}
  .adm-nav-mobile summary{cursor:pointer;font-weight:600;padding:6px 0}
  .adm-nav-mobile a{display:block;padding:8px 0;border-top:1px solid var(--line);font-size:14px}
  .admin-shell .app{padding-bottom:0}
}
@media(max-width:640px){.adm-form{grid-template-columns:minmax(0,1fr);padding:16px}}
@media print{.adm-no-print,.sidebar,.topbar,.adm-nav-mobile{display:none!important}.admin-shell .app{margin:0}.admin-shell body>*:not(#print-root){display:block!important}}

/* Toque: campo com menos de 16 px faz o iPhone dar zoom; botões pequenos são difíceis de acertar. */
@media(max-width:760px){
  input:not([type=radio]):not([type=checkbox]),textarea,select{font-size:16px!important}
}
@media(pointer:coarse){
  .language-switch button{min-width:40px;min-height:40px}
  .icon-button{min-width:40px;min-height:40px}
}
.governance h1{font-size:22px;margin:0 0 8px;color:var(--green-dark)}
.governance .adm-table-wrap{margin:16px 0 12px}
.language-switch button:not(.active){color:#46574f}
/* Contraste mínimo de 4,5:1 sobre os fundos esverdeados. */
.hotel-card>p,.hotel-card .eyebrow,.travel-detail{color:#566760}

/* Celular deitado: pouca altura, então as barras deixam de ser fixas e não cobrem as perguntas. */
html{scroll-padding:84px 0 170px}
@media(max-height:520px){
  html{scroll-padding:12px}
  .topbar,.survey-footer{position:static!important}
  .bottom-nav{position:static!important;margin-top:12px}
  body,.app,.content{padding-bottom:0!important}
}
