/* v1.9.10 — módulo independente de protocolos com formulário alinhado */
    .protocol-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 16px; }
    .protocol-kpi { padding:16px 18px; }
    .protocol-kpi span { display:block; color:var(--muted); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
    .protocol-kpi strong { display:block; margin-top:5px; color:var(--text); font-size:28px; }
    .protocol-pill { display:inline-flex; align-items:center; gap:5px; padding:6px 9px; border-radius:999px; font-size:10px; font-weight:900; white-space:nowrap; }
    .protocol-pill.pending, .protocol-priority.ALTA { background:#fff3d7; color:#8a5a00; }
    .protocol-pill.completed, .protocol-priority.NORMAL { background:#e2f5ec; color:#176a46; }
    .protocol-priority.URGENTE { background:#ffe2e5; color:#982834; }
    .protocol-description { min-width:220px; max-width:430px; white-space:normal; line-height:1.45; }
    .protocol-row > td { height:104px; vertical-align:top; }
    .protocol-row .protocol-description {
      display:-webkit-box;
      height:calc(1.45em * 4);
      max-height:calc(1.45em * 4);
      overflow:hidden;
      -webkit-box-orient:vertical;
      -webkit-line-clamp:4;
      line-clamp:4;
      text-overflow:ellipsis;
    }
    .protocol-person strong { display:block; }
    .protocol-person small { display:block; margin-top:3px; color:var(--muted); }
    .protocol-reminder-card { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:14px; padding:14px 16px; }
    .protocol-reminder-times { display:flex; flex-wrap:wrap; gap:7px; margin-top:7px; }
    .protocol-reminder-time { padding:6px 9px; border-radius:999px; background:var(--primary-soft); color:var(--primary); font-weight:850; font-size:12px; }
    .protocol-row { cursor:pointer; }
    .protocol-row:focus-visible { outline:3px solid var(--primary); outline-offset:-3px; }
    .protocol-modal-section { grid-column:1 / -1; margin-top:4px; padding:10px 0 5px; border-bottom:1px dashed var(--border); color:var(--primary); font-size:12px; font-weight:950; letter-spacing:.06em; text-transform:uppercase; }
    .protocol-modal-section-with-type { display:flex; align-items:center; gap:14px; padding-bottom:8px; }
    .protocol-modal-section-with-type > span { flex:0 0 auto; }
    .protocol-form-grid { gap:18px 16px; align-items:start; }
    .protocol-form-grid .protocol-priority-field { grid-column:span 3; }
    .protocol-form-grid .protocol-description-field { grid-column:1 / -1; }
    .protocol-form-grid .protocol-half-field { grid-column:span 6; }
    .protocol-form-grid .protocol-phone-field { grid-column:span 3; }
    .protocol-form-grid .protocol-third-field { grid-column:span 4; }
    .protocol-form-grid .protocol-full-field { grid-column:1 / -1; }
    .protocol-type-options { display:inline-flex; align-items:center; gap:7px; min-width:0; }
    .protocol-type-option { position:relative; display:flex; align-items:center; min-height:32px; padding:6px 10px; border:1px solid var(--border); border-radius:9px; background:var(--surface-2); color:var(--text); font-size:11px; font-weight:850; letter-spacing:0; text-transform:none; cursor:pointer; }
    .protocol-type-option:hover { border-color:var(--primary); background:var(--primary-soft); }
    .protocol-type-option:has(input:checked) { border-color:var(--primary); background:var(--primary-soft); }
    .protocol-type-option span { display:inline-flex; align-items:center; gap:5px; white-space:nowrap; }
    .protocol-type-symbol { font-style:normal; font-size:14px; line-height:1; }
    .protocol-type-option input { position:absolute; width:1px; height:1px; margin:0; opacity:0; pointer-events:none; }
    .protocol-type-option:focus-within { outline:3px solid color-mix(in srgb,var(--primary) 30%,transparent); outline-offset:2px; }
    .protocol-type-option input:checked + span { color:var(--primary); }
    .protocol-form-grid .field { display:flex; min-width:0; flex-direction:column; align-self:start; }
    .protocol-form-grid .field > label { min-height:18px; margin-bottom:7px; }
    .protocol-form-grid .field > input,
    .protocol-form-grid .field > select { width:100%; min-height:48px; }
    .protocol-form-grid .field > textarea { width:100%; min-height:108px; }
    .protocol-form-grid .protocol-description-field > textarea { height:48px; min-height:48px; max-height:48px; resize:none; overflow-y:auto; }
    .protocol-description-extras { display:grid; width:100%; gap:10px; max-height:238px; margin-top:10px; padding-right:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:auto; box-sizing:border-box; }
    .protocol-description-extra-row { display:grid; width:100%; min-width:0; min-height:104px; gap:6px; padding:10px; border:1px solid var(--border); border-radius:12px; background:var(--surface-2); box-sizing:border-box; }
    .protocol-description-primary-row { width:100%; min-height:104px; margin-top:0; box-sizing:border-box; }
    .protocol-description-group-label { margin-bottom:7px; }
    .protocol-description-extra-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
    .protocol-description-extra-heading label { color:var(--muted); font-size:11px; font-weight:850; }
    .protocol-description-extra-row textarea { width:100%; height:48px; min-height:48px; max-height:48px; resize:none; overflow-y:auto; box-sizing:border-box; }
    .protocol-description-remove { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; padding:0; border:1px solid color-mix(in srgb,var(--danger) 30%,var(--border)); border-radius:8px; background:color-mix(in srgb,var(--danger) 8%,var(--surface)); color:var(--danger); font-size:19px; line-height:1; cursor:pointer; }
    .protocol-description-remove:hover { border-color:var(--danger); background:color-mix(in srgb,var(--danger) 16%,var(--surface)); }
    .protocol-description-clear { flex:0 0 auto; }
    .protocol-description-remove:focus-visible { outline:3px solid color-mix(in srgb,var(--danger) 28%,transparent); outline-offset:2px; }
    .protocol-description-add { align-self:flex-start; margin-top:10px; }
    .protocol-description-add:disabled { cursor:not-allowed; opacity:.55; }
    .protocol-form-grid .protocol-notes-field > textarea { min-height:92px; }
    .protocol-form-grid .helper { margin-top:7px; line-height:1.35; }
    .protocol-modal-readonly { padding:11px 12px; border:1px solid var(--border); border-radius:12px; background:var(--surface-2); color:var(--text); min-height:43px; }
    .protocol-details-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .protocol-detail-summary-row { grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; min-width:0; }
    .protocol-detail-summary-row .protocol-detail-item { min-width:0; }
    .protocol-detail-item { padding:12px; border:1px solid var(--border); border-radius:13px; background:var(--surface-2); }
    .protocol-detail-item.wide { grid-column:1 / -1; }
    .protocol-detail-item span { display:block; margin-bottom:5px; color:var(--muted); font-size:10px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
    .protocol-detail-item strong { display:block; color:var(--text); white-space:pre-wrap; overflow-wrap:anywhere; }
    .protocol-detail-description-text { color:var(--text); font-size:14px; font-weight:400; line-height:1.65; }
    .protocol-detail-description-text p { margin:0 0 10px; text-align:justify; text-align-last:left; overflow-wrap:anywhere; hyphens:auto; }
    .protocol-detail-description-text p:last-child { margin-bottom:0; }
    .protocol-detail-description-text b { font-weight:400; }
    .protocol-detail-reception-row { grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; min-width:0; }
    .protocol-detail-reception-row .protocol-detail-item { min-width:0; }
    .modal.protocol-create-modal { display:flex; flex-direction:column; max-height:min(92vh,920px); overflow:hidden; }
    .modal.protocol-create-modal .modal-head { position:relative; z-index:3; flex:0 0 auto; background:var(--surface); }
    .modal.protocol-create-modal .modal-body { flex:1 1 auto; min-height:0; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; }
    .modal.protocol-create-modal .modal-foot { position:relative; z-index:3; flex:0 0 auto; margin:0; padding-top:16px; border-top:1px solid var(--border); background:var(--surface); }
    .modal.protocol-details-modal { display:flex; flex-direction:column; max-height:min(92vh,920px); overflow:hidden; }
    .modal.protocol-details-modal .modal-head { position:relative; z-index:3; flex:0 0 auto; background:var(--surface); }
    .modal.protocol-details-modal .modal-body { flex:1 1 auto; min-height:0; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; }
    .modal.protocol-details-modal .modal-foot { position:relative; z-index:3; flex:0 0 auto; margin:0; border-top:1px solid var(--border); background:var(--surface); }
    #page-protocols .filters { grid-template-columns:160px 160px 150px 190px minmax(220px,1fr) auto !important; }
    @media (min-width: 651px) and (max-width: 900px) {
      #page-protocols .filters { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
      #page-protocols .filters > :nth-last-child(2) { grid-column:1 / -1; }
      .protocol-form-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
      .protocol-form-grid .protocol-priority-field { grid-column:span 3; }
      .protocol-form-grid .protocol-description-field { grid-column:1 / -1; }
      .protocol-form-grid .protocol-half-field { grid-column:span 6; }
      .protocol-form-grid .protocol-phone-field { grid-column:span 3; }
      .protocol-form-grid .protocol-third-field { grid-column:span 2; }
      .protocol-detail-reception-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .protocol-detail-reception-row .protocol-detail-item:last-child { grid-column:1 / -1; }
    }
    
/* Adiamento do aviso, com controles que cabem em telas pequenas. */
.protocol-snooze-controls { min-width:0; margin:14px 0; padding:12px; border:1px solid var(--border); border-radius:10px; background:var(--surface-2); }
.protocol-snooze-controls label { display:block; margin-bottom:7px; font-size:12px; font-weight:700; }
.protocol-snooze-controls > div { display:flex; flex-wrap:wrap; gap:8px; }
.protocol-snooze-controls select { flex:1 1 130px; min-width:0; max-width:100%; min-height:42px; padding:8px 10px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); font:inherit; }
.protocol-snooze-controls .btn { flex:1 1 100px; white-space:normal; }
.protocol-snooze-controls small { display:block; margin-top:7px; color:var(--muted); }
.signature-admin{display:grid;gap:14px}.signature-admin p{margin:0;line-height:1.5}.signature-admin dl{margin:0}.signature-admin dt{color:var(--muted);font-size:12px;margin-top:14px}.signature-admin dd{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.signature-record{padding:14px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:14px;align-items:center}.signature-record>div{min-width:0;overflow-wrap:anywhere}.signature-record p{font-size:13px;margin:5px 0}.signature-record small{color:var(--muted)}.signature-record .btn{white-space:normal}.signature-link-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.signature-admin canvas{width:100%;height:auto;background:#fff;border-radius:10px}.signature-admin #signatureAdminError{color:var(--danger)}#signatureLinkBox input{width:100%}.signature-record button{min-height:44px}
.signature-admin #signatureShareUrl{display:block;width:100%;min-height:48px;padding:12px 14px;box-sizing:border-box;border:1px solid var(--border);border-radius:12px;background:var(--field-bg);color:var(--text);font:inherit}.signature-link-actions a{text-decoration:none}
.signature-qr{display:grid;justify-items:center;gap:10px;margin:8px 0 16px}.signature-qr img{width:250px;max-width:100%;height:auto;background:white;border-radius:8px;image-rendering:pixelated}.signature-qr p{text-align:center;font-weight:600}
