.ach-app,.ach-login,.ach-modal{--ach-purple:#7139d5;--ach-ink:#242037;--ach-muted:#716b80;--ach-line:#e9e5f0;box-sizing:border-box;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ach-ink);font-size:15px;line-height:1.5;text-align:left}.ach-app *,.ach-login *,.ach-modal *{box-sizing:border-box}.ach-app{max-width:1240px;margin:24px auto;padding:0 18px 32px}.ach-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0 24px}.ach-eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--ach-purple)}.ach-header h1{font-size:40px;letter-spacing:-1.5px;line-height:1.1;margin:9px 0;color:var(--ach-ink);font-weight:800}.ach-header h1 span{color:var(--ach-purple)}.ach-header p{color:var(--ach-muted);margin:0;font-size:14px}.ach-dot{padding:0 9px;color:#b6a9ce}.ach-header-actions{display:flex;gap:16px;align-items:center}.ach-link,.ach-app a{color:var(--ach-purple)}.ach-nav{display:flex;overflow-x:auto;gap:5px;border-bottom:1px solid var(--ach-line);margin-bottom:24px;padding:0 0 10px;scrollbar-width:thin}.ach-nav button{font:inherit;white-space:nowrap;border:0;background:transparent;color:var(--ach-muted);padding:10px 13px;border-radius:10px;cursor:pointer;font-size:13px;font-weight:650}.ach-nav button.active{background:#efe8fa;color:#6026bf}.ach-hero{background:#241735;color:white;border-radius:18px;padding:30px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;position:relative;overflow:hidden}.ach-hero .ach-eyebrow{color:#c7a2ff}.ach-hero h2{font-size:28px;line-height:1.2;color:white;margin:12px 0;letter-spacing:-.7px}.ach-hero p{color:#c9c1d5;margin:0}.ach-live{display:flex;align-items:center;gap:9px;border:1px solid #655375;border-radius:30px;padding:10px 15px;white-space:nowrap;font-size:13px}.ach-live i{width:8px;height:8px;border-radius:50%;background:#a6edc1}.ach-live.off i{background:#b5a6c3}.ach-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:0 0 22px}.ach-metric{background:#faf8fd;border:1px solid var(--ach-line);padding:19px 21px;border-radius:14px;display:flex;flex-direction:column;gap:5px}.ach-metric span{color:var(--ach-muted);font-size:12px}.ach-metric strong{font-size:25px;line-height:1.3;letter-spacing:-.6px;font-weight:750}.ach-metric small{font-size:11px;color:var(--ach-muted)}.ach-card{background:#fff;border:1px solid var(--ach-line);border-radius:16px;padding:24px;margin:0 0 20px;box-shadow:0 3px 12px #27132e03}.ach-section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.ach-card h3{font-size:18px;font-weight:750;letter-spacing:-.3px;margin:0;color:var(--ach-ink)}.ach-section-title p{color:var(--ach-muted);font-size:13px;margin:6px 0 0}.ach-btn{appearance:none!important;display:inline-flex;justify-content:center;align-items:center;border:1px solid #ded5ea!important;border-radius:9px!important;padding:9px 13px!important;background:white!important;color:var(--ach-ink)!important;font:600 13px/1.5 system-ui!important;cursor:pointer!important;box-shadow:none!important;text-decoration:none!important;margin:2px 5px 2px 0;min-height:40px}.ach-btn.primary{background:var(--ach-purple)!important;color:white!important;border-color:var(--ach-purple)!important}.ach-btn:hover{filter:brightness(.96)}.ach-btn:disabled{opacity:.5;cursor:wait!important}.ach-btn.big{font-size:16px!important;min-height:58px;padding:16px 25px!important;flex:1}.ach-punches{display:flex;gap:12px;margin-bottom:22px}.ach-app label,.ach-modal label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;color:#51495f}.ach-app input:not([type=checkbox]),.ach-app select,.ach-app textarea,.ach-modal input:not([type=checkbox]),.ach-modal select,.ach-modal textarea{font:400 15px/1.4 system-ui!important;background:#fff!important;border:1px solid #dcd5e6!important;border-radius:8px!important;padding:10px 11px!important;color:#292235!important;max-width:100%;width:100%;height:auto;min-height:44px;box-shadow:none!important}.ach-app input:focus,.ach-app select:focus,.ach-app textarea:focus,.ach-modal input:focus,.ach-modal select:focus,.ach-modal textarea:focus{outline:2px solid #b595ec!important;outline-offset:1px}.ach-check{display:flex!important;flex-direction:row!important;align-items:center;font-weight:500!important;margin:12px 0;gap:10px!important}.ach-check input{width:18px!important;height:18px!important;accent-color:#7139d5;flex-shrink:0}.ach-note-label{max-width:640px}.ach-small{font-size:12px;color:var(--ach-muted);line-height:1.7}.ach-table-wrap{overflow-x:auto;max-width:100%}.ach-app table{width:100%;border-collapse:collapse;font-size:13px;text-align:left;border:0}.ach-app th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:#847a92;background:#faf8fc;padding:12px;text-align:left;border:0;white-space:nowrap}.ach-app td{padding:14px 12px;border:0;border-bottom:1px solid #efeaf4;vertical-align:top;min-width:95px}.ach-app tr:last-child td{border-bottom:0}.ach-app td small{color:var(--ach-muted);font-size:11px}.ach-badge{display:inline-block;background:#eeeaf4;color:#655b76;padding:4px 8px;border-radius:7px;font-size:11px;font-weight:650;white-space:nowrap}.ach-badge.good{background:#e8f5ec;color:#277648}.ach-badge.warn{background:#fff2dc;color:#966112}.ach-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ach-wide{grid-column:1/-1}.ach-form textarea{min-height:90px}.ach-form-end{display:flex;justify-content:flex-end;padding-top:6px}.ach-warning{padding:12px 16px;background:#fff8e9;color:#806020;border-radius:8px;font-size:13px}.ach-empty{padding:20px;background:#faf8fc;border-radius:8px;color:var(--ach-muted);font-size:13px}.ach-toolbar{margin:10px 0 18px}.ach-footer{font-size:11px;color:#8c8298;padding:16px 5px;max-width:950px;line-height:1.8}.ach-toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#2c1c40;color:white;border-radius:12px;padding:14px 22px;z-index:1000001;box-shadow:0 8px 40px #21133135;font:500 14px/1.5 system-ui;max-width:calc(100vw - 32px);width:max-content}.ach-toast.error{background:#9e3349}.ach-modal-back{position:fixed;inset:0;background:#1d11296b;z-index:100000;display:flex;align-items:center;justify-content:center;padding:22px;overflow:auto}.ach-modal{background:white;border-radius:16px;padding:25px;max-width:720px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 20px 80px #1d11294d}.ach-modal-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.ach-modal h2{font-size:23px;line-height:1.2;margin:0}.ach-login{max-width:460px;border:1px solid var(--ach-line);padding:35px;border-radius:18px;margin:50px auto;background:#fff}.ach-login h2{font-size:28px;line-height:1.2}.ach-login label{display:block;font-size:13px}.ach-login input[type=text],.ach-login input[type=password]{width:100%;padding:12px;border:1px solid #ddd3e9;border-radius:8px}.ach-login input[type=submit]{background:var(--ach-purple);color:white;border:0;border-radius:9px;padding:12px 25px}.ach-login a{color:var(--ach-purple)}
@media(max-width:650px){.ach-app{padding:0 9px;margin:10px auto}.ach-header{align-items:flex-start;gap:8px}.ach-header h1{font-size:32px}.ach-header-actions{gap:4px;flex-direction:column}.ach-header p{font-size:12px}.ach-hero{padding:23px;display:block}.ach-hero h2{font-size:25px}.ach-live{display:inline-flex;margin-top:20px}.ach-card{padding:18px 14px}.ach-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ach-metric{padding:14px}.ach-metric strong{font-size:21px}.ach-punches{flex-direction:column;gap:6px}.ach-form{grid-template-columns:1fr}.ach-modal-back{padding:12px}.ach-modal{padding:20px 16px}.ach-btn{min-height:44px}.ach-eyebrow{font-size:10px}.ach-header .ach-btn{padding:6px 9px!important;font-size:11px!important}.ach-nav{margin-bottom:16px}.ach-app td{padding:12px 9px}}
@media print{body *{visibility:hidden}#ach-app,#ach-app *{visibility:visible}#ach-app{position:absolute;left:0;top:0;width:100%;max-width:none;font-size:10px}#ach-app .ach-nav,#ach-app .ach-header-actions,#ach-app .ach-btn,#ach-app form,#ach-app .ach-footer{display:none}#ach-app .ach-table-wrap{overflow:visible}#ach-app table{font-size:9px}#ach-app td{min-width:0;padding:5px}#ach-app th{font-size:8px;padding:5px}#ach-app .ach-card{break-inside:avoid;border:0;padding:8px}#ach-app .ach-metric{padding:8px}#ach-app .ach-metric strong{font-size:16px}.ach-modal-back,.ach-toast{display:none}}

.ach-location-box{background:#f8f4fd;border:1px solid #e3d9f1;border-radius:12px;padding:18px}.ach-location-box h3{margin:0;font-size:17px}.ach-location-box p{font-weight:400}.ach-location-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.ach-location-box #ach-location-status{font-size:13px;margin:12px 0;color:#59416e}.ach-location-box a{color:#7139d5;font-size:13px}.ach-advanced{border:1px solid #e7e0ef;border-radius:9px;padding:12px}.ach-advanced summary{cursor:pointer;font-size:13px;color:#635471}.ach-advanced[open] summary{margin-bottom:15px}.ach-holiday-year{margin:20px 0}.ach-holiday-year h4{font-size:16px;margin:15px 0}

/* Branded employee access, scoped to avoid affecting the host theme. */
.ach-login.ach-access{width:calc(100% - 32px);max-width:520px;margin:40px auto;padding:0;overflow:hidden;border:1px solid #e9e1f1;border-radius:24px;background:#fff;box-shadow:0 16px 56px rgba(43,19,73,.09);text-align:left;color:#261a36}
.ach-access .ach-access-brand{padding:30px 36px 27px;background:linear-gradient(120deg,#28133e 0%,#47206f 62%,#7139d5 100%);color:#fff;position:relative}
.ach-access .ach-access-wordmark{display:inline-block;font:850 30px/1.1 ui-sans-serif,system-ui,sans-serif;letter-spacing:-1.4px;color:#fff}
.ach-access .ach-access-wordmark span{font-weight:450;margin-left:6px}.ach-access .ach-access-wordmark i{font-style:normal;color:#c8a3ff;font-size:38px;line-height:0}
.ach-access .ach-access-tag{display:block;margin:22px 0 9px;font-size:10px;line-height:1.5;font-weight:700;letter-spacing:2px;color:#d9c8ee}
.ach-access .ach-access-brand p{margin:0;color:#eee5f8;font-size:14px;line-height:1.6}
.ach-access .ach-access-body{padding:32px 36px 26px}.ach-access .ach-access-kicker{margin:0 0 10px;color:#7139d5;font-size:10px;font-weight:800;letter-spacing:1.7px;line-height:1.6}
.ach-access .ach-access-body h2{font-family:inherit;font-size:28px;font-weight:750;letter-spacing:-.9px;line-height:1.2;margin:0 0 13px;color:#261a36;text-transform:none}
.ach-access .ach-access-intro{margin:0 0 26px;color:#75697f;font-size:14px;line-height:1.75}
.ach-access .ach-form{display:flex;flex-direction:column;gap:19px;margin:0;padding:0}
.ach-access .ach-form label{display:flex;flex-direction:column;gap:8px;margin:0;color:#463b52;font:600 13px/1.5 ui-sans-serif,system-ui,sans-serif}
.ach-access .ach-form input:not([type=hidden]){appearance:none!important;display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:52px!important;height:52px!important;margin:0!important;padding:13px 15px!important;border:1px solid #ded6e8!important;border-radius:10px!important;background:#fcfbfe!important;box-shadow:none!important;color:#261a36!important;font:400 16px/1.4 ui-sans-serif,system-ui,sans-serif!important;box-sizing:border-box!important}
.ach-access .ach-form input::placeholder{color:#a39aaa;opacity:1}.ach-access .ach-form input:focus{outline:3px solid #e8dcfa!important;outline-offset:1px;border-color:#7139d5!important;background:white!important}
.ach-access .ach-access-submit{width:100%;min-height:52px;padding:13px 18px!important;margin:5px 0 0!important;gap:12px;border-radius:10px!important;background:#7139d5!important;font-size:14px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;box-shadow:0 6px 16px rgba(113,57,213,.16)!important}.ach-access .ach-access-submit span{font-size:20px;line-height:1}
.ach-access .ach-access-submit:hover{background:#6027c0!important;filter:none}.ach-access .ach-access-submit:focus-visible,.ach-access a:focus-visible{outline:3px solid #b99ae9!important;outline-offset:4px}
.ach-access .ach-access-help{text-align:center;margin:20px 0 0;font-size:13px;line-height:1.6}.ach-access .ach-access-help a{color:#6830c2;text-decoration:none;font-weight:600}.ach-access .ach-access-help a:hover{text-decoration:underline}
.ach-access .ach-access-notice{margin:0 0 23px;padding:13px 15px;border:1px solid #e2d4f5;background:#f7f2fd;border-radius:10px;color:#503868;font-size:13px;line-height:1.65}
.ach-access .ach-access-footer{padding:18px 36px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;border-top:1px solid #f0eaf6;background:#fcfaff;color:#8b7d99;font-size:11px;line-height:1.5}.ach-access .ach-access-footer span:first-child{font-weight:750;letter-spacing:1px;color:#675276}
@media(max-width:540px){.ach-login.ach-access{margin:20px auto;width:calc(100% - 24px);border-radius:18px}.ach-access .ach-access-brand{padding:25px 24px}.ach-access .ach-access-body{padding:27px 24px 25px}.ach-access .ach-access-body h2{font-size:26px}.ach-access .ach-access-footer{padding:17px 24px}.ach-access .ach-access-wordmark{font-size:28px}}

.ach-password-field{position:relative;display:block;width:100%}.ach-access .ach-password-field input{padding-right:54px;width:100%;box-sizing:border-box}.ach-access .ach-password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:8px;border:0;border-radius:8px;background:transparent;color:#6247a7;cursor:pointer}.ach-access .ach-password-toggle:focus-visible{outline:2px solid #6247a7;outline-offset:1px}.ach-access .ach-password-toggle[aria-pressed=true]{background:#eee8fb}

.ach-week-picker{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.ach-week-picker label{display:flex;flex-direction:column;gap:7px;flex:1;min-width:180px}.ach-week-picker select,.ach-week-picker input,.ach-week-slot input,.ach-week-slot select,.ach-week-copy input{padding:10px;border:1px solid #dcd9e6;border-radius:9px;background:white;color:#252035;font:inherit;min-width:0;box-sizing:border-box}.ach-week-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;background:#f3effb;padding:18px;border-radius:12px;margin:16px 0}.ach-week-summary strong{font-size:22px;color:#6740b5}.ach-week-unsaved{font-size:13px}.ach-week-day{border:1px solid #e4e0ed;border-radius:12px;margin:12px 0;padding:16px}.ach-week-day-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.ach-week-day-title h4{margin:0;font-size:17px}.ach-week-day-title small{font-weight:400;color:#787184;margin-left:8px}.ach-week-slot{display:grid;grid-template-columns:1fr 1fr .8fr 1.5fr;gap:12px;align-items:end;margin-top:15px;padding-top:12px;border-top:1px solid #eeeaf3}.ach-week-slot label{display:flex;flex-direction:column;gap:5px;font-size:13px}.ach-week-slot .ach-week-night{flex-direction:row;align-items:center;grid-column:span 2}.ach-week-slot input:disabled,.ach-week-slot select:disabled{background:#f2f1f5;color:#756f7e}.ach-week-rest{margin:12px 0 0;color:#81798a;font-size:14px}.ach-week-save{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.ach-week-copy,.ach-planning-advanced{margin:20px 0;padding:16px;border:1px solid #e4e0ed;border-radius:12px}.ach-week-copy summary,.ach-planning-advanced summary{cursor:pointer;font-weight:600;color:#6740b5}.ach-week-message:empty{display:none}.ach-week-message{padding:12px;background:#f5f2fb;border-radius:8px}.ach-week-copy label{display:inline-flex;flex-direction:column;gap:5px;margin-right:12px}@media(max-width:650px){.ach-week-slot{grid-template-columns:1fr 1fr}.ach-week-day-title{align-items:start;flex-direction:column}.ach-week-summary strong{font-size:19px}.ach-week-picker{align-items:stretch}.ach-week-slot label{font-size:12px}}

.ach-cal-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:20px;align-items:start}.ach-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.ach-cal-weekday{text-align:center;font-weight:700;color:#766886;padding:8px}.ach-cal-day{border:1px solid #e3dfeb;border-radius:10px;background:#faf9fc;min-height:105px;overflow:hidden}.ach-cal-day.working{background:#eee7fc;border-color:#c6afea}.ach-cal-day.selected{outline:2px solid #7744b9;outline-offset:1px}.ach-cal-toggle{display:flex;align-items:center;justify-content:space-between;padding:9px;font-weight:700;gap:3px}.ach-cal-toggle input{width:18px;height:18px;accent-color:#7744b9}.ach-cal-day button{width:100%;text-align:left;background:transparent;border:0;color:#614084;font:inherit;font-size:11px;cursor:pointer;padding:0 7px 9px;min-height:48px}.ach-cal-day small{display:block;color:#80748d;font-size:9px;margin-top:5px}.ach-cal-day.protected{opacity:.72}.ach-cal-detail{border:1px solid #e3dfeb;border-radius:12px;padding:18px;background:white}.ach-cal-detail h4{margin:0;font-size:20px;color:#643994}.ach-cal-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 0;border-bottom:1px solid #eee}.ach-cal-fields label{display:flex;flex-direction:column;gap:5px;font-size:12px}.ach-cal-fields input,.ach-cal-fields select,.ach-cal-delete input{min-width:0;width:100%;box-sizing:border-box;padding:9px;border:1px solid #dcd7e5;border-radius:8px;background:white;color:#342840;font:inherit}.ach-cal-fields .ach-cal-check{flex-direction:row;align-items:center;grid-column:span 2}.ach-cal-check input{width:auto}.ach-cal-template,.ach-cal-delete{border:1px solid #e3dfeb;padding:15px;border-radius:10px;margin:18px 0}.ach-cal-template summary,.ach-cal-delete summary{cursor:pointer;font-weight:600;color:#643994}.ach-cal-defaults .ach-cal-fields{grid-template-columns:repeat(4,1fr);border:0}.ach-cal-delete>label{display:inline-flex;flex-direction:column;gap:6px;margin:8px 10px 8px 0}.ach-cal-delete summary{color:#9b354b}.ach-cal-message:empty{display:none}.ach-cal-message{background:#f3eff9;padding:12px;border-radius:8px}@media(max-width:900px){.ach-cal-layout{grid-template-columns:1fr}.ach-cal-detail{margin-top:10px}}@media(max-width:550px){.ach-cal-grid{gap:3px}.ach-cal-day{min-height:89px;border-radius:6px}.ach-cal-toggle{padding:6px 3px;font-size:12px}.ach-cal-day button{font-size:9px;padding:0 3px 5px}.ach-cal-defaults .ach-cal-fields{grid-template-columns:1fr 1fr}}
#ach-employee-calendar .ach-cal-day button{width:100%;min-height:96px;padding:10px 4px;text-align:center}#ach-employee-calendar .ach-cal-day small{display:block;font-size:11px}#ach-employee-calendar .ach-calendar-slot{padding:12px 0;border-bottom:1px solid #e6dff0}
.ach-sign-box{border:1px solid #ded2ed;background:#faf7ff;padding:18px;border-radius:14px}.ach-sign-canvas{display:block;width:100%;max-width:600px;height:auto;aspect-ratio:3/1;background:white;border:2px dashed #9672bb;border-radius:10px;touch-action:none;margin:12px 0}.ach-sign-status{color:#602b87;font-weight:600}
