/* AmeliaGym R9.4.4 — UX authority: fields, migration splash, filters/pagination, readable implementation plan */
:root{--r96-ink:#102c3f;--r96-muted:#607687;--r96-line:#d8e3e9;--r96-soft:#f4f8fa;--r96-navy:#08263a;--r96-orange:#ff7620}

/* ---------- GLOBAL FIELD CONTRACT ----------
   Controls must never share text space with icons.  This rule is intentionally final
   and applies to legacy generations as well as R9.4.x modules. */
input,select,textarea{box-sizing:border-box;min-width:0;color:var(--r96-ink)}
input::placeholder,textarea::placeholder{color:#8799a7;opacity:1}
input[type="date"],input[type="datetime-local"],input[type="time"],input[type="month"]{padding-right:42px!important;color-scheme:light}
input[type="date"]::-webkit-calendar-picker-indicator,input[type="datetime-local"]::-webkit-calendar-picker-indicator,input[type="time"]::-webkit-calendar-picker-indicator,input[type="month"]::-webkit-calendar-picker-indicator{margin:0 2px 0 8px;opacity:.66;cursor:pointer}
input[type="search"]::-webkit-search-cancel-button{margin-left:9px}

div.toolbar-input{display:flex!important;align-items:center!important;gap:9px!important;padding:0 11px!important;overflow:hidden}
div.toolbar-input>svg,div.toolbar-input>i{position:static!important;flex:0 0 18px!important;width:18px!important;height:18px!important;margin:0!important;pointer-events:none}
div.toolbar-input>input{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;min-width:0!important;width:100%!important;height:100%!important;outline:0!important}
.global-search{overflow:hidden}.global-search>i{position:static!important;flex:0 0 17px}.global-search input{padding:0!important}
.r7-reception-search{padding-left:50px!important}.r7-reception-search>i{left:17px!important;width:20px!important}.r7-reception-search input{padding-left:0!important}
.r61-active-search label,.r91-form label,.r72-form-grid label,.modal-form label,.r95-form label,.r96-form label{min-width:0}

/* Common icon-input wrapper guard for current and future modules. */
.ag-icon-field{position:relative!important}.ag-icon-field>.ag-field-icon{position:absolute!important;left:13px!important;top:50%!important;transform:translateY(-50%)!important;width:18px!important;height:18px!important;display:grid!important;place-items:center!important;pointer-events:none!important;color:#758a9a!important;z-index:2}.ag-icon-field>input,.ag-icon-field>select{padding-left:42px!important}
.ag-icon-field.ag-icon-right>input,.ag-icon-field.ag-icon-right>select{padding-left:12px!important;padding-right:42px!important}.ag-icon-field.ag-icon-right>.ag-field-icon{left:auto!important;right:13px!important}

/* Contrast/readability normalisation. */
.content label{color:#243f52}.content .subline,.content .mini,.content small{color:#667d8d}.content h1,.content h2,.content h3,.content h4{color:#0d2a3e}.content table td{color:#16364b}.content table th{color:#567083}.content .muted{color:#6d8190!important}
.cash-hero h2,.cash-hero p,.cash-hero b,.r7-reception-hero h2,.r7-reception-hero p,.r92-health h2,.r92-health p,.r92-retention-card h2,.r92-retention-card p{color:#fff!important}

/* ---------- COMPANY IMPLEMENTATION / SURVEY ---------- */
.r96-implementation-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;background:linear-gradient(125deg,#071d2f,#0b3b55);border-radius:22px;padding:24px 26px;color:#fff;box-shadow:0 14px 38px #092b3f1a}
.r96-implementation-hero>div>span{font-size:10px;letter-spacing:.15em;font-weight:900;color:#ff9a55}.r96-implementation-hero h2{color:#fff!important;margin:7px 0 5px;font-size:clamp(22px,2.1vw,31px)!important}.r96-implementation-hero p{margin:0;color:#c8d9e3!important;max-width:800px;line-height:1.5}
.r96-readiness{display:flex;align-items:center;gap:14px;background:#ffffff0d;border:1px solid #ffffff1c;border-radius:16px;padding:12px 14px}.r96-readiness strong{font-size:27px}.r96-readiness span{display:block;color:#a9c0ce;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.r96-readiness small{display:block;color:#fff!important;font-size:11px;margin-top:2px}
.r96-next{margin-top:12px;background:#fff7ef;border:1px solid #ffd9bd;border-left:4px solid var(--r96-orange);border-radius:14px;padding:13px 15px;display:flex;gap:11px;align-items:flex-start}.r96-next>i{width:27px;height:27px;border-radius:9px;background:#ffeadb;color:#d75c0d;font-style:normal;display:grid;place-items:center;font-weight:900}.r96-next b{display:block;font-size:12px;color:#18384d}.r96-next p{margin:3px 0 0;font-size:11px;color:#5f7585;line-height:1.4}
.r96-implementation-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:16px;margin-top:16px;align-items:start}.r96-form{display:grid;gap:12px}.r96-section{background:#fff;border:1px solid var(--r96-line);border-radius:17px;padding:18px}.r96-section-head{display:flex;gap:11px;align-items:flex-start;margin-bottom:14px}.r96-section-head>span{width:34px;height:34px;display:grid;place-items:center;background:#fff0e5;border-radius:10px;color:#df6516;font-weight:900;font-size:11px;flex:0 0 auto}.r96-section-head b{display:block;font-size:14px;color:#123247}.r96-section-head small{display:block;margin-top:2px;font-size:10px;color:#718594}.r96-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px 12px}.r96-form label{display:grid;gap:5px;font-size:10.5px;font-weight:850;color:#29475a}.r96-form label>small{font-size:9px;font-weight:600;color:#8495a1}.r96-form input,.r96-form textarea,.r96-form select{width:100%;border:1px solid #cbd9e1;background:#fff;border-radius:10px;padding:10px 11px;font:inherit;font-size:12px;outline:0}.r96-form input{height:42px}.r96-form textarea{min-height:76px;resize:vertical;line-height:1.45}.r96-form input:focus,.r96-form textarea:focus,.r96-form select:focus{border-color:#4c91b4;box-shadow:0 0 0 3px #3e8fb112}.r96-wide{grid-column:1/-1}.r96-check{display:flex!important;align-items:flex-start;gap:9px!important;border:1px solid #e1e8ed;background:#f8fafb;border-radius:11px;padding:10px 11px}.r96-check input{width:17px!important;height:17px!important;margin:1px 0 0!important;flex:0 0 auto}.r96-actions{position:sticky;bottom:10px;z-index:3;display:flex;justify-content:flex-end;align-items:center;gap:9px;background:rgba(255,255,255,.96);backdrop-filter:blur(7px);border:1px solid var(--r96-line);border-radius:14px;padding:10px;box-shadow:0 10px 30px #0d2b3e18}.r96-actions select{min-width:210px;height:40px;border:1px solid #cddae2;border-radius:10px;padding:0 10px;background:#fff}
.r96-plan{position:sticky;top:88px;background:#fff;border:1px solid var(--r96-line);border-radius:17px;overflow:hidden}.r96-plan-head{padding:17px 17px 13px;background:#f7fafb;border-bottom:1px solid #e3ebef}.r96-plan-head span{font-size:9px;letter-spacing:.12em;color:#f06f1c;font-weight:900}.r96-plan-head h3{margin:5px 0 3px;font-size:16px}.r96-plan-head p{margin:0;color:#6c8190;font-size:10px}.r96-progressbar{height:7px;background:#e6edf1;border-radius:999px;margin-top:11px;overflow:hidden}.r96-progressbar i{display:block;height:100%;background:linear-gradient(90deg,#ff7620,#ff9f5a);border-radius:inherit}.r96-task-list{padding:8px;display:grid;gap:6px;max-height:calc(100vh - 245px);overflow:auto}.r96-task{display:grid;grid-template-columns:28px 1fr auto;gap:9px;align-items:start;border:1px solid #e1e9ee;border-radius:11px;padding:10px}.r96-task>i{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-style:normal;font-weight:900}.r96-task.done>i{background:#e1f5eb;color:#138052}.r96-task.pending>i{background:#fff0e3;color:#cb5d11}.r96-task b{display:block;font-size:11px}.r96-task p{margin:2px 0 0;color:#667c8b;font-size:9.5px;line-height:1.35}.r96-task em{font-style:normal;font-size:8px;font-weight:900;letter-spacing:.07em;border-radius:999px;padding:4px 6px;background:#edf3f6;color:#657d8d}.r96-task.pending em.high{background:#fee8e5;color:#a73c32}.r96-task.pending em.medium{background:#fff0dc;color:#9b6200}

/* ---------- TABLE FILTERS / PAGINATION ---------- */
.r96-table-tools{display:grid;grid-template-columns:minmax(210px,1fr) 180px 170px auto;gap:8px;align-items:center;margin:12px 0}.r96-table-tools input,.r96-table-tools select{height:40px;border:1px solid #d3dfe6;border-radius:10px;background:#fff;padding:0 11px;outline:0;font-size:11px}.r96-table-tools input:focus,.r96-table-tools select:focus{border-color:#4f91b4;box-shadow:0 0 0 3px #438eb111}.r96-result-note{font-size:10px;color:#718593;text-align:right;white-space:nowrap}
.r96-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 2px 2px}.r96-pager>span{font-size:10px;color:#6d8190}.r96-pager-buttons{display:flex;gap:5px;align-items:center}.r96-pager-buttons button{min-width:34px;height:34px;border:1px solid #d5e0e6;background:#fff;border-radius:9px;font-weight:850;color:#29485b}.r96-pager-buttons button.active{background:#0b3148;color:#fff;border-color:#0b3148}.r96-pager-buttons button:disabled{opacity:.35}
.r96-pay-tools{margin:0 0 12px;background:#fff;border:1px solid var(--r96-line);border-radius:14px;padding:10px;display:grid;grid-template-columns:160px minmax(220px,1fr) 180px 140px 130px auto;gap:8px}.r96-pay-tools input,.r96-pay-tools select{height:40px;border:1px solid #d2dee5;border-radius:10px;padding:0 10px;background:#fff;font-size:11px;outline:0}

/* ---------- MIGRATION SPLASH ---------- */
.r96-migration-splash{position:fixed;inset:0;z-index:100000;background:radial-gradient(circle at 70% 15%,#174b64 0,#0a2a3d 33%,#061724 72%);display:grid;place-items:center;color:#fff;padding:22px}.r96-migration-card{width:min(670px,100%);border:1px solid #ffffff1c;border-radius:26px;background:#ffffff0a;backdrop-filter:blur(16px);padding:30px;box-shadow:0 30px 90px #0005}.r96-migration-logo{width:50px;height:50px;border-radius:15px;background:linear-gradient(135deg,#ff7520,#ff9d57);display:grid;place-items:center;font-weight:950;font-size:21px;margin-bottom:20px}.r96-migration-card>span{font-size:9px;letter-spacing:.15em;color:#ffad75;font-weight:900}.r96-migration-card h2{color:#fff!important;font-size:27px;margin:7px 0}.r96-migration-card p{color:#bfd2de!important;line-height:1.5;margin:0}.r96-migration-stage{margin-top:22px;border:1px solid #ffffff18;border-radius:14px;padding:14px 15px;background:#ffffff08}.r96-migration-stage b{display:block;font-size:13px}.r96-migration-stage small{display:block;color:#9fb7c7!important;margin-top:4px}.r96-migration-progress{height:8px;background:#ffffff16;border-radius:999px;margin-top:13px;overflow:hidden}.r96-migration-progress i{display:block;height:100%;width:20%;border-radius:inherit;background:linear-gradient(90deg,#ff7620,#ffb17d);animation:r96Pulse 1.5s ease-in-out infinite alternate}.r96-migration-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:13px;color:#9fb4c2;font-size:10px}.r96-spinner{display:inline-block;width:9px;height:9px;border-radius:50%;background:#25c78b;box-shadow:0 0 0 5px #25c78b1a;margin-right:7px}@keyframes r96Pulse{from{width:16%}to{width:88%}}

@media(max-width:1180px){.r96-implementation-grid{grid-template-columns:1fr}.r96-plan{position:relative;top:auto}.r96-task-list{max-height:none;grid-template-columns:1fr 1fr}.r96-plan-head{grid-column:1/-1}.r96-pay-tools{grid-template-columns:1fr 1fr 1fr}.r96-table-tools{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.r96-implementation-hero{grid-template-columns:1fr;padding:19px}.r96-readiness{justify-content:flex-start}.r96-fields{grid-template-columns:1fr}.r96-wide{grid-column:auto}.r96-task-list{grid-template-columns:1fr}.r96-actions{position:static;display:grid;grid-template-columns:1fr}.r96-actions select{width:100%;min-width:0}.r96-pay-tools,.r96-table-tools{grid-template-columns:1fr}.r96-result-note{text-align:left}.r96-pager{align-items:flex-start;flex-direction:column}.r96-migration-card{padding:22px;border-radius:20px}}

@media print{.r96-table-tools,.r96-pay-tools,.r96-pager,.r96-actions{display:none!important}.r96-plan{position:static}.r96-task-list{max-height:none}.r96-implementation-grid{grid-template-columns:1fr}.r96-migration-splash{display:none!important}}

/* Legacy search wrappers also follow the same icon/text separation contract. */
.r51-search{position:relative!important}.r51-search>svg,.r51-search>i{position:absolute!important;left:13px!important;top:50%!important;transform:translateY(-50%)!important;width:17px!important;height:17px!important;pointer-events:none!important}.r51-search>input{padding-left:42px!important;padding-right:12px!important}
/* Native picker glyphs keep a dedicated slot on every form generation. */
.r96-native-picker{padding-inline-end:44px!important;min-width:0!important}

/* Report controls must not stretch into unreadable full-width fields on desktop. */
.r81-toolbar{flex-wrap:wrap!important;align-items:flex-start!important}.r81-tabs{max-width:100%;flex:1 1 520px}.r81-controls{display:flex!important;flex:0 1 auto!important;flex-wrap:wrap!important;justify-content:flex-end!important}.r81-controls select{width:auto!important;min-width:145px!important;max-width:210px!important;flex:0 0 auto!important}.r81-controls .btn{width:auto!important;flex:0 0 auto!important}.r81-historical .table-wrap{max-height:none!important}
/* Dense tables stay legible instead of looking like an exported database dump. */
.table-card table tbody tr,.r81-panel table tbody tr{height:44px}.table-card table td,.r81-panel table td{vertical-align:middle;line-height:1.35}.table-card table th,.r81-panel table th{font-size:9px!important;letter-spacing:.055em!important;font-weight:900!important;background:#f4f7f9!important}.table-card table tbody tr:hover,.r81-panel table tbody tr:hover{background:#f8fbfc}

@media(max-width:800px){.r81-tabs{flex:1 1 100%}.r81-controls{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important}.r81-controls select{width:100%!important;max-width:none!important}.r81-controls .btn{grid-column:1/-1!important;width:100%!important}}
