@font-face{font-family:abcNormal;src:url(../media/ABCNormal_Book-s.p.31gjcfk3j50bv.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:abcNormal;src:url(../media/ABCNormal_Book-s.p.2ige_t-qbak9s.woff)format("woff");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:abcNormal;src:url(../media/ABCNormal_Medium-s.p.2-mkxk2fn0r7s.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:abcNormal;src:url(../media/ABCNormal_Medium-s.p.0btucamipvyou.woff)format("woff");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:abcNormal Fallback;src:local(Arial);ascent-override:102.56%;descent-override:19.05%;line-gap-override:29.59%;size-adjust:98.67%}.abcnormal_9f5f0d69-module__7mbo6W__className{font-family:abcNormal,abcNormal Fallback}.abcnormal_9f5f0d69-module__7mbo6W__variable{--font-abcnormal:"abcNormal", "abcNormal Fallback"}
:root{--blue-macaw:#000095;--bluebird:#00f;--comorant:#1b1b30;--seagull:#f7f7f3;--white:#fff;--forest:#073;--cardinal:#f20;--robin:#ff8500;--heron:#c6c6c6;--color-primary:var(--bluebird);--color-primary-dark:var(--blue-macaw);--color-success:var(--forest);--color-warning:var(--robin);--color-danger:var(--cardinal);--color-text:var(--comorant);--color-text-muted:#666;--color-bg:var(--seagull);--color-bg-light:var(--white);--color-border:var(--heron);--spacing-xs:2.5px;--spacing-sm:5px;--spacing-md:15px;--spacing-lg:20px;--spacing-xl:25px;--spacing-2xl:50px;--radius-sm:3px;--font-size-sm:14px;--font-size-base:15px;--font-size-lg:20px;--font-size-xl:25px;--font-size-2xl:37px;--font-size-3xl:50px;--line-height-normal:1.5;--transition-fast:.15s ease;--breakpoint-mobile:480px;--breakpoint-tablet:768px;--breakpoint-desktop:1024px;--breakpoint-wide:1640px;--touch-target-min:44px}@media (max-width:768px){:root{--spacing-md:10px;--spacing-lg:15px;--spacing-xl:20px;--spacing-2xl:30px;--font-size-lg:18px;--font-size-xl:22px;--font-size-2xl:30px;--font-size-3xl:40px}}
.calendar-scroll-container::-webkit-scrollbar{display:none}.calendar-scroll-visible::-webkit-scrollbar{width:8px;display:block}.calendar-scroll-visible::-webkit-scrollbar-track{background:var(--heron)}.calendar-scroll-visible::-webkit-scrollbar-thumb{background:var(--comorant);border-radius:3px}.calendar-scroll-visible::-webkit-scrollbar-thumb:hover{background:var(--bluebird)}@media (max-width:768px){.calendar-header{font-size:var(--font-size-base);padding:var(--spacing-sm)}.calendar-day-header{padding:var(--spacing-sm);font-size:12px}.calendar-hour-label{padding:var(--spacing-xs) var(--spacing-sm);font-size:11px}.calendar-entry{padding:var(--spacing-xs);min-height:var(--touch-target-min);font-size:12px}.calendar-nav-button{min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--spacing-sm)}.calendar-time-slot{min-height:50px}}@media (max-width:480px){.calendar-week-view{-webkit-overflow-scrolling:touch;overflow-x:auto}.calendar-day-column{min-width:120px}.calendar-entry-details{display:none}.calendar-entry-title{font-size:11px}}
*{box-sizing:border-box}html{background:var(--seagull)}body{background:var(--seagull);color:var(--comorant);line-height:var(--line-height-normal);margin:0;font-family:inherit}a{color:inherit;text-decoration:none}button{font-family:inherit}input,select,textarea{color:var(--comorant);font-family:inherit}
.button{border-radius:var(--radius-sm);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);cursor:pointer;transition:opacity var(--transition-fast);border:none;font-weight:400}.button:disabled{cursor:not-allowed;opacity:.5}.button:hover:not(:disabled){opacity:.85}.button-primary{background:var(--bluebird);color:var(--white)}.button-danger{background:var(--cardinal);color:var(--white)}.button-success{background:var(--forest);color:var(--white)}.button-ghost{background:var(--white);color:var(--comorant);border:1px solid var(--heron)}.button-ghost:hover:not(:disabled){border-color:var(--comorant)}@media (max-width:768px){.button{padding:var(--spacing-md) var(--spacing-lg);min-height:var(--touch-target-min);font-size:var(--font-size-base)}.button-full-mobile{width:100%}.button-group-mobile{gap:var(--spacing-sm);flex-direction:column;display:flex}.button-group-mobile .button{width:100%}}
.input{width:100%;padding:var(--spacing-md) var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--heron);font-size:var(--font-size-base);background:var(--white);color:var(--comorant);font-family:inherit}.input:focus{border-color:var(--bluebird);outline:none;box-shadow:0 0 0 2px #0000ff1a}.input:disabled{background:var(--seagull);color:var(--heron);cursor:not-allowed;opacity:.6}select.input{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--spacing-md) center;background-size:1.5em 1.5em;padding-right:2.5em}textarea.input{resize:vertical;min-height:100px}@media (max-width:768px){.input{padding:var(--spacing-md);min-height:var(--touch-target-min);font-size:16px}select.input{background-size:1.2em 1.2em}.form-group{margin-bottom:var(--spacing-md)}.form-row{gap:var(--spacing-sm);flex-direction:column;display:flex}}
.card{background:var(--seagull);padding:var(--spacing-xl);border-top:1px solid var(--heron);border-radius:0}.card:first-child{border-top:none}.card-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--heron)}.card-footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--heron)}@media (max-width:768px){.card{padding:var(--spacing-lg)}.card-header,.card-footer{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md)}.card-footer{margin-top:var(--spacing-md);padding-top:var(--spacing-md)}}@media (max-width:480px){.card{padding:var(--spacing-md)}}
.navbar{background:var(--white);border-bottom:1px solid var(--heron);padding:var(--spacing-lg) var(--spacing-xl);align-items:center;gap:var(--spacing-xl);z-index:10;display:flex;position:sticky;top:0}.navbar-brand{align-items:center;gap:var(--spacing-md);margin-right:auto;display:flex}.navbar-logo{width:auto;height:18px;display:block}.navbar-title{font-weight:400;font-size:var(--font-size-lg);color:var(--comorant)}.navbar-nav{gap:var(--spacing-lg);flex:1;display:flex}.navbar-nav .button-ghost{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base)}.navbar-nav .button-ghost.active{border-color:var(--bluebird);color:var(--bluebird)}.navbar-menu-toggle{border:1px solid var(--heron);padding:var(--spacing-sm);cursor:pointer;border-radius:var(--radius-sm);color:var(--comorant);background:0 0;display:none}@media (max-width:768px){.navbar{padding:var(--spacing-md) var(--spacing-lg);flex-wrap:wrap}.navbar-brand{flex:1}.navbar-logo{height:16px}.navbar-title{font-size:var(--font-size-base)}.navbar-menu-toggle{order:2;display:block}.navbar-nav{gap:var(--spacing-sm);width:100%;margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--heron);flex-direction:column;order:3;display:none}.navbar-nav.mobile-open{display:flex}.navbar-nav .button-ghost{text-align:left;justify-content:flex-start;width:100%}.navbar>.button-primary{width:100%;margin-top:var(--spacing-sm);order:4;display:none}.navbar.mobile-open>.button-primary{display:block}}
.typeahead-container{width:100%;position:relative}.typeahead-input{width:100%}.typeahead-dropdown{background:var(--white);border:1px solid var(--heron);border-radius:0 0 var(--radius-sm) var(--radius-sm);z-index:1000;border-top:none;max-height:300px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.typeahead-item{padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;border-bottom:1px solid var(--heron);font-size:var(--font-size-base);color:var(--comorant)}.typeahead-item:last-child{border-bottom:none}.typeahead-item:hover{background:var(--seagull)}.typeahead-item.selected{background:var(--bluebird);color:var(--white)}.typeahead-item-code{margin-right:var(--spacing-sm);font-weight:700}.typeahead-item-name{font-weight:400}@media (max-width:768px){.typeahead-dropdown{border-radius:0 0 var(--radius-sm) var(--radius-sm);max-height:250px}.typeahead-item{padding:var(--spacing-md);min-height:var(--touch-target-min);font-size:16px}.typeahead-item-code{margin-bottom:var(--spacing-xs);display:block}.typeahead-item-name{font-size:14px}}@media (max-width:480px){.typeahead-dropdown{max-height:200px}.typeahead-item{padding:var(--spacing-sm) var(--spacing-md)}}
.grid{gap:var(--spacing-lg);display:grid}.grid-cols-1{grid-template-columns:1fr}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-sidebar{grid-template-columns:1fr 2fr}.grid-main{grid-template-columns:2fr 1fr}@media (max-width:850px){.grid-sidebar,.grid-cols-2,.grid-cols-3,.grid-main{grid-template-columns:1fr}}.grid-start{align-items:start}.grid-center{align-items:center}.grid-stretch{align-items:stretch}
.page-shell{max-width:1640px;padding:var(--spacing-2xl);background:var(--seagull);margin:0 auto}.page-header{margin-bottom:var(--spacing-2xl)}.page-footer{margin-top:var(--spacing-2xl);padding-top:var(--spacing-2xl);border-top:1px solid var(--heron);text-align:center;color:var(--heron);font-size:var(--font-size-sm)}@media (max-width:768px){.page-shell{padding:var(--spacing-lg)}.page-header{margin-bottom:var(--spacing-lg)}.page-footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}}@media (max-width:480px){.page-shell{padding:var(--spacing-md)}}
.section-title{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-xl);color:var(--comorant);font-weight:700}.subsection-title{margin:var(--spacing-lg) 0 var(--spacing-md) 0;font-size:var(--font-size-lg);color:var(--comorant);font-weight:700}.text-muted{color:var(--heron);font-size:var(--font-size-sm)}.text-sm{font-size:var(--font-size-sm)}.text-lg{font-size:var(--font-size-lg)}.font-bold{font-weight:700}.font-semibold{font-weight:500}.font-normal{font-weight:400}.mt-0{margin-top:0}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mt-2xl{margin-top:var(--spacing-2xl)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mb-2xl{margin-bottom:var(--spacing-2xl)}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.gap-sm{gap:var(--spacing-sm)!important}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.w-full{width:100%}.h-full{height:100%}.hidden{display:none}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.underline{text-decoration:underline}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}
.timer-container{align-items:start;gap:var(--spacing-lg);grid-template-columns:1fr 2fr;display:grid}@media (max-width:850px){.timer-container{grid-template-columns:1fr}.timer-display{font-size:2em}.timer-controls{flex-direction:column}.timer-controls .button{width:100%;min-height:var(--touch-target-min)}.last-jobs-container{max-height:400px;overflow-y:auto}}@media (max-width:480px){.timer-display{padding:var(--spacing-md);font-size:1.8em}.job-card{padding:var(--spacing-md)}.timer-adjustment{gap:var(--spacing-sm);grid-template-columns:1fr;display:grid}.timer-adjustment input{width:100%}}.timer-panel{gap:var(--spacing-lg);flex-direction:column;display:flex}.timer-display{color:var(--comorant);text-align:center;padding:var(--spacing-lg);background:var(--seagull);border-radius:var(--radius-sm);font-size:3em;font-weight:700}.timer-controls{gap:var(--spacing-md);display:flex}.timer-controls .button{flex:1}.last-jobs-container{gap:var(--spacing-md);flex-direction:column;display:flex}.job-card{padding:var(--spacing-lg);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;gap:var(--spacing-lg);display:flex}.job-info{flex:1}.job-title{margin-bottom:var(--spacing-xs);font-weight:700}.job-details{opacity:.85;font-size:.9em}.job-actions{align-items:center;gap:var(--spacing-md);display:flex}.job-edit-link{cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.job-edit-form{padding:var(--spacing-lg);border-radius:var(--radius-sm)}.job-edit-controls{gap:var(--spacing-md);margin-top:var(--spacing-lg);display:flex}.job-delete-btn{margin-left:auto}.manual-entry-inputs{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.date-time-inputs{gap:var(--spacing-md);display:flex}.new-project-form{gap:var(--spacing-md);display:grid}.field-with-clear{gap:var(--spacing-sm);display:flex}.field-with-clear input{flex:1}.clear-button{padding:var(--spacing-md);min-width:40px}
.reporting-container{gap:var(--spacing-lg);display:grid}.reporting-filters{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.filter-group{gap:var(--spacing-sm);display:flex}.filter-group input,.filter-group select{flex:1}.clear-filter-btn{padding:var(--spacing-md)}.reporting-table{border-collapse:collapse;width:100%}.reporting-table th{background:var(--seagull);padding:var(--spacing-md) var(--spacing-lg);text-align:left;color:var(--comorant);border-bottom:2px solid var(--heron);font-weight:700}.reporting-table td{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--heron);color:var(--comorant)}.reporting-table tr:hover,.reporting-edit-row{background:var(--seagull)}.reporting-edit-controls{gap:var(--spacing-md);display:flex}.reporting-summary{gap:var(--spacing-lg);background:var(--comorant);color:var(--white);padding:var(--spacing-lg);border-radius:var(--radius-sm);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.summary-label{font-size:var(--font-size-sm);opacity:.9;margin-bottom:var(--spacing-xs)}.summary-value{font-size:1.5em;font-weight:700}.reporting-error{padding:var(--spacing-lg);border-left:4px solid var(--cardinal);border-radius:var(--radius-sm);color:var(--cardinal);background:#fee}.reporting-loading{text-align:center;padding:var(--spacing-2xl);color:var(--heron)}@media (max-width:768px){.reporting-filters{gap:var(--spacing-sm);grid-template-columns:1fr}.filter-group{flex-direction:column}.clear-filter-btn{width:100%}.reporting-table-container{-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--spacing-lg));padding:0 var(--spacing-lg);overflow-x:auto}.reporting-table{min-width:800px}.reporting-table th,.reporting-table td{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.reporting-edit-controls{flex-direction:column}.reporting-edit-controls .button{width:100%}.reporting-summary{gap:var(--spacing-md);padding:var(--spacing-md);grid-template-columns:1fr}.summary-value{font-size:1.2em}.reporting-mobile-card{padding:var(--spacing-md);background:var(--white);border-radius:var(--radius-sm);border:1px solid var(--heron);margin-bottom:var(--spacing-sm);display:block}.reporting-mobile-card-header{margin-bottom:var(--spacing-xs);font-weight:700}.reporting-mobile-card-details{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.8}}@media (max-width:480px){.reporting-table{min-width:600px;font-size:12px}.reporting-table th,.reporting-table td{padding:var(--spacing-xs) var(--spacing-sm)}.summary-value{font-size:1.1em}}
.admin-container{gap:var(--spacing-lg);display:grid}.admin-tabs{gap:var(--spacing-md);border-bottom:1px solid var(--heron);margin-bottom:var(--spacing-lg);display:flex}.admin-tab{padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;color:var(--comorant);font-size:var(--font-size-base);transition:all var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;font-weight:700}.admin-tab:hover{color:var(--bluebird)}.admin-tab.active{border-bottom-color:var(--bluebird);color:var(--bluebird)}.admin-tab-content{display:none}.admin-tab-content.active{display:block}.admin-form{gap:var(--spacing-md);max-width:500px;display:grid}.admin-list{gap:var(--spacing-md);display:grid}.admin-item{padding:var(--spacing-lg);background:var(--seagull);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;display:flex}.admin-item-info{flex:1}.admin-item-name{color:var(--comorant);margin-bottom:var(--spacing-xs);font-weight:700}.admin-item-details{font-size:var(--font-size-sm);color:var(--heron)}.admin-item-actions{gap:var(--spacing-md);margin-left:auto;display:flex}.admin-item-actions .button{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-sm)}.role-select{min-width:120px}.team-create-form{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:var(--seagull);border-radius:var(--radius-sm);display:grid}@media (max-width:768px){.admin-tabs{-webkit-overflow-scrolling:touch;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);overflow-x:auto}.admin-tab{white-space:nowrap;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);flex-shrink:0}.admin-form{max-width:100%}.admin-item{align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);flex-direction:column}.admin-item-actions{flex-direction:column;width:100%;margin-left:0}.admin-item-actions .button,.role-select{width:100%}.admin-table-container{-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--spacing-lg));padding:0 var(--spacing-lg);overflow-x:auto}.admin-table{min-width:600px}.admin-list-mobile{gap:var(--spacing-sm);flex-direction:column;display:flex}}@media (max-width:480px){.admin-tabs{gap:var(--spacing-xs)}.admin-tab{padding:var(--spacing-xs) var(--spacing-sm);font-size:12px}.admin-item{padding:var(--spacing-sm)}.team-create-form{padding:var(--spacing-md)}}.team-create-form .grid{grid-template-columns:1fr 1fr}
