/* Screen typography is separate from the approved PDF / print templates. */
:root{--ui-caption:12px;--ui-body:14px;--ui-control:16px;--ui-card:18px;--ui-title:24px;--ui-figure:32px;--ui-outline:#667c88;--ui-focus:#007c86}
body[data-theme="dark"]{--ui-outline:#86a4ad;--ui-focus:#9edbd5}
@media screen{
body{font-size:var(--ui-body)}
#main h1,.page-head h1{font-size:var(--ui-title);line-height:1.3;letter-spacing:-.4px}
#main .panel-header h2,#main .panel-head h2,#main .panel h2{font-size:var(--ui-card);line-height:1.4}
#main td,#main th{font-size:var(--ui-body);line-height:1.5}
#main small,#main .hint,#main .meta,#main .badge,#main .pill,#main .calendar-day small,#main .calendar-legend,#main .chart-legend,.nav-count,.org-avatar,.org-level-toggle span{font-size:var(--ui-caption);line-height:1.5}
#main .metric strong,#main .metric-value,#main .month-summary-item>strong{font-size:var(--ui-figure);line-height:1.2}
button,.button,input:not([type="checkbox"]):not([type="radio"]),select,textarea{font-size:var(--ui-control);min-height:44px}
.button,button:not(.calendar-day):not(.month-summary-item):not(.week-day){line-height:1.35}
.button:not(.primary),button.secondary{border:1.5px solid var(--ui-outline)}
.button.primary{background:var(--teal);color:#fbfaf7;border:1.5px solid var(--teal)}
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--ui-focus)!important;outline-offset:2px}
:where(.report-switch,.claim-tabs,.daily-tabs) .primary,:where(.report-switch,.claim-tabs,.daily-tabs) [aria-pressed="true"]{box-shadow:inset 0 -3px currentColor}
.destructive-outline{border:1.5px solid #b52d38!important;color:#b52d38!important;background:transparent!important}
body[data-theme="dark"] .destructive-outline{border-color:#ff9aa3!important;color:#ff9aa3!important}
.workspace-select-compat{display:none!important}
.workspace-segments{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%}
.workspace-segments button{padding:8px 5px;border:1.5px solid var(--ui-outline);border-radius:9px;background:var(--white);color:var(--ink)}
.workspace-segments button[aria-pressed="true"]{background:var(--teal);color:#fbfaf7;border-color:var(--teal);box-shadow:inset 0 -3px rgba(255,255,255,.6)}
.workspace-label,.sidebar .sample-pill{font-size:12px;line-height:1.5;color:var(--ink);font-weight:700;letter-spacing:1px}
.sidebar-reset{min-height:44px!important;padding:10px 12px!important;border:2px solid var(--ui-outline)!important;border-radius:8px;color:var(--ink)!important;text-decoration:none!important}
.administration-tools{margin-top:12px}.administration-tools summary,.leave-more summary{min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;padding:10px 12px;border:1.5px solid var(--ui-outline);border-radius:8px;font-size:16px;font-weight:600}
.administration-tools summary::after,.leave-more summary::after{content:'▾';margin-left:auto}.administration-links{display:grid;gap:8px;padding-top:8px}.administration-links>*{min-height:44px!important}
.leave-more>div{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}.leave-more{max-width:100%}
.view-days{font-size:14px;font-weight:700;text-decoration:none}.calendar-day{position:relative}.calendar-day strong{font-size:16px}
.week-day.short-hours{border:2px solid #a96d00;background:color-mix(in srgb,var(--white) 90%,#e9a923 10%)}
.week-day.short-hours::after{content:'Below scheduled hours';font-size:12px;color:var(--ink)}
.week-controls .field{flex:0 1 190px}.week-controls input{max-width:190px}
.table-scroll-hint{display:none;font-size:12px;color:var(--muted);margin:8px 16px}
#main[data-page="hr-leave"] table th:first-child,#main[data-page="hr-leave"] table td:first-child{position:sticky;left:0;background:var(--white);z-index:1;min-width:140px;max-width:190px}
#main[data-page="hr-leave"] td{padding:8px 12px;vertical-align:middle;height:56px}
#main[data-page="management"] table{table-layout:fixed;min-width:1100px}#main[data-page="management"] td{overflow-wrap:anywhere}#main[data-page="management"] th:first-child{width:210px}
.company-name{text-decoration:none}.company-name:hover{text-decoration:none}
.org-card-heading{background:#14505a!important;color:#fbfaf7!important;font-size:14px!important}.org-avatar{width:32px;height:32px;min-width:32px;font-size:12px!important}.org-card-footer .button{min-height:44px}
#main svg text,#main canvas{font-family:inherit}.chart-legend{line-height:1.6}.chart-legend i,.chart-legend .swatch{min-width:14px;min-height:14px}
.login-shell .note{font-size:14px;line-height:1.6;color:#42515b}.login-shell button,.login-shell input{min-height:44px;font-size:16px}
@media(max-width:640px){.table-scroll-hint{display:block}.workspace-segments{max-width:100%}.page-head .actions{flex-wrap:wrap}.login-shell .brand .khr-logo-frame{width:85px;overflow:hidden}.login-shell .brand img{max-width:none;width:160px}.leave-more{width:100%}}
}
.profile-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}.person-avatar,.org-avatar,.topbar .avatar{position:relative;overflow:hidden}.photo-preview{width:128px;height:128px;border-radius:50%;object-fit:cover;margin:16px auto}.photo-preview[hidden]{display:none}
@media screen{#main [data-action="daily-recent-client"]{white-space:normal;text-align:left;max-width:100%;height:auto;overflow-wrap:anywhere}#main .calendar-day small{font-size:12px!important}.wr-trend-legend{font-size:14px}.wr-trend-legend i{width:14px;height:14px;display:inline-block}}

@media screen{body[data-theme="dark"] .workspace-segments button[aria-pressed="true"]{color:#123437}#main[data-page="hr-leave"] #leaveYear{width:160px}#main[data-page="hr-leave"] td:last-child{white-space:nowrap}#main[data-page="hr-leave"] td:last-child .button{display:inline-flex;margin-right:6px}#main[data-page="hr-leave"] th{white-space:nowrap}}
@media screen{.profile small,.person-avatar,.team-stack .extra,footer,.metric-note,.sidebar-bottom p,.org-branch-label,.nav-group-title,.month-summary-item>span,.month-summary-item small,.daily-week-day small,.wr-trend-month small,.wr-profit-row>strong,.wr-budget-chart-label .wr-source-link{font-size:12px!important}#main table:not(.document-table):not(.salary-advice table):not(.claim-document table) th{font-size:14px}#main table .button{font-size:16px;min-height:44px}}
@media screen and (max-width:640px){#main[data-page="entries"]>.metrics>.metric:last-child{grid-column:1/-1}}

/* Keep navigation and action links free of underlines in every screen state. */
a:any-link,a:hover,a:focus,a:active,button,[role="link"]{text-decoration:none!important}

@media screen{#workspaceSelect{height:44px!important;min-height:44px!important}button,.button,input:not([type="checkbox"]):not([type="radio"]),select,textarea{border-width:2px!important;border-style:solid!important}}

.planning-step-editor,.planning-rule{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;padding:16px;margin:12px 0;border:1px solid var(--line);border-radius:10px}.planning-step-editor label{display:grid;gap:6px}.planning-step-editor input,.planning-step-editor select{width:100%;min-width:0}#planningPanel .panel-head p{font-size:14px}

.management-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.management-kpis button{text-align:left;display:grid;gap:8px}.management-kpis small{white-space:normal}.management-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}.management-panels .panel{min-width:0;width:100%;max-width:none;margin:0}.management-filter{display:flex;flex-wrap:wrap;gap:12px}.management-filter .field{min-width:150px;flex:1}.management-report section{break-inside:auto}.management-report h2{color:#000!important}.management-report table{color:#000;background:#fff}.management-report th{background:#000;color:#fff}.management-report td{color:#000!important}.management-report .table-wrap{overflow:visible}@media(max-width:900px){.management-panels{grid-template-columns:1fr}}@media print{.management-report section{break-inside:auto}.management-report tr{break-inside:avoid}.management-report thead{display:table-header-group}}

.yearend-heatmap{padding:16px}.yearend-months{display:grid;grid-template-columns:repeat(6,minmax(65px,1fr));gap:8px;margin:10px 0}.yearend-months button{display:grid;gap:6px}.yearend-months .has-open{border-left:4px solid var(--teal)!important}@media(max-width:600px){.yearend-months{grid-template-columns:repeat(3,minmax(65px,1fr))}}

/* Dashboard layout uses the same KHR typography, surfaces and controls as the workspace. */
.management-workspace,.engagement-analysis{--md-panel:var(--white);--md-panel2:var(--light);--md-line:var(--line);--md-ink:var(--ink);--md-muted:var(--muted);--md-accent:var(--teal);--md-warn:var(--amber);--md-bad:var(--red)}
.management-workspace .page-head,.engagement-analysis .page-head{margin-bottom:20px;flex-wrap:wrap}
.management-workspace .page-head .actions,.engagement-analysis .page-head .actions{gap:10px}
.management-workspace .management-filter,.engagement-analysis .portfolio-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:14px 16px;padding:18px 20px;margin:0 0 16px;border:1.5px solid var(--line);border-radius:12px;background:var(--white)}
.management-workspace .management-filter .field,.engagement-analysis .portfolio-filters .field{min-width:0;width:100%;max-width:none;margin:0}
.management-workspace .management-filter :is(input,select),.engagement-analysis .portfolio-filters :is(input,select){width:100%;min-width:0;min-height:44px;font:inherit}
.management-workspace .filter-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0}
.management-workspace .filter-actions .button{flex:1;padding-inline:10px}
.engagement-analysis .portfolio-filters>.button{justify-self:start}
.management-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px}
.md-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.management-toolbar .hint{margin:0;color:var(--muted);font-size:var(--ui-small,13px)}
.md-banner{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin:0 0 14px;color:var(--muted);font-size:var(--ui-small,13px)}
.md-banner b{font-weight:600;color:var(--muted)}
.management-workspace .management-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}
.management-workspace .management-kpis .metric{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:0;padding:18px 20px;color:var(--ink);text-align:left}
.management-workspace .management-kpis .metric-label{font-weight:500;letter-spacing:normal;text-transform:none}
.management-workspace .management-kpis .metric-value{font-family:inherit;font-size:32px;line-height:1.2;letter-spacing:-.5px;margin:3px 0;font-variant-numeric:tabular-nums;overflow-wrap:normal}
.management-workspace .management-kpis .metric-note{font-style:normal;font-weight:400}
.management-workspace .management-kpis [data-kind="attention"] .metric-value,.management-workspace .management-kpis [data-kind="missing"] .metric-value{color:var(--amber)}
.management-workspace .management-kpis [data-kind="review"] .metric-value{color:var(--teal)}
.management-workspace .management-panels{grid-auto-rows:4px;gap:16px;align-items:start;margin:0}
.management-workspace .management-panels>.panel{align-self:start;min-width:0;width:100%;max-width:none;margin:0}
.management-workspace .management-panels .panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 20px;flex-wrap:wrap}
.management-workspace .management-panels .panel-body{padding:16px 20px}
.management-workspace .management-panels h2{margin:0}
.md-panel-content{min-width:0}.md-live{font-size:12px;font-weight:500;color:var(--muted)}
.md-note{font-size:var(--ui-small,13px);line-height:1.5;color:var(--muted);margin:0}
.management-workspace .management-panels>.panel>.md-note{padding:0 20px 16px}
.management-workspace .management-panels .empty{padding:4px 0}
.management-workspace .management-panels :is(td,th){padding:10px;font-size:var(--ui-small,13px)!important}
.md-pipeline{display:flex;gap:0;height:44px;overflow:hidden;border-radius:8px;border:1px solid var(--line)}
.management-workspace .md-pipeline button{display:flex;justify-content:center;align-items:center;min-width:24px;min-height:44px;border:0!important;border-radius:0;padding:0;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;color:#fbfaf7;background:var(--pipeline-fill)!important;cursor:pointer}
.md-pipeline button:hover{filter:brightness(1.1)}
.md-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:12px}
.management-workspace .md-legend button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:4px 0;border:0!important;box-shadow:none!important;background:transparent!important;color:var(--muted);font:inherit;font-size:13px;text-align:left}
.md-legend i{width:12px;height:12px;flex:none;border-radius:3px}
.md-bars{display:flex;flex-direction:column;gap:6px}
.management-workspace .md-bar{display:grid;grid-template-columns:minmax(100px,42%) minmax(20px,1fr) auto;gap:12px;align-items:center;width:100%;min-height:44px;border:0!important;box-shadow:none!important;background:transparent!important;color:var(--ink);padding:6px 0;text-align:left;font:inherit}
.md-bar-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}
.md-bar-value{font:inherit;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;min-width:40px}
.md-track{height:10px;border-radius:5px;overflow:hidden;background:var(--light)}
.md-fill{height:100%;display:block;border-radius:5px;background:var(--teal)}.md-fill.warn{background:var(--amber)}.md-fill.bad{background:var(--red)}
.md-open-detail{display:inline-flex;gap:8px;align-items:center;min-height:44px;padding:8px 0!important;border:0!important;box-shadow:none!important;background:transparent!important;color:var(--teal);font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer;margin-right:14px}
.md-open-detail:hover{color:var(--ink)}
.management-workspace .yearend-heatmap{padding:0}.management-workspace .yearend-months{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0}.management-workspace .yearend-months .button{min-width:0;min-height:54px;padding:6px;font-size:13px;gap:3px}.management-workspace .yearend-months .has-open{border-left-width:1.5px!important;background:var(--light)}
.engagement-analysis .overview-grid{gap:20px;align-items:start}.engagement-analysis .overview-grid .panel-body{padding:16px 20px}
.engagement-analysis .interactive-bar{border:0!important;box-shadow:none!important;background:transparent;min-height:44px;padding:8px 0}
.engagement-analysis .bar-track{height:10px;border-radius:5px}.engagement-analysis .recovery-value{border:0!important;text-align:left;padding:0;background:none;min-height:44px;font-family:inherit;font-variant-numeric:tabular-nums}
.engagement-analysis .compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.engagement-analysis .metric-value{font-size:30px;overflow-wrap:normal}
.engagement-analysis .portfolio-context{margin:0 0 20px;gap:8px;flex-wrap:wrap}
.audit-print-figures{display:none}
@media(min-width:1500px){.management-workspace .management-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1000px){.management-workspace .management-filter,.engagement-analysis .portfolio-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.management-toolbar{align-items:flex-start}.management-workspace .management-panels{grid-template-columns:1fr}}
@media(max-width:700px){.management-workspace .management-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.management-workspace .management-kpis .metric{padding:14px}.management-workspace .management-kpis .metric-value{font-size:27px}.management-workspace .management-filter,.engagement-analysis .portfolio-filters{padding:14px;gap:12px}.management-workspace .page-head .actions,.engagement-analysis .page-head .actions{width:100%}.management-workspace .management-panels{display:flex;flex-direction:column}.management-workspace .management-panels>.panel{width:100%}.management-workspace .management-panels .panel-head,.management-workspace .management-panels .panel-body{padding:14px}.management-workspace .management-panels>.panel>.md-note{padding:0 14px 14px}.md-bar-name,.md-bar-value{font-size:13px}.management-workspace .md-bar{gap:8px;grid-template-columns:minmax(80px,42%) minmax(12px,1fr) auto}.management-workspace .yearend-months{grid-template-columns:repeat(3,minmax(0,1fr))}.engagement-analysis .compact-metrics{grid-template-columns:1fr}.engagement-analysis .metric-value{font-size:27px}}
@media print{.management-toolbar,.md-banner{display:none}.management-workspace .management-panels{display:block}.management-workspace .management-panels>.panel{break-inside:avoid;margin-bottom:16px}.audit-print-figures{display:block!important}}

@media screen and (min-width:1101px){#main.engagement-analysis:has(.overview-recovery) .overview-grid>.panel:has(.review-trend),#main.engagement-analysis:has(.overview-recovery) .overview-grid>.panel:has([data-kind="industry"]){grid-column:auto;order:initial}#main.engagement-analysis:has(.overview-recovery) .overview-grid>.panel:has([data-kind="industry"]) .linked-bars{max-height:420px}#main.engagement-analysis:has(.overview-recovery) .month-drill{grid-template-columns:repeat(6,minmax(0,1fr))}}

@media(min-width:1001px){.engagement-analysis .portfolio-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.engagement-analysis .portfolio-filters>.button{justify-self:stretch}}

/* Management workstreams stay in place without extending the dashboard. */
.management-workspace .management-tabs{margin:12px 0;flex-wrap:wrap}
.management-workspace .management-panels>.panel[hidden]{display:none!important}
.management-workspace #managementV2>.page-head{display:none}

.growth-cell{display:block;padding:5px 8px;border-radius:4px;background:color-mix(in srgb,var(--accent) calc(var(--growth-shade)*100%),transparent);font-variant-numeric:tabular-nums}

.management-pdf-pages{display:grid;gap:18px;padding:16px;background:var(--bg)}
.management-pdf-page{width:100%;max-width:794px;margin:auto;background:#fff;box-shadow:0 2px 10px #0002;overflow:hidden;min-height:120px}
.management-pdf-page canvas{display:block;width:100%;height:auto}
@media print{
 @page management-report{size:A4 portrait;margin:0}
 body.management-pdf-printing #root>:not(#modal){display:none!important}
 body.management-pdf-printing #modal{display:block!important;position:static!important;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;overflow:visible!important}
 body.management-pdf-printing #modal::backdrop{display:none!important}
 body.management-pdf-printing #modalContent>:not(.modal-body){display:none!important}
 body.management-pdf-printing #modalContent,.management-pdf-printing .modal-body,.management-pdf-printing .management-report,.management-pdf-printing #managementPdfPreview,.management-pdf-printing .management-pdf-pages{display:block!important;padding:0!important;margin:0!important;width:auto!important;max-width:none!important;max-height:none!important;overflow:visible!important;border:0!important;background:white!important}
 body.management-pdf-printing .management-report>:not(#managementPdfPreview){display:none!important}
 body.management-pdf-printing .management-pdf-page{page:management-report;break-after:page;break-inside:avoid;box-shadow:none!important;width:210mm!important;height:297mm!important;max-width:none!important;margin:0!important;padding:0!important;overflow:hidden!important}
 body.management-pdf-printing .management-pdf-page:last-child{break-after:auto}
 body.management-pdf-printing .management-pdf-page canvas{width:210mm!important;height:297mm!important}
}

/* Administrative destinations stay available directly, outside the everyday sidebar. */
.sidebar-bottom .administration-tools,.sidebar-bottom [data-action="erp-backups"],.sidebar-bottom #operationsLink,.sidebar-bottom #publicStatusLink{display:none!important}

/* Source attribution remains identifiable after global link underlines are removed. */
#main a[href="https://www.geonames.org/"]{background:#284b63;color:#fbfaf7!important;border-radius:3px;padding:1px 4px;font-weight:600}
.management-workspace .panel-head .md-no{display:inline-grid;place-items:center;min-width:24px;height:24px;border:1px solid var(--line,currentColor);border-radius:50%;font-size:12px;font-weight:600;color:var(--muted)}.management-workspace .panel-head h2{margin-right:auto}

/* Keep phone summary totals readable: the global figure size otherwise overrides the calendar breakpoint. */
@media screen and (max-width:430px){#main .month-summary-item>strong{font-size:min(var(--ui-figure),22px)}}

/* Company directory names use capitals without rewriting saved company identities. */
#main[data-page="companies"] :is(a[href^="#company/"],.review-item>strong){text-transform:uppercase}

/* Keep clock-in and clock-out area names stacked inside narrow register cells. */
.attendance-location-details{display:grid;gap:10px;flex:1;min-width:0;max-width:100%;text-align:left;overflow-wrap:anywhere}
.attendance-location-details .attendance-location{min-width:0;white-space:normal}
