@font-face{font-family:'PT Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/pt-sans-regular.woff2') format('woff2')}
@font-face{font-family:'PT Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/pt-sans-bold.woff2') format('woff2')}
@font-face{font-family:'PT Serif';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/pt-serif-regular.woff2') format('woff2')}
@font-face{font-family:'PT Serif';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/pt-serif-bold.woff2') format('woff2')}
:root{--ui-font:'PT Sans',Arial,sans-serif;--heading-font:'PT Serif',Georgia,serif;--brand:#a83829;--brand-hover:#8d2d20;--brand-soft:#f7eeec;--ink:#1f2628;--muted:#687379;--line:#e7ebed;--canvas:#fafbfc;--success:#3f715e;--danger:#a83829;--bs-body-font-family:var(--ui-font);--bs-body-color:var(--ink);--bs-body-bg:#fff;--bs-primary:#a83829;--bs-primary-rgb:168,56,41;--bs-border-color:var(--line);--bs-border-radius:4px;--bs-border-radius-lg:6px;--bs-link-color:#a83829;--bs-link-hover-color:#8d2d20;--bs-focus-ring-color:rgba(168,56,41,.16)}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font:15px/1.6 var(--ui-font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a{color:var(--brand);text-underline-offset:3px}button:disabled{cursor:not-allowed}h1,h2,h3,p{overflow-wrap:break-word}h1{font-size:30px;font-weight:650;letter-spacing:-1.1px;line-height:1.25}h2{font-size:19px;font-weight:650;letter-spacing:-.45px}h3{font-size:15px;font-weight:650}small,.text-muted{color:var(--muted)!important}.ph-bold{font-size:19px;line-height:1;vertical-align:middle}.btn{--bs-btn-padding-x:16px;--bs-btn-padding-y:10px;--bs-btn-font-size:13px;--bs-btn-font-weight:650;--bs-btn-border-radius:4px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;min-height:40px;box-shadow:none!important}.btn-primary{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:var(--brand-hover);--bs-btn-hover-border-color:var(--brand-hover);--bs-btn-active-bg:var(--brand-hover);--bs-btn-active-border-color:var(--brand-hover);--bs-btn-disabled-bg:var(--brand);--bs-btn-disabled-border-color:var(--brand)}.btn-outline-secondary{--bs-btn-color:var(--ink);--bs-btn-border-color:#dce2e5;--bs-btn-hover-bg:var(--canvas);--bs-btn-hover-color:var(--ink);--bs-btn-hover-border-color:#bcc6cc;--bs-btn-active-bg:#edf0f2;--bs-btn-active-color:var(--ink)}.btn-light{--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-bg:#f1f4f5;--bs-btn-active-bg:#e7ebed;--bs-btn-color:var(--muted)}.btn-sm{--bs-btn-padding-x:11px;--bs-btn-padding-y:6px;--bs-btn-font-size:12px;min-height:34px}.btn-icon{padding:9px;min-width:38px}.btn-text{border:0;background:transparent;color:var(--muted);padding:5px 0;font-size:12px;text-decoration:underline;text-underline-offset:3px}.form-control,.form-select{border-color:#dce2e5;border-radius:4px;font-size:13px;min-height:42px;padding:10px 12px;color:var(--ink);background-color:#fff}.form-control::placeholder{color:#687379}.form-control:focus,.form-select:focus{border-color:#b8756b;box-shadow:0 0 0 3px rgba(168,56,41,.08)}.form-label{font-size:12px;font-weight:650;margin-bottom:7px}.form-text{font-size:11px;line-height:1.6;color:var(--muted)}.form-check-input:checked{background-color:var(--brand);border-color:var(--brand)}.form-check-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(168,56,41,.1)}.field{margin-bottom:20px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-row .field{min-width:0}.form-error{color:var(--danger);font-size:12px;margin:10px 0;line-height:1.6}.form-error:empty{display:none}.form-error:not(:empty){padding:11px 13px;border-left:2px solid var(--brand);background:#fbf5f3}.helper{color:var(--muted);font-size:12px;line-height:1.7}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}.number{font-variant-numeric:tabular-nums}.modal-backdrop{--bs-backdrop-bg:#20272b;--bs-backdrop-opacity:.28}.modal-content{border:1px solid var(--line);border-radius:6px;box-shadow:0 20px 90px rgba(28,36,40,.13)}.modal-header{padding:23px 26px 18px;border-bottom:1px solid var(--line)}.modal-title{font-size:20px;letter-spacing:-.5px;font-weight:650}.modal-body{padding:24px 26px}.modal-footer{padding:16px 26px;gap:8px;background:var(--canvas);border-top:1px solid var(--line)}.modal-footer>*{margin:0}.modal-description{color:var(--muted);font-size:12px;margin:5px 0 0}.modal .btn-close{font-size:11px}.dropdown-menu{padding:6px;border:1px solid var(--line);border-radius:5px;font-size:12px;box-shadow:0 8px 30px rgba(28,36,40,.07);min-width:190px}.dropdown-item{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:3px}.dropdown-item:active{background:var(--brand-soft);color:var(--brand)}.dropdown-item .ph-bold{font-size:16px}.toast-stack{position:fixed;right:24px;bottom:24px;z-index:1090;max-width:min(400px,calc(100vw - 32px))}.toast{--bs-toast-max-width:400px;--bs-toast-bg:#fff;--bs-toast-color:var(--ink);--bs-toast-border-color:var(--line);--bs-toast-border-radius:4px;--bs-toast-box-shadow:0 8px 40px rgba(28,36,40,.1);font-size:13px}.toast-body{display:flex;gap:12px;align-items:center;padding:17px}.toast-body .ph-bold{color:var(--success)}.toast[data-kind=error] .ph-bold{color:var(--danger)}.toast .btn-close{margin-left:auto;flex-shrink:0}.status{display:inline-flex;align-items:center;gap:7px;font-size:12px;white-space:nowrap;color:var(--muted)}.status:before{content:'';width:5px;height:5px;background:currentColor;border-radius:50%;flex:none}.status-good{color:var(--success)}.status-late{color:#946d30}.status-danger{color:var(--brand)}.status-muted{color:#66737b}.empty-state{padding:64px 24px;text-align:center}.empty-state>.ph-bold{font-size:30px;color:#a2adb3;display:block;margin-bottom:16px}.empty-state h2,.empty-state h3{font-size:15px;margin:0 0 7px}.empty-state p{color:var(--muted);font-size:12px;max-width:380px;margin:0 auto 20px}.section-note{padding:16px 0;color:var(--muted);font-size:11px;line-height:1.75}.loading-state{padding:70px 20px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:12px}.loading-state .spinner-border{width:16px;height:16px;border-width:1.5px}.skip-link{position:fixed;left:12px;top:-60px;z-index:1200;padding:12px;background:var(--ink);color:white}.skip-link:focus{top:12px}button:focus-visible,a:focus-visible{outline:2px solid var(--brand);outline-offset:3px}@media(max-width:575px){.field-row{grid-template-columns:1fr;gap:0}.modal-header,.modal-body{padding:20px}.modal-footer{padding:14px 20px}.toast-stack{right:16px;bottom:16px}.btn{white-space:normal}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.app-language-select{appearance:auto;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:4px;font-family:var(--ui-font);font-size:15px;line-height:1.5;padding:10px 12px;min-height:44px;max-width:150px;cursor:pointer}.app-language-select:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
body h1,body h2,body h3{font-weight:550;letter-spacing:-.025em}body .form-label{font-weight:500;font-size:14px}.owner-app .owner-table{font-size:15px}.owner-app .owner-table thead th{font-size:14px;letter-spacing:0}.employee-stat-value{font-weight:500;letter-spacing:-.025em}
.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap}
.app-language-select{border:1px solid transparent;border-radius:6px;background-color:#f4f5f6;min-width:116px;padding:10px 12px;font-size:15px;font-weight:500;color:var(--ink)}.app-language-select:hover{background-color:#eceef0}.app-language-select:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-color:transparent}

.owner-app .page-heading h1,.employee-app .employee-heading h1,.terminal-page h1,.login-page h1{font-family:var(--heading-font);font-weight:400;letter-spacing:-.02em}
