/* Condoport — fundação visual mobile-first. Mantém semântica e contratos das views PHP. */
:root{
  --cp-bg:oklch(0.975 0.006 250);--cp-surface:oklch(1 0 0);--cp-fg:oklch(.28 .032 255);--cp-muted:oklch(.52 .025 255);
  --cp-border:oklch(.89 .012 255);--cp-accent:oklch(.53 .13 238);--cp-accent-strong:oklch(.45 .14 238);--cp-accent-soft:oklch(.94 .035 238);
  --cp-radius:14px;--cp-radius-sm:10px;--cp-shadow:0 12px 30px oklch(.25 .025 255 / .08);--cp-display:"Avenir Next",Avenir,"Segoe UI",sans-serif;
}
html,body{background:var(--cp-bg);color:var(--cp-fg)}body{font-family:"IBM Plex Sans","Segoe UI",sans-serif;line-height:1.45}.app-layout{background:var(--cp-bg)}
.sidebar{background:oklch(.255 .035 255);border-right:1px solid oklch(.33 .03 255);color:oklch(.92 .008 255)}.condoport-mark{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:var(--cp-accent);color:#fff;font:800 18px/1 var(--cp-display)}.condoport-wordmark{font:750 18px/1 var(--cp-display);letter-spacing:-.03em}
.sidebar-group{margin:18px 0}.sidebar-group h2{margin:0 14px 8px;color:oklch(.69 .02 255);font-size:.65rem;letter-spacing:.12em}.sidebar-link{min-height:44px;margin:2px 8px;border-radius:10px;color:oklch(.83 .015 255)}.sidebar-link:hover{background:oklch(.32 .035 255);color:#fff}.sidebar-link.is-active{background:var(--cp-accent);color:#fff;box-shadow:none}.sidebar-footnote{margin:12px 10px 18px;padding-top:14px;border-top:1px solid oklch(.36 .03 255);color:oklch(.7 .02 255)}
.app-content{min-width:0;background:var(--cp-bg)}.app-topbar__account{display:flex;align-items:center;gap:8px;margin-left:auto;color:var(--cp-fg);text-decoration:none}.app-topbar__account .avatar{width:34px;height:34px;background:var(--cp-accent-soft);color:var(--cp-accent-strong);font-size:.72rem}.app-topbar__account-copy{display:none;font-size:.8rem;font-weight:700}
.main-content{width:min(100%,1480px);margin:0 auto;padding:20px max(16px,env(safe-area-inset-right)) calc(92px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.page-heading{gap:14px;margin-bottom:16px}.page-heading h1{font:750 clamp(1.45rem,5vw,2rem)/1.1 var(--cp-display);letter-spacing:-.035em}.page-heading p,.muted{color:var(--cp-muted)}
:is(.card,.section-card,.filter-card,.form-card,.table-card,.metric,.role-metric-card,.role-action-card){border-color:var(--cp-border);border-radius:var(--cp-radius);box-shadow:0 2px 7px oklch(.25 .025 255 / .035);background:var(--cp-surface)}
:is(.field input,.field select,.field textarea,input.app-input,select.app-input,textarea.app-input){min-height:48px;border-color:var(--cp-border);border-radius:var(--cp-radius-sm);background:var(--cp-surface);color:var(--cp-fg)}:is(.field input,.field select,.field textarea,input.app-input,select.app-input,textarea.app-input):focus{border-color:var(--cp-accent);box-shadow:0 0 0 3px oklch(.53 .13 238 / .18)}
:is(.btn,.ui-button){min-height:44px;border-radius:10px;font-weight:750}:is(.btn-primary,.ui-button--primary){background:var(--cp-accent);border-color:var(--cp-accent);color:#fff}:is(.btn-primary,.ui-button--primary):hover{background:var(--cp-accent-strong);border-color:var(--cp-accent-strong);color:#fff}:is(a,button,input,select,textarea):focus-visible{outline:3px solid oklch(.53 .13 238 / .32);outline-offset:2px}
.data-table th{background:oklch(.97 .006 250);color:var(--cp-muted)}.data-table td{border-color:var(--cp-border)}.status{border-radius:999px}.alert{border-radius:var(--cp-radius-sm)}
.login-shell{min-height:100svh;background:radial-gradient(circle at 12% 10%,oklch(.93 .045 238),transparent 32%),var(--cp-bg)}.login-panel{padding:24px;background:transparent}.login-box{width:min(100%,430px);padding:28px;border:1px solid var(--cp-border);border-radius:20px;background:var(--cp-surface);box-shadow:var(--cp-shadow)}.condoport-login-brand{display:flex;align-items:center;gap:12px;margin-bottom:26px}.condoport-login-brand>span:last-child{display:grid;gap:3px}.condoport-login-brand strong{font:750 1.35rem/1 var(--cp-display);letter-spacing:-.04em}.condoport-login-brand small{color:var(--cp-muted);font-size:.78rem}.login-form .field{margin-top:16px}.login-submit{margin-top:22px}
@media (min-width:768px){.app-topbar__account-copy{display:block}.main-content{padding:28px 28px 40px}.page-heading h1{font-size:2rem}}
@media (min-width:1100px){.main-content{padding:34px 36px 48px}.sidebar{position:sticky;top:0;height:100dvh}.app-topbar__account-copy{display:block}}
@media (max-width:767px){.sidebar{padding-bottom:env(safe-area-inset-bottom)}.page-heading,.page-heading-actions,.form-actions,.filter-actions{align-items:stretch;flex-direction:column}.page-heading .btn,.page-heading-actions .btn,.form-actions .btn,.filter-actions .btn{width:100%}.table-responsive{margin-inline:-16px;padding-inline:16px}.data-table{font-size:.82rem}.app-confirm-dialog{border-radius:18px 18px 0 0;margin:0 0 0 auto;max-width:none;width:100%}.app-confirm-dialog::backdrop{background:oklch(.25 .03 255 / .45)}}

/* Ciclo 2 — navegação rápida e densidade de listas. */
.mobile-bottom-nav{display:none}.list-toolbar,.filter-card,.table-card{border-color:var(--cp-border)}.list-toolbar{border-radius:var(--cp-radius);background:var(--cp-surface)}:is(.data-table,.compact-list,.occurrence-compact-list,.access-list){background:var(--cp-surface)}:is(.data-table tbody tr,.compact-list__row,.occurrence-compact-row,.access-row){transition:background-color .16s ease}:is(.data-table tbody tr:hover,.compact-list__row:hover,.occurrence-compact-row:hover,.access-row:hover){background:oklch(.975 .014 238)}
@media (max-width:767px){.mobile-bottom-nav{position:fixed;z-index:45;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:68px;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid var(--cp-border);background:oklch(1 0 0 / .96);box-shadow:0 -8px 22px oklch(.25 .025 255 / .08);backdrop-filter:blur(14px)}.mobile-bottom-nav__item{display:grid;min-width:0;min-height:48px;place-items:center;align-content:center;gap:3px;padding:3px 2px;border:0;border-radius:10px;background:transparent;color:var(--cp-muted);font:700 .62rem/1.05 "IBM Plex Sans","Segoe UI",sans-serif;text-decoration:none}.mobile-bottom-nav__item .app-icon{width:19px;height:19px}.mobile-bottom-nav__item.is-active{background:var(--cp-accent-soft);color:var(--cp-accent-strong)}.mobile-bottom-nav__item:focus-visible{outline:3px solid oklch(.53 .13 238 / .32);outline-offset:-2px}.main-content{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.list-toolbar{padding:10px 12px}.filter-card,.table-card{border-radius:12px}:is(.filter-grid,.directory-search,.registry-filter,.occurrence-filter-grid,.access-form-grid){gap:10px}}


/* Ciclo 3 — superfícies operacionais compartilhadas. */
.status{display:inline-flex;min-height:24px;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:.73rem;font-weight:750;letter-spacing:.01em;line-height:1.1;white-space:normal;text-align:center}
.directory-search{border-color:var(--cp-border);border-radius:var(--cp-radius);box-shadow:0 2px 7px oklch(.25 .025 255 / .035)}
.directory-result-list>article{border-color:var(--cp-border)}
.directory-result-list>article:hover{background:oklch(.975 .014 238)}
.delivery-r61-card,.compact-list__row,.directory-result-list>article{transition:background-color .16s ease,border-color .16s ease}
.delivery-r61-card:hover{border-color:oklch(.78 .06 238);background:oklch(.985 .008 238)}
@media (max-width:767px){
  .directory-search{display:grid;gap:10px;padding:12px}
  .directory-search__actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .directory-search__actions .btn{min-height:46px}
  .directory-result-list>article{padding:13px 12px}
  .delivery-r61-card summary{min-height:68px}
  .delivery-r61-card-side{align-self:stretch;justify-content:center}
  .status{max-width:118px}
}
@media (min-width:768px){
  .directory-search{padding:16px}
  .status{min-height:25px}
}




/* Ciclo 5 — cabeçalhos operacionais. */
.mc-registry-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.mc-registry-heading h1{margin:3px 0 4px}
@media (max-width:767px){.mc-registry-heading{display:grid;gap:12px}.mc-registry-heading .page-actions{width:100%}.mc-registry-heading .page-actions .btn{flex:1}}

/* Ciclo 6 — configurações administrativas navegáveis. */
.settings-section-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:8px;border:1px solid var(--cp-border);border-radius:var(--cp-radius);background:var(--cp-surface);box-shadow:0 2px 7px oklch(.25 .025 255 / .035)}
.settings-section-nav a{min-height:38px;display:inline-flex;align-items:center;padding:0 12px;border-radius:9px;color:var(--cp-fg);font-size:.78rem;font-weight:750;text-decoration:none}
.settings-section-nav a:hover{background:var(--cp-accent-soft);color:var(--cp-accent-strong)}
.settings-anchor{display:block;position:relative;top:-84px;visibility:hidden}
.app-standard-form--settings .general-settings-section{scroll-margin-top:84px}
.app-standard-form--settings .general-settings-section + .general-settings-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--cp-border)}
.app-standard-form--settings .app-standard-form__title{display:flex;align-items:center;gap:9px;color:var(--cp-fg)}
.app-standard-form--settings .app-standard-form__title .app-icon{color:var(--cp-accent-strong)}
@media (max-width:767px){.settings-section-nav{position:sticky;top:64px;z-index:12;flex-wrap:nowrap;overflow-x:auto;margin-inline:-16px;padding-inline:16px;border-right:0;border-left:0;border-radius:0;box-shadow:0 5px 12px oklch(.25 .025 255 / .05)}.settings-section-nav a{flex:0 0 auto}.app-standard-form--settings .general-settings-section + .general-settings-section{margin-top:16px;padding-top:16px}}

/* Ciclo 6 — lista operacional de limpeza. */
.mc-compact-registry--limpeza .mc-compact-record{border-left:3px solid oklch(.78 .10 170)}
.mc-compact-registry--limpeza .mc-compact-leading{background:oklch(.93 .045 170);color:oklch(.40 .10 170)}
.mc-compact-registry--limpeza .mc-record-meta{color:var(--cp-muted)}
@media (max-width:767px){.mc-compact-registry--limpeza .mc-compact-record{padding:13px 12px}.mc-compact-registry--limpeza .mc-record-meta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 12px}.mc-compact-registry--limpeza .mc-record-meta span:last-child{grid-column:1/-1;font-weight:700;color:var(--cp-fg)}}
@media (max-width:767px){
  .audit-sheet-wrap{margin:0;overflow:visible}
  .audit-sheet{display:block;width:100%;min-width:0;border:0;background:transparent}
  .audit-sheet thead{display:none}
  .audit-sheet tbody{display:grid;gap:10px}
  .audit-sheet tr.audit-event-row{display:grid;grid-template-areas:"date status" "user user" "event event" "summary summary" "action action";grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:12px;border:1px solid var(--cp-border);border-radius:12px;background:var(--cp-surface);box-shadow:0 2px 7px oklch(.25 .025 255 / .035)}
  .audit-sheet tr.audit-event-row td{display:block;min-width:0;padding:0;border:0}
  .audit-sheet__date{grid-area:date}.audit-sheet__user{grid-area:user}.audit-sheet__event{grid-area:event}.audit-sheet tr.audit-event-row td:nth-child(4){grid-area:status;justify-self:end}.audit-sheet__summary{grid-area:summary;line-height:1.45}.audit-sheet__action{grid-area:action}
  .audit-sheet__date small,.audit-sheet__user small,.audit-sheet__event small{display:inline;margin-left:6px}
  .audit-sheet__action .audit-expand-btn{width:100%;justify-content:center;min-height:40px}
  .audit-sheet tr.audit-detail-row{display:block;margin:-2px 0 2px}.audit-sheet tr.audit-detail-row td{display:block;padding:0;border:0}.audit-detail-panel{margin:0;border-radius:12px}.audit-detail-grid{grid-template-columns:1fr}.audit-change-grid{grid-template-columns:1fr}
}

/* Auditoria transversal — tokens da fundação alinhados ao tema escuro existente. */
html[data-theme="dark"]{
  --cp-bg:var(--cp-component-surface-soft);
  --cp-surface:var(--cp-component-surface);
  --cp-fg:var(--cp-component-text);
  --cp-muted:var(--cp-component-muted);
  --cp-border:var(--cp-component-border);
  --cp-accent-soft:var(--cp-component-surface-muted);
}
html[data-theme="dark"] .login-shell{background:var(--cp-bg)}
html[data-theme="dark"] :is(.app-topbar,.mobile-bottom-nav){border-color:var(--cp-component-border);background:color-mix(in oklab,var(--cp-component-surface) 94%,transparent)}
html[data-theme="dark"] body.is-guest .login-form :is(input,select,textarea){background:var(--cp-field-bg);border-color:var(--cp-component-border);color:var(--cp-component-text)}
html[data-theme="dark"] body.is-guest .login-form :is(input,select,textarea)::placeholder{color:var(--cp-component-placeholder)}
html:root:root[data-theme="dark"] body.is-guest .login-form--minimal input:not([type="hidden"]){background:var(--cp-field-bg)!important;border-color:var(--cp-component-border)!important;color:var(--cp-component-text)!important}

/* LVF-01 — controles transversais; preserva contratos das views. */
:where(.btn,.ui-button){gap:8px;white-space:normal;text-align:center;line-height:1.2}
:where(.btn,.ui-button):is(.btn-secondary,.ui-button--secondary){border-color:var(--cp-border);background:oklch(.95 .012 250);color:var(--cp-fg)}
:where(.btn,.ui-button):is(.btn-secondary,.ui-button--secondary):hover{border-color:oklch(.78 .05 238);background:var(--cp-accent-soft);color:var(--cp-accent-strong)}
:where(.btn,.ui-button).btn-outline{border-color:var(--cp-accent);background:var(--cp-surface);color:var(--cp-accent-strong)}
:where(.btn,.ui-button).btn-outline:hover{background:var(--cp-accent-soft);color:var(--cp-accent-strong)}
:where(.btn,.ui-button).btn-success{border-color:oklch(.58 .12 155);background:oklch(.58 .12 155);color:#fff}
:where(.btn,.ui-button).btn-warning{border-color:oklch(.68 .14 75);background:oklch(.68 .14 75);color:oklch(.25 .04 75)}
:where(.btn,.ui-button).btn-danger{border-color:oklch(.58 .16 28);background:oklch(.58 .16 28);color:#fff}
:where(.btn,.ui-button):disabled,.ui-icon-button:disabled{opacity:.55;box-shadow:none;cursor:not-allowed;transform:none}
.ui-icon-button,.icon-action{display:inline-grid;flex:0 0 auto;width:44px;min-width:44px;height:44px;min-height:44px;place-items:center;padding:0;border:1px solid var(--cp-border);border-radius:10px;background:var(--cp-surface);color:var(--cp-fg)}
.ui-icon-button:hover,.icon-action:hover{border-color:oklch(.78 .05 238);background:var(--cp-accent-soft);color:var(--cp-accent-strong)}
.ui-icon-button .app-icon,.icon-action .app-icon{width:19px;height:19px}
:where(.field,.app-field)>label{color:var(--cp-fg);font-size:.84rem;font-weight:750;line-height:1.3}
:where(.field input,.field select,.field textarea,input.app-input,select.app-input,textarea.app-input):disabled{background:oklch(.965 .008 250);color:var(--cp-muted);cursor:not-allowed}
:where(.field input,.field select,.field textarea,input.app-input,select.app-input,textarea.app-input)::placeholder{color:oklch(.61 .02 255)}
:where(.field input[type="checkbox"],.field input[type="radio"]){min-width:20px;min-height:20px;accent-color:var(--cp-accent)}
.card>header,.section-card>header,.form-card>header,.table-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.card>footer,.section-card>footer,.form-card>footer,.table-card>footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}
.table-responsive{scrollbar-color:var(--cp-border) transparent;scrollbar-width:thin;overscroll-behavior-inline:contain}
.data-table tbody tr:focus-within{outline:2px solid oklch(.53 .13 238 / .26);outline-offset:-2px}
.data-table .actions-cell{white-space:normal}.data-table .actions-cell :is(.btn,.ui-button,.ui-icon-button){margin:2px 0}
:where(.tabs,.segmented-control,[role="tablist"]){display:flex;align-items:center;gap:6px;overflow-x:auto;padding:5px;border:1px solid var(--cp-border);border-radius:12px;background:var(--cp-surface);scrollbar-width:none}
:where(.tabs,.segmented-control,[role="tablist"])::-webkit-scrollbar{display:none}
:where(.tabs,.segmented-control,[role="tablist"]) :is(a,button,[role="tab"]){display:inline-flex;flex:0 0 auto;min-height:38px;align-items:center;justify-content:center;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--cp-muted);font-size:.82rem;font-weight:750;text-decoration:none}
:where(.tabs,.segmented-control,[role="tablist"]) :is(a,button,[role="tab"]):is(.active,[aria-selected="true"]){background:var(--cp-accent-soft);color:var(--cp-accent-strong)}
.app-confirm-dialog{max-height:min(88dvh,680px);padding:0;border:1px solid var(--cp-border);box-shadow:var(--cp-shadow)}
.app-confirm-dialog__form{display:grid;max-height:inherit}.app-confirm-dialog__header{padding:20px 20px 14px}.app-confirm-dialog__footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:14px 20px 20px;border-top:1px solid var(--cp-border)}
@media (max-width:767px){.app-topbar__account{flex:0 0 auto}.app-topbar__account .avatar{width:34px;height:34px}
  .page-heading-actions,.form-actions,.filter-actions,.card>footer,.section-card>footer,.form-card>footer,.table-card>footer{width:100%}
  .page-heading-actions :is(.btn,.ui-button),.form-actions :is(.btn,.ui-button),.filter-actions :is(.btn,.ui-button){flex:1;min-width:0}
  .data-table th,.data-table td{padding:10px 8px}.data-table .actions-cell{min-width:0}
  .app-confirm-dialog__header{padding:18px 16px 12px}.app-confirm-dialog__footer{padding:12px 16px calc(16px + env(safe-area-inset-bottom))}.app-confirm-dialog__footer :is(.btn,.ui-button){flex:1}
}

/* LVF-01.1 — campos públicos seguem o mesmo alvo de toque da fundação. */
.login-form :is(input:not([type="hidden"]),select,textarea){min-height:48px}
.login-form .password-field button{display:grid;min-width:44px;min-height:44px;place-items:center}
.login-form--minimal{--c1g-field-h:48px;--c1g-control-compact-h:44px}

/* LVF-01-R2A — switch compartilhado recebe alvo de toque consistente. */
.theme-switch{display:inline-flex;min-width:48px;min-height:44px;align-items:center;justify-content:center}
/* LVF-01-R2A — o controle de tema mantém alvo de toque consistente. */
.sidebar-theme-setting .theme-switch{height:44px;min-height:44px;max-height:none}

/* LVF-01-R3 — fundação visual compartilhada. */
.sidebar-link{color:oklch(.88 .025 255)}
.sidebar-link:hover,.sidebar-link:focus-visible{background:oklch(.34 .045 255);color:#fff}

:root :is(.p11-shift-table,.p12-visitors-table,.p21-deliveries-table,.p2op-table,.data-table) thead th{
  background:oklch(.975 .008 250);color:var(--cp-fg);border-block:1px solid var(--cp-border);
  padding:10px 12px;font-size:.72rem;font-weight:750;letter-spacing:.015em;vertical-align:middle
}
:root :is(.p11-shift-table,.p12-visitors-table,.p21-deliveries-table,.p2op-table,.data-table) tbody td,
:root :is(.p11-shift-table,.p12-visitors-table,.p21-deliveries-table,.p2op-table,.data-table) tbody th{
  border-color:var(--cp-border);padding:10px 12px;vertical-align:middle
}
:root :is(.p11-shift-table,.p12-visitors-table,.p21-deliveries-table,.p2op-table,.data-table) tbody tr:hover{background:oklch(.975 .014 238)}

.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px}
.list-toolbar__filters,.list-toolbar__actions{display:flex;min-width:0;align-items:center;gap:8px}
.list-toolbar__filters{flex:1}.list-toolbar__filters > *{min-width:0;flex:1}
.list-toolbar__actions{flex:0 0 auto}.list-toolbar__actions .btn{white-space:nowrap}

.field-file{display:grid;gap:7px}.field-file__label{font-size:.82rem;font-weight:750;color:var(--cp-fg)}
.field-file__input{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.field-file__trigger{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:1px solid var(--cp-border);border-radius:10px;background:var(--cp-surface);color:var(--cp-fg);cursor:pointer;box-shadow:0 1px 2px oklch(.25 .025 255 / .04)}
.field-file__trigger:hover{border-color:oklch(.78 .05 238);background:var(--cp-accent-soft)}
.field-file:focus-within .field-file__trigger{outline:3px solid oklch(.53 .13 238 / .32);outline-offset:2px}
.field-file__choose{flex:0 0 auto;font-size:.82rem;font-weight:750;color:var(--cp-accent-strong)}
.field-file__name{min-width:0;overflow:hidden;color:var(--cp-muted);font-size:.8rem;text-align:right;text-overflow:ellipsis;white-space:nowrap}
.field-file.has-file .field-file__name{color:var(--cp-fg);font-weight:650}
.field-file__input:disabled + .field-file__trigger{cursor:not-allowed;opacity:.55}

@media (max-width:767px){
  .dashboard-widget-move-wrap{display:none}
  .list-toolbar{align-items:stretch;flex-direction:column;padding:10px 12px}
  .list-toolbar__filters,.list-toolbar__actions{width:100%}
  .list-toolbar__actions .btn{flex:1}
  .field-file__trigger{min-height:48px}
  :root :is(.p11-shift-table,.p12-visitors-table,.p21-deliveries-table,.p2op-table,.data-table) thead th,
  :root :is(.p11-shift-table,.p12-visitors-table,.p21-deliveries-table,.p2op-table,.data-table) tbody td,
  :root :is(.p11-shift-table,.p12-visitors-table,.p21-deliveries-table,.p2op-table,.data-table) tbody th{padding:9px 10px}
}

/* LVF-01-R3 — isolamento dos controles compostos. */
:root .field-file__input{inline-size:1px;width:1px;min-width:1px;max-width:1px;block-size:1px;height:1px;min-height:1px;max-height:1px;margin:-1px;padding:0;border:0}
.delivery-list-toolbar .delivery-r61-search,.delivery-list-toolbar .delivery-simple-report{margin:0}

/* LVF-02 — família pública de autenticação. */
body.is-guest{background:var(--cp-bg)}
.auth-shell{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(460px,1.05fr);min-height:100svh;background:var(--cp-bg)}
.auth-brand-panel{position:relative;display:flex;min-height:100%;flex-direction:column;justify-content:space-between;gap:48px;padding:clamp(32px,5vw,76px);overflow:hidden;background:var(--cp-navy,oklch(.255 .035 255));color:#fff}
.auth-brand-panel::before{position:absolute;right:-17%;bottom:-22%;width:min(46vw,560px);aspect-ratio:1;border:1px solid oklch(1 0 0 / .16);border-radius:50%;box-shadow:0 0 0 42px oklch(1 0 0 / .045),0 0 0 84px oklch(1 0 0 / .03);content:""}
.auth-brand-panel>*{position:relative;z-index:1}.auth-brand-lockup,.auth-mobile-brand{display:flex;align-items:center;gap:11px}.auth-brand-lockup>span:last-child{display:grid;gap:3px}.auth-brand-lockup strong{font:750 1.25rem/1 var(--cp-display);letter-spacing:-.04em}.auth-brand-lockup small{color:oklch(.82 .02 255);font-size:.76rem}.auth-brand-copy{max-width:440px}.auth-eyebrow{margin:0 0 9px;color:var(--cp-accent-strong);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.auth-brand-panel .auth-eyebrow{color:oklch(.78 .09 238)}.auth-brand-copy h2{max-width:10ch;margin:0;font:750 clamp(2rem,4vw,3.5rem)/1.02 var(--cp-display);letter-spacing:-.055em}.auth-brand-copy p:last-child{max-width:38ch;margin:18px 0 0;color:oklch(.86 .018 255);font-size:1rem;line-height:1.6}.auth-brand-note{display:flex;align-items:center;gap:9px;color:oklch(.8 .02 255);font-size:.8rem}.auth-brand-note span{width:8px;height:8px;border-radius:50%;background:var(--cp-accent)}
.auth-stage{display:grid;min-width:0;place-items:center;padding:clamp(28px,6vw,96px)}.auth-card{width:min(100%,440px);padding:clamp(26px,3.4vw,42px);border:1px solid var(--cp-border);border-radius:20px;background:var(--cp-surface);box-shadow:0 18px 42px oklch(.25 .025 255 / .10)}.auth-card__header{margin-bottom:24px}.auth-card__header h1{margin:0;color:var(--cp-fg);font:750 clamp(1.6rem,2.5vw,2.15rem)/1.08 var(--cp-display);letter-spacing:-.045em}.auth-card__header>p:last-child{margin:9px 0 0;color:var(--cp-muted);font-size:.92rem;line-height:1.5}.auth-mobile-brand{display:none;margin-bottom:26px;color:var(--cp-fg)}.auth-mobile-brand strong{font:750 1.2rem/1 var(--cp-display);letter-spacing:-.04em}.auth-card .login-form .field{margin-top:16px}.auth-card .login-form label{color:var(--cp-fg);font-size:.83rem;font-weight:750}.auth-card .login-form :is(input:not([type="hidden"]),select,textarea){min-height:48px;border-color:var(--cp-border);border-radius:10px;box-shadow:none}.auth-card .password-field button{min-width:44px;min-height:40px;border-radius:8px;background:var(--cp-accent-soft);color:var(--cp-accent-strong);font-weight:750}.auth-card .login-submit,.auth-card .btn-block{min-height:48px;margin-top:22px;border-radius:10px}.auth-card__footer{margin:18px 0 0;text-align:center}.auth-card__footer a{color:var(--cp-accent-strong);font-size:.86rem;font-weight:750;text-decoration:none}.auth-card__footer a:hover{text-decoration:underline}.auth-card .alert{margin:0 0 18px}.auth-card .n114-recovery-channels{margin-top:16px}.auth-card .n114-channel{border-radius:10px}.access-link-card small{display:block;margin-top:6px;color:var(--cp-muted);line-height:1.45}
.auth-public-shell{min-height:100svh;padding:clamp(24px,6vw,72px);background:var(--cp-bg)}.auth-public-shell :is(.public-confirmation-card,.public-registration-card){border-color:var(--cp-border);box-shadow:0 18px 42px oklch(.25 .025 255 / .08)}
@media (max-width:820px){.auth-shell{display:block;min-height:100svh}.auth-brand-panel{display:none}.auth-stage{min-height:100svh;padding:28px 18px}.auth-card{width:min(100%,460px);padding:28px}.auth-mobile-brand{display:flex}.auth-card__header{margin-bottom:22px}}
@media (max-width:420px){.auth-stage{padding:18px 14px 28px}.auth-card{padding:24px 20px;border-radius:16px}.auth-card__header h1{font-size:1.62rem}.auth-card .login-form :is(input:not([type="hidden"]),select,textarea){min-height:48px}.auth-card .password-field button{right:6px}.auth-public-shell{padding:18px 14px}}

/* LVF-02-R2 — refinamento da composição pública. */
@media (min-width:821px){
  .auth-shell{grid-template-columns:minmax(430px,.68fr) minmax(560px,1.02fr)}
  .auth-brand-panel{justify-content:flex-start;gap:0;padding:clamp(42px,4.8vw,72px);background:linear-gradient(145deg,oklch(.38 .07 245),oklch(.30 .045 252))}
  .auth-brand-copy{max-width:480px;margin-top:clamp(92px,15vh,180px)}
  .auth-brand-copy h2{max-width:15ch;font-size:clamp(2.15rem,3.35vw,3.4rem);line-height:1.06}
  .auth-brand-copy p:last-child{max-width:42ch;font-size:1.02rem}
  .auth-brand-note{margin-top:auto;padding-top:56px}
  .auth-stage{padding:clamp(42px,5.5vw,88px);background:oklch(.985 .006 250)}
  .auth-card{width:min(100%,448px);padding:clamp(30px,3vw,42px);box-shadow:0 20px 46px oklch(.25 .025 255 / .09)}
}
.auth-card .login-form :is(input:not([type="hidden"]),select,textarea):focus-visible{border-color:var(--cp-accent);outline:none;box-shadow:0 0 0 3px oklch(.53 .13 238 / .24)}
.auth-card .n114-recovery-channels{grid-template-columns:1fr}.auth-card .n114-channel.is-disabled{display:none}
@media (min-width:600px) and (max-width:820px){.auth-card{width:min(100%,520px);padding:34px}.auth-stage{padding:36px 28px}}

/* LVF-02-R2 — fallback explícito para a tipografia pública. */
.auth-brand-lockup strong,.auth-mobile-brand strong{font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif}
.auth-brand-copy h2{font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-weight:750}
.auth-card__header h1{font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-weight:750}

@media (min-width:821px){
  html:root body.is-guest .auth-brand-copy h2{max-width:430px !important;font-size:clamp(2.15rem,3.35vw,3.4rem) !important;line-height:1.06 !important;letter-spacing:-.055em !important}
}


/* LVF-04 — Painel operacional: resumo administrativo legível e compacto. */
.dashboard-widget[data-dashboard-widget="administrative-operational-signals"]{
  overflow:hidden;
  border-color:var(--cp-border);
  box-shadow:0 5px 18px oklch(.25 .025 255 / .045);
}
.dashboard-attention{display:grid;gap:10px;padding:2px 18px 18px}
.dashboard-attention__item{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:14px 15px;border:1px solid oklch(.82 .045 82);border-radius:13px;
  background:oklch(.985 .023 92);
}
.dashboard-attention__item--error{border-color:oklch(.82 .055 28);background:oklch(.982 .022 28)}
.dashboard-attention__summary{display:flex;min-width:0;align-items:center;gap:13px}
.dashboard-attention__count{
  display:grid;flex:0 0 auto;min-width:50px;min-height:50px;place-items:center;padding:4px 8px;
  border-radius:12px;background:oklch(.92 .065 82);color:oklch(.42 .10 72);
  font-size:1.45rem;font-weight:850;letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums;
}
.dashboard-attention__item--error .dashboard-attention__count{background:oklch(.92 .055 28);color:oklch(.48 .14 28)}
.dashboard-attention__copy{display:grid;min-width:0;gap:3px}
.dashboard-attention__copy h3{margin:0;color:var(--cp-fg);font-size:.92rem;font-weight:800;line-height:1.25}
.dashboard-attention__copy p{margin:0;color:var(--cp-muted);font-size:.78rem;font-weight:650;line-height:1.38}
.dashboard-attention__actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.dashboard-attention__actions .btn{min-height:36px;white-space:nowrap}
.dashboard-occurrence-widget .dashboard-widget__header{padding-bottom:8px}
.dashboard-occurrence-widget .dashboard-widget__actions .btn{min-height:36px}
.p3op-tabs{margin-block:0 8px}
@media (min-width:900px){
  .dashboard-attention__item{padding:16px 18px}
  .dashboard-attention__count{min-width:58px;min-height:58px;font-size:1.62rem}
  .dashboard-attention__copy h3{font-size:.98rem}
}
@media (max-width:767px){
  .dashboard-attention{padding:0 14px 14px}
  .dashboard-attention__item{align-items:stretch;flex-direction:column;gap:12px;padding:13px}
  .dashboard-attention__count{min-width:48px;min-height:48px;font-size:1.34rem}
  .dashboard-attention__actions{width:100%;justify-content:stretch}
  .dashboard-attention__actions .btn{flex:1;min-width:0;padding-inline:10px}
}
@media (max-width:360px){
  .dashboard-attention__actions{display:grid;grid-template-columns:1fr}
}


/* LVF-04-R2 — KPIs do Painel: grade estável sem cartão órfão. */
@media (max-width:899px){
  .p4pd{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:380px){
  .p4pd__item{min-height:64px}
}


/* LVF-04-R3 — shell único em resize, cartões compactos e widgets fluidos. */
.sidebar-user-identity-card{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-height:56px;margin:12px 2px 10px;padding:8px 9px;border:1px solid var(--cp-shell-border);border-radius:var(--cp-radius-4);background:var(--cp-shell-user-bg)}
.sidebar-user-identity-card>span:last-child{display:grid;min-width:0;gap:2px}.sidebar-user-identity-card strong,.sidebar-user-identity-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-identity-card strong{color:var(--cp-shell-text-strong);font-size:.78rem}.sidebar-user-identity-card small{color:var(--cp-shell-muted-2);font-size:.65rem}
.app-topbar__user-menu{position:relative;margin-left:auto}.app-topbar__user-menu>summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:4px;border-radius:10px;cursor:pointer;list-style:none}.app-topbar__user-menu>summary::-webkit-details-marker{display:none}.app-topbar__user-menu>summary:hover,.app-topbar__user-menu[open]>summary{background:var(--cp-accent-soft)}
.app-topbar__user-panel{position:absolute;z-index:var(--cp-z-dropdown);top:calc(100% + 8px);right:0;display:grid;min-width:230px;padding:6px;border:1px solid var(--cp-border);border-radius:12px;background:var(--cp-surface);box-shadow:var(--cp-shadow-5)}
.app-topbar__user-panel :is(a,button){display:grid;width:100%;min-height:42px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px 9px;border:0;border-radius:8px;background:transparent;color:var(--cp-fg);font:inherit;text-align:left;text-decoration:none;cursor:pointer}.app-topbar__user-panel :is(a,button):hover{background:var(--cp-bg)}.app-topbar__user-panel .app-icon{width:18px;height:18px}.app-topbar__user-panel strong{font-size:.78rem}.app-topbar__user-panel form{margin:0}.app-topbar__user-panel .notification-presence-dot{justify-self:end}
.dashboard-widget--table :is(.p12-visitors-table-scroll,.p21-deliveries-table-scroll){max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.dashboard-widget--table :is(.p12-visitors-table,.p21-deliveries-table){max-width:none}.dashboard-widget__header,.p12-recent-visitors__header{min-width:0}.dashboard-widget__actions{min-width:0}.dashboard-widget__actions .btn{box-sizing:border-box;max-width:100%}
.dashboard-occurrence-widget__body,.dashboard-donut-wrap,.dashboard-donut{min-width:0;max-width:100%}.dashboard-donut{width:224px}.dashboard-donut__svg{max-width:100%;height:auto}.dashboard-donut__track,.dashboard-donut__slice{stroke-width:32}.dashboard-donut__track{stroke:oklch(.93 .012 250)}.dashboard-donut__center{width:96px;border:1px solid oklch(.91 .012 250);box-shadow:0 2px 8px oklch(.25 .025 255 / .06)}.dashboard-donut__center span{font-size:.7rem}
.account-avatar-upload-wrap{display:grid;gap:12px}.account-avatar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:0}.account-avatar-actions form{margin:0}.account-avatar-actions .btn{width:100%;min-height:44px;padding-inline:10px}.account-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.account-detail-grid>div{min-width:0;min-height:0;padding:10px 11px}.account-detail-grid dt{font-size:.68rem}.account-detail-grid dd{margin-top:4px;font-size:.82rem;line-height:1.3;overflow-wrap:anywhere}.account-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.account-quick-actions .btn{display:flex;min-width:0;min-height:44px;align-items:center;justify-content:center;gap:6px;padding-inline:9px;white-space:nowrap}.account-quick-actions .app-icon{width:17px;height:17px;flex:0 0 auto}.account-quick-actions span{overflow:hidden;text-overflow:ellipsis}.account-quick-actions em{display:grid;min-width:18px;height:18px;place-items:center;border-radius:999px;background:var(--cp-accent-soft);color:var(--cp-accent-strong);font-size:.67rem;font-style:normal;font-weight:800}
@media (max-width:1023px){
  body.has-open-drawer{overflow:hidden}.sidebar-navigation-layout .sidebar{width:min(88vw,320px);max-width:320px;transform:translateX(-104%);box-shadow:var(--cp-shadow-5)}.sidebar-navigation-layout .app-content,.sidebar-navigation-layout.is-sidebar-collapsed .app-content{margin-left:0}.sidebar-navigation-layout.is-drawer-open .sidebar{transform:translateX(0)}.sidebar-backdrop{position:fixed;inset:0;z-index:var(--cp-z-backdrop);display:block;border:0;background:rgba(15,30,51,.48)}.sidebar-backdrop[hidden]{display:none}.mobile-bottom-nav{position:fixed;z-index:45;right:7px;bottom:max(6px,env(safe-area-inset-bottom));left:7px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);min-height:66px;padding:6px;border:1px solid var(--cp-border);border-radius:18px;background:oklch(1 0 0 / .96);box-shadow:0 12px 30px oklch(.25 .025 255 / .14);backdrop-filter:blur(14px)}.mobile-bottom-nav__item{display:grid;min-width:0;min-height:48px;place-items:center;align-content:center;gap:3px;padding:3px 2px;border:0;border-radius:10px;background:transparent;color:var(--cp-muted);font:700 .62rem/1.05 "IBM Plex Sans","Segoe UI",sans-serif;text-decoration:none}.mobile-bottom-nav__item .app-icon{width:19px;height:19px}.mobile-bottom-nav__item.is-active{background:var(--cp-accent-soft);color:var(--cp-accent-strong)}.main-content{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
}
@media (min-width:1024px){.mobile-bottom-nav{display:none!important}}
@media (min-width:1240px){.account-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.account-detail-grid>div{padding:11px 12px}}
@media (max-width:767px){.dashboard-widget__header,.p12-recent-visitors__header{flex-wrap:wrap}.dashboard-widget__actions{width:100%;justify-content:space-between}.dashboard-widget__actions>.btn{flex:1;min-width:0}.dashboard-donut{width:min(198px,100%)}.dashboard-donut__center{width:88px}.account-avatar-actions{gap:7px}.account-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-quick-actions{gap:6px}.account-quick-actions .btn{gap:4px;padding-inline:6px;font-size:.75rem}}
@media (max-width:360px){.sidebar-navigation-layout .sidebar{width:min(92vw,300px)}.account-detail-grid{grid-template-columns:1fr}.account-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.account-quick-actions>:last-child{grid-column:1/-1}.account-quick-actions .btn{font-size:.78rem}}
/* LVF-04-R3 account grid specificity. */
.account-avatar-actions > :only-child{grid-column:1/-1}
.is-sidebar-collapsed .sidebar-user-identity-card{grid-template-columns:1fr;justify-items:center;padding-inline:6px}
.is-sidebar-collapsed .sidebar-user-identity-card>span:last-child{display:none}
@media (min-width:1240px){html:root:root body main:has(.account-avatar-card) .detail-grid.detail-grid-single.account-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}}
@media (max-width:360px){html:root:root body main:has(.account-avatar-card) .detail-grid.detail-grid-single.account-detail-grid{grid-template-columns:1fr}}
/* LVF-04-R4 — ações legíveis na rolagem real. */
.dashboard-mobile-history__detail{width:18px!important;height:18px!important;color:var(--cp-accent-strong)}
@media (max-width:480px){
  .p12-recent-visitors__header{align-items:flex-start;gap:10px;padding:15px 14px 10px}
  .p12-recent-visitors__header>div:first-child{min-width:0}
  .p12-recent-visitors__header .dashboard-widget__actions{display:flex;width:100%;justify-content:flex-end}
  .p12-recent-visitors__header .dashboard-widget__actions .p12-recent-visitors__all{flex:0 0 auto;max-width:none;overflow:visible;padding-inline:12px;white-space:nowrap}
  .account-quick-actions{grid-template-columns:.85fr .95fr 1.2fr}
  .account-quick-actions .btn{gap:3px;padding-inline:4px;font-size:.72rem}
  .account-quick-actions .app-icon{width:15px;height:15px}
  .account-quick-actions span{overflow:visible;text-overflow:clip;white-space:nowrap}
}
@media (min-width:1024px) and (max-width:1260px){.p4pd{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* LVF-04-R4 — CTA do histórico não concorre com o título no mobile. */
@media (max-width:480px){
  .p12-recent-visitors__header{flex-direction:column;align-items:stretch}
  .p12-recent-visitors__header .dashboard-widget__actions{justify-content:flex-end}
  .p12-recent-visitors__header .dashboard-widget__actions .p12-recent-visitors__all{flex:0 0 auto;min-width:132px}
}
/* LVF-04-R4 — prevalece sobre os limites legados das ações compactas. */
@media (max-width:480px){
  .p12-recent-visitors__header .dashboard-widget__actions{width:100%!important}
  .p12-recent-visitors__header .dashboard-widget__actions .p12-recent-visitors__all{flex:0 0 auto!important;min-width:132px!important;max-width:none!important}
  .account-quick-actions{grid-template-columns:.75fr 1.03fr 1.22fr}
  .account-quick-actions .btn{padding-inline:3px;font-size:.71rem}
}
@media (min-width:361px) and (max-width:480px){.account-quick-actions .app-icon{width:14px!important;height:14px!important;flex:0 0 14px!important}}
/* LVF-04-R4 — largura sem reticências para as ações de conta. */
@media (min-width:361px) and (max-width:480px){.account-quick-actions{grid-template-columns:.68fr 1.10fr 1.22fr}}
@media (max-width:360px){.account-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.account-quick-actions>:last-child{grid-column:1/-1}.account-quick-actions .btn{font-size:.76rem}.account-quick-actions .app-icon{width:16px!important;height:16px!important;flex:0 0 16px!important}}
@media (min-width:361px) and (max-width:480px){
  html:root:root body main:has(.account-avatar-card) .account-quick-actions .btn{gap:2px!important;padding-inline:2px!important;font-size:11px!important}
  html:root:root body main:has(.account-avatar-card) .account-quick-actions .app-icon{width:14px!important;height:14px!important;flex:0 0 14px!important}
  html:root:root body main:has(.account-avatar-card) .account-quick-actions em{min-width:16px;height:16px;font-size:.62rem}
}
/* LVF-04-R5 — ações da conta respondem à largura real do card. */
.account-quick-actions span:not(.app-icon){overflow:visible;text-overflow:clip;white-space:nowrap}
@media (min-width:1024px) and (max-width:1239px){
  .account-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .account-quick-actions>:last-child{grid-column:1/-1}
  .account-quick-actions .btn{gap:5px;padding-inline:8px}
}
/* LVF-04-R6 — modo do shell protegido por um único breakpoint. */
@media (max-width:1023px){
  .sidebar-navigation-layout.is-sidebar-collapsed .sidebar{width:min(88vw,320px)!important;max-width:320px;transform:translateX(-104%)}
  .sidebar-navigation-layout.is-sidebar-collapsed.is-drawer-open .sidebar{transform:translateX(0)}
}
@media (min-width:1024px){
  body.has-open-drawer{overflow:auto}
  .sidebar-navigation-layout .sidebar{transform:none!important}
  .sidebar-navigation-layout .sidebar-backdrop{display:none!important}
}

/* LVF-05-R1 — tabs de status de Ocorrências legíveis em mobile. */
.occurrence-p32-history-tabs .occurrence-p32-cancel-tab {
    width: auto;
    min-width: 0;
    max-width: none;
    padding-inline: 10px;
}
@media (max-width: 620px) {
    .occurrence-p32-history-tabs.delivery-r61-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        overflow: visible;
    }
    .occurrence-p32-history-tabs.delivery-r61-tabs > a,
    .occurrence-p32-history-tabs.delivery-r61-tabs > span {
        width: auto;
        min-width: 0;
        max-width: none;
        min-height: 42px;
        padding: 8px;
        white-space: normal;
        text-align: center;
    }
}
/* LVF-05-R2 — correções visuais isoladas do módulo de Ocorrências. */
.occurrence-p24-status-tabs .occurrence-p24-status-tab__text {
    display: inline;
}

.occurrence-p24-status-tabs .occurrence-p24-status-tab__icon {
    display: inline-flex;
    flex: 0 0 auto;
}

.occurrence-o14-dialog .delivery-r61-dialog-close.ui-dialog__close {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    border: 1px solid var(--cp-component-border);
    border-radius: 12px;
    background: var(--cp-component-surface);
    box-shadow: none;
    outline: 0;
}

.occurrence-o14-dialog .delivery-r61-dialog-close.ui-dialog__close:focus-visible {
    outline: 3px solid var(--cp-component-focus-ring);
    outline-offset: 2px;
}

.occurrence-o14-update-list {
    position: relative;
    gap: 0;
    padding-left: 18px;
}

.occurrence-o14-update-list::before {
    position: absolute;
    top: 8px;
    bottom: 12px;
    left: 5px;
    width: 2px;
    background: var(--cp-component-border);
    content: "";
}

.occurrence-o14-update-list article {
    position: relative;
    padding: 0 0 14px 10px;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.occurrence-o14-update-list article::before {
    position: absolute;
    top: 4px;
    left: -18px;
    width: 10px;
    height: 10px;
    border: 2px solid var(--cp-component-surface);
    border-radius: 50%;
    background: var(--cp-status-info-text);
    box-shadow: 0 0 0 1px var(--cp-component-border);
    content: "";
}

.occurrence-p27-photo-input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.occurrence-p27-photo-trigger {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 2px 8px;
    min-height: 48px;
    padding: 8px 10px;
    border: 1px solid var(--cp-component-border);
    border-radius: 12px;
    background: var(--cp-component-surface);
    color: var(--cp-component-text);
    cursor: pointer;
}

.occurrence-p27-photo-trigger__icon {
    grid-row: span 2;
    display: inline-grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 9px;
    background: var(--cp-component-surface-muted);
    color: var(--cp-button-primary-bg);
}

.occurrence-p27-photo-trigger__label {
    font-size: .78rem;
    font-weight: 800;
}

.occurrence-p27-photo-trigger small {
    min-width: 0;
    color: var(--cp-component-muted);
    font-size: .7rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.occurrence-p27-photo-row.has-file .occurrence-p27-photo-trigger {
    border-color: var(--cp-status-info-border);
    background: var(--cp-status-info-bg);
}

.occurrence-p27-photo-trigger:focus-within {
    outline: 3px solid var(--cp-component-focus-ring);
    outline-offset: 2px;
}

@media (min-width: 1024px) {
    .occurrence-o14-dialog.ui-dialog--record {
        width: min(calc(100vw - 48px), 840px);
        max-width: 840px;
    }

    .occurrence-o14-dialog-card {
        height: min(84vh, 740px);
    }

    .occurrence-o14-dialog .occurrence-o14-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px 12px;
    }

    .occurrence-o14-dialog.is-editing .occurrence-p31-primary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
    }
}

@media (max-width: 620px) {
    .occurrence-p24-status-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        overflow: visible;
    }

    .occurrence-p24-status-tabs a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        min-height: 44px;
        padding: 8px 9px;
        font-size: .7rem;
        line-height: 1.15;
        text-align: center;
        white-space: normal;
    }

    .occurrence-p24-status-tabs .occurrence-p24-status-tab__text {
        display: inline;
    }

    .occurrence-p32-search-results > .p9-tabs {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 4px;
        overflow: visible;
        padding: 3px;
    }

    .occurrence-p32-search-results > .p9-tabs .p9-tab {
        min-width: 0;
        min-height: 44px;
        padding: 6px 3px;
        font-size: .67rem;
        line-height: 1.15;
        text-align: center;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .occurrence-o14-dialog-card {
        padding: 14px;
    }

    .occurrence-o14-scroll {
        gap: 8px;
    }

    .occurrence-o14-group {
        padding: 10px;
        border-radius: 12px;
    }

    .occurrence-o14-description {
        margin-bottom: 8px;
        padding: 0;
        border-radius: 0;
        background: transparent;
    }

    .occurrence-o14-grid {
        gap: 0;
    }

    .occurrence-o14-grid > div,
    .occurrence-o14-stack > div {
        padding: 7px 0;
        border: 0;
        border-radius: 0;
        border-bottom: 1px solid var(--cp-component-border);
        background: transparent;
    }

    .occurrence-o14-grid > div:last-child,
    .occurrence-o14-stack > div:last-child {
        border-bottom: 0;
    }

    .occurrence-o14-update-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 360px) {
    .occurrence-o14-update-actions {
        grid-template-columns: 1fr;
    }

    .occurrence-p24-status-tabs a {
        font-size: .66rem;
        padding-inline: 6px;
    }

    .occurrence-p32-search-results > .p9-tabs .p9-tab {
        font-size: .61rem;
    }
}
.occurrence-p27-photo-trigger { position: relative; }
/* LVF-05-R2: o fechamento do detalhe deve vencer a compactação global de dialogs. */
html:root:root body dialog[open].occurrence-o14-dialog .delivery-r61-dialog-close.ui-dialog__close {
    width: 44px;
    min-width: 44px;
    max-width: 44px;
    height: 44px;
    min-height: 44px;
    max-height: 44px;
    flex: 0 0 44px;
    box-sizing: border-box;
    border: 1px solid var(--cp-component-border);
    border-radius: 12px;
    background: var(--cp-component-surface);
    box-shadow: none;
    outline: 0;
}
/* LVF-05-R3 — linguagem compartilhada para Painel e Ocorrências, sem alterar regras. */
.dashboard-dynamic-layout > .dashboard-widget,
.dashboard-widget__header > *,
.dashboard-widget__actions,
.occurrence-p24-admin,
.occurrence-p32-shell,
.occurrence-p32-search-results,
.occurrence-p31-form,
.occurrence-p27-photo-repeater { min-width: 0; }

/* Cabeçalho operacional: título e ações ocupam a mesma linha enquanto houver espaço. */
.dashboard-widget__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
}
.dashboard-widget__actions {
    display: inline-flex;
    justify-content: flex-end;
    align-items: center;
    gap: 7px;
    flex-wrap: nowrap;
}
.dashboard-widget__actions > .btn,
.dashboard-widget__actions > a.btn { flex: 0 0 auto; }

/* Tabs de origem e situação passam a usar a mesma escala visual nos fluxos não administrativos. */
.occurrence-p32-search-results > .p9-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    padding: 5px;
    border: 1px solid var(--cp-component-border);
    border-radius: 14px;
    background: var(--cp-component-surface-muted);
    overflow: visible;
}
.occurrence-p32-search-results > .p9-tabs .p9-tab {
    display: flex;
    min-width: 0;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 7px 9px;
    border-radius: 10px;
    color: var(--cp-component-muted);
    font-size: .75rem;
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
    text-decoration: none;
    white-space: normal;
}
.occurrence-p32-search-results > .p9-tabs .p9-tab.is-active {
    background: var(--cp-component-surface);
    color: var(--cp-component-text);
    box-shadow: 0 2px 7px rgba(15,30,51,.09);
}
.occurrence-p32-history-tabs,
.occurrence-p24-status-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    overflow: visible;
}
.occurrence-p32-history-tabs > a,
.occurrence-p32-history-tabs > span,
.occurrence-p24-status-tabs > a {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 42px;
    padding: 7px 8px;
    justify-content: center;
    white-space: normal;
    text-align: center;
}
.occurrence-p32-history-tabs .occurrence-p32-cancel-tab { justify-self: stretch; }
.occurrence-p24-status-tab__text { display: inline !important; }
.occurrence-p24-status-tab__icon { display: inline-flex; flex: 0 0 auto; }

/* Cartões, filtros e campos seguem a densidade operacional já usada no Administrativo. */
.occurrence-p32-card,
.occurrence-p24-ticket {
    border-color: var(--cp-component-border);
    border-radius: 13px;
    box-shadow: none;
}
.occurrence-p32-card > summary,
.occurrence-p24-ticket > summary { padding: 11px 13px; }
.occurrence-p32-search-form,
.occurrence-p24-panel__body { gap: 10px; }
.occurrence-p31-form :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.occurrence-p24-resident-create :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    min-height: 42px;
    border-color: var(--cp-component-border);
}
.occurrence-p31-form textarea,
.occurrence-p24-resident-create textarea { min-height: 88px; }
.occurrence-p31-form .field,
.occurrence-p24-resident-create .field { margin: 0; }

/* Upload progressivo: botão compacto, adição quadrada e prévias sem input nativo exposto. */
.occurrence-p27-photo-repeater {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    gap: 8px;
    align-items: start;
}
.occurrence-p27-photo-list { display: grid; gap: 8px; min-width: 0; }
.occurrence-p27-photo-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 7px;
    align-items: center;
}
.occurrence-p27-photo-trigger {
    grid-column: 1;
    min-height: 44px;
    padding: 7px 9px;
    border-radius: 10px;
}
.occurrence-p27-photo-trigger__icon { width: 26px; height: 26px; }
.occurrence-p27-photo-trigger__label { font-size: .76rem; }
.occurrence-p27-photo-add {
    grid-column: 2;
    grid-row: 1;
    display: inline-grid;
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    place-items: center;
    padding: 0;
    border-color: var(--cp-status-success-border);
    border-radius: 10px;
    background: var(--cp-status-success-bg);
    color: var(--cp-status-success-text);
    font-size: 0;
}
.occurrence-p27-photo-add svg { display: none; }
.occurrence-p27-photo-add::after { content: "+"; font-size: 1.35rem; font-weight: 700; line-height: 1; }
.occurrence-p27-photo-preview,
.occurrence-p27-photo-remove {
    display: inline-grid;
    width: 40px;
    min-width: 40px;
    height: 40px;
    place-items: center;
    padding: 0;
    border: 1px solid var(--cp-component-border);
    border-radius: 9px;
    background: var(--cp-component-surface);
    color: var(--cp-component-muted);
}
.occurrence-p27-photo-preview img { width: 100%; height: 100%; border-radius: 8px; object-fit: cover; }
.occurrence-p27-photo-remove { font-size: 0; }
.occurrence-p27-photo-remove::after { content: "×"; font-size: 1.25rem; line-height: 1; }
.occurrence-p27-photo-repeater > small { grid-column: 1 / -1; margin: 0; }
.occurrence-p27-photo-trigger:focus-within,
.occurrence-p27-photo-add:focus-visible,
.occurrence-p27-photo-preview:focus-visible,
.occurrence-p27-photo-remove:focus-visible { outline: 3px solid var(--cp-component-focus-ring); outline-offset: 2px; }

@media (max-width: 640px) {
    .dashboard-widget__header { grid-template-columns: minmax(0, 1fr); align-items: start; }
    .dashboard-widget__actions { justify-content: flex-end; }
    .dashboard-widget__header:has(.dashboard-widget__actions > :nth-child(2)) .dashboard-widget__actions { justify-content: flex-start; }
    .occurrence-p32-search-results > .p9-tabs .p9-tab { min-height: 42px; padding-inline: 4px; font-size: .67rem; }
    .occurrence-p32-history-tabs > a,
    .occurrence-p32-history-tabs > span,
    .occurrence-p24-status-tabs > a { min-height: 44px; padding-inline: 5px; font-size: .65rem; }
    .occurrence-p24-status-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .occurrence-p31-form textarea,
    .occurrence-p24-resident-create textarea { min-height: 80px; }
}
/* LVF-05-R3: o + do upload vence as variantes legadas de botão. */
html:root:root body .occurrence-p27-photo-repeater > .occurrence-p27-photo-add {
    grid-column: 2;
    grid-row: 1;
    display: inline-grid;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    place-items: center;
    padding: 0 !important;
    border-color: var(--cp-status-success-border);
    background: var(--cp-status-success-bg);
    color: var(--cp-status-success-text);
    font-size: 0 !important;
    line-height: 1;
}
html:root:root body .occurrence-p27-photo-repeater > .occurrence-p27-photo-add svg { display: none !important; }
html:root:root body .occurrence-p27-photo-repeater > .occurrence-p27-photo-add::after {
    content: "+";
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1;
}
/* LVF-05-R3: remoção só é relevante depois de uma seleção. */
.occurrence-p27-photo-row:not(.has-file) .occurrence-p27-photo-remove {
    visibility: hidden;
    pointer-events: none;
}


/* LVF-05-R4 — seletor e cartões canônicos entre os acessos de Ocorrências. */
.occurrence-canonical-origin-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    padding: 5px;
    border: 1px solid var(--cp-component-border);
    border-radius: 14px;
    background: var(--cp-component-surface-muted);
    overflow: visible;
}
.occurrence-canonical-origin-tabs :is(.p9-tab, .occurrence-p24-channel__item) {
    display: flex;
    min-width: 0;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 7px 9px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--cp-component-muted);
    font-size: .75rem;
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
    text-decoration: none;
    white-space: normal;
}
.occurrence-canonical-origin-tabs :is(.p9-tab, .occurrence-p24-channel__item).is-active {
    background: var(--cp-component-surface);
    color: var(--cp-component-text);
    box-shadow: 0 2px 7px rgba(15,30,51,.09);
}
.occurrence-canonical-status-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    overflow: visible;
}
.occurrence-canonical-status-tabs > :is(a, span) {
    display: inline-flex;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 7px 8px;
    white-space: normal;
    text-align: center;
}
.occurrence-canonical-card {
    border-color: var(--cp-component-border);
    border-radius: 13px;
    box-shadow: none;
}
.occurrence-canonical-card--operational > summary {
    min-height: 0;
    padding: 11px 13px;
}
.occurrence-canonical-card--operational .delivery-r61-card-main {
    display: grid;
    min-width: 0;
    gap: 5px;
}
.occurrence-canonical-card--operational .delivery-r61-card-line {
    gap: 5px 8px;
    line-height: 1.2;
}
.occurrence-canonical-card--operational .delivery-r61-card-main > p {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 1.35;
}
.occurrence-canonical-card--operational .delivery-r621-history-lines {
    display: grid;
    gap: 2px;
    min-width: 0;
    line-height: 1.28;
}
.occurrence-canonical-card--operational .delivery-r621-history-lines small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Uma ação mantém-se ao lado do título; múltiplas ações quebram juntas e deliberadamente. */
@media (max-width: 640px) {
    .dashboard-widget__header {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }
    .dashboard-widget__actions {
        width: auto;
        justify-content: flex-end;
    }
    .dashboard-widget__header:has(.dashboard-widget__actions > :nth-child(2)) {
        grid-template-columns: minmax(0, 1fr);
    }
    .dashboard-widget__header:has(.dashboard-widget__actions > :nth-child(2)) .dashboard-widget__actions {
        grid-column: 1 / -1;
        width: 100%;
        justify-content: flex-start;
    }
    .occurrence-canonical-origin-tabs :is(.p9-tab, .occurrence-p24-channel__item) {
        min-height: 42px;
        padding-inline: 3px;
        font-size: .66rem;
        overflow-wrap: anywhere;
    }
    .occurrence-canonical-status-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .occurrence-canonical-status-tabs > :is(a, span) {
        min-height: 44px;
        padding-inline: 6px;
        font-size: .67rem;
    }
    .occurrence-canonical-card--operational > summary { padding: 10px 11px; }
}
@media (max-width: 340px) {
    .occurrence-canonical-origin-tabs { gap: 3px; padding: 3px; }
    .occurrence-canonical-origin-tabs :is(.p9-tab, .occurrence-p24-channel__item) { font-size: .61rem; }
}


/* LVF-05-R5 — família única de controles, formulários, listas e widgets. */
.occurrence-canonical-origin-tabs,
.occurrence-canonical-status-tabs {
    border: 1px solid #b9d9ea;
    border-radius: 999px;
    background: #e8f4fb;
    box-shadow: none;
}
.occurrence-canonical-origin-tabs { padding: 4px; gap: 4px; }
.occurrence-canonical-origin-tabs :is(.p9-tab, .occurrence-p24-channel__item) {
    min-height: 42px;
    padding: 7px 10px;
    border: 1px solid transparent;
    border-radius: 999px;
    color: #47627a;
    font-size: .76rem;
    font-weight: 800;
}
.occurrence-canonical-origin-tabs :is(.p9-tab, .occurrence-p24-channel__item).is-active {
    border-color: #a9cfe4;
    background: #fff;
    color: #143c58;
    box-shadow: 0 1px 4px rgba(25,82,116,.12);
}
.occurrence-canonical-status-tabs { padding: 4px; gap: 4px; }
.occurrence-canonical-status-tabs > :is(a, span) {
    min-height: 42px;
    padding: 7px 9px;
    border: 1px solid transparent;
    border-radius: 999px;
    color: #4d687e;
    font-size: .72rem;
    font-weight: 800;
}
.occurrence-canonical-status-tabs > :is(a, span).is-active {
    border-color: #18a6bb;
    background: #fff;
    color: #16334a;
    box-shadow: 0 1px 4px rgba(25,82,116,.12);
}

/* Todos os formulários de ocorrência passam a compartilhar a mesma geometria. */
:is(.occurrence-p31-form.app-standard-form--occurrence, .occurrence-p24-resident-create, .occurrence-p27-resident-create) {
    --occurrence-control-height: 44px;
    display: grid;
    gap: 14px;
}
:is(.occurrence-p31-form.app-standard-form--occurrence, .occurrence-p24-resident-create, .occurrence-p27-resident-create) .field { min-width: 0; }
:is(.occurrence-p31-form.app-standard-form--occurrence, .occurrence-p24-resident-create, .occurrence-p27-resident-create) .field > label {
    display: inline-block;
    margin: 0 0 5px;
    color: var(--cp-component-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .035em;
}
:is(.occurrence-p31-form.app-standard-form--occurrence, .occurrence-p24-resident-create, .occurrence-p27-resident-create) :is(input:not([type="checkbox"]):not([type="radio"]), select) {
    box-sizing: border-box;
    min-height: var(--occurrence-control-height);
    height: var(--occurrence-control-height);
    border-color: var(--cp-component-border);
    border-radius: 12px;
    font-size: .88rem;
}
:is(.occurrence-p31-form.app-standard-form--occurrence, .occurrence-p24-resident-create, .occurrence-p27-resident-create) textarea {
    box-sizing: border-box;
    min-height: 94px;
    padding: 11px 12px;
    border-color: var(--cp-component-border);
    border-radius: 12px;
    font-size: .88rem;
    line-height: 1.4;
}
:is(.occurrence-p31-form.app-standard-form--occurrence, .occurrence-p24-resident-create, .occurrence-p27-resident-create) .search-combobox__control,
:is(.occurrence-p31-form.app-standard-form--occurrence, .occurrence-p24-resident-create, .occurrence-p27-resident-create) .date-input-wrap {
    box-sizing: border-box;
    min-height: var(--occurrence-control-height);
    height: var(--occurrence-control-height);
    border-color: var(--cp-component-border);
    border-radius: 12px;
    overflow: hidden;
}
:is(.occurrence-p31-form.app-standard-form--occurrence, .occurrence-p24-resident-create, .occurrence-p27-resident-create) .search-combobox__input,
:is(.occurrence-p31-form.app-standard-form--occurrence, .occurrence-p24-resident-create, .occurrence-p27-resident-create) .date-input-wrap input {
    min-height: 42px !important;
    height: 42px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
:is(.occurrence-p31-form.app-standard-form--occurrence, .occurrence-p24-resident-create, .occurrence-p27-resident-create) .search-combobox__toggle {
    width: 42px;
    min-width: 42px;
    height: 42px;
    border-radius: 0;
}

/* Anexos compactos: um único + quadrado e prévias alinhadas no próprio fluxo. */
.occurrence-p27-photo-repeater { grid-template-columns: minmax(0, 1fr) 42px; align-items: start; }
.occurrence-p27-photo-row { grid-template-columns: minmax(0, 1fr) 40px 40px; align-items: center; }
.occurrence-p27-photo-repeater > .occurrence-p27-photo-add {
    position: relative;
    align-self: start;
    overflow: hidden;
    line-height: 0;
}
.occurrence-p27-photo-repeater > .occurrence-p27-photo-add svg { display: none !important; }
.occurrence-p27-photo-repeater > .occurrence-p27-photo-add::after {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    content: "+";
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1;
}
.occurrence-p27-photo-row.has-file .occurrence-p27-photo-trigger { min-width: 0; }
.occurrence-p27-photo-row.has-file .occurrence-p27-photo-trigger__label { font-size: .72rem; }
.occurrence-p27-photo-row.has-file [data-photo-name] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.occurrence-p27-photo-row:not(.has-file) .occurrence-p27-photo-remove,
.occurrence-p27-photo-row:not(.has-file) .occurrence-p27-photo-preview { display: none !important; }

/* Card operacional compacto: data e código, assunto e contexto legíveis sem bloco alto. */
.occurrence-canonical-card--operational > summary { grid-template-columns: minmax(0, 1fr) auto; }
.occurrence-canonical-card--operational .delivery-r61-card-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 4px 8px;
}
.occurrence-canonical-card--operational .delivery-r61-kind {
    grid-column: 1 / -1;
    color: var(--cp-component-text);
    font-size: .9rem;
    font-weight: 800;
}
.occurrence-canonical-card--operational .delivery-r61-card-main > p {
    -webkit-line-clamp: 1;
    color: var(--cp-component-muted);
    font-size: .78rem;
}
.occurrence-canonical-card--operational .delivery-r621-history-lines {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 8px;
}
.occurrence-canonical-card--operational .delivery-r621-history-lines small {
    min-width: 0;
    font-size: .69rem;
}

/* Cabeçalhos e widgets do painel seguem a mesma grade de título e ação. */
.dashboard-widget :is(.dashboard-widget__header, .p12-recent-visitors__header) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 14px 14px 10px;
}
.dashboard-widget .dashboard-widget__actions { width: auto; justify-content: flex-end; }
.dashboard-widget { border-color: var(--cp-component-border); border-radius: 15px; }
.dashboard-widget .p12-visitors-table-scroll { border-radius: 12px; }

/* A agenda deixa de parecer uma tabela estranha no mobile: cada atividade é uma linha operacional. */
@media (max-width: 767px) {
    .dashboard-agenda-widget .p12-table-hint { display: none; }
    .dashboard-agenda-widget .p12-visitors-table-scroll { overflow: visible; }
    .dashboard-agenda-table,
    .dashboard-agenda-table tbody,
    .dashboard-agenda-table tr,
    .dashboard-agenda-table th,
    .dashboard-agenda-table td { display: block; width: 100%; box-sizing: border-box; }
    .dashboard-agenda-table thead { display: none; }
    .dashboard-agenda-table tbody { display: grid; gap: 8px; }
    .dashboard-agenda-table tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 4px 9px;
        padding: 10px;
        border: 1px solid var(--cp-component-border);
        border-radius: 12px;
        background: var(--cp-component-surface);
    }
    .dashboard-agenda-table :is(th, td) { padding: 0; border: 0; }
    .dashboard-agenda-table [data-agenda-col="when"] { grid-column: 2; grid-row: 1; font-size: .75rem; color: var(--cp-component-muted); }
    .dashboard-agenda-table [data-agenda-col="title"] { grid-column: 1; grid-row: 1; min-width: 0; }
    .dashboard-agenda-table [data-agenda-col="context"] { grid-column: 1 / -1; color: var(--cp-component-muted); font-size: .77rem; }
    .dashboard-agenda-table [data-agenda-col="status"] { grid-column: 1; }
    .dashboard-agenda-table [data-agenda-col="action"] { grid-column: 2; grid-row: 3; width: auto; }
    .dashboard-agenda-table [data-agenda-col="action"] .btn { min-height: 34px; padding-inline: 10px; }
    .dashboard-widget :is(.dashboard-widget__header, .p12-recent-visitors__header) { grid-template-columns: minmax(0, 1fr) auto; }
    .dashboard-widget .dashboard-widget__actions { width: auto; }
    .occurrence-canonical-status-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); border-radius: 16px; }
    .occurrence-canonical-status-tabs > :is(a, span) { min-height: 44px; border-radius: 12px; }
}
@media (max-width: 340px) {
    .occurrence-canonical-origin-tabs { gap: 3px; padding: 3px; }
    .occurrence-canonical-origin-tabs :is(.p9-tab, .occurrence-p24-channel__item) { padding-inline: 2px; font-size: .62rem; }
}


/* LVF-05-R5B — correções de compactação observadas na revisão visual. */
.occurrence-canonical-origin-tabs :is(.p9-tab, .occurrence-p24-channel__item) {
    padding-inline: 4px;
    font-size: clamp(.61rem, 2.05vw, .76rem);
    letter-spacing: -.018em;
    white-space: nowrap;
    overflow-wrap: normal;
}
.occurrence-canonical-card--operational .delivery-r61-kind { display: block !important; }
@media (max-width: 767px) {
    .occurrence-canonical-card--operational:not([open]) .delivery-r61-card-main > p { display: none; }
}

.occurrence-p27-photo-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
}
.occurrence-p27-photo-row { width: auto; min-width: 0; }
.occurrence-p27-photo-row:not(.has-file) { width: 100%; }
.occurrence-p27-photo-row.has-file {
    display: grid;
    grid-template-columns: 42px 30px;
    gap: 5px;
}
.occurrence-p27-photo-row.has-file .occurrence-p27-photo-trigger { display: none; }
.occurrence-p27-photo-row.has-file .occurrence-p27-photo-preview {
    grid-column: 1;
    display: inline-grid !important;
    width: 42px;
    min-width: 42px;
    height: 42px;
}
html:root:root body .occurrence-p27-photo-row.has-file .occurrence-p27-photo-remove {
    grid-column: 2;
    display: inline-grid !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 !important;
    place-self: center;
    font-size: 0 !important;
    line-height: 0 !important;
}
html:root:root body .occurrence-p27-photo-row.has-file .occurrence-p27-photo-remove::after {
    content: "×";
    font-size: 1.12rem;
    line-height: 1;
}


/* LVF-05-R5C — descrição ocupa a largura estrutural do formulário. */
.occurrence-p31-form.app-standard-form--occurrence .occurrence-description-field {
    grid-column: 1 / -1;
    width: 100%;
}
.occurrence-p31-form.app-standard-form--occurrence .occurrence-description-field textarea {
    display: block;
    width: 100%;
    max-width: none;
}

/* LVF-05-R6 — contratos canônicos reais: Ocorrências, widgets, agenda e anexos. */
/* A. Origem: uma cápsula compartilhada, inclusive a 320 px sem colisão de labels. */
.occurrence-canonical-origin-tabs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 4px !important;
    padding: 4px !important;
    border: 1px solid #b9d9ea !important;
    border-radius: 999px !important;
    background: #e8f4fb !important;
}
.occurrence-canonical-origin-tabs :is(.p9-tab, .occurrence-p24-channel__item) {
    display: flex !important;
    min-width: 0 !important;
    min-height: 42px !important;
    align-items: center;
    justify-content: center;
    padding: 6px 4px !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    color: #47627a !important;
    font-size: clamp(.61rem, 2.05vw, .76rem) !important;
    font-weight: 800 !important;
    letter-spacing: -.018em;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    white-space: nowrap !important;
    overflow: visible !important;
}
.occurrence-canonical-origin-tabs :is(.p9-tab, .occurrence-p24-channel__item).is-active {
    border-color: #a9cfe4 !important;
    background: #fff !important;
    color: #143c58 !important;
    box-shadow: 0 1px 4px rgba(25, 82, 116, .12) !important;
}
@media (max-width: 340px) {
    .occurrence-canonical-origin-tabs { gap: 3px !important; padding: 3px !important; }
    .occurrence-canonical-origin-tabs :is(.p9-tab, .occurrence-p24-channel__item) {
        min-height: 40px !important;
        padding-inline: 1px !important;
        font-size: .60rem !important;
        letter-spacing: -.04em;
    }
}

/* B/C. Painéis Nova/Pesquisar e status usam a mesma família em todos os perfis. */
.occurrence-contract-actions,
.occurrence-p24-actions {
    display: grid;
    gap: 8px;
    margin: 10px 0 12px;
}
.occurrence-contract-panel,
.occurrence-p24-admin .occurrence-contract-panel {
    overflow: hidden;
    border: 1px solid var(--cp-component-border);
    border-radius: 13px;
    background: var(--cp-component-surface);
    box-shadow: none;
}
.occurrence-contract-panel > summary {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) 22px;
    min-height: 46px;
    align-items: center;
    gap: 9px;
    padding: 0 13px;
    color: var(--cp-component-text);
    font-size: .88rem;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}
.occurrence-contract-panel > summary::-webkit-details-marker { display: none; }
.occurrence-contract-panel > summary:hover { background: var(--cp-component-surface-muted); }
.occurrence-contract-panel .occurrence-p24-panel__icon { display: grid; place-items: center; color: var(--cp-component-accent); }
.occurrence-contract-panel .occurrence-p24-panel__chevron { display: grid; place-items: center; transition: transform .18s ease; }
.occurrence-contract-panel[open] .occurrence-p24-panel__chevron { transform: rotate(180deg); }
.occurrence-contract-panel .occurrence-p24-panel__body { padding: 0 13px 14px; }
.occurrence-contract-panel .occurrence-p31-search-form { padding-top: 0; }
.occurrence-canonical-status-tabs {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 4px !important;
    padding: 4px !important;
    border: 1px solid #b9d9ea !important;
    border-radius: 999px !important;
    background: #e8f4fb !important;
}
.occurrence-canonical-status-tabs > :is(a, span) {
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 6px 7px !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    color: #4d687e !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    text-decoration: none;
}
.occurrence-canonical-status-tabs > :is(a, span).is-active {
    border-color: #18a6bb !important;
    background: #fff !important;
    color: #16334a !important;
    box-shadow: 0 1px 4px rgba(25, 82, 116, .12) !important;
}
@media (max-width: 767px) {
    .occurrence-canonical-status-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; border-radius: 16px !important; }
    .occurrence-canonical-status-tabs > :is(a, span) { min-height: 44px !important; border-radius: 12px !important; }
}

/* D. Cartão colapsado compacto: identidade, assunto e contexto em três linhas no máximo. */
.occurrence-contract-card,
.occurrence-canonical-card { border-color: var(--cp-component-border); border-radius: 13px; box-shadow: none; }
.occurrence-canonical-card--operational > summary { padding: 10px 12px !important; }
.occurrence-canonical-card--operational .delivery-r61-card-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3px 8px;
    align-items: center;
}
.occurrence-canonical-card--operational .delivery-r61-unit,
.occurrence-canonical-card--operational .delivery-r61-kind {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.occurrence-canonical-card--operational .delivery-r61-unit {
    color: var(--cp-component-muted) !important;
    font-size: .70rem !important;
    font-weight: 700 !important;
}
.occurrence-canonical-card--operational .delivery-r61-kind {
    grid-column: 1 / -1;
    color: var(--cp-component-text) !important;
    font-size: .90rem !important;
    font-weight: 760 !important;
    line-height: 1.22;
    text-transform: none !important;
}
.occurrence-canonical-card--operational .delivery-r61-card-main > p {
    display: -webkit-box;
    margin: 0 !important;
    overflow: hidden;
    color: var(--cp-component-muted);
    font-size: .76rem;
    line-height: 1.28;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.occurrence-canonical-card--operational .delivery-r621-history-lines { gap: 1px 7px; }
.occurrence-canonical-card--operational .delivery-r621-history-lines small { font-size: .68rem; font-weight: 500; }
.occurrence-canonical-card--operational .delivery-r621-history-lines strong { font-weight: 700; }
@media (max-width: 767px) {
    .occurrence-canonical-card--operational:not([open]) .delivery-r61-card-main > p { display: none; }
}

/* E/F. Mesmo shell de widget; a agenda móvel vira lista operacional, não uma pilha de cards. */
.dashboard-widget {
    border-color: var(--cp-component-border);
    border-radius: 15px;
    box-shadow: none;
}
.dashboard-widget :is(.dashboard-widget__header, .p12-recent-visitors__header) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 14px 14px 10px;
}
.dashboard-widget .dashboard-widget__actions { width: auto; justify-content: flex-end; }
@media (max-width: 767px) {
    .dashboard-agenda-widget .p12-table-hint { display: none; }
    .dashboard-agenda-widget .p12-visitors-table-scroll { overflow: visible; }
    .dashboard-agenda-table,
    .dashboard-agenda-table tbody { display: block; width: 100%; box-sizing: border-box; }
    .dashboard-agenda-table thead { display: none; }
    .dashboard-agenda-table tbody {
        overflow: hidden;
        border: 1px solid var(--cp-component-border);
        border-radius: 12px;
        background: var(--cp-component-surface);
    }
    .dashboard-agenda-table tr {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: start;
        gap: 2px 8px;
        margin: 0;
        padding: 9px 10px;
        border: 0;
        border-bottom: 1px solid var(--cp-component-border);
        border-radius: 0;
        background: transparent;
    }
    .dashboard-agenda-table tr:last-child { border-bottom: 0; }
    .dashboard-agenda-table :is(th, td) { width: auto; padding: 0; border: 0; }
    .dashboard-agenda-table [data-agenda-col="when"] { grid-column: 1; grid-row: 1; color: var(--cp-component-muted); font-size: .70rem; font-weight: 750; white-space: nowrap; }
    .dashboard-agenda-table [data-agenda-col="title"] { grid-column: 2; grid-row: 1; min-width: 0; font-size: .82rem; font-weight: 750; }
    .dashboard-agenda-table [data-agenda-col="context"] { grid-column: 2; grid-row: 2; min-width: 0; color: var(--cp-component-muted); font-size: .73rem; line-height: 1.25; }
    .dashboard-agenda-table [data-agenda-col="status"] { grid-column: 1 / 3; grid-row: 3; font-size: .69rem; }
    .dashboard-agenda-table [data-agenda-col="action"] { grid-column: 3; grid-row: 1 / span 3; align-self: center; width: auto; }
    .dashboard-agenda-table [data-agenda-col="action"] .btn { min-height: 32px; padding: 5px 8px; font-size: .70rem; }
    .dashboard-widget :is(.dashboard-widget__header, .p12-recent-visitors__header) { grid-template-columns: minmax(0, 1fr) auto; }
}

/* G. Uma classe de contrato mantém a geometria de campos compartilhada. */
.occurrence-contract-form {
    --occurrence-control-height: 44px;
}
.occurrence-contract-form :is(input:not([type="checkbox"]):not([type="radio"]), select, .search-combobox__control, .date-input-wrap) {
    border-radius: 12px;
}
.occurrence-contract-form :is(.search-combobox__control, .date-input-wrap) { min-height: var(--occurrence-control-height); }

/* H. Upload: cada miniatura é uma unidade; remoção sobreposta e + adjacente. */
.occurrence-p27-photo-repeater {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center !important;
    gap: 7px !important;
    grid-template-columns: none !important;
}
.occurrence-p27-photo-list {
    display: flex !important;
    flex: 0 1 auto;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px !important;
}
.occurrence-p27-photo-row { display: block !important; width: auto !important; min-width: 0 !important; }
.occurrence-p27-photo-row:not(.has-file) { width: auto !important; }
.occurrence-p27-photo-row:not(.has-file) .occurrence-p27-photo-trigger {
    display: inline-flex;
    min-height: 42px;
    width: auto !important;
    min-width: 154px;
    padding-inline: 11px;
}
.occurrence-p27-photo-row:not(.has-file) .occurrence-p27-photo-trigger small { display: none; }
.occurrence-p27-photo-row.has-file {
    position: relative;
    width: 48px !important;
    height: 48px;
}
.occurrence-p27-photo-row.has-file .occurrence-p27-photo-trigger { display: none !important; }
.occurrence-p27-photo-row.has-file .occurrence-p27-photo-preview {
    display: inline-grid !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    border-radius: 10px;
    overflow: hidden;
}
html:root:root body .occurrence-p27-photo-row.has-file .occurrence-p27-photo-remove {
    position: absolute !important;
    top: -5px !important;
    right: -5px !important;
    z-index: 2;
    display: grid !important;
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    padding: 0 !important;
    place-items: center;
    border: 2px solid var(--cp-component-surface) !important;
    border-radius: 999px !important;
    background: var(--cp-component-text) !important;
    color: #fff !important;
    font-size: 0 !important;
    line-height: 0 !important;
    box-shadow: 0 1px 3px rgba(15, 30, 51, .22);
}
html:root:root body .occurrence-p27-photo-row.has-file .occurrence-p27-photo-remove::after { content: "×"; font-size: .88rem; line-height: 1; }
.occurrence-p27-photo-repeater > .occurrence-p27-photo-add {
    position: static !important;
    flex: 0 0 48px;
    align-self: center !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 10px !important;
}
.occurrence-p27-photo-repeater > small { flex-basis: 100%; margin-top: 1px; }
/* Refinamento R6: metadados operacionais em uma única linha no card fechado. */
@media (max-width: 767px) {
    .occurrence-canonical-card--operational .delivery-r621-history-lines {
        display: block !important;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
    .occurrence-canonical-card--operational .delivery-r621-history-lines small { display: inline; font-size: .67rem; }
    .occurrence-canonical-card--operational .delivery-r621-history-lines small + small::before { content: " · "; }
    .occurrence-canonical-card--operational .delivery-r621-history-lines strong { display: none; }
    .dashboard-agenda-table tr { grid-template-columns: 52px minmax(0, 1fr) auto !important; }
    .dashboard-agenda-table [data-agenda-col="action"] {
        display: block !important;
        width: auto !important;
        grid-column: 3 !important;
        grid-row: 1 / span 3 !important;
        align-self: center !important;
        justify-self: end !important;
    }
    .dashboard-agenda-table [data-agenda-col="status"] { grid-column: 1 / 3 !important; }
}
/* A agenda aprimorada pela camada MRT recebe o mesmo contrato de lista compacta. */
@media (max-width: 767px) {
    .mrt-agenda-groups { display: grid; gap: 10px; margin-top: 10px; }
    .mrt-agenda-group {
        display: grid;
        gap: 4px;
        overflow: hidden;
        border: 1px solid var(--cp-component-border);
        border-radius: 12px;
        background: var(--cp-component-surface);
    }
    .mrt-agenda-group__title { padding: 10px 10px 3px; font-size: .70rem; }
    .mrt-agenda-card {
        display: grid;
        grid-template-columns: 48px minmax(0, 1fr) auto;
        gap: 2px 8px;
        align-items: start;
        padding: 9px 10px;
        border: 0;
        border-bottom: 1px solid var(--cp-component-border);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }
    .mrt-agenda-card:last-child { border-bottom: 0; }
    .mrt-agenda-card__time { grid-column: 1; grid-row: 1; min-width: 0; font-size: .70rem; }
    .mrt-agenda-card__copy { grid-column: 2; grid-row: 1 / span 2; min-width: 0; }
    .mrt-agenda-card__copy strong,
    .mrt-agenda-card__copy a { font-size: .82rem; line-height: 1.2; }
    .mrt-agenda-card__copy p { margin: 2px 0 0; font-size: .73rem; line-height: 1.25; }
    .mrt-agenda-card__meta { grid-column: 1 / 3; grid-row: 3; gap: 4px; margin-top: 1px; }
    .mrt-agenda-card__meta .status { font-size: .68rem; }
    .mrt-agenda-card__action { grid-column: 3; grid-row: 1 / span 3; align-self: center; justify-self: end; }
    .mrt-agenda-card__action .btn { min-height: 32px; padding: 5px 8px; font-size: .70rem; }
}
    .mrt-agenda-card {
        display: grid;
        grid-template-columns: 48px minmax(0, 1fr) auto;
        gap: 2px 8px;
        align-items: start;
        padding: 9px 10px;
        border: 0;
        border-bottom: 1px solid var(--cp-component-border);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }
    .mrt-agenda-card:last-child { border-bottom: 0; }
    .mrt-agenda-card__time { grid-column: 1; grid-row: 1; min-width: 0; font-size: .70rem; }
    .mrt-agenda-card__copy { grid-column: 2; grid-row: 1 / span 2; min-width: 0; }
    .mrt-agenda-card__copy strong,
    .mrt-agenda-card__copy a { font-size: .82rem; line-height: 1.2; }
    .mrt-agenda-card__copy p { margin: 2px 0 0; font-size: .73rem; line-height: 1.25; }
    .mrt-agenda-card__meta { grid-column: 1 / 3; grid-row: 3; gap: 4px; margin-top: 1px; }
    .mrt-agenda-card__meta .status { font-size: .68rem; }
    .mrt-agenda-card__action { grid-column: 3; grid-row: 1 / span 3; align-self: center; justify-self: end; }
    .mrt-agenda-card__action .btn { min-height: 32px; padding: 5px 8px; font-size: .70rem; }
}
@media (max-width: 767px) {
  .occurrence-canonical-card--operational .delivery-r621-history-lines { height: 15px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; line-height: 15px; }
  .occurrence-canonical-card--operational .delivery-r621-history-lines small { display: inline; line-height: 15px; }
}

/* LVF-05-R7 — consolidação de densidade dos contratos já existentes. */
@media (max-width: 767px) {
  /* No estado fechado, o contexto operacional continua acessível na expansão.
     A versão colapsada mantém somente as duas linhas essenciais. */
  .occurrence-canonical-card--operational:not([open]) .delivery-r621-history-lines { display: none !important; }
  .occurrence-canonical-card--operational > summary {
    min-height: 0 !important;
    padding: 8px 11px !important;
  }
  .occurrence-canonical-card--operational .delivery-r61-card-main { gap: 3px !important; }
  .occurrence-canonical-card--operational .delivery-r61-card-line { gap: 2px 6px !important; }

  /* Ações e situação ocupam a própria coluna; nunca uma linha solta. */
  .mrt-agenda-groups { gap: 8px !important; }
  .mrt-agenda-group { gap: 0 !important; }
  .mrt-agenda-group__title { padding: 7px 9px 2px !important; }
  .mrt-agenda-card {
    grid-template-columns: 40px minmax(0, 1fr) auto !important;
    gap: 1px 6px !important;
    padding: 7px 9px !important;
  }
  .mrt-agenda-card__time { font-size: .67rem !important; }
  .mrt-agenda-card__copy strong,
  .mrt-agenda-card__copy a { font-size: .78rem !important; }
  .mrt-agenda-card__copy p { font-size: .69rem !important; margin-top: 1px !important; }
  .mrt-agenda-card__meta { grid-column: 2 !important; grid-row: 2 !important; margin: 0 !important; }
  .mrt-agenda-card__meta .status { font-size: .64rem !important; }
  .mrt-agenda-card__action { grid-column: 3 !important; grid-row: 1 / span 2 !important; }
  .mrt-agenda-card__action .btn { min-height: 30px !important; padding: 4px 7px !important; font-size: .67rem !important; }

  /* Em 390px os headers com uma ação visível mantêm título e ação na mesma linha. */
  .dashboard-occurrence-widget .dashboard-widget__header,
  .dashboard-widget .dashboard-widget__header:has(.dashboard-widget__actions > .btn),
  .dashboard-widget .p12-recent-visitors__header:has(.dashboard-widget__actions > .btn) {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
  }
  .dashboard-occurrence-widget .dashboard-widget__actions,
  .dashboard-widget .dashboard-widget__header:has(.dashboard-widget__actions > .btn) .dashboard-widget__actions,
  .dashboard-widget .p12-recent-visitors__header:has(.dashboard-widget__actions > .btn) .dashboard-widget__actions {
    grid-column: auto !important;
    width: auto !important;
    justify-content: flex-end !important;
  }
  .dashboard-occurrence-widget .dashboard-widget__actions .dashboard-widget-move-wrap { display: none; }
  .dashboard-widget__actions > .btn { min-height: 32px; padding-inline: 9px; font-size: .70rem; }
}
/* LVF-06-R3A — hierarquia mobile da listagem de Entregas. */
@media (max-width: 700px) {
  html:root:root body .delivery-r61-card > summary {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
    min-height: 0;
    padding: 8px 12px;
  }
  html:root:root body .delivery-r61-card .delivery-r61-card-main {
    width: 100%;
    min-width: 0;
  }
  html:root:root body .delivery-r61-card .delivery-r61-card-line {
    align-items: center;
    min-height: 24px;
    gap: 6px;
  }
  html:root:root body .delivery-r61-card .delivery-r61-card-main > p {
    max-width: 100%;
    margin: 4px 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    white-space: normal;
    text-overflow: ellipsis;
    line-height: 1.25;
  }
  html:root:root body .delivery-r61-card .delivery-r621-history-lines {
    display: flex;
    align-items: center;
    min-height: 17px;
  }
  html:root:root body .delivery-r61-card .delivery-r621-history-lines small.delivery-r610-received-line {
    display: flex;
    align-items: center;
    gap: 4px;
    min-height: 17px;
    line-height: 1.1;
    white-space: nowrap;
  }
  html:root:root body .delivery-r61-card .delivery-r612-received-detail {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
  }
  html:root:root body .delivery-r61-card .delivery-r61-card-side {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 40px;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
  }
  html:root:root body .delivery-r61-card .delivery-r61-card-actions {
    width: auto;
    min-width: 0;
    max-width: 100%;
    flex: 0 1 auto;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 5px;
  }
  html:root:root body .delivery-r61-card .delivery-r61-card-actions .btn {
    flex: 0 0 auto;
  }
  html:root:root body .delivery-r61-card .delivery-r61-chevron-button {
    flex: 0 0 26px;
    margin: 0;
  }
}
@media (min-width: 701px) {
  html:root:root body .delivery-r61-card > summary {
    align-items: center;
  }
}
/* LVF-06-R3B — contrato visual do formulário de recebimento.
 * O markup e todos os hooks operacionais permanecem inalterados.
 */
.delivery-r61-create {
  border: 1px solid var(--cp-component-border);
  border-radius: 18px;
  background: var(--cp-component-surface);
  box-shadow: var(--cp-component-shadow);
}
.delivery-r61-form {
  display: grid;
  gap: 12px;
  padding: 16px;
}
.delivery-r61-form .delivery-r61-title {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 28px;
  margin: 0;
  color: var(--cp-component-text);
  font-size: .82rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.delivery-r61-form .delivery-r61-title .app-line-icon {
  width: 18px;
  height: 18px;
  color: var(--cp-primary);
}
.delivery-r61-primary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
}
.delivery-r61-form :is(input:not([type="hidden"]):not([type="file"]), select, textarea) {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  border: 1px solid var(--cp-component-border);
  border-radius: 11px;
  background: var(--cp-field-bg);
  color: var(--cp-component-text);
  font: inherit;
  font-size: .86rem;
  line-height: 1.25;
  padding: 10px 12px;
  box-sizing: border-box;
}
.delivery-r61-form :is(input:not([type="hidden"]):not([type="file"]), select, textarea)::placeholder {
  color: var(--cp-component-muted);
  opacity: 1;
}
.delivery-r61-form :is(input:not([type="hidden"]):not([type="file"]), select, textarea):focus-visible,
.delivery-r61-form .delivery-unit-picker:focus-within {
  border-color: var(--cp-primary);
  outline: 0;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cp-primary) 18%, transparent);
}
.delivery-r61-form .delivery-unit-picker {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  min-width: 0;
  min-height: 44px;
  border: 1px solid var(--cp-component-border);
  border-radius: 11px;
  background: var(--cp-field-bg);
  padding: 0 12px;
}
.delivery-r61-form .delivery-unit-picker input {
  min-height: 42px;
  padding: 9px 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.delivery-r61-form .delivery-r61-field-icon {
  display: grid;
  place-items: center;
  color: var(--cp-component-muted);
}
.delivery-r61-form .delivery-r61-field-icon .app-line-icon {
  width: 16px;
  height: 16px;
}
.delivery-r61-form .delivery-r61-description {
  margin: 0;
}
.delivery-r61-form .delivery-enti2-assist {
  display: grid;
  gap: 8px;
  padding: 11px 12px;
  border: 1px solid color-mix(in srgb, var(--cp-primary) 28%, var(--cp-component-border));
  border-radius: 13px;
  background: color-mix(in srgb, var(--cp-primary) 7%, var(--cp-component-surface));
}
.delivery-r61-form .delivery-enti2-assist__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}
.delivery-r61-form .delivery-enti2-assist__head strong {
  color: var(--cp-component-text);
  font-size: .77rem;
}
.delivery-r61-form .delivery-enti2-assist__status,
.delivery-r61-form .delivery-enti2-summary {
  color: var(--cp-component-muted);
  font-size: .70rem;
  line-height: 1.35;
}
.delivery-r61-form .delivery-enti2-summary {
  margin: 0;
}
.delivery-r61-form .delivery-enti1-tools {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}
.delivery-r61-form .delivery-enti1-scan-trigger,
.delivery-r61-form .delivery-enti1-clear {
  min-height: 40px;
}
.delivery-r61-form .delivery-photo-drop.delivery-r61-photo {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  justify-content: initial;
  gap: 8px;
  min-height: 48px;
  margin: 0;
  padding: 8px 12px;
  border-radius: 12px;
  text-align: left;
}
.delivery-r61-form .delivery-photo-drop.delivery-r61-photo .app-line-icon {
  width: 18px;
  height: 18px;
}
.delivery-r61-form .delivery-photo-drop.delivery-r61-photo strong {
  font-size: .79rem;
}
.delivery-r61-form .delivery-r61-submit {
  width: 100%;
  min-height: 46px;
  margin: 2px 0 0;
  border-radius: 12px;
  font-size: .82rem;
  letter-spacing: .04em;
}
.delivery-r61-form .delivery-extra-fields {
  margin: 0;
  border: 1px solid var(--cp-component-border);
  border-radius: 12px;
  background: var(--cp-component-surface);
}
.delivery-r61-form .delivery-extra-fields > summary {
  min-height: 44px;
  padding: 11px 12px;
  color: var(--cp-component-label);
  font-size: .78rem;
}
.delivery-r61-form .delivery-extra-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 0 12px 12px;
}
.delivery-r61-form .delivery-extra-grid .delivery-observation {
  grid-column: 1 / -1;
}
@media (max-width: 700px) {
  .delivery-r61-form {
    gap: 10px;
    padding: 12px;
  }
  .delivery-r61-primary-grid,
  .delivery-r61-form .delivery-extra-grid {
    grid-template-columns: 1fr;
  }
  .delivery-r61-form .delivery-enti2-assist__head {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }
  .delivery-r61-form .delivery-enti1-tools {
    align-items: stretch;
  }
  .delivery-r61-form .delivery-enti1-scan-trigger {
    flex: 1 1 180px;
  }
  .delivery-r61-form .delivery-enti1-clear {
    flex: 0 0 auto;
  }
}
@media (min-width: 701px) {
  .delivery-r61-form .delivery-r61-submit {
    justify-self: end;
    width: auto;
    min-width: 220px;
  }
}
/* LVF-06-R3B.1 — preenchimento do combobox de Unidade sem alterar hooks. */
.delivery-r61-form .delivery-unit-picker > input {
  grid-column: 2;
  width: auto;
  min-width: 0;
  justify-self: stretch;
  align-self: stretch;
}
/* LVF-06-R3C — contrato visual para detalhe e diálogos operacionais.
 * Mantém endpoints, métodos, tokens e hooks funcionais inalterados.
 */
.delivery-r62-summary,
.delivery-r62-completion,
.delivery-r62-history {
  border: 1px solid var(--cp-component-border);
  border-radius: 18px;
  background: var(--cp-component-surface);
  box-shadow: var(--cp-component-shadow);
}
.delivery-r62-summary {
  align-items: flex-start;
  padding: 16px;
}
.delivery-r62-summary-top {
  align-items: flex-start;
}
.delivery-r62-summary-top h2 {
  margin-top: 8px;
  color: var(--cp-component-text);
}
.delivery-r62-facts {
  gap: 10px;
  margin-top: 14px;
}
.delivery-r62-facts > div {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--cp-component-border);
  border-radius: 11px;
  background: var(--cp-field-bg);
}
.delivery-r62-facts dt {
  color: var(--cp-component-muted);
}
.delivery-r62-facts dd {
  color: var(--cp-component-text);
}
.delivery-r62-completion,
.delivery-r62-history {
  padding: 16px;
}
.delivery-r62-completion-heading {
  align-items: flex-start;
}
.delivery-r62-completion-heading h2,
.delivery-r62-history h2 {
  color: var(--cp-component-text);
}
.delivery-r62-completion-heading > p {
  color: var(--cp-component-muted);
}
.delivery-r62-methods {
  border: 1px solid var(--cp-component-border);
  border-radius: 14px;
  background: var(--cp-component-subtle);
}
.delivery-r62-methods button {
  color: var(--cp-component-label);
}
.delivery-r62-methods button.is-active {
  border-color: var(--cp-primary);
  background: var(--cp-component-surface);
  color: var(--cp-primary);
}
.delivery-r62-method-panel {
  border-color: var(--cp-component-border);
  border-radius: 13px;
  background: var(--cp-component-subtle);
}
.delivery-r62-inline-form,
.delivery-r62-manual-form,
.delivery-r621-confirm-form {
  gap: 10px;
}
.delivery-r62-inline-form label,
.delivery-r62-manual-form label,
.delivery-r621-confirm-form label,
.delivery-r61-dialog-card form > label {
  color: var(--cp-component-label);
  font-size: .72rem;
  font-weight: 760;
}
.delivery-r62-inline-form input,
.delivery-r62-manual-form input,
.delivery-r621-confirm-form input,
.delivery-r61-dialog-card form > label :is(input, select, textarea) {
  min-height: 44px;
  border: 1px solid var(--cp-component-border);
  border-radius: 11px;
  background: var(--cp-field-bg);
  color: var(--cp-component-text);
  font: inherit;
  padding: 10px 12px;
  box-sizing: border-box;
}
.delivery-r62-inline-form input:focus-visible,
.delivery-r62-manual-form input:focus-visible,
.delivery-r621-confirm-form input:focus-visible,
.delivery-r61-dialog-card form > label :is(input, select, textarea):focus-visible {
  border-color: var(--cp-primary);
  outline: 0;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cp-primary) 18%, transparent);
}
.delivery-r62-qr,
.delivery-r621-qr {
  border: 1px solid var(--cp-component-border);
  border-radius: 14px;
}
.delivery-r62-qr-copy,
.delivery-r7-whatsapp-context,
.delivery-r63-object-context {
  color: var(--cp-component-text);
}
.delivery-r62-qr-copy p,
.delivery-r62-qr-copy small,
.delivery-r61-dialog-card form small {
  color: var(--cp-component-muted);
}
.delivery-r62-history .delivery-evidence-list {
  display: grid;
  gap: 0;
}
.delivery-r62-history .delivery-evidence-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--cp-component-border);
}
.delivery-r62-history .delivery-evidence-item:last-child {
  border-bottom: 0;
}
.delivery-r62-history .delivery-evidence-item strong,
.delivery-r62-history .delivery-evidence-item small {
  display: block;
}
.delivery-r62-history .delivery-evidence-item small {
  margin-top: 3px;
  color: var(--cp-component-muted);
}
.delivery-r61-dialog.delivery-r621-dialog {
  width: min(92vw, 590px);
  max-height: min(88vh, 720px);
  border: 1px solid var(--cp-component-border);
  border-radius: 20px;
  background: var(--cp-component-surface);
}
.delivery-r61-dialog .delivery-r61-dialog-card {
  max-width: none;
  padding: 20px;
  background: var(--cp-component-surface);
  color: var(--cp-component-text);
}
.delivery-r61-dialog .delivery-r61-dialog-scroll {
  max-height: min(76vh, 610px);
  padding-right: 2px;
}
.delivery-r61-dialog .delivery-r61-dialog-card > small {
  color: var(--cp-component-muted);
}
.delivery-r61-dialog .delivery-r61-dialog-card > h2 {
  margin: 0 42px 14px 0;
  color: var(--cp-component-text);
  font-size: 1.15rem;
}
.delivery-r61-dialog .delivery-r61-dialog-card > p {
  color: var(--cp-component-muted);
  line-height: 1.45;
}
.delivery-r61-dialog .delivery-r61-dialog-card form {
  display: grid;
  gap: 10px;
}
.delivery-r61-dialog .delivery-r61-dialog-card form > label {
  display: grid;
  gap: 6px;
}
.delivery-r61-dialog .delivery-r61-dialog-card .delivery-r62-methods {
  margin: 4px 0 14px;
}
.delivery-r61-dialog .delivery-r61-dialog-card .delivery-r62-method-panel {
  padding: 12px;
}
.delivery-r61-dialog .delivery-r61-dialog-card .delivery-r621-full {
  min-height: 44px;
}
.delivery-r61-dialog .delivery-r61-dialog-card .delivery-r7-message-preview textarea {
  min-height: 150px;
}
.delivery-r61-dialog .delivery-r61-dialog-card .delivery-r61-dialog-close {
  color: var(--cp-component-label);
}
@media (max-width: 700px) {
  .delivery-r62-summary,
  .delivery-r62-completion,
  .delivery-r62-history {
    padding: 12px;
    border-radius: 15px;
  }
  .delivery-r62-summary {
    display: block;
  }
  .delivery-r62-photo {
    width: 72px;
    height: 72px;
    margin-bottom: 10px;
  }
  .delivery-r62-summary-top {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .delivery-r62-unit {
    margin-top: 0;
  }
  .delivery-r62-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-top: 11px;
  }
  .delivery-r62-facts > div {
    padding: 8px;
  }
  .delivery-r62-completion-heading {
    display: grid;
    gap: 4px;
  }
  .delivery-r62-methods {
    gap: 3px;
  }
  .delivery-r62-methods button {
    min-height: 42px;
    padding-inline: 6px;
    font-size: .74rem;
  }
  .delivery-r62-history .delivery-evidence-item {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }
  .delivery-r61-dialog.delivery-r621-dialog {
    width: calc(100vw - 16px);
    max-height: calc(100vh - 16px);
    border-radius: 18px;
  }
  .delivery-r61-dialog .delivery-r61-dialog-card {
    padding: 15px;
  }
  .delivery-r61-dialog .delivery-r61-dialog-scroll {
    max-height: calc(100vh - 86px);
  }
  .delivery-r61-dialog .delivery-r61-dialog-card .delivery-r62-method-panel {
    padding: 10px;
  }
}



/* AUTH-VISUAL-R2 — autenticação objetiva, shell único e controles canônicos */
body.is-guest .auth-brand-panel,
body.is-guest .auth-card__header > .auth-eyebrow,
body.is-guest .auth-card__header > p,
body.is-guest .n114-recovery-channels {
  display: none;
}

body.is-guest .auth-shell {
  grid-template-columns: minmax(0, 1fr);
}

body.is-guest .auth-stage {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  place-items: center;
}

body.is-guest .auth-card {
  box-sizing: border-box;
  width: min(100%, 448px);
  margin-inline: auto;
}

body.is-guest .auth-card__header {
  margin-bottom: 18px;
}

body.is-guest .auth-card__header h1 {
  margin-block: 0;
}

body.is-guest .login-form--minimal {
  --c1g-field-max: 100%;
  gap: 14px;
}

body.is-guest .login-form--minimal .field {
  gap: 6px;
}

body.is-guest .login-form--minimal .field > input,
body.is-guest .login-form--minimal .password-field,
body.is-guest .login-form--minimal .password-field > input {
  box-sizing: border-box;
  min-height: 44px !important;
  height: 44px !important;
}

body.is-guest .login-form--minimal .field > input,
body.is-guest .login-form--minimal .password-field > input {
  width: 100%;
  max-width: none;
  padding-block: 6px !important;
  border-radius: 8px;
}

body.is-guest .login-form--minimal .password-field {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: 44px !important;
  height: 44px !important;
  max-height: 44px;
  box-sizing: border-box;
  align-self: start;
}

body.is-guest .login-form--minimal .password-field > input {
  display: block;
  box-sizing: border-box;
  padding-right: 78px !important;
}

body.is-guest .login-form--minimal .password-field > button {
  position: absolute;
  z-index: 1;
  top: 2px;
  right: 2px;
  width: auto;
  min-width: 0;
  min-height: 40px !important;
  height: 40px !important;
  margin: 0;
  box-sizing: border-box;
  align-self: auto;
}

@media (max-width: 1023px) {
  body.is-guest .auth-stage {
    padding-inline: 16px;
  }

  body.is-guest .auth-card {
    width: min(100%, 448px);
  }
}
/* ADMIN-SHELL-R1 — navegação administrativa compartilhada */
:root {
  --sidebar-bg: var(--cp-surface);
  --sidebar-border: var(--cp-border);
  --sidebar-text: var(--cp-fg);
  --sidebar-icon: var(--cp-fg);
  --sidebar-text-muted: var(--cp-muted);
  --sidebar-hover-bg: var(--cp-accent-soft);
  --sidebar-hover-text: var(--cp-accent-strong);
  --sidebar-active-bg: var(--cp-accent);
  --sidebar-active-text: #fff;
}

body.is-authenticated .sidebar {
  box-sizing: border-box;
  overflow-x: clip;
  background: var(--sidebar-bg);
  border-right: 1px solid var(--sidebar-border);
  color: var(--sidebar-text);
}

body.is-authenticated .sidebar-group h2 {
  color: var(--sidebar-text-muted);
}

body.is-authenticated .sidebar-link {
  color: var(--sidebar-text);
}

body.is-authenticated .sidebar-link__icon,
body.is-authenticated .sidebar-link__icon .app-icon,
body.is-authenticated .sidebar-submenu__chevron,
body.is-authenticated .sidebar-submenu__chevron .app-icon {
  color: var(--sidebar-icon);
}

body.is-authenticated .sidebar-link:hover,
body.is-authenticated .sidebar-link:focus-visible,
body.is-authenticated .sidebar-submenu > summary:hover,
body.is-authenticated .sidebar-submenu > summary:focus-visible {
  background: var(--sidebar-hover-bg);
  color: var(--sidebar-hover-text);
}

body.is-authenticated .sidebar-link:hover .app-icon,
body.is-authenticated .sidebar-link:focus-visible .app-icon,
body.is-authenticated .sidebar-submenu > summary:hover .app-icon,
body.is-authenticated .sidebar-submenu > summary:focus-visible .app-icon {
  color: var(--sidebar-hover-text);
}

body.is-authenticated .sidebar-link.is-active,
body.is-authenticated .sidebar-link.is-active-parent,
body.is-authenticated .sidebar-submenu[open] > summary.is-active-parent {
  background: var(--sidebar-active-bg);
  color: var(--sidebar-active-text);
}

body.is-authenticated .sidebar-link.is-active .app-icon,
body.is-authenticated .sidebar-link.is-active-parent .app-icon,
body.is-authenticated .sidebar-submenu[open] > summary.is-active-parent .app-icon {
  color: var(--sidebar-active-text);
}

body.is-authenticated .sidebar-navigation-layout .sidebar-link:focus-visible,
body.is-authenticated .sidebar-navigation-layout .sidebar-submenu > summary:focus-visible,
body.is-authenticated .sidebar-navigation-layout .sidebar-user-menu > summary:focus-visible {
  outline: 3px solid color-mix(in oklch, var(--cp-accent) 42%, transparent);
  outline-offset: 2px;
}

body.is-authenticated .notification-nav-badge {
  background: var(--sidebar-hover-bg);
  color: var(--sidebar-hover-text);
}

body.is-authenticated .sidebar-link.is-active .notification-nav-badge {
  background: color-mix(in oklch, #fff 86%, var(--cp-accent));
  color: var(--sidebar-active-bg);
}

body.is-authenticated .sidebar-user-menu > summary {
  color: var(--sidebar-text);
  background: var(--cp-surface);
  border-color: var(--sidebar-border);
}

body.is-authenticated .sidebar-user-menu > summary:hover,
body.is-authenticated .sidebar-user-menu[open] > summary {
  background: var(--sidebar-hover-bg);
  border-color: var(--sidebar-border);
}

body.is-authenticated .sidebar-user-menu__identity strong,
body.is-authenticated .sidebar-user-menu__chevron {
  color: var(--sidebar-text);
}

body.is-authenticated .sidebar-user-menu__identity small {
  color: var(--sidebar-text-muted);
}

body.is-authenticated .sidebar-user-menu__panel {
  background: var(--cp-surface);
  border-color: var(--sidebar-border);
  color: var(--sidebar-text);
}

body.is-authenticated .sidebar-user-menu__panel a:hover,
body.is-authenticated .sidebar-user-menu__panel button:hover {
  background: var(--sidebar-hover-bg);
  color: var(--sidebar-hover-text);
}

body.is-authenticated .theme-switch,
body.is-authenticated .sidebar-theme-setting {
  display: none !important;
}

@media (min-width: 1024px) {
  body.is-authenticated .sidebar-navigation-layout .sidebar {
    width: var(--cp-sidebar-expanded, 276px);
    max-width: var(--cp-sidebar-expanded, 276px);
    min-width: var(--cp-sidebar-expanded, 276px);
    transform: none !important;
  }

  body.is-authenticated .sidebar-navigation-layout .app-content {
    margin-left: var(--cp-sidebar-expanded, 276px);
  }

  
  body.is-authenticated .sidebar-navigation-layout .sidebar-backdrop{
    display: none !important;
  }

  body.is-authenticated .sidebar-navigation-layout.is-sidebar-collapsed .sidebar {
    width: var(--cp-sidebar-collapsed, 84px);
    max-width: var(--cp-sidebar-collapsed, 84px);
    min-width: var(--cp-sidebar-collapsed, 84px);
    padding-inline: 10px;
  }

  body.is-authenticated .sidebar-navigation-layout.is-sidebar-collapsed .app-content {
    margin-left: var(--cp-sidebar-collapsed, 84px);
  }

  body.is-authenticated .is-sidebar-collapsed .sidebar-user-menu > summary {
    grid-template-columns: 1fr;
    justify-items: center;
    padding-inline: 8px;
  }

  body.is-authenticated .is-sidebar-collapsed .sidebar-user-menu__identity,
  body.is-authenticated .is-sidebar-collapsed .sidebar-user-menu__chevron,
  body.is-authenticated .is-sidebar-collapsed .sidebar-group h2,
  body.is-authenticated .is-sidebar-collapsed .sidebar-link__label,
  body.is-authenticated .is-sidebar-collapsed .sidebar-link > .notification-nav-badge,
  body.is-authenticated .is-sidebar-collapsed .sidebar-submenu__chevron {
    display: none;
  }

  body.is-authenticated .is-sidebar-collapsed .sidebar-link,
  body.is-authenticated .is-sidebar-collapsed .sidebar-submenu > summary {
    justify-content: center;
    padding-inline: 0;
  }

  body.is-authenticated .is-sidebar-collapsed .sidebar-link__icon {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
  }

  body.is-authenticated .is-sidebar-collapsed .sidebar-user-menu__panel {
    left: 74px;
    right: auto;
    top: 0;
    width: 235px;
  }
}

/* ENTI-OCR-R1 — fonte canônica do endereço postal do condomínio. */
.postal-settings-description{max-width:760px;margin-bottom:0}
.postal-settings-condo{margin:8px 0 0}
.postal-settings-condo strong{color:var(--cp-fg)}
.postal-settings-grid{display:grid;gap:0 18px;min-width:0;max-width:760px}
.postal-settings-grid>.field{min-width:0}
.postal-settings-grid :is(input,select),.postal-settings-reference input{width:100%;max-width:none;box-sizing:border-box}
.postal-settings-grid--street{grid-template-columns:minmax(0,2fr) minmax(130px,.55fr)}
.postal-settings-grid--district{grid-template-columns:repeat(2,minmax(0,1fr))}
.postal-settings-grid--locality{grid-template-columns:minmax(0,1.45fr) minmax(150px,.62fr) minmax(150px,.68fr)}
.postal-settings-reference{max-width:760px}
@media(max-width:767px){
  .postal-settings-grid--street,
  .postal-settings-grid--district,
  .postal-settings-grid--locality{grid-template-columns:1fr}
}

/* ENTI-OCR-R2 — preview derivado; nenhuma variação é persistida. */
.postal-variation-preview{max-width:760px;margin-top:18px;padding:14px;border:1px solid var(--cp-border);border-radius:var(--cp-radius-sm);background:oklch(.975 .008 250)}
.postal-variation-preview__heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.postal-variation-preview__heading>strong{color:var(--cp-fg)}
.postal-variation-preview__heading>span{flex:0 0 auto;padding:3px 8px;border-radius:999px;background:var(--cp-surface);color:var(--cp-muted);font-size:.68rem;font-weight:750}
.postal-variation-preview>p{margin:7px 0 0;color:var(--cp-muted)}
.postal-variation-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none}
.postal-variation-list li{min-width:0;padding:9px 10px;border:1px solid var(--cp-border);border-radius:9px;background:var(--cp-surface);color:var(--cp-fg);overflow-wrap:anywhere}
.postal-variation-preview .postal-variation-preview__empty{margin-top:12px;padding:10px;border-radius:9px;background:var(--cp-surface);color:var(--cp-fg)}
@media(max-width:767px){.postal-variation-preview{padding:12px}.postal-variation-preview__heading{align-items:flex-start;flex-direction:column}.postal-variation-list{grid-template-columns:1fr}}
