/* THRS V14.10 — Attendance Executive Studio / Premium refinements.
   Scoped to authorized /attendance only, after screen-specific JS is ready.
   Visual changes only; all check-in, correction, records and HR import workflows remain. */
html[data-theme="light"] .thrs-page-attendance[data-thrs-attendance-v1410="ready"]{
 --ax-bg:#f5f8fc;--ax-card:#fff;--ax-soft:#f1f5fb;--ax-ink:#122e49;
 --ax-muted:#5b748c;--ax-line:#d8e3ee;--ax-gold:#b78b49;--ax-tint:#f5e6cb;
 --ax-shadow:0 11px 30px rgba(18,48,79,.065);
}
html[data-theme="dark"] .thrs-page-attendance[data-thrs-attendance-v1410="ready"]{
 --ax-bg:#0b2138;--ax-card:#142e48;--ax-soft:#1c3c58;--ax-ink:#eef5fe;
 --ax-muted:#bccfe1;--ax-line:#3d5c75;--ax-gold:#f1c98a;--ax-tint:#344563;
 --ax-shadow:0 15px 33px rgba(0,0,0,.23);
}
html[data-theme] .thrs-page-attendance[data-thrs-attendance-v1410="ready"]{
 gap:15px !important;
 padding-block:13px 38px !important;
 scroll-margin-top:88px;
 color:var(--ax-ink) !important;
}
/* Premium masthead with operational navigation, not another giant hero. */
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-masthead{
 display:flex;flex-direction:column;gap:17px;
 order:0 !important;
 padding:19px 24px 0;
 border-radius:18px;
 border:1px solid var(--ax-line);
 background:linear-gradient(115deg,var(--ax-card) 0%,var(--ax-soft) 100%);
 box-shadow:var(--ax-shadow);
 position:relative;isolation:isolate;
 min-width:0;max-width:100%;
 overflow:hidden;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-masthead::before{
 content:"";position:absolute;inset-block-start:0;inset-inline:0;
 height:3px;
 background:linear-gradient(90deg,transparent 3%,#b17b34 18%,#f2cd91 48%,#b17b34 82%,transparent);
 pointer-events:none;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-heading{
 display:flex;align-items:center;justify-content:space-between;gap:24px;
 min-width:0;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-ident{
 display:flex;align-items:center;gap:15px;min-width:0;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-emblem{
 display:grid;place-items:center;flex:0 0 48px;
 width:48px;height:48px;border-radius:14px;
 background:linear-gradient(140deg,#123b5e,#0a2741);
 color:#f1d099;
 border:1px solid rgba(186,137,66,.37);
 box-shadow:0 8px 20px rgba(10,34,61,.16);
}
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-emblem svg{
 width:23px;height:23px;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-ident-copy{
 min-width:0;display:flex;flex-direction:column;gap:3px;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-eyebrow{
 color:var(--ax-gold);font-weight:900;
 font-size:9.5px;letter-spacing:.12em;
 line-height:1.45;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-ident-copy h1{
 font-size:clamp(23px,2.25vw,31px) !important;
 line-height:1.22 !important;font-weight:930 !important;
 color:var(--ax-ink) !important;letter-spacing:-.025em;
 margin:0 !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-ident-copy p{
 margin:4px 0 0 !important;
 color:var(--ax-muted) !important;
 font-size:11.5px;line-height:1.55;
 max-width:85ch;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-tag{
 display:inline-flex;align-items:center;justify-content:center;gap:8px;
 flex:0 0 auto;white-space:nowrap;
 padding:9px 14px;
 background:var(--ax-card);border:1px solid var(--ax-line);
 color:var(--ax-ink);border-radius:99px;
 font-weight:800;font-size:10.5px;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-tag svg{
 color:var(--ax-gold);height:16px;width:16px;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-nav{
 display:flex;align-items:center;flex-wrap:nowrap;
 gap:6px;padding-block:0 11px;min-width:0;
 overflow-x:auto;scrollbar-width:thin;
 -webkit-overflow-scrolling:touch;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-nav button{
 display:flex;align-items:center;justify-content:center;gap:8px;
 border:1px solid transparent !important;
 background:transparent !important;
 padding:8px 14px !important;
 min-height:36px;
 color:var(--ax-muted) !important;
 border-radius:9px !important;
 font-family:inherit;font-size:11.5px;font-weight:850 !important;
 white-space:nowrap;flex:0 0 auto;
 cursor:pointer;transition:background .18s,border-color .18s,color .18s;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-nav button svg{
 width:15px;height:15px;opacity:.88;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-nav button:hover{
 border-color:var(--ax-line) !important;
 background:var(--ax-soft) !important;
 color:var(--ax-ink) !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-nav .is-active{
 border-color:color-mix(in srgb,var(--ax-gold) 31%,var(--ax-line)) !important;
 background:var(--ax-card) !important;
 color:var(--ax-ink) !important;
 box-shadow:0 3px 10px rgba(17,40,64,.055);
}
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-nav .is-active svg{
 color:var(--ax-gold);
}
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-admin-toggle{
 margin-inline-start:auto;
 background:linear-gradient(110deg,#163d5f,#0b2b47) !important;
 color:#f5dfba !important;
 border-color:#b88a4a !important;
 padding-inline:13px !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-admin-toggle:hover{
 background:linear-gradient(110deg,#1c4a6e,#103553) !important;
 color:#fff !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-caret{
 font-size:15px;line-height:1;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-nav button:focus-visible{
 outline:2px solid var(--ax-gold) !important;outline-offset:2px !important;
}
/* Clear daily focus: slim gold edge, better legibility and motion-free ornament. */
html[data-theme] .thrs-page-attendance .thrs-attendance-hero{
 min-height:205px !important;padding:19px 25px !important;
 border-color:rgba(222,181,111,.39) !important;
 background:
 radial-gradient(ellipse at 82% 14%,rgba(229,181,102,.23),transparent 34%),
 linear-gradient(125deg,#123654 0%,#082944 54%,#071d32 100%) !important;
 box-shadow:0 16px 34px rgba(8,30,53,.13) !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-hero:before{
 opacity:.06 !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-hero-copy > h1{
 font-size:clamp(22px,2vw,29px) !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-hero-layout{
 grid-template-columns:minmax(0,1fr) minmax(255px,312px) !important;
 gap:26px !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-hero-metrics{
 gap:7px !important;margin-top:11px !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-hero-metrics > div:not([style*="width: 1px"]){
 background:rgba(246,245,233,.06) !important;
 border-color:rgba(242,213,171,.12) !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-check-card{
 padding:15px !important;
 border-color:rgba(221,174,103,.27) !important;
 background:linear-gradient(135deg,rgba(247,233,201,.12),rgba(219,238,250,.05)) !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-check-card :is(button,.thrs-btn){
 min-height:47px !important;
}
/* Executive overview: large numbers and restrained accents, no empty padding. */
html[data-theme] .thrs-page-attendance .thrs-attendance-overview-section{
 padding:18px 19px !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-stats-grid{
 gap:11px !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-stat-card{
 padding:15px 15px 13px !important;
 min-height:120px !important;
 border:1px solid var(--ax-line) !important;
 border-top:3px solid var(--attendance-accent) !important;
 border-radius:13px !important;
 background:linear-gradient(125deg,var(--ax-card),var(--ax-soft)) !important;
 box-shadow:0 3px 11px rgba(12,39,66,.035) !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-stat-card:hover{
 box-shadow:var(--ax-shadow) !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-stat-value{
 color:var(--ax-ink) !important;
 font-size:clamp(24px,2.15vw,30px) !important;
 letter-spacing:-.035em;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-stat-card > div:nth-child(3){
 color:var(--ax-muted) !important;
}
/* Two visualizations are equal-height work surfaces; keep Chart.js label ink
   readable in Dark Mode by retaining its light chart canvas. */
html[data-theme] .thrs-page-attendance .thrs-attendance-chart-panel{
 border-radius:16px !important;
 padding:20px 20px 17px !important;
 min-height:327px !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-chart-panel .thrs-premium-panel-body{
 min-height:260px !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-heatmap-grid{
 gap:5px !important;
 scrollbar-width:thin;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-heatmap-grid > div{
 gap:5px !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-heatmap-grid > div > div{
 border-radius:4px !important;
}
html[data-theme] .thrs-page-attendance .thrs-premium-panel-head{
 padding-bottom:13px !important;
}
html[data-theme] .thrs-page-attendance .thrs-premium-panel-head h3{
 font-size:14px !important;
}
/* Premium filtering: clear active status, stronger focus and softer inputs. */
html[data-theme] .thrs-page-attendance .thrs-attendance-filters-panel{
 padding:18px 19px !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-status-chip{
 min-height:36px !important;
 border-radius:9px !important;
 transition:transform .16s,background .16s,border-color .16s;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-status-chip:hover{
 background:var(--ax-soft) !important;
 transform:translateY(-1px);
}
html[data-theme] .thrs-page-attendance .thrs-attendance-status-chip.is-active{
 color:var(--ax-ink) !important;
 border:1px solid var(--ax-gold) !important;
 background:color-mix(in srgb,var(--ax-gold) 8%,var(--ax-card)) !important;
 box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ax-gold) 19%,transparent) !important;
}
/* Monthly card grid: compact without reducing information density. */
html[data-theme] .thrs-page-attendance .thrs-attendance-monthly-panel{
 padding:19px 20px !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-monthly-grid{
 gap:9px !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-summary-kpi{
 min-height:100px !important;padding:12px 13px !important;
 border-radius:11px !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-summary-kpi>div:nth-child(2){
 color:var(--ax-ink) !important;font-size:21px !important;
}
/* Attendance table becomes a deliberate records explorer. */
html[data-theme] .thrs-page-attendance .thrs-attendance-records-panel{
 border-radius:17px !important;padding:19px 20px !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-records-panel .thrs-premium-panel-body{
 overflow-x:auto !important;
 max-width:100% !important;
 scrollbar-width:thin;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-records-panel thead th{
 position:sticky !important;top:0;
 z-index:1;
 background:var(--ax-soft) !important;
 color:var(--ax-muted) !important;
 font-size:11px !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-records-panel tbody tr{
 transition:background .15s ease;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-records-panel td{
 padding:12px 14px !important;
 color:var(--ax-ink) !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-view-tabs{
 padding:4px !important;border-radius:11px !important;
}
html[data-theme] .thrs-page-attendance :is(.thrs-attendance-records-panel,
 .thrs-attendance-overview-section,.thrs-attendance-analytics-grid,
 .thrs-attendance-filters-panel,.thrs-attendance-hero,
 .thrs-attendance-monthly-panel){
 scroll-margin-top:105px;
}
/* Administrative fingerprint tasks stay fully available but do not occupy
   half of every default HR page visit. Toggle only when the new accessible
   fingerprint center button exists, after its panel has been detected. */
html[data-theme] .thrs-page-attendance[data-thrs-attendance-v1410="ready"]:not(.thrs-attendance-v1410-admin-open) >
 div:has(> .thrs-attendance-raw-log-panel){
 display:none !important;
}
html[data-theme] .thrs-page-attendance[data-thrs-attendance-v1410="ready"]:not(.thrs-attendance-v1410-admin-open) >
 .thrs-premium-panel:not(.thrs-attendance-monthly-panel):not(.thrs-attendance-filters-panel):not(.thrs-attendance-records-panel){
 display:none !important;
}
html[data-theme] .thrs-page-attendance.thrs-attendance-v1410-admin-open > div:has(> .thrs-attendance-raw-log-panel){
 display:block !important;order:8 !important;
 scroll-margin-top:120px;
}
html[data-theme] .thrs-page-attendance.thrs-attendance-v1410-admin-open >
 .thrs-premium-panel:not(.thrs-attendance-monthly-panel):not(.thrs-attendance-filters-panel):not(.thrs-attendance-records-panel){
 display:block !important;order:9 !important;
}
html[data-theme] .thrs-page-attendance.thrs-attendance-v1410-admin-open .thrs-attendance-import-panel,
html[data-theme] .thrs-page-attendance.thrs-attendance-v1410-admin-open >
 .thrs-premium-panel:not(.thrs-attendance-records-panel):not(.thrs-attendance-filters-panel):not(.thrs-attendance-monthly-panel){
 border-top:3px solid #c99b59 !important;
 box-shadow:var(--ax-shadow) !important;
}
/* Keep the existing HR fingerprint tables scrollable inside their own panels. */
html[data-theme] .thrs-page-attendance .thrs-attendance-import-panel .thrs-premium-panel-body{
 max-width:100% !important;min-width:0 !important;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-import-panel table{
 border-collapse:separate !important;border-spacing:0;
}
html[data-theme] .thrs-page-attendance .thrs-attendance-import-panel select{
 min-width:0 !important;max-width:100% !important;
}
/* Extra UI affordances. */
html[data-theme] .thrs-page-attendance :is(.thrs-attendance-v1410-masthead button,
 .thrs-attendance-view-tabs button,.thrs-attendance-filters-panel input,
 .thrs-attendance-filters-panel select):focus-visible{
 outline:2px solid var(--ax-gold) !important;outline-offset:2px !important;
}
/* At medium widths, masthead controls wrap without impacting the layout. */
@media(max-width:1150px){
 html[data-theme] .thrs-page-attendance .thrs-attendance-hero-layout{
  grid-template-columns:minmax(0,1fr) !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-check-card{
  max-width:none !important;width:100% !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-analytics-grid{
  grid-template-columns:minmax(0,1fr) !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-stats-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-monthly-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
 }
}
@media(max-width:740px){
 html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-masthead{
  border-radius:15px !important;
  padding:16px 14px 0 !important;
  gap:13px !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-ident{
  gap:10px !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-emblem{
  width:41px;height:41px;flex-basis:41px;
  border-radius:12px;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-ident-copy h1{
  font-size:23px !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-ident-copy p{
  font-size:10.5px !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-tag{
  display:none !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-nav{
  gap:4px !important;padding-bottom:10px !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-nav button{
  gap:5px !important;padding:8px 9px !important;
  font-size:10.5px !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-nav button svg{
  width:14px;height:14px;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-hero{
  padding:16px 14px !important;min-height:0 !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-stats-grid{
  gap:8px !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-overview-section{
  padding:14px !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-stat-card{
  padding:11px 10px !important;min-height:109px !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-stat-value{
  font-size:24px !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-monthly-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-monthly-panel{
  padding:14px !important;
 }
}
@media(max-width:440px){
 html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-masthead{
  padding-inline:11px !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-ident-copy h1{
  font-size:21px !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-eyebrow{
  font-size:8.5px !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-nav{
  gap:3px !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-nav button{
  font-size:10px !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-admin-toggle{
  margin-inline-start:0;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-hero-layout{
  gap:13px !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-hero-metrics{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
 }
}
@media(max-width:355px){
 html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-heading{
  gap:8px !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-ident-copy p{
  font-size:9.5px !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-hero-metrics{
  grid-template-columns:minmax(0,1fr) !important;
 }
 html[data-theme] .thrs-page-attendance .thrs-attendance-stats-grid{
  grid-template-columns:minmax(0,1fr) !important;
 }
}
@media(prefers-reduced-motion:reduce){
 html[data-theme] .thrs-page-attendance .thrs-attendance-v1410-nav button,
 html[data-theme] .thrs-page-attendance .thrs-attendance-stat-card,
 html[data-theme] .thrs-page-attendance .thrs-attendance-status-chip{
  transition:none !important;transform:none !important;animation:none !important;
 }
}

/* Remove legacy inline spacer-only divs regardless of browser spacing in
   serialized React inline styles. They otherwise consume ~100px above hero
   after flex order repositions HR import panels. This targets only direct,
   empty, 18px/24px spacer nodes, not operational widgets. */
html[data-theme] .thrs-page-attendance[data-thrs-attendance-v1410="ready"] >
 div:empty:is([style*="height:18px"],[style*="height: 18px"],
              [style*="height:24px"],[style*="height: 24px"]){
 display:none !important;
}
