:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172323;background:#f4f6f5;line-height:1.45;font-size:14px;--line:#e1e8e4;--muted:#5b6a65;--accent:#006851;--dark:#12342e;--paper:#fff}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:8px 12px;color:#1f3a33;font-weight:650}button:hover{background:#edf5f1}button:disabled{cursor:wait;opacity:.6}.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.primary:hover{background:#07513f}a{color:var(--accent)}input,select,textarea{min-width:0;border:1px solid #cbd7d2;border-radius:7px;background:white;color:#172323;padding:8px 10px}input:focus,button:focus-visible,select:focus,textarea:focus{outline:2px solid #00866a;outline-offset:2px}h1,h2,p{margin:0}h1{font-size:36px;line-height:1.12;letter-spacing:-1.4px}h2{font-size:17px;letter-spacing:-.25px}.muted,small{color:var(--muted)}.loading{padding:3rem}.shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{background:#112e29;color:#eef8f4;padding:24px 16px;display:flex;flex-direction:column;gap:32px}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:780;letter-spacing:-.4px;padding:0 8px}.mark{display:grid;place-items:center;width:34px;height:34px;background:#d9f4e6;color:#105443;border-radius:9px;font-size:16px}.sidebar nav{display:grid;gap:5px}.sidebar nav button,.sidebar .signout{border:0;color:#d4e4de;background:transparent;text-align:left;padding:11px 12px}.sidebar nav button:hover,.sidebar nav button[aria-current=page]{background:#254940;color:white}.navicon{display:inline-block;width:27px;color:#a0d3bf}.sidefoot{margin-top:auto;padding:8px;color:#a9c6bb;font-size:12px}.main{min-width:0;padding:34px clamp(20px,4vw,52px) 56px;max-width:1650px;width:100%;margin:0 auto}.head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:24px}.head p{margin-top:8px;color:var(--muted)}.controls,.actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.environment{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.09em;color:#427568;margin-bottom:10px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}.card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:13px}.card{padding:17px}.card b{display:block;font-size:clamp(20px,2.2vw,31px);letter-spacing:-.9px;margin:7px 0 4px}.card span{color:var(--muted);font-weight:650}.card small{display:block}.panel{margin-bottom:16px;overflow:hidden}.panelhead{padding:17px 19px;display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}.panelhead p{color:var(--muted);font-size:13px;margin-top:3px}.two{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}.scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{color:#52655c;background:#f3f7f5;font-size:11px;text-transform:uppercase;letter-spacing:.045em}th,td{padding:11px 15px;border-top:1px solid var(--line);vertical-align:middle}td.wrap{white-space:normal;min-width:160px}.empty{padding:20px;color:var(--muted)}.tag{display:inline-block;border-radius:5px;padding:3px 7px;background:#e8f4ed;color:#1a644d;font-size:11px;font-weight:750}.tag.warn{background:#fff2dd;color:#7c4806}.tag.bad{background:#fae7e5;color:#8d2922}.bar{height:6px;border-radius:8px;background:#e3eee8;min-width:80px;overflow:hidden}.bar i{display:block;height:100%;background:#329479}.bar.over i{background:#be4b3e}.stack{display:grid;gap:12px;padding:0 19px 18px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:12px}.week{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:7px;padding:0 14px 15px;overflow:auto}.shiftday{border:1px solid var(--line);border-radius:8px;padding:9px}.shiftday strong{display:block;margin-bottom:8px}.shift{background:#e8f4ed;padding:6px;margin:4px 0;border-radius:5px;font-size:12px}.gap{background:#fff2dd;color:#7c4806}.banner{background:#fff2dd;border-radius:8px;padding:10px 13px;margin-bottom:15px;color:#6f460d}.login{max-width:430px;margin:9vh auto;padding:27px;border:1px solid var(--line);background:white;border-radius:14px}.login h1{margin:14px 0 8px}.login p{margin-bottom:15px}form{display:grid;gap:12px}label{display:grid;gap:4px;font-weight:650}.formactions{display:flex;justify-content:end;gap:8px;flex-wrap:wrap;margin-top:8px}dialog{width:min(96%,500px);border:1px solid var(--line);border-radius:13px;padding:21px;color:#172323}dialog::backdrop{background:#0b2118a6}dialog h2{margin-bottom:10px}dialog p{margin-bottom:10px}#notice:not(:empty){position:fixed;bottom:20px;right:20px;max-width:min(400px,90%);background:#163e33;color:white;padding:12px 16px;border-radius:9px;z-index:5}.note{font-size:12px;color:var(--muted);margin:0 0 15px}.negative{color:#9a3329}@media(max-width:950px){.shell{grid-template-columns:175px minmax(0,1fr)}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.two{grid-template-columns:1fr}}@media(max-width:700px){.shell{display:block}.sidebar{padding:12px;gap:10px}.sidebar nav{display:flex;overflow:auto;gap:4px}.sidebar nav button{white-space:nowrap;padding:7px 10px}.navicon{display:none}.sidefoot{padding:0}.main{padding:20px 13px}.head{align-items:start;flex-direction:column}h1{font-size:29px}.login{margin:4vh 12px}}
.profiles{display:grid;gap:7px;padding:0 7px}.profiles label{font-size:12px;color:#d4e4de}.profiles select{width:100%}.profile-new{font-size:12px;background:#254940;color:white;border-color:#406357}.profile-new:hover{background:#386456}.connection-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.providers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:14px;margin-bottom:16px}.provider{margin:0;display:flex;flex-direction:column}.provider>p{padding:0 19px 13px;color:var(--muted)}.provider>.actions{padding:0 19px 17px;margin-top:auto}.provider-link{font-weight:650;text-decoration:none}.provider-link:hover{text-decoration:underline}
dialog.claim-sheet{width:min(96%,760px)}@media print{body:has(dialog.claim-sheet[open]) #app,body:has(dialog.claim-sheet[open]) #notice{display:none}dialog.claim-sheet[open]{position:static;width:100%;max-width:none;max-height:none;border:0;padding:0;margin:0;overflow:visible}dialog.claim-sheet::backdrop{display:none}dialog.claim-sheet button,dialog.claim-sheet .formactions,dialog.claim-sheet form>label{display:none}dialog.claim-sheet td{white-space:normal}}
.brand{line-height:1.2}.brand .mark{flex:0 0 36px;font-size:12px}.claim-sheet td small{white-space:normal}@media(max-width:700px){.head .controls,.panelhead .controls{width:100%}.panelhead .controls input{flex:1 1 150px}.panelhead .controls select{flex:1 1 125px}.formactions button{min-height:42px}.scroll{scrollbar-width:thin}.sidebar nav button{min-height:38px}}

.mobile-nav{display:none}
.desktop-nav .nav-group{display:grid;gap:3px;margin-bottom:12px}
.nav-group small{padding:7px 12px 2px;color:#a9c6bb;text-transform:uppercase;font-size:10px;letter-spacing:.09em}
.sidebar .desktop-nav button{display:flex;align-items:center}
.sidebar .brand{font-size:17px}
.statement-activity{margin:14px 0 5px;font-weight:700}
.mobile-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mobile-menu button{min-height:44px;text-align:left}
@media(min-width:701px){
  .sidebar{position:sticky;top:0;height:100vh;height:100dvh;overflow:auto;gap:18px}
  .main{padding-top:38px}
}
@media(max-width:700px){
  .sidebar .desktop-nav,.sidebar .sidefoot{display:none}
  .sidebar .brand{font-size:17px}
  .sidebar .profiles{display:flex;align-items:end;gap:8px}
  .profiles label{flex:1;min-width:0}
  .sidebar .profile-new{min-height:39px}
  .main{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
  .mobile-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;
    z-index:3;background:#fff;border-top:1px solid var(--line);padding:5px 4px calc(5px + env(safe-area-inset-bottom))}
  .mobile-nav button{display:grid;justify-items:center;gap:2px;min-height:48px;border:0;padding:4px 1px;font-size:11px}
  .mobile-nav .navicon{display:block;width:auto;font-size:17px;line-height:1.15;color:inherit}
  .mobile-nav button[aria-current=page]{background:#e8f4ed;color:#005744}
  #notice:not(:empty){bottom:calc(73px + env(safe-area-inset-bottom))}
  .mobile-cards table,.mobile-cards tbody,.mobile-cards tr{display:block;white-space:normal}
  .mobile-cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .mobile-cards tbody{padding:0 12px 12px;display:grid;gap:8px}
  .mobile-cards tr{border:1px solid var(--line);border-radius:9px;padding:6px 11px}
  .mobile-cards td{display:grid;grid-template-columns:105px minmax(0,1fr);align-items:center;gap:7px;padding:5px 0;border:0}
  .mobile-cards td::before{content:attr(data-label);font-size:11px;color:var(--muted)}
  .mobile-cards td:last-child button{justify-self:end;min-height:44px}
  .mobile-cards td br{display:none}
}
@media(max-width:700px){.mobile-cards .cell-value{min-width:0;overflow-wrap:anywhere}.mobile-cards .cell-value small{display:block}.mobile-cards td:last-child .cell-value:has(button){justify-self:end}.sidebar{padding-top:max(12px,env(safe-area-inset-top))}}
#employee-clock button{min-height:44px;margin:4px 8px 6px 0}
#employee-clock [role=alert]:empty{display:none}

.product{max-width:1250px;margin:0 auto;padding:0 clamp(20px,5vw,64px) 42px}
.product-header{min-height:78px;display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid var(--line)}
.product-brand{display:flex;align-items:center;gap:10px;font-weight:750;text-decoration:none;color:#132c25}
.product-brand b{border-radius:8px;background:#12342e;color:#e4faee;padding:8px}
.product-header nav,.product-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.product-header nav a{font-weight:650;text-decoration:none}
.product-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:clamp(20px,5vw,68px);padding:clamp(34px,8vw,96px) 0 48px}
.product-hero h1{font-size:clamp(34px,5.5vw,70px);letter-spacing:-.055em;line-height:1.05;max-width:13ch}
.product-hero p{max-width:41ch;font-size:17px;color:var(--muted);margin:20px 0 25px}
.product-actions a{display:inline-flex;align-items:center;min-height:46px;padding:10px 14px;border-radius:9px;font-weight:700;text-decoration:none}
.product-primary{background:#006851;color:white}.product-secondary{border:1px solid var(--line);background:white}
.product-preview{background:white;border:1px solid var(--line);border-radius:17px;box-shadow:0 12px 38px #122c2410;padding:19px;min-width:0}
.preview-top,.preview-row{display:flex;justify-content:space-between;gap:10px;align-items:center}
.preview-top span,.preview-numbers span{color:var(--muted);font-size:12px}
.preview-numbers{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}
.preview-numbers div{padding:12px;background:#edf5f0;border-radius:8px}.preview-numbers strong{display:block;font-size:24px}
.preview-row{border-top:1px solid var(--line);padding:11px 0}.preview-row small{display:block}
.preview-row span{font-size:11px;background:#e8f4ed;border-radius:5px;padding:4px 6px;white-space:nowrap}
.product-features{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.product-features article{border-top:1px solid var(--line);padding:14px 3px}
.product-features p{margin-top:7px;color:var(--muted)}
@media(max-width:720px){.product-header{min-height:62px}.product-brand span{display:none}.product-hero{grid-template-columns:1fr;gap:22px}.product-hero h1{max-width:16ch}.product-features{grid-template-columns:1fr}.product-header nav{gap:10px}}
