/* Common components; module CSS owns layout and behaviour, not another theme. */
.access-page-controls{grid-column:1/-1;min-width:0;border:1px solid var(--fx-border);border-radius:var(--fx-radius);padding:16px;display:grid;gap:12px}.access-page-controls>p{margin:0}.access-page-choice{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px;border:1px solid var(--fx-border);border-radius:var(--fx-control-radius)}.access-page-choice input[type=checkbox]{width:20px;height:20px;flex:0 0 20px}.access-page-choice small{color:var(--fx-muted);margin-inline-start:auto}
.ac-access-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-block:16px 24px;padding:16px 20px;border:1px solid var(--fx-border);border-radius:var(--fx-radius);background:var(--fx-surface)}.ac-access-summary strong{color:var(--fx-primary)}.ac-access-summary small{flex-basis:100%}.fx-account-identity [data-shell-category]{font-size:10px;color:var(--fx-primary)}
.fx-app{margin:0;min-height:100vh;background:var(--fx-background);color:var(--fx-text);font:var(--fx-text-base)/1.8 var(--fx-font)}
.fx-app [hidden]{display:none!important}
.fx-app :is(h1,h2,h3,h4){font-family:var(--fx-font);font-weight:650;letter-spacing:normal;color:var(--fx-text);line-height:1.6}
.fx-app h1{font-size:var(--fx-title);margin:0}.fx-app h2{font-size:var(--fx-section-title)}.fx-app h3{font-size:18px}
.fx-app :is(.fl-main,.crm-content){max-width:var(--fx-content-width);margin-inline:auto;padding:32px var(--fx-content-padding) 64px;min-width:0}
.fx-shell-nav{display:flex;align-self:stretch;min-width:0;gap:0;flex:1}.fx-shell-nav .fl-nav-link{white-space:nowrap}
.fx-new-badge{display:inline-flex;align-items:center;vertical-align:middle;margin-inline-start:6px;padding:2px 7px;border:1px solid var(--fx-danger);border-radius:20px;background:var(--fx-danger-soft);color:var(--fx-danger);font:600 11px/1.5 var(--fx-font);white-space:nowrap;flex-shrink:0}.fx-help-link{position:relative}@media(max-width:1100px){.fx-help-link span.fx-new-badge{display:inline-flex;position:absolute;inset-inline-end:-8px;top:-4px;font-size:10px;padding:1px 4px}}
.fx-help-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;white-space:nowrap}.fx-help-link svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;flex-shrink:0}.fx-help-link:focus-visible{outline:2px solid var(--fx-primary);outline-offset:3px;border-radius:var(--fx-control-radius)}@media(max-width:1100px){.fx-help-link span{display:none}.fx-help-link{min-width:44px}}
.fx-app .fl-brand strong{font-family:var(--fx-brand-font)}.fx-app .fl-header{min-height:80px}
.fx-app .fl-account [data-shell-user]{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fx-app .fl-account{position:relative;z-index:40}
.fx-notifications{position:relative}.fx-notification-toggle{position:relative;display:grid;place-items:center;width:42px;height:42px;padding:9px;border:1px solid var(--fx-border);border-radius:var(--fx-control-radius);background:var(--fx-surface);color:var(--fx-primary);cursor:pointer}.fx-notification-toggle:hover,.fx-notification-toggle[aria-expanded=true]{background:var(--fx-primary-soft)}.fx-notification-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.fx-notification-count{position:absolute;top:-7px;inset-inline-end:-7px;min-width:20px;height:20px;display:grid;place-items:center;padding:0 4px;border-radius:20px;background:var(--fx-primary);color:white;border:2px solid var(--fx-surface);font:600 10px/1 var(--fx-font)}.fx-notification-panel{position:absolute;top:calc(100% + 12px);inset-inline-end:0;width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 120px);display:flex;flex-direction:column;background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:var(--fx-radius);box-shadow:0 12px 36px #20303020;z-index:50;overflow:hidden;text-align:start}.fx-notification-panel>header{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:18px 20px 12px}.fx-app .fx-notification-panel h2{font-size:18px;margin:0}.fx-notification-panel header p{font-size:12px;color:var(--fx-muted);margin:4px 0 0}.fx-notification-close{border:0;background:transparent;min-width:36px;min-height:36px;font-size:23px;color:var(--fx-muted);cursor:pointer}.fx-notification-tools{display:flex;justify-content:space-between;gap:12px;padding:0 20px 12px;border-bottom:1px solid var(--fx-border)}.fx-notification-tools button,.fx-notification-actions button{background:transparent;border:0;font:inherit;font-size:12px;min-height:36px;color:var(--fx-primary);cursor:pointer;text-align:start}.fx-notification-tools button:disabled,.fx-notification-actions button:disabled{opacity:.5;cursor:default}.fx-notification-feedback{font-size:12px;padding:0 20px;margin:0;color:var(--fx-muted)}.fx-notification-feedback:not(:empty){padding-block:10px}.fx-notification-feedback[data-error=true]{color:var(--fx-danger)}.fx-notification-list{overflow-y:auto;min-height:0;overscroll-behavior:contain}.fx-notification-item{padding:16px 20px;border-bottom:1px solid var(--fx-border)}.fx-notification-item[data-read=false]{background:var(--fx-primary-soft)}.fx-app .fx-notification-item h3{font-size:14px;margin:6px 0}.fx-notification-item p{font-size:12px;color:var(--fx-muted);margin:0;overflow-wrap:anywhere}.fx-notification-meta{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--fx-muted);flex-wrap:wrap}.fx-notification-meta time{margin-inline-start:auto}.fx-notification-unread,.fx-notification-test{color:var(--fx-primary);font-weight:600}.fx-notification-actions{display:flex;justify-content:space-between;gap:12px;margin-top:6px;align-items:center}.fx-notification-actions a{font-size:12px;font-weight:600;color:var(--fx-primary);min-height:36px;display:inline-flex;align-items:center}.fx-notification-empty{padding:28px 20px;text-align:center;color:var(--fx-muted);font-size:13px}.fx-notification-empty p{margin-top:8px;font-size:12px}.fx-notification-panel>footer{font-size:10px;color:var(--fx-muted);background:var(--fx-surface-soft);padding:10px 20px;border-top:1px solid var(--fx-border)}
.fx-notification-panel{position:fixed;inset-inline:auto;left:16px;right:auto;top:82px}
@media(max-width:600px){.fx-app .fl-account{gap:12px}.fx-notifications{position:static}.fx-notification-item{padding:14px 16px}}
.fx-app .fl-account details{position:relative}
.fx-app .fl-account-menu{inset-inline-end:0;inset-inline-start:auto;top:calc(100% + 10px);z-index:1;min-width:min(220px,calc(100vw - 40px));max-width:calc(100vw - 40px);max-height:calc(100dvh - 100px);overflow-y:auto}
.fx-app .fl-account-menu>*{display:block;min-height:44px;overflow-wrap:anywhere}
.fx-auth .fl-account{margin-inline-start:auto}
.fx-account-identity{display:flex;flex-direction:column;align-items:flex-start;min-width:0;text-align:start;line-height:1.5}.fx-account-identity small{font-size:11px;font-weight:400;color:var(--fx-muted)}.fx-account-identity small[hidden]{display:none}.header-account .fx-account-identity{max-width:180px}.header-account [data-account-label]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fx-app .fx-auth-recovery{margin-block:-6px 20px;text-align:end}.fx-app .fx-auth-recovery a{display:inline-flex;align-items:center;min-height:44px;color:var(--fx-primary);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.fx-app .fx-recovery-card{margin-block:24px;padding:var(--fx-panel-padding);border:1px solid var(--fx-border);border-radius:var(--fx-radius);background:var(--fx-surface)}.fx-app .fx-recovery-card h1{font-size:var(--fx-title)}.fx-app .fx-recovery-card .button{max-width:100%;white-space:normal}.fx-app .fx-recovery-result{padding-block:12px}.fx-app #password-recovery-status{color:var(--fx-danger)}.fx-app .fx-recovery-result .ops-button{margin-block-start:12px}
.fx-app .fx-recovery-contact a{white-space:nowrap;display:inline-block}
.fx-app .fx-module-heading{margin-bottom:24px}.fx-app .fx-module-heading p{color:var(--fx-muted);font-size:14px;margin-top:7px}
:root .fx-app :is(.fl-button,.ops-button,.crm-button,.cw-button,.platform-button){border:1px solid var(--fx-border);border-radius:var(--fx-control-radius);min-height:var(--fx-control-height);padding:10px 17px;font:600 14px/1.5 var(--fx-font);color:var(--fx-primary);background:var(--fx-surface);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:none}
:root .fx-app :is(.fl-button,.ops-button.primary,.crm-button.primary,.cw-button.primary,.platform-button.primary){background:var(--fx-primary);border-color:var(--fx-primary);color:#fff}
:root .fx-app :is(.ops-button.secondary,.ops-button.quiet,.fl-button.secondary){background:var(--fx-surface);border-color:var(--fx-border);color:var(--fx-primary)}
:root .fx-app :is(.fl-button,.ops-button.primary,.crm-button.primary,.cw-button.primary):hover:not(:disabled){background:var(--fx-primary-hover);color:#fff}
:root .fx-app :is(.ops-button.secondary,.ops-button:not(.primary):not(.danger):not([role=tab]),.fl-button.secondary,.crm-button:not(.primary),.cw-button:not(.primary)):hover:not(:disabled){background:var(--fx-primary-soft);color:var(--fx-primary)}
:root .fx-app :is(.ops-button,.crm-button,.cw-button,.platform-button):disabled{opacity:.55;cursor:not-allowed}
:root .fx-app .ops-button.danger{background:var(--fx-surface);color:var(--fx-danger);border-color:var(--fx-danger)}
:root .fx-app :is(.rental-text-button,.rental-close,.crm-close,.ops-close){min-height:40px;padding:7px 12px;background:transparent;border-color:transparent;color:var(--fx-muted)}
:root .fx-app .fl-handoff-tabs .ops-button{background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;color:var(--fx-muted);font-size:var(--fx-text-sm);white-space:nowrap}
:root .fx-app .fl-handoff-tabs .ops-button[aria-selected=true]{color:var(--fx-primary);border-bottom-color:var(--fx-primary);background:var(--fx-primary-soft)}
:root .fx-app .rental-view-switch .ops-button[aria-selected=true]{background:var(--fx-primary);border-color:var(--fx-primary);color:white}
:root .fx-app :is(.ops-field,.crm-field,.cw-form label,.platform-rows label){font-size:var(--fx-text-sm);color:var(--fx-text);gap:7px}
:root .fx-app :is(.ops-field,.crm-field,.cw-form,.platform-rows) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){width:100%;min-width:0;min-height:var(--fx-control-height);border:1px solid var(--fx-border);border-radius:var(--fx-control-radius);background:var(--fx-surface);color:var(--fx-text);padding:10px 12px;font:var(--fx-text-base)/1.6 var(--fx-font)}
.fx-app :is(input[type=checkbox],input[type=radio]){accent-color:var(--fx-primary)}
.fx-app :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--fx-primary);outline-offset:3px;box-shadow:var(--fx-focus)}
:root .fx-app :is(.fl-surface,.crm-request,.crm-contact,.crm-metric,.cw-card,.income-filters,.income-summary article,.income-setup,.platform-record){background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:var(--fx-radius);padding:var(--fx-panel-padding);box-shadow:none}
.fx-app :is(.crm-metrics,.cw-grid,.income-summary){gap:var(--fx-gap)}
:root .fx-app :is(.fl-table,.income-table,.cw-table,.ops-table){font-family:var(--fx-font);font-size:var(--fx-text-sm);border-collapse:collapse;text-align:start;background:var(--fx-surface)}
:root .fx-app :is(.fl-table,.income-table,.cw-table,.ops-table) :is(th,td){padding:12px 16px;text-align:start;border-bottom:1px solid var(--fx-border);line-height:1.8}
:root .fx-app :is(.fl-table,.income-table,.cw-table,.ops-table) th{background:var(--fx-surface-soft);color:var(--fx-muted);font-weight:600;font-size:var(--fx-text-xs)}
:root .fx-app :is(.fl-table-wrap,.cw-table-wrap,.income-scroll,.ops-table-wrap){background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:var(--fx-radius);overflow-x:auto}
:root .fx-app :is(.crm-dialog,.cw-dialog,.ops-editor,.platform-modal,.platform-dialog,.rental-terms-grid-dialog){background:var(--fx-surface);color:var(--fx-text);border:1px solid var(--fx-border);border-radius:var(--fx-radius);font-family:var(--fx-font)}
.fx-app dialog::backdrop{background:var(--fx-overlay)}
.fx-app :is(.crm-note,.cw-badge,.crm-pill){background:var(--fx-primary-soft);color:var(--fx-primary);border-radius:var(--fx-control-radius)}
.fx-app :is(.crm-error,.cw-error,.platform-error[data-error=true]){color:var(--fx-danger)}
.fx-app :is(.cw-warning,.income-warning,.fl-warning){color:var(--fx-warning);background:var(--fx-warning-soft)}
.fx-app :is(.crm-muted,.cw-meta,.income-note,.crm-field small){color:var(--fx-muted);font-size:var(--fx-text-sm)}
.fx-app .crm-metric strong,.fx-app .income-summary strong{color:var(--fx-primary);font-size:28px}
.fx-app .crm-tabs button{border-radius:var(--fx-control-radius);border-color:var(--fx-border);font:600 14px/1.5 var(--fx-font);min-height:var(--fx-control-height)}
.fx-app .crm-tabs button[aria-pressed=true]{background:var(--fx-primary-soft);color:var(--fx-primary);border-color:var(--fx-primary)}
@media(max-width:800px){.fx-app :is(.fl-main,.crm-content){padding-top:24px}.fx-app .fx-shell-nav{order:3;flex-basis:100%;overflow-x:auto;margin-top:10px;min-height:54px;scrollbar-width:thin}.fx-app .fl-account [data-shell-user]{display:none}.fx-app .fl-header{min-height:76px}.fx-app .fl-account summary{max-width:none}.fx-app .fx-module-heading{margin-bottom:20px}}
@media(max-width:500px){:root .fx-app :is(.ops-field,.crm-field,.cw-form,.platform-rows) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}:root .fx-app :is(.fl-table,.income-table,.cw-table,.ops-table) :is(th,td){padding:11px 12px}.fx-app .fl-account-menu{max-width:calc(100vw - 32px)}}
@media(max-width:700px){.site-header .brand img{width:88px}.header-account .fx-account-identity{max-width:100px}.header-account .fx-account-identity small{font-size:10px}.fx-app .fl-account .fx-account-identity{display:none}}

/* Layout-specific surfaces use the same corner and border rules. */
:root .fx-app :is(.fl-property-summary,.fl-journey-rail,.fl-task-surface,.fl-shortcut,.fl-help,.fl-stats>section,.rental-more){border-radius:var(--fx-radius);border-color:var(--fx-border)}
:root .fx-app .fl-field-values dd{border-radius:var(--fx-control-radius);border-color:var(--fx-border);background:var(--fx-surface)}

.service-change-notice{position:fixed;inset-inline:20px;bottom:20px;z-index:1100;max-width:850px;margin-inline:auto;padding:17px 22px;border:1px solid var(--fx-primary);border-radius:var(--fx-radius);background:var(--fx-surface);color:var(--fx-text);font:14px/1.9 var(--fx-font);box-shadow:var(--fx-focus)}.service-change-notice a{color:var(--fx-primary);font-weight:650;text-decoration:underline;white-space:nowrap}@media(max-width:600px){.service-change-notice{inset-inline:12px;bottom:12px;padding:14px 16px;font-size:13px}}
/* Personal account area: shared tokens, responsive cards and explicit actions. */
:root :where(input:not([type=email]):not([type=url]):not([type=password]):not([type=tel]):not([data-numerals=literal]),textarea:not([data-numerals=literal])){font-family:var(--fx-input-font,var(--fx-font))!important}
:root li::marker,:root .workspace-journey li::before{font-family:var(--fx-input-font,var(--fx-font))}
.ac-nav,.ac-toolbar,.ac-check,.ac-quick,.ac-row{display:flex;gap:var(--fx-space-3);align-items:center}.ac-nav{overflow-x:auto;padding-block:12px;margin-bottom:24px}.ac-nav a{white-space:nowrap}.ac-nav [aria-current=page]{background:var(--fx-primary-soft);border-color:var(--fx-primary);color:var(--fx-primary)}
.ac-heading{margin-block:12px 24px}.ac-heading h1{margin:0}.ac-heading p,.ac-muted{color:var(--fx-muted)}.ac-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-block:20px}.ac-stat,.ac-card,.ac-quick-link{background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:var(--fx-radius);padding:var(--fx-panel-padding)}.ac-stat{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--fx-text)}.ac-stat strong{font-size:30px;color:var(--fx-primary)}.ac-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-block:20px}.ac-quick-link{position:relative;text-decoration:none;color:var(--fx-text)}.ac-quick-link h2{font-size:18px}.ac-quick-link p{color:var(--fx-muted);font-size:var(--fx-text-sm)}.ac-arrow{color:var(--fx-primary)}.ac-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.ac-card{margin-block:16px;min-width:0}.ac-card h2{margin-top:0}.ac-row{justify-content:space-between;flex-wrap:wrap;padding-block:16px;border-bottom:1px solid var(--fx-border);text-decoration:none;color:var(--fx-text)}.ac-row h3{margin-block:0 6px;font-size:16px}.ac-row p{margin-block:4px}.ac-badge{font-size:var(--fx-text-sm);color:var(--fx-primary);background:var(--fx-primary-soft);padding:5px 10px;border-radius:var(--fx-control-radius);display:inline-block}.ac-balance{font-size:22px}.ac-empty{padding:24px 8px;text-align:center;color:var(--fx-muted)}.ac-empty h3{color:var(--fx-text)}.ac-toolbar{flex-wrap:wrap;margin-block:16px}.ac-toolbar input[type=search]{flex:1;min-width:180px}.ac-toolbar select{max-width:100%}.ac-check{font-size:var(--fx-text-sm);cursor:pointer}.ac-check input,.ac-inbox-row>input{width:20px;height:20px;flex-shrink:0;accent-color:var(--fx-primary)}.ac-inbox-row{display:grid;grid-template-columns:24px minmax(0,1fr);gap:16px;border-block-end:1px solid var(--fx-border);padding:20px 8px}.ac-inbox-row[data-read=false]{background:var(--fx-primary-soft)}.ac-inbox-row h3{font-size:17px;margin-block:0 8px}.ac-inbox-row p{white-space:pre-wrap;overflow-wrap:anywhere}.ac-inbox-row time{display:block;margin-bottom:12px}.ac-payment{padding-block:20px;border-bottom:1px solid var(--fx-border)}.ac-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.ac-facts dt{font-size:var(--fx-text-sm);color:var(--fx-muted)}.ac-facts dd{margin:6px 0;font-weight:700}.ac-profile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:850px}.ac-profile label{display:flex;flex-direction:column;gap:8px}.ac-profile>p{grid-column:1/-1}.ac-profile input[readonly]{background:var(--fx-surface-soft)}.ac-timeline{padding-inline-start:28px}.ac-timeline li{padding:0 8px 22px;border-inline-start:2px solid var(--fx-border)}.ac-timeline time{display:block;margin-top:5px}.ac-case-indicator{border-inline-start:4px solid var(--fx-warning);padding:16px;background:var(--fx-warning-soft);margin-block:16px}.ac-case-indicator .cw-actions{margin-top:12px}.ac-ticket-link:hover,.ac-quick-link:hover{border-color:var(--fx-primary)}
@media(max-width:800px){.ac-quick{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-grid{grid-template-columns:1fr}}@media(max-width:500px){.ac-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-stat{padding:16px}.ac-stat strong{font-size:25px}.ac-profile{grid-template-columns:1fr}.ac-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-row{align-items:flex-start}.ac-toolbar{align-items:stretch}.ac-card{padding:18px}.ac-quick-link{padding:16px}.ac-quick-link h2{font-size:16px}}

.fl-stats .fl-stat-link{display:flex;flex-direction:column;gap:var(--fx-space-2);padding:var(--fx-space-5);background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:var(--fx-radius);color:var(--fx-text);text-decoration:none}.fl-stats .fl-stat-link strong{font-size:30px;color:var(--fx-primary)}.fl-stats .fl-stat-link:hover{border-color:var(--fx-primary)}

:root .fx-back-to-top{position:fixed;inset-inline-end:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:50;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:10px 14px;border:1px solid var(--fx-primary);border-radius:var(--fx-control-radius);background:var(--fx-primary);color:var(--fx-surface);font:600 13px/1.5 var(--fx-font);box-shadow:var(--fx-shadow);cursor:pointer}
:root .fx-back-to-top[hidden]{display:none!important}
:root .fx-back-to-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
:root .fx-back-to-top:hover{background:var(--fx-primary-hover)}
:root .fx-back-to-top:focus-visible{outline:3px solid var(--fx-primary);outline-offset:3px}
@media(max-width:600px){:root .fx-back-to-top{inset-inline-end:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));padding:10px}:root .fx-back-to-top span{display:none}}
@media print{:root .fx-back-to-top{display:none!important}}

/* Action treatment is defined once in the shared button system below. */
.fx-action-group,.fx-app :is(.cw-actions,.crm-actions,.platform-actions,.rental-actions,.income-actions){display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-block:16px}
.fx-action-group>:is(button,a){margin:0}
:root :is(.fl-surface,.cw-card,.platform-record)>:is(.fl-button,.ops-button,.cw-button)+:is(.fl-button,.ops-button,.cw-button){margin-inline-start:12px;margin-block-start:8px}
:root a[href^="tel:"],:root [data-phone],:root input[type=tel]{direction:ltr;unicode-bidi:isolate;font-family:var(--fx-font)!important}
:root a[href^="tel:"]{display:inline-block;white-space:nowrap}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){:root :is(.fl-button,.ops-button,.crm-button,.cw-button,.platform-button,.button):not([role=tab]){backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--fx-surface);box-shadow:none}:root :is(.fl-button:not(.secondary),.ops-button.primary,.crm-button.primary,.cw-button.primary,.platform-button.primary,.button.button-primary):not([role=tab]){background:var(--fx-primary)}}
@media(forced-colors:active){:root :is(.fl-button,.ops-button,.crm-button,.cw-button,.platform-button,.button):not([role=tab]){background:ButtonFace;color:ButtonText;border-color:ButtonText;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(max-width:500px){.fx-action-group{align-items:stretch}.fx-action-group>:is(button,a){flex:1 1 160px}}
.fx-portfolio-filters{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,2fr) minmax(150px,1fr);align-items:end;gap:16px;margin-block:20px}
.fx-app .fl-stats.fx-portfolio-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
:root input:is([type=tel],[name=phone],[name=mobile],[autocomplete=tel]){direction:ltr;unicode-bidi:isolate;font-family:var(--fx-font)!important}
.fx-portfolio-filters .ops-field{min-width:0}.fx-owner-groups{display:grid;gap:16px}.fx-owner-group{border:1px solid var(--fx-border);border-radius:var(--fx-radius);padding:12px 16px;background:var(--fx-surface)}
.fx-owner-group>summary{cursor:pointer;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;padding:8px 0;color:var(--fx-primary)}
.fx-owner-group>summary::before{content:'⌄';font-size:18px}.fx-owner-group:not([open])>summary::before{content:'‹'}.fx-owner-group>summary strong{flex:1}
.fx-source-evidence{padding:14px 16px;border-inline-start:3px solid var(--fx-primary);background:var(--fx-primary-soft);line-height:1.9}.fx-source-evidence a{font-weight:600;text-decoration:underline}
:root .fx-app button.fl-stat-link{font:inherit;text-align:start;cursor:pointer;min-width:0}:root .fx-app .fl-stats :is(button,a).fl-stat-link:focus-visible{outline:2px solid var(--fx-primary);outline-offset:3px}
.fx-summary-dialog{width:min(1100px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:24px;overflow:auto}.fx-summary-dialog h2{margin:0;flex:1}.fx-summary-table td{overflow-wrap:anywhere}.fx-summary-table td:last-child>.cw-button{margin:4px}
:root .fx-back-to-top{border-radius:var(--fx-glass-radius);background:var(--fx-glass-primary);box-shadow:var(--fx-glass-shadow)}
:root .fx-app :is(.fx-sidebar-toggle,.fx-sidebar-close,.fx-sidebar-edge){border-radius:var(--fx-glass-radius);min-width:44px;min-height:44px;background:var(--fx-glass-background);box-shadow:var(--fx-glass-shadow)}
@media(max-width:650px){.fx-portfolio-filters{grid-template-columns:1fr;gap:12px}.fx-summary-dialog{padding:16px}.fx-owner-group{padding:10px 12px}.fx-summary-table{min-width:650px}.fx-summary-dialog .cw-table-wrap{max-width:100%}}
@media(max-width:650px){.fx-app .fl-stats.fx-portfolio-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

.fx-month-control{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(5rem,.65fr);gap:.5rem;min-width:0}.fx-month-control select,.fx-month-control input{min-width:0;width:100%;box-sizing:border-box}.fx-month-control input{text-align:center}.fx-month-control[hidden]{display:none}
input[data-localized-month][hidden]{display:none!important}
.fx-session-notice{margin:auto;padding:24px;width:min(560px,calc(100vw - 32px));box-sizing:border-box;max-height:calc(100dvh - 32px);overflow:auto;text-align:center;font:inherit;color:var(--fx-text);background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:var(--fx-radius)}.fx-session-notice button{display:block;margin:16px auto 0}.fx-session-notice::backdrop{background:var(--fx-background,#f4f6f7)}
/* Also conceals body-mounted previews, notifications and late async dialogs. */
html[data-session-suspended] body>:not(.fx-session-notice),html[data-session-suspended] body>:not(.fx-session-notice)::backdrop{visibility:hidden!important;pointer-events:none!important}

/* Inbox display choices and a fixed notification entry action. */
.fx-notification-panel>header,.fx-notification-tools,.fx-notification-feedback,.fx-notification-panel>footer{flex-shrink:0}.fx-notification-entry{padding-block-end:12px}.fx-read-all-dialog{width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border-radius:var(--fx-radius);font:inherit;color:var(--fx-text);background:var(--fx-surface);border:1px solid var(--fx-border)}.fx-read-all-dialog::backdrop{background:#172c36aa}.fx-read-all-dialog .cw-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-block-start:24px}
.ac-inbox-filter{display:flex;flex-direction:column;gap:6px;font-size:var(--fx-text-sm)}.ac-inbox-controls{align-items:flex-end}.ac-inbox-controls .ac-check{padding-block:10px}.ac-inbox-table{min-width:650px}.ac-inbox-table td{vertical-align:top}.ac-inbox-table td:first-child{width:40px}.ac-inbox-table input[type=checkbox],.ac-inbox-card input[type=checkbox]{width:20px;height:20px;accent-color:var(--fx-primary)}.ac-inbox-table tr[data-read=false],.ac-inbox-card[data-read=false]{background:var(--fx-primary-soft)}.ac-inbox-table .ac-inbox-subject{min-width:220px;max-width:540px}.ac-inbox-link{font-weight:600;color:var(--fx-primary);text-decoration:none}.ac-inbox-link:hover{text-decoration:underline}.ac-inbox-preview{font-size:var(--fx-text-sm);color:var(--fx-muted);margin-block:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}.ac-inbox-table .ac-inbox-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ac-inbox-table time{white-space:nowrap;font-size:var(--fx-text-sm)}.ac-inbox-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}.ac-inbox-card{border:1px solid var(--fx-border);border-radius:var(--fx-radius);padding:18px;min-width:0}.ac-inbox-card-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-block-end:14px}.ac-inbox-card time{display:block;margin-block-start:14px;font-size:var(--fx-text-sm)}

/* Notification history: readable messages grouped by their recorded Riyadh day. */
.ac-notification-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(140px,1fr));gap:16px;margin-block:20px}
.ac-notification-filters input,.ac-notification-filters select,.ac-notification-pagination select{width:100%;min-height:44px}
.ac-notification-bulk{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-block:16px 24px}
.ac-notification-date,.fx-notification-day{padding:14px 0;font-size:var(--fx-text-sm);font-weight:600;color:var(--fx-muted);margin:0;border-bottom:1px solid var(--fx-border)}
.ac-notification-day+.ac-notification-day{margin-block-start:28px}.ac-notification-rows,.ac-notification-cards{list-style:none;margin:0;padding:0}
.ac-notification-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:16px;padding:24px 16px;border-bottom:1px solid var(--fx-border);border-inline-start:3px solid transparent}
.ac-notification-row[data-read=false]{border-inline-start-color:var(--fx-primary);background:var(--fx-primary-soft)}
.ac-notification-row input[type=checkbox]{margin-top:3px;width:18px;height:18px;accent-color:var(--fx-primary)}
.ac-notification-body{min-width:0}.ac-notification-body h4{margin:0;font-size:var(--fx-text-base);font-weight:600;line-height:1.65}
.ac-notification-message{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;margin:10px 0;color:var(--fx-text)}
.ac-notification-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:var(--fx-text-xs);color:var(--fx-muted)}
.ac-notification-row[data-read=false] .ac-notification-state{font-weight:600;color:var(--fx-primary)}
.ac-notification-time{white-space:nowrap;font-size:var(--fx-text-xs);color:var(--fx-muted);padding-block-start:4px}
.ac-notification-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;margin-block-start:16px}
.ac-notification-cards .ac-notification-row{border:1px solid var(--fx-border);border-inline-start-width:3px;border-radius:var(--fx-radius);height:100%;grid-template-columns:22px minmax(0,1fr)}
.ac-notification-cards time{grid-column:2}.ac-notification-pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-block:24px 0}
.ac-notification-page-buttons{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.ac-notification-page-buttons [aria-current=page]{color:var(--fx-surface);background:var(--fx-primary);opacity:1}
.ac-notification-pagination .ac-inbox-filter{min-width:140px}.fx-notification-day{padding:12px 20px;background:var(--fx-surface);font-size:var(--fx-text-xs)}
@media(max-width:900px){.ac-notification-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-notification-search{grid-column:1/-1}}
@media(max-width:520px){.ac-notification-filters{grid-template-columns:minmax(0,1fr)}.ac-notification-row{padding:18px 10px;gap:12px;grid-template-columns:20px minmax(0,1fr)}.ac-notification-time{grid-column:2}.ac-notification-pagination{align-items:stretch;flex-direction:column}.ac-notification-bulk .cw-button{flex:1 1 auto}.ac-notification-bulk .ac-check{flex-basis:100%}}
/* Case register: saved list/card views; shared brand tokens and logical RTL layout. */
.legal-register-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--fx-space-3,12px);margin-block:16px}
.legal-register-filters label{display:grid;gap:8px;min-width:0}.legal-register-filters input,.legal-register-filters select{width:100%;min-width:0}
.legal-register-list{display:grid;border:1px solid var(--fx-border);border-radius:var(--fx-radius);overflow:hidden}
.legal-register-row{padding:18px;background:var(--fx-surface);border-block-end:1px solid var(--fx-border);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px}
.legal-register-row:last-child{border-block-end:0}.legal-register-row p{margin:0;overflow-wrap:anywhere}.legal-register-row .cw-warning{grid-column:1/-1}
.legal-register-title{font:inherit;font-weight:700;text-align:start;color:var(--fx-primary);background:none;border:0;cursor:pointer;overflow-wrap:anywhere;padding:0}
.legal-register-title:hover{text-decoration:underline}.legal-register-title:focus-visible{outline:2px solid var(--fx-primary);outline-offset:4px}
.legal-register-cards .cw-card{min-width:0}.legal-case-dialog textarea{min-height:96px}.legal-case-dialog input[type=file]{max-width:100%}
@media(max-width:600px){.legal-register-filters{grid-template-columns:1fr}.legal-register-row{grid-template-columns:minmax(0,1fr)}.legal-register-row .cw-warning{grid-column:auto}}

/* CEO change register: shared tokens and scoped responsive content. */
.sc-register{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--fx-space-4,1rem);min-width:0}
.sc-register .sc-tools{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}
.sc-summary,.sc-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1rem}
.sc-summary .cw-card{margin:0}.sc-summary strong{font-size:1.6rem}
.sc-summary-link{display:flex;flex-direction:column;gap:.6rem;text-align:start;cursor:pointer;width:100%;font:inherit;color:inherit;text-decoration:none}
.sc-card-link{display:block;color:inherit;text-decoration:none;cursor:pointer;min-width:0}
.sc-card-link:hover,.sc-summary-link[aria-current=page]{border-color:var(--fx-primary)}
.sc-card-link:focus-visible{outline:2px solid var(--fx-primary);outline-offset:3px}
.sc-card-link h3{margin-block:0 .75rem;overflow-wrap:anywhere}
.sc-summary-link:focus-visible{outline:2px solid var(--fx-primary);outline-offset:3px}.sc-summary-link:hover{border-color:var(--fx-primary)}
.sc-register .sc-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem;align-items:end}
.sc-register label,.sc-form label{display:grid;gap:.4rem;min-width:0}
.sc-register input,.sc-register select,.sc-register textarea,.sc-form input,.sc-form select,.sc-form textarea{width:100%;min-width:0;box-sizing:border-box}
.sc-form{display:grid;gap:1rem}.sc-register p,.sc-register small,.sc-register summary,.sc-title-link{overflow-wrap:anywhere}
.sc-title-link{border:0;background:transparent;color:var(--fx-primary);font:inherit;font-weight:700;text-align:start;cursor:pointer;text-decoration:underline;text-underline-offset:3px;max-width:100%}
.sc-title-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}.sc-register small{display:block;font-weight:400;margin-block-start:.5rem}
.sc-table-wrap{max-width:100%;overflow-x:auto}.sc-register table{width:100%;border-collapse:collapse;text-align:start}.sc-register th,.sc-register td{padding:1rem;border-block-end:1px solid var(--fx-border);vertical-align:top;text-align:start}.sc-register td.sc-change-title{min-width:210px}
/* Long requirement titles must not compress status, assignment or date columns. */
.sc-register .sc-changes-table{table-layout:fixed;min-inline-size:58rem}
.sc-changes-table th:first-child{inline-size:6.5rem}.sc-changes-table th:nth-child(3){inline-size:11rem}.sc-changes-table th:nth-child(4){inline-size:12rem}.sc-changes-table th:nth-child(5){inline-size:11rem}
.sc-changes-table th,.sc-changes-table td{overflow-wrap:break-word;word-break:normal;box-sizing:border-box}
.sc-changes-table .sc-change-title{overflow-wrap:anywhere}.sc-table-wrap:focus-visible{outline:2px solid var(--fx-primary);outline-offset:3px}
.sc-register details{margin-block:1rem}.sc-register summary{cursor:pointer;font-weight:600}.sc-register pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;font-size:.82rem}
@media(max-width:600px){.sc-register th,.sc-register td{padding:.6rem}.sc-register .cw-card{padding:1rem}.sc-summary{grid-template-columns:1fr 1fr}.sc-summary .cw-card{padding:.7rem}.sc-summary strong{font-size:1.35rem}}

/* Shared form feedback: document order, Arabic/English, dialogs and small screens. */
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--color-danger,#9d3730);outline-offset:3px;scroll-margin-block:7rem}
.fx-field-error{display:block;inline-size:100%;font-size:.875rem;font-weight:400;line-height:1.6;color:var(--color-danger,#9d3730);white-space:normal;overflow-wrap:anywhere;margin-block:.3rem .5rem}
@media print{.fx-field-error{display:none}}

/* Keyboard entry is available on every shared-layout page. */
.skip-link{position:fixed;inset-block-start:12px;inset-inline-start:12px;z-index:10000;background:var(--ink,#263737);color:var(--white,#fff);padding:12px 20px;transform:translateY(-200%)}
.skip-link:focus{transform:translateY(0)}

/* Reusable register pagination: logical direction follows the document language. */
.fx-register-pagination{display:grid;gap:.8rem;margin-block:1.1rem;padding-block:.9rem;border-block:1px solid var(--fx-border);min-width:0}
.fx-register-page-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.fx-register-page-meta p{margin:0;font-variant-numeric:tabular-nums}
.fx-register-page-meta label{display:flex;align-items:center;gap:.7rem}.fx-register-page-meta select{width:auto;min-width:5.5rem;min-height:44px}
.fx-register-page-controls{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem}.fx-register-page-numbers{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.4rem;min-width:0}
.fx-register-page-numbers .cw-button{min-width:44px;min-height:44px;padding:.45rem .7rem}.fx-register-page[aria-current=page]{background:var(--fx-primary);color:var(--fx-on-primary,#fff);border-color:var(--fx-primary)}
.sc-register .sc-select-label{display:flex;align-items:center;gap:.6rem;cursor:pointer}.sc-register .sc-select-label input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--fx-primary)}
.sc-register .sc-selection-cell{min-width:0;width:3rem}.sc-selection-tools{padding-block:.6rem}.sc-selection-tools [role=status]{flex-basis:100%;font-size:.9rem}
.sc-row-link{display:block}.sc-change-card{display:grid;align-content:start;gap:.7rem;min-width:0}.sc-change-card .sc-select-label{min-height:30px}.sc-change-card:has(input:checked){border-color:var(--fx-primary)}
.sc-copy-dialog textarea{width:100%;box-sizing:border-box;min-width:0;direction:inherit}
@media(max-width:600px){.fx-register-page-controls{gap:.3rem}.fx-register-page-controls>.cw-button{padding:.55rem .7rem}.fx-register-page-numbers{gap:.2rem}.fx-register-page-numbers .cw-button{min-width:36px;padding:.35rem}.fx-register-page-meta{align-items:start}.sc-selection-tools .cw-button{flex-grow:1}}

.sc-register .sc-selection-header,.fx-register-page-meta label{white-space:nowrap}
.sc-register .sc-selection-cell ~ td:last-child{min-width:8rem}

/* The bulk checkbox belongs to the visible rows, directly under Select. */
.sc-register .sc-selection-header{min-width:7rem;white-space:nowrap}
.sc-register .sc-select-all-visible{margin-block-start:.6rem;gap:.45rem;font-size:.8rem;font-weight:400;white-space:nowrap;inline-size:max-content}
.sc-register .sc-selection-cell{width:7rem}
.sc-visible-card-controls{display:grid;justify-items:start;gap:.1rem;margin-block:.8rem 1rem}

/* Shared action system: clear hierarchy, compact rounded rectangles and native semantics. */
:root :is(body,body.fx-app) :is(.fl-button,.ops-button,.crm-button,.cw-button,.platform-button,.button):not([role=tab]){
 box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:9px;
 min-block-size:var(--fx-button-height);min-inline-size:44px;max-inline-size:100%;
 padding:10px var(--fx-button-padding);border:1px solid var(--fx-button-border);border-radius:var(--fx-button-radius);
 background:linear-gradient(180deg,var(--fx-surface),var(--fx-surface-soft));color:var(--fx-primary);
 font:600 14px/1.5 var(--fx-font);letter-spacing:normal;text-align:center;text-decoration:none;white-space:normal;
 box-shadow:var(--fx-button-shadow);backdrop-filter:none;-webkit-backdrop-filter:none;filter:none;cursor:pointer;
 transition:background-color var(--fx-button-motion),border-color var(--fx-button-motion),box-shadow var(--fx-button-motion),transform var(--fx-button-motion) var(--fx-button-ease);
}
:root :is(body,body.fx-app) :is(.fl-button,.ops-button,.crm-button,.cw-button,.platform-button,.button):not([role=tab]):hover:not(:disabled):not([aria-disabled=true]){
 background:var(--fx-primary-soft);border-color:var(--fx-button-hover-border);color:var(--fx-primary-hover);
 box-shadow:0 3px 9px #123b3514;transform:translateY(-1px);filter:none;
}
:root :is(body,body.fx-app) :is(.fl-button:not(.secondary),.ops-button.primary,.crm-button.primary,.cw-button.primary,.platform-button.primary,.button.button-primary,button[type=submit].cw-button,button[type=submit].ops-button,button[type=submit].crm-button):not([role=tab]):not([data-fx-variant=secondary]):not(.danger){
 background:linear-gradient(180deg,var(--fx-primary),var(--fx-primary-hover));border-color:var(--fx-primary-hover);color:#fff;box-shadow:var(--fx-button-primary-shadow);
}
:root :is(body,body.fx-app) :is(.fl-button:not(.secondary),.ops-button.primary,.crm-button.primary,.cw-button.primary,.platform-button.primary,.button.button-primary,button[type=submit].cw-button,button[type=submit].ops-button,button[type=submit].crm-button):not([role=tab]):not([data-fx-variant=secondary]):not(.danger):hover:not(:disabled):not([aria-disabled=true]){
 background:var(--fx-primary-hover);border-color:var(--fx-primary-hover);color:#fff;box-shadow:0 4px 12px #125b5638;
}
:root :is(body,body.fx-app) :is(.fl-button,.ops-button,.crm-button,.cw-button,.platform-button,.button)[data-fx-variant=secondary]{
 background:var(--fx-primary-soft);border-color:var(--fx-button-border);color:var(--fx-primary);box-shadow:none;
}
:root :is(body,body.fx-app) :is(.ops-button,.crm-button,.cw-button,.platform-button):is(.quiet,.ghost,[data-fx-variant=ghost]){
 background:transparent;border-color:transparent;color:var(--fx-muted);box-shadow:none;
}
:root :is(body,body.fx-app) :is(.ops-button,.crm-button,.cw-button,.platform-button):is(.quiet,.ghost,[data-fx-variant=ghost]):hover:not(:disabled){
 background:var(--fx-surface-soft);border-color:var(--fx-border);color:var(--fx-text);box-shadow:none;
}
:root :is(body,body.fx-app) :is(.fl-button,.ops-button,.crm-button,.cw-button,.platform-button,.button):is([aria-pressed=true],[aria-current=page]):not([role=tab]){
 background:var(--fx-primary-soft);border-color:var(--fx-primary);color:var(--fx-primary-hover);box-shadow:inset 0 0 0 1px var(--fx-primary);
}
:root :is(body,body.fx-app) :is(.ops-button,.crm-button,.cw-button,.platform-button).danger:not([role=tab]){
 background:var(--fx-danger-soft);border-color:var(--fx-danger);color:var(--fx-danger);box-shadow:none;
}
:root :is(body,body.fx-app) :is(.ops-button,.crm-button,.cw-button,.platform-button).danger:hover:not(:disabled){
 background:var(--fx-danger);border-color:var(--fx-danger);color:#fff;
}
:root :is(body,body.fx-app) :is(.fl-button,.ops-button,.crm-button,.cw-button,.platform-button,.button):not([role=tab]):active:not(:disabled){transform:translateY(0);box-shadow:inset 0 2px 3px #102f391f}
:root :is(body,body.fx-app) :is(.fl-button,.ops-button,.crm-button,.cw-button,.platform-button,.button):not([role=tab]):focus-visible{
 outline:2px solid var(--fx-primary);outline-offset:3px;box-shadow:0 0 0 2px var(--fx-surface);
}
:root :is(body,body.fx-app) :is(.fl-button,.ops-button,.crm-button,.cw-button,.platform-button,.button):is(:disabled,[aria-disabled=true]):not([role=tab]){
 opacity:.55;cursor:not-allowed;transform:none;filter:none;box-shadow:none;
}
.fx-button-icon{inline-size:18px;block-size:18px;flex:0 0 18px;order:-1;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.fx-segmented{display:inline-flex;align-items:stretch;gap:3px;padding:4px;border:1px solid var(--fx-border);border-radius:12px;background:var(--fx-surface-soft);max-inline-size:100%}
:root :is(body,body.fx-app) .fx-segmented>.cw-button{min-block-size:44px;border-color:transparent;background:transparent;color:var(--fx-muted);box-shadow:none;margin:0;border-radius:8px;transform:none}
:root :is(body,body.fx-app) .fx-segmented>.cw-button[aria-pressed=true]{background:var(--fx-surface);border-color:var(--fx-button-border);color:var(--fx-primary-hover);box-shadow:0 1px 3px #123b351a}
:root :is(body,body.fx-app) .fx-segmented>.cw-button:hover:not(:disabled){transform:none;box-shadow:none;background:var(--fx-surface)}
:root :is(body,body.fx-app) .sc-register .sc-filter-card{border-radius:14px;overflow:visible;background:linear-gradient(180deg,var(--fx-primary-soft),var(--fx-surface) 90px);border-color:var(--fx-button-border)}
.sc-filter-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-block-end:22px}
.sc-register .sc-filter-heading h2{font-size:18px;margin:0}.sc-filter-heading p{margin:3px 0 0;color:var(--fx-muted);font-size:13px}
.sc-register .sc-filter-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:12px;margin-block:0;padding-block-start:4px}
.sc-register .sc-view-tools{justify-content:space-between;gap:16px;margin-block-start:20px;padding-block-start:18px;border-block-start:1px solid var(--fx-border)}
.sc-register .sc-selection-tools{padding:12px;border:1px solid var(--fx-border);border-radius:12px;background:var(--fx-surface-soft);gap:8px}
.sc-register .sc-selection-tools>[role=status]{margin-inline-start:auto;font-size:13px;color:var(--fx-muted)}
.sc-register>nav.sc-tools{gap:4px;padding:5px;background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:12px}
:root :is(body,body.fx-app) .sc-register>nav.sc-tools>.cw-button{border-color:transparent;background:transparent;box-shadow:none;color:var(--fx-muted)}
:root :is(body,body.fx-app) .sc-register>nav.sc-tools>.cw-button[aria-pressed=true]{background:var(--fx-primary-soft);border-color:var(--fx-border);color:var(--fx-primary-hover);box-shadow:inset 0 -2px 0 var(--fx-primary)}
@media(max-width:600px){.sc-filter-heading{margin-block-end:16px}.sc-register .sc-view-tools{align-items:stretch}.sc-view-tools>.primary{flex:1 1 220px}.sc-register .sc-selection-tools>[role=status]{inline-size:100%;margin-inline-start:0}.sc-register>nav.sc-tools{gap:2px}.sc-register>nav.sc-tools>.cw-button{flex:1 1 auto}.sc-register .sc-filter-actions>.cw-button{flex:1}}
@media(prefers-reduced-motion:reduce){:root :is(body,body.fx-app) :is(.fl-button,.ops-button,.crm-button,.cw-button,.platform-button,.button):not([role=tab]){transition:none;transform:none!important}}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){:root :is(body,body.fx-app) :is(.fl-button,.ops-button,.crm-button,.cw-button,.platform-button,.button):not([role=tab]){background-image:none!important;box-shadow:none!important}}
@media(forced-colors:active){:root :is(body,body.fx-app) :is(.fl-button,.ops-button,.crm-button,.cw-button,.platform-button,.button):not([role=tab]){background:ButtonFace!important;color:ButtonText!important;border-color:ButtonText!important;box-shadow:none!important;forced-color-adjust:auto}:root :is(body,body.fx-app) .fx-segmented>.cw-button[aria-pressed=true]{border:2px solid Highlight!important;color:Highlight!important}.fx-button-icon{stroke:ButtonText}}
/* Source review is explicit, readable without color, and separate from input errors. */
.fx-review-marker{display:block;color:#a52b29;font-weight:650;line-height:1.5;margin-block-start:.4rem;font-size:.8rem}
.fx-review-marker a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
.fx-review-field{border-inline-start:3px solid #b83230!important}
.fx-review-summary{padding:1rem;border:1px solid #e3aaa7;border-inline-start:4px solid #b83230;border-radius:10px;background:#fff5f4;margin-block:1rem}
.fx-review-summary strong{color:#962624}.fx-review-jump{display:inline-block;color:#962624;background:transparent;border:0;text-align:start;text-decoration:underline;padding:.55rem;cursor:pointer;font:inherit}
.fx-review-jump:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.fx-app .fx-source-financials .fx-monthly-table .fx-review-marker,.fx-app .fx-source-financials .fx-monthly-table .fx-review-marker a{color:#a52b29;font-weight:650}
.contract-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--fx-space-4,1rem)}
.contract-source-field{min-width:0;padding-block:.65rem;border-block-end:1px solid var(--fx-border)}
.contract-source-field dt{font-weight:600}.contract-source-field dd{margin-inline:0;overflow-wrap:anywhere}.contract-source-field p{margin-block:.25rem}.contract-source-records summary{cursor:pointer;padding-block:.65rem}.contract-source-records>.cw-meta{max-width:75ch}
@media(max-width:640px){.contract-source-grid{grid-template-columns:minmax(0,1fr)}}
.accountant-task-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.accountant-task-links .cw-button{justify-content:flex-start;min-height:3rem;text-align:start}
@media(max-width:640px){.accountant-task-links{grid-template-columns:repeat(2,minmax(0,1fr))}}

.cw-contract-review>summary{cursor:pointer;font-weight:650;display:list-item;padding-block:.5rem}.cw-contract-review>summary>span{margin-inline-end:1rem}.cw-contract-review>summary .fx-review-marker{display:inline-block;font-size:.875rem;font-weight:600;padding:.25rem .5rem}.cw-contract-review[open]>summary{margin-block-end:1rem}
.fx-finance-filters{display:grid;gap:var(--fx-space-4,1rem);padding:1.25rem;margin-block:1.25rem;background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:var(--fx-radius)}
.fx-finance-filters>.fx-finance-presets{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;align-items:stretch}.fx-finance-presets>.cw-button{min-width:0;padding-inline:.5rem}.fx-finance-provenance{overflow-wrap:anywhere}
.fx-finance-filter-fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}
.fx-finance-filter-fields label:first-child,.fx-finance-filter-fields label:has([name="month"]),.fx-finance-filter-fields label:has([name="year"]){grid-column:span 2}
.fx-finance-filter-fields label{display:grid;gap:.4rem;min-width:0;align-content:start}
.fx-finance-filter-fields input,.fx-finance-filter-fields select{box-sizing:border-box;width:100%;min-width:0;height:var(--fx-control-height);padding:.5rem .65rem;border:1px solid var(--fx-border);border-radius:var(--fx-control-radius);font:inherit;background:var(--fx-surface);color:var(--fx-text)}
.fx-finance-filters [hidden]{display:none!important}.fx-finance-filters>.cw-error:empty{display:none}.fx-finance-filters>.cw-button{justify-self:start}
.income-save-fields{border:0;padding:0;margin:0;min-width:0}.income-save-fields:disabled{opacity:.75}
@media(max-width:1024px){.fx-finance-filter-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.fx-finance-filter-fields label:first-child,.fx-finance-filter-fields label:has([name="month"]),.fx-finance-filter-fields label:has([name="year"]){grid-column:auto}.fx-finance-filters>.fx-finance-presets{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.fx-finance-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.fx-finance-filters{padding:1rem}}
@media(max-width:420px){.fx-finance-filter-fields{grid-template-columns:1fr}.fx-finance-filters>.fx-finance-presets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.fx-finance-filters,.fx-register-pagination{display:none!important}tr[data-finance-page-row][hidden]{display:table-row!important}}

@media print{.report-return{display:none!important}}
