@import "https://fonts.bunny.net/css?family=Nunito";:root{--color-white:#fff;--color-black:#000;--color-body-bg:#fff;--color-green:#81ce87;--color-green-accent:#9bbd1480;--color-grey:#f0f0f0;--color-bright-grey:#fafafa;--color-dark-grey:#959595;--color-text:var(--color-black);--color-error:#9c333a;--color-green-soft:#eef8ef;--color-green-strong:#5fad66;--color-green-contrast:#16321a;--color-dark-grey-accent:#6f6f6f;--color-dark-grey-soft:#e3e3e3;--color-error-accent:#7f252d;--color-error-soft:#f8e8ea;--color-border:#dcdcdc;--color-border-strong:#bcbcbc;--color-surface:var(--color-white);--color-surface-muted:var(--color-bright-grey);--color-surface-alt:var(--color-grey);--color-text-muted:var(--color-dark-grey-accent);--color-text-inverse:var(--color-white);--color-link:var(--color-green-strong);--color-link-hover:var(--color-green);--color-focus-ring:#81ce8759;--color-shadow:#00000014;--gradient-brand:linear-gradient(135deg, #81ce87 0%, #9bbd14 100%);--gradient-surface:linear-gradient(180deg, #fff 0%, #fafafa 100%);--color-primary:var(--color-green);--color-primary-hover:var(--color-green-strong);--color-primary-soft:var(--color-green-soft);--color-secondary:var(--color-dark-grey);--color-secondary-hover:var(--color-dark-grey-accent);--color-secondary-soft:var(--color-dark-grey-soft);--color-danger:var(--color-error);--color-danger-hover:var(--color-error-accent);--color-danger-soft:var(--color-error-soft);--font-family-base:"Lato", arial, sans-serif;--spacing--0:0;--spacing--xs:1rem;--spacing--sm:2rem;--spacing--md:3rem;--spacing--lg:4rem;--spacing--xl:6rem;--spacing--xxl:9rem;--transition:.3s ease-in-out;--transition-slow:.45s ease-in-out;--transition-fast:.2s ease-in-out;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:1rem;--radius-pill:999px;--shadow-sm:0 .25rem .75rem var(--color-shadow);--shadow-md:0 .75rem 2rem #0000001f;--fz-100:6.25rem;--fz-90:5.625rem;--fz-60:3.75rem;--fz-44:2.75rem;--fz-30:1.875rem;--fz-20:1.25rem;--fz-16:1rem;--fz-14:.875rem;--font-size-base:var(--fz-16);--line-height-base:1.5;--line-height-heading:1.1;--fz-h1:var(--fz-60);--fz-h2:var(--fz-60);--fz-h3:var(--fz-60);--fz-h4:var(--fz-30);--fz-h5:var(--fz-20);--fz-h6:var(--fz-16)}html{box-sizing:border-box;scroll-behavior:smooth;margin:0;padding:0}*,:before,:after{box-sizing:inherit}body{background:var(--gradient-surface);min-height:100vh;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;display:flex}main{flex:1}.app-role{--role-accent:var(--color-green-strong);--role-accent-soft:var(--color-green-soft);--role-accent-contrast:var(--color-green-contrast)}.app-role--chief{--role-accent:#b7791f;--role-accent-soft:#fff8e7;--role-accent-contrast:#6b3f09}.app-role--worker{--role-accent:#2f6f8f;--role-accent-soft:#eef7fb;--role-accent-contrast:#17445c}.role-chip{border:1px solid color-mix(in srgb, var(--role-accent) 35%, transparent);border-radius:var(--radius-pill);background:var(--role-accent-soft);width:fit-content;min-height:1.75rem;color:var(--role-accent-contrast);align-items:center;padding:.25rem .65rem;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}ul,ol{margin-bottom:0;padding-left:1.25rem}h1{font-size:var(--fz-h1);line-height:var(--line-height-heading);margin-bottom:var(--spacing--xs);color:var(--color-text);font-weight:700}h2{font-size:var(--fz-h2);line-height:var(--line-height-heading);margin-bottom:var(--spacing--xs);color:var(--color-text);font-weight:700}h3{font-size:var(--fz-h3);line-height:var(--line-height-heading);margin-bottom:var(--spacing--xs);color:var(--color-text);font-weight:700}h4{font-size:var(--fz-h4);line-height:var(--line-height-heading);margin-bottom:var(--spacing--xs);color:var(--color-text);font-weight:700}h5{font-size:var(--fz-h5);line-height:var(--line-height-heading);margin-bottom:var(--spacing--xs);color:var(--color-text);font-weight:700}h6{font-size:var(--fz-h6);line-height:var(--line-height-heading);margin-bottom:var(--spacing--xs);color:var(--color-text);font-weight:700}h1,h2,h3,h4,h5,h6,p,ul,ol,figure,blockquote{margin-top:0}p{font-size:var(--fz-16);margin-bottom:var(--spacing--xs);color:var(--color-text-muted)}small,caption{font-size:var(--fz-14);color:var(--color-text-muted)}img,svg,video{max-width:100%;display:block}input,button,select,textarea{font-size:var(--fz-16);font-family:inherit}input:focus,button:focus,select:focus,textarea:focus{outline:none}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);width:100%;color:var(--color-text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);padding:.875rem 1rem}input:not([type=checkbox]):not([type=radio]):not([type=file])::placeholder,select::placeholder,textarea::placeholder{color:var(--color-text-muted)}input:not([type=checkbox]):not([type=radio]):not([type=file]):hover,select:hover,textarea:hover{border-color:var(--color-border-strong)}input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 .25rem var(--color-focus-ring)}input:not([type=checkbox]):not([type=radio]):not([type=file]):disabled,select:disabled,textarea:disabled{background-color:var(--color-surface-alt);color:var(--color-text-muted);cursor:not-allowed}a{color:var(--color-link);transition:var(--transition) color;text-decoration:none}a:hover{color:var(--color-link-hover)}button{background-color:var(--color-primary);color:var(--color-text-inverse);padding:var(--spacing--xs) var(--spacing--sm);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;font-weight:600;display:inline-flex}button:hover{background-color:var(--color-primary-hover)}button:focus-visible{box-shadow:0 0 0 .25rem var(--color-focus-ring)}button:disabled{background-color:var(--color-secondary-soft);color:var(--color-text-muted);box-shadow:none;cursor:not-allowed}button.primary{background-color:var(--color-primary)}button.primary:hover{background-color:var(--color-primary-hover)}button.secondary{background-color:var(--color-secondary)}button.secondary:hover{background-color:var(--color-secondary-hover)}button.danger{background-color:var(--color-danger)}button.danger:hover{background-color:var(--color-danger-hover)}button.ghost{color:var(--color-primary);border-color:var(--color-primary-soft);box-shadow:none;background-color:#0000}button.ghost:hover{background-color:var(--color-primary-soft);color:var(--color-primary-hover)}button.soft{background-color:var(--color-primary-soft);color:var(--color-primary-hover);box-shadow:none}button.soft:hover{background-color:var(--color-green);color:var(--color-text-inverse)}[hidden]{display:none!important}fieldset{border:0;margin:0;padding:0}.site-shell{min-height:100vh}.site-main{flex-direction:column;gap:2rem;padding-block:2rem 4rem;display:flex}@media (width>=641px){.site-main{flex-direction:row;align-items:flex-start}}.page-section,.auth-section{flex:1;padding-block:2rem}.auth-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);width:100%;box-shadow:var(--shadow-md);padding:clamp(1.5rem,2vw,2.5rem)}.auth-card--narrow{max-width:40rem;margin-inline:auto}.auth-card__header{margin-bottom:2rem}.auth-form{gap:1.25rem;display:grid}.auth-form__actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.auth-form__link{color:var(--color-text-muted);font-size:var(--fz-14)}.form-field{gap:.5rem;display:grid}.form-field__label{color:var(--color-text);font-weight:600}.form-field__error{color:var(--color-danger);font-size:var(--fz-14)}.form-check{color:var(--color-text-muted);cursor:pointer;align-items:center;gap:.75rem;display:inline-flex}.auth-copy{color:var(--color-text-muted)}.auth-alert{border-radius:var(--radius-md);border:1px solid var(--color-border);margin-bottom:1rem;padding:1rem 1.25rem}.auth-alert--success{border-color:var(--color-primary);background-color:var(--color-primary-soft);color:var(--color-primary-hover)}.auth-inline-form{display:inline}.auth-inline-form__button{min-height:auto;box-shadow:none;color:var(--color-link);vertical-align:baseline;background:0 0;border:0;padding:0;font-weight:600;display:inline-flex}.auth-inline-form__button:hover{color:var(--color-link-hover);background:0 0}input[type=checkbox],input[type=radio]{appearance:none;border:1px solid var(--color-border-strong);background-color:var(--color-surface);cursor:pointer;width:1.125rem;height:1.125rem;transition:border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);flex:none;place-content:center;margin:0;display:inline-grid}input[type=checkbox]:hover,input[type=radio]:hover{border-color:var(--color-primary)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{box-shadow:0 0 0 .25rem var(--color-focus-ring)}input[type=checkbox]:checked,input[type=radio]:checked{background-color:var(--color-primary);border-color:var(--color-primary)}input[type=checkbox]:disabled,input[type=radio]:disabled{background-color:var(--color-surface-alt);border-color:var(--color-border);cursor:not-allowed}input[type=checkbox]{border-radius:.35rem}input[type=checkbox]:after{content:"";border-right:2px solid var(--color-text-inverse);border-bottom:2px solid var(--color-text-inverse);width:.35rem;height:.65rem;transition:transform var(--transition-fast);margin-top:-.05rem;transform:rotate(45deg)scale(0)}input[type=checkbox]:checked:after{transform:rotate(45deg)scale(1)}input[type=radio]{border-radius:50%}input[type=radio]:after{content:"";background-color:var(--color-text-inverse);width:.5rem;height:.5rem;transition:transform var(--transition-fast);border-radius:50%;transform:scale(0)}input[type=radio]:checked:after{transform:scale(1)}input[type=file]{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background-color:var(--color-surface-muted);width:100%;color:var(--color-text-muted);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);padding:.75rem}input[type=file]:hover{border-color:var(--color-primary);background-color:var(--color-primary-soft)}input[type=file]:focus-visible{box-shadow:0 0 0 .25rem var(--color-focus-ring)}input[type=file]::file-selector-button{border-radius:var(--radius-pill);background-color:var(--color-primary);color:var(--color-text-inverse);font:inherit;cursor:pointer;transition:background-color var(--transition-fast), box-shadow var(--transition-fast);border:1px solid #0000;margin-right:.75rem;padding:.65rem 1rem;font-weight:600}input[type=file]:hover::file-selector-button{background-color:var(--color-primary-hover)}input[type=file]::file-selector-button:hover{background-color:var(--color-primary-hover)}::selection{background-color:var(--color-primary-soft);color:var(--color-primary-hover)}.container{width:min(100% - 2rem,100%);margin-inline:auto}@media (width>=641px){.container{width:min(100% - 3rem,48rem)}}@media (width>=1025px){.container{width:min(100% - 4rem,82.5rem)}}.btn{border-radius:var(--radius-md);font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);transition:var(--transition);cursor:pointer;align-items:center;gap:.5rem;padding:.75rem 2rem;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-primary);color:var(--color-white);border-color:#0000}.btn-primary:hover{background:var(--color-primary-hover);color:var(--color-white)}.btn-secondary{background:var(--color-white);border-color:var(--color-primary);color:var(--color-text)}.btn-secondary:hover{background:var(--color-primary);color:var(--color-white)}.btn-remove{background:var(--color-danger);color:var(--color-white);border-color:#0000}.btn-remove:hover{background:var(--color-danger-hover);color:var(--color-white)}.btn-edit{background:var(--color-dark-grey);color:var(--color-white);border-color:#0000;padding:.5rem 1rem}.btn-edit:hover{background:var(--color-primary);color:var(--color-white)}.btn:focus{box-shadow:0 0 0 4px var(--color-focus-ring);outline:none}.btn svg{vertical-align:middle;display:inline-block}.form-buttons{gap:var(--spacing--xs);margin-top:var(--spacing--xs);flex-flow:wrap;display:flex}.form-buttons [form^=delete-]{margin-left:auto}.site-header{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);background-color:#ffffffeb;padding-block:1rem;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:1rem;display:flex}.site-header__brand{align-items:center;display:inline-flex}.site-header__brand img{max-width:10rem}.site-header__nav{align-items:center;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.site-header__identity{flex-direction:column;align-items:flex-end;gap:.25rem;display:none}@media (width>=641px){.site-header__identity{display:flex}}.site-header__menu{position:relative}.site-header__menu[open] .site-header__menu-toggle{border-color:var(--color-primary-soft);background-color:var(--color-primary-soft)}.site-header__user{color:var(--color-text);font-size:var(--fz-14);font-weight:700}.site-header__user--dropdown{padding:.25rem .25rem .5rem}.site-header__role{min-height:1.4rem;padding-block:.15rem;font-size:.68rem}.site-header__link{border-radius:var(--radius-pill);background-color:var(--color-primary-soft);min-height:2.75rem;color:var(--color-primary-hover);transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);border:1px solid #0000;align-items:center;padding-inline:1rem;font-weight:600;display:inline-flex}.site-header__link:hover{background-color:var(--color-primary);color:var(--color-text-inverse)}.site-header__link--dropdown{justify-content:center;width:-webkit-fill-available;width:-moz-available;width:stretch}.aside{border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-sm);background:#ffffffe6;padding:1rem}@media (width>=641px){.aside{flex:0 0 14rem;position:sticky;top:6.5rem}}.aside .aside__heading{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.aside p{font-size:var(--fz-16);color:var(--color-text-muted);margin:0;font-weight:700}.aside nav .aside__nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=641px){.aside nav .aside__nav{grid-template-columns:1fr}}.aside nav .aside__link{border-radius:var(--radius-md);min-height:2.75rem;color:var(--color-text-muted);font-size:var(--fz-14);transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);border:1px solid #0000;align-items:center;padding:.65rem .8rem;font-weight:600;display:flex}.aside nav .aside__link:hover{border-color:var(--color-border);background:var(--color-surface-muted);color:var(--color-text)}.aside nav .aside__link.is-active{border-color:color-mix(in srgb, var(--role-accent) 35%, transparent);background:var(--role-accent-soft);color:var(--role-accent-contrast)}.worksites-header{justify-content:space-between;align-items:center;gap:var(--spacing--xs);flex-direction:row;display:flex}.worksites-filter{gap:var(--spacing--xs);flex-direction:row;display:flex}.worksites-index__container{gap:var(--spacing--md);flex-direction:column;display:flex}.worksites-index .worksite-item{align-items:center;gap:var(--spacing--xs);padding:var(--spacing--xs);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#ffffffe6;flex-direction:column;align-items:flex-start;display:flex}@media (width>=641px){.worksites-index .worksite-item{flex-direction:row;justify-content:space-between;align-items:center}}.worksites-index .worksite-item__actions{gap:var(--spacing--xs);flex-flow:wrap;width:100%;display:flex}@media (width>=641px){.worksites-index .worksite-item__actions{width:auto}}.worksites-index .worksite-item .badge-status{background:var(--gradient-brand);min-height:2.5rem;color:var(--color-white);font-size:var(--fz-14);text-align:center;border:1px solid #00000014;border-radius:12px;justify-content:center;align-items:center;padding:.5rem 1rem;font-weight:600;line-height:1.2;display:inline-flex}.worksites-index .worksite-item .badge-status--active{border-color:var(--color-green-contrast);background:var(--color-green-contrast);color:var(--color-white)}.worksites-index .worksite-item .badge-status--in_progress{border-color:var(--color-dark-grey-accent);background:var(--color-dark-grey-accent);color:var(--color-white)}.worksites-index .worksite-item .badge-status--completed{border-color:var(--color-green-strong);background:var(--color-green-strong);color:var(--color-white)}.worksites-index .worksite-item .badge-status--inactive{border-color:var(--color-black);background:var(--color-white);color:var(--color-black)}.worksites__create .worksites-form,.worksites__edit .worksites-form,.worksites__create .worksites-form__layout,.worksites__edit .worksites-form__layout{gap:var(--spacing--sm);flex-direction:column;display:flex}.worksites__create .worksites-form__section,.worksites__create .worksites-form__panel,.worksites__edit .worksites-form__section,.worksites__edit .worksites-form__panel{padding:var(--spacing--xs);box-shadow:var(--shadow-sm);background:#ffffffc7;border:1px solid #00000014;border-radius:12px}.worksites__create .worksites-form__section,.worksites__edit .worksites-form__section{gap:var(--spacing--xs);flex-direction:column;display:flex}.worksites__create .worksites-form__section--team,.worksites__edit .worksites-form__section--team{gap:var(--spacing--xs);grid-template-columns:1fr;display:grid}@media (width>=1025px){.worksites__create .worksites-form__section--team,.worksites__edit .worksites-form__section--team{grid-template-columns:repeat(2,minmax(0,1fr))}}.worksites__create .worksites-form__panel,.worksites__edit .worksites-form__panel{gap:var(--spacing--xs);flex-direction:column;display:flex}.worksites__create fieldset,.worksites__edit fieldset{gap:var(--spacing--xs);grid-template-columns:1fr;margin:0;display:grid}@media (width>=641px){.worksites__create fieldset,.worksites__edit fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}}.worksites__create .form-group,.worksites__edit .form-group{gap:.5rem;display:grid}.worksites__create .form-group--full,.worksites__edit .form-group--full{grid-column:1/-1}.app-role--worker .worksite-item,.app-role--chief .worksite-item{border-left:4px solid var(--role-accent)}.worksite,.worksite__layout{gap:var(--spacing--sm);flex-direction:column;display:flex}.worksite__section,.worksite__panel,.worksite__task,.worksite__task-form,.worksite__timeline-entry{padding:var(--spacing--xs);box-shadow:var(--shadow-sm);background:#ffffffc7;border:1px solid #00000014;border-radius:12px}.worksite__section{gap:var(--spacing--xs);flex-direction:column;display:flex}.worksite__section--team{gap:var(--spacing--xs);grid-template-columns:1fr;display:grid}@media (width>=1025px){.worksite__section--team{grid-template-columns:repeat(2,minmax(0,1fr))}}.worksite-header{align-items:flex-start;gap:var(--spacing--xs);flex-direction:column;display:flex}@media (width>=641px){.worksite-header{flex-direction:row;justify-content:space-between;align-items:center}}.worksite-header__content{gap:.5rem;display:grid}.worksite-header__address{color:var(--color-text-muted);margin-bottom:0}.worksite-header__actions{flex-direction:column;align-items:flex-start;gap:.75rem;display:flex}@media (width>=641px){.worksite-header__actions{align-items:flex-end}}.worksite__status-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.worksite__data-row{gap:.35rem;display:grid}.worksite__data-row strong{color:var(--color-text)}.worksite__data-row p{margin-bottom:0}.worksite__data-row--stacked{gap:.75rem}.worksite__list{margin:0}.worksite__actions{flex-wrap:wrap;gap:.75rem;margin-top:.5rem;display:flex}.worksite__task,.worksite__task-form{gap:var(--spacing--xs);display:grid}.worksite__task-form form,.worksite__timeline-form{gap:var(--spacing--xs);flex-direction:column;display:flex}.worksite__timeline-gallery{flex-wrap:wrap;gap:.75rem;display:flex}.worksite__timeline-entry{gap:.75rem;display:grid}.worksite__back{margin-top:var(--spacing--xs)}.worksite .responsible-row{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.worksite .responsible-row:last-child{border-bottom:0;padding-bottom:0}.worksite .responsible-row:first-of-type{padding-top:0}.worksite .badge-status{background:var(--gradient-brand);min-height:2.5rem;color:var(--color-white);font-size:var(--fz-14);text-align:center;border:1px solid #00000014;border-radius:12px;justify-content:center;align-items:center;padding:.5rem 1rem;font-weight:600;line-height:1.2;display:inline-flex}.worksite .badge-status--active{border-color:var(--color-green-contrast);background:var(--color-green-contrast);color:var(--color-white)}.worksite .badge-status--in_progress{border-color:var(--color-dark-grey-accent);background:var(--color-dark-grey-accent);color:var(--color-white)}.worksite .badge-status--completed{border-color:var(--color-green-strong);background:var(--color-green-strong);color:var(--color-white)}.worksite .badge-status--inactive{border-color:var(--color-black);background:var(--color-white);color:var(--color-black)}.app-role--worker .worksite__section--hero,.app-role--worker .worksite__section--team,.app-role--chief .worksite__section--hero,.app-role--chief .worksite__section--team{border-color:color-mix(in srgb, var(--role-accent) 28%, var(--color-border))}.app-role--worker .worksite__panel,.app-role--chief .worksite__panel{border-top:3px solid var(--role-accent)}.home{min-width:0}.home__layout{gap:var(--spacing--sm);display:grid}.home__hero{border:1px solid color-mix(in srgb, var(--role-accent) 24%, var(--color-border));border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--role-accent-soft), #fffffff5);box-shadow:var(--shadow-sm);flex-direction:column;justify-content:space-between;align-items:flex-start;gap:1.25rem;padding:clamp(1.25rem,3vw,2.25rem);display:flex}@media (width>=641px){.home__hero{flex-direction:row;align-items:center}}.home__eyebrow,.home .home-panel__eyebrow{color:var(--role-accent-contrast);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.45rem;font-size:.75rem;font-weight:800;display:block}.home__welcome{margin-bottom:.65rem;font-size:clamp(1.8rem,4vw,2.75rem)}.home__intro{max-width:46rem;margin:0}.home .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}@media (width>=641px){.home .stats-grid{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}}.home .stat-card{border-radius:var(--radius-lg);background:var(--gradient-brand);min-height:7rem;color:var(--color-white);box-shadow:var(--shadow-sm);border:1px solid #00000014;gap:.25rem;padding:1rem;display:grid}.home .stat-card__value{font-size:clamp(1.75rem,3vw,2.4rem);font-weight:800;line-height:1}.home .stat-card__label{font-size:var(--fz-14);align-self:end;font-weight:700}.home .stat-card--active{background:var(--color-green-contrast)}.home .stat-card--progress{background:var(--color-dark-grey-accent)}.home .stat-card--completed{background:var(--color-green-strong)}.home .stat-card--inactive{background:var(--color-white);color:var(--color-black)}.home__workspace{gap:var(--spacing--xs);display:grid}@media (width>=1025px){.home__workspace{grid-template-columns:minmax(0,2fr) minmax(17rem,.9fr);align-items:start}}.home-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);background:#ffffffe6;padding:clamp(1rem,2vw,1.5rem)}.home-panel__header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.home-panel__header h2{margin:0;font-size:clamp(1.35rem,2vw,1.8rem)}.home-worksites{gap:.75rem;display:grid}@media (width>=641px){.home-worksites{grid-template-columns:repeat(2,minmax(0,1fr))}}.home-worksite{border:1px solid var(--color-border);border-left:4px solid var(--role-accent);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;gap:.7rem;padding:1rem;display:flex}.home-worksite__topline,.home-worksite__actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.home-worksite__status,.home-worksite__date{font-size:.75rem;font-weight:700}.home-worksite__status{border-radius:var(--radius-pill);background:var(--role-accent-soft);color:var(--role-accent-contrast);padding:.25rem .55rem}.home-worksite__date{color:var(--color-text-muted)}.home-worksite h3{font-size:var(--fz-20);margin:0}.home-worksite p{margin:0}.home-worksite__meta{color:var(--color-text-muted);font-size:var(--fz-14);gap:.25rem;display:grid}.home-worksite__actions{justify-content:flex-start;margin-top:auto}.home-worksite__actions .btn{font-size:var(--fz-14);flex:auto;justify-content:center;padding-inline:.8rem}.team-summary{gap:1rem;display:grid}.team-summary__name{border-bottom:1px solid var(--color-border);color:var(--role-accent-contrast);font-size:var(--fz-20);padding-bottom:.75rem;font-weight:800}.team-summary__workers{gap:.55rem;display:grid}.team-person{border-radius:var(--radius-md);background:var(--color-surface-muted);grid-template-columns:2.25rem minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.55rem;display:grid}.team-person--lead{background:var(--role-accent-soft)}.team-person__avatar{aspect-ratio:1;background:var(--role-accent);width:2.25rem;color:var(--color-white);border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.team-person small,.team-person strong{display:block}.team-person__you{border-radius:var(--radius-pill);background:var(--color-white);color:var(--role-accent-contrast);padding:.2rem .45rem;font-size:.7rem;font-weight:800}.home-empty{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-muted);grid-column:1/-1;padding:1.25rem}.home-empty h3,.home-empty p{margin-bottom:.35rem}.hours-page__layout{gap:var(--spacing--sm);flex-direction:column;display:flex}.hours-page__section{gap:var(--spacing--xs);padding:var(--spacing--xs);box-shadow:var(--shadow-sm);background:#ffffffc7;border:1px solid #00000014;border-radius:12px;flex-direction:column;display:flex}.hours-page__back{margin-top:var(--spacing--xs)}.hours-page__empty p{margin-bottom:0}.hours-filter{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.hours-filter .form-control{flex:12rem;min-width:12rem}.hours-form-section form{gap:var(--spacing--xs);flex-direction:column;display:flex}.hours-table-wrap{overflow-x:auto}.hours-table{border-collapse:collapse;width:100%}.hours-table th,.hours-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;padding:.9rem 1rem}.hours-table thead th{color:var(--color-text);font-size:var(--fz-14);background:var(--color-surface-muted)}.hours-table__total-row td,.hours-table tfoot th{background:var(--color-primary-soft);color:var(--color-primary-hover)}.hours-table tbody tr:last-child td,.hours-table tbody tr:last-child th,.hours-table tfoot tr:last-child th,.hours-table tfoot tr:last-child td{border-bottom:0}.hours-table input.form-control{min-width:6.5rem}.hours-table td:first-child,.hours-table th:first-child{white-space:nowrap}.users__layout{gap:var(--spacing--sm);flex-direction:column;display:flex}.users__section{gap:var(--spacing--xs);padding:var(--spacing--xs);box-shadow:var(--shadow-sm);background:#ffffffc7;border:1px solid #00000014;border-radius:12px;flex-direction:column;display:flex}.users__header{justify-content:space-between;align-items:flex-start;gap:var(--spacing--xs);margin-bottom:var(--spacing--xs);flex-direction:column;display:flex}@media (width>=641px){.users__header{flex-direction:row;align-items:center}}.users__item{gap:var(--spacing--xs);padding:var(--spacing--xs);border-bottom:1px solid var(--color-border);flex-direction:column;justify-content:space-between;display:flex}.users__item:last-child{border-bottom:0;padding-bottom:0}.users__item:first-child{padding-top:0}@media (width>=641px){.users__item{flex-direction:row;align-items:center}}.users__item-info{gap:.35rem;display:grid}.users__item-email{width:fit-content;color:var(--color-text-muted);font-size:var(--fz-14)}.users__item-email:hover{color:var(--color-primary-hover)}.users__create .users-form,.users__edit .users-form{gap:var(--spacing--sm);flex-direction:column;display:flex}.users__create fieldset,.users__edit fieldset{gap:var(--spacing--xs);grid-template-columns:1fr;margin:0;display:grid}@media (width>=641px){.users__create fieldset,.users__edit fieldset{grid-template-columns:1fr 1fr}}.users__create .form-group,.users__edit .form-group{gap:.5rem;display:grid}.groups__layout{gap:var(--spacing--sm);flex-direction:column;display:flex}.groups__section{gap:var(--spacing--xs);padding:var(--spacing--xs);box-shadow:var(--shadow-sm);background:#ffffffc7;border:1px solid #00000014;border-radius:12px;flex-direction:column;display:flex}.groups__header{justify-content:space-between;align-items:flex-start;gap:var(--spacing--xs);margin-bottom:var(--spacing--xs);flex-direction:column;display:flex}@media (width>=641px){.groups__header{flex-direction:row;align-items:center}}.groups__item{gap:var(--spacing--xs);padding:var(--spacing--xs);border-bottom:1px solid var(--color-border);flex-direction:column;justify-content:space-between;display:flex}.groups__item:last-child{border-bottom:0;padding-bottom:0}.groups__item:first-child{padding-top:0}@media (width>=641px){.groups__item{flex-direction:row;align-items:center}}.groups__create .groups-form,.groups__edit .groups-form{gap:var(--spacing--sm);flex-direction:column;display:flex}.groups__create fieldset,.groups__edit fieldset{gap:var(--spacing--xs);grid-template-columns:1fr;margin:0;display:grid}@media (width>=641px){.groups__create fieldset,.groups__edit fieldset{grid-template-columns:1fr 1fr}}.groups__create .form-group,.groups__edit .form-group{gap:.5rem;display:grid}.groups__create .form-group--full,.groups__edit .form-group--full{grid-column:1/-1}
