@font-face{font-family:League Gothic;src:url(/assets/fonts/LeagueGothic-Variable.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{font-family:Avenir Next,Avenir,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#280657;background:#fff;font-synthesis:none;--plum: #280657;--violet: #6d62ff;--mint: #69d09d;--warm: #f4f4f3;--ink: #251735;--danger: #b42318;--warning: #9a6700;--display: "League Gothic", "Arial Narrow", "Avenir Next Condensed", Impact, sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#fff}button,input,select{font:inherit}button{cursor:pointer}.site-header{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.1rem clamp(1.25rem,5vw,5rem);border-bottom:1px solid rgba(40,6,87,.08)}.brand{display:inline-flex;flex-direction:column;align-items:center;gap:.1rem;color:var(--plum);text-decoration:none}.brand-logo-crop{position:relative;width:122px;height:78px;display:block;overflow:hidden}.brand-logo{position:absolute;width:138px;height:138px;left:-8px;top:-30px;display:block}.brand-portal-label{color:var(--violet);font-size:.78rem;font-weight:800;letter-spacing:.03em;line-height:1}.account{display:flex;align-items:center;gap:1rem;color:#675b73;font-size:.88rem}.text-button{padding:.45rem 0;border:0;border-bottom:2px solid var(--mint);color:var(--plum);background:transparent;font-weight:700}.access-denied{min-height:calc(100vh - 222px);display:grid;place-items:center;padding:clamp(3rem,8vw,7rem) 1.25rem;background:var(--warm)}.access-denied-card{width:min(760px,100%);padding:clamp(2rem,6vw,5rem);border-top:6px solid var(--danger);background:#fff;text-align:center}.access-denied-card h1{font-size:clamp(2.8rem,6vw,5.6rem)}.access-denied-card>p:not(.eyebrow){max-width:560px;margin:1.5rem auto 2rem;color:#675b73;font-size:1.1rem;line-height:1.65}.home-button{display:inline-flex;align-items:center;justify-content:center;color:#fff;text-decoration:none}.login-section{min-height:calc(100vh - 222px);display:grid;place-items:center;padding:clamp(3rem,8vw,7rem) 1.25rem;background:var(--warm)}.login-card{width:min(780px,100%);padding:clamp(2.25rem,6vw,5rem);border-top:6px solid var(--violet);background:#fff;box-shadow:0 18px 45px #2806571a;text-align:center}.login-card h1{max-width:650px;margin:0 auto;font-size:clamp(3.25rem,7vw,6.25rem)}.login-summary{max-width:580px;margin:1.6rem auto 2rem;color:#675b73;font-size:1.08rem;line-height:1.65}.login-button{min-width:min(320px,100%)}.login-requirement{margin:1.35rem 0 0;color:#756b80;font-size:.88rem}.login-loading{color:#675b73;font-weight:700}.login-card .status-message{margin-top:1.5rem;text-align:left}.portal-hero{max-width:1440px;margin:0 auto;padding:clamp(4.5rem,10vw,9rem) clamp(1.25rem,6vw,6rem) clamp(3.5rem,7vw,6rem);background:radial-gradient(circle at 88% 15%,rgba(105,208,157,.2),transparent 22%),radial-gradient(circle at 78% 50%,rgba(109,98,255,.14),transparent 30%)}.portal-hero h1{max-width:1020px;font-size:clamp(3.4rem,8vw,8.3rem)}.tools-section{padding:clamp(4rem,8vw,7rem) clamp(1.25rem,6vw,6rem);background:var(--warm)}.tools-heading,.tool-browser{max-width:1180px;margin-left:auto;margin-right:auto}.tools-heading{margin-bottom:2.5rem}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,188px));justify-content:center;gap:30px 24px;padding:4px 4px 18px}.tool-card{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:14px;border:0;border-radius:24px;text-decoration:none;font:inherit;cursor:pointer;box-shadow:0 10px 18px -3px #2806574d,0 3px 6px #2806571f;transition:box-shadow .18s ease}.tool-card:disabled{cursor:wait;opacity:.78}.tool-card:hover,.tool-card:focus-visible{box-shadow:0 14px 24px -3px #2806575c,0 4px 8px #28065724}.tool-card:active{box-shadow:0 4px 9px #2806573d}.tool-card:focus-visible{outline:3px solid var(--plum);outline-offset:4px}.payroll-tool{color:var(--warm);background:var(--violet)}.ntd-tool{color:var(--plum);background:var(--mint)}.tool-card>strong{font-size:1rem;font-weight:600;line-height:1.2;text-align:center}.tool-icon{width:72px;height:72px;display:grid;place-items:center}.tool-icon svg{width:64px;height:64px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.tool-description{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .18s ease,opacity .16s ease}.tool-description.is-visible{grid-template-rows:1fr;opacity:1}.tool-description p{min-height:0;margin:0;overflow:hidden;color:#675b73;font-size:1rem;line-height:1.65;text-align:center}.tool-description.is-visible p{padding:1.15rem .25rem .4rem}.ntd-status{max-width:680px;margin:.85rem auto 0;text-align:center}@keyframes tool-icon-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media(hover:hover)and (prefers-reduced-motion:no-preference){.tool-card:hover .tool-icon{animation:tool-icon-bounce 1.4s ease-in-out infinite}}.tool-nav{max-width:1440px;display:flex;align-items:center;gap:.9rem;margin:0 auto;padding:1.35rem clamp(1.25rem,6vw,6rem) 0;color:#756b80;font-size:.86rem;font-weight:700}.tool-nav a{color:var(--violet);text-decoration:none}.tool-nav a:hover{text-decoration:underline}.tool-nav span:before{content:"/";padding-right:.9rem;color:#b7b0bd}.tool-nav .payroll-secondary-link{margin-left:auto;padding:.55rem .95rem;border:1px solid rgba(109,98,255,.28);border-radius:999px;background:#6d62ff14;text-decoration:none}.tool-nav .payroll-secondary-link:hover{background:#6d62ff24}.hero{min-height:480px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:center;gap:3rem;max-width:1440px;margin:0 auto;padding:clamp(2rem,4vw,4.5rem) clamp(1.25rem,6vw,6rem) clamp(3rem,6vw,5rem);overflow:hidden}.eyebrow{margin:0 0 1rem;color:var(--violet);font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}h1,h2{font-family:var(--display);font-weight:900;letter-spacing:-.025em;line-height:.98;text-transform:uppercase}h1{max-width:820px;margin:0;font-size:clamp(3.25rem,7vw,7.4rem)}h2{margin:0;font-size:clamp(2.35rem,4.5vw,4.75rem)}.hero-summary{max-width:660px;margin:2rem 0 0;color:#675b73;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.65}.hero-art{min-width:0;display:grid;place-items:center;overflow:hidden}.payroll-hero-image{display:block;width:min(100%,520px);height:auto;object-fit:contain}.workspace-section{padding:clamp(4rem,8vw,7rem) clamp(1.25rem,6vw,6rem);background:var(--warm)}.workspace-heading{max-width:820px;margin:0 auto 2.5rem;text-align:center}.workspace-heading>p:last-child{color:#675b73;line-height:1.6}.auth-card,.upload-card{max-width:1000px;margin:0 auto;padding:clamp(1.5rem,4vw,3rem);background:#fff;border-top:5px solid var(--violet)}.auth-card{display:flex;align-items:center;justify-content:space-between;gap:2rem}.auth-card h3{margin:0 0 .5rem;font-size:1.35rem}.auth-card p{margin:0;color:#675b73}.primary-button{min-height:52px;padding:.85rem 1.6rem;border:0;border-radius:999px;background:var(--mint);color:#fff;font-weight:800;box-shadow:0 7px #2806571f;transition:transform .15s ease,box-shadow .15s ease}.primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 9px #2806571f}.primary-button:focus-visible,.text-button:focus-visible,.file-field:focus-within{outline:3px solid var(--violet);outline-offset:3px}.primary-button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.upload-grid.single-upload{grid-template-columns:minmax(0,650px);justify-content:center}.file-field{min-height:210px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem;border:2px dashed rgba(40,6,87,.35);background:#fff;text-align:center;transition:border-color .15s ease,background .15s ease}.file-field:hover,.file-field.has-file,.file-field.is-dragging{border-color:var(--mint);background:#69d09d14}.file-field.has-error{border-color:var(--danger);background:#b7372a0d}.file-field input{position:absolute;width:1px;height:1px;opacity:0}.file-label{font-size:1.1rem;font-weight:800}.file-name{color:#675b73;font-size:.92rem;overflow-wrap:anywhere}.file-action{color:var(--violet);font-weight:800}.file-error{color:var(--danger);font-size:.85rem;font-weight:800}.privacy-note{display:flex;gap:.6rem;margin:1.5rem 0;padding:1rem 1.15rem;border-left:4px solid var(--mint);background:var(--warm);color:#675b73;line-height:1.5}.privacy-note strong{color:var(--plum);white-space:nowrap}.generate-button{display:block;margin-left:auto}.status-message{max-width:1000px;margin:1rem auto 0;padding:1rem 1.2rem;border-left:5px solid;background:#fff;font-weight:700}.status-message.error{border-color:var(--danger);color:var(--danger)}.status-message.success{border-color:var(--mint);color:#176b49}.status-message.working{border-color:var(--violet);color:var(--plum)}.employee-page{padding:1.75rem clamp(.75rem,3vw,2rem) 3rem;background:var(--warm)}.employee-page>*{max-width:960px;margin-left:auto;margin-right:auto}.employee-page-heading{margin-bottom:1.15rem}.employee-page-heading h1{font-size:clamp(2.5rem,6vw,4.5rem)}.employee-page-heading>p:last-child{max-width:720px;color:#675b73;line-height:1.6}.employee-import-bar,.employee-form,.employee-table-card{background:#fff;border-top:3px solid var(--violet)}.employee-import-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.85rem 1rem}.employee-import-bar p{margin:.2rem 0 0;color:#675b73;font-size:.82rem;line-height:1.35}.employee-import-actions{display:flex;gap:.5rem;flex-shrink:0}.secondary-button{min-height:38px;padding:.45rem .8rem;border:1px solid var(--plum);border-radius:999px;background:#fff;color:var(--plum);font-size:.8rem;font-weight:700}.import-button{display:inline-flex;align-items:center;justify-content:center}.import-button input{position:absolute;width:1px;height:1px;opacity:0}.employee-import-actions .primary-button{min-height:38px;padding:.45rem .8rem;font-size:.8rem;box-shadow:0 4px #2806571a}.employee-form{margin-top:.85rem;padding:1rem}.employee-form-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.employee-form-heading h2{font-size:1.75rem}.employee-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem .8rem;margin-bottom:.85rem}.employee-form-grid label{display:flex;flex-direction:column;gap:.25rem;color:var(--plum);font-size:.72rem;font-weight:600}.employee-form-grid input,.employee-form-grid select{width:100%;min-height:34px;padding:.35rem .5rem;border:1px solid #cfc8d6;border-radius:3px;background:#fff;color:var(--ink);font-size:.85rem;font-weight:400}.employee-form-grid select:disabled,.employee-form-grid input:disabled{background:#eceaec;color:#857c8d;cursor:not-allowed}.employee-form-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.employee-form-secondary-actions{display:flex;align-items:center;gap:.65rem}.compact-button{min-height:38px;padding:.45rem 1rem;font-size:.82rem;box-shadow:0 4px #2806571a}.danger-button{min-height:34px;padding:.35rem .6rem;border:0;border-bottom:2px solid #eaa19a;background:transparent;color:var(--danger);font-size:.78rem;font-weight:700}.employee-table-card{margin-top:.85rem}.employee-count{padding:.7rem .85rem;color:#675b73;font-size:.9rem}.employee-count strong{color:var(--plum)}.employee-table-scroll{overflow-x:auto}.employee-table-card table{width:100%;border-collapse:collapse}.employee-table-card th,.employee-table-card td{padding:.55rem .6rem;border-top:1px solid #e5e0e8;text-align:left;white-space:nowrap;font-size:.82rem}.employee-table-card th{background:#f8f7f9;color:#675b73;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.row-actions{display:flex;justify-content:flex-end}.row-actions button,.missing-employees button{padding:0;border:0;border-bottom:2px solid var(--mint);background:transparent;color:var(--plum);font-weight:800}.inline-editor-row>td{padding:0!important;background:#f8f7f9;white-space:normal!important}.inline-editor-row .employee-form{margin:0;border-top:0;border-left:3px solid var(--mint)}.missing-employees{max-width:1000px;display:flex;flex-wrap:wrap;gap:.8rem 1.25rem;margin:1rem auto 0;padding:1.2rem;border-left:5px solid var(--warning);background:#fff}.missing-employees h3{flex-basis:100%;margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.process-section{padding:clamp(4rem,8vw,7rem) clamp(1.25rem,6vw,6rem);background:var(--plum);color:#fff}.process-section>.eyebrow,.process-section>h2{max-width:1180px;margin-left:auto;margin-right:auto}.process-section .eyebrow{color:var(--mint)}.steps{max-width:1180px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:3rem auto 0;background:#ffffff2e}.steps article{min-height:230px;padding:2rem;background:var(--plum)}.steps span{color:var(--mint);font-family:var(--display);font-size:2.4rem;font-weight:900}.steps h3{margin:1rem 0 .6rem;font-size:1.3rem}.steps p{margin:0;color:#ffffffc2;line-height:1.6}footer{display:flex;justify-content:space-between;gap:1rem;padding:2.25rem clamp(1.25rem,6vw,6rem);background:#1c043d;color:#fff;font-size:.85rem}footer span{color:var(--mint)}@media(max-width:980px){.payroll-hero{min-height:auto;grid-template-columns:minmax(0,1fr);gap:0}.payroll-hero .hero-art{display:none}}@media(max-width:760px){.site-header{min-height:82px}.account span{display:none}.hero{min-height:auto;grid-template-columns:1fr;padding-top:2.5rem}.portal-hero{padding-top:4rem}.tool-grid{grid-template-columns:repeat(2,minmax(0,188px))}.upload-grid,.steps{grid-template-columns:1fr}.auth-card{align-items:stretch;flex-direction:column}.primary-button,.generate-button{width:100%}.privacy-note{align-items:flex-start;flex-direction:column}footer{flex-direction:column}.employee-import-bar{grid-template-columns:1fr}.employee-import-actions{align-items:stretch;flex-direction:column}.employee-page .primary-button{width:auto}.employee-form-grid{grid-template-columns:1fr 1fr}}@media(max-width:460px){.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-form-grid{grid-template-columns:1fr}}@media(max-width:340px){.tool-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
