@font-face{font-family:plusJakartaSans;src:url(../media/PlusJakartaSans_Variable-s.p.08ssgmy_tb90r.woff2)format("woff2");font-display:swap;font-weight:200 800;font-style:normal}@font-face{font-family:plusJakartaSans;src:url(../media/PlusJakartaSans_Variable_Italic-s.p.1x5es1flj2cxs.woff2)format("woff2");font-display:swap;font-weight:200 800;font-style:italic}@font-face{font-family:plusJakartaSans Fallback;src:local(Arial);ascent-override:98.16%;descent-override:20.99%;line-gap-override:0.0%;size-adjust:105.75%}.plusjakartasans_15f2049c-module__lLcwia__className{font-family:plusJakartaSans,plusJakartaSans Fallback}.plusjakartasans_15f2049c-module__lLcwia__variable{--ff-sans:"plusJakartaSans", "plusJakartaSans Fallback"}
@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/a128116a0bc3fa8c-s.1j5s5ojb4-d-s.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/9db33c57cd4391b8-s.237s8-2g-gft2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/8010b10db0d5feb2-s.p.0hamgza7cpt1x.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/167cd0713aa75522-s.40v7iydlhc_yt.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/e455bcff747f0d5e-s.438h7bwt6ldsi.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/791bf8c4bb753ed6-s.p.0rg7ym60g9xsl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_653ccfd1-module__iHjIpW__className{font-family:Fraunces,Fraunces Fallback}.fraunces_653ccfd1-module__iHjIpW__variable{--ff-display:"Fraunces", "Fraunces Fallback"}
:root{--ivory:#fafaf7;--bone:#f5f3ee;--clay-bg:#f0ede8;--sand:#e7e5e0;--ink:#1c1917;--ink-80:#3c362e;--muted:#675f58;--subtle:#6f675f;--blue-accent:#2455a4;--navy:#103f6d;--blue-soft:#eef4ff;--sage:#486a49;--sage-wash:#eef3ee;--red:#a4453b;--red-wash:#fdf2f0;--warning-ink:#8a650c;--warning-border:#e6cf91;--warning-wash:#fef9e7;--blue:#103f6d;--blue-dark:#0a2d50;--blue-wash:#eef4ff;--white:#fff;--type-small:.75rem;--type-body:1rem;--type-display:clamp(2rem, 4vw, 3.5rem);--shadow:0 20px 70px #1c19171c, 0 2px 8px #1c19170d;--sans:var(--ff-sans), "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--display:var(--ff-display), "Fraunces", Georgia, serif;--editorial:var(--ff-display), "Fraunces", Georgia, serif}*{box-sizing:border-box}html{background:var(--ivory);color:var(--ink);font-family:var(--sans);-webkit-tap-highlight-color:transparent;min-height:100%;overflow-x:clip}body{background:var(--ivory);min-height:100vh;color:var(--ink);margin:0}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}.brand{flex-direction:column;gap:.2rem;width:max-content;display:inline-flex}.brand__image{object-fit:contain;width:10.4rem;height:auto}.brand__image--light{filter:brightness(0)invert()}.brand span{color:var(--muted);font-size:var(--type-small);letter-spacing:.18em;text-transform:uppercase;font-weight:650}.brand--compact .brand__image{width:8rem}.kiosk-shell{min-height:100dvh;padding:max(1.4rem, env(safe-area-inset-top)) clamp(1.25rem, 4vw, 4.5rem) max(1rem, env(safe-area-inset-bottom));background:radial-gradient(circle at 4% 8%, #103f6d1c, transparent 24rem), linear-gradient(120deg, var(--ivory) 0 62%, var(--bone) 62% 100%);flex-direction:column;display:flex}.kiosk-header,.kiosk-footer{justify-content:space-between;align-items:center;gap:1rem;display:flex}.live-clock{text-align:right;font-variant-numeric:tabular-nums}.live-clock strong{font-size:var(--type-body);font-weight:600;line-height:1.1;display:block}.live-clock span{color:var(--muted);font-size:var(--type-body)}.kiosk-layout{flex:1;grid-template-columns:minmax(23rem,30rem);justify-content:center;align-items:center;padding:2.25rem 0;display:grid}.kiosk-card,.punch-result{width:100%;box-shadow:var(--shadow);background:#ffffffeb;border:1px solid #1c191717;border-radius:.4rem}.kiosk-card{padding:clamp(1.35rem,3vw,2rem)}.language-switch{border:1px solid var(--sand);background:var(--ivory);border-radius:999px;margin-bottom:1.5rem;padding:.2rem;display:inline-flex}.language-switch button{min-height:2rem;color:var(--muted);font-size:var(--type-small);background:0 0;border:0;border-radius:999px;padding:.35rem .75rem;font-weight:650}.language-switch button.is-active{background:var(--blue);color:var(--ivory)}.language-switch button:disabled{cursor:not-allowed;opacity:.55}.kiosk-card__heading h1,.activation-card h1,.punch-result h1{font-family:var(--display);font-size:var(--type-display);letter-spacing:-.04em;margin:.35rem 0 .45rem;font-weight:300;line-height:1.02}.kiosk-card__heading>p:last-child,.activation-card>p,.punch-result>p{color:var(--muted);font-size:var(--type-body);margin:0;line-height:1.55}.punch-code-display{border:1px solid var(--sand);background:var(--blue-soft);color:var(--ink);border-radius:.25rem;margin:1.3rem 0 1rem;padding:.95rem 1rem}.punch-code-display span{color:var(--muted);font-size:var(--type-small);letter-spacing:.06em;text-transform:uppercase;font-weight:650;display:block}.punch-code-display strong{min-height:1.9rem;font-size:var(--type-body);font-variant-numeric:tabular-nums;letter-spacing:.12em;white-space:nowrap;margin-top:.3rem;display:block;overflow:hidden}.keypad{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.keypad button{border:1px solid var(--sand);background:var(--white);min-height:3.5rem;color:var(--ink);font-size:var(--type-body);border-radius:.25rem;place-items:center;font-weight:550;transition:transform .1s,background-color .1s;display:grid}.keypad button:active{background:var(--clay-bg);transform:scale(.97)}.keypad button.keypad__utility{color:var(--muted);font-size:var(--type-small);text-transform:uppercase;font-weight:650}.keypad svg{width:1.2rem}.kiosk-actions{gap:.65rem;margin-top:.8rem;display:flex}.kiosk-intent-actions{gap:.75rem;margin-top:1.6rem;display:grid}.kiosk-intent-actions .primary-button,.kiosk-intent-actions .secondary-button{width:100%;min-height:4.5rem;font-size:var(--type-body);border-radius:1rem}.kiosk-intent-actions .text-button{justify-self:center;margin-top:.25rem}.kiosk-receipt-status{color:var(--sage);letter-spacing:.02em;font-weight:750}.kiosk-receipt-action{font-weight:750;color:var(--ink)!important;margin-top:.65rem!important}.kiosk-result--pending .kiosk-receipt-status{color:var(--warning-ink)}.primary-button,.secondary-button,.text-button{border-radius:.2rem;justify-content:center;align-items:center;gap:.65rem;min-height:3.5rem;font-weight:650;text-decoration:none;display:inline-flex}.primary-button{border:1px solid var(--blue);background:var(--blue);color:var(--ivory);flex:1;padding:.85rem 1.2rem}.primary-button:hover:not(:disabled){border-color:var(--blue-dark);background:var(--blue-dark)}small,th,label,.brand span{font-size:var(--type-small)}body,button,input,select,p,span,td,a,strong{font-size:var(--type-body)}h1,h2,.kiosk-card__heading h1,.activation-card h1,.punch-result h1{font-size:var(--type-display)}.primary-button:disabled{cursor:not-allowed;opacity:.38}.primary-button svg{width:1.15rem}.secondary-button{border:1px solid var(--sand);background:var(--white);color:var(--ink);padding:.85rem 1.1rem}.secondary-button--icon{flex:0 0 3.5rem;padding:0}.text-button{min-height:auto;color:var(--ink);background:0 0;border:0;border-bottom:1px solid;padding:.35rem 0}.rotate-180{transform:rotate(180deg)}.inline-alert{border-left:3px solid var(--red);background:var(--red-wash);color:var(--red);font-size:var(--type-body);flex-direction:column;gap:.1rem;margin:0 0 .8rem;padding:.75rem .9rem;display:flex}.inline-alert span{color:var(--ink-80)}.punch-result{text-align:center;background:linear-gradient(155deg, var(--white), var(--sage-wash));flex-direction:column;justify-content:center;align-items:center;min-height:35rem;padding:3rem;display:flex}.punch-result--out{background:linear-gradient(155deg, var(--white), var(--blue-wash))}.punch-result__icon{background:var(--sage);width:5.5rem;height:5.5rem;color:var(--white);border-radius:999px;place-items:center;margin-bottom:1.5rem;display:grid}.punch-result--out .punch-result__icon{background:var(--blue)}.punch-result__icon svg{width:2.35rem;height:2.35rem}.punch-result>p{max-width:24rem;font-size:var(--type-body)}.punch-result .text-button{margin-top:2rem}.kiosk-footer{color:var(--subtle);font-size:var(--type-small);justify-content:space-between}.kiosk-footer a{-webkit-text-decoration-color:var(--sand);text-decoration-color:var(--sand);text-underline-offset:.2rem}.kiosk-status{align-items:center;gap:.75rem;min-height:1.2rem;display:flex}.kiosk-status__offline{color:var(--navy);align-items:center;gap:.35rem;font-weight:650;display:inline-flex}.kiosk-status svg{width:.9rem;height:.9rem}.punch-result__actions{align-items:center;gap:1.5rem;margin-top:2rem;display:flex}.punch-result__actions .text-button{gap:.4rem;margin-top:0}.punch-result__actions .text-button svg{width:.9rem;height:.9rem}.report-panel{text-align:left;gap:.7rem;width:min(100%,26rem);display:grid}.report-panel h2{font-family:var(--display);font-size:var(--type-display);letter-spacing:-.03em;margin:0;font-weight:300}.report-panel label{color:var(--muted);font-size:var(--type-small);gap:.3rem;font-weight:650;display:grid}.report-panel select,.report-panel textarea{border:1px solid var(--sand);background:var(--white);width:100%;min-height:3rem;color:var(--ink);font:inherit;font-size:var(--type-body);border-radius:.2rem;padding:.65rem .8rem}.report-panel textarea{resize:vertical;min-height:5rem}.report-panel select:focus,.report-panel textarea:focus{border-color:var(--blue-accent);box-shadow:0 0 0 3px var(--blue-soft);outline:none}.report-panel .inline-alert{margin:0}.report-panel__actions{align-items:center;gap:1rem;margin-top:.4rem;display:flex}.report-panel__actions .primary-button{min-height:3rem;font-size:var(--type-body);flex:1}.report-panel__actions .text-button{margin-top:0}.report-panel--done{text-align:center;justify-items:center;gap:.5rem}.report-panel--done p{color:var(--muted)}.activation-shell{background:radial-gradient(circle at top, var(--blue-soft), var(--ivory) 50%);place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.activation-card{border:1px solid var(--sand);background:var(--white);width:min(100%,29rem);box-shadow:var(--shadow);border-radius:.4rem;padding:2rem}.activation-card__icon{background:var(--blue-soft);width:3rem;height:3rem;color:var(--navy);border-radius:999px;place-items:center;margin:2.5rem 0 1rem;display:grid}.activation-card__icon svg{width:1.3rem}.activation-form{gap:.6rem;margin-top:1.4rem;display:grid}.activation-form label{color:var(--muted);font-size:var(--type-small);font-weight:650}.activation-form input,.admin-input,.admin-select{border:1px solid var(--sand);background:var(--ivory);width:100%;min-height:3rem;color:var(--ink);border-radius:.2rem;outline:none;padding:.65rem .8rem}.activation-form input:focus,.admin-input:focus,.admin-select:focus{border-color:var(--blue-accent);box-shadow:0 0 0 3px var(--blue-soft)}.quiet-link{color:var(--muted);font-size:var(--type-small);text-underline-offset:.2rem;margin-top:1.4rem;display:inline-block}@media (max-width:820px){.kiosk-shell{background:var(--bone);padding-inline:1rem}.kiosk-layout{flex-direction:column;gap:1.5rem;padding:1.5rem 0;display:flex}.kiosk-story{text-align:center;width:100%}.kiosk-story blockquote{max-width:36rem;font-size:var(--type-display);margin-inline:auto}.kiosk-card,.punch-result{max-width:34rem}}@media (max-width:540px){.kiosk-shell{padding-top:max(1rem, env(safe-area-inset-top))}.brand__image{width:8.8rem}.live-clock strong{font-size:var(--type-body)}.live-clock span{display:none}.kiosk-layout{justify-content:flex-start;padding-top:1.25rem}.kiosk-story blockquote{font-size:var(--type-display)}.kiosk-card{padding:1.1rem}.kiosk-card__heading h1{font-size:var(--type-display)}.language-switch{margin-bottom:1rem}.punch-code-display{padding:.75rem}.punch-code-display strong{font-size:var(--type-body)}.keypad button{min-height:3.25rem}.punch-result{min-height:30rem;padding:2rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}.admin-login-shell{background:linear-gradient(135deg, var(--navy) 0 38%, var(--bone) 38%);place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.admin-login-card{background:var(--white);width:min(100%,31rem);box-shadow:var(--shadow);border-radius:.4rem;padding:2.25rem}.admin-login-card h1{font-family:var(--display);font-size:var(--type-display);letter-spacing:-.045em;margin:3rem 0 .4rem;font-weight:300}.admin-login-card>p{color:var(--muted);line-height:1.55}.admin-login-card__links{color:var(--muted);font-size:var(--type-small);justify-content:space-between;gap:1rem;margin-top:1.5rem;display:flex}.admin-login-card__links a{text-underline-offset:.2rem}.notice-banner{border-left:3px solid var(--blue);background:var(--blue-wash);color:var(--ink-80);font-size:var(--type-body);margin:1rem 0;padding:.8rem 1rem}.notice-banner--success{border-color:var(--sage);background:var(--sage-wash)}.notice-banner--error{border-color:var(--red);background:var(--red-wash)}.admin-shell{background:var(--bone);grid-template-columns:15rem minmax(0,1fr);min-height:100dvh;display:grid}.admin-sidebar{background:var(--blue-dark);height:100dvh;color:var(--ivory);flex-direction:column;align-self:start;padding:2rem 1.5rem;display:flex;position:sticky;top:0}.admin-sidebar .brand span{color:#fafaf794}.admin-sidebar nav{gap:.3rem;margin-top:4rem;display:grid}.admin-sidebar nav a{color:#fafaf7ad;font-size:var(--type-body);border-radius:.2rem;padding:.7rem .8rem;text-decoration:none}.admin-sidebar nav a:hover,.admin-sidebar nav a.is-current{color:var(--ivory);background:#fafaf71a}.admin-sidebar__account{border-top:1px solid #fafaf724;margin-top:auto;padding-top:1.2rem}.admin-sidebar__account span,.admin-sidebar__account small{display:block}.admin-sidebar__account span{font-weight:620}.admin-sidebar__account small{color:#fafaf78f;font-size:var(--type-small);text-transform:capitalize;margin-top:.15rem}.admin-sidebar__account button{color:#fafaf7b3;font-size:var(--type-small);background:0 0;border:0;align-items:center;gap:.4rem;margin-top:1rem;padding:0;display:inline-flex}.admin-sidebar__account button svg{width:.9rem}.admin-main{min-width:0;padding:clamp(1.5rem,4vw,4rem)}.admin-topbar{justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:2rem;display:flex}.admin-topbar h1{font-family:var(--display);font-size:var(--type-display);letter-spacing:-.05em;margin:0;font-weight:300;line-height:1}.admin-topbar .secondary-button{white-space:nowrap;min-height:2.8rem;font-size:var(--type-body)}.admin-topbar .secondary-button svg{width:1rem}.stat-grid{grid-template-columns:repeat(4,1fr);gap:.8rem;display:grid}.stat-grid article{border:1px solid var(--sand);background:var(--white);border-radius:.3rem;align-content:end;min-height:10rem;padding:1.1rem;display:grid;position:relative}.stat-grid article>svg{width:1.2rem;color:var(--blue-accent);position:absolute;top:1rem;right:1rem}.stat-grid article span{color:var(--muted);font-size:var(--type-small);font-weight:620}.stat-grid article strong{font-family:var(--display);font-size:var(--type-display);margin-top:.15rem;font-weight:300;line-height:1}.stat-grid article small{color:var(--subtle);font-size:var(--type-small);margin-top:.35rem}.stat-grid article.stat-card--warning{border-color:var(--warning-border);background:var(--warning-wash)}.stat-grid article.stat-card--warning>svg,.stat-grid article.stat-card--warning strong{color:var(--warning-ink)}.admin-section{margin-top:3.5rem;scroll-margin-top:1rem}.section-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.1rem;display:flex}.section-heading h2{font-family:var(--display);font-size:var(--type-display);letter-spacing:-.035em;margin:0;font-weight:300}.section-heading>span{color:var(--muted);font-size:var(--type-small)}.section-heading>svg{width:1.4rem;color:var(--blue-accent)}.presence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.presence-card,.person-row{border:1px solid var(--sand);background:var(--white);border-radius:.25rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:1rem;display:grid}.presence-card--overdue{border-color:var(--warning-border);background:#fffdf6}.presence-card__avatar{background:var(--blue-soft);width:2.7rem;height:2.7rem;color:var(--navy);font-family:var(--display);font-size:var(--type-body);border-radius:999px;flex:none;place-items:center;display:grid}.presence-card__avatar--admin{background:var(--blue-wash);color:var(--blue)}.presence-card__avatar--admin svg{width:1.1rem}.presence-card div:nth-child(2),.person-row div:nth-child(2){min-width:0}.presence-card strong,.presence-card span,.person-row strong,.person-row span{display:block}.presence-card div:nth-child(2) span,.person-row div:nth-child(2) span{color:var(--muted);font-size:var(--type-small);text-overflow:ellipsis;white-space:nowrap;margin-top:.15rem;overflow:hidden}.status-chip{background:var(--sage-wash);width:max-content;color:var(--sage);font-size:var(--type-small);text-transform:capitalize;border-radius:999px;padding:.28rem .55rem;font-weight:650;display:inline-flex!important}.status-chip--warning{background:var(--warning-wash);color:var(--warning-ink)}.status-chip--quiet{background:var(--clay-bg);color:var(--muted)}.correction-panel{border-top:1px solid var(--sand);grid-column:1/-1;padding-top:.7rem}.correction-panel summary,.person-actions summary{cursor:pointer;width:max-content;color:var(--muted);font-size:var(--type-small)}.correction-panel form{gap:.5rem;margin-top:.6rem;display:flex}.correction-panel .admin-input{min-height:2.35rem}.small-action,.danger-action{border:1px solid var(--sand);background:var(--white);color:var(--ink);font-size:var(--type-small);white-space:nowrap;border-radius:.2rem;padding:.55rem .75rem;font-weight:620}.danger-action{color:var(--red);border-color:#e6c4bf}.empty-state{color:var(--muted);text-align:center;border:1px dashed #cbc4bb;border-radius:.3rem;padding:2.5rem}.table-wrap{border:1px solid var(--sand);background:var(--white);border-radius:.25rem;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--type-small)}th,td{border-bottom:1px solid var(--sand);text-align:left;white-space:nowrap;padding:.85rem .9rem}th{background:var(--ivory);color:var(--muted);font-size:var(--type-small);letter-spacing:.07em;text-transform:uppercase;font-weight:680}tbody tr:last-child td{border-bottom:0}td strong,td small{display:block}td small{color:var(--muted);font-size:var(--type-small);margin-top:.15rem}.admin-form{border:1px solid var(--sand);background:var(--white);border-radius:.25rem;padding:1rem}.admin-form--stacked{gap:.9rem;margin-top:1.5rem;display:grid}.admin-form--row{grid-template-columns:1.4fr .8fr auto;align-items:end;gap:.7rem;margin-bottom:1rem;display:grid}.admin-form--invite{grid-template-columns:1fr 1.3fr 1fr auto}.admin-form label{color:var(--muted);font-size:var(--type-small);gap:.35rem;font-weight:620;display:grid}.admin-form .primary-button{min-height:3rem;font-size:var(--type-small);white-space:nowrap}.people-list{gap:.55rem;display:grid}.person-row{grid-template-columns:auto minmax(0,1fr) auto auto}.person-row--inactive{background:var(--clay-bg)}.person-actions{position:relative}.person-actions[open]{min-width:11rem}.person-actions form{gap:.4rem;margin-top:.5rem;display:flex}.person-actions .admin-input{min-width:6rem;min-height:2.2rem;padding:.45rem}.role-explainer{grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:1rem;display:grid}.role-explainer article{border:1px solid var(--sand);background:var(--white);border-radius:.25rem;padding:1rem}.role-explainer strong{font-family:var(--display);font-size:var(--type-body);font-weight:300}.role-explainer p{color:var(--muted);font-size:var(--type-small);margin:.35rem 0 0;line-height:1.5}.alert-test-control{color:var(--muted);align-items:center;gap:.8rem;margin:1rem 0;display:flex}.alert-test-control .secondary-button{min-height:3rem}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.secondary-button:disabled{cursor:not-allowed;opacity:.5}.admin-topbar--payroll{margin-bottom:1.25rem}.period-toolbar{border:1px solid var(--sand);background:var(--white);border-radius:.3rem;align-items:center;gap:.75rem;min-height:4.4rem;padding:.65rem;display:flex}.period-toolbar>a,.employee-period-header nav a,.employee-period-header nav>span{border:1px solid var(--sand);width:2.6rem;height:2.6rem;color:var(--ink);border-radius:999px;flex:none;place-items:center;display:grid}.period-toolbar>a svg,.employee-period-header nav svg{width:1rem}.period-toolbar>div{gap:.12rem;min-width:11rem;display:grid}.period-toolbar>div span{color:var(--muted);font-size:var(--type-small);text-transform:uppercase;letter-spacing:.08em;font-weight:650}.period-toolbar>div strong{font-size:var(--type-body);font-variant-numeric:tabular-nums}.period-status{margin-left:.35rem}.period-status--approved,.period-status--synced{background:var(--sage-wash);color:var(--sage)}.period-approval-form{margin-left:auto}.period-approval-form .primary-button{min-height:2.7rem;font-size:var(--type-small);padding:.55rem .9rem}.period-approval-form .primary-button svg{width:1rem}.period-approved-copy{color:var(--muted);font-size:var(--type-small);margin-left:auto}.readiness-panel{border:1px solid var(--sand);background:var(--white);border-radius:.3rem;grid-template-columns:minmax(16rem,1fr) minmax(18rem,1.1fr);align-items:start;gap:2rem;margin-top:.8rem;padding:1.25rem 1.4rem;display:grid}.readiness-panel h2{font-family:var(--display);font-size:var(--type-display);letter-spacing:-.03em;margin:0 0 .4rem;font-weight:300}.readiness-panel__lead p{color:var(--muted);font-size:var(--type-small);margin:0;line-height:1.55}.readiness-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.readiness-list li{font-size:var(--type-small);border-radius:.2rem;align-items:center;gap:.5rem;padding:.5rem .7rem;display:flex}.readiness-list svg{flex:none;width:.95rem;height:.95rem}.readiness-list__blocker{background:var(--red-wash);color:var(--red);font-weight:620}.readiness-list__warning{background:var(--warning-wash);color:var(--warning-ink)}.readiness-list__clear{background:var(--sage-wash);color:var(--sage);font-weight:620}.request-row{border:1px solid var(--sand);background:var(--white);border-radius:.25rem;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.85rem;padding:1rem;display:grid}.request-row>div:nth-child(2){min-width:0}.request-row strong,.request-row span,.request-row small{display:block}.request-row span{color:var(--ink-80);font-size:var(--type-small);margin-top:.15rem;line-height:1.45}.request-row small{color:var(--muted);font-size:var(--type-small);margin-top:.25rem}.request-row__actions{gap:.4rem;display:flex}.payroll-stat-grid{margin-top:.8rem}.payroll-stat-grid article{min-height:8.8rem}.payroll-stat-grid article strong{font-variant-numeric:tabular-nums}.pay-period-section{margin-top:2.6rem}.payroll-table th:not(:first-child),.payroll-table td:not(:first-child){text-align:right}.payroll-table td:first-child{min-width:13rem}.payroll-table td:last-child{min-width:7rem}.payroll-table tfoot th{border-top:1px solid var(--ink);background:var(--sage-wash);color:var(--ink)}.payroll-table tfoot th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.exception-count{color:var(--warning-ink);font-size:var(--type-small);justify-content:flex-end;align-items:center;gap:.35rem;font-weight:650;display:inline-flex}.exception-count svg{width:.9rem;height:.9rem}.row-link{color:var(--blue);font-size:var(--type-small);justify-content:flex-end;align-items:center;gap:.25rem;font-weight:650;text-decoration:none;display:inline-flex}.row-link svg{width:.9rem}.gusto-card{border:1px solid var(--sand);background:var(--ink);color:var(--ivory);border-radius:.3rem;grid-template-columns:minmax(16rem,1fr) minmax(22rem,1.2fr) auto;align-items:center;gap:2rem;padding:1.5rem;display:grid}.gusto-card h2{font-family:var(--display);font-size:var(--type-display);margin:.3rem 0;font-weight:300}.gusto-card p{color:#fafaf79e;font-size:var(--type-small);margin:0;line-height:1.55}.gusto-card .secondary-button{min-height:2.7rem;color:var(--ivory);font-size:var(--type-small);background:0 0;border-color:#fafaf740}.gusto-card .secondary-button svg{width:1rem}.gusto-steps{grid-template-columns:repeat(3,1fr);gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.gusto-steps li{color:#fafaf773;align-items:center;gap:.5rem;display:flex}.gusto-steps li>span{width:1.8rem;height:1.8rem;font-size:var(--type-small);border:1px solid #fafaf733;border-radius:999px;flex:none;place-items:center;display:grid}.gusto-steps strong,.gusto-steps small{display:block}.gusto-steps strong{font-size:var(--type-small)}.gusto-steps small{font-size:var(--type-small);margin-top:.1rem}.gusto-steps li.is-complete{color:var(--ivory)}.gusto-steps li.is-complete>span{background:var(--sage);border-color:#9ab49b}.back-link{color:var(--muted);font-size:var(--type-small);align-items:center;gap:.35rem;margin-bottom:1.6rem;text-decoration:none;display:inline-flex}.back-link svg{width:1rem}.employee-period-header{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.employee-period-header h1{font-family:var(--display);font-size:var(--type-display);letter-spacing:-.05em;margin:0;font-weight:300;line-height:1;display:inline}.employee-period-header p{color:var(--muted);margin:.45rem 0}.employee-period-header>div>.status-chip{vertical-align:.45rem;margin-left:.7rem;display:inline-flex!important}.employee-period-header nav{align-items:center;gap:.55rem;display:flex}.employee-period-header nav small{min-width:3.2rem;color:var(--muted);text-align:center;font-size:var(--type-small)}.employee-period-header nav>span{opacity:0}.employee-period-stats{border:1px solid var(--sand);background:var(--white);border-radius:.3rem;grid-template-columns:repeat(4,1fr);margin-top:1.5rem;display:grid}.employee-period-stats article{border-right:1px solid var(--sand);padding:1rem 1.1rem}.employee-period-stats article:last-child{border-right:0}.employee-period-stats span,.employee-period-stats strong{display:block}.employee-period-stats span{color:var(--muted);font-size:var(--type-small);text-transform:uppercase;letter-spacing:.07em;font-weight:650}.employee-period-stats strong{font-family:var(--display);font-size:var(--type-display);font-variant-numeric:tabular-nums;margin-top:.25rem;font-weight:300}.employee-period-stats .has-warning{background:var(--warning-wash);color:var(--warning-ink)}.employee-timecard-section{margin-top:2.8rem}.timecard-list{gap:.5rem;display:grid}.timecard-row{border:1px solid var(--sand);background:var(--white);border-radius:.25rem;grid-template-columns:minmax(8rem,1.2fr) repeat(2,minmax(5rem,.75fr)) repeat(3,minmax(4rem,.55fr)) minmax(8rem,1fr);align-items:center;display:grid;overflow:hidden}.timecard-row--exception{border-color:var(--warning-border)}.timecard-row>div{min-width:0;padding:.85rem}.timecard-row__date strong,.timecard-row__date span,.timecard-row__time span,.timecard-row__time strong,.timecard-row__hours span,.timecard-row__hours strong{display:block}.timecard-row__date strong{font-size:var(--type-small)}.timecard-row__date span{color:var(--muted);font-size:var(--type-small);margin-top:.15rem}.timecard-row__time span,.timecard-row__hours span{color:var(--muted);font-size:var(--type-small);letter-spacing:.07em;text-transform:uppercase;font-weight:680}.timecard-row__time strong,.timecard-row__hours strong{font-size:var(--type-body);font-variant-numeric:tabular-nums;margin-top:.16rem}.timecard-row__status{text-align:right}.timecard-row__status .status-chip{margin-left:auto}.timecard-row__status .status-chip svg{width:.75rem;height:.75rem;margin-right:.25rem}.timecard-row__status small{color:var(--muted);font-size:var(--type-small);justify-content:flex-end;align-items:center;gap:.25rem;margin-top:.3rem;display:flex}.timecard-row__status small svg{width:.75rem}.timecard-review-panel{border-top:1px solid var(--sand);background:var(--ivory);grid-column:1/-1;padding:.75rem .85rem}.timecard-review-panel summary{width:max-content;color:var(--blue);cursor:pointer;font-size:var(--type-small);font-weight:650}.timecard-review-grid{grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:1rem;display:grid}.timecard-review-grid section{min-width:0}.timecard-review-grid h3{font-family:var(--display);font-size:var(--type-body);margin:0 0 .65rem;font-weight:300}.quiet-copy{color:var(--muted);font-size:var(--type-small)}.audit-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.audit-list li{border-left:2px solid var(--blue-accent);background:var(--white);padding:.65rem}.audit-list strong,.audit-list span,.audit-list small{display:block}.audit-list strong{font-size:var(--type-small)}.audit-list span{color:var(--ink-80);font-size:var(--type-small);margin-top:.2rem;line-height:1.4}.audit-list small{color:var(--muted);font-size:var(--type-small);margin-top:.25rem}.inline-review-form{gap:.55rem;margin-top:.75rem;display:grid}.inline-review-form label{color:var(--muted);font-size:var(--type-small);gap:.25rem;font-weight:650;display:grid}.inline-review-form textarea,.inline-review-form input{border:1px solid var(--sand);background:var(--white);width:100%;color:var(--ink);font:inherit;font-size:var(--type-small);border-radius:.2rem;padding:.6rem}.inline-review-form textarea{resize:vertical;min-height:4.2rem}.note-status-form{margin-top:.4rem}.text-action{border:0;border-bottom:1px solid var(--sand);color:var(--muted);font-size:var(--type-small);background:0 0;padding:.1rem 0;font-weight:650}.text-action:hover{color:var(--ink);border-color:currentColor}.inline-review-form .small-action{align-items:center;gap:.35rem;width:max-content;display:inline-flex}.inline-review-form .small-action svg{width:.8rem}.input-pair{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.period-review-note{border:1px solid var(--sand);background:var(--blue-wash);border-radius:.3rem;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.period-review-note>svg{width:1.1rem;color:var(--blue);flex:none}.period-review-note strong{font-size:var(--type-small)}.period-review-note p{color:var(--muted);font-size:var(--type-small);margin:.25rem 0 0;line-height:1.5}@media (max-width:1080px){.admin-shell{grid-template-columns:12rem minmax(0,1fr)}.admin-sidebar{padding-inline:1rem}.stat-grid{grid-template-columns:repeat(2,1fr)}.admin-form--row,.admin-form--invite{grid-template-columns:1fr 1fr}.admin-form--row .primary-button{min-height:3rem}.gusto-card{grid-template-columns:1fr;gap:1.25rem}.gusto-card .secondary-button{width:max-content}.timecard-row{grid-template-columns:minmax(8rem,1fr) repeat(5,minmax(4rem,.65fr))}.timecard-row__status{border-top:1px solid var(--sand);text-align:left;grid-column:1/-1;justify-content:flex-start;align-items:center;gap:.5rem;display:flex}.timecard-row__status .status-chip{margin-left:0}.timecard-row__status small{margin:0}}@media (max-width:760px){.admin-shell{display:block}.admin-sidebar{grid-template-columns:1fr auto;height:auto;padding:1rem;display:grid;position:static}.admin-sidebar nav{grid-column:1/-1;gap:.25rem;margin-top:.9rem;display:flex;overflow-x:auto}.admin-sidebar nav a{font-size:var(--type-small);white-space:nowrap;padding:.45rem .7rem}.admin-sidebar__account{text-align:right;border:0;margin:0;padding:0}.admin-sidebar__account button{margin-top:.35rem}.admin-main{padding:1.2rem .9rem 3rem}.admin-topbar{align-items:flex-start}.admin-topbar h1{font-size:var(--type-display)}.admin-topbar .secondary-button{min-height:2.5rem;padding-inline:.7rem}.presence-grid,.role-explainer,.readiness-panel{grid-template-columns:1fr}.readiness-panel{gap:1rem}.request-row{grid-template-columns:auto minmax(0,1fr)}.request-row>a,.request-row__actions{grid-column:2/-1}.person-row{grid-template-columns:auto minmax(0,1fr) auto}.person-row>form,.person-row>details{grid-column:2/-1}.period-toolbar{flex-wrap:wrap}.period-toolbar>div{flex:1}.period-approval-form,.period-approved-copy{width:100%;margin-left:0}.period-approval-form .primary-button{width:100%}.employee-period-header{align-items:flex-start}.employee-period-header h1{font-size:var(--type-display)}.employee-period-stats{grid-template-columns:1fr 1fr}.employee-period-stats article:nth-child(2){border-right:0}.employee-period-stats article:nth-child(-n+2){border-bottom:1px solid var(--sand)}.timecard-row{grid-template-columns:1.3fr 1fr 1fr}.timecard-row__hours{border-top:1px solid var(--sand)}.timecard-review-grid{grid-template-columns:1fr}}@media (max-width:520px){.admin-login-shell{background:var(--bone);padding:0}.admin-login-card{border-radius:0;min-height:100dvh;padding:1.5rem}.stat-grid{grid-template-columns:1fr 1fr;gap:.5rem}.stat-grid article{min-height:8.5rem}.admin-form--row,.admin-form--invite{grid-template-columns:1fr}.section-heading{align-items:flex-start}.admin-topbar--payroll{display:grid}.admin-topbar--payroll .secondary-button{width:max-content}.gusto-steps{grid-template-columns:1fr}.employee-period-header{display:grid}.employee-period-header nav{justify-content:space-between}.timecard-row{grid-template-columns:1fr 1fr}.timecard-row__date,.timecard-row__status{grid-column:1/-1}.input-pair{grid-template-columns:1fr}}
