:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--color-bg: oklch(1 0 0);--color-surface: oklch(.97 .003 70);--color-surface-strong: oklch(.93 .006 70);--color-ink: oklch(.19 .015 70);--color-muted: oklch(.43 .012 70);--color-primary: oklch(.49 .13 67);--color-primary-hover: oklch(.44 .13 67);--color-primary-soft: oklch(.94 .035 70);--color-accent: oklch(.38 .11 245);--color-success: oklch(.42 .12 150);--color-success-soft: oklch(.94 .035 150);--color-warning: oklch(.58 .14 75);--color-danger: oklch(.47 .17 28);--color-danger-soft: oklch(.95 .03 28);--color-border: oklch(.88 .006 70);--color-white: oklch(1 0 0);--shadow-menu: 0 4px 8px oklch(.19 .015 70 / .12);--z-sticky: 20;--z-backdrop: 30;--z-navigation: 40;--ease-out: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--color-bg)}body{min-width:320px;min-height:100vh;margin:0;color:var(--color-ink);background:var(--color-bg);line-height:1.5}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,p{margin-top:0}h1,h2{text-wrap:balance}p{text-wrap:pretty}:focus-visible{outline:3px solid oklch(.66 .13 67 / .62);outline-offset:3px}.brand-mark{display:inline-flex;align-items:center;gap:.72rem;min-width:max-content}.brand-mark__icon{display:inline-flex;width:2.35rem;height:2.35rem;align-items:center;justify-content:center;color:var(--color-white);background:var(--color-primary);border-radius:10px}.brand-mark__name{font-size:1rem;font-weight:750;letter-spacing:-.025em}.login-page{display:grid;min-height:100vh;grid-template-columns:minmax(0,1.06fr) minmax(28rem,.94fr);background:var(--color-bg)}.login-panel{display:flex;min-height:100vh;padding:clamp(1.5rem,4vw,4rem)}.login-panel__inner{display:flex;width:min(100%,28rem);min-height:calc(100vh - clamp(3rem,8vw,8rem));margin:auto;flex-direction:column;justify-content:center}.login-panel__inner>.brand-mark{margin-bottom:clamp(3.25rem,8vh,6rem)}.login-copy{margin-bottom:2rem}.login-copy__context{margin-bottom:.6rem;color:var(--color-primary);font-size:.875rem;font-weight:700}.login-copy h1{margin-bottom:.75rem;font-size:clamp(2rem,4vw,2.75rem);line-height:1.08;letter-spacing:-.035em}.login-copy>p:last-child{max-width:43ch;margin-bottom:0;color:var(--color-muted);font-size:.975rem}.login-form{display:flex;flex-direction:column;gap:1.15rem}.field{display:flex;flex-direction:column;gap:.45rem}.field label{font-size:.875rem;font-weight:650}.field input{width:100%;min-height:3rem;padding:.72rem .88rem;color:var(--color-ink);background:var(--color-bg);border:1px solid var(--color-border);border-radius:9px;transition:border-color .18s var(--ease-out),box-shadow .18s var(--ease-out)}.field input::placeholder{color:#615d58}.field input:hover{border-color:#aaa39d}.field input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px var(--color-primary-soft)}.field input[aria-invalid=true]{border-color:var(--color-danger)}.field__error{margin-bottom:0;color:var(--color-danger);font-size:.8125rem;font-weight:600}.password-input{position:relative}.password-input input{padding-right:3.2rem}.password-input .icon-button{position:absolute;top:.15rem;right:.15rem}.icon-button{display:inline-flex;width:2.7rem;height:2.7rem;flex:0 0 auto;align-items:center;justify-content:center;padding:0;color:var(--color-muted);background:transparent;border:0;border-radius:8px;cursor:pointer;transition:color .16s var(--ease-out),background-color .16s var(--ease-out)}.icon-button:hover{color:var(--color-ink);background:var(--color-surface)}.primary-button,.secondary-button{display:inline-flex;min-height:3rem;align-items:center;justify-content:center;gap:.6rem;padding:.7rem 1rem;border-radius:9px;font-size:.9375rem;font-weight:700;cursor:pointer;transition:background-color .18s var(--ease-out),border-color .18s var(--ease-out),transform .18s var(--ease-out)}.primary-button{margin-top:.25rem;color:var(--color-white);background:var(--color-primary);border:0}.primary-button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px)}.primary-button:active:not(:disabled){transform:translateY(0)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.58}.secondary-button{color:var(--color-ink);background:var(--color-bg);border:1px solid var(--color-border)}.secondary-button:hover:not(:disabled){background:var(--color-surface);border-color:#aaa39d}.form-alert{display:flex;gap:.75rem;padding:.85rem .9rem;color:var(--color-danger);background:var(--color-danger-soft);border-radius:9px}.form-alert>svg{flex:0 0 auto;margin-top:.1rem}.form-alert strong{display:block;font-size:.875rem}.form-alert p{margin:.1rem 0 0;color:#6c1612;font-size:.8125rem}.login-help{margin:1.4rem 0 0;color:var(--color-muted);font-size:.8125rem;text-align:center}.auth-aside{display:flex;min-height:calc(100vh - 2rem);margin:1rem 1rem 1rem 0;padding:clamp(2.5rem,5vw,5rem);flex-direction:column;justify-content:space-between;overflow:hidden;color:var(--color-white);background:var(--color-ink);border-radius:14px}.auth-aside__content{width:min(100%,32rem);margin:auto}.auth-aside__status{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:clamp(2.5rem,8vh,5.5rem);color:#dad3cb;font-size:.8125rem;font-weight:600}.status-dot{width:.55rem;height:.55rem;background:#5ac576;border-radius:50%;box-shadow:0 0 0 4px #5ac57626}.auth-aside h2{max-width:14ch;margin-bottom:1rem;color:var(--color-white);font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.07;letter-spacing:-.04em}.auth-aside__content>p{max-width:48ch;margin-bottom:2.75rem;color:#bcb6af;font-size:.95rem}.shift-preview{position:relative;display:flex;margin:0;padding:0;flex-direction:column;list-style:none}.shift-preview:before{position:absolute;top:2rem;bottom:2rem;left:4.82rem;width:1px;content:"";background:#ffffff2e}.shift-preview li{position:relative;display:grid;min-height:4.7rem;grid-template-columns:3.5rem 1rem 1fr;gap:.8rem;align-items:start;padding:1rem 0;border-top:1px solid oklch(1 0 0 / .12)}.shift-preview__time{padding-top:.1rem;color:#aaa39d;font-size:.8125rem;font-variant-numeric:tabular-nums}.shift-preview__marker{position:relative;z-index:1;display:inline-flex;width:1rem;height:1rem;margin-top:.15rem;align-items:center;justify-content:center;border-radius:50%}.shift-preview__marker--complete{color:var(--color-white);background:var(--color-primary)}.shift-preview__marker--current{background:var(--color-white);box-shadow:0 0 0 5px #ffffff24}.shift-preview strong,.shift-preview small{display:block}.shift-preview strong{font-size:.9rem}.shift-preview small{display:flex;align-items:center;gap:.3rem;margin-top:.2rem;color:#aaa39d;font-size:.78rem}.auth-aside__privacy{width:min(100%,32rem);margin:2rem auto 0;color:#9a948d;font-size:.75rem}.session-loading{display:flex;min-height:100vh;align-items:center;justify-content:center;flex-direction:column;gap:1rem}.session-loading p{color:var(--color-muted);font-size:.875rem}.session-loading__bar{position:relative;width:10rem;height:3px;overflow:hidden;background:var(--color-surface-strong);border-radius:999px}.session-loading__bar:after{position:absolute;width:45%;height:100%;content:"";background:var(--color-primary);animation:session-progress 1.1s var(--ease-out) infinite}@keyframes session-progress{0%{transform:translate(-110%)}to{transform:translate(245%)}}.app-shell{display:grid;min-height:100vh;grid-template-columns:15.5rem minmax(0,1fr);background:var(--color-surface)}.sidebar{position:sticky;top:0;display:flex;height:100vh;padding:1.3rem .9rem 1rem;flex-direction:column;background:var(--color-bg);border-right:1px solid var(--color-border);z-index:var(--z-sticky)}.sidebar__brand{padding:.3rem .55rem 1.75rem}.primary-nav{display:flex;flex-direction:column;gap:.25rem}.nav-link{display:flex;min-height:2.8rem;align-items:center;gap:.75rem;padding:.6rem .72rem;color:var(--color-muted);border-radius:8px;font-size:.875rem;font-weight:600;transition:color .16s var(--ease-out),background-color .16s var(--ease-out)}.nav-link:hover{color:var(--color-ink);background:var(--color-surface)}.nav-link--active,.nav-link--active:hover{color:var(--color-primary);background:var(--color-primary-soft)}.sidebar__bottom{display:flex;margin-top:auto;flex-direction:column;gap:.65rem}.account-summary{display:flex;min-width:0;align-items:center;gap:.65rem;padding:.8rem .3rem 0 .45rem;border-top:1px solid var(--color-border)}.account-summary__avatar{display:inline-flex;width:2.2rem;height:2.2rem;flex:0 0 auto;align-items:center;justify-content:center;color:var(--color-primary);background:var(--color-primary-soft);border-radius:50%;font-size:.72rem;font-weight:800}.account-summary__identity{min-width:0;flex:1}.account-summary strong,.account-summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-summary strong{font-size:.8rem}.account-summary small{margin-top:.05rem;color:var(--color-muted);font-size:.7rem}.app-content{min-width:0}.page{width:min(100%,90rem);min-height:100vh;margin:0 auto;padding:clamp(1.5rem,3vw,3rem)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:2.25rem}.page-header__date{margin-bottom:.55rem;color:var(--color-primary);font-size:.8125rem;font-weight:700}.page-header h1{margin-bottom:.55rem;font-size:2rem;line-height:1.15;letter-spacing:-.032em}.page-header>div>p:last-child{max-width:58ch;margin-bottom:0;color:var(--color-muted);font-size:.9375rem}.page-header--compact{margin-bottom:1.5rem}.environment-badge,.status-badge{display:inline-flex;min-height:1.9rem;align-items:center;gap:.45rem;padding:.25rem .62rem;border-radius:999px;font-size:.75rem;font-weight:700;white-space:nowrap}.environment-badge{color:var(--color-muted);background:var(--color-bg);border:1px solid var(--color-border)}.environment-badge>span{width:.45rem;height:.45rem;background:var(--color-success);border-radius:50%}.security-notice{display:flex;align-items:center;gap:.9rem;margin-bottom:1.25rem;padding:1rem;color:var(--color-ink);background:var(--color-primary-soft);border-radius:12px}.security-notice__icon,.section-icon,.empty-state__icon{display:inline-flex;width:2.4rem;height:2.4rem;flex:0 0 auto;align-items:center;justify-content:center;color:var(--color-primary);background:var(--color-bg);border-radius:9px}.security-notice>div{flex:1}.security-notice h2,.workspace-panel h2,.next-panel h2,.empty-state h2{margin-bottom:.2rem;font-size:1rem;letter-spacing:-.015em}.security-notice p,.workspace-panel p{margin-bottom:0;color:var(--color-muted);font-size:.8125rem}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(18rem,.75fr);gap:1.25rem}.workspace-panel,.next-panel,.empty-state{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px}.workspace-panel{padding:1.2rem}.workspace-panel__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1.2rem}.workspace-panel__heading>div{display:flex;align-items:center;gap:.75rem}.status-badge--success{color:var(--color-success);background:var(--color-success-soft)}.readiness-list{margin:0;border-top:1px solid var(--color-border)}.readiness-list>div{display:flex;justify-content:space-between;gap:1.5rem;padding:.9rem .2rem;border-bottom:1px solid var(--color-border);font-size:.8375rem}.readiness-list>div:last-child{border-bottom:0}.readiness-list dt{color:var(--color-muted)}.readiness-list dd{margin:0;font-weight:650;text-align:right}.next-panel{display:flex;padding:1.4rem;flex-direction:column}.next-panel__label{margin-bottom:2rem;color:var(--color-primary);font-size:.75rem;font-weight:700}.next-panel h2{margin-bottom:.55rem;font-size:1.3rem}.next-panel>p:not(.next-panel__label){color:var(--color-muted);font-size:.875rem}.next-panel__action{display:inline-flex;align-items:center;gap:.4rem;margin-top:auto;padding-top:1.5rem;color:var(--color-primary);font-size:.8125rem;font-weight:700}.empty-state{display:flex;min-height:22rem;align-items:center;justify-content:center;padding:2rem;flex-direction:column;text-align:center}.empty-state__icon{margin-bottom:1rem;background:var(--color-primary-soft)}.empty-state h2{margin-bottom:.5rem;font-size:1.125rem}.empty-state p{max-width:48ch;margin-bottom:0;color:var(--color-muted);font-size:.875rem}.clock-page{width:min(100%,82rem)}.clock-page__header{margin-bottom:1.75rem}.connection-badge{display:inline-flex;min-height:2rem;align-items:center;gap:.45rem;padding:.3rem .65rem;color:var(--color-success);background:var(--color-success-soft);border-radius:999px;font-size:.75rem;font-weight:700;white-space:nowrap}.connection-badge--offline{color:var(--color-danger);background:var(--color-danger-soft)}.clock-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(19rem,.72fr);gap:clamp(1.5rem,3vw,3rem);align-items:start}.clock-workspace{min-width:0}.clock-status{overflow:hidden;background:var(--color-bg);border:1px solid var(--color-border);border-radius:14px}.clock-status__topline{display:flex;min-height:3.8rem;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem clamp(1.1rem,3vw,1.7rem);border-bottom:1px solid var(--color-border)}.attendance-state{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-muted);font-size:.78rem;font-weight:750}.attendance-state>span{width:.55rem;height:.55rem;background:currentColor;border-radius:50%;box-shadow:0 0 0 4px currentColor;opacity:.78}.attendance-state--clocked_in{color:var(--color-success)}.attendance-state--on_break{color:var(--color-primary)}.clock-status__server-time{display:inline-flex;align-items:center;gap:.4rem;color:var(--color-muted);font-size:.75rem}.clock-readout{padding:clamp(2.2rem,7vw,4.5rem) clamp(1.25rem,5vw,3rem) clamp(1.8rem,5vw,3rem);text-align:center}.clock-readout p{margin-bottom:.65rem;color:var(--color-muted);font-size:.875rem;font-weight:650}.clock-readout strong{display:block;font-size:clamp(3.2rem,10vw,5.7rem);font-variant-numeric:tabular-nums;font-weight:720;letter-spacing:-.065em;line-height:1}.clock-readout>span{display:block;margin-top:.9rem;color:var(--color-muted);font-size:.8rem}.clock-action-area{display:flex;padding:clamp(1.1rem,3vw,1.7rem);flex-direction:column;gap:1rem;background:var(--color-surface);border-top:1px solid var(--color-border)}.clock-note label{display:flex;justify-content:space-between}.clock-note label span{color:var(--color-muted);font-size:.75rem;font-weight:500}.clock-primary-action{width:100%;min-height:3.5rem;margin-top:0;font-size:1rem}.break-control{display:flex;flex-direction:column;gap:.45rem}.break-control>label{font-size:.875rem;font-weight:650}.break-control>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem}.break-control select{min-width:0;min-height:3rem;padding:.65rem 2.25rem .65rem .85rem;color:var(--color-ink);background:var(--color-bg);border:1px solid var(--color-border);border-radius:9px}.break-control select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px var(--color-primary-soft)}.clock-feedback{display:flex;align-items:flex-start;gap:.6rem;padding:.75rem .8rem;border-radius:9px;font-size:.8125rem;font-weight:600}.clock-feedback svg{flex:0 0 auto;margin-top:.05rem}.clock-feedback--error{color:var(--color-danger);background:var(--color-danger-soft)}.clock-feedback--success{color:var(--color-success);background:var(--color-success-soft)}.location-policy{display:flex;gap:.8rem;margin-top:1rem;padding:.9rem .2rem;color:var(--color-muted)}.location-policy>span{display:inline-flex;width:2.4rem;height:2.4rem;flex:0 0 auto;align-items:center;justify-content:center;color:var(--color-primary);background:var(--color-primary-soft);border-radius:9px}.location-policy__content{min-width:0;flex:1}.location-policy strong{display:block;margin-bottom:.12rem;color:var(--color-ink);font-size:.8rem}.location-policy p{margin:0;max-width:62ch;font-size:.75rem}.location-policy__permission{display:flex;align-items:center;gap:.6rem .8rem;margin-top:.75rem;flex-wrap:wrap}.location-policy__button{min-height:2.75rem;margin:0;padding-inline:.85rem;flex:0 0 auto;font-size:.8125rem}.location-policy__permission .location-policy__feedback{max-width:52ch;color:var(--color-muted);overflow-wrap:anywhere}.location-policy__permission .location-policy__feedback--success{color:var(--color-success);font-weight:600}.clock-timeline{min-width:0;padding-left:clamp(1.25rem,2.5vw,2.2rem);border-left:1px solid var(--color-border)}.clock-timeline__heading{display:flex;align-items:center;gap:.7rem;margin-bottom:1.3rem}.clock-timeline__heading>span{display:inline-flex;width:2.35rem;height:2.35rem;flex:0 0 auto;align-items:center;justify-content:center;color:var(--color-primary);background:var(--color-primary-soft);border-radius:9px}.clock-timeline h2{margin:0;font-size:1rem}.clock-timeline__heading p{margin:.08rem 0 0;color:var(--color-muted);font-size:.75rem}.event-list{position:relative;margin:0;padding:0;list-style:none}.event-list:before{position:absolute;top:.9rem;bottom:.9rem;left:.31rem;width:1px;content:"";background:var(--color-border)}.event-list li{position:relative;display:grid;grid-template-columns:.7rem minmax(0,1fr);gap:.75rem;padding:.65rem 0 1.05rem}.event-list__marker{z-index:1;width:.7rem;height:.7rem;margin-top:.35rem;background:var(--color-bg);border:2px solid var(--color-primary);border-radius:50%}.event-list__title{display:flex;align-items:baseline;justify-content:space-between;gap:.65rem}.event-list__title strong{font-size:.8125rem}.event-list__title time{color:var(--color-muted);font-size:.72rem;font-variant-numeric:tabular-nums;white-space:nowrap}.event-list p{margin:.14rem 0 0;color:var(--color-muted);font-size:.72rem}.event-list blockquote{margin:.45rem 0 0;padding-left:.6rem;color:var(--color-muted);border-left:2px solid var(--color-border);font-size:.72rem}.timeline-empty,.timeline-message{display:flex;min-height:10rem;align-items:center;justify-content:center;gap:.65rem;padding:1.5rem;flex-direction:column;color:var(--color-muted);text-align:center}.timeline-empty p,.timeline-message p{max-width:25ch;margin:0;font-size:.8rem}.timeline-message--error{color:var(--color-danger)}.timeline-message button{padding:.25rem;color:var(--color-primary);background:transparent;border:0;font-size:.8rem;font-weight:700;cursor:pointer}.clock-loading,.clock-error{display:flex;min-height:28rem;align-items:center;justify-content:center;padding:2rem;flex-direction:column;text-align:center}.clock-loading{color:var(--color-muted);font-size:.875rem}.clock-loading__pulse{width:2.4rem;height:2.4rem;margin-bottom:.8rem;background:var(--color-primary-soft);border-radius:50%;animation:clock-pulse 1.2s ease-in-out infinite}@keyframes clock-pulse{50%{transform:scale(.76);opacity:.55}}.clock-error>svg{margin-bottom:.8rem;color:var(--color-danger)}.clock-error h1{margin-bottom:.5rem;font-size:1.3rem}.clock-error p{max-width:42ch;margin-bottom:1rem;color:var(--color-muted);font-size:.875rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.timesheets-page{width:min(100%,92rem)}.timesheets-header{margin-bottom:1.5rem}.timesheet-view-tabs{display:inline-flex;padding:.25rem;background:var(--color-surface-strong);border-radius:10px}.timesheet-view-tab{display:inline-flex;min-height:2.5rem;align-items:center;gap:.45rem;padding:.5rem .75rem;color:var(--color-muted);background:transparent;border:0;border-radius:8px;font-size:.8rem;font-weight:700;cursor:pointer}.timesheet-view-tab:hover{color:var(--color-ink)}.timesheet-view-tab--active{color:var(--color-primary);background:var(--color-bg);box-shadow:0 1px 4px #18130c1a}.timesheet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.week-navigation{display:flex;align-items:center;gap:.35rem}.week-navigation>div{display:flex;min-width:14rem;align-items:center;justify-content:center;gap:.5rem;font-size:.82rem;font-variant-numeric:tabular-nums}.week-navigation>div svg{color:var(--color-primary)}.timesheet-today-button,.timesheet-view-button{min-height:2.25rem;padding:.35rem .65rem;color:var(--color-primary);background:transparent;border:0;border-radius:7px;font-size:.75rem;font-weight:750;cursor:pointer}.timesheet-today-button:hover,.timesheet-view-button:hover{background:var(--color-primary-soft)}.team-filters{display:flex;align-items:center;gap:.7rem}.team-search{display:flex;min-height:2.65rem;align-items:center;gap:.45rem;padding:0 .7rem;color:var(--color-muted);background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px}.team-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.team-search input{width:11rem;padding:0;color:var(--color-ink);background:transparent;border:0;outline:none;font-size:.8rem}.team-search input::placeholder{color:var(--color-muted)}.exceptions-filter{display:inline-flex;min-height:2.65rem;align-items:center;gap:.45rem;color:var(--color-muted);font-size:.78rem;font-weight:650;white-space:nowrap;cursor:pointer}.exceptions-filter input{width:1rem;height:1rem;accent-color:var(--color-primary)}.timesheet-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 1.25rem;background:var(--color-bg);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.timesheet-summary>div{min-width:0;padding:1rem clamp(.75rem,2vw,1.25rem);border-right:1px solid var(--color-border)}.timesheet-summary>div:last-child{border-right:0}.timesheet-summary dt{display:flex;align-items:center;gap:.42rem;color:var(--color-muted);font-size:.72rem;font-weight:650}.timesheet-summary dt svg{color:var(--color-primary)}.timesheet-summary dd{margin:.28rem 0 0;font-size:1.15rem;font-variant-numeric:tabular-nums;font-weight:760}.timesheet-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(21rem,.68fr);gap:0;align-items:start;overflow:hidden;background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px}.timesheet-list{min-width:0}.timesheet-list__heading{display:flex;min-height:4.2rem;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid var(--color-border)}.timesheet-list__heading h2{margin:0;font-size:.95rem}.timesheet-list__heading p{margin:.08rem 0 0;color:var(--color-muted);font-size:.72rem}.timesheet-list__heading>span{color:var(--color-muted);font-size:.72rem}.timesheet-table-wrap{max-width:100%;overflow-x:auto}.timesheet-table{width:100%;min-width:43rem;border-collapse:collapse;font-size:.76rem}.timesheet-table th,.timesheet-table td{padding:.72rem .65rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--color-border)}.timesheet-table thead th{color:var(--color-muted);background:var(--color-surface);font-size:.68rem;font-weight:700}.timesheet-table tbody tr:last-child th,.timesheet-table tbody tr:last-child td{border-bottom:0}.timesheet-table tbody tr{transition:background-color .16s var(--ease-out)}.timesheet-table tbody tr:hover,.timesheet-table__selected{background:var(--color-primary-soft)}.timesheet-table tbody th strong,.timesheet-table tbody th span{display:block}.timesheet-table tbody th strong{font-size:.76rem}.timesheet-table tbody th span{margin-top:.05rem;color:var(--color-muted);font-size:.68rem;font-weight:500}.timesheet-status{display:inline-flex;min-height:1.6rem;align-items:center;padding:.18rem .45rem;color:var(--color-muted);background:var(--color-surface-strong);border-radius:999px;font-size:.65rem;font-weight:750;white-space:nowrap}.timesheet-status--manager_approved,.timesheet-status--payroll_approved,.timesheet-status--locked{color:var(--color-success);background:var(--color-success-soft)}.timesheet-status--rejected{color:var(--color-danger);background:var(--color-danger-soft)}.exception-count{display:inline-flex;align-items:center;gap:.28rem;color:var(--color-danger);font-weight:750}.timesheet-clear{color:var(--color-success);font-weight:700}.timesheet-no-record{color:var(--color-muted);font-size:.68rem}.timesheet-view-button{min-height:2rem}.timesheet-detail{min-width:0;min-height:31rem;padding:1.15rem;border-left:1px solid var(--color-border)}.timesheet-detail__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.timesheet-detail__heading p{margin:0 0 .16rem;color:var(--color-primary);font-size:.7rem;font-weight:700}.timesheet-detail__heading h2{margin:0;font-size:1rem}.schedule-actual{display:grid;grid-template-columns:.85fr 1.15fr;gap:.75rem;padding:1rem 0;border-bottom:1px solid var(--color-border)}.schedule-actual span,.schedule-actual strong{display:block}.schedule-actual span{margin-bottom:.16rem;color:var(--color-muted);font-size:.67rem}.schedule-actual strong{font-size:.75rem}.schedule-actual>div:first-child strong{color:var(--color-muted);font-weight:600}.timesheet-detail__totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:.65rem 0;border-bottom:1px solid var(--color-border)}.timesheet-detail__totals>div{display:flex;justify-content:space-between;gap:.6rem;padding:.38rem .35rem;font-size:.7rem}.timesheet-detail__totals dt{color:var(--color-muted)}.timesheet-detail__totals dd{margin:0;font-variant-numeric:tabular-nums;font-weight:720}.timesheet-exceptions,.timesheet-events,.timesheet-breaks{padding-top:1rem}.timesheet-exceptions h3,.timesheet-events h3,.timesheet-breaks h3{display:flex;align-items:center;gap:.42rem;margin:0 0 .7rem;font-size:.78rem}.timesheet-exceptions h3{color:var(--color-danger)}.timesheet-exceptions ul,.timesheet-events ol,.timesheet-breaks ul{margin:0;padding:0;list-style:none}.timesheet-exceptions li{padding:.62rem .68rem;color:var(--color-danger);background:var(--color-danger-soft);border-radius:8px}.timesheet-exceptions li+li{margin-top:.45rem}.timesheet-exceptions strong{display:block;font-size:.7rem;text-transform:capitalize}.timesheet-exceptions__title{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem .65rem}.timesheet-exceptions__title span{padding:.15rem .38rem;color:#581410;font-size:.64rem;font-weight:650;line-height:1.25;background:#fff6f5;border-radius:999px}.timesheet-exceptions p{margin:.15rem 0 0;color:#6c1612;font-size:.68rem}.timesheet-events ol{position:relative}.timesheet-events ol:before{position:absolute;top:.75rem;bottom:.75rem;left:.28rem;width:1px;content:"";background:var(--color-border)}.timesheet-events li{position:relative;display:grid;grid-template-columns:.65rem minmax(0,1fr);gap:.6rem;padding:.4rem 0 .7rem}.timesheet-events__marker{z-index:1;width:.6rem;height:.6rem;margin-top:.3rem;background:var(--color-bg);border:2px solid var(--color-primary);border-radius:50%}.timesheet-events li>div>div{display:flex;justify-content:space-between;gap:.65rem}.timesheet-events strong{font-size:.7rem}.timesheet-events time,.timesheet-events p,.timesheet-events blockquote,.timesheet-events__empty{color:var(--color-muted);font-size:.65rem}.timesheet-events time{font-variant-numeric:tabular-nums}.timesheet-events p{margin:.08rem 0 0}.timesheet-events blockquote{margin:.35rem 0 0;padding-left:.5rem;border-left:1px solid var(--color-border)}.timesheet-events__empty{margin-bottom:0}.timesheet-breaks li{display:flex;justify-content:space-between;gap:.65rem;padding:.5rem 0;color:var(--color-muted);border-top:1px solid var(--color-border);font-size:.68rem}.timesheet-breaks li strong{color:var(--color-ink);font-variant-numeric:tabular-nums}.timesheet-detail--message,.timesheet-list-message{display:flex;align-items:center;justify-content:center;padding:2rem;flex-direction:column;color:var(--color-muted);text-align:center}.timesheet-detail--message svg,.timesheet-list-message svg{margin-bottom:.7rem;color:var(--color-primary)}.timesheet-detail--message h2,.timesheet-list-message h3{margin:0 0 .35rem;color:var(--color-ink);font-size:.95rem}.timesheet-detail--message p,.timesheet-list-message p{max-width:34ch;margin:0 0 .9rem;font-size:.75rem}.timesheet-list-message{min-height:20rem}.timesheet-table-skeleton{display:flex;min-height:20rem;padding:.75rem 1rem;flex-direction:column;gap:.75rem}.timesheet-table-skeleton span,.timesheet-detail__skeleton{height:2.7rem;background:var(--color-surface-strong);border-radius:7px;animation:clock-pulse 1.2s ease-in-out infinite}.timesheet-detail__skeleton{height:4.5rem;margin-bottom:1rem}.timesheet-detail__skeleton--short{width:64%}.timesheet-data-note{display:flex;align-items:flex-start;gap:.55rem;margin-top:.85rem;padding:.55rem .2rem;color:var(--color-muted)}.timesheet-data-note svg{flex:0 0 auto;margin-top:.1rem;color:var(--color-primary)}.timesheet-data-note p{max-width:75ch;margin:0;font-size:.68rem}.mobile-header,.nav-backdrop{display:none}@media(max-width:900px){.login-page{display:block}.auth-aside{display:none}.login-panel{padding:1.25rem}.login-panel__inner{min-height:calc(100vh - 2.5rem)}.login-panel__inner>.brand-mark{margin-bottom:clamp(2.5rem,8vh,5rem)}.app-shell{display:block;padding-top:4.25rem}.mobile-header{position:fixed;top:0;right:0;left:0;z-index:var(--z-navigation);display:flex;height:4.25rem;align-items:center;justify-content:space-between;padding:.7rem 1rem;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:var(--z-navigation);width:min(19rem,calc(100vw - 3rem));height:100vh;transform:translate(-102%);box-shadow:var(--shadow-menu);transition:transform .2s var(--ease-out)}.sidebar--open{transform:translate(0)}.nav-backdrop{position:fixed;inset:0;z-index:var(--z-backdrop);display:block;width:100%;height:100%;padding:0;background:#0202027a;border:0}.page{min-height:calc(100vh - 4.25rem)}.clock-layout{grid-template-columns:minmax(0,1fr) minmax(17rem,.65fr);gap:1.5rem}.timesheet-layout{grid-template-columns:minmax(0,1fr) minmax(19rem,.62fr)}.timesheet-toolbar{align-items:flex-start;flex-direction:column}}@media(max-width:700px){.page-header{display:block}.environment-badge{margin-top:1rem}.dashboard-layout{display:flex;flex-direction:column}.security-notice{align-items:flex-start;flex-wrap:wrap}.security-notice .secondary-button{width:100%}.workspace-panel__heading{align-items:flex-start;flex-direction:column}.readiness-list>div{flex-direction:column;gap:.25rem}.readiness-list dd{text-align:left}.clock-layout{display:flex;flex-direction:column}.clock-workspace,.clock-timeline{width:100%}.clock-timeline{padding:1.5rem 0 0;border-top:1px solid var(--color-border);border-left:0}.clock-status__topline{align-items:flex-start;flex-direction:column;gap:.35rem}.break-control>div{display:flex;flex-direction:column}.break-control .secondary-button{width:100%}.timesheets-header .timesheet-view-tabs{width:100%;margin-top:1rem}.timesheet-view-tab{flex:1;justify-content:center}.week-navigation{width:100%}.week-navigation>div{min-width:0;flex:1}.team-filters{width:100%;align-items:stretch;flex-direction:column}.team-search input{width:100%}.timesheet-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.timesheet-summary>div:nth-child(2){border-right:0}.timesheet-summary>div:nth-child(-n+2){border-bottom:1px solid var(--color-border)}.timesheet-layout{display:flex;flex-direction:column}.timesheet-list,.timesheet-detail{width:100%}.timesheet-detail{border-top:1px solid var(--color-border);border-left:0}.timesheet-table__optional{display:none}.schedule-actual,.timesheet-detail__totals{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.primary-button:hover:not(:disabled){transform:none}}.schedules-page,.attendance-dashboard,.employee-dashboard{max-width:1500px}.schedule-page-header,.attendance-dashboard__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.2rem}.schedule-page-header p,.attendance-dashboard__header p{margin:0 0 .2rem;color:var(--color-primary);font-size:.78rem;font-weight:700}.schedule-page-header h1,.attendance-dashboard__header h1{margin:0;font-size:1.65rem;line-height:1.2;letter-spacing:-.025em;text-wrap:balance}.schedule-page-header>div>span,.attendance-dashboard__header>div>span{display:block;max-width:68ch;margin-top:.35rem;color:var(--color-muted);font-size:.84rem}.text-button{display:inline-flex;min-height:36px;padding:.35rem .5rem;align-items:center;justify-content:center;gap:.35rem;color:var(--color-primary);font-size:.78rem;font-weight:700;background:transparent;border:0;border-radius:7px;cursor:pointer}.text-button:hover{background:var(--color-primary-soft)}.text-button--danger{position:absolute;top:.55rem;right:.55rem;color:var(--color-danger)}.danger-button{display:inline-flex;min-height:42px;padding:.55rem .9rem;align-items:center;justify-content:center;color:var(--color-white);font-weight:700;background:var(--color-danger);border:0;border-radius:9px;cursor:pointer}.danger-button:disabled{cursor:wait;opacity:.6}.schedule-form{margin-bottom:1rem;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}.schedule-form__heading,.schedule-detail__heading,.section-heading,.generated-shifts__heading,.attendance-roster__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.schedule-form__heading{margin-bottom:.9rem}.schedule-form__heading h2,.schedule-detail__heading h2,.generated-shifts__heading h2,.attendance-roster__heading h2{margin:0;font-size:1rem}.schedule-form__heading p,.schedule-detail__heading p,.section-heading p,.generated-shifts__heading p,.attendance-roster__heading p{margin:.15rem 0 0;color:var(--color-muted);font-size:.74rem}.schedule-form__basics,.shift-template-editor__fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.schedule-form label,.dashboard-filters label{color:var(--color-ink);font-size:.7rem;font-weight:700}.schedule-form input,.schedule-form select,.dashboard-filters input,.dashboard-filters select{width:100%;min-height:42px;margin-top:.3rem;padding:.5rem .65rem;color:var(--color-ink);background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;outline:none}.schedule-form input:focus,.schedule-form select:focus,.dashboard-filters input:focus,.dashboard-filters select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.schedule-form input[type=color]{padding:.28rem}.schedule-form__templates{display:grid;gap:.75rem;margin-top:1rem}.shift-template-editor{position:relative;min-width:0;margin:0;padding:.85rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px}.shift-template-editor legend{padding:0 .35rem;font-size:.76rem;font-weight:750}.schedule-checkbox--standalone{min-height:42px;margin-top:1.22rem}.schedule-checkbox--standalone input{width:1rem;min-height:auto;margin:0}.pattern-weeks{display:grid;gap:.55rem;margin-top:.75rem}.pattern-weeks>div>span{display:block;margin-bottom:.25rem;color:var(--color-muted);font-size:.66rem;font-weight:700}.weekday-picker{display:flex;flex-wrap:wrap;gap:.35rem}.weekday-picker label{position:relative;cursor:pointer}.weekday-picker input{position:absolute;width:1px;height:1px;opacity:0}.weekday-picker span{display:inline-flex;min-width:42px;min-height:38px;padding:.35rem;align-items:center;justify-content:center;color:var(--color-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:7px}.weekday-picker input:checked+span{color:var(--color-primary-hover);background:var(--color-primary-soft);border-color:var(--color-primary)}.weekday-picker input:focus-visible+span{outline:3px solid var(--color-primary-soft);outline-offset:2px}.schedule-form__actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:1rem}.schedule-workspace{display:grid;grid-template-columns:17rem minmax(0,1fr);min-height:31rem;overflow:hidden;background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px}.schedule-library{background:var(--color-surface);border-right:1px solid var(--color-border)}.schedule-library__heading{display:flex;padding:.85rem;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border)}.schedule-library__heading h2{margin:0;font-size:.78rem}.schedule-library__heading span{min-width:1.6rem;padding:.1rem .35rem;color:var(--color-muted);font-size:.65rem;text-align:center;background:var(--color-surface-strong);border-radius:999px}.schedule-library ul{margin:0;padding:.45rem;list-style:none}.schedule-library__item{display:grid;width:100%;min-height:58px;padding:.55rem;grid-template-columns:.7rem minmax(0,1fr);gap:.55rem;color:var(--color-ink);text-align:left;background:transparent;border:0;border-radius:8px;cursor:pointer}.schedule-library__item:hover{background:var(--color-surface-strong)}.schedule-library__item--active{background:var(--color-primary-soft)}.schedule-color{width:.55rem;height:.55rem;margin-top:.3rem;border-radius:50%}.schedule-library__item strong,.schedule-library__item small,.generated-shifts th span,.attendance-roster th span,.attendance-roster td>span{display:block}.schedule-library__item strong{font-size:.74rem}.schedule-library__item small{margin-top:.12rem;color:var(--color-muted);font-size:.62rem;text-transform:capitalize}.schedule-detail{min-width:0;padding:1rem}.schedule-detail__actions,.week-switcher{display:flex;align-items:center;gap:.4rem}.schedule-detail__empty,.schedule-empty,.dashboard-empty{display:flex;min-height:18rem;padding:1rem;align-items:center;justify-content:center;flex-direction:column;color:var(--color-muted);text-align:center}.schedule-detail__empty h2,.dashboard-empty h3{margin:.55rem 0 .1rem;color:var(--color-ink);font-size:.92rem}.schedule-detail__empty p,.schedule-empty p,.dashboard-empty p{max-width:45ch;margin:.15rem 0;font-size:.73rem}.schedule-empty span{font-size:.67rem}.schedule-disable{display:flex;margin-top:.8rem;padding:.7rem;align-items:center;justify-content:space-between;gap:1rem;color:var(--color-danger);background:var(--color-danger-soft);border-radius:8px}.schedule-disable p{margin:0;font-size:.71rem}.schedule-disable>div{display:flex;flex-shrink:0;gap:.45rem}.schedule-pattern,.schedule-assignments{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.section-heading h3{margin:0;font-size:.82rem}.schedule-pattern__rows{margin-top:.65rem}.schedule-pattern__row{display:grid;min-height:46px;padding:.45rem 0;grid-template-columns:8rem minmax(0,1fr);align-items:center;gap:.75rem;border-bottom:1px solid var(--color-border)}.schedule-pattern__row>span{font-size:.69rem;font-weight:700}.schedule-pattern__row>div{display:flex;flex-wrap:wrap;gap:.45rem}.schedule-pattern__row>div>span{display:grid;padding:.25rem .45rem;grid-template-columns:.35rem auto;gap:0 .45rem;background:var(--color-surface);border-radius:7px}.schedule-pattern__row i{width:.45rem;height:.45rem;margin-top:.18rem;grid-row:1 / span 2;border-radius:50%}.schedule-pattern__row strong{font-size:.68rem}.schedule-pattern__row small,.schedule-pattern__row em{color:var(--color-muted);font-size:.61rem;font-style:normal}.schedule-pattern__row--off{color:var(--color-muted)}.assignment-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.7rem}.assignment-columns fieldset{min-width:0;max-height:17rem;margin:0;padding:.6rem;overflow:auto;border:1px solid var(--color-border);border-radius:8px}.assignment-columns legend{display:flex;padding:0 .3rem;align-items:center;gap:.35rem;font-size:.69rem;font-weight:750}.assignment-columns fieldset>p{margin:.4rem;color:var(--color-muted);font-size:.68rem}.schedule-checkbox{display:flex;min-height:42px;padding:.38rem;align-items:center;gap:.5rem;border-radius:7px;cursor:pointer}.schedule-checkbox:hover{background:var(--color-surface)}.schedule-checkbox input{width:1rem;height:1rem;flex:0 0 auto;accent-color:var(--color-primary)}.schedule-checkbox span,.schedule-checkbox strong,.schedule-checkbox small{display:block}.schedule-checkbox strong{font-size:.68rem}.schedule-checkbox small{color:var(--color-muted);font-size:.6rem}.generated-shifts{margin-top:1rem;overflow:hidden;border:1px solid var(--color-border);border-radius:12px}.generated-shifts__heading{padding:.85rem 1rem;border-bottom:1px solid var(--color-border)}.generated-shifts__table-wrap,.attendance-roster__table-wrap{overflow-x:auto}.generated-shifts table,.attendance-roster table{width:100%;border-collapse:collapse;font-size:.7rem;white-space:nowrap}.generated-shifts th,.generated-shifts td,.attendance-roster th,.attendance-roster td{padding:.65rem .8rem;text-align:left;border-bottom:1px solid var(--color-border)}.generated-shifts thead th,.attendance-roster thead th{color:var(--color-muted);font-size:.61rem;font-weight:750;background:var(--color-surface)}.generated-shifts tbody th strong,.attendance-roster tbody th strong{font-size:.7rem}.generated-shifts tbody th span,.attendance-roster tbody th span,.attendance-roster td>span{color:var(--color-muted);font-size:.6rem}.generated-shifts td svg{margin-right:.22rem;vertical-align:-.16rem}.shift-status,.attendance-state,.day-state{display:inline-flex;padding:.16rem .42rem;align-items:center;font-size:.61rem;font-weight:750;line-height:1.35;text-transform:capitalize;border-radius:999px}.shift-status--completed,.shift-status--in_progress,.attendance-state--clocked_in,.day-state--on_time,.day-state--complete{color:var(--color-success);background:var(--color-success-soft)}.shift-status--missed,.day-state--absent,.day-state--late{color:var(--color-danger);background:var(--color-danger-soft)}.shift-status--scheduled,.attendance-state--clocked_out,.day-state--not_started,.day-state--not_scheduled{color:var(--color-muted);background:var(--color-surface-strong)}.attendance-state--on_break{color:var(--color-primary-hover);background:var(--color-primary-soft)}.schedule-empty--inline{min-height:8rem}.schedule-skeleton,.dashboard-loading>div{height:4rem;background:var(--color-surface-strong);border-radius:9px;animation:clock-pulse 1.4s ease-in-out infinite}.schedule-skeleton--large{height:24rem;margin-top:.8rem}.live-status{display:inline-flex;min-height:36px;padding:.4rem .65rem;align-items:center;gap:.42rem;color:var(--color-success);font-size:.68rem;font-weight:700;background:var(--color-success-soft);border-radius:999px}.live-status>span{width:.45rem;height:.45rem;background:currentColor;border-radius:50%}.dashboard-filters{display:grid;grid-template-columns:minmax(15rem,1fr) repeat(3,minmax(9rem,auto)) auto;gap:.55rem;margin-bottom:.8rem;padding:.65rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px}.dashboard-filters input,.dashboard-filters select{margin:0}.dashboard-search{position:relative}.dashboard-search svg{position:absolute;top:50%;left:.68rem;color:var(--color-muted);transform:translateY(-50%)}.dashboard-search input{padding-left:2.1rem}.dashboard-loading{display:grid;gap:.7rem}.attendance-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);overflow:hidden;border:1px solid var(--color-border);border-radius:11px}.attendance-summary>div{padding:.8rem}.attendance-summary__attention{background:var(--color-surface);border-left:1px solid var(--color-border)}.attendance-summary>div>span{display:block;margin-bottom:.5rem;color:var(--color-muted);font-size:.65rem;font-weight:750}.attendance-summary dl{display:flex;margin:0;flex-wrap:wrap;gap:.4rem}.attendance-summary dl>div,.attendance-summary dl>button{display:flex;min-width:7rem;min-height:46px;padding:.45rem .6rem;align-items:center;justify-content:space-between;flex:1;gap:.5rem;background:transparent;border:0;border-radius:7px}.attendance-summary dl>button{color:var(--color-danger);cursor:pointer}.attendance-summary dl>button:hover{background:var(--color-danger-soft)}.attendance-summary dt{display:flex;align-items:center;gap:.35rem;font-size:.65rem;font-weight:650}.attendance-summary dd{margin:0;font-size:1rem;font-weight:760;font-variant-numeric:tabular-nums}.attendance-roster{margin-top:.8rem;overflow:hidden;border:1px solid var(--color-border);border-radius:11px}.attendance-roster__heading{padding:.8rem;border-bottom:1px solid var(--color-border)}.attendance-roster td{vertical-align:top}.attendance-roster td>strong{display:block;font-size:.68rem}.attendance-roster .day-state{display:table;margin-top:.25rem}.dashboard-exception{display:flex!important;max-width:18rem;align-items:flex-start;gap:.35rem;color:var(--color-danger)!important;white-space:normal}.dashboard-exception strong,.dashboard-exception small{display:block;text-transform:capitalize}.dashboard-exception small{margin-top:.15rem;color:#6c1612;line-height:1.35;text-transform:none}.dashboard-clear{color:var(--color-success)!important;font-weight:700}.attendance-roster td:last-child>span{display:flex;margin-top:.2rem;align-items:center;gap:.2rem}.dashboard-privacy-note{display:flex;padding:.7rem .2rem;align-items:center;gap:.4rem;color:var(--color-muted);font-size:.65rem}.dashboard-privacy-note p{margin:0}.employee-dashboard__actions{display:flex;max-width:52rem;flex-direction:column;border-top:1px solid var(--color-border)}.employee-dashboard__actions a{display:grid;min-height:68px;padding:.8rem .2rem;grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.65rem;border-bottom:1px solid var(--color-border)}.employee-dashboard__actions a:hover{color:var(--color-primary)}.employee-dashboard__actions strong,.employee-dashboard__actions small{display:block}.employee-dashboard__actions strong{font-size:.82rem}.employee-dashboard__actions small{margin-top:.12rem;color:var(--color-muted);font-size:.68rem}@media(max-width:1100px){.schedule-workspace{grid-template-columns:14rem minmax(0,1fr)}.schedule-form__basics,.shift-template-editor__fields{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-filters{grid-template-columns:minmax(14rem,1fr) repeat(2,minmax(9rem,auto))}.dashboard-filters .secondary-button{width:100%}.attendance-summary{grid-template-columns:minmax(0,1fr)}.attendance-summary__attention{border-top:1px solid var(--color-border);border-left:0}}@media(max-width:780px){.schedule-page-header,.attendance-dashboard__header,.generated-shifts__heading{align-items:stretch;flex-direction:column}.schedule-page-header .primary-button{width:100%}.schedule-workspace{display:flex;flex-direction:column}.schedule-library{border-right:0;border-bottom:1px solid var(--color-border)}.schedule-library ul{display:flex;overflow-x:auto}.schedule-library li{min-width:14rem}.assignment-columns,.schedule-form__basics,.shift-template-editor__fields{grid-template-columns:minmax(0,1fr)}.schedule-checkbox--standalone{margin-top:0}.dashboard-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-search{grid-column:1 / -1}}@media(max-width:560px){.schedule-page-header h1,.attendance-dashboard__header h1{font-size:1.4rem}.schedule-form,.schedule-detail{padding:.75rem}.schedule-detail__heading,.section-heading,.schedule-disable{align-items:stretch;flex-direction:column}.schedule-disable>div,.schedule-form__actions{flex-direction:column-reverse}.schedule-disable button,.schedule-form__actions button,.section-heading button{width:100%}.schedule-pattern__row{grid-template-columns:minmax(0,1fr);gap:.2rem}.dashboard-filters{grid-template-columns:minmax(0,1fr)}.dashboard-search{grid-column:auto}.attendance-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-summary dl>div,.attendance-summary dl>button{min-width:0}}.employees-page{width:min(100%,94rem)}.employees-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}.employees-page__header>div>p{margin-bottom:.35rem;color:var(--color-primary);font-size:.8rem;font-weight:700}.employees-page__header h1{margin-bottom:.35rem;font-size:2rem;line-height:1.15;letter-spacing:-.032em}.employees-page__header>div>span{color:var(--color-muted);font-size:.9rem}.employees-page__header .primary-button,.employee-detail__header .secondary-button,.employee-form__actions .primary-button,.employee-access-control button{gap:.45rem}.employee-filters{display:grid;grid-template-columns:minmax(16rem,1fr) repeat(3,minmax(9.5rem,auto)) auto;gap:.65rem;margin-bottom:1rem;padding:.8rem;background:var(--color-surface);border-radius:10px}.employee-filters select,.employee-filters input,.employee-form input,.employee-form select,.employee-form textarea{width:100%;min-height:2.65rem;padding:.58rem .7rem;color:var(--color-ink);background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;transition:border-color .16s var(--ease-out),box-shadow .16s var(--ease-out)}.employee-filters select:hover,.employee-filters input:hover,.employee-form input:hover,.employee-form select:hover,.employee-form textarea:hover{border-color:#aaa39d}.employee-filters select:focus,.employee-filters input:focus,.employee-form input:focus,.employee-form select:focus,.employee-form textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px var(--color-primary-soft)}.employee-search{position:relative}.employee-search svg{position:absolute;top:50%;left:.75rem;color:var(--color-muted);transform:translateY(-50%)}.employee-search input{padding-left:2.25rem}.employee-search input::placeholder{color:#59544f}.employee-workspace{display:grid;min-height:42rem;overflow:hidden;grid-template-columns:minmax(18rem,.68fr) minmax(0,1.65fr);background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px}.employee-directory{display:flex;min-width:0;flex-direction:column;background:var(--color-surface);border-right:1px solid var(--color-border)}.employee-directory__summary{display:flex;min-height:3rem;align-items:center;justify-content:space-between;padding:.7rem .9rem;color:var(--color-muted);border-bottom:1px solid var(--color-border);font-size:.75rem;font-weight:700}.employee-directory__summary small{color:var(--color-primary)}.employee-directory__list{overflow-y:auto}.employee-directory-row{display:grid;width:100%;min-width:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.82rem .9rem;color:var(--color-ink);text-align:left;background:transparent;border:0;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background-color .16s var(--ease-out)}.employee-directory-row:hover{background:var(--color-bg)}.employee-directory-row--active,.employee-directory-row--active:hover{background:var(--color-primary-soft)}.employee-directory-row__avatar,.employee-avatar{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;color:var(--color-primary);background:var(--color-bg);border:1px solid var(--color-border);border-radius:50%;font-weight:800}.employee-directory-row__avatar{width:2.25rem;height:2.25rem;font-size:.68rem}.employee-directory-row__identity{min-width:0}.employee-directory-row__identity strong,.employee-directory-row__identity small,.employee-directory-row__identity em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-directory-row__identity strong{font-size:.84rem}.employee-directory-row__identity small,.employee-directory-row__identity em{color:var(--color-muted);font-size:.72rem}.employee-directory-row__identity em{margin-top:.12rem;font-style:normal}.employee-directory-row__status{width:.52rem;height:.52rem;background:var(--color-muted);border-radius:50%}.employee-directory-row__status--active{background:var(--color-success)}.employee-directory-row__status--inactive{background:var(--color-warning)}.employee-directory-row__status--terminated{background:var(--color-danger)}.employee-directory__message,.employee-profile-empty{display:flex;min-height:18rem;align-items:center;justify-content:center;padding:2rem;color:var(--color-muted);flex-direction:column;text-align:center}.employee-directory__message strong,.employee-profile-empty h2{margin:.65rem 0 .2rem;color:var(--color-ink);font-size:1rem}.employee-directory__message span,.employee-profile-empty p{max-width:35ch;margin:0;font-size:.78rem}.employee-directory__pagination{display:flex;align-items:center;justify-content:center;gap:.55rem;margin-top:auto;padding:.55rem;border-top:1px solid var(--color-border);font-size:.75rem}.employee-directory__loading,.employee-profile-loading{padding:1rem}.employee-directory__loading span,.employee-profile-loading span{display:block;height:3.5rem;margin-bottom:.6rem;background:var(--color-surface-strong);border-radius:8px;animation:skeleton-pulse 1.4s ease-in-out infinite alternate}.employee-profile-loading span:first-child{height:7rem}.employee-profile-panel{position:relative;min-width:0}.employee-detail{padding:1.5rem}.employee-detail__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding-bottom:1.4rem;border-bottom:1px solid var(--color-border)}.employee-avatar{width:3.4rem;height:3.4rem;background:var(--color-primary-soft);border-color:transparent;font-size:.9rem}.employee-detail__title{display:flex;align-items:center;gap:.65rem}.employee-detail__title h2{margin-bottom:0;font-size:1.35rem;letter-spacing:-.025em}.employee-detail__header p{margin:.18rem 0 0;color:var(--color-muted);font-size:.82rem}.employee-detail__header>div>span:last-child{color:var(--color-muted);font-size:.72rem}.employee-status{display:inline-flex;min-height:1.65rem;align-items:center;padding:.18rem .52rem;border-radius:999px;font-size:.68rem;font-weight:750}.employee-status--active{color:var(--color-success);background:var(--color-success-soft)}.employee-status--inactive{color:#653e00;color:oklch(.4 .11 70);background:#fbe8ce}.employee-status--terminated{color:var(--color-danger);background:var(--color-danger-soft)}.employee-detail__signals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:1.25rem 0;background:var(--color-surface);border-radius:10px}.employee-detail__signals>div{display:flex;min-width:0;align-items:center;gap:.65rem;padding:.8rem;color:var(--color-primary);border-right:1px solid var(--color-border)}.employee-detail__signals>div:last-child{border-right:0}.employee-detail__signals span{min-width:0}.employee-detail__signals small,.employee-detail__signals strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-detail__signals small{color:var(--color-muted);font-size:.68rem}.employee-detail__signals strong{color:var(--color-ink);font-size:.78rem}.employee-detail__section{padding:1.1rem 0;border-bottom:1px solid var(--color-border)}.employee-detail__section h3,.employee-access-control h3{margin:0 0 .8rem;font-size:.82rem}.employee-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1.5rem;margin:0}.employee-facts dt{display:flex;align-items:center;gap:.45rem;margin-bottom:.15rem;color:var(--color-muted);font-size:.7rem}.employee-facts dd{margin:0;overflow-wrap:anywhere;font-size:.82rem;font-weight:600}.employee-facts a{color:var(--color-primary)}.employee-policy-summary{display:flex;flex-wrap:wrap;gap:.45rem}.employee-policy-summary span{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .55rem;color:var(--color-muted);background:var(--color-surface);border-radius:7px;font-size:.72rem;font-weight:650}.employee-policy-summary span svg{opacity:.3}.employee-policy-summary .is-enabled{color:var(--color-success);background:var(--color-success-soft)}.employee-policy-summary .is-enabled svg{opacity:1}.employee-admin-notes{max-width:70ch;margin:0;color:var(--color-muted);font-size:.8rem;white-space:pre-wrap}.employee-access-control{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.2rem}.employee-access-control h3{margin-bottom:.25rem}.employee-access-control p{max-width:64ch;margin:0;color:var(--color-muted);font-size:.76rem}.employee-access-control__confirm{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.employee-access-control__confirm span{width:100%;color:var(--color-danger);font-size:.72rem;font-weight:700;text-align:right}.employee-status-error,.employee-form__error{display:flex;align-items:center;gap:.45rem;color:var(--color-danger);font-size:.78rem;font-weight:650}.employee-status-error{margin:0;padding:.8rem 1.5rem;background:var(--color-danger-soft)}.employee-form{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px}.employee-form__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.2rem 1.35rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);border-radius:12px 12px 0 0}.employee-form__header h2{margin-bottom:.2rem;font-size:1.2rem}.employee-form__header p{margin:0;color:var(--color-muted);font-size:.78rem}.employee-form__section{min-width:0;margin:0;padding:1.25rem 1.35rem;border:0;border-bottom:1px solid var(--color-border)}.employee-form__section legend{width:100%;margin-bottom:.8rem;padding:0;color:var(--color-ink);font-size:.8rem;font-weight:750}.employee-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.employee-form__grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.employee-form label,.employee-form__section--access>label{display:flex;min-width:0;flex-direction:column;gap:.35rem;font-size:.72rem;font-weight:650}.employee-form textarea{resize:vertical}.employee-form__wide{grid-column:1 / -1}.employee-form label>small{color:var(--color-muted);font-size:.66rem;font-weight:450;line-height:1.35}.employee-number-preview{display:flex;min-height:4.75rem;flex-direction:column;justify-content:center;gap:.18rem;padding:.58rem .7rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.employee-number-preview>span{font-size:.72rem;font-weight:650}.employee-number-preview>strong{color:var(--color-primary-hover);font-size:.82rem}.employee-number-preview>small{color:var(--color-muted);font-size:.66rem;font-weight:450;line-height:1.35}.employee-policy-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.employee-policy-options label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.6rem;padding:.7rem;background:var(--color-surface);border-radius:8px;cursor:pointer}.employee-policy-options input,.employee-role-options input{width:1rem;min-height:1rem;margin:.15rem 0 0;accent-color:var(--color-primary)}.employee-policy-options strong,.employee-policy-options small{display:block}.employee-policy-options strong{font-size:.75rem}.employee-policy-options small{margin-top:.16rem;color:var(--color-muted);font-size:.68rem;font-weight:450}.employee-role-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.65rem}.employee-role-options label{display:grid;min-height:4.4rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.6rem;padding:.7rem;background:var(--color-surface);border:1px solid transparent;border-radius:8px;cursor:pointer;transition:border-color .18s ease-out,background-color .18s ease-out}.employee-role-options label:hover{border-color:var(--color-primary)}.employee-role-options label.is-protected{color:var(--color-muted);cursor:not-allowed}.employee-role-options label.is-protected:hover{border-color:transparent}.employee-role-options__copy strong,.employee-role-options__copy small{display:block}.employee-role-options__copy strong{color:var(--color-ink);font-size:.75rem}.employee-role-options__copy small{margin-top:.18rem;color:var(--color-muted);font-size:.68rem;font-weight:450;line-height:1.4}.employee-role-options__badge{padding:.15rem .35rem;color:var(--color-primary-hover);background:var(--color-primary-soft);border-radius:999px;font-size:.6rem;font-weight:750}.employee-role-guidance{max-width:70ch;margin:-.25rem 0 .8rem;color:var(--color-muted);font-size:.72rem;line-height:1.5}.employee-form__section--access{background:var(--color-primary-soft)}.employee-form__section--access>label{max-width:26rem}.employee-form__section--access>p{margin:.45rem 0 0;color:var(--color-muted);font-size:.72rem}.employee-form__error{margin:0;padding:.85rem 1.35rem;background:var(--color-danger-soft)}.employee-form__actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;padding:1rem 1.35rem}@media(max-width:1120px){.employee-filters{grid-template-columns:minmax(14rem,1fr) repeat(2,minmax(9rem,auto))}.employee-search{grid-column:1 / -1}.employee-form__grid--three,.employee-policy-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.employees-page__header{align-items:stretch;flex-direction:column}.employee-workspace{display:flex;flex-direction:column}.employee-directory{max-height:22rem;border-right:0;border-bottom:1px solid var(--color-border)}.employee-directory__list{overflow-y:auto}.employee-form__grid--three,.employee-policy-options{grid-template-columns:minmax(0,1fr)}}@media(max-width:620px){.employees-page__header h1{font-size:1.5rem}.employees-page__header .primary-button{width:100%}.employee-filters,.employee-form__grid{grid-template-columns:minmax(0,1fr)}.employee-search{grid-column:auto}.employee-detail,.employee-form__section{padding:1rem}.employee-detail__header{grid-template-columns:auto minmax(0,1fr)}.employee-detail__header .secondary-button{grid-column:1 / -1;width:100%}.employee-detail__signals,.employee-facts{grid-template-columns:minmax(0,1fr)}.employee-detail__signals>div{border-right:0;border-bottom:1px solid var(--color-border)}.employee-detail__signals>div:last-child{border-bottom:0}.employee-access-control,.employee-form__actions{align-items:stretch;flex-direction:column}.employee-access-control button,.employee-form__actions button{width:100%}.employee-access-control__confirm span{text-align:left}}.password-change-page{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:1.5rem;background:var(--color-surface)}.password-change-panel{width:min(100%,30rem);padding:2rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px}.password-change-panel>.brand-mark{margin-bottom:2.5rem}.password-change-panel__icon{display:inline-flex;width:2.8rem;height:2.8rem;align-items:center;justify-content:center;margin-bottom:1rem;color:var(--color-primary);background:var(--color-primary-soft);border-radius:9px}.password-change-panel>p{margin-bottom:.3rem;color:var(--color-primary);font-size:.78rem;font-weight:700}.password-change-panel h1{margin-bottom:.45rem;font-size:1.65rem;letter-spacing:-.03em}.password-change-panel>span:not(.password-change-panel__icon){display:block;margin-bottom:1.5rem;color:var(--color-muted);font-size:.85rem}.password-change-panel form,.password-change-panel form>label{display:flex;flex-direction:column}.password-change-panel form{gap:.9rem}.password-change-panel form>label{gap:.35rem;font-size:.75rem;font-weight:650}.password-change-panel input{width:100%;min-height:2.8rem;padding:.62rem .72rem;color:var(--color-ink);background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px}.password-change-panel input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px var(--color-primary-soft)}.password-visibility{display:inline-flex;width:fit-content;align-items:center;gap:.4rem;padding:.2rem 0;color:var(--color-primary);background:transparent;border:0;font-size:.72rem;font-weight:700;cursor:pointer}.password-requirement{display:flex;align-items:flex-start;gap:.5rem;padding:.65rem;color:var(--color-muted);background:var(--color-surface);border-radius:8px;font-size:.7rem}.password-requirement svg{flex:0 0 auto;color:var(--color-success)}.password-change-panel .primary-button{width:100%;gap:.45rem}@media(max-width:520px){.password-change-page{align-items:flex-start;padding:0;background:var(--color-bg)}.password-change-panel{padding:1.5rem;border:0}}.locations-page{width:min(100%,94rem)}.locations-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}.locations-page__header>div>p{margin-bottom:.35rem;color:var(--color-primary);font-size:.8rem;font-weight:700}.locations-page__header h1{margin-bottom:.35rem;font-size:2rem;line-height:1.15;letter-spacing:-.032em}.locations-page__header>div>span{color:var(--color-muted);font-size:.9rem}.location-workspace{display:grid;min-height:42rem;overflow:hidden;grid-template-columns:minmax(18rem,.68fr) minmax(0,1.65fr);background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px}.location-directory{display:flex;min-width:0;flex-direction:column;background:var(--color-surface);border-right:1px solid var(--color-border)}.location-directory__summary{display:flex;min-height:3rem;align-items:center;justify-content:space-between;padding:.7rem .9rem;color:var(--color-muted);border-bottom:1px solid var(--color-border);font-size:.75rem;font-weight:700}.location-directory__summary small{color:var(--color-primary)}.location-directory__list{overflow-y:auto}.location-directory-row{display:grid;width:100%;min-width:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.9rem;color:var(--color-ink);text-align:left;background:transparent;border:0;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background-color .16s var(--ease-out)}.location-directory-row:hover,.location-directory-row--active{background:var(--color-bg)}.location-directory-row--active{background:var(--color-primary-soft)}.location-directory-row__icon{display:inline-flex;width:2.35rem;height:2.35rem;flex:0 0 auto;align-items:center;justify-content:center;color:var(--color-primary);background:var(--color-primary-soft);border-radius:9px}.location-directory-row>span:nth-child(2){min-width:0}.location-directory-row strong,.location-directory-row small,.location-directory-row em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-directory-row strong{font-size:.84rem}.location-directory-row small,.location-directory-row em{color:var(--color-muted);font-size:.7rem}.location-directory-row em{margin-top:.14rem;font-style:normal}.location-state{display:inline-flex;min-height:1.55rem;align-items:center;padding:.15rem .45rem;color:var(--color-muted);background:var(--color-surface-strong);border-radius:999px;font-size:.65rem;font-weight:750}.location-state--active{color:var(--color-success);background:var(--color-success-soft)}.location-directory__message,.location-detail-empty{display:flex;min-height:18rem;align-items:center;justify-content:center;padding:2rem;color:var(--color-muted);flex-direction:column;text-align:center}.location-directory__message strong,.location-detail-empty h2{margin:.65rem 0 .2rem;color:var(--color-ink);font-size:1rem}.location-directory__message span,.location-detail-empty p{max-width:38ch;margin:0;font-size:.78rem}.location-directory__loading{padding:1rem}.location-directory__loading span{display:block;height:4rem;margin-bottom:.6rem;background:var(--color-surface-strong);border-radius:8px;animation:skeleton-pulse 1.4s ease-in-out infinite alternate}.location-detail-panel{min-width:0}.location-detail{padding:1.5rem}.location-detail__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding-bottom:1.25rem;border-bottom:1px solid var(--color-border)}.location-detail__header>span{display:inline-flex;width:3rem;height:3rem;align-items:center;justify-content:center;color:var(--color-primary);background:var(--color-primary-soft);border-radius:10px}.location-detail__header>div>div{display:flex;align-items:center;gap:.65rem}.location-detail__header h2{margin:0;font-size:1.35rem;letter-spacing:-.025em}.location-detail__header p{margin:.18rem 0 0;color:var(--color-muted);font-size:.8rem}.location-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem;margin:0;padding:1.25rem 0;border-bottom:1px solid var(--color-border)}.location-facts dt{margin-bottom:.18rem;color:var(--color-muted);font-size:.7rem}.location-facts dd{margin:0;overflow-wrap:anywhere;font-size:.82rem;font-weight:650}.location-enforcement-note{display:flex;align-items:flex-start;gap:.7rem;margin:1.1rem 0;padding:.8rem;color:var(--color-success);background:var(--color-success-soft);border-radius:9px}.location-enforcement-note svg{flex:0 0 auto;margin-top:.1rem}.location-enforcement-note strong{display:block;color:var(--color-ink);font-size:.78rem}.location-enforcement-note p{max-width:70ch;margin:.12rem 0 0;color:#144623;font-size:.72rem}.location-notes{padding:.2rem 0 1.1rem;border-bottom:1px solid var(--color-border)}.location-notes h3,.location-assignments h3,.location-disable h3{margin:0 0 .25rem;font-size:.82rem}.location-notes p,.location-assignments__heading p,.location-disable p{max-width:70ch;margin:0;color:var(--color-muted);font-size:.74rem}.location-assignments{padding:1.15rem 0;border-bottom:1px solid var(--color-border)}.location-assignments__heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.location-assignment-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.location-assignment-columns fieldset{min-width:0;margin:0;padding:.75rem;background:var(--color-surface);border:0;border-radius:9px}.location-assignment-columns legend{display:flex;align-items:center;gap:.4rem;padding:0;font-size:.74rem;font-weight:750}.location-assignment-list{max-height:15rem;overflow-y:auto}.location-assignment-list label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.55rem;padding:.55rem .25rem;border-bottom:1px solid var(--color-border);cursor:pointer}.location-assignment-list label:last-child{border-bottom:0}.location-assignment-list input,.location-action-options input{width:1rem;height:1rem;margin-top:.15rem;accent-color:var(--color-primary)}.location-assignment-list strong,.location-assignment-list small{display:block}.location-assignment-list strong{font-size:.74rem}.location-assignment-list small,.location-assignment-list>p{color:var(--color-muted);font-size:.68rem}.location-assignment-error,.location-form__error{color:var(--color-danger);background:var(--color-danger-soft);font-size:.75rem;font-weight:650}.location-assignment-error{margin:.75rem 0 0;padding:.65rem;border-radius:8px}.location-disable{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.15rem}.location-disable>div:last-child{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.location-disable>div:last-child>span{width:100%;color:var(--color-danger);font-size:.7rem;font-weight:700;text-align:right}.location-form{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px}.location-form__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.2rem 1.35rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);border-radius:12px 12px 0 0}.location-form__header h2{margin-bottom:.2rem;font-size:1.2rem}.location-form__header p{margin:0;color:var(--color-muted);font-size:.78rem}.location-form__section{min-width:0;margin:0;padding:1.25rem 1.35rem;border:0;border-bottom:1px solid var(--color-border)}.location-form__section legend{width:100%;margin-bottom:.8rem;padding:0;font-size:.8rem;font-weight:750}.location-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.location-form__grid--coordinates{grid-template-columns:repeat(3,minmax(0,1fr))}.location-form label{display:flex;min-width:0;flex-direction:column;gap:.35rem;font-size:.72rem;font-weight:650}.location-form input,.location-form textarea{width:100%;min-height:2.65rem;padding:.58rem .7rem;color:var(--color-ink);background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;transition:border-color .16s var(--ease-out),box-shadow .16s var(--ease-out)}.location-form input:hover,.location-form textarea:hover{border-color:#aaa39d}.location-form input:focus,.location-form textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px var(--color-primary-soft)}.location-form textarea{resize:vertical}.location-form label small{color:var(--color-muted);font-size:.66rem;font-weight:450}.location-form__wide{grid-column:1 / -1}.location-position-control{display:flex;align-items:center;gap:.7rem;margin-top:.8rem;flex-wrap:wrap}.location-position-control p{margin:0;color:var(--color-muted);font-size:.7rem}.location-position-control .is-success{color:var(--color-success);font-weight:650}.location-position-control .is-error{color:var(--color-danger);font-weight:650}.location-action-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.location-action-options label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.6rem;padding:.7rem;background:var(--color-surface);border-radius:8px;cursor:pointer}.location-action-options strong,.location-action-options small{display:block}.location-action-options strong{font-size:.75rem}.location-action-options small{margin-top:.16rem;color:var(--color-muted);font-size:.68rem;font-weight:450}.location-form__warning,.location-form__error{display:flex;align-items:center;gap:.45rem;margin:.75rem 0 0}.location-form__warning{color:var(--color-warning);font-size:.72rem;font-weight:650}.location-form__error{margin:0;padding:.85rem 1.35rem}.location-form__actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;padding:1rem 1.35rem}@media(max-width:900px){.location-workspace{display:flex;flex-direction:column}.location-directory{max-height:22rem;border-right:0;border-bottom:1px solid var(--color-border)}}@media(max-width:700px){.locations-page__header,.location-disable,.location-assignments__heading{align-items:stretch;flex-direction:column}.locations-page__header .primary-button,.location-assignments__heading .secondary-button{width:100%}.location-detail__header{grid-template-columns:auto minmax(0,1fr)}.location-detail__header .secondary-button{grid-column:1 / -1;width:100%}.location-form__grid--coordinates,.location-assignment-columns{grid-template-columns:minmax(0,1fr)}}@media(max-width:520px){.locations-page__header h1{font-size:1.5rem}.location-detail,.location-form__section{padding:1rem}.location-facts,.location-form__grid,.location-action-options{grid-template-columns:minmax(0,1fr)}.location-form__wide{grid-column:auto}.location-form__actions{align-items:stretch;flex-direction:column}.location-form__actions button,.location-disable button{width:100%}}
