@font-face{font-family:system-local;src:local('Arial')}*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#17364b;background:#f3f7fa;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer;font-weight:600}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #147ba8;outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:2.25rem;letter-spacing:-.045em;line-height:1.15}h2{font-size:1.35rem;letter-spacing:-.025em;line-height:1.3}.muted{color:#607687;font-size:.95rem}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.17em;display:block;margin-bottom:.6rem}.cyan{color:#0089bd}label{display:block;font-size:.875rem;font-weight:600;margin:.95rem 0 .4rem}input,select,textarea{width:100%;border:1px solid #d1dfe7;background:#fff;color:#17364b;padding:.8rem .9rem;border-radius:8px;min-width:0}input:disabled{background:#edf2f5;color:#8c9daa}textarea{resize:vertical}.primary,.outline{border-radius:8px;padding:.75rem 1.2rem;min-height:44px;display:inline-flex;justify-content:center;align-items:center;gap:.5rem}.primary{background:#009fdb;border:1px solid #009fdb;color:white}.primary:hover{background:#0087bd}.outline{border:1px solid #cddde6;background:white;color:#1c536f}.outline:hover{background:#eaf7fc}.small{padding:.5rem .9rem;font-size:.875rem}.text-button{background:transparent;border:0;color:#087ba7;padding:.4rem;font-size:.875rem}.error{color:#b73441;background:#fff0f1;border-radius:6px;padding:.7rem .9rem;margin:.8rem 0;font-size:.875rem}.login-layout{min-height:100vh;display:grid;grid-template-columns:46% 54%}.login-brand{background:#00a8df;padding:4rem 5rem;display:flex;flex-direction:column;position:relative;overflow:hidden;color:white}.brand-logo{width:190px;align-self:flex-start;position:relative}.brand-copy{margin:auto 0;padding:4rem 0}.brand-copy h1{font-size:clamp(3rem,5.5vw,5.5rem);font-weight:700;line-height:1.08;letter-spacing:-.055em}.brand-copy p{margin-top:1.8rem;font-size:1.2rem;line-height:1.7;color:#e3f7ff}.brand-copy .eyebrow{color:#d8f4ff;margin-bottom:1.3rem}.brand-footer{display:flex;align-items:center;gap:1rem;font-size:.875rem;color:#d7f5ff}.brand-footer strong{color:#fff}.clock-outline{font-size:2.75rem;line-height:1}.login-side{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;background:white}.login-card{max-width:410px;width:100%;margin:auto 0}.login-card h2{font-size:2rem;margin:.9rem 0;letter-spacing:-.045em}.login-card>.muted{margin-bottom:2.3rem;line-height:1.65}.login-card label{margin-top:1.3rem}.login-card input{padding:.95rem}.password-wrap{position:relative}.password-wrap input{padding-right:5.5rem}.password-wrap button{position:absolute;right:.7rem;top:.7rem}.login-submit{width:100%;margin-top:1.5rem;padding:1rem}.login-help{text-align:center;font-size:.875rem;color:#738594;line-height:1.6;margin-top:1.8rem}.login-legal{font-size:.75rem;color:#7c909c;margin-top:3rem}.topbar{background:white;border-bottom:1px solid #e5edf2}.topbar-inner{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2rem;gap:1rem}.app-brand{display:flex;align-items:center;gap:1.6rem}.app-brand img{width:126px;display:block}.app-brand span{border-left:1px solid #d5e1e8;padding-left:1.6rem;font-size:.875rem;color:#607687}.account{display:flex;gap:.75rem;align-items:center}.avatar{width:38px;height:38px;border-radius:50%;background:#e4f6fc;color:#008bbb;display:grid;place-items:center;font-size:.875rem;font-weight:bold}.account strong{font-size:.875rem}.account small{display:block;font-size:.75rem;color:#7e909c}.account>.outline{margin-left:1rem}.nav-wrap{background:white;border-bottom:1px solid #dde8ef}.nav-inner{max-width:1240px;padding:0 2rem;margin:auto;display:flex;gap:2rem}.nav-button{background:none;border:0;border-bottom:3px solid transparent;color:#637b8a;padding:1rem .2rem;font-size:.875rem;white-space:nowrap}.nav-button.active{color:#008fbe;border-color:#00a8df}.main{max-width:1240px;margin:auto;padding:2.75rem 2rem 3rem;min-height:calc(100vh - 200px)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem}.page-heading h1{margin:.25rem 0 .7rem}.live-clock{text-align:right}.live-clock strong{font-size:2rem;letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-weight:500}.live-clock span{display:block;font-size:.75rem;color:#7891a0;margin-top:.15rem}.section-controls{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:end}.inline-label{margin:0;font-size:.75rem;color:#6f8493;min-width:185px}.inline-label input,.inline-label select{margin-top:.4rem;padding:.6rem .75rem;font-size:.875rem;max-width:260px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.stat{background:white;border:1px solid #dfe9ef;border-radius:12px;padding:1.4rem 1.5rem}.stat .stat-label{font-size:.875rem;color:#697f8e;display:flex;align-items:center;justify-content:space-between}.stat .stat-icon{background:#eef9fd;color:#00a0d7;width:28px;height:28px;display:grid;place-items:center;border-radius:6px}.stat strong{display:block;font-size:2rem;font-weight:600;letter-spacing:-.045em;margin:.55rem 0 .25rem;font-variant-numeric:tabular-nums}.stat small{font-size:.75rem;color:#8093a0}.stat.accent{background:#e9f8fd;border-color:#c6eaf7}.panel{border:1px solid #dfe9ef;border-radius:12px;background:white;overflow:hidden;margin-bottom:1.5rem}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 1.75rem}.panel-title .muted{font-size:.875rem;margin-top:.35rem}.panel-title .eyebrow{margin-bottom:.4rem}.badge{border-radius:20px;padding:.3rem .8rem;background:#edf3f7;color:#607787;font-size:.75rem;font-weight:600;white-space:nowrap}.badge.good{background:#e5f5ee;color:#267355}.badge.blue{background:#e7f6fc;color:#0087b4}.badge.warning{background:#fff4da;color:#94651e}.today-body{padding:0 1.75rem 1.5rem}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.25rem}.time-item{background:#f6f9fb;border:1px solid #e5edf2;border-radius:10px;padding:1.25rem}.time-item span{display:block;font-size:.75rem;color:#788e9c;margin-bottom:.4rem}.time-item strong{font-size:1.65rem;font-weight:500;font-variant-numeric:tabular-nums}.time-item small{display:block;color:#78909f;font-size:.75rem;margin-top:.4rem}.today-bottom{display:flex;justify-content:space-between;gap:1rem;align-items:center;border-top:1px solid #e5edf2;padding-top:1.25rem}.today-actions{display:flex;gap:.7rem;flex-wrap:wrap}.today-expected{font-size:.875rem;color:#637b8a}.today-expected strong{color:#214f66}.today-footnote{font-size:.75rem;color:#78909f;margin-top:1rem}.empty{padding:2.5rem 1.5rem;text-align:center;color:#77909e}.empty h3{color:#214f66;font-size:1.125rem;margin-bottom:.5rem}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.875rem}th{text-align:left;background:#f7fafc;font-weight:500;color:#6a818f;padding:.9rem 1rem;border-block:1px solid #e5edf2;white-space:nowrap}td{padding:1rem;border-bottom:1px solid #edf2f6;white-space:nowrap;font-variant-numeric:tabular-nums}th:first-child,td:first-child{padding-left:1.75rem}th:last-child,td:last-child{padding-right:1.75rem}tbody tr:last-child td{border-bottom:0}td .day-name{display:block;font-size:.75rem;color:#8a9ca7;margin-top:.1rem}.balance-positive{color:#1e805c}.balance-negative{color:#b35d35}.muted-dash{color:#a5b4bd}.table-footer,.info-strip{font-size:.8rem;color:#668292;background:#f5fafc;padding:1rem 1.75rem;border-top:1px solid #e5edf2}.info-strip{background:#eaf7fc;border-radius:8px;border:0;padding:1rem;margin:1rem 0}.table-footer{line-height:1.6}.app-footer{max-width:1240px;margin:auto;padding:1.5rem 2rem;border-top:1px solid #dde8ef;color:#78909f;font-size:.75rem;display:flex;justify-content:space-between;gap:1rem}.manager-overview{padding:0 1.75rem 1.5rem}.manager-overview .team-today-row{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0;gap:1rem;border-top:1px solid #edf2f6}.team-today-row .team-name{min-width:100px;font-weight:600}.team-time{font-size:.875rem;color:#78909f;flex:1}.person-name{font-weight:600}.person-name small{display:block;font-weight:400;color:#78909f}.actions-cell{display:flex;gap:.5rem;align-items:center}.audit-card{border-top:1px solid #e5edf2;padding:1.2rem 1.75rem}.audit-card header{display:flex;gap:1rem;justify-content:space-between}.audit-card header strong{font-size:.875rem}.audit-card time{font-size:.75rem;color:#78909f}.audit-card p{font-size:.875rem;color:#6f8594;margin-top:.35rem;overflow-wrap:anywhere}.audit-card details{font-size:.8rem;margin-top:.7rem}.audit-card pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f7fafc;padding:1rem;border-radius:6px}dialog{border:0;border-radius:14px;box-shadow:0 24px 100px #17364b40;width:min(520px,calc(100vw - 2rem));padding:1.75rem;color:#17364b;max-height:90vh;overflow:auto}dialog::backdrop{background:#0e2b43a8;backdrop-filter:blur(3px)}.wide-dialog{width:min(920px,calc(100vw - 2rem))}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.dialog-heading .eyebrow{font-size:.7rem;margin-bottom:.35rem}.close{border:0;background:#f0f5f8;border-radius:50%;width:34px;height:34px;font-size:1.5rem;font-weight:400;color:#6b8191;flex-shrink:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.5rem;border-top:1px solid #e5edf2;padding-top:1.25rem}.check-label{display:flex;align-items:center;gap:.6rem}.check-label input{width:18px;height:18px;accent-color:#00a8df;margin:0}.schedule-row{display:grid;grid-template-columns:130px repeat(4,1fr);gap:.75rem;padding:.8rem 0;border-top:1px solid #e5edf2;align-items:center}.schedule-row .check-label{margin:0;font-size:.875rem}.schedule-row label{margin:0;font-size:.75rem;color:#6f8594}.schedule-row input[type=time]{padding:.6rem .5rem;font-size:.875rem;margin-top:.3rem}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);padding:.85rem 1.4rem;color:white;background:#174d65;box-shadow:0 8px 32px #17364b30;border-radius:10px;z-index:99;max-width:90vw;font-size:.875rem}.toast.failure{background:#a22d3a}@media(min-width:1500px){.login-brand{padding:5rem 7rem}}@media(max-width:1000px){.login-brand{padding:3rem}.time-grid{gap:.7rem}.time-item{padding:1rem}.today-bottom{align-items:flex-start;flex-direction:column}.stat{padding:1.2rem}.nav-inner{gap:1.4rem}}@media(max-width:700px){.login-layout{grid-template-columns:1fr}.login-brand{padding:1.5rem 1.75rem}.brand-logo{width:135px}.brand-copy{padding:1.8rem 0 .3rem}.brand-copy h1{font-size:2.65rem}.brand-copy h1 br{display:none}.brand-copy .eyebrow{margin-bottom:.75rem}.brand-copy p,.brand-footer{display:none}.login-side{padding:2rem 1.75rem}.login-card h2{font-size:1.7rem}.login-card>.muted{margin-bottom:1.5rem}.login-legal{margin-top:2rem}.topbar-inner{padding:1rem}.app-brand span{display:none}.app-brand img{width:100px}.account{gap:.5rem}.account>.outline{margin-left:.3rem}.avatar{display:none}.nav-inner{padding:0 1rem;gap:1.25rem;overflow:auto}.main{padding:1.75rem 1rem}.page-heading{align-items:flex-start}.page-heading h1{font-size:1.9rem}.page-heading .muted{font-size:.8rem}.live-clock strong{font-size:1.3rem}.live-clock span{font-size:.7rem}.stat-grid{grid-template-columns:1fr 1fr;gap:.7rem}.stat{padding:1rem}.stat strong{font-size:1.6rem}.stat .stat-label{font-size:.75rem}.stat-icon{display:none!important}.panel-title{padding:1.25rem;align-items:flex-start;flex-wrap:wrap}.panel-title h2{font-size:1.2rem}.panel-title button{font-size:.8rem}.today-body{padding:0 1.25rem 1.25rem}.time-grid{grid-template-columns:1fr 1fr}.time-item strong{font-size:1.5rem}.today-actions{width:100%}.today-actions button{flex:1;font-size:.8rem;padding:.7rem .8rem}.section-controls{flex-wrap:wrap;gap:.7rem}.inline-label{min-width:140px;flex:1}.inline-label input,.inline-label select{max-width:none}.table-footer{padding:1rem 1.25rem}.manager-overview{padding:0 1.25rem 1.25rem}.manager-overview .team-today-row{flex-wrap:wrap}.team-time{flex-basis:calc(100% - 110px)}.team-today-row button{margin-left:auto}.schedule-row{grid-template-columns:1fr 1fr;gap:.6rem}.schedule-row .check-label{grid-column:1/-1;margin:.4rem 0}.schedule-row label{font-size:.8rem}.app-footer{padding:1rem;flex-direction:column;font-size:.7rem}.audit-card{padding:1rem}.audit-card header{flex-direction:column;gap:.3rem}.dialog-actions{flex-wrap:wrap}.form-grid{gap:0 .7rem}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}dialog[open]{animation:appear .15s ease-out}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
