/* Native foundations and the small set of legacy selectors still used by admin views. */
html { box-sizing: border-box; min-height: 100%; font-size: 16px; text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: inherit; }
body { margin: 0; color: #242424; background: #fff; font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, Arial, sans-serif; line-height: 1.5; }
button, input, select, textarea { font: inherit; }
a { color: #176349; text-decoration: none; }
button, summary { cursor: pointer; }
button:disabled { cursor: default; }
img { max-width: 100%; height: auto; }
h1, h2, h3, h4, p { margin-top: 0; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline: 2px solid #0f6cbd; outline-offset: 3px; }
[hidden], .is-hidden { display: none !important; }
.is-disabled { pointer-events: none; opacity: .65; }
.office-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; clip: rect(0,0,0,0); overflow: hidden; white-space: nowrap; }
.columns { display: flex; gap: 24px; margin: 0; }
.column { flex: 1; min-width: 0; }
.field { margin-bottom: 16px; }
.label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 7px; }
.input, .textarea, .select select { width: 100%; min-height: 38px; padding: 7px 10px; color: #242424; background: #fff; border: 1px solid #b8b8b8; border-radius: 4px; }
.select { display: block; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 6px 12px; border: 1px solid #c7c7c7; border-radius: 4px; color: #242424; background: #fff; font-size: 13px; text-align: center; text-decoration: none; cursor: pointer; }
.button:hover { background: #f3f3f3; }
.button.is-primary, .button.is-success, .button.is-link, .button.is-info { background: #176349; border-color: transparent; color: #fff; }
.button.is-danger { background: #b42318; border-color: transparent; color: #fff; }
.button.is-warning { background: #fff4ce; border-color: transparent; color: #5b4300; }
.button.is-light { color: #242424; background: #f3f3f3; border-color: transparent; }
.button.is-small { min-height: 32px; font-size: 12px; padding: 5px 9px; }
.button:disabled { opacity: .6; cursor: default; }
.is-fullwidth { width: 100%; }
.table { border-collapse: collapse; width: 100%; background: #fff; color: #242424; }
.table th, .table td { padding: 12px; text-align: left; border-bottom: 1px solid #e6e6e6; }
.table-container { overflow-x: auto; max-width: 100%; }
.card { background: #fff; border-radius: 4px; }
.card-content { padding: 24px; }
.content { line-height: 1.6; }
.menu-list { list-style: none; padding: 0; margin: 0; }
.menu-list a { display: block; border-radius: 4px; }
.menu-label { margin: 0 0 10px; font-weight: 500; }
.modal { display: none; position: fixed; inset: 0; z-index: 120; align-items: center; justify-content: center; }
.modal.is-active { display: flex; }
.modal-background { position: absolute; inset: 0; background: rgb(0 0 0 / 55%); }
.modal-content { position: relative; width: min(640px, calc(100vw - 32px)); max-height: calc(100dvh - 80px); overflow-y: auto; }
.image { display: block; margin: 0; }
.image.is-48x48 { width: 48px; height: 48px; }
.image.is-128x128 { width: 128px; height: 128px; }
.image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.help { font-size: 12px; margin: 6px 0; }
.help.is-danger { color: #b42318; }
.notification { border-radius: 4px; padding: 16px; background: #f3f3f3; }
.has-text-centered { text-align: center !important; }
.has-text-left { text-align: left !important; }
.has-text-right { text-align: right !important; }
.has-text-dark { color: #242424 !important; }
.has-text-grey { color: #616161 !important; }
.has-text-light { color: #aaa !important; }
.has-text-success { color: #176349 !important; }
.has-text-info { color: #0f6cbd !important; }
.has-text-warning { color: #7a5600 !important; }
.has-text-danger { color: #b42318 !important; }
.is-pulled-right { float: right; }
.is-pulled-left { float: left; }
.is-capitalized { text-transform: capitalize; }
.is-size-5 { font-size: 20px; }
.pl-3 { padding-left: 12px; }
.pl-5 { padding-left: 24px; }
.pr-4 { padding-right: 16px; }
.pr-5 { padding-right: 24px; }
.pt-5 { padding-top: 24px; }
.pt-6 { padding-top: 48px; }
.recipient-native { width: 100%; min-height: 150px !important; }
.recipient-picker { position: relative; width: 100%; color: #242424; }
.recipient-picker-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 8px; }
.recipient-picker-chips:empty { display: none; }
.recipient-picker-chip { display: inline-flex; align-items: center; gap: 8px; min-width: 0; max-width: 100%; padding: 4px 7px 4px 10px; border-radius: 4px; background: #eaf3ee; font-size: 12px; }
.recipient-picker-chip > span { min-width: 0; overflow-wrap: anywhere; }
.recipient-picker-chip button { flex-shrink: 0; border: 0; border-radius: 3px; padding: 3px; background: transparent; color: #176349; font-size: 11px; text-decoration: underline; }
.recipient-picker-options { max-height: 240px; overflow-y: auto; margin-top: 6px; padding: 5px; border: 1px solid #c7c7c7; border-radius: 4px; background: #fff; }
.recipient-picker-option { display: flex; align-items: start; gap: 10px; min-height: 38px; padding: 8px; cursor: pointer; font-size: 13px; overflow-wrap: anywhere; }
.recipient-picker-option:hover { background: #f3f6f3; }
.recipient-picker-option input { flex-shrink: 0; width: 16px; height: 16px; min-height: 0 !important; margin: 2px 0 0; accent-color: #176349; }
.recipient-picker-options > p { padding: 8px; font-size: 13px; color: #616161; }
@media (max-width: 760px) { .columns { flex-direction: column; gap: 16px; } .button, .recipient-picker-option, .recipient-picker-chip button { min-height: 44px; } .recipient-picker input[type="search"] { font-size: 16px; min-height: 44px; } .table-container .button { white-space: nowrap; } }
