#pdcSplash.pdcSplash .pdcSplashLogo {
  width: min(820px, 92vw) !important;
  max-width: 92vw !important;
  max-height: 48vh !important;
  background: transparent !important;
}
#pdcSplash.pdcSplash .pdcSplashSignature {
  display: block !important;
  width: min(500px, 60vw);
  margin: clamp(-38px, -4vw, -16px) 0 0;
  transform: none;
  text-align: center;
}
#pdcSplash .pdcSplashRule { display: none; }
#pdcSplash .pdcSplashSubtitle {
  font: 400 min(3.84vw, 32px)/1.3 'Precision Branding', sans-serif;
  letter-spacing: .16em;
  text-transform: none;
  margin: 0;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}
#pdcSplash .pdcSplashSubtitle span { display: inline-block; opacity: 0; }
#pdcSplash.splashPlaying .pdcSplashSubtitle span {
  animation: financeLetterFade 850ms ease var(--letter-delay) both;
}
@keyframes financeLetterFade { from { opacity: 0; } to { opacity: 1; } }
html[data-pdc-theme="light"] #pdcSplash .pdcSplashLogo { filter: none !important; }
@media (prefers-reduced-motion: reduce) {
  #pdcSplash.splashPlaying .pdcSplashSubtitle span { animation-duration: 1ms; animation-delay: 0ms; }
}
@font-face {
  font-family: 'Precision Branding';
  src: url('/PrecisionBranding-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: block;
}
#bootstrapOrganization { display: none !important; }
#pdcSplash.pdcSplash .pdcSplashContent { transform: translateY(-6vh); }
#pdcSplash.pdcSplash .pdcSplashLoader {
  opacity: 1;
  transform: none;
  top: calc(50% + clamp(42px, 9vw, 86px));
  bottom: auto;
  height: 2px;
}
#pdcSplash.pdcSplash .pdcSplashZeroLine { width: min(620px, 82vw); }
#pdcSplash.pdcSplash.splashPlaying .pdcSplashSignature .pdcSplashLoader {
  position: relative;
  inset: auto;
  width: 100%;
  height: 1px;
  margin: 0 0 12px;
}
#pdcSplash.pdcSplash.splashPlaying .pdcSplashSignature .pdcSplashZeroLine {
  width: 100%;
}
#pdcSplash.pdcSplash .pdcSplashZeroLine.isComplete .pdcSplashZeroFill {
  background: #fff;
  box-shadow: 0 0 6px #ffffffb3, 0 0 18px #ffffff73, 0 0 32px #ffffff33;
}
@font-face {
  font-family: 'Precision Engineering';
  src: url('/PrecisionBranding-Engineering.woff2') format('woff2');
  font-weight: 400;
  font-display: block;
}
#pdcSplash.pdcSplash .pdcSplashContent { width: 100vw !important; transform: translateY(-2vh); }
.financeLogoCrop { width: 100%; aspect-ratio: 4.4; position: relative; overflow: hidden; }
#pdcSplash.pdcSplash .financeLogoCrop .pdcSplashLogo {
  position: absolute; width: 166.667% !important; max-width: none !important;
  max-height: none !important; left: -33.333%; top: -52%;
}
.financeEngineering {
  display: flex; justify-content: space-between; width: 100%;
  font: 400 min(5.9vw, 46px)/1.2 'Precision Engineering', sans-serif;
  color: #505050; margin-top: 0;
}
#pdcSplash.pdcSplash .pdcSplashLogo {
  position: relative; left: auto; top: auto;
  width: min(1100px, 140vw) !important; max-width: none !important;
  max-height: none !important; flex-shrink: 0;
  mask-image: linear-gradient(to bottom, #000 0%, #000 52%, rgba(0,0,0,.32) 54%, rgba(0,0,0,.32) 100%);
}
#pdcSplash.pdcSplash .pdcSplashSignature { width: min(660px, 84vw); margin: max(-72px, -9vw) 0 0; }
#pdcSplash.pdcSplash .pdcSplashSubtitle {
  font-size: min(5.25vw, 42px); letter-spacing: .16em;
  color: rgba(255,255,255,.60);
}
#pdcSplash.pdcSplash .pdcSplashSubtitle span { animation: none; opacity: 1; }
#pdcSplash .pdcSplashSubtitle .financeDecodeCell { position: relative; color: transparent; perspective: 180px; }
#pdcSplash .pdcSplashSubtitle .financeDecodeGlyph { position: absolute; inset: 0; color: rgba(255,255,255,.60); }
html[data-pdc-theme="light"] #pdcSplash .financeDecodeGlyph { color: rgba(23,23,23,.60); }
#pdcSplash.pdcSplash .pdcSplashContent {
  transform: translateY(calc(-2vh + var(--finance-align-y, 0px))) scale(var(--finance-splash-scale, .50));
  transform-origin: center;
}
.splashSizeTuner {
  position: fixed; z-index: 2147483647; bottom: 18px; left: 50%; transform: translateX(-50%);
  width: min(440px, calc(100vw - 32px)); padding: 16px; box-sizing: border-box;
  border: 1px solid #626262; border-radius: 14px; background: #202024f5; color: #eee;
  font: 14px/1.5 Arial, sans-serif; box-shadow: 0 8px 32px #0008;
}
.splashSizeTuner label { display: block; margin-bottom: 8px; }
.splashSizeRow { display: flex; align-items: center; gap: 10px; direction: ltr; }
.splashSizeRow input { flex: 1; min-width: 0; width: auto; accent-color: #ddd; }
.splashSizeRow output { min-width: 45px; font-variant-numeric: tabular-nums; }
.splashSizeTuner button { color: #eee; background: #34343a; border: 1px solid #666; border-radius: 7px; padding: 7px 12px; cursor: pointer; font: inherit; }
.splashSizeActions { display: flex; gap: 8px; margin-top: 12px; }
.splashSizeTuner p { margin: 10px 0 0; font-size: 12px; color: #bbb; }
.financeDividerAnchor { height: 1px; width: 100%; margin-bottom: 12px; }
#pdcSplash.pdcSplash .pdcSplashLogo { aspect-ratio: 3 / 1; }
.appHeader:has(.financeHeaderBrand) { min-height: 104px !important; height: auto !important; align-items: center !important; }
.appHeader .appBrand.financeHeaderBrand { width: 242px !important; min-width: 242px !important; flex: 0 0 242px !important; height: 90px !important; display: block !important; transform: none !important; margin: 0 !important; }
.financeHeaderMotion { position: relative; width: 242px; height: 90px; }
.appHeader .financeHeaderBrand .financeHeaderLogo {
  position: absolute; width: 300px !important; max-width: none !important; height: 100px !important;
  left: -29px; top: -18px; object-fit: contain; background: transparent !important;
  mask-image: linear-gradient(to bottom, #000 52%, #0005 54%, #0005 100%);
}
.financeHeaderBrand .pdcSplashZeroLine { position: absolute; width: 180px; left: 31px; top: 65px; height: 1px; background: #217346; transform-origin: center; }
.financeHeaderGlow { position: absolute; inset: 0; background: #21a366; box-shadow: 0 0 5px #21a366, 0 0 12px #21a36699; }
.financeHeaderBrand .pdcSplashSubtitle {
  position: absolute; top: 69px; left: 31px; width: 180px; margin: 0;
  font: 400 11.454545px/1.3 'Precision Branding', sans-serif; text-align: center;
  letter-spacing: .16em; text-transform: none; color: rgba(33,115,70,.72);
  opacity: 1 !important; transform: none !important; animation: none !important; white-space: nowrap;
}
.financeHeaderBrand .financeFadeLetter { display: inline-block; opacity: 0; }
html[data-pdc-theme="light"] .appHeader .financeHeaderLogo { filter: invert(1); }
#pdcSplash.pdcSplash .pdcSplashSubtitle .financeTitleText { color: inherit; opacity: 0; white-space: nowrap; }
#pdcSplash.pdcSplash.splashPlaying .pdcSplashSubtitle .financeTitleText { animation: financeTitleAppear 1800ms ease-in-out 500ms both; }
@keyframes financeTitleAppear { from { opacity: 0; } to { opacity: 1; } }
:root { --finance-accent: #217346; --finance-accent-rgb: 33, 115, 70; }
#pdcSplash .pdcSplashMatrixDigit {
  transition: color 10430ms ease-in-out, text-shadow 10430ms ease-in-out;
}
#pdcSplash.splashPlaying .pdcSplashMatrixDigit.financeGreenDigit {
  color: #21a366 !important;
  text-shadow: 0 0 7px rgba(33,163,102,.6) !important;
}
#pdcSplash.pdcSplash {
  background: radial-gradient(ellipse at 50% 43%, rgba(25,90,51,.30) 0%, rgba(12,48,27,.16) 23%, transparent 50%), #000 !important;
}
#pdcSplash.pdcSplash .pdcSplashSubtitle { color: rgba(var(--finance-accent-rgb), .72); }
#pdcSplash.pdcSplash .pdcSplashZeroLine { background: rgba(var(--finance-accent-rgb), .3); }
#pdcSplash.pdcSplash .pdcSplashZeroFill,
#pdcSplash.pdcSplash .pdcSplashZeroLine.isComplete .pdcSplashZeroFill {
  background: #21a366 !important;
  box-shadow: 0 0 5px #21a366, 0 0 14px #21a366b3, 0 0 28px #21a36666 !important;
}
#pdcSplash.pdcSplash .pdcSplashZeroBeam { background: #33c481; box-shadow: 0 0 8px #21a366, 0 0 20px #21a366; }
#pdcSplash.pdcSplash.splashPlaying .pdcSplashLogo {
  scale: 1;
  transform: none !important;
  animation: none !important;
}
#pdcSplash.pdcSplash.splashPlaying .pdcSplashZeroLine { transform-origin: center; }
#pdcSplash.pdcSplash .pdcSplashSubtitle .financeFadeLetter {
  opacity: 0;
  color: inherit;
  transform-origin: 50% 55%;
  backface-visibility: hidden;
  will-change: transform, opacity, filter;
}
#pdcSplash.pdcSplash.splashPlaying .pdcSplashSubtitle .financeFadeLetter {
  animation: none;
}
@media (prefers-reduced-motion: reduce) {
  #pdcSplash.pdcSplash.splashPlaying .pdcSplashLogo,
  #pdcSplash.pdcSplash.splashPlaying .pdcSplashZeroLine { animation: none !important; scale: 1; }
  #pdcSplash.pdcSplash.splashPlaying .pdcSplashSubtitle .financeFadeLetter { animation: none; opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  #pdcSplash.pdcSplash.splashPlaying .pdcSplashSubtitle .financeTitleText { animation: none; opacity: 1; }
}

/* PRECISION Financial Management application shell. PDC supplies visual DNA only. */
#projectsView > :not(#financeApp) { display: none !important; }
#projectView,
#previewAdminBanner,
#trainingModeBanner,
#applicationAdminModal,
#createDemoModal,
#importProjectPackageModal { display: none !important; }
#openUserManualBtn,
#openAboutPdcBtn,
#globalUndoBtn,
#globalRedoBtn,
#pdc01TrialPartyBtn { display: none !important; }
#headerLanguageSelect,
#publicLanguageSelect,
.languageFirstRow { display: none !important; }
#openUpdateCenterBtn { cursor: default !important; }
.wrap:has(#projectsView:not(.hidden)) { max-width: none !important; width: 100% !important; padding: 0 !important; }
.appHeader:has(.financeHeaderBrand) { border-bottom-color: rgba(var(--finance-accent-rgb), .28) !important; }
.appHeader #currentUserBadge { gap: 7px; }
.appHeader #openAccountBtn { border-color: rgba(var(--finance-accent-rgb), .55); }

.financeApp {
  --finance-surface: rgba(var(--pdc-neutral-11, 11,11,11), .94);
  --finance-surface-raised: rgba(var(--pdc-neutral-17, 17,17,17), .96);
  --finance-border: rgba(var(--pdc-neutral-50, 50,50,50), .78);
  display: grid;
  grid-template-columns: 236px minmax(0, 1fr);
  min-height: calc(100dvh - var(--pdc-header-height, 104px));
  color: var(--text, #eee);
  background: var(--bg, #080808);
}
.financeNav {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 36px 20px 24px;
  border-right: 1px solid var(--finance-border);
  background: var(--finance-surface);
}
.financeNavTitle { padding: 0 12px 28px; color: var(--muted, #888); font-size: 10px; line-height: 1.55; letter-spacing: .22em; }
.financeNav nav { display: grid; gap: 7px; }
.financeNav button {
  display: flex; align-items: center; gap: 11px; width: 100%; min-height: 44px; padding: 0 13px;
  border: 1px solid transparent; border-radius: 10px; background: transparent; color: var(--muted, #999);
  font: 600 13px/1.2 Calibri, Arial, sans-serif; text-align: left; cursor: pointer;
}
.financeNav button span { width: 18px; color: rgba(var(--finance-accent-rgb), .88); font-size: 17px; text-align: center; }
.financeNav button:hover { color: var(--text, #fff); background: rgba(var(--pdc-neutral-28, 28,28,28), .62); }
.financeNav button.active { border-color: rgba(var(--finance-accent-rgb), .42); background: rgba(var(--finance-accent-rgb), .12); color: var(--text, #fff); }
.financeNavFoot { display: flex; align-items: center; gap: 8px; margin-top: auto; padding: 24px 12px 0; color: var(--muted, #777); font-size: 9px; letter-spacing: .08em; }
.financeNavFoot span { width: 7px; height: 7px; border-radius: 50%; background: #21a366; box-shadow: 0 0 8px rgba(33,163,102,.8); }
.financeMain { min-width: 0; padding: clamp(28px, 4vw, 58px); }
.financePage { display: none; animation: financePageIn .24s ease both; }
.financePage.financePageActive { display: block; }
@keyframes financePageIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.financePageHead { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.financeEyebrow { margin-bottom: 8px; color: rgba(var(--finance-accent-rgb), .86); font-size: 9px; font-weight: 700; letter-spacing: .18em; }
.financePageHead h1 { margin: 0; color: var(--text, #fff); font-size: clamp(29px, 3vw, 42px); line-height: 1; letter-spacing: -.035em; }
.financePageHead p { margin: 10px 0 0; color: var(--muted, #888); font-size: 13px; }
.financePrimary {
  min-height: 43px; padding: 0 18px; border: 1px solid #2aa56b; border-radius: 10px;
  background: #217346; color: #fff; font-weight: 700; cursor: pointer; box-shadow: 0 0 18px rgba(33,115,70,.14);
}
.financePrimary:hover { background: #278454; border-color: #35bd7c; }
.financeStats { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; margin-bottom: 24px; }
.financeStats article { min-height: 108px; padding: 18px 19px; border: 1px solid var(--finance-border); border-radius: 14px; background: var(--finance-surface-raised); }
.financeStats span { display: block; color: var(--muted, #888); font-size: 9px; font-weight: 700; letter-spacing: .13em; }
.financeStats strong { display: block; margin-top: 9px; color: var(--text, #fff); font-size: 25px; line-height: 1; }
.financeStats small { display: block; margin-top: 8px; color: var(--muted, #777); font-size: 10px; }
.financeSection { padding: 22px; border: 1px solid var(--finance-border); border-radius: 16px; background: var(--finance-surface); }
.financeSectionHead { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 18px; }
.financeSectionHead h2 { margin: 0; color: var(--text, #fff); font-size: 17px; }
.financeSectionHead p { margin: 5px 0 0; color: var(--muted, #888); font-size: 11px; }
.financeSearch { display: flex; align-items: center; gap: 7px; width: min(260px, 35vw); padding: 0 11px; border: 1px solid var(--finance-border); border-radius: 9px; background: rgba(var(--pdc-neutral-6, 6,6,6), .65); }
.financeSearch span { color: rgba(var(--finance-accent-rgb), .85); font-size: 18px; }
.financeSearch input { width: 100%; height: 36px; padding: 0; border: 0; outline: 0; background: transparent; color: var(--text, #eee); font-size: 11px; }
.financeMemberGrid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 13px; }
.financeMemberCard, .financeAddCard { min-height: 190px; border: 1px solid var(--finance-border); border-radius: 14px; background: var(--finance-surface-raised); }
.financeMemberCard { padding: 18px; }
.financeMemberTop { display: flex; align-items: center; gap: 13px; }
.financeAvatar { display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 48px; border: 1px solid rgba(var(--finance-accent-rgb), .62); border-radius: 50%; background: rgba(var(--finance-accent-rgb), .1); color: #41c985; font-size: 14px; font-weight: 800; }
.financeMemberIdentity { min-width: 0; }
.financeMemberIdentity h3 { overflow: hidden; margin: 0; color: var(--text, #fff); font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.financeMemberIdentity p { overflow: hidden; margin: 5px 0 0; color: var(--muted, #888); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.financeRank { margin-left: auto; padding: 5px 8px; border: 1px solid rgba(var(--finance-accent-rgb), .42); border-radius: 999px; color: #42c887; font-size: 8px; font-weight: 800; letter-spacing: .1em; }
.financeProfileProgress { display: flex; align-items: center; gap: 10px; margin: 25px 0 18px; }
.financeProfileProgress > span { overflow: hidden; height: 3px; flex: 1; border-radius: 99px; background: rgba(var(--pdc-neutral-50, 50,50,50), .8); }
.financeProfileProgress i { display: block; height: 100%; background: #21a366; box-shadow: 0 0 7px rgba(33,163,102,.65); }
.financeProfileProgress b { color: var(--muted, #888); font-size: 8px; letter-spacing: .1em; }
.financeMemberActions { display: flex; gap: 8px; }
.financeMemberActions button, .financeManagementGrid button { min-height: 34px; padding: 0 12px; border: 1px solid var(--finance-border); border-radius: 8px; background: transparent; color: var(--text, #ddd); font-size: 10px; font-weight: 700; cursor: pointer; }
.financeMemberActions button:hover, .financeManagementGrid button:hover { border-color: rgba(var(--finance-accent-rgb), .7); color: #46c98a; }
.financeAddCard { display: grid; place-items: center; align-content: center; gap: 8px; padding: 22px; border-style: dashed; color: var(--muted, #888); cursor: pointer; }
.financeAddCard:hover { border-color: rgba(var(--finance-accent-rgb), .65); background: rgba(var(--finance-accent-rgb), .055); }
.financeAddCard > span { display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid rgba(var(--finance-accent-rgb), .58); border-radius: 50%; color: #3ec582; font-size: 22px; font-weight: 300; }
.financeAddCard strong { color: var(--text, #ddd); font-size: 12px; }
.financeAddCard small { max-width: 260px; color: var(--muted, #777); font-size: 9px; line-height: 1.5; }
.financeManagementGrid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.financeManagementGrid article { min-height: 210px; padding: 23px; border: 1px solid var(--finance-border); border-radius: 15px; background: var(--finance-surface-raised); }
.financeManagementGrid article > span { color: rgba(var(--finance-accent-rgb), .82); font: 700 10px/1 monospace; }
.financeManagementGrid h2 { margin: 28px 0 8px; color: var(--text, #fff); font-size: 17px; }
.financeManagementGrid p { min-height: 38px; margin: 0 0 24px; color: var(--muted, #888); font-size: 11px; line-height: 1.55; }
.financeEmptyState {
  display: grid; place-items: center; min-height: 300px; padding: 42px; border: 1px dashed var(--finance-border);
  border-radius: 16px; background: var(--finance-surface); text-align: center;
}
.financeEmptyState > span { display: grid; place-items: center; width: 62px; height: 62px; border: 1px solid rgba(var(--finance-accent-rgb), .55); border-radius: 50%; color: #3fc382; font: 700 11px/1 monospace; }
.financeEmptyState h2 { margin: 20px 0 8px; color: var(--text, #fff); font-size: 18px; }
.financeEmptyState p { max-width: 420px; margin: 0; color: var(--muted, #888); font-size: 11px; line-height: 1.6; }
.financeToast { position: fixed; z-index: 9999; right: 24px; bottom: 24px; max-width: min(360px, calc(100vw - 48px)); padding: 12px 15px; border: 1px solid rgba(var(--finance-accent-rgb), .55); border-radius: 10px; background: rgba(11,22,16,.96); color: #dcefe5; font-size: 11px; opacity: 0; transform: translateY(10px); pointer-events: none; transition: .2s ease; }
.financeToast.show { opacity: 1; transform: none; }
.financeTrialBanner { display:flex; align-items:center; gap:16px; margin:-8px 0 28px; padding:11px 14px; border:1px solid rgba(var(--finance-accent-rgb),.42); border-radius:10px; background:rgba(var(--finance-accent-rgb),.08); color:var(--muted,#999); font-size:10px; }
.financeTrialBanner b { color:#45c889; letter-spacing:.13em; }
.financeTrialBanner strong { margin-left:auto; color:var(--text,#eee); font-weight:600; }
.financeSectionHead > button, .financeBack { min-height:34px; padding:0 12px; border:1px solid var(--finance-border); border-radius:8px; background:transparent; color:var(--text,#ddd); cursor:pointer; }
.financeMemberFacts { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:24px 0 17px; }
.financeMemberFacts span { color:var(--muted,#777); font-size:8px; letter-spacing:.1em; }
.financeMemberFacts b { display:block; overflow:hidden; margin-top:5px; color:var(--text,#ddd); font-size:10px; letter-spacing:0; text-overflow:ellipsis; white-space:nowrap; }
.financeLoading, .financeError { grid-column:1/-1; padding:30px; border:1px dashed var(--finance-border); border-radius:12px; color:var(--muted,#888); text-align:center; }
.financeError { border-color:rgba(190,65,65,.45); color:#d88989; }
.financeFullLoading { min-height:50vh; display:grid; place-items:center; }
.financeModal { position:fixed; z-index:10050; inset:0; display:none; place-items:center; padding:20px; background:rgba(0,0,0,.74); backdrop-filter:blur(9px); }
.financeModal.open { display:grid; }
.financeModalCard { width:min(720px,100%); max-height:calc(100dvh - 40px); overflow:auto; border:1px solid rgba(var(--finance-accent-rgb),.48); border-radius:16px; background:var(--finance-surface-raised); box-shadow:0 25px 80px rgba(0,0,0,.45); }
.financeModalHead { display:flex; align-items:center; justify-content:space-between; padding:22px 24px; border-bottom:1px solid var(--finance-border); }
.financeModalHead span { color:#42c887; font-size:8px; font-weight:800; letter-spacing:.15em; }
.financeModalHead h2 { margin:5px 0 0; color:var(--text,#fff); font-size:20px; }
.financeModalHead > button { width:36px; height:36px; border:1px solid var(--finance-border); border-radius:50%; background:transparent; color:var(--text,#fff); font-size:22px; cursor:pointer; }
.financeForm { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:24px; }
.financeForm label { display:grid; gap:7px; color:var(--muted,#999); font-size:9px; font-weight:700; letter-spacing:.06em; }
.financeForm .full { grid-column:1/-1; }
.financeForm input, .financeForm select, .financePeriodPicker input, .financeTimesheetTable input, .financeTimesheetTable select { height:40px; padding:0 11px; border:1px solid var(--finance-border); border-radius:8px; outline:0; background:rgba(var(--pdc-neutral-8,8,8,8),.72); color:var(--text,#eee); font:500 11px/1 Calibri,Arial,sans-serif; color-scheme:dark; }
.financeForm input:focus, .financeForm select:focus, .financeTimesheetTable input:focus, .financeTimesheetTable select:focus { border-color:rgba(var(--finance-accent-rgb),.8); box-shadow:0 0 0 2px rgba(var(--finance-accent-rgb),.1); }
.financeFormStatus { min-height:14px; color:#db977f; font-size:10px; }
.financeFormActions { display:flex; justify-content:flex-end; gap:9px; }
.financeFormActions button { min-height:40px; padding:0 18px; border:1px solid var(--finance-border); border-radius:9px; background:transparent; color:var(--text,#ddd); cursor:pointer; }
.financeTimesheetHead { display:grid; grid-template-columns:auto 1fr auto; align-items:end; gap:20px; margin-bottom:26px; }
.financeTimesheetHead h1 { margin:0; color:var(--text,#fff); font-size:32px; }
.financeTimesheetHead p { margin:7px 0 0; color:var(--muted,#888); font-size:11px; }
.financePeriodPicker { display:grid; gap:6px; color:var(--muted,#888); font-size:8px; font-weight:700; letter-spacing:.12em; }
.financePayrollStats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:14px; }
.financePayrollStats article { padding:17px; border:1px solid var(--finance-border); border-radius:12px; background:var(--finance-surface-raised); }
.financePayrollStats span { color:var(--muted,#888); font-size:8px; font-weight:700; letter-spacing:.12em; }
.financePayrollStats strong { display:block; margin:8px 0 6px; color:var(--text,#fff); font-size:19px; }
.financePayrollStats article:last-child strong { color:#45c889; }
.financePayrollStats small { color:var(--muted,#777); font-size:9px; }
.financeLeaveSummary { display:flex; flex-wrap:wrap; gap:18px; margin-bottom:14px; padding:12px 15px; border:1px solid rgba(var(--finance-accent-rgb),.25); border-radius:10px; background:rgba(var(--finance-accent-rgb),.05); color:var(--muted,#888); font-size:9px; }
.financeLeaveSummary b { margin-left:5px; color:#46c98a; font-size:11px; }
.financeRetroAlert { margin-bottom:14px; padding:12px 15px; border:1px solid #b08b39; border-radius:9px; background:rgba(176,139,57,.08); color:#cbb67c; font-size:10px; }
.financePayrollControl { display:grid; grid-template-columns:minmax(180px,1fr) minmax(360px,1.6fr) auto; align-items:end; gap:16px; margin-bottom:14px; padding:16px; border:1px solid var(--finance-border); border-radius:12px; background:var(--finance-surface-raised); }
.financeAdjustmentList { display:grid; gap:4px; color:var(--muted,#888); font-size:9px; }
.financeAdjustmentList b { color:#45c889; font-size:8px; letter-spacing:.08em; }
.financeAdjustmentForm { display:grid; grid-template-columns:110px 100px minmax(150px,1fr) auto; gap:7px; }
.financeAdjustmentForm input, .financeAdjustmentForm select { width:100%; height:35px; padding:0 9px; border:1px solid var(--finance-border); border-radius:7px; outline:0; background:rgba(var(--pdc-neutral-8,8,8,8),.72); color:var(--text,#eee); font-size:10px; color-scheme:dark; }
.financeAdjustmentForm button, .financeSnapshotActions button { min-height:35px; padding:0 12px; border:1px solid rgba(var(--finance-accent-rgb),.52); border-radius:7px; background:rgba(var(--finance-accent-rgb),.08); color:#45c889; font-size:9px; font-weight:700; cursor:pointer; }
.financeSnapshotActions { display:flex; gap:7px; justify-content:flex-end; }
.financeSnapshotActions .financePrimary { color:#fff; background:#217346; }
.financeTableWrap { overflow:auto; border:1px solid var(--finance-border); border-radius:13px; background:var(--finance-surface); }
.financeTimesheetTable { width:100%; min-width:850px; border-collapse:collapse; }
.financeTimesheetTable th { padding:12px 10px; border-bottom:1px solid var(--finance-border); color:var(--muted,#777); font-size:8px; letter-spacing:.12em; text-align:left; }
.financeTimesheetTable td { padding:7px 10px; border-bottom:1px solid rgba(var(--pdc-neutral-45,45,45,45),.45); }
.financeTimesheetTable tr:last-child td { border-bottom:0; }
.financeTimesheetTable tr.weekend { background:rgba(var(--finance-accent-rgb),.035); }
.financeTimesheetTable td:first-child b { display:block; color:var(--text,#ddd); font-size:11px; }
.financeTimesheetTable td:first-child small { color:var(--muted,#777); font-size:8px; }
.financeTimesheetTable input, .financeTimesheetTable select { width:100%; min-width:105px; height:33px; padding:0 8px; }
.financeTimesheetTable td:nth-child(5) input { min-width:170px; }
.financeTimesheetTable button { height:32px; padding:0 11px; border:1px solid rgba(var(--finance-accent-rgb),.55); border-radius:7px; background:rgba(var(--finance-accent-rgb),.1); color:#49c98b; font-size:9px; font-weight:700; cursor:pointer; }
.financeProfileHead { display:grid; grid-template-columns:auto 1fr auto; align-items:end; gap:20px; margin-bottom:24px; }
.financeProfileHead h1 { margin:0; color:var(--text,#fff); font-size:clamp(28px,3vw,38px); line-height:1; }
.financeProfileHead p { margin:7px 0 0; color:var(--muted,#888); font-size:11px; }
.financeProfileHero { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:22px; align-items:center; padding:22px; border:1px solid rgba(var(--finance-accent-rgb),.4); border-radius:16px; background:linear-gradient(120deg,rgba(var(--finance-accent-rgb),.09),var(--finance-surface-raised) 55%); }
.financeProfilePhotoWrap { position:relative; display:grid; place-items:center; width:104px; height:104px; overflow:hidden; border:1px solid rgba(var(--finance-accent-rgb),.62); border-radius:50%; background:rgba(var(--finance-accent-rgb),.09); }
.financeProfilePhoto,.financeProfileInitials { position:absolute; inset:0; width:100%; height:100%; }
.financeProfilePhoto { z-index:2; object-fit:cover; }
.financeProfileInitials { display:grid; place-items:center; color:#48ca8b; font-size:24px; font-weight:800; }
.financeProfilePhotoWrap > i { position:absolute; z-index:3; right:7px; bottom:7px; width:12px; height:12px; border:2px solid var(--finance-surface-raised); border-radius:50%; background:#777; }
.financeProfilePhotoWrap > i.online { background:#21a366; box-shadow:0 0 9px rgba(33,163,102,.85); }
.financeProfileHeroIdentity { min-width:0; }
.financeProfileHeroIdentity > span { color:#45c889; font:700 10px/1 ui-monospace,Consolas,monospace; letter-spacing:.09em; }
.financeProfileHeroIdentity h2 { margin:8px 0 5px; color:var(--text,#fff); font-size:23px; }
.financeProfileHeroIdentity > p { margin:0; color:var(--muted,#888); font-size:11px; }
.financeProfileCompletion { display:flex; align-items:center; gap:10px; max-width:440px; margin-top:16px; }
.financeProfileCompletion > div { overflow:hidden; height:4px; flex:1; border-radius:99px; background:rgba(var(--pdc-neutral-65,65,65,65),.55); }
.financeProfileCompletion i { display:block; height:100%; border-radius:inherit; background:#21a366; box-shadow:0 0 8px rgba(33,163,102,.72); }
.financeProfileCompletion b { color:var(--muted,#888); font-size:8px; letter-spacing:.11em; white-space:nowrap; }
.financeProfileMissing { display:flex; flex-wrap:wrap; gap:5px; margin-top:9px; }
.financeProfileMissing span { padding:3px 6px; border:1px solid var(--finance-border); border-radius:99px; color:var(--muted,#777); font-size:8px; }
.financeProfileMissing b { color:#47c989; font-size:9px; }
.financeProfileStatus { min-width:180px; padding:16px; border-left:1px solid var(--finance-border); }
.financeProfileStatus span { color:var(--muted,#777); font-size:8px; font-weight:700; letter-spacing:.13em; }
.financeProfileStatus strong { display:block; margin:8px 0 6px; color:#48c98a; font-size:16px; }
.financeProfileStatus small { display:block; max-width:190px; color:var(--muted,#777); font-size:9px; line-height:1.45; }
.financeProfileMetrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:14px 0; }
.financeProfileMetrics article { min-height:105px; padding:16px; border:1px solid var(--finance-border); border-radius:12px; background:var(--finance-surface-raised); }
.financeProfileMetrics span { color:var(--muted,#777); font-size:8px; font-weight:700; letter-spacing:.12em; }
.financeProfileMetrics strong { display:block; overflow:hidden; margin:9px 0 6px; color:var(--text,#fff); font-size:18px; text-overflow:ellipsis; white-space:nowrap; }
.financeProfileMetrics article:first-child strong { color:#46c889; }
.financeProfileMetrics small { display:block; color:var(--muted,#777); font-size:9px; line-height:1.4; }
.financeProfileGrid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr); gap:14px; margin-bottom:14px; }
.financeProfilePanel { padding:20px; border:1px solid var(--finance-border); border-radius:14px; background:var(--finance-surface); }
.financeProfileForm { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.financeProfileForm label { display:grid; gap:6px; color:var(--muted,#888); font-size:8px; font-weight:700; letter-spacing:.07em; }
.financeProfileForm .full { grid-column:1/-1; }
.financeProfileForm input { width:100%; height:39px; padding:0 10px; border:1px solid var(--finance-border); border-radius:8px; outline:0; background:rgba(var(--pdc-neutral-8,8,8,8),.72); color:var(--text,#eee); font-size:11px; color-scheme:dark; }
.financeProfileForm input:focus { border-color:rgba(var(--finance-accent-rgb),.8); box-shadow:0 0 0 2px rgba(var(--finance-accent-rgb),.1); }
.financeProfileForm input:disabled { color:var(--muted,#777); cursor:not-allowed; }
.financeProfileRecord { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0; }
.financeProfileRecord div { padding:10px; border:1px solid var(--finance-border); border-radius:8px; background:var(--finance-surface-raised); }
.financeProfileRecord dt { color:var(--muted,#777); font-size:8px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.financeProfileRecord dd { overflow:hidden; margin:6px 0 0; color:var(--text,#ddd); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.financeRecentPunches { margin-top:18px; }
.financeRecentPunches ul { display:grid; gap:0; margin:0; padding:0; list-style:none; border-top:1px solid var(--finance-border); }
.financeRecentPunches li { display:flex; justify-content:space-between; gap:10px; padding:8px 2px; border-bottom:1px solid rgba(var(--pdc-neutral-45,45,45,45),.48); color:var(--muted,#888); font-size:9px; }
.financeRecentPunches li b { color:#44c786; font-size:8px; letter-spacing:.06em; }
.financeAttendancePanel { margin-bottom:20px; }
.financeProfileAttendance { width:100%; min-width:650px; border-collapse:collapse; }
.financeProfileAttendance th { padding:11px; border-bottom:1px solid var(--finance-border); color:var(--muted,#777); font-size:8px; letter-spacing:.11em; text-align:left; }
.financeProfileAttendance td { padding:11px; border-bottom:1px solid rgba(var(--pdc-neutral-45,45,45,45),.45); color:var(--text,#ccc); font-size:10px; }
.financeProfileAttendance tr:last-child td { border-bottom:0; }
.financeSourceBadge { display:inline-flex; padding:4px 7px; border:1px solid var(--finance-border); border-radius:99px; color:var(--muted,#888); font-size:7px; font-weight:800; letter-spacing:.08em; }
.financeSourceBadge.source3 { border-color:rgba(var(--finance-accent-rgb),.46); color:#45c889; background:rgba(var(--finance-accent-rgb),.07); }
.financeProfileEmpty { height:90px; color:var(--muted,#777)!important; text-align:center; }
html[data-pdc-theme="light"] .financeApp { --finance-surface: #fff; --finance-surface-raised: #f7f9f8; --finance-border: #d6ded9; }
html[data-pdc-theme="light"] .financeSearch { background: #fff; }
html[data-pdc-theme="light"] .financeToast { background: #effaf3; color: #174c31; }
@media (max-width: 900px) {
  .financeApp { grid-template-columns: 1fr; }
  .financeNav { min-height: 0; padding: 12px; border-right: 0; border-bottom: 1px solid var(--finance-border); }
  .financeNavTitle, .financeNavFoot { display: none; }
  .financeNav nav { grid-template-columns: 1fr 1fr; }
  .financeNav button { justify-content: center; text-align: center; }
  .financeMain { padding: 24px 16px 40px; }
  .financeProfileMetrics { grid-template-columns:1fr 1fr; }
  .financeProfileGrid { grid-template-columns:1fr; }
}
@media (max-width: 650px) {
  .financeProfileHead { grid-template-columns:1fr; align-items:start; }
  .financeProfileHero { grid-template-columns:1fr; justify-items:center; text-align:center; }
  .financeProfileCompletion { width:100%; }
  .financeProfileStatus { width:100%; padding:14px 0 0; border-top:1px solid var(--finance-border); border-left:0; }
  .financeProfileStatus small { max-width:none; }
  .financeProfileMetrics { grid-template-columns:1fr; }
  .financeProfileForm,.financeProfileRecord { grid-template-columns:1fr; }
  .financeProfileForm .full { grid-column:auto; }
  .financePageHead { align-items: stretch; flex-direction: column; }
  .financePrimary { width: 100%; }
  .financeStats { grid-template-columns: 1fr; }
  .financeMemberGrid, .financeManagementGrid { grid-template-columns: 1fr; }
  .financeSectionHead { align-items: stretch; flex-direction: column; }
  .financeSearch { width: 100%; }
  .financeTrialBanner { align-items:flex-start; flex-direction:column; }
  .financeTrialBanner strong { margin-left:0; }
  .financeForm { grid-template-columns:1fr; }
  .financeForm .full { grid-column:auto; }
  .financeTimesheetHead { grid-template-columns:1fr; align-items:start; }
  .financePayrollStats { grid-template-columns:1fr 1fr; }
  .financePayrollControl { grid-template-columns:1fr; align-items:stretch; }
  .financeAdjustmentForm { grid-template-columns:1fr 1fr; }
  .financeAdjustmentForm input:nth-of-type(2) { grid-column:1/-1; }
  .financeSnapshotActions { justify-content:stretch; }
  .financeSnapshotActions button { flex:1; }
}

/* Attendance workflow */
.financeHeadActions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.financeAttendancePage{gap:16px}
.financeAttendanceToolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:14px;border:1px solid #282d2b;background:#111413}
.financeAttendanceToolbar label{display:grid;gap:6px;min-width:150px;color:#7f8984;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.financeAttendanceToolbar label:first-child{flex:1 1 260px}
.financeAttendanceToolbar :is(select,input){height:39px;border:1px solid #343a37;background:#090b0a;color:#edf3ef;padding:0 11px;font:inherit;color-scheme:dark}
.financeAttendanceDevice{display:flex;align-items:center;gap:13px;padding:14px 16px;border:1px solid #313634;background:#111413}
.financeAttendanceDevice>i{width:10px;height:10px;border-radius:50%;background:#686e6b;box-shadow:0 0 8px rgba(104,110,107,.25)}
.financeAttendanceDevice.online>i{background:#21a366;box-shadow:0 0 8px rgba(33,163,102,.9),0 0 18px rgba(33,163,102,.35)}
.financeAttendanceDevice div{display:grid;gap:3px}
.financeAttendanceDevice span{color:#21a366;font-size:9px;font-weight:900;letter-spacing:.14em}
.financeAttendanceDevice strong{color:#e7ece9;font-size:12px}
.financeAttendanceDevice small{color:#77807b;font-size:10px}
.financeAttendanceColumns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.75fr);gap:14px;align-items:start}
.financeAttendanceState{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border:1px solid #333a36;border-radius:999px;color:#aeb7b2;background:#151817;font-size:9px;font-weight:850;white-space:nowrap}
.financeAttendanceState.recorded{border-color:rgba(33,163,102,.45);color:#5fd497;background:rgba(33,163,102,.08)}
.financeAttendanceState.corrected{border-color:rgba(63,139,226,.45);color:#7db6f4;background:rgba(63,139,226,.08)}
.financeAttendanceState.pending_correction{border-color:rgba(230,184,58,.45);color:#e6c55d;background:rgba(230,184,58,.08)}
.financeAttendanceState.incomplete,.financeAttendanceState.missing{border-color:rgba(220,91,91,.45);color:#e48787;background:rgba(220,91,91,.08)}
.financeProfileForm textarea{min-height:92px;resize:vertical;border:1px solid #343a37;background:#090b0a;color:#edf3ef;padding:10px;font:inherit}
.financeRequestHistory,.financeApprovalList{display:grid;gap:9px}
.financeRequestHistory article,.financeApprovalCard{display:flex;justify-content:space-between;gap:14px;padding:13px;border:1px solid #292f2c;background:#0c0f0e}
.financeRequestHistory article>div,.financeApprovalCard>div:first-child{display:grid;gap:4px}
.financeRequestHistory span,.financeApprovalCard span{color:#21a366;font-size:9px;font-weight:850;letter-spacing:.1em}
.financeRequestHistory strong,.financeApprovalCard strong{color:#e7ece9;font-size:12px}
.financeRequestHistory p,.financeApprovalCard p{margin:0;color:#9aa39e;font-size:11px;line-height:1.55}
.financeRequestHistory small,.financeApprovalCard small{color:#666f6a;font-size:9px}
.financeApprovalCount{display:grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:#21a366;color:#041109;font-size:11px;font-weight:900}
.financeApprovalActions{display:flex;align-items:center;gap:7px;min-width:min(100%,390px)}
.financeApprovalActions input{flex:1;min-width:130px;height:35px;border:1px solid #343a37;background:#090b0a;color:#edf3ef;padding:0 9px}
.financeDeviceEnrollment{border-color:rgba(33,163,102,.42)}
.financeEnrollmentComposer{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:9px;margin-bottom:14px;padding:12px;border:1px solid #2b332f;background:rgba(33,163,102,.045)}
.financeEnrollmentComposer select{height:39px;border:1px solid #343a37;background:#090b0a;color:#edf3ef;padding:0 10px;color-scheme:dark}

@media (max-width:1050px){.financeAttendanceColumns{grid-template-columns:1fr}.financeApprovalCard{display:grid}.financeApprovalActions{min-width:0}}
@media (max-width:680px){.financeHeadActions{justify-content:flex-start}.financeAttendanceToolbar{display:grid;grid-template-columns:1fr 1fr}.financeAttendanceToolbar label:first-child{grid-column:1/-1}.financeAttendanceToolbar button{grid-column:1/-1}.financeRequestHistory article{display:grid}.financeApprovalActions{display:grid;grid-template-columns:1fr 1fr}.financeApprovalActions input{grid-column:1/-1}.financeEnrollmentComposer{grid-template-columns:1fr}}
