/* v107 content system. Every selector is bounded to authenticated content or its dialogs.
   Existing styles remain intact for the frozen login, sidebar and topbar. */

#app .content {
  --c-ink:#192b43; --c-muted:#596a80; --c-faint:#758399;
  --c-blue:#245edb; --c-blue-dark:#1849b6; --c-tint:#edf3ff;
  --c-line:#dde4ee; --c-soft:#f5f7fb; --c-surface:#fff;
  --c-green:#14714d; --c-red:#b32b37; --c-amber:#8a5710;
  --text:var(--c-ink); --muted:var(--c-muted); --border:var(--c-line); --card:#fff;
  --p-text:var(--c-ink); --p-text-2:var(--c-muted); --p-text-3:var(--c-muted);
  --p-surface:#fff; --p-surface-2:var(--c-soft); --p-hair:var(--c-line);
  --p-accent:var(--c-blue); --p-accent-hi:var(--c-blue); --p-accent-lo:var(--c-blue-dark);
  color:var(--c-ink); background:#f5f7fb!important;
  padding:28px 32px 48px!important; min-width:0; font-size:15px; line-height:1.6;
  container:lmh-content / inline-size;
}
#app .content #view { width:100%; max-width:1480px!important; margin:0 auto!important; min-width:0; }
#app .content :is(.enterprise-page,.academy-page,.modern-home,.v91-page,.assets-page,.employee-attendance-page,.leave-page,.timesheet-page,.policies-page,.profile-page) { max-width:none!important; min-width:0; }
#app .content *, #app .content *::before, #app .content *::after { box-sizing:border-box; }
#app .content :is(h1,h2,h3,h4,p) { overflow-wrap:anywhere; }
#app .content h1 { color:var(--c-ink)!important; font-size:30px!important; font-weight:720!important; line-height:1.23!important; letter-spacing:-.035em!important; }
#app .content h2 { color:var(--c-ink); font-size:19px!important; line-height:1.35!important; letter-spacing:-.02em; }
#app .content h3 { font-size:16px; line-height:1.4; }
#app .content :is(.section-title,.home-section-head .section-title) { font-size:18px!important; font-weight:680!important; color:var(--c-ink)!important; line-height:1.4; letter-spacing:-.02em; }
#app .content :is(.section-sub,.muted,.v106-caption,.v91-footer-note,.v91-source,.empty-inline) { color:var(--c-muted)!important; font-size:13px!important; line-height:1.65!important; }
#app .content :is(.eyebrow,.academy-eyebrow,.academy-group-kicker,.ts-block-label) { font-size:11px!important; font-weight:700!important; letter-spacing:.09em!important; color:var(--c-muted)!important; line-height:1.5; }
#app .content :is(.eyebrow,.academy-eyebrow) { display:block; margin:0 0 8px; }
#app .content :is(button,input,select,textarea) { font-family:inherit; }
#app .content :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid #245edb!important; outline-offset:3px!important; }
#app .content :is(button,a) { -webkit-tap-highlight-color:transparent; }
#app .content :is(button,[role="button"],summary) { touch-action:manipulation; }
#app .content :is(button:disabled,input:disabled,select:disabled,textarea:disabled) { opacity:.55!important; cursor:not-allowed!important; box-shadow:none!important; transform:none!important; }
#app .content [hidden] { display:none!important; }
#app .content .sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%); white-space:nowrap!important; border:0!important; }
#app .content .lm-icon { flex-shrink:0; }
#app .content :is(.btn,.text-link,.c107-text-link) { text-decoration:none!important; }

/* Common page hierarchy: compact title, explanatory copy, a clear action. */
#app .content :is(.c107-header,.page-hero,.leave-hero,.attendance-page-hero,.timesheet-hero,.newsroom-hero,.policies-hero,.admin-section-hero,.login-history-hero,.profile-hero,.v91-heading,.academy-hero,.admin-overview-heading,.livvy-heading) {
  display:flex!important; align-items:center!important; justify-content:space-between!important;
  gap:24px!important; margin:0 0 26px!important; padding:0 0 24px!important;
  border:0!important; border-bottom:1px solid var(--c-line)!important; border-radius:0!important;
  box-shadow:none!important; background:transparent!important; min-height:0!important;
  color:var(--c-ink)!important; overflow:visible!important; position:relative;
}
#app .content :is(.page-hero,.leave-hero,.attendance-page-hero,.timesheet-hero,.newsroom-hero,.policies-hero,.admin-section-hero,.profile-hero,.academy-hero)::before,
#app .content :is(.page-hero,.leave-hero,.attendance-page-hero,.timesheet-hero,.newsroom-hero,.policies-hero,.admin-section-hero,.profile-hero,.academy-hero)::after { content:none!important; }
#app .content .pg-badge { display:none!important; }
#app .content :is(.c107-header,.page-hero,.leave-hero,.attendance-page-hero,.timesheet-hero,.newsroom-hero,.policies-hero,.admin-section-hero,.login-history-hero,.profile-hero,.v91-heading,.academy-hero,.livvy-heading) :is(h1,h2) { margin:0 0 8px!important; font-size:30px!important; color:var(--c-ink)!important; }
#app .content :is(.c107-header,.page-hero,.leave-hero,.attendance-page-hero,.timesheet-hero,.newsroom-hero,.policies-hero,.admin-section-hero,.login-history-hero,.profile-hero,.v91-heading,.academy-hero,.livvy-heading) p { margin:0!important; max-width:720px; font-size:14px!important; line-height:1.7!important; color:var(--c-muted)!important; }
#app .content :is(.c107-header-actions,.v106-actions,.modal-actions,.profile-actions) { display:flex; align-items:center; flex-wrap:wrap; gap:10px!important; }
#app .content .c107-header-actions { flex-shrink:0; }

/* Surfaces and controls. Bounded overrides replace old competing premium layers. */
#app .content :is(.card,.home-panel,.c107-panel,.person-card,.support-routing-card,.v91-detail-section,.v91-table-card,.v91-cert-card,.v103-panel,.academy-group,.news-announcements,.policy-card,.recognition-card) {
  background:#fff!important; border:1px solid var(--c-line)!important; border-radius:14px!important;
  box-shadow:0 2px 4px #192b4303!important; backdrop-filter:none!important; min-width:0;
}
#app .content :is(.card,.card-pad-lg,.v91-detail-section,.v103-panel) { padding:24px!important; }
#app .content :is(.c107-panel,.v91-table-card) { padding:0!important; }
#app .content :is(.table-wrap,.v91-table-scroll,.admin-table-wrap,.attendance-table-wrap) { max-width:100%; min-width:0; overflow:auto; box-shadow:none!important; border-radius:10px!important; }
#app .content .table-wrap { padding:0!important; border:1px solid var(--c-line)!important; background:white!important; }
#app .content .btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:42px!important; padding:10px 16px!important; border-radius:9px!important;
  font-size:13px!important; font-weight:650!important; line-height:1.4!important;
  background:#fff!important; color:var(--c-ink)!important; border:1px solid #cfd8e6!important;
  box-shadow:none!important; text-shadow:none!important; white-space:normal; cursor:pointer;
  transition:background-color .15s,border-color .15s!important; transform:none!important;
}
#app .content .btn:hover:not(:disabled) { background:#f1f5fc!important; border-color:#a8b9d3!important; transform:none!important; }
#app .content .btn-primary { color:#fff!important; background:var(--c-blue)!important; border-color:var(--c-blue)!important; }
#app .content .btn-primary:hover:not(:disabled) { color:#fff!important; background:var(--c-blue-dark)!important; border-color:var(--c-blue-dark)!important; }
#app .content .btn-ghost { background:transparent!important; border-color:transparent!important; color:var(--c-blue)!important; }
#app .content :is(.btn-danger,.btn-red) { background:#fff1f2!important; border-color:#f0c5ca!important; color:var(--c-red)!important; }
#app .content :is(.btn-sm,.btn-xs) { min-height:36px!important; padding:8px 12px!important; font-size:12px!important; }
#app .content :is(.text-link,.c107-text-link,.icon-link) { color:var(--c-blue)!important; font-size:13px!important; font-weight:650; display:inline-flex; gap:7px; align-items:center; }
#app .content :is(.text-link,.c107-text-link):hover { text-decoration:underline!important; }
#app .content :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]),select,textarea) {
  min-height:42px; max-width:100%; border:1px solid #c9d4e3!important; border-radius:9px!important;
  background:#fff!important; color:var(--c-ink)!important; font-size:14px!important; line-height:1.5;
  padding:10px 12px!important; box-shadow:none!important; min-width:0;
}
#app .content textarea { resize:vertical; }
#app .content input::placeholder,#app .content textarea::placeholder { color:#687a91!important; opacity:1; }
#app .content :is(input[type="checkbox"],input[type="radio"]) { accent-color:var(--c-blue); width:17px; height:17px; flex-shrink:0; }
#app .content :is(label,.form-label,.v91-form-grid label>span,.v91-template-controls label>span) { font-size:13px; line-height:1.5; }
#app .content :is(.form-grid,.profile-form-grid,.assets-form-grid,.v91-form-grid,.v106-form-grid,.leave-form-grid) { gap:18px!important; }
#app .content :is(.form-grid,.profile-form-grid,.assets-form-grid,.v91-form-grid,.v106-form-grid,.leave-form-grid)>* { min-width:0; }
#app .content :is(.badge,.hero-pill,.v91-badge,.v106-priority,.v106-status,.task-status,.asset-type-pill) { font-size:11px!important; font-weight:650; line-height:1.5; padding:4px 8px!important; border-radius:6px!important; letter-spacing:0!important; text-transform:none!important; }
#app .content :is(.badge-green,.v106-status.done,.v91-badge.is-linked) { color:#11643e!important; background:#e9f6ef!important; }
#app .content :is(.badge-blue,.v106-status.in_progress,.v106-priority.normal) { color:#214fb0!important; background:#edf3ff!important; }
#app .content :is(.badge-red,.v106-priority.urgent) { color:#a22432!important; background:#fff0f1!important; }
#app .content :is(.badge-yellow,.badge-orange,.v106-priority.high,.v106-status.blocked) { color:#83520d!important; background:#fff4df!important; }
#app .content :is(.badge-gray,.v106-priority.low,.v106-status.open) { color:#526176!important; background:#f0f3f7!important; }
#app .content :is(.v106-overdue,.c107-danger) { color:var(--c-red)!important; }
#app .content .c107-warning { color:var(--c-amber)!important; }
#app .content :is(.v106-error,.v91-error,[role="alert"]):not(:empty) { overflow-wrap:anywhere; }
#app .content :is(.v106-error,.v91-error) { border:1px solid #eec4ca!important; background:#fff5f6!important; color:#922632!important; padding:20px!important; border-radius:12px!important; }
#app .content :is(.v106-error,.v91-error) p { font-size:14px; line-height:1.6; }
#app .content :is(.v106-empty,.academy-empty-state,.empty-state,.empty-inline) { padding:28px!important; text-align:center; }
#app .content :is(.v106-empty,.academy-empty-state,.empty-state) p { font-size:14px!important; line-height:1.6; color:var(--c-muted)!important; }
#app .content :is(.v106-legacy,.c107-disclosure,.service-department-directory) { border:1px solid var(--c-line)!important; background:#fff!important; padding:0!important; border-radius:12px!important; margin:20px 0!important; }
#app .content :is(.v106-legacy,.c107-disclosure,.service-department-directory)>summary { padding:18px 22px!important; cursor:pointer; color:var(--c-ink)!important; font-size:14px!important; font-weight:650; }
#app .content :is(.v106-legacy,.c107-disclosure,.service-department-directory)>:not(summary) { margin:0 22px 20px; }
#app .content .c107-disclosure>summary small { display:block; margin:4px 0 0 18px; color:var(--c-muted); font-size:12px; font-weight:400; }

/* Tables keep their data and scroll within their panel. */
#app .content :is(.admin-table,.enterprise-table,.v91-table,.table) { border-collapse:collapse; width:100%; font-size:13px!important; }
#app .content :is(.admin-table,.enterprise-table,.v91-table,.table) th { padding:13px 16px!important; font-size:11px!important; text-transform:none!important; letter-spacing:.02em!important; font-weight:700!important; color:#506278!important; background:#f6f8fb!important; white-space:nowrap; border-bottom:1px solid var(--c-line)!important; }
#app .content :is(.admin-table,.enterprise-table,.v91-table,.table) td { padding:16px!important; font-size:13px!important; line-height:1.5!important; border-bottom:1px solid #e8edf4!important; vertical-align:middle; }
#app .content :is(.admin-table,.enterprise-table,.v91-table,.table) tbody tr:hover { background:#f7faff!important; }
#app .content :is(.table-person,.v91-table) :is(b,strong) { font-size:13px!important; font-weight:650; }
#app .content :is(.table-person,.v91-table) small { font-size:12px!important; color:var(--c-muted)!important; }
#app .content :is(.table-person-avatar,.person-avatar) { background:#edf3ff!important; color:#2c56a3!important; box-shadow:none!important; }

/* My Day: actionable work first, services to the side, company updates below. */
#app .content .c107-home-grid { display:grid; grid-template-columns:minmax(0,1fr) 320px; align-items:start; gap:24px; }
#app .content :is(.c107-main-stack,.c107-side-stack) { display:grid; gap:24px; min-width:0; }
#app .content .c107-daybar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 18px; margin-bottom:24px; border:1px solid var(--c-line); border-radius:10px; background:#fff; font-size:13px; }
#app .content .c107-daybar>div { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
#app .content .c107-daybar>div>span:last-child { color:var(--c-muted); }
#app .content .c107-daybar a { display:inline-flex; gap:6px; align-items:center; white-space:nowrap; color:var(--c-blue); font-weight:600; text-decoration:none; }
#app .content .c107-panel { overflow:hidden; }
#app .content .c107-panel-head { padding:22px 24px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; }
#app .content .c107-panel-head h2 { margin:0; font-size:18px!important; }
#app .content .c107-panel-head .eyebrow { margin-bottom:5px; }
#app .content .c107-panel-head p { font-size:13px; color:var(--c-muted); margin:6px 0 0; }
#app .content .c107-work-counts { display:flex; gap:24px; padding:0 24px 18px; color:var(--c-muted); font-size:12px; flex-wrap:wrap; }
#app .content .c107-work-counts b { color:inherit; font-size:20px; letter-spacing:-.04em; margin-right:5px; }
#app .content .c107-work-list { list-style:none; margin:0; padding:0 12px; border-top:1px solid var(--c-line); }
#app .content .c107-work-list li+li { border-top:1px solid #edf0f5; }
#app .content .c107-work-list a { display:flex; align-items:center; gap:14px; padding:18px 12px; text-decoration:none; color:var(--c-ink); border-radius:8px; }
#app .content .c107-work-list a:hover { background:#f5f8fe; }
#app .content :is(.c107-work-mark,.c107-service-icon) { width:38px; height:38px; flex:0 0 38px; border-radius:10px; background:var(--c-tint); color:var(--c-blue); display:grid; place-items:center; }
#app .content .c107-work-mark { width:32px; height:32px; flex-basis:32px; background:#f0f3f8; color:#607189; }
#app .content .c107-work-mark.blocked { background:#fff4df; color:#83520d; }
#app .content .c107-work-copy { flex:1; min-width:0; }
#app .content .c107-work-copy b { display:block; font-size:14px; line-height:1.45; overflow-wrap:anywhere; }
#app .content .c107-work-copy small { display:block; color:var(--c-muted); font-size:12px; margin-top:5px; }
#app .content .c107-work-meta { display:flex; align-items:flex-end; flex-direction:column; gap:6px; font-size:12px; white-space:nowrap; }
#app .content .c107-work-list a>.lm-icon { width:16px; color:#8c9ab0; }
#app .content .c107-list-footer { padding:16px 24px; display:flex; align-items:center; gap:8px; color:var(--c-blue); font-size:13px; font-weight:650; border-top:1px solid var(--c-line); text-decoration:none; }
#app .content .c107-work-note { font-size:12px; color:var(--c-muted); margin:0; padding:14px 24px; background:#f8faff; border-top:1px solid #e8edf4; }
#app .content .c107-work-note a { color:var(--c-blue); }
#app .content :is(.c107-loading,.c107-empty) { padding:24px; color:var(--c-muted); font-size:14px; }
#app .content .c107-empty { text-align:center; padding:28px 24px 32px; }
#app .content .c107-empty h3 { margin:12px 0 6px; color:var(--c-ink); }
#app .content .c107-empty p { margin:0 0 18px; }
#app .content .c107-empty-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#edf7f1; color:var(--c-green); margin:auto; }
#app .content .c107-count { color:var(--c-muted); background:var(--c-soft); border-radius:6px; padding:5px 9px; font-size:12px; font-weight:600; }
#app .content .c107-learning-body { padding:0 24px 24px; }
#app .content .c107-progress-label { display:flex; align-items:center; justify-content:space-between; color:var(--c-muted); font-size:12px; margin:0 0 8px; }
#app .content :is(.c107-learning,.v106-progress) progress { width:100%; height:7px; appearance:none; border:0; border-radius:8px; overflow:hidden; background:#edf1f7; accent-color:var(--c-blue); }
#app .content :is(.c107-learning,.v106-progress) progress::-webkit-progress-bar { background:#edf1f7; border-radius:8px; }
#app .content :is(.c107-learning,.v106-progress) progress::-webkit-progress-value { background:var(--c-blue); border-radius:8px; }
#app .content :is(.c107-learning,.v106-progress) progress::-moz-progress-bar { background:var(--c-blue); border-radius:8px; }
#app .content .c107-next-training { display:flex; gap:14px; align-items:center; margin-top:22px; }
#app .content .c107-next-training>div { flex:1; min-width:0; }
#app .content .c107-next-training small { font-size:10px; letter-spacing:.09em; color:var(--c-muted); font-weight:700; }
#app .content .c107-next-training h3 { margin:4px 0; font-size:15px; }
#app .content .c107-next-training p { margin:0; font-size:12px; color:var(--c-muted); }
#app .content .c107-service-list { padding:0 10px 12px; display:grid; }
#app .content .c107-service-list a { display:flex; align-items:center; gap:12px; padding:13px; border-radius:10px; color:var(--c-ink); text-decoration:none; }
#app .content .c107-service-list a:hover { background:var(--c-soft); }
#app .content .c107-service-list a>span:nth-child(2) { flex:1; min-width:0; }
#app .content .c107-service-list b { display:block; font-size:13px; }
#app .content .c107-service-list small { display:block; font-size:12px; line-height:1.5; color:var(--c-muted); margin-top:3px; }
#app .content .c107-service-list a>.lm-icon { width:15px; color:#8c9ab0; }
#app .content .c107-presence { display:grid; gap:12px; padding:0 24px 22px; }
#app .content .c107-presence>div { display:flex; align-items:center; gap:10px; font-size:13px; color:var(--c-muted); }
#app .content .c107-presence b { margin-left:auto; color:var(--c-ink); font-size:15px; }
#app .content .c107-inbox { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 24px; background:#f8faff; color:var(--c-ink); text-decoration:none; border-top:1px solid var(--c-line); font-size:12px; }
#app .content .c107-inbox span { display:flex; align-items:center; gap:8px; }
#app .content .c107-inbox b { background:var(--c-tint); padding:2px 8px; border-radius:6px; color:var(--c-blue); }
#app .content .c107-checklist-link { display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--c-muted); text-decoration:none; font-size:12px; padding:0 4px; }
#app .content .c107-checklist-link span { display:flex; align-items:center; gap:8px; }
#app .content .c107-bulletin:empty { display:none; }
#app .content .c107-bulletin .news-announcements { margin:0!important; }
#app .content .c107-news-list { padding:0 24px 10px; }
#app .content .c107-news-list>a { display:flex; align-items:center; gap:20px; padding:18px 0; border-top:1px solid #e8edf4; color:var(--c-ink); text-decoration:none; }
#app .content .c107-news-list>a>div { flex:1; min-width:0; }
#app .content .c107-news-list span { font-size:11px; color:var(--c-blue); font-weight:650; }
#app .content .c107-news-list h3 { font-size:15px; margin:5px 0; }
#app .content .c107-news-list p { font-size:13px; color:var(--c-muted); margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
#app .content .c107-news-list>a:hover h3 { color:var(--c-blue); }
#app .content .home-policy-alert { margin:0 0 24px!important; border:1px solid #e6d6af!important; background:#fff9eb!important; border-radius:12px!important; box-shadow:none!important; padding:18px!important; }

/* Work, checklists, approvals. Status is always also written as text. */
#app .content :is(.v106-stats,.admin-summary-grid,.v91-kpis,.attendance-kpi-grid) { gap:14px!important; margin-bottom:24px!important; }
#app .content :is(.v106-stats>div,.admin-summary-card,.v91-kpis>div,.attendance-kpi) { background:#fff!important; border:1px solid var(--c-line)!important; box-shadow:none!important; border-radius:12px!important; padding:20px!important; color:var(--c-ink)!important; min-width:0; }
#app .content :is(.v106-stats>div,.admin-summary-card,.v91-kpis>div) :is(b,strong) { font-size:30px!important; line-height:1.2; color:var(--c-ink)!important; font-weight:700!important; letter-spacing:-.04em; }
#app .content :is(.v106-stats>div,.admin-summary-card,.v91-kpis>div) :is(span,small) { font-size:12px!important; color:var(--c-muted)!important; }
#app .content .v106-toolbar { gap:12px!important; padding:16px!important; border:1px solid var(--c-line)!important; border-radius:12px!important; background:#fff!important; align-items:center!important; }
#app .content .v106-view-toggle { display:flex; flex-wrap:wrap; gap:5px; }
#app .content .v106-view-toggle [aria-pressed="true"] { border-color:#a9bfee!important; color:#1749b3!important; background:#edf3ff!important; }
#app .content .v106-board { gap:16px; grid-template-columns:repeat(auto-fit,minmax(225px,1fr)); }
#app .content .v106-column { border:1px solid var(--c-line)!important; background:#edf1f7!important; padding:14px!important; border-radius:12px!important; }
#app .content .v106-column h2 { margin:0 0 14px!important; font-size:13px!important; }
#app .content .v106-column h2 small { color:#596a80; background:#fff; border:1px solid var(--c-line); border-radius:5px; }
#app .content .v106-task { padding:16px!important; border:1px solid #dbe3ef!important; box-shadow:0 1px 2px #192b4305!important; border-radius:10px!important; transition:border-color .15s,background-color .15s; min-width:0; }
#app .content .v106-task:hover { border-color:#829dca!important; transform:none!important; background:#fcfdff!important; }
#app .content .v106-task>b { font-size:14px!important; font-weight:650!important; line-height:1.5; overflow-wrap:anywhere; }
#app .content .v106-task small { font-size:11px!important; color:var(--c-muted); }
#app .content .v106-task-bottom { font-size:12px!important; gap:8px!important; }
#app .content .v106-task-bottom>span { color:var(--c-muted); }
#app .content .v106-task-list { grid-template-columns:minmax(100px,.8fr) minmax(150px,2fr) auto minmax(140px,1fr); gap:16px; align-items:center; }
#app .content .v106-journey { padding:0!important; overflow:hidden; margin-bottom:22px; }
#app .content .v106-journey-head { padding:24px!important; background:#fbfcff; border-bottom:1px solid var(--c-line); margin:0!important; }
#app .content .v106-journey-head h2 { margin:0 0 6px; }
#app .content .v106-journey-head p { font-size:13px; color:var(--c-muted); }
#app .content .v106-checklist { padding:0 24px 12px; }
#app .content .v106-checklist>button { padding:18px 4px!important; border-bottom:1px solid #e8edf4!important; border-radius:0!important; }
#app .content .v106-checklist b { font-size:14px; }
#app .content .v106-checklist small { font-size:12px; line-height:1.6; }
#app .content .v106-approval-list article { padding:22px!important; border:1px solid var(--c-line)!important; background:#fff!important; border-radius:12px!important; }
#app .content .v106-approval-list article h3 { font-size:15px!important; margin:6px 0!important; }
#app .content .v106-approval-list article p { font-size:13px; color:var(--c-muted); }

/* Service and asset workspaces use accessible, local tabs to reduce page length. */
#app .content .c107-tabs { display:flex; flex-wrap:wrap; gap:8px; border-bottom:1px solid #d5deeb; padding:0 0 10px; margin-bottom:24px; }
#app .content .c107-tabs button { display:block; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--c-muted); font-size:14px; font-weight:600; min-height:42px; padding:10px 16px; cursor:pointer; }
#app .content .c107-tabs button:hover { background:#eaf0fa; color:var(--c-ink); }
#app .content .c107-tabs [aria-selected="true"] { border-color:#b9cdf4; color:#194daf; background:#eaf1ff; }
#app .content .c107-tab-panel { min-width:0; }
#app .content .c107-allocation .assets-form-card { margin:0!important; border:0!important; border-top:1px solid var(--c-line)!important; border-radius:0 0 12px 12px!important; }
#app .content .c107-register :is(.table-wrap,.assets-matrix-wrap) { border-width:1px 0 0!important; border-radius:0!important; }
#app .content .v106-asset-tools { margin:0!important; padding:24px!important; }
#app .content .v106-asset-grid { grid-template-columns:repeat(auto-fit,minmax(245px,1fr)); gap:16px!important; }
#app .content .v106-asset { border:1px solid var(--c-line)!important; background:#fff!important; border-radius:12px!important; padding:20px!important; box-shadow:none!important; }
#app .content .v106-asset h3 { font-size:16px!important; margin:8px 0 10px!important; }
#app .content .v106-asset p { font-size:13px!important; line-height:1.7; color:var(--c-muted); }
#app .content .v106-asset>small { color:#465f84; font-size:11px; font-weight:600; background:#f1f5fb; padding:4px 8px; border-radius:5px; }
#app .content .v106-asset .v106-actions { border-top:1px solid #edf0f5; padding-top:15px; margin-top:18px; justify-content:flex-start; }
#app .content .employee-service-section { margin:0!important; }
#app .content .employee-service-heading { margin:0 0 20px!important; }
#app .content .employee-service-heading h2 { font-size:18px!important; margin:0 0 6px!important; }
#app .content .employee-service-heading p { color:var(--c-muted)!important; font-size:13px!important; }
#app .content .employee-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px!important; }
#app .content .employee-service-card { border:1px solid var(--c-line)!important; border-radius:12px!important; padding:22px!important; align-items:center!important; box-shadow:none!important; }
#app .content .employee-service-card:hover { border-color:#8ea9d5!important; background:#fcfdff!important; }
#app .content .employee-service-icon { color:var(--c-blue)!important; background:var(--c-tint)!important; border-radius:10px!important; }
#app .content .employee-service-card b { font-size:14px!important; }
#app .content .employee-service-card small { font-size:13px!important; line-height:1.6; color:var(--c-muted)!important; }
#app .content .employee-request-list-controls { flex-wrap:wrap; }
#app .content .employee-request-row { padding:20px 0!important; gap:16px!important; }
#app .content .employee-request-row-copy b { font-size:14px!important; }
#app .content .employee-request-row-copy small { font-size:12px!important; color:var(--c-muted)!important; }
#app .content .support-routing-grid { gap:14px!important; }
#app .content .support-routing-card { padding:18px!important; }
#app .content .support-routing-card :is(span,small) { font-size:12px!important; overflow-wrap:anywhere; }

/* People, HR records and certificates keep identity and document layouts intact. */
#app .content .people-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:14px; background:#fff; padding:16px; border:1px solid var(--c-line); border-radius:12px; margin-bottom:24px; }
#app .content .people-toolbar>label:first-child { flex:1; min-width:180px; }
#app .content .people-toolbar input { width:100%; }
#app .content .c107-people-count { font-size:12px; color:var(--c-muted); margin-left:auto; }
#app .content .people-grid { grid-template-columns:repeat(auto-fill,minmax(255px,1fr))!important; gap:18px!important; }
#app .content .person-card { padding:22px!important; display:flex; flex-direction:column; }
#app .content .person-head { gap:14px!important; align-items:center; }
#app .content .person-head>div:last-child { min-width:0; }
#app .content .person-head b { display:block; font-size:15px!important; color:var(--c-ink)!important; overflow-wrap:anywhere; }
#app .content .person-head small { font-size:13px!important; line-height:1.5; color:var(--c-muted)!important; }
#app .content .person-avatar { width:48px!important; height:48px!important; border-radius:14px!important; font-size:16px!important; flex-shrink:0; }
#app .content .person-meta { padding:16px 0!important; margin:0!important; font-size:12px!important; color:var(--c-muted)!important; }
#app .content .person-footer { padding-top:14px!important; margin-top:auto!important; border-top:1px solid #e8edf4!important; }
#app .content .presence-label { font-size:12px!important; }
#app .content :is(.hr-grid,.v91-record-sections) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px!important; }
#app .content :is(.v91-detail-grid dt,.profile-field-label) { font-size:12px!important; color:var(--c-muted)!important; }
#app .content .v91-detail-grid dd { font-size:14px!important; line-height:1.6; color:var(--c-ink)!important; }
#app .content .v91-detail-grid { gap:22px!important; }
#app .content .v91-cert-card { padding:24px!important; }
#app .content .v91-cert-card h3 { font-size:18px!important; }
#app .content .v91-cert-card :is(p,.v91-cert-id,.v91-cert-meta span) { font-size:12px!important; color:var(--c-muted)!important; }
#app .content .hr-detail-list>div { padding:16px 0!important; border-bottom:1px solid #e8edf4; }
#app .content :is(.hr-detail-list small,.hr-service-list span) { font-size:12px!important; color:var(--c-muted)!important; line-height:1.6; }
#app .content :is(.hr-detail-list b,.hr-service-list b) { font-size:14px!important; color:var(--c-ink)!important; }
#app .content .hr-service-list :is(button,.hr-benefit-row) { padding:16px 0!important; border-bottom:1px solid #e8edf4!important; }
#app .content :is(.profile-tabs,.tabs) { gap:8px!important; background:transparent!important; border-bottom:1px solid var(--c-line)!important; border-radius:0!important; box-shadow:none!important; padding-bottom:12px!important; }

/* Learning: browseable session rows, calmer progress, readable assessment content. */
#app .content .academy-overview-v107 { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:center; padding:20px 24px; border:1px solid var(--c-line); border-radius:12px; background:#fff; margin-bottom:24px; }
#app .content .academy-overview-v107 b { font-size:14px; }
#app .content .academy-overview-v107 .lm-segbar { margin:10px 0; }
#app .content .academy-overview-v107>strong { font-size:28px; font-weight:700; letter-spacing:-.04em; color:var(--c-blue); }
#app .content .academy-resume { border:1px solid #bbcef1!important; border-left:4px solid var(--c-blue)!important; background:#f0f5ff!important; border-radius:12px!important; box-shadow:none!important; padding:22px 24px!important; margin-bottom:24px!important; }
#app .content .academy-resume::before,#app .content .academy-resume::after { content:none!important; }
#app .content .academy-resume :is(h2,h3,b) { color:var(--c-ink)!important; }
#app .content .academy-resume :is(p,small) { color:var(--c-muted)!important; font-size:13px!important; }
#app .content .academy-toolbar { background:#fff!important; border:1px solid var(--c-line)!important; border-radius:12px!important; padding:18px!important; box-shadow:none!important; gap:14px!important; margin-bottom:24px!important; }
#app .content .academy-search { width:100%; max-width:480px; background:#fff!important; box-shadow:none!important; border:0!important; padding:0!important; gap:10px; }
#app .content .academy-search input { width:100%; }
#app .content :is(.academy-pill,.academy-dept-pill,.academy-status-pill) { min-height:36px!important; font-size:12px!important; padding:8px 12px!important; border-radius:8px!important; box-shadow:none!important; }
#app .content .academy-pill-row { flex-wrap:wrap; gap:7px!important; }
#app .content .academy-list { gap:22px!important; }
#app .content .academy-group { padding:0!important; overflow:hidden; }
#app .content .academy-group-head { padding:20px 22px!important; border-bottom:1px solid var(--c-line)!important; background:#fbfcff!important; }
#app .content .academy-group-head h3 { font-size:16px!important; color:var(--c-ink)!important; }
#app .content .academy-rows { padding:0 12px!important; }
#app .content .academy-row { padding:17px 10px!important; border-radius:8px!important; min-height:76px!important; gap:14px!important; box-shadow:none!important; }
#app .content .academy-row:hover { background:#f3f7ff!important; }
#app .content .academy-row-main { min-width:0; }
#app .content .academy-row-main b { font-size:14px!important; line-height:1.5; white-space:normal!important; }
#app .content .academy-row-main small { font-size:12px!important; color:var(--c-muted)!important; }
#app .content :is(.academy-row-chip,.academy-row-score,.academy-group-foot,.lm-legend) { font-size:12px!important; }
#app .content :is(.training-detail-head,.ts-hero,.sc-hero) { background:#fff!important; border:1px solid var(--c-line)!important; border-radius:14px!important; box-shadow:none!important; padding:24px!important; }
#app .content :is(.training-detail-sub,.ts-body,.ts-block p,.sc-card-body,.quiz-question,.quiz-option,.question-text,.scenario-text) { font-size:15px!important; line-height:1.75!important; }
#app .content :is(.ts-block,.vp-panel,.sr-panel,.sc-card) { border:1px solid var(--c-line)!important; border-radius:12px!important; box-shadow:none!important; }
#app .content :is(.ts-block-head,.vp-panel-head,.sr-panel-head) { padding:18px 20px!important; }
#app .content :is(.vp-transcript,.sr-chat,.vp-bubble,.sr-bubble) { font-size:14px!important; line-height:1.7!important; }

/* Attendance and administration: clear data hierarchy and stable scroll containers. */
#app .content .employee-calendar-grid { grid-template-columns:repeat(7,minmax(0,1fr))!important; gap:8px!important; }
#app .content .employee-day { min-height:108px!important; padding:12px!important; border:1px solid #dce4ee!important; border-radius:10px!important; box-shadow:none!important; }
#app .content .employee-day b { font-size:19px!important; }
#app .content .employee-day :is(small,em) { font-size:11px!important; line-height:1.4; white-space:normal!important; }
#app .content .employee-day .day-name { font-size:10px!important; }
#app .content .employee-day.today { outline:2px solid var(--c-blue); outline-offset:1px; }
#app .content .attendance-legend { display:flex; flex-wrap:wrap; gap:10px 18px!important; margin:16px 0!important; font-size:12px!important; }
#app .content :is(.attendance-month-controls,.leave-form-actions) { display:flex; align-items:center; flex-wrap:wrap; gap:10px!important; }
#app .content :is(.leave-balance-card,.leave-request,.ts-stat,.admin-kpi,.admin-overview-card) { border:1px solid var(--c-line)!important; border-radius:12px!important; background:#fff!important; box-shadow:none!important; }
#app .content :is(.leave-request-title,.leave-request-type) { font-size:14px!important; }
#app .content :is(.leave-request-meta,.leave-request-sub,.attendance-detail-meta) { font-size:12px!important; color:var(--c-muted)!important; }
#app .content :is(.leave-request-note,.timesheet-note) { font-size:13px!important; line-height:1.7; }
#app .content :is(.leave-balance-grid,.timesheet-kpis) { gap:16px!important; margin-bottom:24px!important; }
#app .content :is(.leave-balance-card,.timesheet-kpis>div) { padding:20px!important; border:1px solid var(--c-line)!important; border-radius:12px!important; background:#fff!important; box-shadow:none!important; }
#app .content :is(.leave-balance-card,.timesheet-kpis>div)>b { font-size:25px!important; line-height:1.3; color:var(--c-ink)!important; letter-spacing:-.03em; }
#app .content :is(.leave-balance-card,.timesheet-kpis>div)>:is(span,small) { font-size:12px!important; color:var(--c-muted)!important; text-transform:none!important; letter-spacing:0!important; }
#app .content .admin-category-row { gap:12px!important; background:transparent!important; padding:0!important; margin-bottom:22px!important; }
#app .content .admin-category { padding:17px!important; min-height:80px; border:1px solid var(--c-line)!important; border-radius:12px!important; box-shadow:none!important; background:#fff!important; }
#app .content .admin-category.active { border-color:#9bb9ec!important; background:#edf3ff!important; }
#app .content .admin-category b { font-size:13px!important; }
#app .content .admin-category small { font-size:12px!important; color:var(--c-muted)!important; }
#app .content :is(.admin-subtabs,.admin-tabs) { display:flex; flex-wrap:wrap; gap:6px!important; margin-bottom:24px!important; box-shadow:none!important; border-radius:10px!important; }
#app .content :is(.admin-subtab,.admin-tab-btn) { min-height:40px!important; font-size:13px!important; padding:10px 14px!important; border-radius:8px!important; }
#app .content .admin-overview-columns { gap:22px!important; }
#app .content :is(.admin-action-row,.admin-directory-toolbar,.v91-toolbar) { gap:12px!important; }
#app .content :is(.admin-action-row b,.admin-overview-card b) { font-size:14px!important; }
#app .content :is(.admin-action-row small,.admin-overview-card small) { font-size:12px!important; color:var(--c-muted)!important; }
#app .content .admin-navigation-v90 { border:0!important; background:transparent!important; overflow:visible!important; }
#app .content .admin-category { min-height:56px; font-size:14px!important; }
#app .content .admin-subnav-row { padding:14px!important; border:1px solid var(--c-line)!important; border-radius:12px!important; background:#fff!important; }
#app .content .admin-tab { min-height:38px; font-size:13px!important; padding:9px 13px!important; }
#app .content .admin-navigation-hint { font-size:12px!important; }
#app .content .admin-search-v90 { height:auto!important; padding:0 10px!important; background:#fff!important; }
#app .content .admin-search-v90 input { border:0!important; padding:10px 0!important; min-height:42px; }
#app .content :is(.admin-action-v90 b,.admin-person-v90 b) { font-size:14px!important; }
#app .content :is(.admin-action-v90 small,.admin-person-v90 small,.admin-cell-note,.admin-kpi-body small) { font-size:12px!important; color:var(--c-muted)!important; }
#app .content .admin-kpi-body>span { font-size:13px!important; }
#app .content .admin-overview-heading p { font-size:13px!important; color:var(--c-muted)!important; }

/* Company reading, policy records, recognition and growth. */
#app .content :is(.news-tile,.news-detail-card,.knowledge-card,.recognition-card) { border:1px solid var(--c-line)!important; border-radius:14px!important; background:#fff!important; box-shadow:none!important; transform:none!important; }
#app .content :is(.news-tile-body,.policy-card-body) { padding:22px!important; }
#app .content :is(.news-tile,.policy-card) h3 { font-size:17px!important; line-height:1.5!important; min-height:0!important; }
#app .content :is(.news-tile,.policy-card) p { font-size:13px!important; line-height:1.7!important; color:var(--c-muted)!important; }
#app .content :is(.news-tile-date,.news-tile-tag,.news-read-more,.news-detail-meta,.policy-tag,.policy-card-meta) { font-size:12px!important; }
#app .content :is(.news-detail-body,.policy-text-viewer) { font-size:15px!important; line-height:1.85!important; }
#app .content .news-detail-content { padding:32px!important; }
#app .content .news-back { font-size:13px!important; min-height:40px; }
#app .content :is(.news-tile-fallback,.news-tile-media,.policy-card-cover) { background:#edf3fc!important; }
#app .content :is(.policy-count,.newsroom-count,.policy-compliance-summary>div) { background:#fff!important; border:1px solid var(--c-line)!important; box-shadow:none!important; border-radius:10px!important; }
#app .content :is(.policy-count span,.newsroom-count span,.policy-compliance-summary span,.policy-compliance-summary small,.policy-history-row small) { font-size:12px!important; color:var(--c-muted)!important; }
#app .content :is(.policy-history-row b,.policy-admin-compliance-main b) { font-size:14px!important; }
#app .content .policy-admin-compliance-main small { font-size:12px!important; }
#app .content :is(.knowledge-grid,.development-grid) { gap:18px!important; }
#app .content .knowledge-card { padding:24px!important; }
#app .content :is(.knowledge-card,.recognition-card) :is(p,small) { font-size:13px!important; line-height:1.7; color:var(--c-muted)!important; }
#app .content .development-grid button { background:#fff!important; border:1px solid var(--c-line)!important; border-radius:12px!important; padding:22px!important; box-shadow:none!important; }
#app .content .development-grid b { font-size:15px!important; }
#app .content .development-grid span { font-size:13px!important; color:var(--c-muted)!important; }
#app .content .perf-overview { gap:32px!important; padding:28px!important; }

/* The appended practical course shares the content system and retains every learner lesson. */
#app .content .sp107-page { max-width:1100px; margin:auto; }
#app .content .sp107-page>.c107-text-link { margin:0 0 20px; }
#app .content .sp107-catalogue-intro { padding:20px 24px; border-bottom:1px solid var(--c-line); background:#f8faff; }
#app .content .sp107-catalogue-intro p { margin:0 0 10px; font-size:14px; color:var(--c-ink); }
#app .content .sp107-catalogue-intro>span { display:block; font-size:12px; color:var(--c-blue); font-weight:650; }
#app .content .sp107-catalogue-intro>small { display:block; font-size:12px; line-height:1.6; color:var(--c-muted); margin-top:8px; }
#app .content .sp107-module-list { list-style:none; margin:0; padding:0 24px; }
#app .content .sp107-module-list li+li { border-top:1px solid #e8edf4; }
#app .content .sp107-module-list a { display:flex; align-items:center; gap:16px; padding:20px 0; text-decoration:none; color:var(--c-ink); }
#app .content .sp107-module-list a:hover b { color:var(--c-blue); }
#app .content .sp107-module-number { display:grid; place-items:center; flex:0 0 42px; height:42px; border-radius:10px; color:#2856b1; background:#edf3ff; font-weight:700; font-size:12px; }
#app .content .sp107-module-list a>span:nth-child(2) { flex:1; min-width:0; }
#app .content .sp107-module-list b { display:block; font-size:14px; }
#app .content .sp107-module-list small { display:block; font-size:12px; line-height:1.7; color:var(--c-muted); margin-top:5px; }
#app .content .sp107-course-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
#app .content .sp107-course-facts>span { display:flex; flex-direction:column; gap:7px; padding:20px; border:1px solid var(--c-line); border-radius:12px; background:#fff; color:var(--c-muted); font-size:12px; }
#app .content .sp107-course-facts b { font-size:24px; line-height:1.3; color:var(--c-ink); letter-spacing:-.035em; }
#app .content .sp107-resources { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:24px 0 16px; }
#app .content .sp107-context { color:var(--c-muted); font-size:13px; line-height:1.7; margin:16px 0 24px; }
#app .content .sp107-reader-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
#app .content .sp107-reader-toolbar label { font-size:13px; font-weight:600; }
#app .content .sp107-reader-toolbar select { flex:1; min-width:200px; }
#app .content .sp107-prose { padding:0 28px 28px; max-width:100%; }
#app .content .c107-disclosure .sp107-prose { margin:0!important; padding:0 24px 24px; }
#app .content .sp107-prose :is(p,li) { font-size:15px; line-height:1.85; color:#354860; max-width:80ch; }
#app .content .sp107-prose p { margin:0 0 16px; }
#app .content .sp107-prose h3 { margin:30px 0 14px; font-size:18px; line-height:1.5; }
#app .content .sp107-prose ul { padding-left:24px; margin:14px 0 22px; }
#app .content .sp107-prose li { margin:8px 0; }
#app .content .sp107-prose a { color:var(--c-blue); overflow-wrap:anywhere; }
#app .content .sp107-prose .table-wrap { margin:20px 0; }
#app .content .sp107-prose table { min-width:600px; }
#app .content .sp107-prose td { white-space:normal; }
#app .content :is(.sp107-practice,.sp107-completion) { margin-top:24px; }
#app .content .sp107-next { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; border-top:1px solid var(--c-line); padding-top:24px; margin-top:28px; }

/* Conversation layouts retain their original scrolling, mobile switching and composer behavior. */
#app .content .chat-v90 .chat-layout { padding:0!important; border:1px solid var(--c-line)!important; border-radius:14px!important; box-shadow:0 2px 4px #192b4305!important; }
#app .content .chat-v90 .chat-sidebar { background:#fff!important; }
#app .content .chat-v90 .chat-item { padding:12px!important; border-radius:10px!important; }
#app .content .chat-v90 .chat-item-name { font-size:14px!important; }
#app .content .chat-v90 :is(.chat-item-preview,.chat-item-sub) { font-size:12px!important; color:var(--c-muted)!important; }
#app .content .chat-v90 .chat-item.active { background:#edf3ff!important; }
#app .content .chat-v90 .chat-search { padding:8px 10px!important; font-size:13px!important; height:40px!important; min-height:40px!important; }
#app .content .chat-v90 .chat-conversation-title b { font-size:15px!important; }
#app .content .chat-v90 .chat-conversation-title small { font-size:12px!important; }
#app .content .chat-v90 .chat-bubble { font-size:14px!important; line-height:1.7!important; padding:12px 16px!important; border-radius:12px 12px 12px 3px!important; }
#app .content .chat-v90 .chat-message-row.mine .chat-bubble { background:#eaf2ff!important; color:var(--c-ink)!important; border-color:#d1e1fa!important; border-radius:12px 12px 3px 12px!important; }
#app .content .chat-v90 .chat-message-meta small { font-size:11px!important; color:#63758e!important; }
#app .content .chat-v90 .chat-messages { background:#f5f7fb!important; padding:24px!important; }
#app .content .chat-v90 .chat-composer-main textarea { font-size:14px!important; min-height:42px!important; border:0!important; padding:10px!important; }
#app .content .chat-v90 :is(.chat-send-button,.chat-attach-btn,.chat-voice-btn) { min-height:40px!important; height:40px!important; }
#app .content .chat-v90 .chat-message-action { min-width:28px; min-height:28px; }
#app .content .livvy-shell { padding:0!important; border:1px solid var(--c-line)!important; border-radius:14px!important; box-shadow:none!important; }
#app .content .livvy-thread { background:#f5f7fb!important; }
#app .content :is(.livvy-message,.livvy-bubble,.livvy-msg) { font-size:14px!important; line-height:1.75!important; }
#app .content :is(.livvy-toolbar,.livvy-composer) { background:#fff!important; }
#app .content :is(.livvy-suggestion,.livvy-mode-pill) { min-height:38px!important; font-size:13px!important; border-radius:9px!important; }

/* Authenticated dialogs are outside .content. Scope them explicitly; login is unaffected. */
body:has(#app>.app-shell)>:is(.modal-backdrop,.v91-modal-overlay) { background:rgba(16,31,52,.48)!important; backdrop-filter:blur(3px); padding:20px; }
body:has(#app>.app-shell) :is(#modalRoot,.modal-backdrop,.v91-modal-overlay) :is(.modal-card,.modal,.v91-modal) { border:1px solid #d9e2ef!important; border-radius:16px!important; background:#fff!important; box-shadow:0 24px 80px #11294333!important; color:#192b43; font-size:14px; max-width:calc(100vw - 32px); }
body:has(#app>.app-shell) :is(#modalRoot,.modal-backdrop,.v91-modal-overlay) :is(.modal-head,.v91-modal>header) { padding:22px 24px!important; background:#fff!important; border-bottom:1px solid #dde4ee!important; gap:16px; }
body:has(#app>.app-shell) :is(#modalRoot,.modal-backdrop,.v91-modal-overlay) :is(h2,.modal-head>b,.modal-head>div>b) { font-size:21px!important; color:#192b43!important; line-height:1.4; overflow-wrap:anywhere; }
body:has(#app>.app-shell) :is(#modalRoot,.modal-backdrop,.v91-modal-overlay) :is(.modal-body,.v106-modal-body,.v91-modal-body) { padding:24px!important; }
body:has(#app>.app-shell) :is(#modalRoot,.modal-backdrop,.v91-modal-overlay) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea) { font-size:14px!important; color:#192b43!important; padding:11px 12px!important; border:1px solid #c9d4e3!important; border-radius:9px!important; background:#fff!important; max-width:100%; min-width:0; box-shadow:none!important; }
body:has(#app>.app-shell) :is(#modalRoot,.modal-backdrop,.v91-modal-overlay) label { font-size:13px!important; line-height:1.6; }
body:has(#app>.app-shell) :is(#modalRoot,.modal-backdrop,.v91-modal-overlay) .btn { border-radius:9px!important; min-height:40px!important; padding:10px 15px!important; font-size:13px!important; font-weight:650!important; box-shadow:none!important; }
body:has(#app>.app-shell) :is(#modalRoot,.modal-backdrop,.v91-modal-overlay) .btn-primary { background:#245edb!important; border-color:#245edb!important; color:#fff!important; }
body:has(#app>.app-shell) :is(#modalRoot,.modal-backdrop,.v91-modal-overlay) :is(button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid #245edb!important; outline-offset:3px!important; }
body:has(#app>.app-shell) :is(#modalRoot,.modal-backdrop,.v91-modal-overlay) :is(.v106-event,.service-update) { padding:16px 0!important; border-bottom:1px solid #e8edf4; }
body:has(#app>.app-shell) :is(#modalRoot,.modal-backdrop,.v91-modal-overlay) :is(.v106-event,.service-update) small { font-size:12px!important; color:#596a80; }

/* Adapt to the space beside the unchanged sidebar, rather than screen width alone. */
@container lmh-content (max-width:1100px) {
  #app .content .c107-home-grid { grid-template-columns:minmax(0,1fr) 290px; gap:20px; }
  #app .content .c107-header { align-items:flex-start!important; }
  #app .content .c107-header-actions { flex-direction:column; align-items:stretch; }
  #app .content .c107-next-training { flex-wrap:wrap; }
  #app .content .c107-next-training>.btn { margin-left:52px; }
  #app .content .v106-board { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .content .v106-task-list { grid-template-columns:minmax(0,1fr) minmax(0,2fr); }
}
@container lmh-content (max-width:860px) {
  #app .content .c107-home-grid { grid-template-columns:minmax(0,1fr); }
  #app .content .c107-side-stack { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
  #app .content .c107-checklist-link { grid-column:1/-1; }
  #app .content :is(.c107-header,.page-hero,.leave-hero,.attendance-page-hero,.timesheet-hero,.newsroom-hero,.policies-hero,.admin-section-hero,.login-history-hero,.profile-hero,.v91-heading,.academy-hero) { flex-wrap:wrap!important; gap:18px!important; }
  #app .content .c107-header-actions { flex-direction:row; }
  #app .content :is(.hr-grid,.v91-record-sections,.admin-overview-columns) { grid-template-columns:minmax(0,1fr)!important; }
  #app .content .admin-category-row { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
  #app .content :is(.v91-kpis,.admin-summary-grid,.v106-stats) { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  #app .content :is(.leave-balance-grid,.timesheet-kpis,.sp107-course-facts,.news-tile-grid,.policy-grid) { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@container lmh-content (max-width:620px) {
  #app .content :is(.c107-side-stack,.employee-service-grid,.v106-board,.v106-task-list,.v106-asset-grid,.v91-detail-grid,.assets-form-grid,.leave-form-grid) { grid-template-columns:minmax(0,1fr)!important; }
  #app .content .c107-header :is(h1,h2) { font-size:26px!important; }
  #app .content .c107-daybar { align-items:flex-start; flex-direction:column; gap:10px; }
  #app .content .c107-daybar>div>span:last-child { flex-basis:100%; }
  #app .content .c107-panel-head { padding:20px; }
  #app .content .c107-work-counts { padding:0 20px 16px; gap:18px; }
  #app .content .c107-work-list a { display:grid; grid-template-columns:28px minmax(0,1fr) 16px; gap:10px; padding:16px 8px; }
  #app .content .c107-work-mark { grid-row:1/3; align-self:start; width:28px; flex-basis:28px; }
  #app .content .c107-work-meta { grid-column:2; flex-direction:row; align-items:center; justify-content:space-between; flex-wrap:wrap; white-space:normal; }
  #app .content .c107-work-list a>.lm-icon { grid-row:1; grid-column:3; }
  #app .content .c107-next-training { align-items:flex-start; }
  #app .content .c107-next-training>div { flex-basis:calc(100% - 52px); }
  #app .content .c107-next-training>.btn { margin-left:0; }
  #app .content .v106-checklist { padding:0 16px 10px; }
  #app .content .v106-journey-head { flex-direction:column; align-items:stretch; padding:20px!important; }
  #app .content .v106-checklist>button { flex-wrap:wrap; gap:10px; }
  #app .content .v106-checklist>button>span:nth-child(2) { flex:1; min-width:0; }
  #app .content .employee-request-row { flex-wrap:wrap; }
  #app .content .employee-request-row-actions { width:100%; }
  #app .content .employee-request-list-head { flex-direction:column; align-items:stretch; }
  #app .content .employee-calendar-grid { min-width:560px; }
  #app .content .attendance-calendar-scroll { max-width:100%; overflow:auto; padding:3px; }
  #app .content .employee-day { min-height:96px!important; padding:9px!important; }
  #app .content .admin-category-row { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  #app .content .academy-group-head { flex-wrap:wrap; }
  #app .content .academy-row { flex-wrap:wrap; }
  #app .content :is(.news-tile-grid,.policy-grid,.knowledge-grid,.development-grid) { grid-template-columns:minmax(0,1fr)!important; }
  #app .content .admin-navigation-hint { display:none; }
  #app .content .sp107-reader-toolbar { align-items:stretch; flex-direction:column; }
  #app .content .sp107-reader-toolbar select { min-width:0; width:100%; }
  #app .content .sp107-module-list { padding:0 18px; }
  #app .content .sp107-prose { padding:0 20px 20px; }
  #app .content .sp107-course-facts { gap:12px; }
  #app .content .sp107-course-facts>span { padding:16px; }
}
@media(max-width:700px) {
  #app .content { padding:20px 16px 36px!important; }
  #app .content :is(.card,.card-pad-lg,.v91-detail-section,.v103-panel) { padding:18px!important; }
  #app .content :is(.c107-panel,.v91-table-card,.v106-journey,.chat-v90 .chat-layout,.livvy-shell,.c107-disclosure,.v106-legacy) { padding:0!important; }
  #app .content :is(.c107-header,.page-hero,.leave-hero,.attendance-page-hero,.timesheet-hero,.newsroom-hero,.policies-hero,.admin-section-hero,.profile-hero,.academy-hero) :is(h1,h2) { font-size:26px!important; }
  #app .content :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { font-size:16px!important; }
  #app .content .chat-v90 .chat-messages { padding:16px!important; }
  #app .content .chat-v90 .chat-composer-main textarea { font-size:16px!important; }
  #app .content .chat-v90 .chat-bubble { max-width:92%!important; }
  #app .content .v106-asset-tools { padding:18px!important; }
  #app .content .c107-tabs { gap:4px; }
  #app .content .c107-tabs button { font-size:13px; padding:10px 12px; }
  body:has(#app>.app-shell)>:is(.modal-backdrop,.v91-modal-overlay) { padding:8px; }
  body:has(#app>.app-shell) :is(#modalRoot,.modal-backdrop,.v91-modal-overlay) :is(.modal-card,.modal,.v91-modal) { max-width:calc(100vw - 16px); border-radius:12px!important; }
  body:has(#app>.app-shell) :is(#modalRoot,.modal-backdrop,.v91-modal-overlay) :is(.modal-head,.modal-body,.v106-modal-body,.v91-modal-body,.v91-modal>header) { padding:18px!important; }
  body:has(#app>.app-shell) :is(#modalRoot,.modal-backdrop,.v91-modal-overlay) :is(input,select,textarea) { font-size:16px!important; }
}
@media(prefers-reduced-motion:reduce) {
  #app .content *,#app .content *::before,#app .content *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  body:has(#app>.app-shell) :is(#modalRoot,.modal-backdrop,.v91-modal-overlay) * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
