/* Mamre: apresentação comum ao escritório, portador e telas de acesso. */
:root {
  --primary: #173b64;
  --primary-foreground: #fff;
  --ring: #326bb0;
  --background: #f3f6fa;
  --foreground: #182f49;
  --border: #d7e1ec;
}
[hidden] { display: none !important; }
.whatsapp-notice { display:block; padding:14px; border:1px solid #173b64; border-radius:8px; text-align:center; font-weight:700; }
.courier-app { max-width:760px; margin:auto; }
.courier-app h2 { margin:18px 0 10px; }
.courier-app header { padding:22px; border-radius:16px; background:#173b64; color:white; margin-bottom:22px; }
.courier-app header .eyebrow { color:white; }
.courier-app .route-card { background:white; border:1px solid #d7e1ec; border-radius:14px; padding:20px; margin:12px 0; }
.courier-app .route-card p { margin:6px 0; }
.courier-app .route-card button { width:100%; margin-top:12px; }
.route-title { display:flex; gap:12px; align-items:flex-start; justify-content:space-between; }
.route-title h2 { font-size:19px; overflow-wrap:anywhere; margin:0; }
.route-status { background:#fff2d9; color:#704900; padding:5px 8px; border-radius:8px; font-size:12px; white-space:nowrap; }
.route-status.done { background:#e5f4ed; color:#226246; }
.courier-app summary { padding:16px 0; min-height:44px; cursor:pointer; }
.courier-app input[type=checkbox] { width:22px; min-height:22px; flex-shrink:0; }
.courier-app .check { padding:10px 0; min-height:44px; }
.courier-app fieldset { border:1px solid #d7e1ec; background:white; padding:12px 16px; border-radius:12px; min-width:0; }
.courier-app legend { font-size:14px; font-weight:700; }
.courier-app textarea { font:inherit; width:100%; border:1px solid #bcccd7; padding:12px; border-radius:8px; }
.courier-app #receiver-fields { display:grid; gap:18px; }
.courier-app canvas { width:100%; height:180px; background:white; border:2px dashed #829ab5; border-radius:10px; touch-action:none; }
.courier-app .notice:not(:empty) { background:#e6eef9; padding:16px; border-radius:8px; }
.courier-app p { line-height:1.6; }
body { background: var(--background); color: var(--foreground); }
.protocol-header, .bar {
  background: #173b64;
  color: #fff;
  border-color: #173b64;
}
.protocol-header h1, .protocol-header .eyebrow, .protocol-header .muted,
.bar a, .bar small { color: #fff; }
.protocol-header .identity-card { background: #fff; color: #182f49; }
.protocol-header .identity-card span { color: #52657c; }
.eyebrow, .portal-footer a, .auth-wrap a { color: #245a94; }
.auth-wrap button { background: #173b64; }
.auth-wrap button:hover { background: #102d4e; }
.portal-nav button[aria-current=page] { background: #173b64; }
.portal-nav button[aria-current=page]:hover { background: #102d4e; }
.protocol-shell button, .auth-wrap button,
.portal-nav a, .delivery-card summary { min-height: 44px; }
.protocol-shell .delivery-card { border: 1px solid #d7e1ec; border-radius: 14px; }
.protocol-shell .delivery-card dt { color: #52657c; }
.protocol-shell button:disabled, .auth-wrap button:disabled { opacity: .55; cursor: not-allowed; }
:focus-visible { outline: 3px solid #326bb0 !important; outline-offset: 3px; }
.auth-wrap input:focus, .auth-wrap select:focus { border-color: #326bb0; outline-color: #bdd6f3; }
@media (max-width: 700px) {
  .protocol-shell { padding: 12px 12px 32px; }
  .protocol-header { padding: 18px; border-radius: 14px; }
  .protocol-header h1 { font-size: 28px; }
  .protocol-shell .delivery-grid { grid-template-columns: 1fr; gap: 12px; }
  .protocol-shell input:not([type=checkbox]), .protocol-shell select,
  .protocol-shell textarea, .auth-wrap input, .auth-wrap select { font-size: 16px; }
  .portal-nav { gap: 6px; }
  .portal-nav button, .portal-nav a { min-height: 44px; }
  .protocol-shell .card-title-row { align-items: flex-start; }
  .protocol-shell .delivery-card { overflow-wrap: anywhere; }
}
