:root {
    color-scheme: light;
    font-family: Arial, Helvetica, sans-serif;
    --blue-950: #0b2548;
    --blue-900: #12315f;
    --blue-700: #1d5ca8;
    --blue-100: #dbeafe;
    --green-700: #167347;
    --green-100: #dcfce7;
    --orange-700: #b45309;
    --orange-100: #ffedd5;
    --red-700: #b42318;
    --red-100: #fee2e2;
    --gray-950: #172033;
    --gray-700: #3d4a5c;
    --gray-500: #667085;
    --gray-300: #cbd2dc;
    --gray-200: #e4e8ee;
    --gray-100: #f2f5f8;
    --white: #fff;
    background: #e8edf3;
    color: var(--gray-950);
}

* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; overflow-x: hidden; }
body { min-width: 20rem; background: #e8edf3; }
button, input { font: inherit; }
button { min-height: 3rem; }
button:focus-visible, input:focus-visible, [tabindex]:focus-visible {
    outline: 0.2rem solid rgba(29, 92, 168, 0.35);
    outline-offset: 0.12rem;
}
button:disabled { cursor: not-allowed; opacity: 0.65; }
svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
[hidden] { display: none !important; }
.visually-hidden {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.state-view {
    min-height: 100vh;
    min-height: 100dvh;
    display: grid;
    place-items: center;
    padding: max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));
    background: #f6f8fb;
}
.loading-view { align-content: center; color: var(--gray-500); }
.brand-symbol-image { display: block; width: 3.5rem; height: 3.5rem; object-fit: contain; }
.loading-view .brand-symbol-image { margin: auto; animation: pulse 1.2s ease-in-out infinite alternate; }
.awareness-check-card{display:grid;gap:1rem;text-align:center}.awareness-check-card .brand-symbol-image{margin:auto}.awareness-check-card>p{margin:0;color:var(--gray-700)}#awareness-check-actions{display:grid;gap:.7rem}
@keyframes pulse { from { opacity: 0.55; transform: scale(0.96); } to { opacity: 1; transform: scale(1); } }
.login-card {
    width: min(100%, 25rem); padding: 1.5rem; border: 1px solid var(--gray-200);
    border-radius: 1rem; background: var(--white); box-shadow: 0 0.8rem 2rem rgba(11, 37, 72, 0.08);
}
.login-card h1 { margin: 1rem 0 0; color: var(--blue-900); letter-spacing: 0.1em; }
.login-card > p { margin: 0.4rem 0 0; color: var(--gray-500); }
.login-brand-logo { display: block; width: min(100%, 18rem); max-height: 12rem; margin: 0 auto; object-fit: contain; }
#login-form { display: grid; gap: 0.7rem; margin-top: 1.5rem; }
#login-form label { font-weight: 700; color: var(--gray-700); }
#login-form input {
    width: 100%; min-height: 3rem; border: 1px solid var(--gray-300);
    border-radius: 0.6rem; padding: 0.7rem 0.8rem; color: var(--gray-950); background: var(--white);
}
.login-install { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--gray-200); text-align: center; }
.login-install h2 { margin: 0; color: var(--blue-950); font-size: 1rem; }
.login-install > p { margin: 0.4rem 0 0.8rem; color: var(--gray-500); font-size: 0.85rem; line-height: 1.4; }
.login-install .secondary-button { min-height: 2.75rem; }
.login-install .message { margin-bottom: 0; }
.primary-button, .secondary-button {
    width: 100%; border-radius: 0.7rem; padding: 0.7rem 1rem; font-weight: 800; cursor: pointer;
}
.primary-button { border: 0; background: var(--blue-900); color: var(--white); }
.primary-button:hover { background: var(--blue-700); }
.secondary-button { border: 1px solid var(--gray-300); background: var(--white); color: var(--gray-700); }
.danger-button { color: var(--red-700); border-color: #f4b4ad; }
.message { min-height: 1.25rem; margin: 0.7rem 0 0; color: var(--red-700); font-size: 0.9rem; }

.app-shell {
    width: 100%; max-width: 52rem; min-height: 100vh; min-height: 100dvh;
    margin: 0 auto; background: #f6f8fb; box-shadow: 0 0 2.5rem rgba(11, 37, 72, 0.1);
}
.app-header {
    position: sticky; z-index: 20; top: 0; min-height: 4.25rem;
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    padding: max(0.7rem, env(safe-area-inset-top)) 1rem 0.7rem;
    border-bottom: 1px solid var(--gray-200); background: rgba(255, 255, 255, 0.97);
}
.app-header > div { min-width: 0; display: grid; }
.app-brand-logo { display: block; width: min(9rem, 40vw); height: 2.5rem; object-fit: contain; object-position: left center; }
.app-header span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.app-header > div span, .header-user { color: var(--gray-500); font-size: 0.78rem; }
.header-user { max-width: 45%; text-align: right; }
.app-content { min-height: calc(100dvh - 4.25rem); padding: 1rem 1rem calc(6.5rem + env(safe-area-inset-bottom)); }
.app-screen { width: 100%; max-width: 46rem; margin: 0 auto; }
.screen-heading { margin: 0.25rem 0 1.25rem; }
.screen-heading h1 { margin: 0; color: var(--blue-950); font-size: 1.65rem; }
.greeting { margin: 0; color: var(--gray-700); font-size: 1rem; }
.screen-heading .greeting + h1 { margin: 0.35rem 0 0; font-size: 1.55rem; }

.scan-action {
    width: 100%; display: flex; align-items: center; gap: 1rem; border: 0; border-radius: 1rem;
    padding: 1.1rem; background: var(--blue-900); color: var(--white); text-align: left; cursor: pointer;
}
.scan-action svg { width: 2.8rem; height: 2.8rem; flex: 0 0 auto; }
.scan-action span { display: grid; gap: 0.3rem; }
.scan-action strong { font-size: 1rem; letter-spacing: 0.04em; }
.scan-action small { color: #dbeafe; line-height: 1.35; }
.content-section { margin-top: 1.5rem; }
.content-section h2, .activity-group h2 { margin: 0; color: var(--gray-700); font-size: 1rem; }
.section-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 0.75rem; }
.text-button { min-height: 2.5rem; border: 0; background: transparent; color: var(--blue-700); font-weight: 700; cursor: pointer; }
.empty-state { margin: 0.75rem 0; padding: 1.1rem; border: 1px dashed var(--gray-300); border-radius: 0.8rem; color: var(--gray-500); background: var(--white); text-align: center; }
.operational-summary { margin-top: 1rem; padding: 0.85rem 1rem; border-radius: 0.7rem; background: var(--green-100); color: var(--green-700); }

.date-selector {
    display: grid; grid-template-columns: 3rem minmax(0, 1fr) 3rem; align-items: center;
    gap: 0.4rem; margin-bottom: 1.25rem; padding: 0.55rem; border: 1px solid var(--gray-200);
    border-radius: 0.9rem; background: var(--white);
}
.date-selector time { text-align: center; color: var(--gray-950); font-weight: 700; line-height: 1.25; }
.icon-control { border: 0; border-radius: 0.65rem; background: var(--gray-100); color: var(--blue-900); font-size: 1.8rem; cursor: pointer; }
.today-button { grid-column: 1 / -1; min-height: 2.4rem; border: 0; background: transparent; color: var(--blue-700); font-weight: 700; cursor: pointer; }
.inline-loading { padding: 1rem; color: var(--gray-500); text-align: center; }
.activity-group { margin-top: 1.25rem; }
.activity-list { display: grid; gap: 0.75rem; margin-top: 0.7rem; }
.activity-card {
    width: 100%; display: block; border: 1px solid var(--gray-200); border-radius: 0.85rem;
    padding: 1rem; background: var(--white); color: var(--gray-950); text-align: left; cursor: pointer;
}
.activity-card:hover { border-color: #9db7dc; }
.activity-card h3 { margin: 0.55rem 0 0; font-size: 1rem; line-height: 1.35; }
.activity-reference, .activity-description { margin: 0.4rem 0 0; color: var(--gray-500); font-size: 0.88rem; }
.activity-meta { display: flex; flex-wrap: wrap; gap: 0.4rem 1rem; margin-top: 0.65rem; color: var(--gray-500); font-size: 0.78rem; }
.activity-status, .status-chip {
    display: inline-flex; width: fit-content; border-radius: 999px; padding: 0.25rem 0.55rem;
    background: var(--gray-100); color: var(--gray-700); font-size: 0.72rem; font-weight: 800;
}
.status-aberta { background: var(--blue-100); color: var(--blue-700); }
.status-em_andamento { background: var(--orange-100); color: var(--orange-700); }
.status-concluida { background: var(--green-100); color: var(--green-700); }
.priority-alta, .priority-urgente { color: var(--red-700); font-weight: 700; }
.card-qr, .qr-notice { margin: 0.7rem 0 0; color: var(--blue-700); font-size: 0.8rem; font-weight: 700; }

.back-button { min-height: 2.6rem; border: 0; background: transparent; color: var(--blue-700); font-weight: 700; cursor: pointer; }
.detail-card, .profile-card { border: 1px solid var(--gray-200); border-radius: 1rem; padding: 1.1rem; background: var(--white); }
.detail-card h1 { margin: 0.7rem 0 0; color: var(--blue-950); font-size: 1.45rem; }
.detail-card > p { color: var(--gray-500); line-height: 1.5; }
.detail-list, .profile-list { margin: 1rem 0; }
.detail-list div, .profile-list div { display: grid; grid-template-columns: minmax(7rem, 42%) 1fr; gap: 0.8rem; padding: 0.65rem 0; border-bottom: 1px solid var(--gray-200); }
dt { color: var(--gray-500); font-size: 0.8rem; } dd { margin: 0; overflow-wrap: anywhere; color: var(--gray-700); }

.scanner-context { display: grid; gap: 0.2rem; margin-bottom: 1rem; padding: 0.8rem; border-radius: 0.7rem; background: var(--blue-100); color: var(--blue-900); }
.scanner-context span { font-size: 0.75rem; }
.scanner-frame {
    position: relative; width: 100%; min-height: min(62vh, 34rem); max-height: 34rem;
    margin: 0 auto; overflow: hidden; border-radius: 1rem; background: #07111f;
}
.scanner-frame video { width: 100%; height: 100%; min-height: min(62vh, 34rem); max-height: 34rem; display: block; object-fit: cover; }
.scanner-guide { position: absolute; top: 50%; left: 50%; width: min(68vw, 18rem); aspect-ratio: 1; transform: translate(-50%, -50%); border: 0.2rem solid rgba(255,255,255,0.9); border-radius: 1rem; box-shadow: 0 0 0 999px rgba(0,0,0,0.22); pointer-events: none; }
.scanner-help { color: var(--gray-500); text-align: center; line-height: 1.5; }
.scanner-status { min-height: 1.5rem; text-align: center; }
.scanner-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.7rem; }
@media (orientation: landscape) and (max-height: 40rem) {
    .scanner-frame, .scanner-frame video { min-height: 52vh; max-height: 22rem; }
    .scanner-guide { width: min(42vh, 16rem); }
}
.empty-panel { min-height: 18rem; display: grid; place-items: center; align-content: center; gap: 1rem; color: var(--gray-500); text-align: center; }
.empty-panel svg { width: 3.5rem; height: 3.5rem; }
.profile-card { text-align: center; }
.profile-avatar { width: 4.5rem; height: 4.5rem; display: grid; place-items: center; margin: 0 auto; border-radius: 50%; background: var(--blue-100); color: var(--blue-900); font-size: 1.6rem; font-weight: 800; }
.profile-card h2 { margin: 0.8rem 0 0; }.profile-card > p { margin: 0.3rem 0; color: var(--gray-500); }
.profile-list { text-align: left; }

.bottom-navigation {
    position: fixed; z-index: 30; right: 0; bottom: 0; left: 0;
    width: 100%; max-width: 52rem; min-height: calc(4.75rem + env(safe-area-inset-bottom));
    display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: end;
    margin: 0 auto; padding: 0.35rem 0.2rem max(0.35rem, env(safe-area-inset-bottom));
    border-top: 1px solid var(--gray-200); background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 -0.4rem 1.2rem rgba(11, 37, 72, 0.08);
}
.nav-button {
    position: relative; min-width: 0; min-height: 4rem; display: grid; place-items: center; align-content: center;
    gap: 0.18rem; border: 0; background: transparent; color: var(--gray-500); cursor: pointer; font-size: 0.68rem;
}
.nav-button > svg { width: 1.45rem; height: 1.45rem; }
.nav-active { color: var(--blue-700); font-weight: 800; }
.nav-qr { overflow: visible; }
.qr-circle {
    width: 3.6rem; height: 3.6rem; display: grid; place-items: center; margin-top: -1.55rem;
    border: 0.3rem solid var(--white); border-radius: 50%; background: var(--blue-900); color: var(--white);
    box-shadow: 0 0.35rem 0.8rem rgba(11, 37, 72, 0.25);
}
.qr-circle svg { width: 1.8rem; height: 1.8rem; }
.nav-badge {
    position: absolute; z-index: 2; top: 0.05rem; left: calc(50% + 0.55rem); min-width: 1.15rem; height: 1.15rem;
    display: grid; place-items: center; border: 0.12rem solid var(--white); border-radius: 999px;
    padding: 0 0.2rem; background: var(--red-700); color: var(--white); font-size: 0.62rem; font-weight: 800;
}

@media (min-width: 40rem) {
    .app-content { padding: 1.5rem 1.5rem calc(7rem + env(safe-area-inset-bottom)); }
    .date-selector { grid-template-columns: 3rem minmax(0, 1fr) 3rem auto; }
    .today-button { grid-column: auto; padding: 0 1rem; }
    .activity-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #home-activities { grid-template-columns: 1fr; }
    .detail-card, .profile-card { padding: 1.5rem; }
}

@media (min-width: 56rem) {
    .app-shell, .bottom-navigation { border-right: 1px solid var(--gray-200); border-left: 1px solid var(--gray-200); }
    .app-header { padding-right: 2rem; padding-left: 2rem; }
    .app-content { padding-right: 2rem; padding-left: 2rem; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
.password-form { display: grid; gap: 0.7rem; }
.password-form label { color: var(--gray-700); font-weight: 700; text-align: left; }
.password-form input { width: 100%; min-height: 3rem; border: 1px solid var(--gray-300); border-radius: 0.6rem; padding: 0.7rem 0.8rem; }
.profile-section { margin-top: 1.25rem; text-align: left; }
.profile-section h3 { margin-bottom: 0.5rem; color: var(--blue-950); }
.profile-items { margin: 0; padding-left: 1.25rem; color: var(--gray-700); }
#profile-change-password, #profile-logout { margin-top: 1rem; }
#profile-password-form { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--gray-200); }
.account-deletion-section { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--gray-200); text-align: left; }
.account-deletion-section h3 { margin: 0 0 .5rem; color: var(--red-700); }
.account-deletion-section p { color: var(--gray-700); line-height: 1.45; }
.account-delete-button { width: 100%; border: 1px solid #8b1f1f; border-radius: .75rem; padding: .8rem 1rem; background: #a52a2a; color: #fff; font: inherit; font-weight: 800; }
#profile-delete-form { margin-top: 1rem; }
.public-point-page .public-point-card { text-align: center; }
.public-point-page .brand-symbol-image { margin: 0 auto; }
.public-point-page h1 { margin-top: 1rem; color: var(--blue-900); font-size: 1.5rem; }
.public-point-page p { color: var(--gray-500); line-height: 1.5; }
.public-point-company { margin: 1rem 0 0; color: var(--blue-900) !important; font-weight: 800; letter-spacing: 0.08em; }
.public-point-visitor-content { white-space: pre-line; }
.public-point-card h2 { margin: 1.5rem 0 0.75rem; color: var(--gray-700); font-size: 1rem; }
.public-feature-list { display: grid; gap: 0.75rem; }
.public-feature-card { width: 100%; text-align: center; }
.public-feature-button { text-align: center; }
.public-feature-message { margin-top: 1rem; padding: 0.8rem; border-radius: 0.7rem; background: var(--blue-100); color: var(--blue-900) !important; }
.public-point-options { display: grid; gap: 0.75rem; margin-top: 1.25rem; }
.public-point-login-help { margin: 0; font-size: 0.9rem; color: var(--gray-500) !important; }
.public-point-login-button { width: 100%; }
.point-feature-list { display: grid; gap: 0.75rem; margin-top: 1rem; }
.point-feature-button { text-align: center; }

.screen-heading > p { margin: 0.35rem 0 0; color: var(--gray-500); line-height: 1.45; }
.more-menu { display: grid; gap: 0.75rem; }
.menu-action {
    width: 100%; display: grid; gap: 0.25rem; border: 1px solid var(--gray-200);
    border-radius: 0.85rem; padding: 1rem; background: var(--white);
    color: var(--gray-950); text-align: left; text-decoration: none; cursor: pointer;
}
.menu-action strong { color: var(--blue-950); }
.menu-action span { color: var(--gray-500); font-size: 0.85rem; }
.menu-action-danger strong { color: var(--red-700); }
.action-form {
    display: grid; gap: 0.7rem; border: 1px solid var(--gray-200);
    border-radius: 1rem; padding: 1rem; background: var(--white);
}
.action-form > label, .action-form legend { color: var(--gray-700); font-weight: 700; }
.action-form select, .action-form input[type="text"], .action-form input[type="date"], .action-form input[type="time"], .action-form textarea {
    width: 100%; min-height: 3rem; border: 1px solid var(--gray-300);
    border-radius: 0.6rem; padding: 0.7rem 0.8rem; background: var(--white); color: var(--gray-950); font: inherit;
}
.action-form textarea { min-height: 6rem; resize: vertical; }
.action-form select:focus-visible, .action-form input[type="text"]:focus-visible, .action-form textarea:focus-visible {
    outline: 0.2rem solid rgba(29, 92, 168, 0.35); outline-offset: 0.12rem;
}
.action-form fieldset { display: grid; gap: 0.65rem; margin: 0.35rem 0; border: 1px solid var(--gray-200); border-radius: 0.7rem; padding: 0.85rem; }
.radio-option, .user-selection label { display: flex; align-items: center; gap: 0.65rem; min-height: 2.5rem; color: var(--gray-700); }
.radio-option input, .user-selection input { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; }
.user-selection { display: grid; gap: 0.25rem; }
.optional-label { color: var(--gray-500); font-size: 0.8rem; font-weight: 400; }
.form-field { display: grid; gap: 0.7rem; }
.form-field > label { color: var(--gray-700); font-weight: 700; }

@media (min-width: 40rem) {
    .action-form { padding: 1.5rem; }
}

.action-card { display: block; }
.action-card-button { margin-top: 0.85rem; }
.action-points { margin-top: 1.25rem; text-align: left; }
.action-points > h2 { margin: 0 0 0.75rem; color: var(--blue-950); font-size: 1.1rem; }
.action-point-group { margin-top: 0.85rem; padding: 0.9rem; border: 1px solid var(--gray-200); border-radius: 0.8rem; background: var(--gray-100); }
.action-point-group h3 { margin: 0; color: var(--blue-950); font-size: 1rem; }
.action-point-group .activity-reference { margin: 0.5rem 0; }

.action-lifecycle-buttons { display: grid; gap: .75rem; margin-top: 1rem; }
.danger-button { width: 100%; border: 1px solid #a52a2a; border-radius: .75rem; padding: .8rem 1rem; background: #fff; color: #8b1f1f; font: inherit; font-weight: 700; }
.action-history { margin-top: 1.5rem; border-top: 1px solid #d9e0e8; padding-top: 1rem; }
.action-history-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.action-history-item { border-left: 3px solid #58779d; padding-left: .75rem; }
.action-history-item time { display: block; color: #607086; font-size: .82rem; }
.action-history-item p { margin: .2rem 0 0; }
.point-context-heading { margin: 1rem 0 .5rem; }
.point-action-choice { text-align: left; }

/* Atividades operacionais */
.activity-priority { display:inline-block; margin:.25rem 0; font-size:.72rem; font-weight:700; letter-spacing:.04em; }
.priority-urgente { color:#a61b1b; }
.priority-alta { color:#b35400; }
.priority-normal { color:#24558a; }
.priority-baixa { color:#536476; }
.status-futura { background:#eef2f6; color:#526173; }
.status-disponivel { background:#e8f4ee; color:#17603b; }
.status-atrasada { background:#fdeceb; color:#9b2525; }
.activity-point-groups { display:grid; gap:.75rem; margin-top:1rem; }
.activity-point-group { border:1px solid #dce3eb; border-radius:.75rem; padding:.75rem; background:#fff; }
.activity-point-group summary { cursor:pointer; font-weight:700; }
.activity-selected-context { display:flex; flex-direction:column; gap:.2rem; padding:.8rem; border-radius:.65rem; background:#eef4fa; }
.checkbox-option { display:flex; gap:.6rem; align-items:flex-start; }
.field-help { margin:.25rem 0 .75rem; color:#536476; font-size:.88rem; }
.point-activity-card { display:grid; gap:.4rem; padding:.85rem; margin:.6rem 0; border:1px solid #dce3eb; border-radius:.75rem; }
.point-create-activity { width:100%; margin-top:1rem; }

/* Renderizador genérico Número */
.number-card { max-width:34rem; margin:0 auto; }
.number-input-wrap { display:flex; align-items:center; gap:.6rem; border:2px solid #b9c8d8; border-radius:.8rem; padding:.35rem .8rem; background:#fff; }
.number-input-wrap:focus-within { border-color:#24558a; box-shadow:0 0 0 3px rgba(36,85,138,.12); }
.number-input-wrap input { flex:1; min-width:0; border:0; outline:0; font-size:2rem; font-weight:700; text-align:center; padding:.75rem .25rem; }
.number-input-wrap span { font-size:1.1rem; font-weight:700; color:#526173; }
.number-increment { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; margin:.8rem 0; }
.number-quick-values { display:grid; grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr)); gap:.55rem; margin:.8rem 0; }
.number-quick-values button { min-height:2.75rem; }
.number-quick-values .quick-selected { background:#24558a; color:#fff; border-color:#24558a; }
.number-actions { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; margin-top:1rem; }
.number-result { text-align:center; }
.number-result > strong { display:block; margin:1rem 0; font-size:2.25rem; color:#12315f; }
.trap-card{display:grid;gap:1rem}.trap-card form{display:grid;gap:1rem}.trap-card ul{margin:0;padding-left:1.25rem;display:grid;gap:.5rem}.trap-preview,.camera-preview{display:block;width:100%;max-height:55vh;object-fit:contain;border-radius:var(--radius);background:#111}.camera-modal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.94);padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));overflow:auto;color:#fff}.camera-panel{max-width:900px;margin:auto;display:grid;gap:1rem}.camera-stage{position:relative;width:100%;display:grid;place-items:center;background:#000;min-height:45vh;overflow:hidden}.camera-stage video{width:100%;max-height:70vh;object-fit:contain}.camera-overlay{position:absolute;width:84%;max-height:80%;border:3px solid #fff;border-radius:.5rem;box-shadow:0 0 0 999px rgba(0,0,0,.28);pointer-events:none}.camera-modal .secondary-button{background:#fff}@media(orientation:landscape){.camera-stage{min-height:65vh}.camera-overlay{width:76%}}
.trap-fields{display:grid;gap:1.15rem}.trap-field{display:grid;gap:.45rem}.trap-field-label{font-weight:700;text-transform:uppercase;font-size:.82rem;letter-spacing:.035em}.required-indicator{color:var(--danger,#b42318)}.trap-control{width:100%;min-height:3rem}.trap-field textarea{resize:vertical}.trap-boolean{display:flex;flex-wrap:wrap;gap:.65rem 1.25rem;border:0;padding:0;margin:0}.trap-boolean>.trap-field-label{flex-basis:100%}.trap-photo-preview{display:grid;gap:.75rem}
.history-records{display:grid;gap:1rem}.history-record{overflow:hidden}.history-record h2{margin:.25rem 0}.history-meta{color:var(--gray-700);font-size:.875rem}.history-photo{display:block;width:100%;max-height:28rem;object-fit:contain;background:#111;border-radius:.75rem;margin:1rem 0}.history-answers{display:grid;grid-template-columns:minmax(8rem,1fr) 2fr;gap:.5rem 1rem;margin:1rem 0 0}.history-answers dt{font-weight:700}.history-answers dd{margin:0;overflow-wrap:anywhere}
.full-width-button{display:block;width:100%;margin-top:1rem}.stacked-actions{display:grid;gap:.7rem;margin-top:1rem}.number-history-card{max-width:38rem;margin:0 auto}.number-history-list{display:grid}.number-history-item{display:grid;gap:.3rem;padding:1rem 0;border-bottom:1px solid var(--gray-200)}.number-history-value{font-size:1.75rem;color:var(--blue-900)}.number-history-label{font-weight:700;color:var(--gray-700)}.number-history-item time,.number-history-item span:not(.number-history-label){color:var(--gray-700)}
.trap-history-card{max-width:42rem;margin:0 auto}.trap-history-list{display:grid;gap:.8rem}.trap-history-item{border:1px solid var(--gray-200);border-radius:.75rem;background:#fff;overflow:hidden}.trap-history-item summary{display:grid;gap:.25rem;padding:1rem;cursor:pointer}.trap-history-item summary strong{color:var(--blue-900)}.trap-history-item summary span{color:var(--gray-700)}.trap-history-detail{padding:0 1rem 1rem}.trap-history-detail>p{margin:.4rem 0}

.procedure-fields,.procedure-records{display:grid;gap:1rem;margin:1rem 0}
.procedure-field{display:grid;gap:.4rem}
.procedure-field input,.procedure-field select,.procedure-field textarea{width:100%}
.procedure-checkbox-group{min-width:0;margin:0;padding:.8rem;border:1px solid var(--gray-300);border-radius:.65rem}
.procedure-checkbox-group legend{padding:0 .25rem;font-weight:700;color:var(--blue-900)}
.procedure-checkbox-group__help{margin:0 0 .65rem;color:var(--gray-600);font-size:.82rem}
.procedure-checkbox-group__options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .8rem}
.procedure-checkbox-option{display:flex;align-items:center;gap:.55rem;min-height:2.75rem;padding:.45rem .55rem;border-radius:.45rem;cursor:pointer}
.procedure-checkbox-option:hover{background:var(--blue-50)}.procedure-checkbox-option:focus-within{outline:2px solid var(--blue-500);outline-offset:2px}
.procedure-checkbox-option input{width:auto;min-width:1.15rem;height:1.15rem;margin:0}
.procedure-field-error{margin:.15rem 0 0;color:var(--danger,#9b1c1c);font-size:.84rem;font-weight:700}
@media(max-width:32rem){.procedure-checkbox-group__options{grid-template-columns:1fr}}
.procedure-attachments,.procedure-history-section{margin-top:.75rem}
.procedure-nonconforming{display:block;padding:.75rem;border:2px solid #b42318;border-radius:.5rem;color:#b42318;background:#fff1f0}
.procedure-attachments{display:grid;gap:.65rem}
.procedure-attachment{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .75rem;align-items:center;padding:.75rem;border:1px solid var(--gray-200);border-radius:.65rem}
.procedure-attachment-name{font-weight:700;overflow-wrap:anywhere}
.procedure-attachment-size,.procedure-attachment-status,.procedure-attachment-meta{font-size:.85rem;color:var(--gray-700)}
.procedure-attachment-status,.procedure-attachment-meta{grid-column:1/-1}
.procedure-attachment button{justify-self:start}

/* Anexos e linha do tempo do renderizador genérico */
.procedure-upload-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.procedure-upload-dropzone{display:grid;justify-items:center;gap:.45rem;padding:1.25rem;border:2px dashed var(--gray-200);border-radius:.8rem;background:#f8fafc;color:var(--gray-700);text-align:center;cursor:pointer;transition:border-color .15s,background .15s}
.procedure-upload-dropzone:focus-visible{outline:.2rem solid rgba(29,92,168,.35);outline-offset:.15rem}
.procedure-upload-dropzone.is-dragging{border-color:var(--blue-700);background:#eaf2fb}
.procedure-upload-dropzone.is-uploading{border-style:solid}.procedure-upload-dropzone.has-error{border-color:#b42318;background:#fff1f0}
.procedure-upload-dropzone.is-disabled{cursor:not-allowed;opacity:.65}.procedure-upload-dropzone__icon{width:2rem;height:2rem}
.procedure-upload-dropzone__text{color:var(--blue-900)}.procedure-upload-select{width:auto}
.procedure-attachment-list{display:grid;gap:.7rem;margin-top:.8rem}
.procedure-attachment-card{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.8rem;align-items:center;padding:.75rem;border:1px solid var(--gray-200);border-radius:.7rem;background:#fff}
.procedure-attachment-card__preview{display:grid;place-items:center;width:5rem;height:5rem;border-radius:.55rem;background:#eef3f8;overflow:hidden;color:var(--blue-700)}
.procedure-attachment-card__icon{width:2rem;height:2rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.procedure-attachment-card__thumbnail{width:100%;height:100%;object-fit:cover;cursor:pointer}
.procedure-attachment-card__info{display:grid;gap:.25rem;min-width:0}.procedure-attachment-card__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.procedure-attachment-card__metadata,.procedure-attachment-card__status{font-size:.82rem;color:var(--gray-700)}
.procedure-attachment-card__actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.25rem}.procedure-attachment-card__actions .text-button{width:auto}
.procedure-preview-modal[hidden]{display:none}.procedure-preview-modal{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:1rem;background:rgba(8,20,35,.86)}
.procedure-preview-modal__panel{position:relative;display:grid;gap:1rem;width:min(58rem,100%);max-height:calc(100vh - 2rem);padding:1rem;border-radius:.8rem;background:#fff;overflow:auto}
.procedure-preview-modal__panel h2{margin:0;padding-right:5rem;overflow-wrap:anywhere}.procedure-preview-modal__close{position:absolute;top:.75rem;right:.75rem;border:0;background:transparent;color:var(--blue-900);font-weight:700;cursor:pointer}
.procedure-preview-modal__image{display:block;width:100%;max-height:70vh;object-fit:contain;background:#111;border-radius:.5rem}.procedure-preview-modal .primary-button{justify-self:start;width:auto;text-decoration:none}
.modal-open{overflow:hidden}
.procedure-timeline{list-style:none;margin:0;padding:0;display:grid}.procedure-timeline__item{position:relative;display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:.65rem;padding:0 0 1.1rem}
.procedure-timeline__item:not(:last-child)::before{content:"";position:absolute;left:1.05rem;top:2rem;bottom:0;width:2px;background:var(--gray-200)}
.procedure-timeline__marker{z-index:1;display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;background:#eaf2fb;color:var(--blue-700)}
.procedure-timeline__marker .procedure-attachment-card__icon{width:1.1rem;height:1.1rem}.procedure-timeline__content{display:grid;gap:.2rem;padding-top:.1rem}
.procedure-timeline__date,.procedure-timeline__description,.procedure-timeline__user{font-size:.84rem;color:var(--gray-700)}.procedure-timeline__title{color:var(--blue-900)}
.procedure-timeline__actions{margin-top:.25rem}.procedure-timeline__actions .text-button{width:auto}
.periodicity-card{display:grid;gap:.35rem;margin:.85rem 0;padding:1rem;border:1px solid #b7cde6;border-radius:.75rem;background:#f4f8fc}.periodicity-card h2{margin:0;font-size:1rem;color:var(--blue-900)}.periodicity-card p{margin:0}
@media(max-width:32rem){.procedure-attachment-card{grid-template-columns:3.75rem minmax(0,1fr)}.procedure-attachment-card__preview{width:3.75rem;height:3.75rem}.procedure-attachment-card__actions{grid-column:1/-1}.procedure-preview-modal{padding:.5rem}.procedure-preview-modal__panel{max-height:calc(100vh - 1rem)}}

.management-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.management-heading .primary-button { width: auto; flex: 0 0 auto; }
.management-filters { display: grid; grid-template-columns: 1fr; gap: 0.55rem; margin: 1rem 0; }
.management-filters label { color: var(--gray-700); font-weight: 700; }
.management-filters input, .management-filters select { width: 100%; min-height: 3rem; border: 1px solid var(--gray-300); border-radius: 0.6rem; padding: 0.7rem 0.8rem; background: var(--white); color: var(--gray-950); font: inherit; }
.location-path { overflow-wrap: anywhere; }
.management-list { display: grid; gap: 0.75rem; }
.user-management-list{display:grid;gap:.75rem}.user-management-card{display:grid;gap:.35rem;width:100%;padding:1rem;border:1px solid var(--gray-200);border-radius:.75rem;background:var(--white);color:var(--gray-600);font:inherit;text-align:left;cursor:pointer}.user-management-card__heading{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.user-management-card__heading strong{color:var(--blue-950)}.status-pill{display:inline-flex;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:700}.status-active{background:#dcfce7;color:#166534}.status-inactive{background:#f3f4f6;color:#4b5563}.user-password-fields{display:grid;gap:.55rem}.user-management-filters{grid-template-columns:1fr}.user-management-card:focus-visible{outline:3px solid var(--blue-500);outline-offset:2px}.profile-management-list{display:grid;gap:.75rem}.profile-management-card{display:grid;gap:.55rem;padding:1rem;border:1px solid var(--gray-200);border-radius:.75rem;background:var(--white)}.profile-management-card__heading{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.profile-management-card__heading strong{color:var(--blue-950)}.profile-management-card p{margin:0}.profile-management-card small{color:var(--gray-600)}.profile-management-card .secondary-button{width:auto;justify-self:start}.profile-permission-groups{display:grid;gap:1rem}.profile-permission-options{display:grid;gap:.3rem;max-height:22rem;overflow:auto}.profile-permission-option{min-height:2.5rem;padding:.35rem}.profile-permission-option input:disabled+span{color:var(--gray-500)}.profile-associated-users{display:grid;gap:.45rem;padding-left:1.25rem}@media(min-width:48rem){.profile-management-list,.profile-permission-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:48rem){.user-management-list{grid-template-columns:repeat(2,minmax(0,1fr))}.user-management-filters{grid-template-columns:minmax(0,1fr) 10rem 14rem}.user-management-filters label{grid-row:1}.user-management-filters input,.user-management-filters select{grid-row:2}}
.manage-point-card { cursor: pointer; }
.manage-point-card .status-active { color: #17643a; font-weight: 700; }
.manage-point-card .status-inactive { color: var(--gray-500); font-weight: 700; }
.management-summary-card { display: grid; gap: 0.3rem; border: 1px solid var(--gray-200); border-radius: 0.75rem; padding: 0.85rem; background: var(--white); }
.management-summary-card strong { color: var(--blue-950); }
.management-summary-card span { color: var(--gray-500); font-size: 0.88rem; }
#manage-points-empty .secondary-button { margin-top: 0.75rem; }
@media (min-width: 40rem) { .management-filters { grid-template-columns: minmax(0, 1fr) 12rem; align-items: end; } .management-filters label { grid-row: 1; } .management-filters input, .management-filters select { grid-row: 2; } }

.interdiction-type-list{display:grid;gap:.85rem}.interdiction-type-card{display:grid;gap:.75rem;padding:1rem;border:1px solid var(--gray-200);border-radius:.8rem;background:var(--white)}
.interdiction-type-card__heading{display:flex;gap:.75rem;align-items:center}.interdiction-type-card__heading>div{display:grid;gap:.15rem;min-width:0}.interdiction-type-card__heading strong{color:var(--blue-950);overflow-wrap:anywhere}.interdiction-type-card__code{color:var(--gray-500);font-family:monospace;font-size:.82rem;overflow-wrap:anywhere}
.interdiction-type-card__icon{display:grid;place-items:center;flex:0 0 auto;min-width:5.5rem;min-height:2.7rem;padding:.35rem;border:2px solid var(--gray-300);border-radius:.6rem;color:var(--gray-700);font-size:.8rem;font-weight:700}.interdiction-type-card__description{margin:0;color:var(--gray-700);line-height:1.45;overflow-wrap:anywhere}
.interdiction-type-card__meta,.interdiction-type-card__actions,.interdiction-form-actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.interdiction-type-card__actions button,.interdiction-form-actions button{width:auto}.interdiction-level-badge{display:inline-flex;align-items:center;min-height:1.8rem;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:800}.level-informativa{background:var(--blue-100);color:var(--blue-700)}.level-restritiva{background:var(--orange-100);color:var(--orange-700)}.level-bloqueante{background:#fdeceb;color:#9b2525}
.interdiction-type-color{border:0;padding:0;margin:0}.interdiction-type-color>div{display:grid;grid-template-columns:3.5rem minmax(0,10rem) 2.5rem;gap:.6rem;align-items:center}.interdiction-type-color input[type=color]{width:3.5rem;height:3rem;padding:.2rem}.interdiction-type-color input[type=text]{width:100%;min-height:3rem}.interdiction-type-color span{width:2.5rem;height:2.5rem;border:1px solid var(--gray-300);border-radius:50%}
.interdiction-icon-picker{border:0;padding:0;margin:0}.interdiction-icon-picker>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.interdiction-icon-option{min-height:2.8rem;padding:.55rem;border:1px solid var(--gray-300);border-radius:.6rem;background:var(--white);color:var(--gray-700);font:inherit;text-align:left;cursor:pointer}.interdiction-icon-option.is-selected{border-color:var(--blue-700);background:var(--blue-100);color:var(--blue-900);font-weight:800}
@media(min-width:44rem){.interdiction-type-list{grid-template-columns:repeat(2,minmax(0,1fr))}.interdiction-icon-picker>div{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:28rem){.management-heading{display:grid}.management-heading .primary-button{width:100%}.interdiction-type-card__actions,.interdiction-form-actions{display:grid;grid-template-columns:1fr}.interdiction-type-card__actions button,.interdiction-form-actions button{width:100%}.interdiction-type-color>div{grid-template-columns:3.5rem minmax(0,1fr) 2.5rem}.interdiction-icon-picker>div{grid-template-columns:1fr}}
.home-interdiction-list{display:grid;gap:.85rem;margin-top:.75rem}.home-interdiction-card{display:grid;gap:.7rem;padding:1rem;border:1px solid var(--gray-200);border-left:5px solid var(--blue-700);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow)}.home-interdiction-card.is-active{border-color:#c33;border-left-color:#a61f1f;background:#fffafa}.home-interdiction-card__heading{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.home-interdiction-card h3,.home-interdiction-card p,.home-interdiction-card dl{margin:0}.home-interdiction-card__types{font-weight:700;color:var(--gray-700)}.home-interdiction-card__locations{white-space:pre-line;color:var(--gray-700);line-height:1.45}.interdiction-status{display:inline-flex;align-items:center;min-height:1.8rem;padding:.2rem .65rem;border-radius:999px;font-size:.78rem;font-weight:900;text-transform:uppercase}.interdiction-status.status-ativa{background:#a61f1f;color:#fff}.interdiction-status.status-planejada{background:var(--blue-100);color:var(--blue-900)}.home-interdiction-card__dates,.readonly-interdiction-detail__list{display:grid;gap:.55rem}.home-interdiction-card__dates div,.readonly-interdiction-detail__list div{display:grid;gap:.1rem}.home-interdiction-card dt,.readonly-interdiction-detail dt{color:var(--gray-500);font-size:.78rem;font-weight:700}.home-interdiction-card dd,.readonly-interdiction-detail dd{margin:0;color:var(--gray-800);white-space:pre-wrap;overflow-wrap:anywhere}.home-interdiction-card button{justify-self:start;width:auto}.readonly-interdiction-detail{display:grid;gap:1rem;padding:1rem;border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white)}
@media(min-width:44rem){.home-interdiction-list{grid-template-columns:repeat(3,minmax(0,1fr))}.readonly-interdiction-detail__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.interdiction-status-header{display:grid;gap:.65rem;padding:1rem;border:1px solid var(--gray-200);border-left:.45rem solid var(--blue-700);border-radius:.8rem;background:#f7f9fc}.interdiction-status-header--ativa{border-left-color:#a61f1f;background:#fff7f7}.interdiction-status-header--encerrada{border-left-color:#17603b;background:#f5fbf7}.interdiction-status-header--cancelada{border-left-color:#6b7280;background:#f7f7f8}.interdiction-status-header h2,.interdiction-status-header p{margin:0}.interdiction-status-header__top,.interdiction-status-header__dates{display:flex;flex-wrap:wrap;gap:.55rem 1rem;align-items:center}.interdiction-status-header__types{font-weight:700}.interdiction-status-header__location{color:var(--gray-700)}.interdiction-status-header__dates{font-size:.88rem}.interdiction-status-header__reason{padding:.65rem;border-radius:.5rem;background:#fff;color:#7a2525;font-weight:700}.interdiction-status__mark{width:.65rem;height:.65rem;border:2px solid currentColor;border-radius:50%}.interdiction-status--ativa{background:#a61f1f;color:#fff}.interdiction-status--planejada{background:var(--blue-100);color:var(--blue-900)}.interdiction-status--encerrada{background:#dff3e7;color:#17603b}.interdiction-status--cancelada{background:#e7e9ec;color:#4b5563}
.interdiction-summary-card{display:grid;gap:.45rem;width:100%;text-align:left}.interdiction-summary-card__heading{display:flex;flex-wrap:wrap;gap:.45rem}.interdiction-summary-card__title{font-size:1.05rem;color:var(--blue-950)}.interdiction-summary-card__types{font-weight:700;color:var(--gray-700)}.interdiction-summary-card__locations,.interdiction-summary-card__dates{color:var(--gray-700);font-size:.88rem}.interdiction-lifecycle{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:0;padding:0}.interdiction-lifecycle__step{position:relative;padding-top:1.4rem;text-align:center;color:var(--gray-500);font-size:.78rem;font-weight:700}.interdiction-lifecycle__step::before{content:"";position:absolute;top:.3rem;left:0;width:100%;height:.25rem;background:var(--gray-200)}.interdiction-lifecycle__step.is-reached::before{background:var(--blue-700)}.interdiction-lifecycle__step.is-current{color:var(--blue-900)}
.interdiction-timeline__item{position:relative;display:grid;grid-template-columns:1.5rem 1fr;gap:.6rem;padding-bottom:1rem}.interdiction-timeline__item:not(:last-child)::before{content:"";position:absolute;left:.45rem;top:1rem;bottom:0;width:2px;background:var(--gray-200)}.interdiction-timeline__marker{z-index:1;width:1rem;height:1rem;border:.2rem solid var(--blue-700);border-radius:50%;background:#fff}.interdiction-timeline__content{display:grid;gap:.2rem}.interdiction-timeline__content p{margin:.15rem 0}.interdiction-timeline__content time,.interdiction-timeline__detail,.interdiction-timeline__user{color:var(--gray-700);font-size:.82rem}
@media(max-width:28rem){.home-interdictions .section-header{align-items:flex-start}.home-interdictions .text-button{max-width:10rem;text-align:right}.home-interdiction-card button{width:100%}}
#atlas-dialog-description{white-space:pre-line}
.atlas-dialog{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:1rem;background:rgba(10,25,45,.72);overflow:auto}.atlas-dialog[hidden]{display:none}.atlas-dialog__panel{width:min(100%,34rem);max-height:calc(100vh - 2rem);overflow:auto;padding:1.25rem;border-radius:var(--radius);background:var(--white);box-shadow:0 1.5rem 4rem rgba(0,0,0,.35)}.atlas-dialog__panel h2{margin-top:0;color:var(--blue-950)}.atlas-dialog__fields{display:grid;gap:.9rem}.atlas-dialog__fields>div{display:grid;gap:.35rem}.atlas-dialog__fields input,.atlas-dialog__fields textarea{width:100%}.atlas-dialog__actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1rem}.atlas-dialog__actions button{width:auto}.danger-action{background:#a61f1f;border-color:#a61f1f}.management-heading-actions,.interdiction-detail-actions{display:flex;flex-wrap:wrap;gap:.6rem}.management-heading-actions button,.interdiction-detail-actions button{width:auto}.interdiction-management-list{display:grid;gap:.75rem}.interdiction-management-card{display:grid;gap:.45rem;width:100%;padding:1rem;border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white);color:var(--gray-700);font:inherit;text-align:left;cursor:pointer}.interdiction-management-card__heading{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.interdiction-management-card__heading strong{color:var(--blue-950)}.interdiction-admin-detail{display:grid;gap:1rem;padding:1rem;border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white)}.interdiction-admin-detail__grid{display:grid;gap:.8rem;margin:0}.interdiction-admin-detail__grid>div{display:grid;gap:.15rem}.interdiction-admin-detail dt{color:var(--gray-500);font-size:.8rem;font-weight:700}.interdiction-admin-detail dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.interdiction-detail-actions{margin-top:1rem}.interdiction-history{display:grid;gap:.75rem;padding:0;list-style:none}.interdiction-history li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .75rem;padding:.85rem;border-left:3px solid var(--blue-500);background:var(--white)}.interdiction-history strong{text-transform:capitalize}.interdiction-history time,.interdiction-history small{color:var(--gray-500);font-size:.8rem}.interdiction-history p{grid-column:1/-1;margin:.2rem 0}.interdiction-history small{grid-column:1/-1}
@media(min-width:44rem){.interdiction-admin-detail__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.interdiction-management-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:32rem){.atlas-dialog{align-items:end;padding:.5rem}.atlas-dialog__panel{max-height:calc(100vh - 1rem);padding:1rem}.atlas-dialog__actions,.management-heading-actions,.interdiction-detail-actions{display:grid;grid-template-columns:1fr}.atlas-dialog__actions button,.management-heading-actions button,.interdiction-detail-actions button{width:100%}.interdiction-management-card__heading{align-items:flex-start;flex-direction:column}.interdiction-history li{grid-template-columns:1fr}.interdiction-history time{grid-row:auto}}
.interdiction-type-icon{display:grid;place-items:center;flex:0 0 auto;width:2.2rem;height:2.2rem;border:1px solid currentColor;border-radius:.55rem;background:#fff;color:var(--interdiction-type-color,var(--blue-700))}.interdiction-type-icon svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.interdiction-status-header__top .interdiction-type-icon{width:2.6rem;height:2.6rem}.interdiction-status-header__top .interdiction-type-icon svg{width:1.6rem;height:1.6rem}@media(max-width:28rem){.interdiction-type-icon{width:2rem;height:2rem}.interdiction-summary-card__heading{align-items:center}}
.awareness-blocked .bottom-navigation{display:none}.awareness-blocked .app-content{padding-bottom:max(1rem,env(safe-area-inset-bottom))}.awareness-screen{max-width:46rem;margin:0 auto}.awareness-card{display:grid;gap:.9rem;padding:1.2rem;border:2px solid #9d2727;border-radius:1rem;background:var(--white);box-shadow:0 .8rem 2rem rgba(77,16,16,.16)}.awareness-card h1,.awareness-card h2,.awareness-card p{margin:0}.awareness-kicker{color:#8b1f1f;font-weight:900;letter-spacing:.04em}.awareness-icon .interdiction-type-icon{width:3rem;height:3rem}.awareness-meta{display:flex;flex-wrap:wrap;gap:.45rem}.awareness-meta span{padding:.3rem .55rem;border-radius:999px;background:var(--gray-100);font-size:.8rem;font-weight:800}.awareness-details{margin:0}.awareness-declaration{padding:1rem;border:1px solid var(--gray-300);border-radius:.7rem;font-weight:700}.awareness-card>button{width:100%}


/* Interdiction awareness administrative lists */
.awareness-summary__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.awareness-user-list { display: grid; gap: .75rem; list-style: none; margin: 1rem 0; padding: 0; }
.awareness-user-list__item { align-items: start; background: var(--surface-muted, #f5f7f8); border-radius: .5rem; display: flex; gap: 1rem; justify-content: space-between; padding: .875rem; }
.awareness-user-list__identity, .awareness-user-list__details { display: grid; gap: .25rem; }
.awareness-user-list__details { text-align: right; }
@media (max-width: 640px) {
    .awareness-user-list__item { display: grid; }
    .awareness-user-list__details { text-align: left; }
    .awareness-summary__actions .secondary-button { width: 100%; }
}


/* Home interdiction awareness priority */
.home-interdiction-card.has-awareness-pending{border-left-color:#a85d00;box-shadow:0 0 0 1px rgba(168,93,0,.18),var(--shadow)}
.home-presence{margin-top:1rem}.home-presence__card{display:grid;gap:1rem;padding:1.2rem;border:2px solid #2f7b49;border-radius:var(--radius);background:#f3fbf5;box-shadow:var(--shadow)}.home-presence__card h2,.home-presence__card p,.home-presence__card dl{margin:0}.home-presence__state{font-size:.82rem;font-weight:900;letter-spacing:.04em;color:#205c35}.home-presence__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.home-presence__details div{display:grid;gap:.15rem}.home-presence__details dt{font-size:.78rem;font-weight:700;color:var(--gray-600)}.home-presence__details dd{margin:0;font-weight:700;color:var(--gray-900)}.home-presence__card .primary-button{justify-self:start;width:auto}@media(max-width:32rem){.home-presence__details{grid-template-columns:1fr}.home-presence__card .primary-button{width:100%}}
.home-awareness-pending-badge{justify-self:start;padding:.25rem .55rem;border-radius:999px;background:#fff0d6;color:#784100;font-size:.76rem;font-weight:900}
.home-awareness-indicator{display:grid;grid-template-columns:1fr auto;gap:.3rem .7rem;padding:.7rem;border:1px solid #d9b56f;border-radius:.65rem;background:#fffaf0;color:var(--gray-800)}
.home-awareness-indicator>strong,.home-awareness-indicator>span,.home-awareness-version{grid-column:1/-1}.home-awareness-indicator small{color:var(--gray-600)}.home-awareness-pending-count{font-weight:700}
.home-awareness-indicator.is-complete{border-color:#8db99b;background:#f3fbf5}.home-awareness-indicator.is-invalid{border-color:#c9a15e;background:#fff8e8}
.home-awareness-progress{position:relative;align-self:center;height:.55rem;overflow:hidden;border-radius:999px;background:var(--gray-200)}
.home-awareness-progress__fill{display:block;height:100%;border-radius:inherit;background:#a85d00}.home-awareness-indicator.is-complete .home-awareness-progress__fill{background:#2f7b49}
.home-awareness-percentage{text-align:right;font-weight:800}
@media(max-width:28rem){.home-awareness-indicator{grid-template-columns:minmax(0,1fr) auto}.home-awareness-pending-badge{white-space:normal}}


/* Operational point functionality cards */
.point-general{display:grid;gap:.3rem}.point-general p{margin:0}
.point-action-empty{margin:.4rem 0;padding:.55rem .7rem;border-radius:.55rem;background:var(--gray-100);color:var(--gray-600);font-size:.88rem}
.point-feature-card{display:grid;gap:.65rem;min-width:0;padding:1rem;border:1px solid var(--gray-200);border-radius:.8rem;background:var(--white);box-shadow:var(--shadow)}
.point-feature-card h3,.point-feature-card p,.point-feature-card dl{margin:0}.point-feature-card h3{overflow-wrap:anywhere;color:var(--blue-950)}
.point-feature-category{color:var(--gray-600);font-size:.84rem;font-weight:700}
.point-feature-periodicity{display:grid;gap:.45rem;min-width:0;padding:.75rem;border-radius:.65rem;background:var(--blue-50,#f4f8fc)}
.point-feature-periodicity h4{margin:0;color:var(--blue-900);font-size:.9rem}.point-feature-periodicity>strong{overflow-wrap:anywhere}
.point-feature-periodicity__empty{color:var(--gray-500);font-size:.82rem}
.point-feature-periodicity__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.point-feature-periodicity__details>div{display:grid;gap:.15rem;min-width:0}.point-feature-periodicity__details dt{font-size:.75rem;font-weight:700}.point-feature-periodicity__details dd{margin:0;overflow-wrap:anywhere}
.point-feature-periodicity__status{justify-self:start;padding:.2rem .5rem;border-radius:999px;background:var(--gray-200);font-size:.76rem;font-weight:800}
.point-feature-periodicity__status.status-vencida{background:#fde8e8;color:#8b1f1f}.point-feature-periodicity__status.status-vence_hoje{background:#fff0d6;color:#784100}.point-feature-periodicity__status.status-programada{background:#e7f4ea;color:#25603a}
.point-feature-card .point-feature-button{justify-self:start;width:auto;max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(min-width:44rem){.point-feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}.point-feature-list>.point-context-heading,.point-feature-list>.activity-reference,.point-feature-list>.point-action-empty,.point-feature-list>.empty-state,.point-feature-list>.point-action-choice,.point-feature-list>.point-create-activity,.point-feature-list>.point-general{grid-column:1/-1}}
@media(max-width:32rem){.point-feature-periodicity__details{grid-template-columns:1fr}.point-feature-card .point-feature-button{justify-self:stretch;width:100%}}


/* Administrative point functionality groups */
.manage-point-feature-groups{display:grid;gap:1.25rem;min-width:0}
.manage-point-feature-group{display:grid;gap:.75rem;min-width:0}.manage-point-feature-group h3{margin:0;color:var(--blue-950);font-size:1.05rem}
.manage-point-feature-list{min-width:0}.manage-point-feature-card{display:grid;gap:.5rem;min-width:0;overflow-wrap:anywhere}.manage-point-feature-card h4,.manage-point-feature-card p{margin:0}
.manage-point-feature-category{color:var(--gray-600);font-size:.84rem;font-weight:700}.manage-point-feature-secondary{margin:0;color:var(--gray-500);font-size:.84rem}
.manage-point-feature-periodicity,.manage-point-feature-action{display:grid;gap:.3rem;min-width:0;padding:.75rem;border-radius:.65rem;background:var(--blue-50,#f4f8fc)}
.manage-point-feature-periodicity h4{margin:0;color:var(--blue-900);font-size:.9rem}.manage-point-feature-periodicity span,.manage-point-feature-action strong{overflow-wrap:anywhere}
.manage-point-feature-periodicity__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}
@media(max-width:32rem){.manage-point-feature-periodicity__actions{display:grid;grid-template-columns:1fr}.manage-point-feature-periodicity__actions button{width:100%}}
.manage-point-feature-action>span{color:var(--gray-600);font-size:.78rem;font-weight:700}.compact-empty-state{margin:0;padding:.75rem}
.manage-point-qr img{max-width:100%;height:auto}.manage-point-qr .stacked-actions{align-items:flex-start}.manage-point-qr .secondary-button{width:auto;max-width:100%;white-space:normal}
@media(min-width:44rem){.manage-point-feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:32rem){.manage-point-qr .secondary-button{width:100%}}


/* Procedure field requirements and validation */
.procedure-required-mark{color:#9d2727;font-weight:900}.procedure-optional{display:block;margin-top:.25rem;color:var(--gray-500);font-size:.78rem}.procedure-field.has-error{padding:.65rem;border-left:.25rem solid #9d2727;background:#fff7f7}.procedure-field-error{margin:.35rem 0 0;color:#8b1f1f;font-size:.84rem;font-weight:700}.procedure-field.has-error input,.procedure-field.has-error select,.procedure-field.has-error textarea,.procedure-field.has-error fieldset{border-color:#9d2727}.procedure-field :focus-visible{outline:3px solid var(--blue-500);outline-offset:2px}

.procedure-phase-progress{margin:0 0 1rem}.procedure-phase-progress__list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;list-style:none;margin:0;padding:0}.procedure-phase-progress__item{border-top:3px solid var(--border-color,#d6dde5);padding:.5rem .25rem;font-size:.8rem;color:#64748b}.procedure-phase-progress__item.is-complete{border-color:#15803d;color:#166534}.procedure-phase-progress__item.is-current{border-color:#1d4ed8;color:#1d4ed8;font-weight:700}.procedure-previous-phases{display:grid;gap:1rem;margin:0 0 1.25rem}.procedure-previous-phase{border:1px solid var(--border-color,#d6dde5);border-radius:.65rem;padding:1rem;background:#f8fafc}.procedure-previous-phase__title{font-size:1rem;margin:0;color:#166534}.procedure-previous-phase__status{font-size:.85rem;color:#64748b;margin:.25rem 0 .75rem}.procedure-previous-phase__values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.25rem;margin:0}.procedure-previous-phase__values dt{font-weight:600;margin:0 0 .2rem}.procedure-previous-phase__values dd{margin:0}.procedure-readonly-value--multiline{white-space:pre-wrap}.procedure-readonly-list{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0;padding:0}.procedure-readonly-chip{background:#e8eef6;border-radius:999px;padding:.2rem .55rem}.procedure-release-summary{border-top:1px solid var(--border-color,#d6dde5);margin-top:1rem;padding-top:1rem}.procedure-release-summary h3{margin:0 0 .75rem}.procedure-release-summary__details{display:grid;grid-template-columns:minmax(10rem,1fr) 2fr;gap:.4rem .8rem;margin:0 0 1rem}.procedure-release-summary__details dt{font-weight:600}.procedure-release-summary__details dd{margin:0}.procedure-release-status{border:1px solid var(--border-color,#d6dde5);border-radius:.6rem;padding:1rem;text-align:center}.procedure-release-status.is-ready{border-color:#15803d;background:#f0fdf4;color:#166534}.procedure-release-status strong{display:block}.procedure-release-countdown{font-size:1.75rem;letter-spacing:.08em;margin:.35rem 0}.procedure-release-warning{color:#92400e;font-weight:600;margin:.5rem 0}@media(max-width:640px){.procedure-phase-progress__list{grid-template-columns:1fr}.procedure-phase-progress__item{border-top:0;border-left:3px solid var(--border-color,#d6dde5);padding:.3rem .6rem}.procedure-previous-phase__values{grid-template-columns:1fr}.procedure-release-summary__details{grid-template-columns:1fr}.procedure-readonly-list{display:grid}.procedure-previous-phase__values dd{margin-bottom:.5rem}}
.procedure-state-component{border:1px solid var(--border-color,#d6dde5);border-radius:.65rem;padding:1rem;margin:0 0 1rem;background:#f8fafc}.procedure-state-component h2{font-size:1rem;margin:0 0 .75rem}.procedure-state-component__details{display:grid;grid-template-columns:minmax(12rem,1fr) 2fr;gap:.4rem .8rem;margin:0 0 .75rem}.procedure-state-component__details dt{font-weight:600}.procedure-state-component__details dd{margin:0}.procedure-state-component__status{margin:0;color:#334155}.procedure-state-component__status.is-due{color:#1d4ed8;font-weight:600}.procedure-state-component__status.is-late{color:#b45309;font-weight:600}@media(max-width:640px){.procedure-state-component__details{grid-template-columns:1fr}}
.activity-management-section{margin:0 0 2rem}.activity-management-section>h2,.activity-creation-section>h2{color:var(--blue-950)}.activity-management-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .8rem;margin-bottom:1rem}.activity-management-filters label{font-weight:700;color:var(--gray-700)}.activity-management-filters input,.activity-management-filters select{width:100%}.activity-management-custom-period{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:.55rem}.activity-management-custom-period[hidden]{display:none}.activity-management-list{display:grid;gap:.8rem}.activity-management-card{border:1px solid var(--gray-200);border-left:4px solid var(--blue-500);border-radius:.8rem;padding:1rem;background:var(--white)}.activity-management-card.activity-temporal-overdue{border-left-color:var(--red-700)}.activity-management-card.activity-temporal-today{border-left-color:var(--orange-700)}.activity-management-card__heading{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.activity-management-card__heading h3{margin:0;color:var(--blue-950);font-size:1rem}.activity-management-card__details{display:grid;grid-template-columns:minmax(7rem,35%) 1fr;gap:.35rem .75rem;margin:.8rem 0}.activity-management-card__details dt{font-weight:700}.activity-management-card__details dd{margin:0}.activity-management-card__actions{display:flex;flex-wrap:wrap;gap:.55rem}.activity-management-card__actions .danger-button{width:auto}.activity-creation-section{border-top:1px solid var(--gray-200);padding-top:1.5rem}@media(max-width:640px){.activity-management-filters{grid-template-columns:1fr}.activity-management-custom-period{grid-column:auto;grid-template-columns:1fr}.activity-management-card__heading{display:grid}.activity-management-card__details{grid-template-columns:1fr}.activity-management-card__details dd{margin-bottom:.35rem}}
.reports-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.reports-hub-card{display:flex;flex-direction:column;border:1px solid var(--gray-200);border-radius:.9rem;padding:1rem;background:var(--white)}.reports-hub-card h2{margin:.1rem 0;color:var(--blue-950)}.reports-hub-card p{flex:1}.report-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;border:1px solid var(--gray-200);border-radius:.9rem;padding:1rem;background:var(--white)}.report-filter-field{display:grid;gap:.35rem}.report-filter-field label{font-weight:700}.report-filter-field input,.report-filter-field select{width:100%}.report-custom-dates{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.report-custom-dates[hidden],.report-filter-field[hidden]{display:none}.report-period-shortcuts,.report-filter-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.55rem}.report-pagination{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-top:1rem}.report-pagination .secondary-button{width:auto}@media(max-width:900px){.reports-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.reports-hub-grid,.report-filters,.report-custom-dates{grid-template-columns:1fr}.report-custom-dates{grid-column:auto}.report-filter-actions>*{flex:1}}

/* Relatório histórico de registros */
.records-report-results{margin-top:1rem}.records-report-table{width:100%;border-collapse:collapse;background:var(--white);border-radius:.8rem;overflow:hidden}.records-report-table th,.records-report-table td{padding:.75rem;border-bottom:1px solid var(--gray-200);text-align:left;vertical-align:top}.records-report-table th{color:var(--blue-950);font-size:.8rem}.records-report-table tbody tr{cursor:pointer}.records-report-table tbody tr:hover,.records-report-table tbody tr:focus{background:var(--blue-50);outline:2px solid var(--blue-500);outline-offset:-2px}.records-report-cards{display:none}.record-report-detail{display:grid;gap:1rem}.record-report-meta,.record-report-fields{display:grid;grid-template-columns:minmax(9rem,1fr) 2fr;gap:.45rem 1rem}.record-report-meta dt{font-weight:700}.record-report-meta dd{margin:0}.record-report-fields h3{grid-column:1/-1}.record-report-field{display:contents}.record-report-field strong{overflow-wrap:anywhere}.record-report-field span,.record-report-field small{overflow-wrap:anywhere}.record-report-field small{grid-column:2;color:var(--gray-600)}.record-report-stepper{display:flex;gap:.35rem;list-style:none;margin:0;padding:0}.record-report-stepper li{flex:1;padding:.55rem;border-top:3px solid var(--gray-200);font-size:.8rem}.record-report-stepper .is-current{border-color:var(--blue-700);color:var(--blue-900);font-weight:700}.record-report-attachments,.record-report-timeline{display:grid;gap:.7rem}.record-report-attachments .secondary-button{width:auto;justify-self:start}.record-report-structural-photo{display:grid;gap:.7rem}.record-report-structural-photo img{display:block;max-width:100%;max-height:32rem;object-fit:contain;border-radius:.65rem;background:#111}.record-report-timeline ol{display:grid;gap:.7rem;list-style:none;margin:0;padding:0}.record-report-timeline li{display:grid;gap:.15rem;padding-left:.75rem;border-left:3px solid var(--gray-200)}
@media(max-width:720px){.records-report-table{display:none}.records-report-cards{display:grid;gap:.7rem}.records-report-card{display:grid;gap:.25rem;width:100%;padding:1rem;border:1px solid var(--gray-200);border-radius:.75rem;background:var(--white);color:inherit;text-align:left;font:inherit}.records-report-card strong{color:var(--blue-950)}.records-report-card small{color:var(--gray-600)}.record-report-meta,.record-report-fields{grid-template-columns:1fr}.record-report-field{display:grid;gap:.2rem;padding:.55rem 0;border-bottom:1px solid var(--gray-200)}.record-report-field small{grid-column:auto}.record-report-stepper{display:grid}.record-report-stepper li{border-top:0;border-left:3px solid var(--gray-200)}}

/* Preferências de colunas do Relatório de Registros */
.records-report-toolbar{display:flex;justify-content:flex-end;margin-top:.75rem}.report-export-dialog fieldset{display:grid;gap:.55rem;border:1px solid var(--gray-200);border-radius:.7rem;padding:.8rem}.report-export-dialog legend{font-weight:800}.report-export-option{display:flex;align-items:flex-start;gap:.55rem}.report-export-option span{display:grid;gap:.15rem}.report-export-option small{color:var(--gray-600)}.records-report-toolbar .secondary-button{width:auto}.records-report-table .records-report-details{width:auto;white-space:nowrap}.records-report-card__heading{display:grid;gap:.2rem}.records-report-card__metadata{display:grid;grid-template-columns:minmax(7rem,40%) 1fr;gap:.3rem .7rem;margin:.55rem 0}.records-report-card__metadata dt{font-weight:700}.records-report-card__metadata dd{margin:0;overflow-wrap:anywhere}.records-report-card>.records-report-details{justify-self:start;width:auto}.records-columns-dialog .atlas-dialog__panel{width:min(100%,42rem)}.records-columns-list{display:grid;gap:.4rem}.records-columns-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.55rem;border:1px solid var(--gray-200);border-radius:.55rem}.records-columns-item label{display:flex;align-items:center;gap:.35rem;min-width:0}.records-columns-item input{width:auto}.records-columns-reorder{display:flex;gap:.25rem}.records-columns-reorder .text-button{width:2.5rem;min-height:2.5rem;padding:.25rem;font-size:1.15rem}@media(max-width:640px){.records-report-toolbar .secondary-button{width:100%}.records-report-card__metadata{grid-template-columns:1fr}.records-report-card__metadata dd{margin-bottom:.35rem}.records-columns-item{grid-template-columns:1fr}.records-columns-reorder{justify-content:flex-end}.records-columns-dialog .atlas-dialog__actions{grid-template-columns:1fr}}

/* Consolidação visual do Relatório de Registros */
.report-attachment-list{display:grid;gap:.7rem}.report-attachment{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.75rem;border:1px solid var(--gray-200);border-radius:.7rem;background:var(--white)}.report-attachment__icon{font-size:1.5rem}.report-attachment__info{display:grid;gap:.2rem;min-width:0}.report-attachment__name{overflow-wrap:anywhere}.report-attachment__info small{color:var(--gray-600)}.report-attachment .secondary-button{width:auto}.attachment-viewer[hidden]{display:none}.attachment-viewer{position:fixed;inset:0;z-index:180;display:grid;place-items:center;padding:1rem;background:rgba(8,20,35,.86)}.attachment-viewer__panel{position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:.75rem;width:min(62rem,100%);height:min(52rem,calc(100vh - 2rem));padding:1rem;border-radius:.8rem;background:var(--white);overflow:hidden}.attachment-viewer__panel h2{margin:0;padding-right:5rem;overflow-wrap:anywhere}.attachment-viewer__close{position:absolute;top:.75rem;right:.75rem;border:0;background:transparent;color:var(--blue-900);font-weight:700;cursor:pointer}.attachment-viewer__status{margin:0}.attachment-viewer__content{min-height:0;overflow:auto}.attachment-viewer__image{display:block;width:100%;height:100%;max-height:70vh;object-fit:contain;background:#111;border-radius:.5rem}.attachment-viewer__pdf{display:block;width:100%;height:100%;min-height:28rem;border:1px solid var(--gray-200);border-radius:.5rem}.attachment-viewer__metadata{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem}.attachment-viewer__metadata dt{font-weight:700}.attachment-viewer__metadata dd{margin:0;overflow-wrap:anywhere}.attachment-viewer__actions{display:flex;flex-wrap:wrap;gap:.6rem}.attachment-viewer__actions a,.attachment-viewer__actions button{width:auto}@media(max-width:640px){.report-attachment{grid-template-columns:auto minmax(0,1fr)}.report-attachment .secondary-button{grid-column:1/-1;width:100%}.attachment-viewer{padding:.5rem}.attachment-viewer__panel{height:calc(100vh - 1rem);padding:.8rem}.attachment-viewer__pdf{min-height:20rem}.attachment-viewer__actions{display:grid;grid-template-columns:1fr}.attachment-viewer__actions a,.attachment-viewer__actions button{width:100%}}.interdiction-report-detail{display:grid;gap:1rem}.interdiction-report-section{display:grid;gap:.55rem}.interdiction-report-section h3{margin:0;color:var(--blue-950)}.interdiction-report-section ul{display:grid;gap:.35rem;margin:0;padding-left:1.25rem}.interdictions-report-table td{overflow-wrap:anywhere}.report-applied-filters{display:grid;gap:.5rem;margin:1rem 0}.report-applied-filters__title{color:var(--blue-950)}.report-applied-filter-chips{display:flex;flex-wrap:wrap;gap:.45rem}.report-applied-filter-chip{display:inline-flex;gap:.2rem;max-width:100%;padding:.35rem .6rem;border:1px solid var(--blue-200,#b8d0ea);border-radius:999px;background:var(--blue-50,#f4f8fc);font-size:.82rem;overflow-wrap:anywhere}.records-report-table{table-layout:fixed}.records-report-table th,.records-report-table td{max-width:16rem;overflow:hidden;text-overflow:ellipsis}.records-report-table th:last-child,.records-report-table td:last-child{width:3.5rem;text-align:center;overflow:visible}.records-report-details{display:inline-grid;place-items:center;min-width:2.75rem;min-height:2.75rem;padding:.35rem;border-radius:50%;font-size:1.05rem;text-decoration:none}.record-report-procedure{display:grid;gap:1rem}.record-report-procedure>h2{margin-bottom:0}.procedure-report-phases{display:grid;gap:1.25rem}.procedure-report-phase{display:grid;gap:.75rem;padding:1rem;border:1px solid var(--gray-200);border-radius:.75rem;background:var(--white)}.procedure-report-phase__title{margin:0;padding-bottom:.55rem;border-bottom:2px solid var(--blue-200,#b8d0ea);color:var(--blue-950)}.procedure-report-phase__values{display:grid;grid-template-columns:minmax(10rem,35%) 1fr;gap:.5rem 1rem;margin:0}.procedure-report-phase__values dt{font-weight:700}.procedure-report-phase__values dd{display:grid;gap:.2rem;margin:0;overflow-wrap:anywhere}.record-report-technical-history{margin-top:1rem;padding:1rem;border:1px solid var(--gray-200);border-radius:.75rem}.record-report-technical-history summary{cursor:pointer;color:var(--blue-900);font-weight:700}.record-report-technical-history[open] summary{margin-bottom:1rem}@media(max-width:640px){.report-applied-filter-chips{display:grid}.report-applied-filter-chip{border-radius:.55rem}.procedure-report-phase__values{grid-template-columns:1fr}.procedure-report-phase__values dd{margin-bottom:.4rem}.record-report-stepper{grid-template-columns:1fr}}

/* QR Codes administrativos dos Pontos */
.manage-point-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.5rem;cursor:default}
.manage-point-card__open{min-width:0}
.manage-point-card__qr{align-self:center;width:auto;white-space:nowrap}
.point-qr-card{display:grid;justify-items:center;gap:.8rem;max-width:34rem;margin:0 auto;padding:1rem;border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white);text-align:center}
.point-qr-card h2,.point-qr-card p{margin:0}.point-qr-location{color:var(--gray-600)}
.point-qr-canvas{display:block;width:min(100%,22rem);height:auto;background:#fff;border:1px solid var(--gray-200)}
.point-qr-options,.point-qr-generation-options{display:grid;gap:.5rem;width:100%;text-align:left}
.point-qr-actions,.point-qr-preview-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;width:100%}
.point-qr-actions button,.point-qr-preview-actions button{width:auto}
.point-qr-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.4rem 1rem;margin-bottom:1rem}
.point-qr-filters label{font-weight:700}.point-qr-filters input,.point-qr-filters select{width:100%}
.point-qr-select-all{margin-bottom:.4rem}
.point-qr-selection-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1rem 0}
.point-qr-selection-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem;align-items:start;padding:.8rem;border:1px solid var(--gray-200);border-radius:.65rem;background:var(--white);cursor:pointer}
.point-qr-selection-card input{width:auto;margin-top:.2rem}.point-qr-selection-card span{display:grid;gap:.2rem}.point-qr-selection-card small{color:var(--gray-600);overflow-wrap:anywhere}
.point-qr-generation-options{margin:1rem 0}.point-qr-print-sheet{display:flex;flex-wrap:wrap;align-content:flex-start;gap:4mm;padding:10mm;background:#fff;box-shadow:0 .3rem 1rem rgba(10,25,45,.16)}
.qr-label{--qr-label-size:70mm;box-sizing:border-box;display:grid;grid-template-rows:auto 1fr auto auto auto;justify-items:center;align-items:center;width:var(--qr-label-size);height:var(--qr-label-size);padding:3mm;border:.25mm solid #cbd3dc;background:#fff;color:#000;text-align:center;break-inside:avoid;page-break-inside:avoid;overflow:hidden}
.qr-label__canvas{display:block;width:min(65%,42mm);height:auto;grid-row:2;background:#fff}.qr-label__brand{font-size:8pt;letter-spacing:.08em}.qr-label__name{margin:0;font-size:10pt;line-height:1.1;overflow-wrap:anywhere}.qr-label__location{margin:0;font-size:7pt;line-height:1.1;overflow-wrap:anywhere}.qr-label__instruction{font-size:6.5pt}
.qr-label--only{display:grid;padding:2mm;border:0}.qr-label--only .qr-label__canvas{grid-row:auto;width:100%;max-width:100%;max-height:100%}
@media(max-width:40rem){.manage-point-card{grid-template-columns:1fr}.manage-point-card__qr{justify-self:start;margin:0 .75rem .65rem}.point-qr-filters,.point-qr-selection-list{grid-template-columns:1fr}.point-qr-actions,.point-qr-preview-actions{display:grid;grid-template-columns:1fr}.point-qr-actions button,.point-qr-preview-actions button{width:100%}.point-qr-print-sheet{padding:1rem;gap:1rem}.qr-label{transform-origin:top left}}
@media print{
    @page{size:A4;margin:10mm}
    body *{visibility:hidden!important}
    #screen-point-qr-preview,#screen-point-qr-preview *{visibility:visible!important}
    #screen-point-qr-preview{position:absolute!important;inset:0!important;width:100%!important;margin:0!important;padding:0!important}
    .qr-no-print{display:none!important}
    .point-qr-print-sheet{display:flex!important;gap:4mm!important;padding:0!important;box-shadow:none!important}
    .qr-label{border:.2mm solid #bbb!important;break-inside:avoid!important;page-break-inside:avoid!important}
    .qr-label.qr-label--only{border:0!important}
}

.permission-association-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;margin:.75rem 0}.permission-association-fields label{display:grid;gap:.35rem;font-weight:600}.permission-association-fields select{width:100%}.manage-point-feature-permissions{border-top:1px solid var(--border-color,#d9dee7);margin-top:.75rem;padding-top:.75rem}.manage-point-feature-permissions h5{font-size:1rem;margin:0 0 .5rem}.manage-point-feature-permissions p{margin:.25rem 0}.profile-management-card code{display:block;overflow-wrap:anywhere;margin:.35rem 0}
.generic-qr-management>.section-header{align-items:flex-start}.generic-qr-management>.section-header p{margin:.3rem 0 0}.generic-qr-form{display:grid;gap:.65rem;margin:1rem 0;padding:1rem;border:1px solid var(--gray-200);border-radius:.75rem;background:var(--white)}.generic-qr-form[hidden]{display:none}.generic-qr-form textarea{width:100%;resize:vertical}.generic-qr-byte-count{margin:0;color:var(--gray-600);font-size:.88rem}.generic-qr-preview-block{display:grid;gap:.35rem;min-width:0}.generic-qr-preview{max-height:16rem;margin:0;padding:.75rem;border:1px solid var(--gray-200);border-radius:.55rem;background:var(--gray-50,#f8fafc);white-space:pre-wrap;overflow:auto;overflow-wrap:anywhere;font:inherit}.generic-qr-preview[hidden]{display:none}.generic-qr-form__actions{display:flex;justify-content:flex-end;gap:.6rem}.generic-qr-form__actions button{width:auto}.generic-qr-list{display:grid;gap:.75rem}.generic-qr-card{min-width:0}.generic-qr-card__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.generic-qr-card__heading h3{margin:0;overflow-wrap:anywhere}.generic-qr-card__payload{display:grid;gap:.35rem;margin:.55rem 0;min-width:0}.generic-qr-card__payload-value{max-height:16rem;margin:0;padding:.75rem;border:1px solid var(--gray-200);border-radius:.55rem;background:var(--gray-50,#f8fafc);white-space:pre-wrap;overflow:auto;overflow-wrap:anywhere;font:inherit}.generic-qr-card__metadata{display:grid;grid-template-columns:minmax(6rem,auto) minmax(0,1fr);gap:.25rem .65rem;margin:.4rem 0}.generic-qr-card__metadata dt{font-weight:700}.generic-qr-card__metadata dd{margin:0;overflow-wrap:anywhere}.generic-qr-card>button{justify-self:start;width:auto}.generic-qr-card>button.danger-action{color:var(--white)}.generic-qr-card>button.danger-action:hover,.generic-qr-card>button.danger-action:focus-visible{background:var(--red-700);border-color:var(--red-700);color:var(--white)}.generic-qr-card>button.danger-action:disabled{background:#8f5a5a;border-color:#8f5a5a;color:var(--white)}@media(max-width:32rem){.generic-qr-management>.section-header,.generic-qr-card__heading{display:grid}.generic-qr-management>.section-header button,.generic-qr-form__actions,.generic-qr-form__actions button,.generic-qr-card>button{width:100%}.generic-qr-form__actions{display:grid}.generic-qr-card__metadata{grid-template-columns:1fr}.generic-qr-card__metadata dd{margin-bottom:.35rem}}

.public-feature-card[type="button"] { width: 100%; color: var(--white); text-align: center; cursor: pointer; }
.public-feature-card[type="button"] strong { color: inherit; }
.public-registration { margin-top: 1rem; text-align: left; }
.public-registration h2 { margin-bottom: .5rem; }
.public-registration-form { display: grid; gap: .85rem; margin-top: 1rem; }
.public-registration-field { display: grid; gap: .35rem; font-weight: 600; }
.public-registration-field input { width: 100%; }
.public-registration-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.privacy-link, .public-registration-privacy { color: var(--gray-500); font-size: .85rem; line-height: 1.45; }
.privacy-link { margin: 1rem 0 0; text-align: center; }
.public-registration-privacy { margin: 0; }
.privacy-link a, .public-registration-privacy a { color: var(--blue-700); font-weight: 700; }
.public-registration-message { min-height: 1.25rem; }
.user-request-section{margin-bottom:1.5rem;padding:1rem;border:1px solid var(--blue-200);border-radius:var(--radius);background:var(--blue-50)}.user-request-section h2{margin:0 0 .8rem;color:var(--blue-950)}.user-request-list{display:grid;gap:.75rem}.user-request-card{display:grid;gap:.35rem;padding:1rem;border:1px solid var(--gray-200);border-radius:.75rem;background:var(--white);overflow-wrap:anywhere}.user-request-card strong{color:var(--blue-950)}.user-request-card time{color:var(--gray-500)}.user-request-card .secondary-button{width:auto;justify-self:start}@media(min-width:48rem){.user-request-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:32rem){.user-request-card .secondary-button{width:100%}}

/* Administração de eventos de Presença */
.presence-management-list{display:grid;gap:.75rem}.presence-management-card{display:grid;gap:.45rem;padding:1rem;border:1px solid var(--gray-200);border-radius:.75rem;background:var(--white);overflow-wrap:anywhere}.presence-management-card__heading{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.presence-management-card code{color:var(--gray-600);overflow-wrap:anywhere}.presence-management-card p{margin:0;color:var(--gray-700)}.presence-management-card small{color:var(--gray-500)}.presence-management-card button{width:auto;justify-self:start}@media(min-width:48rem){.presence-management-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:32rem){.presence-management-card button,.management-heading-actions button{width:100%}}
.home-presence__actions{display:grid;gap:.75rem;margin-top:1rem}.home-presence__history{width:auto;margin-top:.75rem}.home-presence__alert,.current-team-card__alert,.current-team-alert-summary{margin:0;color:#8a3b00;font-weight:800}.current-team-card--alert{border:2px solid #c45b00;background:#fff8ef}@media(max-width:32rem){.home-presence__history{width:100%}}
.presence-report-summary{margin:.75rem 0;color:var(--blue-950);font-weight:700}.presence-report-detail small{color:var(--gray-600)}.presence-report-table td{overflow-wrap:anywhere}

.home-current-team{display:grid;gap:.75rem}.home-current-team__summary{display:grid;gap:.3rem}.home-current-team__summary>*{margin:0}.current-team-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.8rem}.current-team-card{display:grid;gap:.55rem;padding:1rem;border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white)}.current-team-card h3,.current-team-card p,.current-team-card dl{margin:0}.current-team-card__details{display:grid;gap:.45rem}.current-team-card__details div{display:grid;gap:.1rem}.current-team-card__details dt{font-size:.78rem;color:var(--gray-600)}.current-team-card__details dd{margin:0}(max-width:32rem){.current-team-list{grid-template-columns:1fr}}

/* A classe exclusiva evita que a cor de texto do botão secundário vença no PWA. */
.generic-qr-card > .secondary-button.generic-qr-deactivate-button {
    background: #a61f1f; border-color: #a61f1f; color: #fff;
}
.generic-qr-card > .secondary-button.generic-qr-deactivate-button:hover,
.generic-qr-card > .secondary-button.generic-qr-deactivate-button:focus-visible,
.generic-qr-card > .secondary-button.generic-qr-deactivate-button:active {
    background: var(--red-700); border-color: var(--red-700); color: #fff;
}
.generic-qr-card > .secondary-button.generic-qr-deactivate-button:disabled {
    background: #8f5a5a; border-color: #8f5a5a; color: #fff;
}
