.badge-parcialmente-recebido{background:color-mix(in srgb,var(--color-warning) 18%,var(--color-card-background));color:var(--color-warning)}
.preview-table{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--color-border);border-radius:var(--radius-md,12px);overflow:hidden;background:var(--color-surface-secondary);color:var(--color-text-primary)}
.preview-table>*{padding:var(--space-2,.5rem) var(--space-3,.75rem);border-bottom:1px solid var(--color-border);font-size:12px}
.preview-table>b{background:var(--color-surface-elevated);color:var(--color-text-primary)}
.text-purple{color:var(--color-secondary)}
.modal{z-index:1060}
.modal-backdrop{z-index:1050}
.modal-backdrop.show{opacity:.55}
.modal-content{background:var(--color-card-background);border:1px solid var(--color-card-border);border-radius:var(--radius-lg,18px);box-shadow:var(--shadow-lg);overflow:hidden;color:var(--color-text-primary)}
.modal-header{padding:var(--space-6,1.5rem) var(--space-6,1.5rem) var(--space-4,1rem);border-bottom:1px solid var(--color-border)}
.modal-body{padding:var(--space-6,1.5rem)}
.modal-footer{padding:var(--space-4,1rem) var(--space-6,1.5rem) var(--space-6,1.5rem);border-top:1px solid var(--color-border);gap:var(--space-3,.75rem)}
.modal-title{color:var(--color-text-primary);font-weight:700}
.modal-subtitle{margin:var(--space-1,.25rem) 0 0;color:var(--color-text-secondary);font-size:.9rem}
.modal .form-control,.modal .form-select{width:100%;min-height:2.75rem}
.modal textarea.form-control{min-height:6.25rem;resize:vertical}
.modal label{display:block;margin-bottom:var(--space-2,.5rem);color:var(--color-text-primary);font-weight:600}
.modal .form-check-label{display:inline;margin-bottom:0}
.confirmation-summary{background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md,12px);padding:var(--space-4,1rem);display:grid;gap:var(--space-1,.25rem)}
.confirmation-summary strong{color:var(--color-text-primary)}
.confirmation-summary span{color:var(--color-text-secondary);font-size:.9rem}

/* Shared form and field-preference components */
.modal-shell__header{align-items:flex-start;gap:var(--space-4,1rem)}
.modal-shell__header>div{min-width:0;padding-right:var(--space-2,.5rem)}
.modal-shell__header .btn-close{flex:0 0 auto;min-width:44px;min-height:44px;margin:-.45rem -.55rem 0 0;border-radius:var(--radius-md,12px)}
.modal-shell__header .btn-close:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px;box-shadow:none}
.modal-eyebrow{display:block;margin-bottom:var(--space-1,.25rem);color:var(--color-primary);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.modal-shell__footer{align-items:center;justify-content:space-between}
.modal-shell__footer .btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2,.5rem);min-height:44px}

.form-grid.row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:row dense;gap:var(--space-4,1rem);margin:0}
.form-grid.row>[class*="col-"]{width:auto;max-width:none;margin:0;padding:0;grid-column:span 4;min-width:0}
.form-grid.row>.col-12{grid-column:1/-1}
.form-grid.row>.col-md-8,.form-grid.row>.col-md-7{grid-column:span 8}
.form-grid.row>.col-md-6{grid-column:span 6}
.form-grid.row>.col-md-5{grid-column:span 4}
.form-grid.row>.col-md-3{grid-column:span 3}
.form-grid.row>.d-none{display:none!important}
.app-form-modal .modal-content{display:flex;max-height:min(860px,calc(100dvh - 2rem));overflow:hidden}
.app-form-modal .modal-header{flex:0 0 auto}
.app-form-modal .modal-content>form{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;overflow:hidden}
.app-form-modal .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.app-form-modal .modal-footer{flex:0 0 auto}
.app-form-modal label:not(.benefit-toggle):not(.form-check-label){margin-bottom:var(--space-2,.5rem);font-size:.84rem;font-weight:750;line-height:1.3}
.app-form-modal .form-control,.app-form-modal .form-select{min-height:46px;border-radius:var(--radius-md,12px);padding:.65rem .85rem;font-size:.94rem;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}
.app-form-modal textarea.form-control{min-height:96px;line-height:1.5}
.app-form-modal .form-control:disabled,.app-form-modal .form-select:disabled{cursor:not-allowed;opacity:.68;background:var(--color-surface-secondary)!important}
.app-form-modal small.text-muted,.form-help{display:block;margin-top:var(--space-2,.5rem);color:var(--color-text-secondary)!important;font-size:.78rem;line-height:1.45;user-select:text}
.required-fields-note{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-text-secondary);font-size:.78rem;line-height:1.4}
.required-fields-note:before{content:"*";display:inline-flex;align-items:center;justify-content:center;flex:0 0 1.25rem;width:1.25rem;height:1.25rem;border:1px solid color-mix(in srgb,var(--color-primary) 35%,var(--color-border));border-radius:999px;color:var(--color-primary);font-size:.75rem;font-weight:900;line-height:1;transform:none}
.app-form-modal label>span[aria-hidden="true"],.conditional-required{color:var(--color-primary);font-weight:900}
.form-info-compact{display:flex;align-items:flex-start;gap:var(--space-2,.5rem);padding:var(--space-3,.75rem) var(--space-4,1rem);border:1px solid color-mix(in srgb,var(--color-info) 24%,var(--color-border));border-radius:var(--radius-md,12px);background:color-mix(in srgb,var(--color-info) 7%,var(--color-card-background));color:var(--color-text-secondary);font-size:.82rem;line-height:1.45}
.form-info-compact i{flex:0 0 auto;color:var(--color-info)}
.installment-preview{display:grid;gap:var(--space-3,.75rem)}
.installment-preview__summary{margin:0;color:var(--color-text-secondary);font-size:.84rem;font-weight:650}

.module-settings-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2,.5rem);min-width:44px;min-height:44px}
.module-settings-modal .modal-dialog{max-width:620px}
.module-settings-modal .modal-content{display:flex;max-height:min(780px,calc(100dvh - 2rem));overflow:hidden}
.module-settings-modal .modal-header,.module-settings-modal .modal-footer{flex:0 0 auto}
.module-settings-modal>.modal-dialog>.modal-content>.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.module-settings-modal .modal-body form{overflow:visible}
.settings-note{display:flex;align-items:flex-start;gap:var(--space-2,.5rem);margin:0 0 var(--space-5,1.25rem);padding:var(--space-3,.75rem) var(--space-4,1rem);border:1px solid color-mix(in srgb,var(--color-info) 24%,var(--color-border));border-radius:var(--radius-md,12px);background:color-mix(in srgb,var(--color-info) 8%,var(--color-card-background));color:var(--color-text-secondary);font-size:.82rem;line-height:1.45}
.settings-note i{flex:0 0 auto;color:var(--color-info);font-size:1rem}
.settings-section+.settings-section{margin-top:var(--space-6,1.5rem)}
.settings-section__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3,.75rem);margin-bottom:var(--space-3,.75rem)}
.settings-section__heading h3{margin:0;color:var(--color-text-primary);font-size:.92rem;font-weight:800}
.settings-section__heading p{margin:.18rem 0 0;color:var(--color-text-secondary);font-size:.78rem;line-height:1.35}
.settings-count{display:grid;place-items:center;min-width:1.6rem;height:1.6rem;padding:0 .4rem;border-radius:999px;background:var(--color-surface-secondary);color:var(--color-text-secondary);font-size:.72rem;font-weight:800}
.settings-list{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg,16px);background:var(--color-card-background)}
.settings-item{display:flex;align-items:center;gap:var(--space-3,.75rem);min-height:64px;margin:0;padding:var(--space-3,.75rem) var(--space-4,1rem);border-bottom:1px solid var(--color-border)}
.settings-item:last-child{border-bottom:0}
.settings-item__icon{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:var(--radius-md,12px);background:var(--color-surface-secondary);color:var(--color-text-secondary)}
.settings-item__content{display:flex;min-width:0;flex:1;flex-direction:column;gap:.12rem}
.settings-item__content strong{color:var(--color-text-primary);font-size:.88rem;font-weight:750}
.settings-item__content small{color:var(--color-text-secondary);font-size:.76rem;line-height:1.35}
.settings-badge{flex:0 0 auto;padding:.28rem .55rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-secondary);color:var(--color-text-secondary);font-size:.68rem;font-weight:800}
.settings-item--switch{cursor:pointer;transition:background-color .15s ease}
.settings-item--switch:hover{background:color-mix(in srgb,var(--color-primary) 5%,var(--color-card-background))}
.settings-item--switch:has(input:focus-visible){outline:3px solid var(--color-focus-ring);outline-offset:-3px}
.switch-control{display:flex;flex:0 0 auto;align-items:center;gap:var(--space-2,.5rem)}
.switch-control .form-check-input{width:3rem;height:1.65rem;margin:0;cursor:pointer;border-color:var(--color-input-border);background-color:var(--color-surface-secondary)}
.switch-control .form-check-input:checked{border-color:var(--color-primary);background-color:var(--color-primary)}
.switch-control .form-check-input:focus{box-shadow:0 0 0 .22rem var(--color-focus-ring)}
.switch-control__state{min-width:3.1rem;color:var(--color-text-secondary);font-size:.7rem;font-weight:750;text-align:right}
.switch-control__on,.switch-control__off{display:none}
.switch-control:has(input:checked) .switch-control__on,.switch-control:has(input:not(:checked)) .switch-control__off{display:inline}
.settings-feedback{margin-top:var(--space-4,1rem);padding:var(--space-3,.75rem) var(--space-4,1rem);border-radius:var(--radius-md,12px);font-size:.82rem}
.settings-feedback.alert-success{background:color-mix(in srgb,var(--color-success) 10%,var(--color-card-background));color:var(--color-success)}
.settings-feedback.alert-danger{background:color-mix(in srgb,var(--color-danger) 10%,var(--color-card-background));color:var(--color-danger)}
.modal-shell__body,.modal-content>form>.modal-body{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--color-text-secondary) 45%,transparent) var(--color-card-background)}
.modal-shell__body::-webkit-scrollbar,.modal-content>form>.modal-body::-webkit-scrollbar{width:8px}
.modal-shell__body::-webkit-scrollbar-track,.modal-content>form>.modal-body::-webkit-scrollbar-track{background:var(--color-card-background)}
.modal-shell__body::-webkit-scrollbar-thumb,.modal-content>form>.modal-body::-webkit-scrollbar-thumb{border:2px solid var(--color-card-background);border-radius:999px;background:color-mix(in srgb,var(--color-text-secondary) 45%,transparent)}

/* Income competence/status options */
.income-form-modal .modal-dialog{max-width:min(860px,calc(100vw - 2rem))}
.income-form-modal .modal-content{max-height:min(860px,calc(100dvh - 2rem));overflow:hidden}
.income-form-modal .modal-content>form{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;overflow:hidden}
.income-form-modal .modal-body{min-height:0;overflow-x:hidden;overflow-y:auto;padding-bottom:var(--space-8,2rem)!important}
.income-form-modal .modal-footer{position:relative;z-index:1;flex:0 0 auto;background:var(--color-card-background);box-shadow:0 -1px 0 var(--color-border)}
.income-competence-section{min-width:0}
.income-competence-section>h3{margin:var(--space-5,1.25rem) 0 var(--space-3,.75rem);font-size:.86rem;font-weight:800;color:var(--color-text-secondary)}
.income-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4,1rem);width:100%}
.form-option-card{display:flex!important;align-items:flex-start;gap:var(--space-3,.75rem);width:100%;min-width:0;min-height:84px;margin:0!important;padding:var(--space-4,1rem);cursor:pointer;border:1px solid var(--color-input-border);border-radius:var(--radius-md,12px);background:var(--color-surface-secondary);transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}
.form-option-card:hover{border-color:color-mix(in srgb,var(--color-primary) 55%,var(--color-input-border));background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface-secondary))}
.form-option-card:has(input:checked){border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface-secondary));box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary) 35%,transparent)}
.form-option-card:has(input:focus-visible){outline:3px solid var(--color-focus-ring);outline-offset:2px}
.form-option-card>.form-check-input{flex:0 0 auto;width:1.1rem;height:1.1rem;margin:.15rem 0 0!important;cursor:pointer}
.form-option-card__content{display:flex;min-width:0;flex-direction:column;gap:.25rem;line-height:1.35}
.form-option-card__content strong{font-size:.94rem;color:var(--color-text-primary)}
.form-option-card__content small{font-size:.8rem;color:var(--color-text-secondary);overflow-wrap:anywhere}

@media(max-width:900px){.form-grid.row>[class*="col-"]:not(.col-12){grid-column:span 6}.form-grid.row>.col-md-8,.form-grid.row>.col-md-7{grid-column:1/-1}}
@media(max-width:700px){
  .income-form-modal .modal-dialog{width:auto;max-width:none;height:100%;margin:0;align-items:flex-end}
  .income-form-modal .modal-content{width:100%;max-height:94dvh;border-radius:var(--radius-lg,18px) var(--radius-lg,18px) 0 0}
  .income-option-grid{grid-template-columns:1fr;gap:var(--space-3,.75rem)}
  .form-option-card{min-height:0}
  .income-form-modal .modal-footer{padding-bottom:calc(var(--space-4,1rem) + env(safe-area-inset-bottom))!important}
}
@media(max-width:600px){
  .form-grid.row>[class*="col-"]{grid-column:1/-1!important}
  .app-form-modal .modal-dialog{width:auto;height:calc(100dvh - 1rem);margin:.5rem;max-width:none}
  .app-form-modal .modal-content{height:100%;max-height:none;border-radius:var(--radius-lg,18px)}
  .app-form-modal .modal-header,.app-form-modal .modal-body,.app-form-modal .modal-footer{padding-inline:var(--space-4,1rem)!important}
  .app-form-modal .modal-footer{padding-bottom:calc(var(--space-4,1rem) + env(safe-area-inset-bottom))!important}
  .module-settings-modal .modal-dialog{align-items:flex-end;width:auto;height:100%;margin:0;max-width:none}
  .module-settings-modal .modal-content{width:100%;max-height:94dvh;border-radius:var(--radius-lg,18px) var(--radius-lg,18px) 0 0;padding-bottom:env(safe-area-inset-bottom)}
  .module-settings-modal .modal-header,.module-settings-modal .modal-body,.module-settings-modal .modal-footer{padding-inline:var(--space-4,1rem)!important}
  .modal-shell__footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .modal-shell__footer .btn{width:100%;white-space:normal}
  .switch-control__state{display:none}
}
@media(max-width:360px){.modal-shell__footer{grid-template-columns:1fr}.modal-shell__footer [data-settings-save]{order:-1}.settings-badge{display:none}}
@media(prefers-reduced-motion:reduce){.settings-item--switch,.app-form-modal .form-control,.app-form-modal .form-select{transition:none}}

/* Native selects keep their form behavior while sharing one theme-aware appearance. */
:root{
  --select-surface:var(--color-input-background,var(--input-bg));
  --select-surface-hover:color-mix(in srgb,var(--color-primary) 4%,var(--select-surface));
  --select-border:var(--color-input-border,var(--color-border));
  --select-border-hover:color-mix(in srgb,var(--color-primary) 48%,var(--select-border));
  --select-text:var(--color-text-primary);
  --select-placeholder:var(--color-text-secondary);
  --select-accent:var(--color-primary);
  --select-focus-ring:var(--color-focus-ring);
  --select-disabled-surface:var(--color-surface-secondary);
  --select-disabled-text:var(--color-text-secondary);
  --select-error:var(--color-danger,#b42318);
  --select-dropdown-surface:var(--color-card-background);
  --select-muted:var(--color-text-secondary);
  --select-accent-soft:var(--color-primary-soft);
  --select-option-hover:var(--color-surface-secondary);
  --select-option-active:var(--color-primary-soft);
  --select-shadow:var(--shadow-lg);
  --select-scrollbar:color-mix(in srgb,var(--color-primary) 55%,var(--color-border));
}
.form-select,.period select{
  width:100%;
  min-width:0;
  min-height:44px;
  padding:.625rem 2.75rem .625rem .875rem;
  border:1px solid var(--select-border)!important;
  border-radius:var(--radius-md,12px);
  background-color:var(--select-surface)!important;
  background-image:linear-gradient(45deg,transparent 50%,var(--select-placeholder) 50%),linear-gradient(135deg,var(--select-placeholder) 50%,transparent 50%)!important;
  background-position:calc(100% - 17px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px)!important;
  background-size:5px 5px,5px 5px!important;
  background-repeat:no-repeat!important;
  color:var(--select-text)!important;
  font:inherit;
  line-height:1.35;
  text-overflow:ellipsis;
  appearance:none;
  transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease;
}
.form-select:hover:not(:disabled),.period select:hover:not(:disabled){border-color:var(--select-border-hover)!important;background-color:var(--select-surface-hover)!important}
.form-select:focus,.period select:focus{border-color:var(--select-accent)!important;outline:0;box-shadow:0 0 0 .22rem var(--select-focus-ring)!important}
.form-select:disabled,.period select:disabled{border-color:var(--select-border)!important;background-color:var(--select-disabled-surface)!important;color:var(--select-disabled-text)!important;cursor:not-allowed;opacity:.72}
.form-select.is-invalid,.form-select[aria-invalid="true"],.period select.is-invalid,.period select[aria-invalid="true"]{border-color:var(--select-error)!important;box-shadow:none}
.form-select.is-invalid:focus,.form-select[aria-invalid="true"]:focus,.period select.is-invalid:focus,.period select[aria-invalid="true"]:focus{box-shadow:0 0 0 .22rem color-mix(in srgb,var(--select-error) 22%,transparent)!important}
.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.875rem;background-image:none!important}
.form-select option,.period select option{background:var(--select-surface);color:var(--select-text)}
@media(max-width:575.98px){.form-select,.period select{min-height:46px;font-size:1rem}}
@media(prefers-reduced-motion:reduce){.form-select,.period select{transition:none}}
.together-select{position:relative;display:inline-block;width:var(--select-original-width);min-width:min(var(--select-original-min-width,0px),100%);max-width:min(var(--select-original-max-width,100%),100%);height:var(--select-original-height);box-sizing:border-box;vertical-align:middle}.together-select__native{width:100%}.together-select.is-enhanced .together-select__native{position:absolute!important;inset:0!important;width:1px!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important}.together-select__trigger{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;width:100%;min-width:0;height:100%;min-height:0;padding:.625rem .875rem;border:1px solid var(--select-border);border-radius:var(--radius-md,12px);background:var(--select-surface);color:var(--select-text);font:inherit;line-height:1.35;text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.together-select__value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.together-select__chevron{width:.55rem;height:.55rem;margin-right:.2rem;border-right:2px solid var(--select-muted);border-bottom:2px solid var(--select-muted);transform:rotate(45deg) translateY(-2px);transition:transform .15s ease}.together-select.is-open .together-select__chevron{transform:rotate(225deg) translate(-2px,-2px)}.together-select__trigger:hover:not(:disabled){border-color:var(--select-border-hover);background:var(--select-surface-hover)}.together-select__trigger:focus-visible,.together-select.is-open .together-select__trigger{border-color:var(--select-accent);outline:0;box-shadow:0 0 0 .22rem var(--select-focus-ring)}.together-select__trigger:disabled{background:var(--select-disabled-surface);color:var(--select-disabled-text);cursor:not-allowed;opacity:.72}.together-select__dropdown{position:fixed;z-index:var(--z-popover,1085);max-width:calc(100vw - 32px);max-height:min(16rem,calc(100vh - 32px));box-sizing:border-box;padding:.375rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--select-border-hover);border-radius:var(--radius-md,12px);background:var(--select-dropdown-surface);color:var(--select-text);box-shadow:var(--select-shadow);scrollbar-width:thin;scrollbar-color:var(--select-scrollbar) transparent}.together-select__option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;width:100%;min-height:2.5rem;padding:.55rem .75rem;border:0;border-radius:var(--radius-sm,8px);background:transparent;color:var(--select-text);font:inherit;text-align:left;white-space:normal;word-break:normal;overflow-wrap:break-word;cursor:pointer}.together-select__option:hover,.together-select__option.is-active,.together-select__option:focus-visible{background:var(--select-option-hover);color:var(--select-text);outline:0}.together-select__option[aria-selected="true"]{background:var(--select-option-active);color:var(--select-accent);font-weight:750}.together-select__option[aria-selected="true"]::after{content:"✓";color:var(--select-accent);font-weight:850}.together-select__option:disabled{color:var(--select-disabled-text);cursor:not-allowed;opacity:.65}.together-select__dropdown:empty::before{content:"Nenhuma opção disponível";display:block;padding:.75rem;color:var(--select-muted)}
@media(max-width:575.98px),(hover:none),(pointer:coarse){.together-select__trigger,.together-select__dropdown{display:none!important}.together-select.is-enhanced .together-select__native{position:static!important;width:100%!important;height:auto!important;min-height:46px!important;padding:.625rem 2.75rem .625rem .875rem!important;overflow:visible!important;clip:auto!important;clip-path:none!important;white-space:normal!important;opacity:1!important;pointer-events:auto!important}}
@media(prefers-reduced-motion:reduce){.together-select__trigger,.together-select__chevron{transition:none}}

/* New goal modal: responsive visual structure; field names and values stay native. */
.goal-modal .modal-dialog{width:auto;max-width:min(620px,calc(100vw - 2rem));margin-inline:auto}.goal-modal .goal-modal__form{display:flex;max-height:calc(100dvh - 2rem);flex-direction:column;overflow:hidden}.goal-modal .modal-header,.goal-modal .modal-footer{flex:0 0 auto}.goal-modal .modal-body{flex:1 1 auto;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.goal-modal .modal-body>[class*="col-"]{min-width:0}.goal-modal .form-label{margin-bottom:.45rem;font-weight:700}.goal-modal .together-select,.goal-modal .together-select__trigger,.goal-modal .form-control,.goal-modal .form-select{width:100%;min-width:0;max-width:100%}.goal-modal .form-control-color{height:44px;padding:.35rem;border-radius:var(--radius-md,12px);cursor:pointer}.goal-modal .form-control-color::-webkit-color-swatch-wrapper{padding:0}.goal-modal .form-control-color::-webkit-color-swatch{border:0;border-radius:calc(var(--radius-md,12px) - 5px)}.goal-modal .form-control-color::-moz-color-swatch{border:0;border-radius:calc(var(--radius-md,12px) - 5px)}.goal-modal textarea.form-control{min-height:6.5rem;resize:vertical}.goal-modal .modal-footer .btn{min-height:2.65rem;padding-inline:1rem}
@media(max-width:575.98px){.goal-modal .modal-dialog{align-items:flex-end;width:auto;max-width:none;height:100%;margin:0}.goal-modal .goal-modal__form{width:100%;max-height:94dvh;border-radius:var(--radius-lg,18px) var(--radius-lg,18px) 0 0}.goal-modal .modal-header,.goal-modal .modal-body,.goal-modal .modal-footer{padding-inline:var(--space-4,1rem)!important}.goal-modal .modal-footer{display:grid;grid-template-columns:1fr 1fr;padding-bottom:calc(var(--space-4,1rem) + env(safe-area-inset-bottom))!important}.goal-modal .modal-footer .btn{width:100%;margin:0}}
@media(max-width:360px){.goal-modal .modal-footer{grid-template-columns:1fr}.goal-modal .modal-footer .btn-primary{order:-1}}

/* Revenue page: presentation only; behavior remains on the native controls and js-* hooks. */
.revenue-page{--revenue-surface:var(--color-card-background);--revenue-surface-soft:var(--color-surface-secondary);--revenue-border:var(--color-border);--revenue-text:var(--color-text-primary);--revenue-muted:var(--color-text-secondary);--revenue-accent:var(--color-primary);--revenue-accent-soft:var(--color-primary-soft);--revenue-success:var(--color-success,var(--bs-success));--revenue-danger:var(--color-danger,var(--bs-danger));color:var(--revenue-text)}
.revenue-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.15rem}.revenue-toolbar__period{display:flex;align-items:center;gap:.65rem;width:max-content;max-width:100%;padding:.7rem;border:1px solid var(--revenue-border);border-radius:var(--radius-lg,16px);background:var(--revenue-surface);box-shadow:var(--shadow-sm)}.revenue-toolbar__period>select{width:auto;min-width:6rem;height:2.75rem}.revenue-toolbar__period>#income-budget-month{min-width:7.25rem}.revenue-toolbar__period .context-help{margin:0 .2rem}.revenue-toolbar__period .btn,.revenue-toolbar__actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:.6rem 1rem;white-space:nowrap}.revenue-toolbar__actions{display:flex;align-items:center;gap:.65rem;margin-left:auto}
.revenue-table-card{overflow:hidden;border:1px solid var(--revenue-border);border-radius:var(--radius-lg,16px);background:var(--revenue-surface);box-shadow:var(--shadow-sm)}.revenue-table-scroll{width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.revenue-table{min-width:70rem;margin:0;color:var(--revenue-text)}.revenue-table>:not(caption)>*>*{padding:1rem .9rem;border-color:var(--revenue-border);background:transparent;color:inherit}.revenue-table thead th{padding-top:1.05rem;padding-bottom:.85rem;color:var(--revenue-muted);font-size:.72rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap}.revenue-table tbody tr{transition:background-color .15s ease}.revenue-table tbody tr:hover{background:color-mix(in srgb,var(--revenue-accent) 4%,transparent)}.revenue-table tbody tr:last-child>*{border-bottom:0}.revenue-cell{display:flex;align-items:center;gap:.8rem;min-width:14rem}.revenue-cell__icon{display:grid;place-items:center;flex:0 0 2.55rem;width:2.55rem;height:2.55rem;border:1px solid color-mix(in srgb,var(--revenue-accent) 26%,var(--revenue-border));border-radius:.75rem;background:var(--revenue-accent-soft);color:var(--revenue-accent);font-size:1.05rem}.revenue-cell__content{display:block;min-width:0}.revenue-cell__title{display:block;line-height:1.35}.revenue-cell__content small{display:block;margin-top:.2rem;color:var(--revenue-muted);font-size:.75rem}.revenue-table__person{max-width:18rem;overflow-wrap:anywhere}.revenue-table__number{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.revenue-table__received,.revenue-table__positive{color:var(--revenue-success)!important}.revenue-table__negative{color:var(--revenue-danger)!important}.revenue-table__neutral{color:var(--revenue-muted)!important}.revenue-table__date{font-variant-numeric:tabular-nums;white-space:nowrap}.revenue-status{display:inline-flex;align-items:center;min-height:1.65rem;padding:.22rem .6rem;border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:999px;background:color-mix(in srgb,currentColor 10%,transparent);font-size:.72rem;font-weight:750;line-height:1}.revenue-row-actions{display:flex;align-items:center;gap:.4rem}.revenue-action{display:grid;place-items:center;width:2.35rem;height:2.35rem;padding:0;border:1px solid var(--revenue-border);border-radius:.7rem;background:var(--revenue-surface-soft);color:var(--revenue-text);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .15s ease}.revenue-action:hover{border-color:var(--revenue-accent);background:var(--revenue-accent-soft);color:var(--revenue-accent);transform:translateY(-1px)}.revenue-action:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.revenue-action--receive{border-color:color-mix(in srgb,var(--revenue-success) 28%,var(--revenue-border));background:color-mix(in srgb,var(--revenue-success) 12%,var(--revenue-surface));color:var(--revenue-success)}.revenue-action--delete{color:var(--revenue-danger)}.revenue-table-footer{display:flex;align-items:center;justify-content:space-between;min-height:4rem;padding:.85rem 1rem;border-top:1px solid var(--revenue-border);color:var(--revenue-muted);font-size:.88rem}.revenue-table-footer span{display:inline-flex;align-items:center;gap:.55rem}
@media(max-width:767.98px){.revenue-toolbar{align-items:stretch}.revenue-toolbar__period{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);width:100%}.revenue-toolbar__period .context-help{grid-row:1;align-self:center}.revenue-toolbar__period .together-select{width:100%!important}.revenue-toolbar__budget{grid-column:1/-1}.revenue-toolbar__actions{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-left:0}.revenue-toolbar__actions .btn{width:100%}.revenue-table>:not(caption)>*>*{padding:.85rem .75rem}}
@media(max-width:420px){.revenue-toolbar__actions{grid-template-columns:1fr}.revenue-toolbar__period{grid-template-columns:auto minmax(0,1fr)}.revenue-toolbar__period .together-select:last-of-type{grid-column:2}.revenue-toolbar__budget{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.revenue-table tbody tr,.revenue-action{transition:none}}

/* Accounts page: visual layer only; native filters and data/js hooks remain authoritative. */
.accounts-page{--accounts-surface:var(--color-card-background);--accounts-surface-soft:var(--color-surface-secondary);--accounts-border:var(--color-border);--accounts-text:var(--color-text-primary);--accounts-muted:var(--color-text-secondary);--accounts-accent:var(--color-primary);--accounts-accent-soft:var(--color-primary-soft);--accounts-success:var(--color-success,var(--bs-success));--accounts-warning:var(--color-warning,var(--bs-warning));--accounts-danger:var(--color-danger,var(--bs-danger));max-width:100%;color:var(--accounts-text)}
.accounts-page .accounts-toolbar-layout{display:flex;align-items:stretch;justify-content:space-between;gap:1rem;max-width:100%;margin-bottom:1.15rem}.accounts-page .accounts-toolbar{display:flex;align-items:center;flex:1 1 auto;gap:.65rem;min-width:0;padding:.7rem;border:1px solid var(--accounts-border);border-radius:var(--radius-lg,16px);background:var(--accounts-surface);box-shadow:var(--shadow-sm)}.accounts-page .accounts-toolbar .context-help{flex:0 0 auto;margin:0 .15rem}.accounts-page .accounts-toolbar .form-control,.accounts-page .accounts-toolbar .form-select,.accounts-page .accounts-toolbar .btn{min-height:2.75rem}.accounts-page .accounts-toolbar .together-select{flex:0 1 auto}.accounts-page .accounts-toolbar__search{flex:1 1 15rem;width:auto;min-width:10rem}.accounts-page .accounts-toolbar__submit{flex:0 0 auto;padding-inline:1rem}.accounts-page .accounts-toolbar-actions{display:flex;align-items:stretch;flex:0 0 auto;gap:.65rem}.accounts-page .accounts-toolbar-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:100%;padding:.65rem 1rem;white-space:nowrap}
.accounts-page .accounts-table-card{max-width:100%;overflow:hidden;border:1px solid var(--accounts-border);border-radius:var(--radius-lg,16px);background:var(--accounts-surface);box-shadow:var(--shadow-sm)}.accounts-page .accounts-table-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.accounts-page .accounts-table{min-width:72rem;margin:0;color:var(--accounts-text)}.accounts-page .accounts-table>:not(caption)>*>*{padding:1rem .85rem;border-color:var(--accounts-border);background:transparent;color:inherit}.accounts-page .accounts-table thead th{padding-top:1.05rem;padding-bottom:.85rem;color:var(--accounts-muted);font-size:.72rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap}.accounts-page .accounts-table tbody tr{transition:background-color .15s ease}.accounts-page .accounts-table tbody tr:hover{background:color-mix(in srgb,var(--accounts-accent) 4%,transparent)}.accounts-page .accounts-table tbody tr:last-child>*{border-bottom:0}.accounts-page .account-cell{display:flex;align-items:center;gap:.8rem;min-width:15rem}.accounts-page .account-cell__icon{display:grid;place-items:center;flex:0 0 2.55rem;width:2.55rem;height:2.55rem;border:1px solid color-mix(in srgb,var(--accounts-accent) 26%,var(--accounts-border));border-radius:.75rem;background:var(--accounts-accent-soft);color:var(--accounts-accent);font-size:1.05rem}.accounts-page .account-cell__content{display:block;min-width:0}.accounts-page .account-cell__title{display:block;line-height:1.35}.accounts-page .account-cell__meta,.accounts-page .accounts-table__date small{display:block;margin-top:.2rem;color:var(--accounts-muted);font-size:.75rem}.accounts-page .account-cell .badge-benefit{display:inline-flex;margin-top:.35rem}.accounts-page .accounts-table__installment,.accounts-page .accounts-table__date{font-variant-numeric:tabular-nums;white-space:nowrap}.accounts-page .accounts-table__number{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.accounts-page .accounts-table__paid{color:var(--accounts-success)!important}.accounts-page .accounts-table__pending{color:var(--accounts-warning)!important}.accounts-page .accounts-budget-transfer{display:inline-flex;margin-top:.35rem;padding:.18rem .45rem;border:1px solid var(--accounts-border);border-radius:999px;background:var(--accounts-surface-soft);color:var(--accounts-muted);font-size:.68rem;font-weight:700}.accounts-page .accounts-status{display:inline-flex;align-items:center;min-height:1.65rem;padding:.22rem .6rem;border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:999px;background:color-mix(in srgb,currentColor 10%,transparent);font-size:.72rem;font-weight:750;line-height:1;white-space:nowrap}.accounts-page .accounts-row-actions{display:flex;align-items:center;gap:.4rem}.accounts-page .accounts-action{display:grid;place-items:center;width:2.35rem;height:2.35rem;padding:0;border:1px solid var(--accounts-border);border-radius:.7rem;background:var(--accounts-surface-soft);color:var(--accounts-text);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .15s ease}.accounts-page .accounts-action:hover{border-color:var(--accounts-accent);background:var(--accounts-accent-soft);color:var(--accounts-accent);transform:translateY(-1px)}.accounts-page .accounts-action:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.accounts-page .accounts-action--pay{border-color:color-mix(in srgb,var(--accounts-success) 28%,var(--accounts-border));background:color-mix(in srgb,var(--accounts-success) 12%,var(--accounts-surface));color:var(--accounts-success)}.accounts-page .accounts-action--cancel{color:var(--accounts-danger)}.accounts-page .accounts-table-footer{display:flex;align-items:center;min-height:4rem;padding:.85rem 1rem;border-top:1px solid var(--accounts-border);color:var(--accounts-muted);font-size:.88rem}.accounts-page .accounts-table-footer span{display:inline-flex;align-items:center;gap:.55rem}
@media(max-width:1100px){.accounts-page .accounts-toolbar-layout{flex-wrap:wrap}.accounts-page .accounts-toolbar-actions{margin-left:auto}.accounts-page .accounts-toolbar{flex-basis:100%}}
@media(max-width:767.98px){.accounts-page .accounts-toolbar-layout{display:grid;grid-template-columns:minmax(0,1fr)}.accounts-page .accounts-toolbar{display:grid!important;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);width:100%}.accounts-page .accounts-toolbar .context-help{grid-column:1}.accounts-page .accounts-toolbar .together-select{width:100%!important;max-width:100%!important}.accounts-page .accounts-toolbar .together-select:has(>.status-filter){grid-column:1/-1}.accounts-page .accounts-toolbar__search{grid-column:1/-1;width:100%;min-width:0}.accounts-page .accounts-toolbar .status-filter{width:100%}.accounts-page .accounts-toolbar__submit{grid-column:1/-1;width:100%}.accounts-page .accounts-toolbar-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-left:0}.accounts-page .accounts-toolbar-actions .btn{width:100%;min-height:2.75rem}.accounts-page .accounts-table>:not(caption)>*>*{padding:.85rem .75rem}}
@media(max-width:420px){.accounts-page .accounts-toolbar{grid-template-columns:auto minmax(0,1fr)}.accounts-page .accounts-toolbar .together-select:has(>select[name="ano"]),.accounts-page .accounts-toolbar .together-select:has(>.status-filter){grid-column:1/-1}.accounts-page .accounts-toolbar-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.accounts-page .accounts-table tbody tr,.accounts-page .accounts-action{transition:none}}

/* Financial records: desktop tables and mobile cards share the same server-rendered data and action hooks. */
.financial-card-list{display:none}
.financial-record-card{box-sizing:border-box;min-width:0;padding:1rem;border:1px solid var(--accounts-border,var(--revenue-border,var(--color-border)));border-radius:var(--radius-lg,16px);background:var(--accounts-surface,var(--revenue-surface,var(--color-card-background)));color:var(--accounts-text,var(--revenue-text,var(--color-text-primary)));box-shadow:var(--shadow-sm)}
.financial-record-card__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.75rem;min-width:0}.financial-record-card__icon{min-width:0}.financial-record-card__identity{min-width:0}.financial-record-card__identity h2{margin:0;font-size:1rem;font-weight:800;line-height:1.3;overflow-wrap:anywhere}.financial-record-card__identity p,.financial-record-card__identity small{display:block;margin:.18rem 0 0;color:var(--accounts-muted,var(--revenue-muted,var(--color-text-secondary)));font-size:.78rem;line-height:1.35;overflow-wrap:anywhere}.financial-record-card__status{align-self:start;max-width:8.5rem;text-transform:capitalize;overflow:hidden;text-overflow:ellipsis}
.financial-record-card__date{display:flex;align-items:center;gap:.65rem;margin-top:1rem;padding:.75rem;border-radius:.75rem;background:var(--accounts-surface-soft,var(--revenue-surface-soft,var(--color-surface-secondary)))}.financial-record-card__date>i{color:var(--accounts-accent,var(--revenue-accent,var(--color-primary)))}.financial-record-card__date span{display:block;min-width:0}.financial-record-card__date small{display:block;color:var(--accounts-muted,var(--revenue-muted,var(--color-text-secondary)));font-size:.72rem}.financial-record-card__date strong{display:block;margin:.08rem 0;font-size:.9rem;font-variant-numeric:tabular-nums}
.financial-record-card__values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:1rem 0 0;padding:0;border-block:1px solid var(--accounts-border,var(--revenue-border,var(--color-border)))}.financial-record-card__values>div{min-width:0;padding:.8rem .55rem}.financial-record-card__values>div+div{border-left:1px solid var(--accounts-border,var(--revenue-border,var(--color-border)))}.financial-record-card__values dt{color:var(--accounts-muted,var(--revenue-muted,var(--color-text-secondary)));font-size:.68rem;font-weight:700;text-transform:uppercase}.financial-record-card__values dd{margin:.2rem 0 0;font-size:.88rem;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.financial-record-card__value--success{color:var(--accounts-success,var(--revenue-success,var(--color-success)))}.financial-record-card__value--warning{color:var(--accounts-warning,var(--color-warning))}.financial-record-card__value--danger{color:var(--revenue-danger,var(--color-danger))}
.financial-record-card__context{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.75rem;color:var(--accounts-muted,var(--color-text-secondary));font-size:.72rem}.financial-record-card__actions{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) 2.75rem;gap:.5rem;margin-top:1rem}.financial-record-card__action{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:auto;min-width:0;height:2.75rem;padding:.55rem .7rem;font-size:.78rem;font-weight:750;white-space:nowrap}.financial-record-card__action--primary{border-color:color-mix(in srgb,var(--color-success) 32%,var(--color-border));background:color-mix(in srgb,var(--color-success) 12%,var(--color-card-background));color:var(--color-success)}.financial-record-card__more{position:relative;min-width:0}.financial-record-card__more summary{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid var(--accounts-border,var(--revenue-border,var(--color-border)));border-radius:.7rem;background:var(--accounts-surface-soft,var(--revenue-surface-soft,var(--color-surface-secondary)));cursor:pointer;list-style:none}.financial-record-card__more summary::-webkit-details-marker{display:none}.financial-record-card__more summary:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.financial-record-card__more[open] .financial-record-card__action{position:absolute;right:0;z-index:5;top:calc(100% + .4rem);width:max-content;min-width:10.5rem;background:var(--accounts-surface,var(--revenue-surface,var(--color-card-background)));box-shadow:var(--shadow-md)}.financial-record-card__action--danger{color:var(--color-danger)}.financial-card-list__empty{border:1px solid var(--color-border);border-radius:var(--radius-lg,16px);background:var(--color-card-background)}
@media(min-width:768px) and (max-width:1024px){.accounts-page .accounts-table{min-width:50rem}.accounts-page .accounts-table__installment,.accounts-page .accounts-table__paid{display:none}.revenue-page .revenue-table{min-width:47rem}.revenue-page .revenue-table__person,.revenue-page .revenue-table__difference{display:none}}
@media(max-width:767.98px){.accounts-page .accounts-table-scroll,.revenue-page .revenue-table-scroll{display:none}.accounts-page .financial-card-list,.revenue-page .financial-card-list{display:grid;gap:.85rem;width:100%;min-width:0;padding:.15rem .15rem calc(5.5rem + env(safe-area-inset-bottom))}.accounts-page .accounts-table-card,.revenue-page .revenue-table-card{overflow:visible;border:0;background:transparent;box-shadow:none}.accounts-page .accounts-table-footer,.revenue-page .revenue-table-footer{min-height:auto;margin-top:.35rem;padding:.65rem .15rem;border-top:0}.accounts-page,.revenue-page{max-width:100%;overflow-x:clip}.financial-record-card *{box-sizing:border-box;min-width:0}}
@media(max-width:360px){.financial-record-card{padding:.85rem}.financial-record-card__header{grid-template-columns:auto minmax(0,1fr)}.financial-record-card__status{grid-column:2;justify-self:start}.financial-record-card__values{grid-template-columns:1fr}.financial-record-card__values>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem .35rem}.financial-record-card__values>div+div{border-top:1px solid var(--accounts-border,var(--revenue-border,var(--color-border)));border-left:0}.financial-record-card__values dd{margin:0}.financial-record-card__actions{grid-template-columns:minmax(0,1fr) 2.75rem}.financial-record-card__actions>.financial-record-card__action:not(.financial-record-card__action--primary){grid-row:2;grid-column:1/-1}.financial-record-card__more{grid-column:2;grid-row:1}}
.context-help{display:inline-flex;position:relative;vertical-align:middle;margin-left:.25rem}.context-help__button{display:inline-grid;place-items:center;width:1.25rem;height:1.25rem;border:1px solid color-mix(in srgb,var(--color-primary) 42%,var(--color-border));border-radius:50%;background:transparent;color:var(--color-primary);font-size:.75rem;font-weight:800;line-height:1}.context-help__bubble{display:none}.context-help__button:hover,.context-help__button[aria-expanded="true"]{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.context-help__button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.planning-summary{margin-top:1rem;padding:1rem;border:1px solid color-mix(in srgb,var(--color-primary) 20%,var(--color-border));border-radius:.75rem;background:color-mix(in srgb,var(--color-primary) 6%,var(--color-card-background))}.planning-summary h3{font-size:.9rem;margin:0 0 .6rem}.planning-summary dl{display:grid;grid-template-columns:max-content 1fr;gap:.35rem .75rem;margin:0;font-size:.85rem}.planning-summary dt{color:var(--color-text-secondary);font-weight:500}.planning-summary dd{margin:0;font-weight:600}
.contextual-field-row{display:grid!important;grid-template-columns:minmax(145px,.8fr) minmax(0,1.2fr);gap:.75rem;align-items:center;min-width:0;padding:.8rem;border:1px solid var(--color-border,#d9e0e8);border-radius:.75rem;background:var(--color-surface-secondary,#f7f8fb)}.contextual-field-row__label{font-weight:650;margin:0}.contextual-field-row__control{width:100%;min-width:0;max-width:100%}.contextual-field-row__help{align-self:center;margin:0}.contextual-field-row__result{grid-column:1/-1;min-width:0;width:100%;padding-top:.25rem;color:var(--color-text-secondary,#52606d);font-size:.84rem;line-height:1.4;overflow-wrap:anywhere}.contextual-field-row__result::before{content:'Resultado desta escolha';display:block;margin-bottom:.15rem;color:var(--color-text-muted,#6c7885);font-size:.7rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase}.contextual-field-row__result[data-state="invalid"]{color:var(--bs-danger,#b42318)}.contextual-field-row .form-option-card,.contextual-field-row .benefit-toggle{margin:0}.contextual-field-row [data-competence-custom]{grid-column:2}.contextual-field-row--stacked{grid-column:1/-1}
@media (max-width:767.98px){.contextual-field-row{grid-template-columns:minmax(0,1fr);gap:.55rem;padding:.75rem}.contextual-field-row__label,.contextual-field-row__control,.contextual-field-row__result{grid-column:1}.context-help__bubble{position:fixed;left:1rem;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));transform:none;width:auto;max-width:none}}
.context-help__bubble{--help-accent:var(--color-primary);--help-accent-soft:var(--color-primary-soft);--help-accent-border:color-mix(in srgb,var(--color-primary) 42%,var(--color-border));--help-surface:color-mix(in srgb,var(--color-primary) 4%,var(--color-card-background));--help-surface-elevated:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface-elevated));--help-text:var(--color-text-primary);--help-text-muted:var(--color-text-secondary);--help-divider:color-mix(in srgb,var(--color-primary) 18%,var(--color-border));--help-shadow:0 18px 48px color-mix(in srgb,#000 30%,transparent);--help-icon-background:var(--help-accent-soft);width:min(26.25rem,88vw);padding:0;overflow:hidden;border:1px solid var(--help-accent-border);border-radius:var(--radius-lg,16px);background:var(--help-surface);color:var(--help-text);text-align:left;box-shadow:var(--help-shadow)}.context-help__header,.context-help__body,.context-help__title,.context-help__summary,.context-help__details,.context-help__section,.context-help__section-content{display:block}.context-help__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:1rem}.context-help__topic-icon,.context-help__section-icon{display:grid;place-items:center;flex:none;border:1px solid color-mix(in srgb,var(--help-accent) 28%,transparent);border-radius:50%;background:var(--help-icon-background);color:var(--help-accent)}.context-help__topic-icon{width:2.65rem;height:2.65rem;font-size:1.15rem}.context-help__title{min-width:0;font-size:1.05rem;font-weight:800;line-height:1.3}.context-help__body{padding:0 1rem 1rem}.context-help__summary{font-weight:700;line-height:1.5}.context-help__details{margin-top:.35rem;color:var(--help-text-muted);line-height:1.55}.context-help__section{padding:1rem;border-top:1px solid var(--help-divider)}.context-help__section small{display:block;margin-bottom:.65rem;color:var(--help-accent);font-size:.69rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.context-help__section-content{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.75rem;min-width:0;line-height:1.5}.context-help__section-icon{width:2.15rem;height:2.15rem;margin-top:.05rem;font-size:.9rem}.context-help__section-content>[data-help-current],.context-help__section-content>[data-help-result]{min-width:0;overflow-wrap:anywhere}.context-help__result{background:color-mix(in srgb,var(--help-accent) 3%,transparent)}.period>.context-help,.filters>.context-help{margin:0 .15rem 0 0;align-self:center}
.context-help__bubble.is-portal-open{display:block;position:fixed;inset:auto;z-index:var(--z-popover,1085);width:max-content;min-width:300px;max-width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-x:hidden;overflow-y:auto;font-size:.9rem;line-height:1.5;overflow-wrap:anywhere;word-break:normal;transform:none;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--help-accent-border) transparent}.context-help__close{display:grid;place-items:center;width:2.5rem;height:2.5rem;padding:0;border:0;border-radius:50%;background:transparent;color:var(--help-text-muted);font-size:1.45rem;line-height:1;cursor:pointer}.context-help__close:hover{background:var(--help-accent-soft);color:var(--help-accent)}.context-help__close:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:1px}
.context-help__bubble:not(.is-portal-open){display:none!important}
@media (max-width:575.98px){.context-help__bubble.is-portal-open{left:12px!important;right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;top:auto!important;width:auto;min-width:0;max-width:none;max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));font-size:.9rem}.context-help__header,.context-help__body,.context-help__section{padding-left:.9rem;padding-right:.9rem}.context-help__topic-icon{width:2.4rem;height:2.4rem}.context-help__close{width:2.75rem;height:2.75rem}.context-help__section-content{gap:.65rem}}

/* Shared final form structure: one scroll region and a permanently reachable footer. */
#newIncome .modal-dialog,#editIncome .modal-dialog,#newBill .modal-dialog,#editPayment .modal-dialog{max-width:min(900px,calc(100vw - 2rem))}
#newIncome .modal-content,#editIncome .modal-content,#newBill .modal-content,#editPayment .modal-content{display:flex;max-height:calc(100dvh - 2rem);overflow:hidden}
#newIncome .modal-content>form,#editIncome .modal-content>form,#newBill .modal-content>form,#editPayment .modal-content>form{display:flex;flex:1 1 auto;min-width:0;min-height:0;flex-direction:column;overflow:hidden}
#newIncome .modal-body,#editIncome .modal-body,#newBill .modal-body,#editPayment .modal-body{flex:1 1 auto;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-bottom:var(--space-8,2rem)!important}
#newIncome .modal-footer,#editIncome .modal-footer,#newBill .modal-footer,#editPayment .modal-footer{position:relative;z-index:1;flex:0 0 auto;background:var(--color-card-background);box-shadow:0 -1px 0 var(--color-border)}
#newIncome .planning-summary,#editIncome .planning-summary,#newBill .planning-summary,#editPayment .planning-summary{width:100%;min-width:0}
.contextual-field-row[class*="col-"]{flex:0 0 100%;width:100%;max-width:100%}
.income-option-grid>.contextual-field-row{grid-column:1/-1}
.field-with-context-help{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-2,.5rem);align-items:end;min-width:0}
.field-with-context-help>label,.field-with-context-help>.form-label,.field-with-context-help>small,.field-with-context-help>.form-help{grid-column:1/-1}
.field-with-context-help__control{grid-column:1;min-width:0}
.field-with-context-help__help{grid-column:2;align-self:center;margin:0}
.field-label-row{display:inline-flex;align-items:center;gap:.45rem;width:max-content;max-width:100%;min-width:0;line-height:1.3;white-space:normal}
.field-label-row>.context-help{display:inline-flex;flex:0 0 auto;margin:0;vertical-align:middle}
.field-label-row>.context-help .context-help__button{min-width:1.5rem;min-height:1.5rem}
#newIncome input[type="date"],#editIncome input[type="date"],#newBill input[type="date"],#editPayment input[type="date"]{width:100%;min-width:0;padding-right:2.75rem}
.flatpickr-calendar{max-width:calc(100vw - 24px)}
.flatpickr-calendar.open{z-index:1095}

@media(max-width:700px){
  #newIncome .modal-dialog,#editIncome .modal-dialog,#newBill .modal-dialog,#editPayment .modal-dialog{align-items:flex-end;width:auto;max-width:none;height:100%;margin:0}
  #newIncome .modal-content,#editIncome .modal-content,#newBill .modal-content,#editPayment .modal-content{width:100%;max-height:94dvh;border-radius:var(--radius-lg,18px) var(--radius-lg,18px) 0 0}
  #newIncome .modal-header,#newIncome .modal-body,#newIncome .modal-footer,#editIncome .modal-header,#editIncome .modal-body,#editIncome .modal-footer,#newBill .modal-header,#newBill .modal-body,#newBill .modal-footer,#editPayment .modal-header,#editPayment .modal-body,#editPayment .modal-footer{padding-inline:var(--space-4,1rem)!important}
  #newIncome .modal-footer,#editIncome .modal-footer,#newBill .modal-footer,#editPayment .modal-footer{padding-bottom:calc(var(--space-4,1rem) + env(safe-area-inset-bottom))!important}
  #newIncome .modal-footer .btn,#editIncome .modal-footer .btn,#newBill .modal-footer .btn,#editPayment .modal-footer .btn{min-height:44px}
}
@media(max-width:375px){
  #newIncome .modal-footer,#editIncome .modal-footer,#newBill .modal-footer,#editPayment .modal-footer{display:grid;grid-template-columns:1fr 1fr}
  #newIncome .modal-footer .btn,#editIncome .modal-footer .btn,#newBill .modal-footer .btn,#editPayment .modal-footer .btn{width:100%;margin:0;white-space:normal}
}

/* Contextual rows inside transaction modals adapt to the modal, not the viewport. */
.income-form-modal .modal-dialog{max-width:min(900px,calc(100vw - 2rem))}
.bill-form-modal .modal-dialog{max-width:min(1040px,calc(100vw - 2rem))}
.income-form-modal .modal-body,.bill-form-modal .modal-body{container-name:transaction-form;container-type:inline-size}
.income-form-modal .form-grid>*,.bill-form-modal .form-grid>*,.income-form-modal .form-control,.income-form-modal .form-select,.bill-form-modal .form-control,.bill-form-modal .form-select{min-width:0;max-width:100%;box-sizing:border-box}
.income-form-modal .contextual-field-row,.bill-form-modal .contextual-field-row{grid-template-columns:minmax(150px,.8fr) minmax(0,1.4fr);width:100%;max-width:100%;overflow:hidden}
.income-form-modal .contextual-field-row__control,.bill-form-modal .contextual-field-row__control{width:100%;max-width:100%}
.income-form-modal .contextual-field-row__result,.bill-form-modal .contextual-field-row__result{grid-column:1/-1;width:100%;padding-top:.35rem;overflow-wrap:anywhere}
.income-form-modal .contextual-field-row:has(>.form-option-card),.income-form-modal .contextual-field-row:has(>.benefit-toggle),.bill-form-modal .contextual-field-row:has(>.form-option-card),.bill-form-modal .contextual-field-row:has(>.benefit-toggle){grid-template-columns:minmax(0,1fr)}
.income-form-modal .contextual-field-row:has(>.form-option-card)>.contextual-field-row__label,.income-form-modal .contextual-field-row:has(>.benefit-toggle)>.contextual-field-row__label,.bill-form-modal .contextual-field-row:has(>.form-option-card)>.contextual-field-row__label,.bill-form-modal .contextual-field-row:has(>.benefit-toggle)>.contextual-field-row__label{display:none}
.income-form-modal .form-option-card,.bill-form-modal .benefit-toggle{display:flex!important;align-items:flex-start;width:100%;min-width:0;min-height:0;gap:var(--space-3,.75rem);padding:var(--space-4,1rem);white-space:normal}
.income-form-modal .form-option-card__content,.bill-form-modal .benefit-toggle>span{display:block;min-width:0;flex:1 1 auto}
.income-form-modal .form-option-card strong,.income-form-modal .form-option-card small,.bill-form-modal .benefit-toggle b,.bill-form-modal .benefit-toggle small{display:block;white-space:normal;overflow-wrap:anywhere}
.income-form-modal .form-option-card .form-check-input,.bill-form-modal .benefit-toggle .form-check-input{position:static;flex:0 0 auto;margin:.15rem 0 0!important}

@container transaction-form (max-width:720px){
  .income-form-modal .contextual-field-row,.bill-form-modal .contextual-field-row{grid-template-columns:minmax(0,1fr) auto}
  .income-form-modal .contextual-field-row__label,.bill-form-modal .contextual-field-row__label{grid-column:1/-1}
  .income-form-modal .contextual-field-row__control,.bill-form-modal .contextual-field-row__control{grid-column:1}
  .income-form-modal .contextual-field-row__help,.bill-form-modal .contextual-field-row__help{grid-column:2}
  .income-form-modal .contextual-field-row__result,.bill-form-modal .contextual-field-row__result{grid-column:1/-1}
}
@container transaction-form (max-width:520px){
  .income-form-modal .contextual-field-row,.bill-form-modal .contextual-field-row,.income-form-modal .contextual-field-row:has(>.form-option-card),.bill-form-modal .contextual-field-row:has(>.benefit-toggle){grid-template-columns:minmax(0,1fr)}
  .income-form-modal .contextual-field-row__label,.income-form-modal .contextual-field-row__control,.income-form-modal .contextual-field-row__help,.income-form-modal .contextual-field-row__result,.bill-form-modal .contextual-field-row__label,.bill-form-modal .contextual-field-row__control,.bill-form-modal .contextual-field-row__help,.bill-form-modal .contextual-field-row__result{grid-column:1}
  .income-form-modal .contextual-field-row__help,.bill-form-modal .contextual-field-row__help{justify-self:start}
}
@media(max-width:600px){
  .income-form-modal .modal-dialog,.bill-form-modal .modal-dialog{max-width:none}
  .income-form-modal .form-grid.row>[class*="col-"],.bill-form-modal .form-grid.row>[class*="col-"]{grid-column:1/-1!important}
  .income-form-modal .modal-body,.bill-form-modal .modal-body{overflow-x:hidden}
  .field-label-row{flex-wrap:wrap;row-gap:.25rem}
}

/* Settings use the same label/help/result pattern without horizontal scrolling. */
.module-settings-modal .modal-body,.module-settings-modal .module-settings-form,.module-settings-modal .module-financial-settings,.module-settings-modal .module-settings-grid,.module-settings-modal .settings-section{width:100%;max-width:100%;min-width:0;overflow-x:hidden}
.module-settings-modal .module-settings-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3,.75rem)}
.module-settings-modal .contextual-field-row{grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;min-width:0}
.module-settings-modal .contextual-field-row__label,.module-settings-modal .contextual-field-row__control,.module-settings-modal .contextual-field-row__result{grid-column:1;min-width:0;max-width:100%}
.module-settings-modal .contextual-field-row__result{padding-top:.25rem}
.module-settings-modal .field-label-row label{display:inline;margin:0;font:inherit;color:inherit}
.planning-summary-panel{display:grid;gap:var(--space-3,.75rem);width:100%;max-width:100%;min-width:0;margin-top:var(--space-4,1rem);padding:var(--space-5,1.25rem);border:1px solid color-mix(in srgb,var(--color-primary) 24%,var(--color-border));border-radius:var(--radius-lg,16px);background:color-mix(in srgb,var(--color-primary) 7%,var(--color-card-background));overflow:hidden}
.planning-summary-panel h3{margin:0;color:var(--color-text-primary);font-size:1rem;font-weight:800}
.planning-summary-panel p{margin:0;line-height:1.55;overflow-wrap:anywhere}
.planning-summary-panel__description{color:var(--color-text-primary);font-size:.88rem}
.planning-summary-panel__examples{display:grid;gap:var(--space-2,.5rem);padding-top:var(--space-3,.75rem);border-top:1px solid var(--color-border)}
.planning-summary-panel__examples>strong{font-size:.8rem;color:var(--color-text-primary)}
.planning-summary-panel__examples>div{display:grid;gap:var(--space-2,.5rem)}
.planning-summary-panel__example{display:grid;grid-template-columns:minmax(110px,.45fr) minmax(0,1fr);gap:var(--space-3,.75rem);padding:.55rem .7rem;border-radius:var(--radius-sm,8px);background:var(--color-surface-secondary);font-size:.8rem;line-height:1.4}
.planning-summary-panel__example span:first-child{color:var(--color-text-secondary);font-weight:700}
.planning-summary-panel__example span:last-child{min-width:0;color:var(--color-text-primary);overflow-wrap:anywhere}
.planning-summary-panel__note{padding-top:var(--space-3,.75rem);border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.78rem}
@media(max-width:575.98px){.planning-summary-panel{padding:var(--space-4,1rem)}.planning-summary-panel__example{grid-template-columns:minmax(0,1fr);gap:.2rem}}

/* Reusable settings assistant: configure on the left, understand on the right. */
.module-settings-modal:has(.settings-assistant) .modal-dialog{max-width:min(1100px,calc(100vw - 2rem))}
.module-settings-modal:has(.settings-assistant) .modal-content{max-height:min(900px,calc(100dvh - 2rem))}
.settings-section--assistant{margin:0}
.settings-assistant{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4,1rem);width:100%;min-width:0;align-items:stretch}
.settings-assistant__pane{width:100%;min-width:0;margin:0;padding:var(--space-5,1.25rem);border:1px solid var(--color-border);border-radius:var(--radius-lg,16px);background:var(--color-card-background);overflow:hidden}
.settings-assistant__configuration{display:grid;align-content:start;gap:var(--space-3,.75rem)}
.settings-assistant__configuration>.settings-section__heading{margin:0 0 var(--space-1,.25rem)}
.settings-assistant__configuration .module-settings-grid{gap:var(--space-2,.5rem)}
.settings-assistant__configuration .contextual-field-row{padding:var(--space-3,.75rem)}
.settings-assistant>.planning-summary-panel{align-content:start;background:color-mix(in srgb,var(--color-primary) 5%,var(--color-card-background))}
@media(max-width:899.98px){
  .module-settings-modal:has(.settings-assistant) .modal-dialog{max-width:min(700px,calc(100vw - 2rem))}
  .settings-assistant{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  .module-settings-modal:has(.settings-assistant) .modal-dialog{width:auto;max-width:none}
  .settings-assistant{gap:var(--space-4,1rem)}
  .settings-assistant__pane{padding:var(--space-4,1rem)}
}

/* Due dates remain regular form cells; help stays beside the title. */
.bill-form-modal .form-grid.row>[data-contextual-row="firstDue"],.bill-form-modal .form-grid.row>[data-contextual-row="installments"]{grid-column:span 4;align-self:start;width:auto;max-width:none}
.bill-form-modal [data-contextual-row="firstDue"],.bill-form-modal [data-contextual-row="installments"]{grid-template-columns:minmax(0,1fr)}
.bill-form-modal [data-contextual-row="firstDue"]>.contextual-field-row__label,.bill-form-modal [data-contextual-row="firstDue"]>.contextual-field-row__control,.bill-form-modal [data-contextual-row="firstDue"]>.contextual-field-row__result,.bill-form-modal [data-contextual-row="installments"]>.contextual-field-row__label,.bill-form-modal [data-contextual-row="installments"]>.contextual-field-row__control,.bill-form-modal [data-contextual-row="installments"]>.contextual-field-row__result{grid-column:1}
@media(max-width:900px){.bill-form-modal .form-grid.row>[data-contextual-row="firstDue"],.bill-form-modal .form-grid.row>[data-contextual-row="installments"]{grid-column:span 6}}
@media(max-width:600px){.bill-form-modal .form-grid.row>[data-contextual-row="firstDue"],.bill-form-modal .form-grid.row>[data-contextual-row="installments"]{grid-column:1/-1}}

/* Resolve the higher specificity of the legacy icon-only action buttons inside mobile cards. */
.accounts-page .financial-record-card__action,.revenue-page .financial-record-card__action{display:inline-flex;width:auto;min-width:0;height:2.75rem;padding:.55rem .7rem}

/* Couple page: presentation-only composition over the existing forms and consent states. */
.couple-page{--couple-surface:var(--color-card-background);--couple-surface-soft:var(--color-surface-secondary);--couple-border:var(--color-border);--couple-text:var(--color-text-primary);--couple-muted:var(--color-text-secondary);--couple-accent:var(--color-primary);--couple-accent-soft:var(--color-primary-soft);display:grid;gap:1.25rem;min-width:0;color:var(--couple-text)}
.couple-overview-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(20rem,1fr);gap:1.25rem;min-width:0}.couple-panel{min-width:0;padding:1.5rem;border:1px solid var(--couple-border);border-radius:var(--radius-lg,16px);background:linear-gradient(145deg,color-mix(in srgb,var(--couple-accent) 3%,var(--couple-surface)),var(--couple-surface));box-shadow:var(--shadow-sm)}.couple-panel__heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;min-width:0}.couple-panel__heading--compact{grid-template-columns:auto minmax(0,1fr)}.couple-panel__heading h2{margin:0;font-size:1.15rem;line-height:1.3}.couple-panel__heading p{margin:.25rem 0 0;color:var(--couple-muted);font-size:.86rem;line-height:1.5}.couple-panel__eyebrow{margin:0 0 .2rem!important;color:var(--couple-accent)!important;font-size:.68rem!important;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.couple-panel__icon{display:grid;place-items:center;flex:none;width:3rem;height:3rem;border:1px solid color-mix(in srgb,var(--couple-accent) 24%,var(--couple-border));border-radius:.9rem;background:var(--couple-accent-soft);color:var(--couple-accent);font-size:1.25rem}.couple-panel__icon--success{border-color:color-mix(in srgb,var(--color-success) 25%,var(--couple-border));background:color-mix(in srgb,var(--color-success) 12%,var(--couple-surface));color:var(--color-success)}
.couple-badge{display:inline-flex;align-items:center;min-height:1.75rem;padding:.3rem .65rem;border:1px solid var(--couple-border);border-radius:999px;background:var(--couple-surface-soft);color:var(--couple-muted);font-size:.7rem;font-weight:800;line-height:1.1;white-space:nowrap}.couple-badge--active{border-color:color-mix(in srgb,var(--color-info) 30%,var(--couple-border));background:color-mix(in srgb,var(--color-info) 13%,var(--couple-surface));color:var(--color-info)}.couple-badge--approved{border-color:color-mix(in srgb,var(--color-success) 28%,var(--couple-border));background:color-mix(in srgb,var(--color-success) 13%,var(--couple-surface));color:var(--color-success)}.couple-badge--private,.couple-badge--inactive{color:var(--couple-muted)}
.couple-summary{display:flex;flex-direction:column}.couple-summary__title-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;min-width:0}.couple-summary__title-row h2{flex:0 1 auto;min-width:0;overflow-wrap:anywhere}.couple-summary__title-row .couple-badge{flex:0 0 auto;width:auto;white-space:nowrap}.couple-summary__facts{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:1rem;margin:1.4rem 0}.couple-fact{display:flex;align-items:flex-start;gap:.75rem;min-width:0;padding:1rem;border:1px solid color-mix(in srgb,var(--couple-border) 75%,transparent);border-radius:.85rem;background:var(--couple-surface-soft)}.couple-fact>i{margin-top:.1rem;color:var(--couple-accent);font-size:1.05rem}.couple-fact span{display:block;min-width:0}.couple-fact small{display:block;color:var(--couple-muted);font-size:.72rem}.couple-fact strong{display:block;margin:.15rem 0;font-size:.92rem;overflow-wrap:anywhere}.couple-fact span span{color:var(--couple-muted);font-size:.78rem;overflow-wrap:anywhere}.couple-summary__actions{display:grid;grid-template-columns:minmax(9rem,.65fr) minmax(0,1.35fr);gap:.75rem;margin-top:auto}.couple-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;border-radius:.75rem;font-weight:750}.couple-end-form{display:grid;grid-template-columns:minmax(10rem,1fr) auto;align-items:end;gap:.75rem;min-width:0}.couple-password{display:grid;gap:.35rem;min-width:0;margin:0;color:var(--couple-muted);font-size:.72rem}.couple-password__field{position:relative;display:block;min-width:0}.couple-password__field>i{position:absolute;z-index:1;top:50%;left:.8rem;transform:translateY(-50%);color:var(--couple-muted);pointer-events:none}.couple-password__field .form-control{width:100%;min-height:2.75rem;padding-left:2.35rem;border-radius:.75rem}.couple-empty-intro{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0;color:var(--couple-muted)}.couple-empty-intro>i{font-size:1.4rem}.couple-invite-form{margin-top:auto}.couple-invite-form .input-group>.form-control{min-width:0}.couple-invite-form .btn{display:inline-flex;align-items:center;gap:.45rem}
.couple-invitations{display:flex;flex-direction:column}.couple-invitations__list{display:grid;gap:.7rem;margin-top:1.25rem}.couple-invitation{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;min-width:0;padding:.85rem;border:1px solid var(--couple-border);border-radius:.8rem;background:var(--couple-surface-soft)}.couple-invitation__icon{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:.7rem;background:var(--couple-accent-soft);color:var(--couple-accent)}.couple-invitation strong,.couple-invitation small{display:block;min-width:0;overflow-wrap:anywhere}.couple-invitation small{margin-top:.2rem;color:var(--couple-muted);font-size:.72rem;line-height:1.4}.couple-invitation__actions{display:flex;gap:.35rem}.couple-invitation__actions form{margin:0}.couple-invitation__actions .btn{display:grid;place-items:center;width:2.5rem;height:2.5rem;padding:0;border-radius:.7rem}.couple-empty-state{display:grid;place-items:center;min-height:9rem;padding:1.35rem;border:1px dashed var(--couple-border);border-radius:.85rem;color:var(--couple-muted);text-align:center}.couple-empty-state i{font-size:2rem;opacity:.65}.couple-empty-state strong{display:block;color:var(--couple-text);font-size:.92rem}.couple-empty-state p{max-width:26rem;margin:.4rem auto 0;font-size:.78rem;line-height:1.5}.couple-invite-form--card{width:100%;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--couple-border)}.couple-invite-form--card .btn{min-height:2.75rem;white-space:nowrap}.couple-invitations__locked{display:flex;align-items:flex-start;gap:.55rem;margin:1rem 0 0;padding:.75rem;border-radius:.75rem;background:var(--couple-surface-soft);color:var(--couple-muted);font-size:.75rem;line-height:1.45}.couple-invitations__locked i{flex:none;color:var(--couple-accent)}.couple-received{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--couple-border)}.couple-received h3{margin:0 0 .75rem;font-size:.9rem}
.couple-sharing{padding:1.5rem}.couple-sharing__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.couple-sharing__help{display:inline-flex;align-items:center;gap:.4rem;flex:none;padding:.5rem .7rem;border-radius:999px;background:var(--couple-accent-soft);color:var(--couple-accent);font-size:.75rem;font-weight:750}.couple-sharing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:1rem;margin-top:1.35rem}.couple-permission{display:flex;flex-direction:column;min-width:0;padding:1.25rem;border:1px solid var(--couple-border);border-radius:var(--radius-lg,16px);background:color-mix(in srgb,var(--couple-accent) 2%,var(--couple-surface))}.couple-permission__heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.85rem}.couple-permission__icon{display:grid;place-items:center;width:3rem;height:3rem;border:1px solid color-mix(in srgb,var(--couple-accent) 25%,var(--couple-border));border-radius:.85rem;background:var(--couple-accent-soft);color:var(--couple-accent);font-size:1.2rem}.couple-permission__heading h3{margin:.15rem 0 0;font-size:1rem}.couple-permission__heading p{margin:.35rem 0 0;color:var(--couple-muted);font-size:.8rem;line-height:1.5}.couple-permission__badges{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;width:100%;min-width:0;margin:1.15rem 0;padding-bottom:1rem;border-bottom:1px solid var(--couple-border)}.couple-permission__badges .couple-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:auto;min-width:0;max-width:none;margin:0;white-space:nowrap}.couple-permission__form{display:grid;gap:.75rem;margin-top:auto}.couple-permission__form .couple-button{width:100%}
.couple-summary__actions>.couple-end-form{display:block}.couple-password-modal .modal-dialog{width:auto;max-width:min(520px,calc(100vw - 2rem));margin-inline:auto}.couple-password-modal .modal-content{max-height:calc(100dvh - 2rem)}.couple-password-modal__field{position:relative;min-width:0}.couple-password-modal__field>i{position:absolute;z-index:1;top:50%;left:.85rem;transform:translateY(-50%);color:var(--color-text-secondary);pointer-events:none}.couple-password-modal__field .form-control{width:100%;min-width:0;padding-left:2.45rem}.couple-password-modal .invalid-feedback:not([hidden]){display:block}.couple-password-modal [data-password-confirm]{display:inline-flex;align-items:center;justify-content:center;min-height:44px}.couple-password-modal [aria-busy="true"]{cursor:wait;opacity:.72}
@media(max-width:1100px){.couple-overview-grid{grid-template-columns:minmax(0,1fr) minmax(18rem,.85fr)}.couple-sharing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.couple-permission:last-child{grid-column:1/-1}.couple-summary__actions{grid-template-columns:1fr}.couple-end-form{grid-template-columns:minmax(0,1fr) auto}}
@media(max-width:767.98px){.couple-page{gap:1rem;max-width:100%;overflow-x:clip;padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}.couple-overview-grid,.couple-sharing-grid{grid-template-columns:minmax(0,1fr)}.couple-permission:last-child{grid-column:auto}.couple-panel{padding:1rem}.couple-panel__heading{grid-template-columns:auto minmax(0,1fr)}.couple-panel__heading>.couple-badge{grid-column:2;justify-self:start}.couple-summary__facts{grid-template-columns:1fr;margin:1rem 0}.couple-summary__actions{grid-template-columns:1fr}.couple-end-form{grid-template-columns:1fr}.couple-sharing{padding:1rem}.couple-sharing__heading{display:grid}.couple-sharing__help{justify-self:start}.couple-permission__badges{gap:.35rem}.couple-invitation{grid-template-columns:auto minmax(0,1fr)}.couple-invitation__actions{grid-column:2}.couple-invitation__actions .btn{width:2.75rem;height:2.75rem}.couple-invite-form .input-group{display:grid;grid-template-columns:minmax(0,1fr)}.couple-invite-form .input-group>.form-control,.couple-invite-form .input-group>.btn{width:100%;border-radius:.75rem!important}.couple-invite-form .input-group>.btn{margin-top:.5rem;justify-content:center}.couple-panel *{min-width:0}}
@media(max-width:480px){.couple-permission__badges{gap:.25rem}.couple-permission__badges .couple-badge{padding-inline:.5rem}}
@media(max-width:360px){.couple-panel__icon,.couple-permission__icon{width:2.65rem;height:2.65rem}.couple-panel__heading h2{font-size:1.02rem}}
@media(max-width:575.98px){.couple-password-modal .modal-dialog{align-items:flex-end;width:auto;max-width:none;height:100%;margin:0}.couple-password-modal .modal-content{width:100%;max-height:min(94dvh,calc(100dvh - env(safe-area-inset-top)));border-radius:var(--radius-lg,18px) var(--radius-lg,18px) 0 0;padding-bottom:env(safe-area-inset-bottom)}.couple-password-modal .modal-body{min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.couple-password-modal .modal-footer{display:grid;grid-template-columns:1fr 1fr}.couple-password-modal .modal-footer .btn{width:100%;margin:0;white-space:normal}}
@media(max-width:360px){.couple-password-modal .modal-footer{grid-template-columns:1fr}.couple-password-modal [data-password-confirm]{order:-1}}
