/* Shared admin styling. Filament continues to own interactions and state. */
:root {
    --ew-forest: #0b111b;
    --ew-lime: #f6d7dc;
    --ew-paper: #f4f5f7;
    --ew-surface: #fff;
    --ew-line: #dee1e8;
    --ew-ink: #172333;
    --ew-muted: #637083;
    --el-ink: var(--ew-ink);
    --el-border: var(--ew-line);
    --el-muted: var(--ew-muted);
    --el-teal: #c82132;
}
.fi-body { background: var(--ew-paper); color: var(--ew-ink); }
.fi-main { padding-bottom: 40px; }
.fi-page-content { gap: 24px; }
.fi-header-heading { color: var(--ew-ink); font-weight: 650; }
.fi-header-subheading { color: var(--ew-muted); }
.fi-sidebar { background: var(--ew-surface); border-right-color: var(--ew-line); }
.fi-sidebar-header, .fi-topbar { background: var(--ew-surface); box-shadow: none; }
.fi-sidebar-header { border-bottom: 1px solid var(--ew-line); }
.fi-topbar { border-bottom: 1px solid var(--ew-line); }
.fi-sidebar-nav { padding-inline: 16px; }
.fi-sidebar-group-label { color: #76829b; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.fi-sidebar-item-btn { border-radius: 10px; padding-block: 10px; transition: background .15s ease; }
.fi-sidebar-item-label { font-size: 12px; font-weight: 500; }
.fi-sidebar-item:not(.fi-active) .fi-sidebar-item-btn:hover { background: #eef0f3; }
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn { background: var(--ew-forest); box-shadow: 0 3px 8px #0b111b12; }
.fi-sidebar-item.fi-active .fi-sidebar-item-label, .fi-sidebar-item.fi-active .fi-icon { color: #d9dde5; }
.fi-sidebar-item.fi-active .fi-badge { background: #ccd1db; color: #212b3f; --text: #212b3f; --bg: #ccd1db; }
.ew-brand { display: flex; gap: 11px; align-items: center; }
.ew-brand img { width: 36px; height: 36px; object-fit: contain; }
.ew-brand-mark { width: 36px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: var(--ew-forest); color: var(--ew-lime); font-size: 24px; font-weight: 600; }
.ew-brand strong { font-size: 20px; letter-spacing: -.7px; color: var(--ew-ink); }
.ew-brand strong > span { color: #d62636; }
.ew-brand small { display: block; font-size: 8px; letter-spacing: 1.8px; color: var(--ew-muted); margin-top: -2px; }
.el-admin-activity { gap: 12px; }
.el-realtime-status { padding: 6px 9px; border-radius: 20px; background: #fbf4e4; }
.el-realtime-status.is-live { background: #edf4e7; color: #3d6b43; }
.el-inbox-link { color: var(--ew-ink); font-size: 12px; }
.el-unread-count { background: var(--ew-forest); font-size: 10px; }

/* Each module shares the same visual language, with its own subject and icon. */
.ew-module-hero { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 220px; overflow: hidden; isolation: isolate; min-height: 218px; border-radius: 22px; background: var(--ew-forest); color: #eaecf1; }
.ew-module-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(#bbc2d00a 1px,transparent 1px),linear-gradient(90deg,#bbc2d00a 1px,transparent 1px); background-size: 32px 32px; mask-image: linear-gradient(90deg,transparent,#000); }
.ew-module-copy { padding: 28px 34px; }
.ew-eyebrow { display: flex; align-items: center; gap: 9px; font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #b9c1cf; }
.ew-eyebrow > span { width: 6px; height: 6px; background: var(--ew-lime); border-radius: 50%; flex-shrink: 0; }
.ew-module-copy h2 { font-size: clamp(25px,2.5vw,34px); font-weight: 550; letter-spacing: -1.15px; line-height: 1.2; margin: 16px 0 10px; color: #d3d8e1; }
.ew-module-copy > p { font-size: 12px; line-height: 1.8; color: #b8bfcd; max-width: 570px; }
.ew-topics { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 19px; }
.ew-topics > span { font-size: 10px; color: #d0d5de; background: #ffffff08; border: 1px solid #b9c1cf21; border-radius: 5px; padding: 4px 9px; }
.ew-module-art { position: relative; display: grid; place-items: center; margin-right: 28px; }
.ew-orbit { position: absolute; border: 1px solid #bbc2cf1c; border-radius: 50%; }
.ew-orbit-outer { width: 224px; height: 224px; }
.ew-orbit-inner { width: 174px; height: 174px; }
.ew-art-tile { width: 102px; height: 115px; border-radius: 19px; background: #f6d7dc; color: #3b4352; display: grid; place-items: center; transform: rotate(-9deg); box-shadow: 9px 13px 0 #0f141d1f; border: 1px solid #dfe2e8; }
.ew-art-tile svg { width: 48px; height: 48px; stroke-width: 1.1; }
.ew-art-tile-back { position: absolute; transform: rotate(12deg) translate(12px,3px); background: #6b7893; border-color: #8893a9; }
.ew-art-dot { position: absolute; width: 12px; height: 12px; top: 34px; right: 15px; border-radius: 50%; background: #bec5d2; box-shadow: 0 0 0 7px #bec5d20c; }
.ew-art-cross { position: absolute; bottom: 27px; left: 12px; font-size: 22px; font-weight: 200; color: #b1b9c8; }
.ew-overview-hero { min-height: 286px; }
.ew-overview-hero .ep-hero-copy { padding-block: 30px; }
.ew-overview-hero h2 { margin-top: 16px; }
.ew-hero-button { display: inline-flex; align-items: center; gap: 24px; margin-top: 22px; padding: 11px 15px; border: 1px solid #d2d6df; border-radius: 8px; background: #f6d7dc; color: #202a3e; font-size: 12px; font-weight: 650; }
.ew-hero-button:hover { background: #d6dae2; }
.ew-hero-button svg { width: 15px; height: 15px; }

/* Tables, forms, dialogs, and relation managers retain their native Filament markup. */
.fi-ta { border: 0; border-radius: 18px; }
.fi-ta-ctn { border-radius: 18px; background: var(--ew-surface); box-shadow: 0 0 0 1px var(--ew-line), 0 4px 16px #0b111b03; overflow: hidden; }
.fi-ta-header-toolbar { padding: 18px 22px; }
.fi-ta-header-ctn, .fi-ta-content-ctn { border-color: var(--ew-line); }
.fi-ta-table thead, .fi-ta-table thead > tr { background: #eef0f4; }
.fi-ta-header-cell { padding-block: 14px; }
.fi-ta-header-cell, .fi-ta-header-cell-sort-btn { font-size: 10px; color: #616e87; font-weight: 600; letter-spacing: .065em; text-transform: uppercase; }
.fi-ta-row { transition: background .15s ease; }
.fi-ta-row:hover { background: #f6f7f9; }
.fi-ta-cell { border-color: #e7e9ee; }
.fi-ta-text { padding-block: 17px; }
.fi-ta-text-item { font-size: 12px; }
.fi-ta-text-item-description { font-size: 11px; line-height: 1.7; }
.fi-ta-cell .fi-link { font-size: 12px; }
.fi-ta-pagination { border-color: var(--ew-line); padding: 17px 22px; }
.fi-pagination-overview, .fi-pagination-records-per-page-label { color: var(--ew-muted); font-size: 12px; }
.fi-badge { border-radius: 6px; font-weight: 550; }
.fi-btn { border-radius: 9px; font-size: 12px; box-shadow: none; min-height: 36px; }
.fi-btn.fi-color-primary { background: #c82132; color: #fff; }
.fi-btn.fi-color-primary:hover { background: #a81b2b; }
.fi-btn.fi-color-primary:disabled { opacity: .6; }
.fi-input-wrp { border-radius: 9px; background: var(--ew-surface); --tw-ring-color: #dcdfe6; }
.fi-input, .fi-select-input, .fi-textarea { font-size: 13px; }
.fi-fo-field-label-content { font-size: 12px; color: var(--ew-ink); }
.fi-fo-field-helper-text { font-size: 11px; line-height: 1.7; }
.fi-section { border-radius: 17px; background: var(--ew-surface); border-color: var(--ew-line); }
.fi-section-header { background: #f3f4f7; border-radius: 17px 17px 0 0; }
.fi-section-header-heading { color: var(--ew-ink); font-size: 14px; letter-spacing: -.2px; }
.fi-section-header-description { color: var(--ew-muted); font-size: 12px; }
.fi-tabs { border-radius: 12px; background: var(--ew-surface); box-shadow: 0 0 0 1px var(--ew-line); padding: 6px; }
.fi-tabs-item { border-radius: 8px; font-size: 12px; }
.fi-tabs-item.fi-active { background: #e6e9ee; color: #3d4555; }
.fi-modal-window { border-radius: 20px; background: var(--ew-surface); box-shadow: 0 28px 80px #102e3430; }
.fi-modal-header { border-bottom: 1px solid var(--ew-line); padding-bottom: 22px; background: #f2f3f6; border-radius: 20px 20px 0 0; }
.fi-modal-heading { color: var(--ew-ink); letter-spacing: -.5px; }
.fi-modal-footer { border-top: 1px solid var(--ew-line); padding-top: 18px; }
.fi-dropdown-panel { border-radius: 12px; }
.fi-ta-empty-state { padding-block: 50px; }
.fi-ta-empty-state-icon-bg { background: #eaecf0; }
.fi-ta-empty-state-heading { color: var(--ew-ink); }
.fi-no { border-radius: 14px; }

/* Overview, insights, schedule, and conversations. */
.el-stats { gap: 16px; }
.el-stat { position: relative; border-radius: 17px; padding: 22px; border-color: #dadee5; background: #e6e8ed; overflow-wrap: anywhere; }
.el-stat:nth-child(4n+2) { background: #edf0f6; border-color: #e1e6ef; }
.el-stat:nth-child(4n+3) { background: #f5ede2; border-color: #ece2d6; }
.el-stat:nth-child(4n+4) { background: #efebf4; border-color: #e6dfee; }
a.el-stat { transition: transform .15s ease,box-shadow .15s ease; }
a.el-stat:hover { transform: translateY(-3px); box-shadow: 0 8px 22px #212b4010; }
.el-stat-label { color: #525d72; }
.el-stat-label > span { width: 29px; height: 29px; border: 1px solid #ffffffc9; background: #ffffff6b; border-radius: 9px; display: grid; place-items: center; font-size: 17px; }
.el-stat > span { font-size: 12px; color: var(--ew-muted); }
.el-stat > strong { font-size: clamp(27px,2.5vw,36px); font-weight: 550; margin-top: 16px; }
.el-stat p { line-height: 1.7; color: #5a667c; }
.el-card { border-radius: 18px; border-color: var(--ew-line); background: var(--ew-surface); }
.el-card-title { padding: 22px 24px; }
.el-card-title h3 { letter-spacing: -.3px; }
.el-card-title p { font-size: 12px; }
.el-table th { background: #eef0f4; color: #616e87; border-color: var(--ew-line); }
.el-table td { border-color: #eaecf0; }
.el-table tbody tr:hover { background: #f8f9fa; }
.el-ring { background: conic-gradient(#66738c var(--progress),#eaecf0 0); }
.el-ring > div { background: var(--ew-surface); }
.el-team-row { padding-block: 14px; }
.el-avatar { background: #e7eaef; color: #515c70; }
.el-job-count { background: #eceef1; color: #515c70; border-radius: 7px; }
.el-team-row small, .el-activity p { color: var(--ew-muted); }
.el-activity { padding-top: 12px; }
.el-activity > div { border-left: 1px solid var(--ew-line); padding-left: 12px; }
.el-button { background: #c82132; border-radius: 9px; font-size: 12px; }
.el-badge { border-radius: 6px; }
.el-calendar-controls { gap: 20px; border-radius: 14px; }
.el-calendar-controls label { font-size: 12px; color: var(--ew-ink); }
.el-calendar-controls input, .el-calendar-controls select { border-radius: 8px; background: var(--ew-surface); color: var(--ew-ink); border-color: var(--ew-line); }
.el-calendar-controls .el-button { margin-left: auto; }
.el-calendar .el-card-title { background: #eceef1; padding: 17px 20px; margin-bottom: 18px; }
.el-calendar .el-card-title h3 { font-size: 13px; }
.el-calendar-day { height: 360px; min-width: 0; display: flex; flex-direction: column; }
.el-calendar-day .el-card-title { flex: 0 0 auto; margin-bottom: 0; }
.el-calendar-jobs { flex: 1 1 0; min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; scrollbar-gutter: stable; scrollbar-width: thin; padding-top: 18px; overflow-wrap: anywhere; }
.el-calendar-jobs:focus-visible { outline: 2px solid var(--ew-ink); outline-offset: -3px; }

.el-calendar-job { background: #edf1f7; border-color: #8fa7c3; border-radius: 9px; padding: 16px; }
.el-calendar-job.breakdown { background: #f8eee5; border-color: #c79e6e; }
.el-calendar-job.installation { background: #f1edf7; border-color: #a48ab6; }
.el-calendar-job:hover { box-shadow: 0 3px 10px #0b111b10; }
.el-calendar-job strong { color: var(--ew-ink); }
.el-calendar-job small, .el-calendar-job p, .el-calendar-job span { color: var(--ew-muted); }
.el-inbox-item { padding: 23px 26px; }
.el-inbox-item.is-unread { background: #f1f3f6; border-left: 4px solid #d62636; }
.el-inbox-item h3 { color: var(--ew-ink); font-size: 14px; }
.el-inbox-item p { color: var(--ew-muted); font-size: 13px; line-height: 1.8; }
.el-inbox-item small { font-size: 11px; color: var(--ew-muted); }
.el-inbox-actions { flex-wrap: wrap; gap: 12px; }
.ew-form-layout { display: grid; grid-template-columns: minmax(0,1fr) 240px; gap: 24px; align-items: start; }
.ew-form-card { padding: 28px; }
.ew-form-card > .el-muted { margin-bottom: 24px; line-height: 1.8; }
.ew-form-footer { display: flex; align-items: center; justify-content: flex-end; gap: 16px; border-top: 1px solid var(--ew-line); padding-top: 22px; margin-top: 26px; }
.ew-note-card { background: #e6e8ed; border: 1px solid #dadee5; border-radius: 17px; padding: 24px; }
.ew-note-card > svg { width: 29px; height: 29px; color: #556076; margin-bottom: 18px; }
.ew-note-card h3 { color: var(--ew-ink); font-size: 15px; letter-spacing: -.3px; font-weight: 600; }
.ew-note-card p { font-size: 12px; line-height: 1.9; color: #5a667d; margin-top: 10px; }
.ew-note-card a { display: inline-block; color: #3d4555; font-size: 12px; font-weight: 600; margin-top: 19px; }
.ew-report-pair { grid-template-columns: repeat(2,minmax(0,1fr)); }
.ew-progress { display: block; appearance: none; border: 0; width: 100%; height: 5px; margin-top: 22px; border-radius: 5px; overflow: hidden; background: #ffffff90; }
.ew-progress::-webkit-progress-bar { background: #ffffff90; }
.ew-progress::-webkit-progress-value { background: #5f6b83; border-radius: 5px; }
.ew-progress::-moz-progress-bar { background: #5f6b83; border-radius: 5px; }
.el-detail-head { border: 1px solid #d7dbe3; background: #e9ebf0; border-radius: 13px; padding: 22px; color: var(--ew-ink); }
.el-detail h2 { letter-spacing: -.65px; }
.el-detail h3 { color: var(--ew-ink); }
.el-comment, .el-timeline { background: #eff1f4; border: 1px solid #e2e5eb; border-radius: 11px; padding: 17px; }
.el-evidence audio { max-width: 100%; }
.el-empty { text-align: center; line-height: 1.8; color: var(--ew-muted); }

/* Sign-in uses the same architecture illustration and palette. */
.fi-simple-layout { background: radial-gradient(ellipse at 15% 20%,#d5d9e1 0,transparent 50%),var(--ew-paper); }
.fi-simple-main { background: var(--ew-surface); border-radius: 23px; box-shadow: 0 0 0 1px var(--ew-line),0 20px 70px #17233310; }
.fi-simple-header-heading { color: var(--ew-ink); font-size: 23px; letter-spacing: -.6px; }
.ew-login-intro { position: relative; background: var(--ew-forest); border-radius: 16px; padding: 28px; overflow: hidden; }
.ew-login-intro .ew-eyebrow { position: relative; font-size: 9px; }
.ew-login-intro h2 { position: relative; margin-top: 18px; font-size: 26px; line-height: 1.2; letter-spacing: -.8px; color: #eceef2; }
.ew-login-intro em { font-style: normal; color: var(--ew-lime); }
.ew-login-intro p { position: relative; font-size: 11px; color: #b8bfcd; margin-top: 14px; max-width: 220px; }
.ew-login-art { position: absolute; right: -65px; top: -20px; width: 230px; opacity: .18; --ep-roof: #cbd0db; --ep-face: #adb5c6; --ep-side: #717f99; --ep-line: #475163; --ep-window: #dde1e8; color: #c5cbd7; }

/* Respect Filament's dark mode, keyboard navigation, and reduced motion. */
.dark { --ew-paper: #0b111b; --ew-surface: #172333; --ew-line: #363d4a; --ew-ink: #dbdfe6; --ew-muted: #a5aec0; }
.dark .fi-body { background: var(--ew-paper); }
.dark .fi-sidebar, .dark .fi-sidebar-header, .dark .fi-topbar { background: var(--ew-surface); }
.dark .fi-sidebar-item:not(.fi-active) .fi-sidebar-item-btn:hover { background: #1f293c; }
.dark .fi-sidebar-item.fi-active > .fi-sidebar-item-btn { background: #f6d7dc; }
.dark .fi-sidebar-item.fi-active .fi-sidebar-item-label, .dark .fi-sidebar-item.fi-active .fi-icon { color: #222d42; }
.dark .fi-section-header, .dark .fi-modal-header, .dark .fi-ta-table thead, .dark .fi-ta-table thead > tr, .dark .el-table th, .dark .el-calendar .el-card-title { background: #1c2537; }
.dark .fi-ta-row:hover, .dark .el-table tbody tr:hover { background: #1c2536; }
.dark .fi-tabs-item.fi-active { background: #3b4251; color: #d2d6df; }
.dark .fi-input-wrp { --tw-ring-color: #424b5c; }
.dark .fi-ta-header-cell, .dark .fi-ta-header-cell-sort-btn, .dark .el-stat-label, .dark .el-stat > span, .dark .el-stat p, .dark .ew-note-card p { color: #acb5c6; }
.dark .el-stat { background: #202a3e; border-color: #39414f; }
.dark .el-stat:nth-child(4n+2) { background: #2b3c47; border-color: #354c5a; }
.dark .el-stat:nth-child(4n+3) { background: #423b2e; border-color: #544a39; }
.dark .el-stat:nth-child(4n+4) { background: #3b3447; border-color: #4a4058; }
.dark .el-stat-label > span { background: #ffffff08; border-color: #ffffff17; color: #bdc4d1; }
.dark .el-card { background: var(--ew-surface); border-color: var(--ew-line); }
.dark .el-table td { color: #b6becd; border-color: var(--ew-line); }
.dark .el-ring { background: conic-gradient(#919baf var(--progress),#363d4a 0); }
.dark .el-status-list strong, .dark .el-team-row strong, .dark .el-activity strong { color: var(--ew-ink); }
.dark .el-status-list > div { color: var(--ew-muted); }
.dark .el-inbox-item.is-unread, .dark .el-detail-head, .dark .el-comment, .dark .el-timeline, .dark .ew-note-card { background: #1e283a; border-color: #3e4656; }
.dark .el-calendar-job { background: #293c47; }
.dark .el-calendar-job.breakdown { background: #463b30; }
.dark .el-calendar-job.installation { background: #3e344b; }
.dark .ew-note-card a { color: #b7becd; }
.dark .fi-simple-layout { background: radial-gradient(ellipse at 10% 10%,#1f293d,transparent 60%),var(--ew-paper); }
.ew-hero-button:focus-visible, .el-button:focus-visible, a.el-stat:focus-visible, .el-calendar-job:focus-visible, .ew-note-card a:focus-visible { outline: 3px solid #ee8793; outline-offset: 4px; }
@media (max-width: 1100px) {
    .ew-module-hero { grid-template-columns: minmax(0,1fr) 175px; }
    .ew-module-art { margin-right: 22px; }
    .ew-orbit-outer { width: 185px; height: 185px; }
    .ew-orbit-inner { width: 145px; height: 145px; }
    .ew-art-tile { width: 85px; height: 100px; }
    .ew-form-layout { grid-template-columns: 1fr; }
    .ew-note-card { padding: 22px; }
}
@media (max-width: 767px) {
    .ew-module-hero { grid-template-columns: 1fr; min-height: auto; border-radius: 17px; }
    .ew-module-copy { padding: 26px 24px; }
    .ew-module-copy h2 { font-size: 28px; letter-spacing: -.8px; max-width: 360px; }
    .ew-module-art { display: none; }
    .ew-eyebrow { font-size: 9px; }
    .el-stat { padding: 17px; }
    .el-stat-label { font-size: 11px; gap: 8px; }
    .el-stat-label > span { flex-shrink: 0; width: 24px; height: 24px; }
    .el-stat > strong { font-size: 27px; letter-spacing: -1px; }
    .el-stat p { font-size: 10px; }
    .ew-form-card { padding: 22px; }
    .el-calendar-controls { align-items: stretch; flex-direction: column; gap: 16px; }
    .el-calendar-controls label { display: flex; justify-content: space-between; align-items: center; }
    .el-calendar-controls input, .el-calendar-controls select { width: 60%; }
    .el-calendar-controls .el-button { margin-left: 0; }
    .el-inbox-item { padding: 21px; }
    .el-inbox-item .el-inbox-heading { gap: 7px; }
    .el-inbox-actions .el-button { padding: 9px 12px; }
    .fi-ta-header-toolbar { padding: 16px; }
    .fi-modal-window { border-radius: 15px; }
    .ew-report-pair { grid-template-columns: 1fr; }
    .ew-overview-hero .ep-hero-copy { padding: 26px; }
    .ew-hero-button { gap: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .fi-sidebar-item-btn, .fi-ta-row, a.el-stat { transition: none; }
    a.el-stat:hover { transform: none; }
}

/* Renewal worklist: compact calendar navigation and readable customer rows. */
.rn-intro { display:flex; justify-content:space-between; gap:16px; align-items:center; font-size:13px; color:var(--ew-muted); }
.rn-intro a { color:var(--ew-ink); font-weight:600; white-space:nowrap; }
.rn-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.rn-stat { border:1px solid var(--ew-line); border-radius:18px; padding:22px 24px; background:var(--ew-surface); color:var(--ew-ink); text-align:left; min-width:0; }
.rn-stat-label { display:flex; justify-content:space-between; gap:12px; align-items:center; font-size:12px; font-weight:550; }
.rn-stat svg { width:20px; height:20px; opacity:.75; }
.rn-stat>strong { display:block; font-size:34px; letter-spacing:-1px; font-weight:650; margin:12px 0 6px; line-height:1.2; }
.rn-stat>strong.rn-next-date { font-size:27px; padding-block:4px; }
.rn-stat>small { display:block; font-size:11px; opacity:.8; overflow-wrap:anywhere; }
.rn-stat-primary { background:var(--ew-forest); color:#e7eaef; border-color:var(--ew-forest); }
.rn-stat-alert { background:#fff5eb; border-color:#ecd2b5; color:#85512c; }
.rn-workspace { container-type:inline-size; border:1px solid var(--ew-line); background:var(--ew-surface); border-radius:18px; overflow:hidden; min-width:0; }
.rn-toolbar,.rn-filters { display:flex; align-items:center; gap:16px; flex-wrap:wrap; padding:20px 22px; border-bottom:1px solid var(--ew-line); }
.rn-period-tabs,.rn-view-tabs { display:inline-flex; padding:4px; border:1px solid var(--ew-line); border-radius:10px; gap:3px; }
.rn-period-tabs button,.rn-view-tabs button { display:flex; align-items:center; justify-content:center; gap:7px; padding:8px 12px; font-size:12px; border-radius:7px; color:var(--ew-muted); }
.rn-period-tabs .is-active,.rn-view-tabs .is-active { background:var(--ew-forest); color:#eaecf1; }
.rn-toolbar svg { width:16px; height:16px; }
.rn-period-nav { display:flex; align-items:center; gap:9px; font-size:12px; color:var(--ew-ink); flex-wrap:wrap; }
.rn-period-nav>button { border:1px solid var(--ew-line); border-radius:7px; padding:8px; }
.rn-period-nav>span { font-weight:600; }
.rn-view-tabs { margin-left:auto; }
.rn-workspace button:disabled { opacity:.45; cursor:default; }
.rn-search { display:flex; gap:10px; align-items:center; flex:1; min-width:230px; }
.rn-search svg { height:18px; width:18px; color:var(--ew-muted); flex-shrink:0; }
.rn-search input { width:100%; background:transparent; font-size:13px; color:var(--ew-ink); border:0; padding:8px 0; }
.rn-scope,.rn-jump { display:flex; gap:9px; align-items:center; font-size:12px; color:var(--ew-muted); }
.rn-filters select,.rn-filters input[type=date] { background:var(--ew-surface); color:var(--ew-ink); border:1px solid var(--ew-line); border-radius:8px; font-size:12px; padding:8px 10px; }
.rn-notice { padding:12px 22px; background:#fff5eb; color:#85512c; font-size:12px; }
.rn-list-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:22px; }
.rn-list-heading h2 { font-size:17px; color:var(--ew-ink); font-weight:650; }
.rn-list-heading h2>span { font-size:11px; padding:3px 8px; background:var(--ew-paper); border-radius:20px; margin-left:6px; }
.rn-list-heading p,.rn-list-heading button { font-size:11px; color:var(--ew-muted); margin-top:5px; }
.rn-row { display:grid; grid-template-columns:minmax(220px,1.6fr) minmax(145px,1fr) minmax(135px,.85fr) minmax(140px,1fr) minmax(160px,auto); align-items:center; gap:16px; padding:22px; border-top:1px solid var(--ew-line); }
.rn-column-head { padding-block:12px; background:var(--ew-paper); font-size:10px; color:var(--ew-muted); text-transform:uppercase; letter-spacing:.06em; }
.rn-property { display:flex; align-items:flex-start; gap:12px; min-width:0; }
.rn-lift-mark { display:grid; place-items:center; width:38px; height:42px; flex-shrink:0; background:var(--ew-paper); color:var(--ew-ink); border:1px solid var(--ew-line); border-radius:11px; }
.rn-lift-mark svg { width:20px; height:20px; }
.rn-row strong { display:block; color:var(--ew-ink); font-size:12px; font-weight:600; overflow-wrap:anywhere; }
.rn-property p { margin-top:5px; font-size:12px; color:var(--ew-muted); overflow-wrap:anywhere; }
.rn-row small { display:block; font-size:10px; line-height:1.65; margin-top:5px; color:var(--ew-muted); overflow-wrap:anywhere; }
.rn-badge { display:inline-flex; margin-top:7px; padding:4px 7px; border-radius:5px; font-size:10px; background:#eaecf1; color:#475062; }
.rn-overdue { background:#fcece7; color:#a34d35; }
.rn-soon { background:#fff3d9; color:#8a651c; }
.rn-actions { display:flex; align-items:center; gap:7px; }
.rn-actions .fi-btn { font-size:11px; }
.rn-readonly,.rn-mobile-label { font-size:10px; color:var(--ew-muted); }
.rn-mobile-label { display:none; margin-bottom:7px; text-transform:uppercase; letter-spacing:.05em; }
.rn-calendars { padding:22px; display:grid; grid-template-columns:repeat(auto-fit,minmax(245px,1fr)); gap:22px; border-bottom:1px solid var(--ew-line); }
.rn-mini-month { min-width:0; }
.rn-mini-month h3 { margin-bottom:14px; font-size:13px; font-weight:600; color:var(--ew-ink); }
.rn-mini-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
.rn-weekday { text-align:center; padding-bottom:6px; font-size:10px; color:var(--ew-muted); }
.rn-date { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:1px; height:43px; border-radius:8px; font-size:11px; color:var(--ew-ink); border:1px solid transparent; }
.rn-date small { font-size:9px; font-weight:700; line-height:1; }
.rn-date.has-renewals { background:#dbdfe6; color:#3e4655; }
.rn-date.is-today { border-color:#828da4; }
.rn-date.is-selected { background:var(--ew-forest); color:#eaecf1; }
.rn-calendar-help { padding:12px 22px 0; font-size:11px; color:var(--ew-muted); }
.rn-empty { text-align:center; padding:38px 24px 45px; border-top:1px solid var(--ew-line); }
.rn-empty>span { display:grid; place-items:center; margin:0 auto 15px; height:50px; width:50px; border-radius:15px; background:var(--ew-paper); color:var(--ew-ink); }
.rn-empty svg { height:24px; width:24px; }
.rn-empty h3 { font-size:17px; font-weight:600; color:var(--ew-ink); }
.rn-empty p { font-size:12px; color:var(--ew-muted); margin:10px 0 18px; }
.rn-pagination { padding:18px 22px; border-top:1px solid var(--ew-line); }
.rn-updating { opacity:.55; }
.rn-summary button:focus-visible,.rn-workspace button:focus-visible { outline:3px solid #ee8793; outline-offset:-3px; }
.dark .rn-stat-alert,.dark .rn-notice { background:#443529; color:#efd0a6; border-color:#665039; }
.dark .rn-badge,.dark .rn-date.has-renewals { background:#323946; color:#c6ccd7; }
.dark .rn-overdue { background:#523830; color:#f1c3b4; }
.dark .rn-soon { background:#51472e; color:#efdaa4; }
@media(max-width:1250px) { .rn-row { grid-template-columns:minmax(180px,1.5fr) minmax(130px,1fr) minmax(115px,.8fr) minmax(115px,.85fr) 95px; gap:12px; } .rn-actions { flex-direction:column; align-items:stretch; } }
@media(max-width:1000px) { .rn-summary { gap:12px; } .rn-stat { padding:18px; } .rn-stat>strong.rn-next-date { font-size:22px; } .rn-row { grid-template-columns:1fr 1fr; gap:18px; } .rn-column-head { display:none; } .rn-property { grid-column:1/-1; } .rn-mobile-label { display:block; } .rn-actions { flex-direction:row; align-items:center; justify-content:flex-end; grid-column:1/-1; } }
@media(max-width:640px) { .rn-intro { align-items:flex-start; flex-direction:column; font-size:12px; } .rn-summary { grid-template-columns:1fr 1fr; } .rn-stat:last-child { grid-column:1/-1; } .rn-stat>strong { font-size:28px; } .rn-stat-label { font-size:11px; } .rn-stat svg { width:17px; height:17px; } .rn-toolbar,.rn-filters { padding:16px; gap:14px; } .rn-period-nav { order:3; width:100%; justify-content:space-between; } .rn-period-tabs button,.rn-view-tabs button { padding:7px 8px; font-size:11px; } .rn-view-tabs { margin-left:0; } .rn-view-tabs svg { display:none; } .rn-search { flex-basis:100%; } .rn-row,.rn-list-heading { padding:18px; } .rn-scope,.rn-jump { flex:1; } .rn-jump input { min-width:0; } .rn-calendars { grid-template-columns:1fr; padding:18px; } }

@container(max-width:920px) { .rn-row { grid-template-columns:1fr 1fr; gap:18px; } .rn-column-head { display:none; } .rn-property { grid-column:1/-1; } .rn-mobile-label { display:block; } .rn-actions { flex-direction:row; align-items:center; justify-content:flex-end; grid-column:1/-1; } }

/* Package services worklist. Scoped to this module. */
.ps-workspace{container-type:inline-size;display:flex;flex-direction:column;gap:22px;min-width:0;color:var(--ew-ink)}
.ps-intro,.ps-list-top{display:flex;justify-content:space-between;align-items:center;gap:20px}
.ps-intro p{font-size:13px;color:var(--ew-muted);line-height:1.6}
.ps-intro a,.ps-list-top>a{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;font-size:12px;font-weight:600;color:var(--ew-ink)}
.ps-intro a{padding:9px 13px;border:1px solid var(--ew-line);border-radius:9px;background:var(--ew-surface)}
.ps-intro svg{width:16px;height:16px}
.ps-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ps-metric{display:flex;align-items:flex-start;gap:15px;padding:22px;background:var(--ew-surface);border:1px solid var(--ew-line);border-radius:16px}
.ps-metric-icon{display:grid;place-items:center;width:38px;height:38px;background:var(--ew-paper);border-radius:11px;flex-shrink:0;color:var(--ew-muted)}
.ps-metric-icon svg{width:20px;height:20px}
.ps-metric>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.ps-metric>div>span{font-size:12px;font-weight:500}.ps-metric strong{font-size:34px;font-weight:650;letter-spacing:-1.1px;line-height:1.3}.ps-metric small{font-size:11px;color:var(--ew-muted)}
.ps-metric-pending{background:var(--ew-forest);color:#edeff2;border-color:var(--ew-forest)}.ps-metric-pending small{color:#c6ccd8}.ps-metric-pending .ps-metric-icon{background:#ffffff14;color:#f6d7dc}
.ps-list{background:var(--ew-surface);border:1px solid var(--ew-line);border-radius:18px;overflow:hidden;min-width:0}
.ps-list-top{padding:23px 24px 18px}.ps-list-top h2{font-size:17px;font-weight:650;display:flex;align-items:center;gap:10px}.ps-list-top h2>span{padding:3px 8px;border-radius:6px;font-size:11px;background:var(--ew-paper);color:var(--ew-muted)}.ps-list-top p{font-size:12px;color:var(--ew-muted);margin-top:5px}
.ps-toolbar{padding:0 24px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.ps-tabs{display:flex;padding:4px;border-radius:10px;background:var(--ew-paper);flex-shrink:0;gap:3px}.ps-tabs button{border-radius:7px;padding:8px 11px;font-size:11px;font-weight:500;color:var(--ew-muted);cursor:pointer}.ps-tabs button.is-active{background:var(--ew-surface);color:var(--ew-ink);box-shadow:0 1px 4px #18202f10}.ps-search{width:min(360px,45%);min-width:0}.ps-search input{font-size:12px}
.ps-grid{display:grid;grid-template-columns:minmax(175px,1.35fr) minmax(150px,1.1fr) minmax(130px,.9fr) minmax(110px,.8fr) 120px;gap:22px;align-items:center}
.ps-column-head{padding:12px 24px;background:var(--ew-paper);border-block:1px solid var(--ew-line);font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--ew-muted)}
.ps-column-head>span:last-child{text-align:right}.ps-item+.ps-item{border-top:1px solid var(--ew-line)}.ps-row{padding:22px 24px}.ps-item:hover>.ps-row{background:color-mix(in srgb,var(--ew-paper) 45%,transparent)}
.ps-property{display:flex;gap:12px;align-items:center;min-width:0}.ps-property>div{min-width:0}.ps-building{display:grid;place-items:center;width:36px;height:40px;border:1px solid var(--ew-line);border-radius:10px;flex-shrink:0;color:var(--ew-muted)}.ps-building svg{width:19px;height:19px}.ps-property h3{font-size:13px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.ps-property-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 7px;margin-top:5px;font-size:10px;color:var(--ew-muted)}.ps-lift{font-size:9px;letter-spacing:.02em;font-weight:600;background:var(--ew-paper);border-radius:4px;padding:2px 5px}
.ps-service,.ps-due{display:flex;flex-direction:column;gap:6px;min-width:0}.ps-service strong{font-size:12px;font-weight:550;line-height:1.5}.ps-service small,.ps-due small{font-size:10px;line-height:1.5;color:var(--ew-muted)}.ps-due strong{font-size:12px;font-weight:550}.ps-status{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--ew-muted)}.ps-status:before{content:'';height:5px;width:5px;border-radius:50%;background:#d62636}.ps-status-ended:before{background:#b4977f}.ps-overdue{color:#ac5c3e}
.ps-balance-label{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.ps-balance-label strong{font-size:13px;font-weight:650}.ps-balance-label strong span{font-size:11px;font-weight:400;color:var(--ew-muted)}.ps-balance-label small{font-size:10px;font-weight:500;color:var(--ew-muted)}.ps-meter{height:5px;background:var(--ew-paper);border-radius:4px;overflow:hidden;margin:9px 0 6px}.ps-meter>span{display:block;height:100%;background:#d62636;border-radius:4px}.ps-balance-note{font-size:10px;line-height:1.4;color:var(--ew-muted)}
.ps-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.ps-actions .fi-btn{font-size:11px;min-height:32px;min-width:92px;border-radius:8px}.ps-details-toggle{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-height:30px;font-size:10px;font-weight:500;color:var(--ew-muted);cursor:pointer}.ps-details-toggle svg{width:12px;height:12px;transition:transform .15s}.ps-rotated{transform:rotate(180deg)}
.ps-details{background:var(--ew-paper);padding:23px 26px;border-top:1px dashed var(--ew-line)}.ps-detail-summary{display:grid;grid-template-columns:1fr 1fr;gap:30px}.ps-detail-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ew-muted);margin-bottom:6px}.ps-detail-summary strong{font-size:13px;font-weight:550}.ps-detail-summary p{font-size:12px;line-height:1.7;margin-top:8px;color:var(--ew-muted);max-width:520px}.ps-allocation{display:flex;justify-content:flex-end;gap:25px}.ps-allocation>div{display:flex;flex-direction:column;gap:5px}.ps-allocation strong{font-size:22px}.ps-allocation span{font-size:10px;color:var(--ew-muted)}
.ps-history-heading{display:flex;align-items:center;gap:10px;margin-top:25px;margin-bottom:12px}.ps-history-heading h4{font-size:12px;font-weight:600}.ps-history-heading>span{font-size:10px;color:var(--ew-muted)}.ps-history{max-height:245px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--ew-line);border-radius:10px;background:var(--ew-surface)}.ps-job{display:grid;grid-template-columns:100px 120px 1fr 1fr;gap:16px;padding:14px 18px;align-items:center;font-size:11px;color:var(--ew-muted)}.ps-job+.ps-job{border-top:1px solid var(--ew-line)}.ps-job>a{font-weight:600;color:var(--ew-ink)}.ps-job-status{font-weight:500;color:var(--ew-ink)}.ps-no-history{display:flex;align-items:center;gap:12px;padding:18px}.ps-no-history>svg{width:25px;height:25px;flex-shrink:0;color:var(--ew-muted)}.ps-no-history strong{font-size:12px;font-weight:550}.ps-no-history p,.ps-history-help{font-size:11px;line-height:1.6;color:var(--ew-muted)}.ps-no-history p{margin-top:4px}.ps-history-help{margin-top:12px}
.ps-list-footer{padding:16px 24px;border-top:1px solid var(--ew-line);display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.ps-list-footer>span{font-size:11px;color:var(--ew-muted)}.ps-list-footer nav{flex:1}.ps-empty{text-align:center;padding:45px 24px}.ps-empty>span{display:grid;place-items:center;background:var(--ew-paper);width:48px;height:48px;border-radius:15px;margin:0 auto 15px}.ps-empty svg{width:22px;height:22px}.ps-empty h3{font-size:17px;font-weight:600}.ps-empty p{font-size:12px;color:var(--ew-muted);margin:8px 0 17px}.ps-empty a{font-size:12px;font-weight:600}.ps-mobile-label{display:none}.ps-loading{opacity:.5}.ps-workspace button:focus-visible,.ps-workspace a:focus-visible,.ps-history:focus-visible{outline:2px solid #d62636;outline-offset:3px}
@container(max-width:1000px){.ps-grid{grid-template-columns:minmax(155px,1.2fr) minmax(125px,1fr) minmax(110px,.8fr) 105px 105px;gap:14px}.ps-row,.ps-column-head{padding-inline:20px}.ps-building{display:none}.ps-metric{padding:18px;gap:12px}.ps-metric-icon{width:32px;height:32px}}
@container(max-width:790px){.ps-column-head{display:none}.ps-grid{grid-template-columns:1.1fr 1fr;gap:18px}.ps-row{padding:20px}.ps-property{grid-column:1/-1}.ps-building{display:grid}.ps-property h3{font-size:15px}.ps-service{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.ps-service .ps-mobile-label{display:none}.ps-service small{max-width:50%;text-align:right}.ps-mobile-label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--ew-muted);margin-bottom:6px}.ps-actions{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;border-top:1px solid var(--ew-line);padding-top:12px}.ps-actions .fi-btn{min-height:38px}.ps-details-toggle{font-size:11px;min-height:38px}.ps-toolbar{flex-wrap:wrap}.ps-search{width:100%}.ps-metric{gap:10px}.ps-metric-icon{display:none}.ps-metric strong{font-size:30px}.ps-detail-summary{grid-template-columns:1fr;gap:18px}.ps-allocation{justify-content:flex-start}.ps-job{grid-template-columns:1fr 1fr;gap:8px}.ps-list-top{align-items:flex-start}.ps-list-top>a{font-size:11px}.ps-intro{align-items:flex-start;flex-direction:column;gap:12px}}
@container(max-width:480px){.ps-workspace{gap:16px}.ps-metrics{gap:8px}.ps-metric{padding:13px 10px;border-radius:12px}.ps-metric>div>span{font-size:10px}.ps-metric strong{font-size:27px}.ps-metric small{font-size:9px;line-height:1.5}.ps-list-top{flex-direction:column;gap:10px;padding:19px 17px}.ps-list-top h2{font-size:16px}.ps-toolbar{padding:0 17px 17px;gap:12px}.ps-tabs{width:100%;justify-content:space-between}.ps-tabs button{padding:8px 9px;font-size:10px}.ps-details{padding:19px 17px}.ps-allocation{gap:18px}.ps-allocation span{font-size:9px}.ps-list-footer{padding:16px 17px}.ps-intro p{font-size:12px}}

/* Admin activity inbox */
.ib-workspace{display:grid;gap:24px}.ib-workspace svg{width:18px;height:18px;flex-shrink:0}.ib-summary{display:flex;align-items:center;gap:42px;padding:30px 34px;background:var(--ew-forest);color:#fff;border-radius:22px}.ib-summary-copy{flex:1}.ib-eyebrow{font-size:10px;letter-spacing:2px;color:#f6d7dc}.ib-summary h2{font-size:26px;font-weight:600;letter-spacing:-.7px;margin:9px 0}.ib-summary p{font-size:13px;color:#ccd2dc}.ib-summary-count{display:grid;gap:4px;border-left:1px solid #ffffff26;padding-left:30px;min-width:112px}.ib-summary-count strong{font-size:34px;font-weight:500;color:#d3d8e1;line-height:1.2}.ib-summary-count span{font-size:11px;color:#ccd2dc}.ib-feed{border:1px solid var(--ew-line);border-radius:22px;background:var(--ew-surface);overflow:hidden}.ib-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:25px 28px}.ib-toolbar h2{font-size:18px;font-weight:650;color:var(--ew-ink)}.ib-toolbar p{font-size:12px;color:var(--ew-muted);margin-top:5px}.ib-filters{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:0 28px 22px}.ib-tabs{display:flex;gap:3px;background:var(--ew-paper);border-radius:12px;padding:4px}.ib-tabs button{padding:9px 13px;border-radius:9px;font-size:12px;color:var(--ew-muted);cursor:pointer;white-space:nowrap}.ib-tabs button.is-active{background:var(--ew-forest);color:#fff}.ib-tabs button span{margin-left:6px;opacity:.75}.ib-search{display:flex;align-items:center;gap:9px;flex:1;min-width:210px;border:1px solid var(--ew-line);border-radius:12px;padding:0 12px;color:var(--ew-muted)}.ib-search input{border:0;background:transparent;font-size:12px;width:100%;padding:12px 0;color:var(--ew-ink);outline:none;box-shadow:none}.ib-role-select{border:1px solid var(--ew-line);border-radius:12px;font-size:12px;padding:12px 34px 12px 13px;background-color:var(--ew-surface);color:var(--ew-ink);min-width:130px}.ib-results{display:flex;justify-content:space-between;padding:12px 28px;background:var(--ew-paper);border-block:1px solid var(--ew-line);font-size:11px;color:var(--ew-muted)}.ib-item{display:flex;gap:17px;padding:25px 28px;border-bottom:1px solid var(--ew-line);border-left:3px solid transparent}.ib-item.is-unread{border-left-color:#606c84;background:color-mix(in srgb,var(--ew-surface) 90%,#f6d7dc)}.ib-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--ew-paper);color:var(--ew-ink);font-size:17px;font-weight:650;flex-shrink:0;border:1px solid var(--ew-line)}.ib-item-main{min-width:0;flex:1}.ib-item-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.ib-identity{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ib-identity>strong{font-size:14px;color:var(--ew-ink);overflow-wrap:anywhere}.ib-role{font-size:10px;padding:4px 8px;border-radius:6px;background:var(--ew-paper);color:var(--ew-muted)}.ib-role-employee{background:#e5edf9;color:#43629b}.ib-role-admin{background:#eee8f7;color:#725491}.ib-role-customer{background:#e7eaef;color:#414959}.ib-role-guest{background:#fff0da;color:#865f2b}.ib-new{font-size:10px;color:var(--ew-ink);font-weight:600}.ib-new:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#5d6981;margin-right:5px}.ib-item time{font-size:11px;color:var(--ew-muted);white-space:nowrap;line-height:22px}.ib-action{display:flex;align-items:center;gap:8px;margin:12px 0 6px;color:var(--ew-ink)}.ib-action svg{width:16px;height:16px;color:var(--ew-muted)}.ib-action h3{font-size:15px;font-weight:600}.ib-title{font-size:12px;color:var(--ew-muted);overflow-wrap:anywhere}.ib-body{font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ew-ink);margin-top:12px}.ib-transition{display:flex;align-items:center;gap:9px;font-size:11px;margin-top:13px;flex-wrap:wrap}.ib-transition span,.ib-transition strong{padding:5px 10px;background:var(--ew-paper);border:1px solid var(--ew-line);border-radius:8px;color:var(--ew-muted)}.ib-transition strong{color:var(--ew-ink);font-weight:600}.ib-transition svg{width:14px;height:14px;color:var(--ew-muted)}.ib-assignee{font-size:12px;margin-top:10px;color:var(--ew-muted)}.ib-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px;padding-top:14px;border-top:1px dashed var(--ew-line)}.ib-context{display:flex;gap:7px;align-items:center;font-size:11px;color:var(--ew-muted);min-width:0}.ib-context svg{width:15px;height:15px}.ib-context span{overflow-wrap:anywhere}.ib-actions{display:flex;align-items:center;gap:16px;flex-shrink:0;font-size:11px}.ib-actions a{color:var(--ew-ink);font-weight:600}.ib-actions button{color:var(--ew-muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.ib-read{display:flex;align-items:center;gap:4px;color:var(--ew-muted)}.ib-read svg{width:14px;height:14px}.ib-empty{display:grid;justify-items:center;text-align:center;gap:12px;padding:65px 20px;color:var(--ew-muted)}.ib-empty svg{width:36px;height:36px}.ib-empty h3{font-size:18px;font-weight:600;color:var(--ew-ink)}.ib-empty p{font-size:13px}.ib-pagination{padding:20px 28px}.ib-long-message{margin-top:12px;font-size:12px;color:var(--ew-ink)}.ib-long-message summary{cursor:pointer}.ib-loading{opacity:.55}.ib-workspace button:focus-visible,.ib-workspace a:focus-visible,.ib-role-select:focus-visible,.ib-search:focus-within{outline:2px solid #6b7893;outline-offset:3px}.dark .ib-role{background:#333946;color:#dde1e8}
@media(max-width:900px){.ib-summary{gap:22px;padding:25px}.ib-summary h2{font-size:23px}.ib-summary-count{padding-left:20px;min-width:90px}.ib-item-heading{flex-wrap:wrap;gap:5px}.ib-footer{flex-wrap:wrap}.ib-search{min-width:240px}}
@media(max-width:600px){.ib-summary{flex-wrap:wrap;gap:20px}.ib-summary-copy{flex-basis:100%}.ib-summary-count{border:0;padding-left:0;min-width:110px}.ib-summary-count strong{font-size:28px}.ib-toolbar{align-items:flex-start;flex-direction:column;padding:20px}.ib-filters{padding:0 20px 20px}.ib-tabs{width:100%;justify-content:space-between}.ib-search{min-width:100%}.ib-role-select{width:100%}.ib-item{padding:20px 16px;gap:12px}.ib-avatar{width:34px;height:34px;border-radius:10px}.ib-results{padding:12px 20px}.ib-identity>strong{font-size:13px}.ib-action h3{font-size:14px}.ib-footer{gap:14px}.ib-actions{flex-wrap:wrap;gap:18px}.ib-pagination{padding:18px}}

/* Shared pagination for custom pages and Filament resource tables. */
.fi-pagination .fi-pagination-item-btn { min-width: 40px; min-height: 40px; justify-content: center; align-items: center; }
.fi-pagination .fi-pagination-item.fi-active .fi-pagination-item-btn { background: var(--ew-forest); }
.fi-pagination .fi-pagination-item.fi-active .fi-pagination-item-label { color: #fff; }
.fi-pagination .fi-pagination-item-label { font-size: 12px; }
.fi-pagination .fi-pagination-item-btn:focus-visible { outline: 2px solid #d62636; outline-offset: 2px; }
.ew-pagination.fi-pagination { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px 20px; width: 100%; container-type: normal; }
.ew-pagination.fi-pagination .fi-pagination-overview { display: block; font-size: 12px; line-height: 1.7; color: var(--ew-muted); }
.ew-pagination.fi-pagination .fi-pagination-items { display: flex; max-width: 100%; flex-wrap: wrap; border: 1px solid var(--ew-line); box-shadow: none; background: var(--ew-surface); }
.ew-pagination.fi-pagination .fi-pagination-previous-btn, .ew-pagination.fi-pagination .fi-pagination-next-btn { display: none; }
@media (max-width: 640px) {
    .ew-pagination.fi-pagination .fi-pagination-overview { order: -1; flex-basis: 100%; text-align: center; }
    .ew-pagination.fi-pagination .fi-pagination-items { display: none; }
    .ew-pagination.fi-pagination .fi-pagination-previous-btn, .ew-pagination.fi-pagination .fi-pagination-next-btn { display: inline-flex; min-height: 44px; }
    .ew-pagination.fi-pagination .fi-pagination-next-btn { margin-inline-start: auto; }
}

/* Shared Uber Elevator brand accents. Status indicators keep their semantic colours. */
.ew-brand-mark { background: #d62636; color: #fff; }
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn { background: #0b111b; border-left: 3px solid #d62636; }
.fi-sidebar-item.fi-active .fi-sidebar-item-label, .fi-sidebar-item.fi-active .fi-icon { color: #fff; }
.dark .fi-sidebar-item.fi-active > .fi-sidebar-item-btn { background: #263448; }
.dark .fi-sidebar-item.fi-active .fi-sidebar-item-label, .dark .fi-sidebar-item.fi-active .fi-icon { color: #fff; }
.ew-module-hero, .ep-hero, .ew-login-intro { background: linear-gradient(120deg,#0b111b,#263448); }
.ew-module-copy h2, .ep-hero h2 { color: #fff; }
.ew-art-dot, .ew-eyebrow > span, .el-unread-count { background: #d62636; }
.ew-hero-button { background: #d62636; border-color: #d62636; color: #fff; }
.ew-hero-button:hover { background: #b81f2d; }
.fi-tabs-item.fi-active { background: #fbe9ec; color: #ad1b2b; }
.dark .fi-tabs-item.fi-active { background: #492630; color: #ffbcc5; }
.fi-simple-layout { background: radial-gradient(ellipse at 15% 20%,#e2e7ef 0,transparent 55%),var(--ew-paper); }

.dark .el-card-title a { color: #ffacb8; }
