/* Stable component tokens. Themes alter tokens; pages consume the same components. */
:root { --ui-field-height:42px; --ui-radius:8px; --ui-border:#d9e2ec; --ui-surface:#fff; --ui-muted:#66788a; --ui-gap:16px; --ui-field-padding:12px; --ui-focus:#b18f6640; --ui-danger:#b42318; --ui-font-size:14px; }
:root{--ui-template-gallery-inset:var(--ui-gap)}
.ui-template-gallery{padding:var(--ui-gap) var(--ui-template-gallery-inset);min-width:0;background:transparent;border:0;box-shadow:none}
.ui-template-gallery>[role=status]:empty{display:none}
.ui-page-action-placeholder{display:block;flex:0 0 var(--ui-page-icon-size);width:var(--ui-page-icon-size);height:var(--ui-page-icon-size);visibility:hidden;pointer-events:none}
.ui-page-workspace__header{min-height:calc(var(--ui-page-icon-size) + 7px)}
.ui-page-workspace__header .ui-page-actions{margin:0}
.ui-page-workspace__header > .ui-page-workspace__actions{margin-inline-start:auto}
/* Contract template cards consume the shared theme, fields and action controls. */
.contract-template-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--ui-gap)}
.contract-template-card{min-width:0;min-height:176px;box-sizing:border-box;display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--ui-border);border-radius:calc(var(--ui-radius) * 1.75);background:var(--ui-surface);color:var(--ui-text);box-shadow:0 6px 20px color-mix(in srgb,var(--ui-primary) 5%,transparent);transition:background 200ms ease,border-color 200ms ease,box-shadow 200ms ease,transform 200ms ease}
.contract-template-card:not(.contract-template-card--new):is(:hover,:focus-within){transform:translateY(-3px);border-color:color-mix(in srgb,var(--ui-primary) 50%,transparent);box-shadow:inset 0 4px 0 var(--ui-primary),0 8px 22px color-mix(in srgb,var(--ui-primary) 12%,transparent)}
.contract-template-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.contract-template-title{min-width:0;color:var(--ui-text);text-decoration:none;font-size:var(--ui-font-size);font-weight:700;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.contract-template-card .ui-switch{--ui-switch-on:var(--ui-action-success,#24ac8b)}
.contract-template-card>small{font-size:12px;color:var(--ui-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contract-template-card>p{margin:0;min-height:18px;font-size:12px;line-height:1.5;color:var(--ui-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.contract-template-card .row-tools{display:flex;justify-content:center;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--ui-border)}
.contract-template-card.is-disabled>header>a,.contract-template-card.is-disabled>small{color:var(--ui-muted)}
.contract-template-card--new{align-items:center;justify-content:center;border:2px dashed var(--ui-border);background:transparent;box-shadow:none;cursor:pointer;font:inherit;gap:12px}
.contract-template-card--new>svg{width:36px;height:36px;color:var(--ui-muted)}
.contract-template-card--new>small{font-size:11px}
.contract-template-card--new:is(:hover,:focus-visible){background:color-mix(in srgb,var(--ui-primary) 4%,var(--ui-surface));border-color:var(--ui-border);box-shadow:none;transform:none}
.contract-template-card--new:is(:hover,:focus-visible)>svg{color:var(--ui-primary)}
.contract-template-card--new:focus-visible{outline:2px solid var(--ui-focus-border);outline-offset:2px}
.ui-template-preview{width:min(760px,calc(100vw - 48px));background:var(--ui-surface)}
.ui-template-preview h2{font-size:18px;margin:0 0 var(--ui-gap);padding-inline-end:32px}
.ui-template-preview [data-template-preview-body]{max-height:65vh;overflow:auto;min-height:80px;padding:var(--ui-gap);border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text)}
dialog.ui-template-dialog{width:min(620px,calc(100vw - 48px));padding:24px;border-radius:var(--ui-radius);box-sizing:border-box;background:var(--ui-surface);color:var(--ui-text)}
.ui-template-dialog h2{margin:0 0 20px;font-size:18px}
.ui-template-dialog .maale-form.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(var(--ui-gap) * .75)}
.ui-template-description{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:calc(var(--ui-gap) * .75)}
.ui-template-description>button{margin-bottom:3px}
.ui-template-error{margin:0;color:var(--ui-danger);font-size:12px}
.ui-template-error:empty{display:none}
@media(prefers-reduced-motion:reduce){.contract-template-card{transition:none}.contract-template-card:is(:hover,:focus-within){transform:none}}
/* Shared flat tabs with a clear active marker. */
.ui-clause-table :is(th,td){white-space:nowrap!important}
dialog.ui-clause-dialog{width:min(680px,calc(100vw - 48px));box-sizing:border-box}
.ui-clause-entry-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}
.ui-clause-entry-footer>button{margin-top:27px}
.ui-clause-entry-footer:not(:has(>button)){grid-template-columns:minmax(0,1fr)}
html[data-ui-theme] body[data-ui-scope="application"] .ui-clause-dialog .maale-form .maale-form-field>textarea[name="body"]{height:80px!important;min-height:80px!important;max-height:80px;line-height:20px;overflow-y:auto;resize:none}
.ui-guidance[data-tone="document"]{width:max-content;max-width:min(480px,calc(100vw - 32px));max-height:45vh;overflow:auto;white-space:pre-wrap;text-align:start;direction:rtl;background:#fff;pointer-events:auto;padding:12px 16px;box-sizing:border-box}
.ui-guidance[data-tone="document"]::after{display:none}
html[data-ui-theme] .maale-list-tabs {
    display:flex; flex-wrap:nowrap; isolation:isolate; align-items:flex-end;
    gap:6px; padding:2px; margin:0 0 12px; background:transparent;
    overflow-x:auto; max-width:100%; scrollbar-width:thin; border:0; border-radius:0;
}
html[data-ui-theme] .maale-list-tabs .maale-list-tab {
    position:relative; z-index:auto; flex:0 0 auto; min-width:0; min-height:42px;
    padding:9px 16px; margin:0; white-space:nowrap;
    border:0; border-bottom:3px solid transparent; border-radius:8px 8px 0 0;
    background:transparent; color:var(--ui-muted);
    font-weight:500; font-size:12px; box-shadow:none;
}
html[data-ui-theme] .maale-list-tabs .maale-list-tab:hover { background:var(--ui-surface-subtle,#f1f4f7); }
html[data-ui-theme] .maale-list-tabs .maale-list-tab:is(.is-active,[aria-current="page"],[aria-selected="true"]) {
    background:var(--ui-filter-applied-bg); border-bottom-color:var(--ui-primary,#94744b);
    color:var(--ui-filter-applied-text); font-weight:700; box-shadow:none;
}
html[data-ui-theme] .maale-list-tabs .maale-list-tab:focus-visible { outline-offset:-3px; }
html[data-ui-theme] .maale-list-tabs .maale-list-tab > svg { width:16px; height:16px; flex:none; }
html[data-ui-theme] :is(.form-grid,.maale-form,.maale-list-filters,.ui-field,.module-filters,.ui-list__filters,.modal form) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):not([type=hidden]),select,textarea) { min-height:var(--ui-field-height); border:1px solid var(--ui-border); border-radius:var(--ui-radius); background:var(--ui-surface); color:var(--app-text,#172033); padding:10px var(--ui-field-padding); font:inherit; font-size:var(--ui-font-size); box-sizing:border-box; }
html[data-ui-theme] :is(.form-grid,.maale-form,.maale-list-filters,.ui-field,.module-filters,.ui-list__filters,.modal form) :is(input,select,textarea):focus-visible { outline:3px solid var(--ui-focus); outline-offset:1px; border-color:var(--app-accent,#b18f66); }
html[data-ui-theme] :is(.form-grid,.maale-form,.maale-list-filters,.ui-field,.module-filters,.ui-list__filters,.modal form) :is(input,select,textarea):disabled { background:#f1f4f7; color:var(--ui-muted); cursor:not-allowed; opacity:.7; }
html[data-ui-theme] :is(.button,.ui-button) { min-height:var(--ui-field-height); border-radius:var(--ui-radius); padding:10px 18px; font-size:var(--ui-font-size); line-height:20px; box-sizing:border-box; }
.ui-button { display:inline-flex; justify-content:center; align-items:center; gap:8px; border:1px solid transparent; cursor:pointer; text-decoration:none; font-family:inherit; background:var(--app-accent,#b18f66); color:var(--app-button-text,#fff); }
.ui-button--secondary { background:var(--ui-surface); color:var(--app-header,#102a43); border-color:var(--ui-border); }
.ui-button--danger { background:var(--ui-danger); color:#fff; }
.ui-button:disabled { opacity:.5; cursor:not-allowed; }
button[data-ui-busy="true"] { cursor:progress !important; }
.ui-button > :is(svg,i) { width:18px; height:18px; flex-shrink:0; }
html[data-ui-theme] .ui-button--icon-only { width:var(--ui-field-height); height:var(--ui-field-height); padding:0; flex-shrink:0; }
.ui-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
/* Applied list filters share the same visual state across themes. */
html[data-ui-theme] body[data-ui-scope="application"] .ui-search-field { position:relative; display:block; min-width:0; }
html[data-ui-theme] body[data-ui-scope="application"] .ui-search-field > input {
    width:100%; box-sizing:border-box; padding-inline-start:12px!important; padding-inline-end:44px!important;
}
html[data-ui-theme] body[data-ui-scope="application"] .ui-search-field > input.maale-filter--applied {
    background:var(--ui-surface)!important; color:var(--ui-text,#172033)!important; border-color:var(--ui-border)!important;
}
html[data-ui-theme] body[data-ui-scope="application"] .ui-search-field > .ui-search-field__icon[class] {
    position:absolute; inset-inline-start:auto; inset-inline-end:5px; top:50%; bottom:auto; transform:translateY(-50%);
    display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box;
    width:30px!important; min-width:30px!important; max-width:30px!important; height:30px!important; min-height:30px!important; max-height:30px!important;
    flex:0 0 30px!important; margin:0; padding:0!important; border:0; border-radius:6px;
    background:var(--ui-surface-subtle,#f1f3f5)!important; color:var(--ui-muted)!important; box-shadow:none;
}
html[data-ui-theme] body[data-ui-scope="application"] .ui-search-field:has(> input.maale-filter--applied) > .ui-search-field__icon {
    background:var(--ui-filter-applied-bg)!important; color:var(--ui-filter-applied-text)!important;
}
html[data-ui-theme] body[data-ui-scope="application"] .ui-search-field > .ui-search-field__icon > svg { width:16px!important; height:16px!important; }
:root { --ui-filter-applied-bg:#f2e8db; --ui-filter-applied-border:#d9c3a6; --ui-filter-applied-text:#725334; }
html[data-ui-theme] :is(input,select,button,.maale-filter-trigger).maale-filter--applied {
    background:var(--ui-filter-applied-bg)!important; border-color:var(--ui-filter-applied-border)!important; color:var(--ui-filter-applied-text)!important;
}
html[data-ui-theme] [data-clear-agreement-filters]:disabled {
    background:#f1f3f5; color:#a0a8b3; border-color:#e1e5e9; opacity:.6; cursor:default; box-shadow:none;
}
html[data-ui-theme] [data-clear-agreement-filters].maale-list-clear--active {
    background:var(--ui-filter-applied-bg); color:var(--ui-filter-applied-text); border-color:var(--ui-filter-applied-border);
}
html[data-ui-theme] [data-clear-agreement-filters] svg { width:19px; height:19px; }
.ui-button:focus-visible { outline:3px solid var(--ui-focus); outline-offset:2px; }
.ui-field { display:grid; align-content:start; align-self:start; gap:8px; min-width:0; font-size:var(--ui-font-size); }
.ui-field > :is(input,select,textarea) { width:100%; }
.ui-field [aria-invalid=true] { border-color:var(--ui-danger)!important; }
.ui-field__error { color:var(--ui-danger); font-size:12px; }
.ui-field__help { color:var(--ui-muted); font-size:12px; }
.ui-field select[multiple] { min-height:126px!important; }
.ui-field :is(input[type=checkbox],input[type=radio]) { accent-color:var(--app-accent,#b18f66); width:18px; height:18px; }
.ui-reference-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:var(--ui-gap); }
.ui-reference-actions { display:flex; flex-wrap:wrap; gap:12px; margin-block:16px; }
.ui-reference-stack { display:grid; gap:24px; }
.ui-reference-note { color:var(--ui-muted); line-height:1.8; }
.ui-list { overflow:hidden; }
.ui-list__heading,.ui-list__filters { display:flex; flex-wrap:wrap; align-items:end; gap:var(--ui-gap); padding-block:16px; }
.ui-list__heading { justify-content:space-between; align-items:center; }
.ui-list__heading h2 { margin:0; }
.ui-list__filters > .ui-field { flex:1 1 180px; }
.ui-list__body { overflow-x:auto; }
.ui-list__body table { width:100%; border-collapse:collapse; }
.ui-list__body :is(th,td) { padding:14px 12px; text-align:start; border-bottom:1px solid var(--ui-border); }
.ui-list__footer { padding-block:16px; color:var(--ui-muted); }
.ui-page-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:calc(var(--ui-gap) / 2); margin-block-end:var(--ui-gap); min-width:0; }
.ui-page-actions > .icon-button { display:inline-flex; align-items:center; justify-content:center; width:var(--ui-field-height); height:var(--ui-field-height); min-height:var(--ui-field-height); padding:0; border-radius:var(--ui-radius); }
.ui-page-actions > .icon-button svg { width:18px; height:18px; }
@media print { .ui-page-actions { display:none; } }
@media print { .ui-reference-actions { display:none; } }
.ui-date-range { display:inline-flex; align-items:center; }
.ui-date-range__card { position:fixed; inset:auto; margin:0; width:min(400px,calc(100vw - 16px)); max-height:calc(100dvh - 16px); overflow:auto; padding:var(--ui-gap); border:1px solid var(--ui-border); border-radius:var(--ui-radius); background:var(--ui-surface); color:var(--app-text,#172033); box-shadow:0 8px 24px #102a4326; box-sizing:border-box; font:inherit; }
.ui-date-range__fields { display:flex; align-items:end; gap:var(--ui-gap); margin-top:var(--ui-gap); }
.ui-date-range__fields .ui-field { flex:1; min-width:0; }
.ui-date-range__fields input { min-width:0; }

html[data-ui-theme] :is(.form-grid,.maale-form,.maale-list-filters,.ui-field,.module-filters,.ui-list__filters,.modal form) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):not([type=hidden]),select:not([multiple])) { height:var(--ui-field-height); line-height:20px; }

/* Retain legacy employee icon gutters while sharing the field size token. */
html[data-ui-theme] [data-employee-form] .form-grid > label[data-field-icon] > :is(input:not([type=hidden]):not([type=file]),select) { min-height:var(--ui-field-height); height:var(--ui-field-height); padding-inline-start:68px; border-radius:var(--ui-radius); }

/* Focus styling is limited to input controls and their select triggers. */
:root { --ui-focus-border:#b7c2ce; }
html[data-ui-theme] :is(input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]):not([type=reset]),select,textarea,.maale-filter-trigger):is(:focus,:focus-visible) {
    outline:none!important;
    box-shadow:none!important;
    border-color:var(--ui-focus-border)!important;
}
html[data-ui-theme] [aria-invalid="true"]:is(:focus,:focus-visible) { border-color:var(--ui-danger)!important; }
.ui-field select.maale-filter-native { position:absolute!important; width:1px!important; height:1px!important; min-height:0!important; padding:0!important; opacity:0; clip-path:inset(50%); pointer-events:none; }
html[data-ui-theme] input.maale-filter-trigger { width:100%; cursor:text; font-weight:400; }
html[data-ui-theme] .maale-filter-options { max-height:250px; }
/* Legacy list workspaces opt into the shared theme using ui-list. */
html[data-ui-theme] .ui-list .maale-list-filters { grid-template-columns:minmax(220px,2fr) repeat(3,minmax(120px,1fr)) var(--ui-field-height); gap:var(--ui-gap); }
html[data-ui-theme] .ui-list .maale-list-filters .maale-filter-trigger { height:var(--ui-field-height); min-height:var(--ui-field-height); border-radius:var(--ui-radius); font-size:var(--ui-font-size); }
html[data-ui-theme] .ui-list [data-clear-agreement-filters] { width:var(--ui-field-height); height:var(--ui-field-height); min-height:var(--ui-field-height); border-radius:var(--ui-radius); }
html[data-ui-theme] .ui-list .maale-list-table thead th { background:var(--ui-table-heading,#dfe9ff); color:var(--ui-table-heading-text,#0f2144); }
@media(max-width:900px) { html[data-ui-theme] .ui-list .maale-list-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } html[data-ui-theme] .ui-list .maale-list-search { grid-column:1/-1; } }

.section-tabs { display:flex; flex-wrap:nowrap; gap:8px; overflow-x:auto; margin-block-end:20px; padding-block:4px; scrollbar-width:thin; }
.section-tabs .maale-list-tab { flex:0 0 auto; white-space:nowrap; }
html[data-ui-theme] .section-tabs .maale-list-tab { font-weight:700; }

/* Unit tables use shared component styling; only column layout is specific. */
.ui-row-actions { display:flex; align-items:center; flex-wrap:wrap; gap:calc(var(--ui-gap) / 2); }
.ui-list__cell-meta { display:block; color:var(--ui-muted); font-size:var(--ui-font-size); margin-block-start:calc(var(--ui-gap) / 4); }
.org-dialog { width:min(760px,calc(100vw - var(--ui-gap) * 2)); max-height:90dvh; overflow:auto; box-sizing:border-box; }
.org-dialog .ui-reference-grid { margin-block:var(--ui-gap); grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); }
[data-organization] .table-wrap { overflow-x:auto; }
.org-list-table { table-layout:fixed; min-width:calc(var(--ui-field-height) * 22); }
.org-list-table :is(th,td) { overflow-wrap:anywhere; vertical-align:middle; }
.org-column-name { width:22%; } .org-column-kind { width:10%; } .org-column-parent { width:22%; }
.org-column-manager { width:14%; } .org-column-members { width:9%; } .org-column-status { width:9%; } .org-column-actions { width:14%; }
.org-column-employee { width:25%; } .org-column-primary { width:30%; } .org-column-additional { width:31%; }
[data-org-message]:empty { display:none; }

[data-organization] [hidden] { display:none!important; }
.maale-list-filters--card { padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; gap:var(--ui-gap); }
.maale-list-filters--card > [hidden] { display:none!important; }
html[data-ui-theme] body[data-ui-scope="application"] .maale-list-filters.maale-list-filters--compact > :is(label,.ui-field,.maale-list-search) {
    flex:0 0 calc(var(--ui-filter-control-height) * 4.5)!important;
}
html[data-ui-theme] body[data-ui-scope="application"] .maale-list-filters.maale-list-filters--compact > .maale-list-search {
    flex-basis:calc(var(--ui-filter-control-height) * 6)!important;
}
/* Keep shared filter controls on one row; contain scrolling inside the card. */
html[data-ui-theme] body[data-ui-scope="application"] :is(.maale-list-filters,.ui-list__filters,.agreement-filter-row,[data-list-filters]) {
    --ui-field-height:var(--ui-filter-control-height); --ui-filter-font-size:11px;
    position:relative; display:flex!important; flex-wrap:nowrap!important; align-items:end;
    padding:0!important; border:0!important; border-radius:0; background:transparent!important; box-shadow:none!important;
    min-width:0; max-width:100%; box-sizing:border-box; overflow-x:auto; overflow-y:hidden;
    gap:var(--ui-gap);
}
html[data-ui-theme] body[data-ui-scope="application"] :is(.maale-list-filters,.ui-list__filters,.agreement-filter-row,[data-list-filters]) > :is(label,.ui-field,.maale-list-search,.requests-search-group) {
    flex:1 0 calc(var(--ui-field-height) * 3)!important; min-width:0; grid-column:auto!important;
}
html[data-ui-theme] body[data-ui-scope="application"] :is(.maale-list-filters,.ui-list__filters,.agreement-filter-row,[data-list-filters]) > :is(button,.ui-date-range,.row-tools) { flex-shrink:0; }
html[data-ui-theme] body[data-ui-scope="application"] :is(.maale-list-filters,.ui-list__filters,.agreement-filter-row,[data-list-filters]) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select:not(.maale-filter-native),.maale-filter-trigger,.ui-date-input) {
    height:var(--ui-field-height)!important; min-height:var(--ui-field-height)!important;
    font-family:var(--ui-font-family); font-size:var(--ui-filter-font-size)!important; font-weight:400!important; color:var(--ui-muted)!important;
    padding:4px 8px!important; line-height:20px;
}
html[data-ui-theme] body[data-ui-scope="application"] :is(.maale-list-filters,.ui-list__filters,.agreement-filter-row,[data-list-filters]) input::placeholder { color:var(--ui-muted); opacity:1; font-size:var(--ui-filter-font-size); font-weight:400; }
html[data-ui-theme] body[data-ui-scope="application"] :is(.maale-list-filters,.ui-list__filters,.agreement-filter-row,[data-list-filters]) :is(button.icon-button,button.ui-button,button.maale-list-search-submit) { width:var(--ui-field-height)!important; height:var(--ui-field-height)!important; min-height:var(--ui-field-height)!important; padding:6px!important; }
html[data-ui-theme] body[data-ui-scope="application"] :is(.maale-list-filters,.ui-list__filters,.agreement-filter-row,[data-list-filters]) > :is(label,.ui-field) { gap:0; }
:root { --ui-page-icon-size:36px; --ui-filter-control-height:40px; --ui-page-icon-glyph-size:18px; }
.ui-page-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:nowrap; gap:var(--ui-gap); margin-block-end:var(--ui-gap); min-width:0; }
.ui-page-heading > h2 { margin:0; min-width:0; color:var(--ui-heading); font-size:var(--ui-font-size); }
.ui-page-heading > .ui-page-actions { margin:0; }
.maale-list-heading > .ui-page-actions { margin:0; }
html[data-ui-theme] body[data-ui-scope="application"] .maale-list-heading > [data-page-actions] { margin-inline-start:auto; }
html[data-ui-theme] body[data-ui-scope="application"] :is(.ui-page-actions,.maale-list-shell-actions,.maale-list-heading > .toolbar,.maale-list-heading > .row-tools,[data-attendance-page-actions]) { display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center; direction:rtl; gap:calc(var(--ui-gap) / 2); }
[data-attendance-actions] { display:contents; }
html[data-ui-theme] body[data-ui-scope="application"] :is(.ui-page-actions,.maale-list-shell-actions,.maale-list-heading,.ui-list__heading,.agreement-list-heading) [data-ui-action="new"] { order:100; }
html[data-ui-theme] body[data-ui-scope="application"] .maale-list-heading:has(> h2) { flex-wrap:nowrap; align-items:center; }
html[data-ui-theme] body[data-ui-scope="application"] :is(.maale-list-shell-actions,.maale-list-heading,.ui-list__heading,.agreement-list-heading) > .requests-export-actions { display:flex; flex-direction:row; direction:rtl; align-items:center; gap:calc(var(--ui-gap) / 2); }
/* Page actions and filter icons share one size across all themes. */
html[data-ui-theme] body[data-ui-scope="application"] :is(
    :is(.ui-page-actions,[data-page-actions],.page-header,.page-heading,.module-toolbar,.maale-list-heading,.ui-list__heading,.topbar,.maale-list-shell-actions,.maale-list-filters,.ui-list__filters,.agreement-filter-row,[data-list-filters]) :is(.icon-button,.ui-button--icon-only,.page-header-action,.request-export-button,.maale-list-search-submit),
    .page-header-action,.request-export-button,.notification-bell
):not(.ui-search-field__icon,dialog *,[role="dialog"] *,.modal *,tbody *,.agreement-paper *,.contract-word-host *) {
    display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box;
    width:var(--ui-page-icon-size)!important; min-width:var(--ui-page-icon-size)!important; max-width:var(--ui-page-icon-size)!important;
    height:var(--ui-page-icon-size)!important; min-height:var(--ui-page-icon-size)!important; max-height:var(--ui-page-icon-size)!important;
    flex:0 0 var(--ui-page-icon-size)!important; padding:0!important;
}
html[data-ui-theme] body[data-ui-scope="application"] :is(
    :is(.ui-page-actions,[data-page-actions],.page-header,.page-heading,.module-toolbar,.maale-list-heading,.ui-list__heading,.topbar,.maale-list-shell-actions,.maale-list-filters,.ui-list__filters,.agreement-filter-row,[data-list-filters]) :is(.icon-button,.ui-button--icon-only,.page-header-action,.request-export-button,.maale-list-search-submit),
    .page-header-action,.request-export-button,.notification-bell
):not(.ui-search-field__icon,dialog *,[role="dialog"] *,.modal *,tbody *,.agreement-paper *,.contract-word-host *) > svg {
    width:var(--ui-page-icon-glyph-size)!important; height:var(--ui-page-icon-glyph-size)!important; flex-shrink:0;
}
/* Boolean activation controls retain native checkbox values and events. */
:root { --ui-switch-width:48px; --ui-switch-height:26px; --ui-switch-off:#b7bec7; --ui-switch-on:var(--ui-primary,#b18f66); }
html[data-ui-theme] body[data-ui-scope="application"] label.ui-switch-field { display:flex; flex-direction:row; align-items:center; gap:8px; cursor:pointer; }
html[data-ui-theme] body[data-ui-scope="application"] input.ui-switch[type="checkbox"] {
    appearance:none!important; -webkit-appearance:none!important; position:relative; display:inline-block;
    box-sizing:border-box; width:var(--ui-switch-width)!important; min-width:var(--ui-switch-width)!important; max-width:var(--ui-switch-width)!important;
    height:var(--ui-switch-height)!important; min-height:var(--ui-switch-height)!important; max-height:var(--ui-switch-height)!important;
    flex:0 0 var(--ui-switch-width); padding:0!important; margin:0!important; border:0!important; border-radius:999px!important;
    background:var(--ui-switch-off)!important; cursor:pointer; vertical-align:middle; box-shadow:none!important;
    transition:background-color 180ms ease;
}
html[data-ui-theme] body[data-ui-scope="application"] input.ui-switch[type="checkbox"]::before {
    content:""; position:absolute; width:20px; height:20px; top:3px; left:3px; border-radius:50%; background:#fff;
    box-shadow:0 1px 3px #0002; transform:translateX(0); transition:transform 180ms ease;
}
html[data-ui-theme] body[data-ui-scope="application"] input.ui-switch[type="checkbox"]:checked { background:var(--ui-switch-on)!important; }
html[data-ui-theme] body[data-ui-scope="application"] input.ui-switch[type="checkbox"]:checked::before { transform:translateX(22px); }
html[data-ui-theme] body[data-ui-scope="application"] input.ui-switch[type="checkbox"]:focus-visible { outline:2px solid var(--ui-primary,#94744b)!important; outline-offset:3px; }
html[data-ui-theme] body[data-ui-scope="application"] input.ui-switch[type="checkbox"]:disabled { opacity:.5; cursor:not-allowed; }
@media(prefers-reduced-motion:reduce) { input.ui-switch,input.ui-switch::before { transition:none!important; } }

/* Hierarchical permission matrix: layout only; fields, colors and tabs consume shared tokens. */
.permissions-tree-wrap { overflow:auto; max-width:100%; }
.permissions-tree { width:100%; min-width:720px; table-layout:fixed; border-collapse:collapse; }
.permissions-tree :is(th,td) { text-align:center; vertical-align:middle; }
.permissions-tree :is(th,td):first-child { width:40%; text-align:start; }
.permissions-tree tbody th { padding-inline-start:calc(var(--ui-gap) + var(--permission-depth,0) * var(--ui-gap)); }
.permissions-tree-group { background:var(--ui-surface-subtle); }
.permissions-tree-toggle { display:inline-flex; align-items:center; gap:calc(var(--ui-gap)/2); padding:0; border:0; background:transparent; color:inherit; font:inherit; font-weight:600; text-align:start; cursor:pointer; }
.permissions-tree-toggle svg { width:16px; height:16px; flex-shrink:0; transition:transform var(--ui-icon-fade-duration); }
.permissions-tree-toggle[aria-expanded=false] svg { transform:rotate(90deg); }
.permissions-tree-leaf { display:inline-block; padding-inline-start:calc(var(--ui-gap) + 8px); border-inline-start:1px solid var(--ui-border); }
.permissions-tree input[type=checkbox] { width:18px; height:18px; margin:0; accent-color:var(--ui-primary); cursor:pointer; }
.permissions-tree input[type=checkbox]:disabled { cursor:not-allowed; opacity:.55; }
.permissions-tree :is(input,button):focus-visible { outline:2px solid var(--ui-focus-border); outline-offset:3px; }
[data-permissions-editor] [data-permissions-status]:empty { display:none; }
@media(prefers-reduced-motion:reduce) { .permissions-tree-toggle svg { transition:none; } }

/* Shared insertable template tokens: use existing button and theme primitives. */
.ui-token-list { display:flex; flex-wrap:wrap; gap:calc(var(--ui-gap) / 2); min-width:0; }
.ui-token-list .ui-button { display:inline-flex; flex-direction:column; flex:0 1 auto; white-space:normal; max-width:100%; }
.ui-token-list code { direction:ltr; unicode-bidi:isolate; overflow-wrap:anywhere; }
.ui-token-list--compact { gap:5px; }
html[data-ui-theme] body[data-ui-scope="application"] .ui-token-list--compact .ui-button { flex-direction:row; align-items:center; gap:5px; min-height:28px; padding:4px 7px; font-size:11px; line-height:1.3; }
[data-message-preview], [data-template-summary], [data-message-log-text] { white-space:pre-wrap; overflow-wrap:anywhere; }

/* Shared tabular identifiers stay on one line. */
.maale-list-table .ui-table-code { white-space:nowrap; direction:ltr; unicode-bidi:isolate; }

html[data-ui-theme] .maale-list-tabs:has(> .ui-tab-menu){overflow:visible;flex-wrap:wrap;isolation:auto}
/* Shared dropdown: RTL, adaptive anchoring, rounded active items. */
html[data-ui-theme] body .ui-dropdown__items {
    position:fixed; inset:auto; margin:0; z-index:1000; box-sizing:border-box;
    width:max-content; min-width:210px; max-width:calc(100vw - 16px); overflow:auto;
    padding:calc(var(--ui-gap) / 2); border:1px solid var(--ui-border); border-radius:var(--ui-radius);
    background:var(--ui-surface); color:var(--ui-text); box-shadow:0 8px 24px #102a4326;
    direction:rtl; text-align:right;
}
html[data-ui-theme] body .ui-dropdown__items:popover-open { display:grid; gap:2px; animation:ui-dropdown-enter 170ms ease-out both; }
html[data-ui-theme] body :is(.ui-dropdown__items,.svc-setup-menu)[data-dropdown-positioning] { visibility:hidden; animation:none; }
html[data-ui-theme] body .ui-dropdown__items { transition-property:background-color,border-color,color,box-shadow; }
html[data-ui-theme] body .ui-dropdown__items > :is(a,button,.maale-list-tab) {
    display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:10px;
    width:100%; min-width:0; min-height:36px; box-sizing:border-box; padding:9px 12px; margin:0;
    direction:rtl; text-align:right; white-space:nowrap; text-decoration:none;
    font-size:var(--ui-font-size); font-weight:400; color:var(--ui-muted); background:transparent;
    border:0!important; border-radius:var(--ui-radius); box-shadow:none!important; transform:none;
}
html[data-ui-theme] body .ui-dropdown__items > :is(a,button,.maale-list-tab):is(:hover,:focus-visible,.is-active,[aria-current="page"],[aria-selected="true"]) {
    background:var(--ui-filter-applied-bg); color:var(--ui-filter-applied-text); border:0!important; border-radius:var(--ui-radius); box-shadow:none!important;
}
html[data-ui-theme] body .ui-dropdown__items > :is(a,button) > svg { width:18px; height:18px; flex:none; }
html[data-ui-theme] body :is(.ui-tab-menu,.ui-dropdown) > summary.maale-list-tab { border:0; border-radius:var(--ui-radius); box-shadow:none; }
html[data-ui-theme] body :is(.ui-tab-menu,.ui-dropdown) > summary.maale-list-tab:is([aria-current="page"],:hover) { background:var(--ui-filter-applied-bg); color:var(--ui-filter-applied-text); border:0; }
@keyframes ui-dropdown-enter { from { opacity:0; transform:translateY(var(--ui-dropdown-enter-y,-6px)) scaleY(.94); } to { opacity:1; transform:translateY(0) scaleY(1); } }
@media(prefers-reduced-motion:reduce) { html[data-ui-theme] body .ui-dropdown__items:popover-open { animation:none; } }

/* Compact icon controls for data-list rows, independent of page toolbars. */
:root{--ui-row-icon-size:30px;--ui-row-icon-glyph-size:16px}
html[data-ui-theme] body[data-ui-scope="application"] table.maale-list-table:not(form table,.agreement-paper table,.contract-word-host table,[data-ui-table-exempt]) td :is(.ui-button--icon-only,.maale-list-row-action,.icon-button){
 display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;padding:0!important;
 width:var(--ui-row-icon-size)!important;min-width:var(--ui-row-icon-size)!important;max-width:var(--ui-row-icon-size)!important;
 height:var(--ui-row-icon-size)!important;min-height:var(--ui-row-icon-size)!important;max-height:var(--ui-row-icon-size)!important;flex:0 0 var(--ui-row-icon-size)!important;
}
html[data-ui-theme] body[data-ui-scope="application"] table.maale-list-table:not(form table,.agreement-paper table,.contract-word-host table,[data-ui-table-exempt]) td :is(.ui-button--icon-only,.maale-list-row-action,.icon-button)>:is(svg,i){width:var(--ui-row-icon-glyph-size)!important;height:var(--ui-row-icon-glyph-size)!important;flex-shrink:0}

/* Shared fixed-size tabbed profile form: employee and future profile consumers. */
html[data-ui-theme] .ui-profile-modal { width:min(1200px,calc(100vw - 48px))!important; height:min(850px,calc(100dvh - 48px)); max-height:calc(100dvh - 48px); display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box; }
.ui-profile-modal>header { flex-shrink:0; }
.ui-profile-form { display:flex;flex-direction:column;min-height:0;flex:1; }
.ui-profile-tabs { flex-shrink:0;display:flex;flex-wrap:nowrap;overflow:auto;gap:var(--ui-space,8px); }
.ui-profile-tabs button { white-space:nowrap;display:inline-flex;align-items:center;gap:6px; }
.ui-profile-tabs svg { width:18px;height:18px;flex-shrink:0; }
.ui-profile-tabs [data-hr-more]>summary>svg { order:1; }
.ui-profile-body { flex:1;min-height:0;overflow:auto;padding:16px 4px; }
.ui-self-profile .ui-profile-page { width:100%; box-sizing:border-box; }
.ui-self-profile [hidden] { display:none!important; }
.ui-self-profile .ui-profile-body { overflow:visible; }
.ui-self-profile [data-my-profile-status] { color:var(--ui-success,#218653); }
.ui-self-profile [data-my-profile-status]:empty { display:none; }
.ui-profile-body [role=tabpanel][hidden] { display:none!important; }
.ui-profile-body .maale-form-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ui-profile-record { padding-block:12px;border-bottom:1px solid var(--ui-border); }
.ui-profile-record>button { align-self:end; }
.ui-profile-record--document{position:relative;margin-block:8px 16px;padding:14px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:color-mix(in srgb,var(--ui-primary) 4%,var(--ui-surface));gap:8px 12px}
.ui-profile-body [data-hr-repeater="professional"] .maale-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.ui-profile-record-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.ui-profile-record--document>.ui-profile-record-actions{position:absolute;inset-inline-end:8px;inset-block-start:4px;font-size:11px;color:var(--ui-muted)}
.ui-profile-record--document .ui-profile-upload{align-self:start}
.ui-profile-upload{min-width:0;max-width:100%}
.ui-profile-upload .ui-upload-card{height:var(--ui-field-height,var(--ui-filter-control-height,40px));min-height:var(--ui-field-height,var(--ui-filter-control-height,40px));box-sizing:border-box;padding:8px;margin:0}
.ui-profile-upload .ui-profile-file-list:empty{display:none}
.ui-profile-upload svg{width:20px;height:20px}
.ui-profile-file{display:flex;align-items:center;gap:8px;padding:5px 8px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);font-size:12px;min-width:0}
.ui-profile-file>a{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ui-text)}
.ui-profile-file>button{flex:none}
.ui-profile-alert-channel{display:inline-flex;align-items:center;gap:5px;margin-inline-end:14px;font-size:12px}
.maale-list-table .ui-profile-alert-toggle{text-align:center;vertical-align:middle}
.ui-profile-alert-toggle .ui-switch-field{display:inline-flex;justify-content:center;align-items:center;margin:0;vertical-align:middle}
a.ui-profile-completion{display:block;color:inherit;text-decoration:none;transition:border-color .18s ease}
a.ui-profile-completion:hover{border-color:var(--ui-primary)}
a.ui-profile-completion:focus-visible{outline:2px solid var(--ui-focus-border);outline-offset:2px}
html[data-ui-theme] body[data-ui-scope=application] :is(.ui-metric-card--accent,.dashboard-summary__card)>strong.ui-metric-card__value--message{font-size:13px!important;font-weight:500;line-height:1.5;letter-spacing:0}
.ui-profile-form .modal__footer { flex-shrink:0;margin-top:8px; }
.ui-profile-form [data-hr-error] { color:var(--ui-danger,#b54747); }
.ui-profile-form .ui-upload-dropzone { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:110px;border:1px dashed var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);cursor:pointer;padding:16px; }
.ui-upload-dropzone>svg { width:26px;height:26px;color:var(--ui-muted); }
.ui-upload-dropzone>small { color:var(--ui-muted); }
.ui-upload-dropzone.is-dragover { border-color:var(--app-accent);background:var(--ui-active-background,var(--ui-surface)); }

/* One moving active plate for every shared tab bar. */
html[data-ui-theme] .maale-list-tabs[data-ui-tab-slider] { position:relative; }
.ui-tab-slider { position:absolute;inset:auto;left:0;top:0;z-index:0;pointer-events:none;box-sizing:border-box;background:var(--ui-filter-applied-bg);border-radius:8px 8px 0 0;border-bottom:3px solid var(--ui-primary,#94744b); }
.ui-tab-slider.is-ready { transition:transform 240ms cubic-bezier(.22,.68,.2,1),width 240ms cubic-bezier(.22,.68,.2,1),height 240ms ease; }
html[data-ui-theme] .maale-list-tabs[data-ui-tab-slider] [data-ui-tab-item] { position:relative;z-index:1; }
html[data-ui-theme] .maale-list-tabs[data-ui-tab-slider] [data-ui-tab-item]:is(.is-active,[aria-current=page],[aria-selected=true],[aria-pressed=true]) { background:transparent!important;border-bottom-color:transparent!important; }
@media(prefers-reduced-motion:reduce) { .ui-tab-slider.is-ready { transition:none; } }

/* Shared account-switch banner, outside page-specific layouts. */
.ui-impersonation-banner{position:fixed;inset:0 0 auto;z-index:2147483000;margin:0;height:44px}
.ui-impersonation-banner button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;border:0;border-bottom:1px solid #efb0b0;background:#ffe1e1;color:#8c2424;font:600 14px/1.4 var(--ui-font-family,Tajawal);cursor:pointer}
.ui-impersonation-banner button span{text-decoration:underline;font-weight:800}
.ui-impersonation-banner button:focus-visible{outline:2px solid #8c2424;outline-offset:-4px}
body:has(>.ui-impersonation-banner){padding-top:44px!important;box-sizing:border-box}
body:has(>.ui-impersonation-banner)>.sidebar{top:44px;height:calc(100vh - 44px)}
@media print{.ui-impersonation-banner{display:none}body:has(>.ui-impersonation-banner){padding-top:0!important}}

.support-request-details{white-space:pre-wrap!important;max-width:560px;overflow-wrap:anywhere}

.ui-nav-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:999px;padding:0 5px;box-sizing:border-box;background:var(--ui-danger,#c44747);color:#fff;font-size:11px;font-weight:700;line-height:1;flex-shrink:0;margin-inline-start:auto;font-variant-numeric:tabular-nums;direction:ltr}
.ui-nav-count[hidden]{display:none!important}

.maale-list-table .attendance-row--absent>td{background:color-mix(in srgb,var(--ui-danger) 9%,var(--ui-surface))!important}
.maale-list-table .attendance-row--absent:hover>td{background:color-mix(in srgb,var(--ui-danger) 13%,var(--ui-surface))!important}
.maale-list-table [data-my-attendance-rest]>td{background:color-mix(in srgb,var(--ui-success,#218653) 9%,var(--ui-surface))!important}
.maale-list-table [data-my-attendance-rest]:hover>td{background:color-mix(in srgb,var(--ui-success,#218653) 13%,var(--ui-surface))!important}
.ui-attendance-countdown{color:var(--ui-warning,#ad641b);white-space:nowrap}
.ui-attendance-countdown [data-attendance-remaining]{display:inline-block;inline-size:9ch;text-align:center;vertical-align:baseline;color:var(--ui-danger,#b42318);font-weight:400;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}

.ui-form-row{display:grid;grid-column:1/-1;gap:var(--ui-gap);min-width:0;align-items:end}
.ui-form-row:has([data-duration-error]){align-items:start}
.ui-form-row--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.ui-form-row--title{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.ui-form-row--title>.module-check{margin:0;align-self:end;min-height:var(--ui-field-height);display:flex;align-items:center}
html[dir=rtl][data-ui-theme] .maale-form input[type=time]{direction:rtl;text-align:right;position:relative;padding-inline-start:44px;padding-inline-end:42px}
html[dir=rtl][data-ui-theme] .maale-form input[type=time]::-webkit-datetime-edit{display:block;padding:0;text-align:right}
html[dir=rtl][data-ui-theme] .maale-form input[type=time]::-webkit-datetime-edit-fields-wrapper{direction:ltr;display:inline-flex}
html[dir=rtl][data-ui-theme] .maale-form input[type=time]::-webkit-calendar-picker-indicator{position:absolute;left:12px;right:auto;margin:0}
html[dir=rtl] .ui-numeric-display[data-numeric-kind=time]{justify-content:flex-end;text-align:right;direction:ltr}
[data-ui-column-hidden]{display:none!important}
.ui-column-menu{display:inline-block;flex-shrink:0}
.ui-column-menu>summary{list-style:none;cursor:pointer}
.ui-column-menu>summary::-webkit-details-marker{display:none}
.ui-column-menu__title{display:block;color:var(--ui-muted);font-size:12px;padding:8px}
.ui-column-menu__option{display:flex;align-items:center;gap:10px;padding:7px 10px;color:var(--app-text);font-size:var(--ui-font-size);cursor:pointer;border-radius:var(--ui-radius)}
.ui-column-menu__option:hover{background:var(--ui-focus)}
.ui-column-menu__option input{accent-color:var(--app-accent);width:15px;height:15px;flex-shrink:0}
.ui-report-print-only{display:none}
@media print{
 [data-ui-column-hidden],.ui-column-menu{display:none!important}
 body:has([data-attendance-tab]){background:#fff!important}
 body:has([data-attendance-tab]) :is(.sidebar,.topbar,.app-footer,.page-header,.module-tabs,.maale-list-tabs,.maale-list-filters,[data-attendance-status],.ui-impersonation-banner){display:none!important}
 body:has([data-attendance-tab]) :is(.app-shell,.main-content,.content-region,[data-attendance-tab],.ui-page-workspace,.ui-page-workspace__body,.attendance-section,.table-wrap){display:block!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;overflow:visible!important}
 body:has([data-attendance-tab]) .content-region{padding-top:32mm!important;padding-bottom:24mm!important}
 .ui-report-print-only{display:block}
 .ui-report-stationery__header{position:fixed;top:0;left:0;right:0;height:27mm;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ui-border);font-size:12px;background:#fff}
 .ui-report-stationery__header strong{font-size:18px}.ui-report-stationery__header p{margin:3px 0}.ui-report-stationery__header img{max-width:48mm;max-height:22mm;object-fit:contain}
 .ui-report-stationery__footer{position:fixed;bottom:0;left:0;right:0;height:20mm;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--ui-border);background:#fff;font-size:9px;gap:8px}
 .ui-report-stationery__footer>div{display:flex;align-items:center;gap:5px;flex:1}.ui-report-stationery__footer img{max-width:14mm;max-height:12mm;object-fit:contain}.ui-report-stationery__footer p{margin:0}.ui-report-stationery__footer>small{position:absolute;bottom:-3mm;width:100%;text-align:center;font-size:8px}
 [data-attendance-content] table{width:100%!important;min-width:0!important;table-layout:auto;font-size:9px!important;border-collapse:collapse}
 [data-attendance-content] th,[data-attendance-content] td{padding:5px!important;white-space:normal!important;border:1px solid var(--ui-border);overflow-wrap:anywhere;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 [data-attendance-content] thead{display:table-header-group}[data-attendance-content] tr{break-inside:avoid}
 [data-attendance-content] .module-toolbar h3{font-size:14px;margin:8px 0}
 body:has([data-attendance-tab]) .ui-dropdown__items{display:none!important}
}
@page attendance-report{size:A4 landscape;margin:12mm}

html[data-ui-theme] body .ui-column-menu>.ui-dropdown__items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:6px;min-width:0;width:min(390px,calc(100vw - 16px))}
.ui-column-menu__note,.ui-column-menu .ui-field__error{grid-column:1/-1}
html[data-ui-theme] body .ui-column-menu>.ui-dropdown__items>button.ui-column-menu__option{display:flex;justify-content:space-between;gap:5px;align-items:center;width:100%;min-height:34px;border:1px solid var(--ui-border)!important;border-radius:var(--ui-radius);background:var(--ui-surface-muted,#f1f4f8);padding:5px 7px;text-align:start;font:inherit;font-size:11px;line-height:1.4;white-space:normal;color:var(--ui-muted)}
html[data-ui-theme] body .ui-column-menu>.ui-dropdown__items>button.ui-column-menu__option[aria-pressed=true]{background:#fff;border-color:var(--ui-border)!important;color:var(--ui-text)}
.ui-column-menu__eye{display:flex;flex-shrink:0}.ui-column-menu__eye svg{width:14px;height:14px}
.ui-attendance-print{display:none}
@media print{
 body.is-printing-attendance{page:attendance-report;padding:0!important;margin:0!important}
 body.is-printing-attendance>:not(.ui-attendance-print){display:none!important}
 body.is-printing-attendance>.ui-attendance-print{display:block!important;width:100%;font-family:Tajawal,Arial,sans-serif;color:#172033}
 .ui-report-print-frame{width:100%;border-collapse:collapse;table-layout:auto}
 .ui-report-print-frame>thead{display:table-header-group}.ui-report-print-frame>tfoot{display:table-footer-group}
 .ui-report-print-frame>thead>tr>td,.ui-report-print-frame>tbody>tr>td,.ui-report-print-frame>tfoot>tr>td{padding:0!important;border:0!important}
 .ui-report-print-frame>tbody>tr{break-inside:auto}
 .ui-attendance-print .ui-report-stationery__header{position:static;min-height:25mm;height:auto;margin-bottom:5mm}
 .ui-attendance-print .ui-report-stationery__footer{position:static;height:auto;min-height:18mm;margin-top:5mm;flex-wrap:wrap}
 .ui-attendance-print .ui-report-stationery__footer>small{position:static;width:100%}
 .ui-attendance-print [data-attendance-content]{display:block!important;padding:0!important}
 .ui-attendance-print [data-attendance-content] thead button{display:contents}
}

html[dir=rtl][data-ui-theme] body[data-ui-scope=application] .maale-form .maale-form-field:has(>.maale-form-icon)>input[type=time]{padding-right:calc(var(--ui-form-icon-width) + var(--ui-field-padding))!important;padding-left:42px!important}

html[dir=rtl][data-ui-theme] body[data-ui-scope=application] .maale-form .maale-form-field:not(.maale-list-filters *,.ui-list__filters *,[data-list-filters] *):not(:has(input[type="datetime-local"])):dir(rtl):has(>.maale-form-icon)>input[type=time]{padding-right:calc(var(--ui-form-icon-width) + var(--ui-field-padding))!important;padding-left:42px!important}

@keyframes ui-dropdown-corner-enter{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:no-preference){html[data-ui-theme] body .ui-dropdown__items[data-dropdown-anchor=corner]:popover-open{animation:ui-dropdown-corner-enter 170ms ease-out both}}

.ui-column-menu__note{font-size:11px;color:var(--ui-muted);text-align:center;padding:6px 2px 2px}
.ui-column-menu .ui-field__error:empty{display:none}

/* Header identity uses the same dropdown owner, surface and entry motion as tabs. */
html[data-ui-theme] body .account-menu > summary.account-toggle {
    display:flex;align-items:center;gap:10px;direction:rtl;list-style:none;
    padding:0;border:0;background:transparent;box-shadow:none;border-radius:0;
    color:var(--ui-text);font:inherit;cursor:pointer;max-width:280px;
}
.account-menu > summary.account-toggle::-webkit-details-marker {display:none;}
html[data-ui-theme] body .account-toggle .account-identity {display:grid;gap:2px;text-align:right;line-height:1.35;}
html[data-ui-theme] body .account-toggle .account-identity strong {font-size:12px;font-weight:500;}
html[data-ui-theme] body .account-toggle .account-identity small {font-size:10px;color:var(--ui-muted);text-align:right;}
html[data-ui-theme] body .account-avatar-anchor {display:flex;flex:none;border-radius:50%;}
html[data-ui-theme] body .account-toggle .account-avatar {width:36px;height:36px;flex:0 0 36px;object-fit:cover;}
html[data-ui-theme] body .account-toggle:focus-visible {outline:2px solid var(--ui-focus-border);outline-offset:5px;border-radius:var(--ui-radius);}
html[data-ui-theme] body .ui-dropdown__items.ui-dropdown__items--compact {min-width:180px;padding:5px;}
html[data-ui-theme] body .ui-dropdown__items.ui-dropdown__items--compact > :is(a,button) {font-size:11px;line-height:1.4;min-height:0;padding:7px 9px;gap:7px;}
html[data-ui-theme] body .ui-dropdown__items.ui-dropdown__items--compact > :is(a,button) > svg {width:15px;height:15px;}
html[data-ui-theme] body .account-menu__items .account-logout {color:var(--ui-action-danger);}

/* Shared confirmation and attachment surfaces. */
.ui-success{text-align:center;padding:var(--ui-gap);color:var(--ui-text);animation:ui-success-enter 220ms ease both}
html[data-ui-theme] body .ui-success > .ui-success__mark{width:88px;height:88px;color:var(--ui-action-success,#188648);overflow:visible}
.ui-success__ring,.ui-success__check{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;animation:ui-success-draw 600ms ease both}
.ui-success__ring{stroke-width:2.5;transform:rotate(-90deg);transform-origin:48px 48px}
.ui-success__check{stroke-width:3.5;animation-duration:360ms;animation-delay:500ms}
.ui-success h3{font-size:var(--ui-font-size);color:var(--ui-text);margin-block:var(--ui-gap)}
.ui-success__details{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 14px;margin-block:var(--ui-gap);text-align:start;font-size:12px}
.ui-success__details dt{color:var(--ui-muted)}.ui-success__details dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
html[data-ui-theme] body dialog.ui-dialog--success{width:min(480px,calc(100vw - 32px));height:fit-content}
.ui-upload-card{position:relative;display:grid;justify-items:center;gap:8px;padding:var(--ui-gap);border:1px dashed var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface-muted);text-align:center;cursor:pointer}
.ui-upload-card>span{display:flex;align-items:center;gap:8px}.ui-upload-card input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.ui-upload-card:focus-within,.ui-upload-card.is-dragging{outline:2px solid var(--ui-focus-border);outline-offset:2px}.ui-upload-card small{color:var(--ui-muted)}
[data-my-attendance-row],[data-justification-row]{cursor:pointer}
[data-my-attendance-row]:focus-visible,[data-justification-row]:focus-visible{outline:2px solid var(--ui-focus-border);outline-offset:-2px}
@keyframes ui-success-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes ui-success-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ui-success,.ui-success__mark *{animation:none!important}}

.ui-dialog [hidden]{display:none!important}
.ui-dialog--success > header h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

.ui-upload-card .ui-upload-card__clear{position:absolute;inset-block-start:6px;inset-inline-end:6px;z-index:2}

/* Compact request composition reuses shared dialog, upload and button tokens. */
html[data-ui-theme] body dialog.ui-dialog--compact:not(.ui-dialog--success){width:min(520px,calc(100vw - 32px));box-sizing:border-box}
.ui-upload-actions{display:flex;align-items:stretch;gap:calc(var(--ui-gap) / 2)}
html[data-ui-theme] body .ui-upload-card.ui-upload-card--compact{flex:1;min-width:0;min-height:var(--ui-filter-control-height,40px);padding:8px var(--ui-field-padding);box-sizing:border-box;align-content:center}
.ui-upload-actions > button{flex:none;min-height:var(--ui-filter-control-height,40px)}
.ui-upload-selection{display:flex;align-items:center;gap:8px;margin-block-start:8px;font-size:12px;color:var(--ui-muted)}
.ui-upload-selection > span{overflow-wrap:anywhere}.ui-upload-selection > .ui-field-clear{position:static;flex:none}
.ui-request-recipient{text-align:center;margin-block:var(--ui-gap) 0;color:var(--ui-primary);font-size:12px;font-weight:500}
.ui-success__reference{display:flex;justify-content:center;align-items:center;gap:8px;margin-block:var(--ui-gap);font-size:var(--ui-font-size);color:var(--ui-muted)}
.ui-success__reference bdi{font-weight:500;color:var(--ui-text)}

/* Shared review document and decision stamp. */
.ui-dialog--review{width:min(600px,calc(100vw - 28px))!important;position:relative}
.ui-dialog--review>header h2{max-width:calc(100% - 48px)}
.ui-record-details{display:grid;grid-template-columns:minmax(70px,.7fr) minmax(0,1fr) minmax(70px,.7fr) minmax(0,1fr);align-items:start;gap:12px 10px;margin:var(--ui-gap) 0;font-size:var(--ui-font-size);line-height:1.8}
.ui-record-details dt{color:var(--ui-muted);font-weight:400;margin:0}
.ui-record-details dd{margin:0;min-width:0;overflow-wrap:anywhere;color:var(--ui-text);font-weight:500}
.ui-record-text{font-size:var(--ui-font-size);line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;margin-block:var(--ui-gap)}
.ui-record-text--success{color:var(--ui-success,#218653)}
.ui-record-text--danger{color:var(--ui-danger,#b42318)}
.ui-record-text>span{display:block;color:var(--ui-muted);font-weight:400}
.ui-attachment-link{display:flex;align-items:center;gap:10px;padding:10px var(--ui-field-padding);border:1px solid var(--ui-border);border-radius:var(--ui-radius);color:var(--ui-primary);font-size:var(--ui-font-size);text-decoration:none;margin-block:var(--ui-gap)}
.ui-attachment-link svg{width:22px;height:22px}
.ui-decision-actions{display:flex;align-items:center;justify-content:center;gap:var(--ui-gap);margin-block-start:var(--ui-gap)}
.ui-decision-stamp{--ui-stamp-color:var(--ui-success,#218653);position:absolute;left:32px;top:98px;z-index:3;pointer-events:none;rotate:-8deg;display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:210px;box-sizing:border-box;color:var(--ui-stamp-color);border:2px solid currentColor;border-radius:10px;padding:12px 15px;background:color-mix(in srgb,var(--ui-surface,#fff) 80%,transparent);box-shadow:0 3px 12px color-mix(in srgb,var(--ui-stamp-color) 9%,transparent);font-size:17px;font-weight:700;line-height:1.5;opacity:1;isolation:isolate}
.ui-decision-stamp::before{content:"";position:absolute;inset:4px;border:1px solid color-mix(in srgb,var(--ui-stamp-color) 38%,transparent);border-radius:5px;pointer-events:none}
.ui-decision-stamp--rejected{--ui-stamp-color:var(--ui-danger,#b42318)}
.ui-decision-stamp>span{color:inherit;-webkit-text-stroke:0;white-space:nowrap}
.ui-decision-stamp>svg{width:22px;height:22px;flex:0 0 22px;stroke-width:2}
.ui-decision-stamp[hidden]{display:none!important}

.ui-status-text[data-tone="success"]{color:var(--ui-success,#218653)}
.ui-status-text[data-tone="danger"]{color:var(--ui-danger,#b42318)}

.ui-status-text[role="button"]{cursor:pointer}
.ui-status-text[role="button"]:focus-visible{outline:2px solid var(--ui-focus-border);outline-offset:3px;border-radius:2px}
.ui-guidance { overflow:visible; position:fixed; inset:auto; margin:0; max-width:240px; padding:8px 12px; border:1px solid var(--ui-border); border-radius:var(--ui-radius,8px); background:var(--ui-surface,#fff); color:var(--ui-text); font-family:inherit; font-size:var(--ui-font-size-sm,12px); line-height:1.5; box-shadow:0 6px 20px #00000012; pointer-events:none; opacity:1; transition:opacity 160ms ease; }
.ui-guidance::after { content:''; position:absolute; left:var(--ui-guide-tip); width:8px; height:8px; background:inherit; border-right:1px solid var(--ui-border); border-bottom:1px solid var(--ui-border); bottom:-5px; transform:translateX(-50%) rotate(45deg); }
.ui-guidance[data-side=below]::after { bottom:auto; top:-5px; transform:translateX(-50%) rotate(225deg); }
.message-rules-table th:first-child { width:20%; }
.message-rules-table td:nth-child(2) { white-space:normal; font-size:var(--ui-font-size-sm); }
@starting-style { .ui-guidance { opacity:0; } }
@media(prefers-reduced-motion:reduce) { .ui-guidance { transition:none; } }

.ui-guidance-target { display:inline-flex; align-items:center; gap:6px; }
.ui-guidance[data-tone="danger"] { font-weight:500; width:190px; max-width:calc(100vw - 24px); box-sizing:border-box; white-space:pre-line; text-align:center; direction:rtl; border-color:#efb8bd; border-radius:12px; color:#9e303e; background:radial-gradient(ellipse at 30% 15%,#fff8f9 0%,#ffe9ec 55%,#f8cbd2 100%); box-shadow:inset 0 1px 3px #ffffffd9,0 5px 16px #b423181a; }
.ui-guidance[data-tone="danger"]::after { background:#fbd8de; border-color:#efb8bd; }
.ui-guidance[data-actionable="true"] { pointer-events:auto; cursor:pointer; }
.ui-guidance[data-actionable="true"]:focus-visible { outline:2px solid var(--ui-danger); outline-offset:3px; }

/* Shared filter row with a trailing status notice. */
.maale-list .maale-list-filters.ui-filter-row { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.maale-list .ui-filter-row > .ui-field { width:155px; flex:0 0 155px; }
.ui-filter-row__notice { margin-inline-start:auto; color:var(--ui-danger); font-weight:500; white-space:nowrap; }
.ui-filter-row > .ui-metric-card.ui-filter-row__metric { --ui-metric-padding:8px 12px; --ui-metric-value-font-size:16px; display:inline-flex; align-items:center; gap:10px; flex:0 0 auto; min-height:36px; white-space:nowrap; }
.ui-filter-row:has(>.ui-metric-card--discipline)>.ui-filter-row__notice { margin-inline-start:0; }
html[data-ui-theme] body[data-ui-scope="application"] .maale-list .maale-list-filters.ui-filter-row:has(>.ui-metric-card--discipline) { width:100%; max-width:100%; flex:1 1 100%; box-sizing:border-box; }
html[data-ui-theme] body[data-ui-scope="application"] .ui-filter-row>.ui-metric-card--discipline { margin-inline-start:auto; border-color:var(--ui-rate-color,var(--ui-border)); color:var(--ui-rate-color,var(--ui-muted)); background:color-mix(in srgb,var(--ui-rate-color,var(--ui-muted)) 9%,var(--ui-surface)); }
.ui-metric-card--discipline strong,.ui-rate-number { display:inline-flex!important; align-items:center; gap:3px; direction:rtl; white-space:nowrap; font-variant-numeric:tabular-nums; }
.ui-rate-number { color:var(--ui-rate-color); }
.ui-rate-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 25px; width:25px; height:25px; box-sizing:border-box; }
.ui-rate-icon svg { width:22px; height:22px; }
.ui-metric-card--discipline[data-rate-band="danger"] .ui-rate-icon { color:#c03636; }
.ui-metric-card--discipline[data-rate-band="warning"] .ui-rate-icon { color:#bd6b17; }
.ui-metric-card--discipline[data-rate-band="like"] .ui-rate-icon { border:1px solid currentColor; border-radius:50%; }
.ui-metric-card--discipline[data-rate-band="like"] .ui-rate-icon svg { width:15px; height:15px; }
html[data-ui-theme] body[data-ui-scope="application"] .maale-list .maale-list-filters.ui-filter-row > .ui-field { flex:0 0 155px!important; width:155px; }
html[data-ui-theme] body[data-ui-scope="application"] .maale-list .maale-list-filters.ui-filter-row { align-items:center; }

/* The shared two-state switch keeps both choices visible with equal visual weight. */
html[data-ui-theme] body[data-ui-scope="application"] label.ui-switch-field--two-state{
    align-self:end; display:grid; grid-template-columns:minmax(0,1fr) var(--ui-switch-width) minmax(0,1fr);
    align-items:center; gap:8px; width:100%; min-height:var(--ui-field-height); padding-inline:10px;
    box-sizing:border-box; border:1px solid var(--ui-border); border-radius:var(--ui-radius); background:var(--ui-surface,#fff);
}
.ui-switch-field--two-state>span{display:flex;align-items:center;justify-content:center;min-width:0;color:var(--ui-text-muted);font-size:var(--ui-font-size-sm);line-height:1.3;text-align:center;white-space:nowrap;transition:color 180ms ease}
.ui-switch-field--two-state:not(:has(input:checked))>span:first-child,.ui-switch-field--two-state:has(input:checked)>span:last-child{color:var(--ui-primary);font-weight:700}
html[dir="rtl"][data-ui-theme] body[data-ui-scope="application"] .ui-switch-field--two-state input.ui-switch::before{transform:translateX(22px)}
html[dir="rtl"][data-ui-theme] body[data-ui-scope="application"] .ui-switch-field--two-state input.ui-switch:checked::before{transform:translateX(0)}

.ui-form-row--three:has(>.ui-switch-field--two-state){align-items:end}
/* Compact shared employee profile completeness indicator. */
.ui-profile-completion{margin-block:4px 22px;padding:14px 18px;border-radius:var(--ui-radius,12px);background:var(--ui-surface);border:1px solid var(--ui-border)}
.ui-profile-completion>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-block-end:10px;font-size:13px}
.ui-profile-completion b{font-size:15px;color:var(--app-accent);font-variant-numeric:tabular-nums}
.ui-profile-completion progress{display:block;appearance:none;width:100%;height:9px;border:0;border-radius:10px;overflow:hidden;background:var(--ui-border);accent-color:var(--app-accent)}
.ui-profile-completion progress::-webkit-progress-bar{background:var(--ui-border);border-radius:10px}
.ui-profile-completion progress::-webkit-progress-value{background:var(--app-accent);border-radius:10px}
.ui-profile-completion progress::-moz-progress-bar{background:var(--app-accent);border-radius:10px}
/* Table-only paired scrollbars: reserve both slots, including when the table fits. */
:root{--ui-list-scrollbar-height:6px;--ui-list-scrollbar-slot:8px}
.ui-table-scroll-shell{display:block;min-width:0;max-width:100%;width:100%;box-sizing:border-box}
.ui-table-scroll-viewport{display:block;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none;isolation:isolate}
.ui-table-scroll-viewport::-webkit-scrollbar{display:none}
.ui-table-scrollbar{display:block;height:var(--ui-list-scrollbar-slot);min-height:var(--ui-list-scrollbar-slot);max-height:var(--ui-list-scrollbar-slot);overflow-x:scroll;overflow-y:hidden;scrollbar-width:auto;scrollbar-color:auto;box-sizing:border-box}
.ui-table-scrollbar__track{height:1px;pointer-events:none}
.ui-table-scrollbar::-webkit-scrollbar{height:var(--ui-list-scrollbar-height)}
.ui-table-scrollbar::-webkit-scrollbar-track{background:var(--ui-surface-subtle,#f3f5f8);border-radius:10px}
.ui-table-scrollbar::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ui-muted) 55%,var(--ui-surface));border-radius:10px}
.ui-table-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--app-accent)}
@supports not selector(::-webkit-scrollbar){.ui-table-scrollbar{scrollbar-width:thin;scrollbar-color:var(--ui-muted) var(--ui-surface-subtle,#f3f5f8)}}
.ui-table-scroll-shell[data-overflow=false]>.ui-table-scrollbar{visibility:hidden}
.ui-table-scrollbar:focus-visible,.ui-table-scroll-viewport:focus-visible{outline:2px solid var(--ui-focus);outline-offset:-2px}
html[data-ui-theme] body[data-ui-scope=application] .ui-table-scroll-viewport .ui-table-sticky-actions{position:sticky!important;inset-inline-end:auto!important;left:var(--ui-list-action-left,0px)!important;right:var(--ui-list-action-right,auto)!important;z-index:3;background:var(--ui-sticky-cell-bg,var(--ui-surface))!important;box-shadow:var(--ui-list-action-shadow,2px) 0 0 var(--ui-border)}
html[data-ui-theme] body[data-ui-scope=application] .ui-table-scroll-viewport thead .ui-table-sticky-actions{z-index:4;background:var(--ui-table-heading)!important}

html[data-ui-theme] body[data-ui-scope=application] .ui-table-scroll-viewport tbody tr:hover>.ui-table-sticky-actions{background:var(--ui-table-hover,var(--ui-surface-subtle))!important}
html[data-ui-theme] body[data-ui-scope=application] :is(.maale-list-filters,.ui-list__filters,.agreement-filter-row,[data-list-filters]){scrollbar-width:none}
html[data-ui-theme] body[data-ui-scope=application] :is(.maale-list-filters,.ui-list__filters,.agreement-filter-row,[data-list-filters])::-webkit-scrollbar{display:none}
@media print{.ui-table-scrollbar{display:none!important}.ui-table-scroll-shell{display:contents!important}.ui-table-scroll-viewport{overflow:visible!important;isolation:auto!important}html[data-ui-theme] body[data-ui-scope=application] .ui-table-scroll-viewport .ui-table-sticky-actions{position:static!important;inset:auto;box-shadow:none;z-index:auto}}

html[data-ui-theme] body[data-ui-scope="application"] .ui-clause-dialog .maale-form .maale-form-field>textarea[name="body"][rows="5"]{height:120px!important;min-height:120px!important;max-height:120px}
/* Native dragging always previews a whole card and inserts into a real reserved slot. */
[data-ui-ordered-cards]{position:relative}
.ui-selection-drag-source{position:absolute!important;opacity:0!important;pointer-events:none!important}
.ui-selection-drag-image{position:fixed!important;left:0;top:-10000px;z-index:10000;box-sizing:border-box;pointer-events:none;opacity:1!important;background:var(--ui-surface)!important;border:1px solid var(--ui-primary)!important;border-radius:var(--ui-radius);box-shadow:var(--ui-shadow)}
.ui-selection-drop-slot{box-sizing:border-box;min-width:0;width:100%;border:2px dotted var(--ui-muted);border-radius:var(--ui-radius);background:color-mix(in srgb,var(--ui-muted) 6%,var(--ui-surface));pointer-events:none}
@media print{.ui-selection-drag-image,.ui-selection-drop-slot{display:none!important}}
