/* Ediltur Expense Control 1.19.78 – Operational utilities design system.
 * Presentation only: form methods, names and server-side actions remain unchanged. */
.eec-utility-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:26px;min-height:184px;margin:0 0 22px;padding:28px 32px;border-radius:25px;background:linear-gradient(115deg,#102e53 0%,#1c4c82 68%,#2e6c9c 100%);color:#fff;box-shadow:0 18px 32px rgba(18,46,80,.12)}
.eec-utility-hero:after{content:"";position:absolute;inset:-55% -24% auto auto;width:385px;height:385px;border:1px solid rgba(255,255,255,.2);box-shadow:0 0 0 40px rgba(255,255,255,.035),0 0 0 92px rgba(255,255,255,.03);border-radius:50%;z-index:-1}
.eec-utility-hero-copy{flex:1;max-width:690px}
.eec-utility-eyebrow{display:block;color:#527ba7;letter-spacing:.1em;font-size:11px;font-weight:850;text-transform:uppercase;margin-bottom:10px}
.eec-utility-hero .eec-utility-eyebrow{color:#bcdcff}
.eec-utility-hero h3{font-size:clamp(24px,2vw,34px);line-height:1.12;letter-spacing:-.03em;color:#fff;margin:0 0 12px}
.eec-utility-hero p{max-width:610px;line-height:1.55;margin:0;color:#e0ecf7;font-size:14px}
.eec-utility-jump{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:7px;justify-content:flex-end;max-width:370px}
.eec-utility-jump a{display:inline-flex;gap:9px;align-items:center;min-height:37px;padding:8px 12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:11px;color:#fff!important;text-decoration:none;font-size:12px;font-weight:750}
.eec-utility-jump a:hover,.eec-utility-jump a:focus-visible{background:#fff;color:#153c6d!important;outline-offset:2px}
.eec-admin-main [id^="eec-config-"],.eec-admin-main [id^="eec-utility-"],.eec-admin-main [id^="eec-backup-"],.eec-admin-main [id^="eec-users-"],.eec-admin-main [id^="eec-fuel-"],.eec-admin-main [id^="eec-excesses-"]{scroll-margin-top:24px}
.eec-utility-section-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:20px}
.eec-utility-section-head h2,.eec-utility-section-head h3{margin:0;font-size:23px;letter-spacing:-.025em}
.eec-utility-section-head .eec-utility-eyebrow{margin-bottom:5px}
.eec-utility-search-label,.eec-portal label.eec-utility-search-label{display:flex;flex-direction:column;gap:5px;color:#57708a;font-size:12px;font-weight:750;min-width:min(100%,215px)}
.eec-portal .eec-utility-search{display:block;width:100%;min-width:0;max-width:100%;min-height:43px;padding:10px 12px 10px 36px;border:1px solid #cedce9;border-radius:12px;color:#1e3651;background:#fff url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%236e829a" stroke-width="2" stroke-linecap="round"%3E%3Ccircle cx="11" cy="11" r="7"/%3E%3Cpath d="m20 20-4-4"/%3E%3C/svg%3E') 12px center / 16px no-repeat;box-shadow:none;font-size:13px}
.eec-portal .eec-utility-search:focus{border-color:#2465a2;box-shadow:0 0 0 3px rgba(36,101,162,.12);outline:0}
.eec-utility-filter{display:flex;gap:12px;align-items:end;justify-content:space-between;margin:14px 0 12px}
.eec-utility-filter-count{font-size:12px;color:#607891}
.eec-utility-empty{padding:30px;text-align:center;color:#697e92;background:#f8fbfe;border:1px dashed #d5e1ed;border-radius:18px}
/* Users: actual directory layout rather than four-column legacy table. */
.eec-utility-stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:4px 0 22px}
.eec-utility-stat-strip>div{padding:19px 20px;min-height:101px;background:#fff;border:1px solid #e0e8f0;border-radius:18px;box-shadow:0 6px 18px rgba(22,46,77,.04)}
.eec-utility-stat-strip span{display:block;font-size:12px;color:#63788e;margin-bottom:10px;font-weight:700}
.eec-utility-stat-strip strong{display:block;color:#163e6e;font-size:27px;letter-spacing:-.025em;line-height:1.1}
.eec-utility-users-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(305px,1fr);gap:18px;align-items:start}
.eec-utility-users-layout>.eec-panel{margin:0;padding:24px;min-width:0}
.eec-utility-person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.eec-utility-person-card{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:10px;padding:17px;border:1px solid #dce6f1;border-radius:18px;background:linear-gradient(180deg,#fff 0%,#f9fbfe 100%)}
.eec-utility-person-card:hover{border-color:#9dbbd9;box-shadow:0 9px 18px rgba(18,55,91,.07)}
.eec-utility-person-avatar{display:grid;place-items:center;width:42px;height:42px;background:#e5f0fc;color:#1d5188;border-radius:14px;font-size:14px;font-weight:850}
.eec-utility-person-info{display:flex;flex-direction:column;gap:4px;min-width:0}
.eec-utility-person-info strong{font-size:14px;line-height:1.3;color:#1c3550;overflow-wrap:anywhere}
.eec-utility-person-info small{color:#697c91;font-size:12px;overflow-wrap:anywhere}
.eec-utility-role-badge{display:inline-flex;align-self:start;padding:5px 8px;border-radius:999px;background:#e9f4ff;color:#20568c;font-size:11px;font-weight:800;margin-top:4px}
.eec-utility-role-badge.is-disabled{background:#fff0ed;color:#9f3c25}
.eec-utility-person-actions{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:3px;padding-top:11px;border-top:1px solid #e4ebf3}
.eec-utility-person-actions .eec-inline-form{margin:0}
.eec-utility-person-actions .eec-secondary,.eec-utility-person-actions .eec-danger{min-height:36px;padding:8px 12px;font-size:12px;margin:0}
.eec-utility-user-editor{position:sticky;top:20px}
.eec-utility-user-editor>h3{font-size:22px;margin:2px 0 16px}
.eec-utility-user-editor .eec-admin-form{gap:13px}
.eec-utility-user-editor .eec-admin-form label{font-size:13px}
.eec-utility-user-editor .eec-primary{margin-top:4px}
/* Messaging: large authoring canvas, clear recipient selection, visible archive. */
.eec-utility-compose,.eec-utility-history{border:1px solid #dfe8f3}
.eec-utility-compose .eec-section-head{padding:0 0 16px;border-bottom:1px solid #e7eef6}
.eec-utility-compose h2{font-size:24px}
.eec-utility-compose .eec-message-form>.eec-form-grid{padding:18px;background:#f7faff;border:1px solid #e1ebf5;border-radius:19px}
.eec-utility-compose textarea[name="message_body"]{min-height:190px;font-size:15px;line-height:1.6}
.eec-utility-compose .eec-message-recipient-mode{margin-top:18px}
.eec-utility-compose .eec-message-recipient-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:320px;overflow:auto;padding:8px;border:1px solid #e0e8f0;border-radius:16px;background:#fbfdff}
.eec-utility-compose .eec-message-recipient-list .eec-check-row{margin:0!important;padding:11px!important;border:1px solid #e6edf4;border-radius:12px;background:#fff}
.eec-utility-compose .eec-message-upload{margin-top:18px}
.eec-utility-compose .eec-message-form>.eec-primary{max-width:275px;margin-left:auto}
.eec-utility-history .eec-table-wrap,.eec-utility-records .eec-table-wrap{border-color:#dce7f2}
.eec-utility-history .eec-table tbody td{vertical-align:middle}
.eec-utility-history .eec-table details{min-width:125px}
/* Backup: separation of risk from routine operations. */
.eec-utility-backup-create{background:linear-gradient(120deg,#fff,#f6faff)}
.eec-utility-backup-create>h3,.eec-utility-receipts>h3{font-size:23px}
.eec-utility-backup-list{padding:23px;margin:20px 0;border:1px solid #dfe7f0;border-radius:21px;background:#fff;box-shadow:0 7px 22px rgba(14,42,75,.04)}
.eec-utility-backup-list>h4{margin:0 0 15px;font-size:21px}
.eec-utility-backup-list .eec-table-wrap{margin-top:16px}
.eec-utility-backup-list td:last-child{min-width:280px}
.eec-utility-backup-list td:last-child a,.eec-utility-backup-list td:last-child button{margin:3px}
.eec-utility-backup-list .eec-inline-details{vertical-align:middle}
.eec-utility-restore{border-left:5px solid #d39a3e;background:#fffcf7}
.eec-utility-restore>h3{color:#895519}
.eec-utility-receipts{background:linear-gradient(180deg,#fff,#f9fcff)}
.eec-utility-receipts>.eec-kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.eec-utility-receipts>.eec-kpis>div{padding:18px;border:1px solid #dfebf6;border-radius:15px;background:#fff;min-width:0}
.eec-utility-receipts>.eec-kpis>div strong{font-size:20px;color:#183f6c;display:block;overflow-wrap:anywhere}
.eec-utility-receipts>.eec-kpis>div span{font-size:12px;color:#58728d}
/* Fuel: actual metrics + ledger, not endless generic blocks. */
.eec-utility-filter-panel .eec-filter-bar{border:0;margin:0}
.eec-utility-metrics>div{border:1px solid #dbe7f3;background:#fff;border-radius:19px;padding:21px 20px;box-shadow:0 7px 18px rgba(24,55,84,.05)}
.eec-utility-metrics>div:before{content:"";display:block;width:32px;height:4px;background:#4b9bc7;border-radius:5px;margin-bottom:15px}
.eec-utility-metrics>div span{display:block;color:#667c92;font-weight:700;font-size:12px;margin-bottom:9px}
.eec-utility-metrics>div strong{font-size:23px;color:#183f6e;line-height:1.1;letter-spacing:-.02em;overflow-wrap:anywhere}
.eec-utility-breakdown{margin:19px 0}
.eec-utility-breakdown>.eec-panel{margin:0;min-width:0}
.eec-utility-breakdown h3{margin:0 0 15px}
.eec-utility-records thead th{white-space:nowrap}
/* Excesses: workflow-oriented table, with action area clearly separated. */
.eec-utility-period{background:linear-gradient(180deg,#fff,#f8fbff)}
.eec-utility-period .eec-filter-bar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;border:0;margin:0}
.eec-utility-period .eec-filter-bar label{flex:0 1 250px}
.eec-utility-excesses table{min-width:920px}
.eec-utility-excesses table td{vertical-align:top}
.eec-utility-excesses table td:first-child strong{color:#143f70}
.eec-utility-excesses table td:last-child{min-width:280px;background:#fbfdff}
.eec-utility-excesses .eec-excess-action{padding:12px;border:1px solid #dfebf6;border-radius:14px;background:#fff;margin:10px 0}
.eec-utility-excesses .eec-excess-action label{margin-bottom:8px}
.eec-utility-excesses .eec-excess-action .eec-primary,.eec-utility-excesses .eec-excess-action .eec-secondary{width:100%;margin:6px 0 0}
/* Configuration: section index, highlighted settings, no hidden forms. */
.eec-utility-config-links>.eec-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:9px;margin-top:20px}
.eec-utility-config-links>.eec-action-grid a{display:flex;align-items:center;min-height:64px;padding:13px 15px;border:1px solid #deebf6;background:#f7fbff;border-radius:14px;font-weight:750;color:#17416e;text-decoration:none;line-height:1.35}
.eec-utility-config-links>.eec-action-grid a:hover{background:#eaf3ff;border-color:#a7c4e3;transform:translateY(-1px)}
.eec-utility-config-links>.eec-shortcode-box{margin-top:20px}
.eec-utility-config-receipts>.eec-panel,.eec-utility-weekly>.eec-panel{margin:20px 0}
.eec-utility-notifications .eec-notification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.eec-utility-notifications .eec-notification-card{margin:0!important;padding:17px;border:1px solid #dce8f4;border-radius:15px;background:#fbfdff;min-width:0}
.eec-utility-notifications .eec-notification-card strong{font-size:14px}
.eec-utility-notifications .eec-notification-card small{color:#607891}
.eec-utility-mail>h3{font-size:22px;margin-bottom:8px}
.eec-utility-mail .eec-form-grid{padding:18px;border:1px solid #e4ecf4;background:#fafcff;border-radius:16px}
/* Safe enhancements are optional and have no server-side side effects. */
.eec-utility-person-card[hidden],.eec-utility-compose .eec-check-row[hidden],.eec-utility-history tr[hidden],.eec-utility-records tr[hidden],.eec-utility-excesses tr[hidden]{display:none!important}
.eec-utility-filter-info{font-size:12px;color:#68819b;margin:8px 0}
@media(max-width:1240px){.eec-utility-users-layout{grid-template-columns:1fr}.eec-utility-user-editor{position:static}.eec-utility-person-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:930px){.eec-utility-hero{align-items:flex-start;flex-direction:column}.eec-utility-jump{max-width:100%;justify-content:flex-start}.eec-utility-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.eec-utility-notifications .eec-notification-grid{grid-template-columns:1fr}}
@media(max-width:650px){.eec-utility-hero{padding:22px 20px;min-height:0;border-radius:20px}.eec-utility-hero h3{font-size:26px}.eec-utility-jump a{font-size:11px}.eec-utility-users-layout>.eec-panel{padding:18px}.eec-utility-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.eec-utility-stat-strip>div{padding:16px}.eec-utility-person-grid{grid-template-columns:1fr}.eec-utility-compose .eec-message-recipient-list{grid-template-columns:1fr}.eec-utility-compose .eec-message-form>.eec-primary{max-width:100%}.eec-utility-section-head{align-items:stretch;flex-direction:column}.eec-utility-search-label{min-width:0}.eec-utility-search{width:100%!important}.eec-utility-breakdown{grid-template-columns:1fr}.eec-utility-config-links>.eec-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.eec-utility-config-links>.eec-action-grid a{padding:10px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.eec-utility-hero *,.eec-utility-person-card,.eec-utility-config-links a{scroll-behavior:auto;transition:none}}
