.sidebar{background-color:var(--color-bg-secondary);border-right:1px solid var(--color-border);box-shadow:6px 0 24px #4caf501f;display:flex;flex-direction:column;height:100vh;padding:var(--space-md);width:250px}.sidebar-title{color:var(--color-accent);font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--space-lg)}.sidebar-nav{display:flex;flex-direction:column;gap:0;overflow-y:auto;padding-right:4px}.sidebar a{color:#d6d8dc;text-decoration:none}.sidebar a:hover{color:#fff}.sidebar-link{background:#0000;border-radius:6px;color:#d6d8dc;cursor:pointer;display:block;font-size:14px;padding:.62rem .75rem;position:relative;text-align:left;transition:background .15s ease,color .15s ease}.sidebar-link-label{align-items:center;display:inline-flex;gap:var(--space-sm);justify-content:space-between;width:100%}.sidebar-badge{background:var(--color-warning);border-radius:999px;box-shadow:0 0 0 2px color-mix(in srgb,var(--color-warning) 25%,#0000);flex:0 0 auto;height:10px;width:10px}.sidebar-link:hover{background:#25282d;color:#fff}.sidebar-link.active{background:#2a2d32;border-left:3px solid #4caf50;color:#fff;font-weight:500}.sidebar-section{border-bottom:none;display:flex;flex-direction:column;gap:var(--space-xs);padding-bottom:0}.sidebar-section+.sidebar-section{margin-top:20px}.sidebar-section-title{color:#8b8f97;font-size:11px;font-weight:600;letter-spacing:.08em;line-height:1.2;margin:0 0 8px;padding:0 var(--space-xs);text-transform:uppercase}.sidebar-section-items{display:flex;flex-direction:column;gap:var(--space-xs)}.sidebar-link.logout{color:#ff6b6b;margin-top:auto}.sidebar-link.logout:hover{background-color:#f4433626}@media (max-width:768px){.sidebar{box-shadow:none;inset:0 auto 0 0;position:fixed;transform:translateX(-100%);transition:transform .25s ease;z-index:1001}.sidebar.open{box-shadow:6px 0 24px #4caf501f;transform:translateX(0)}.sidebar-backdrop{background:#00000080;inset:0;position:fixed;z-index:1000}}.login-page{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:var(--space-lg)}.login-card{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:10px;box-shadow:var(--shadow-soft);max-width:400px;padding:var(--space-lg);width:100%}.login-card h2{color:var(--color-accent);margin-bottom:var(--space-lg);text-align:center}.login-form{display:flex;flex-direction:column;gap:var(--space-md)}.login-form input{width:100%}.login-error{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--space-xs);text-align:center}@media (max-width:768px){.login-page{padding:var(--space-md)}}.landing{display:flex;flex-direction:column;min-height:100vh;padding:var(--space-lg);text-align:center}.landing-main{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:var(--space-lg);justify-content:center}.landing-subtitle{color:var(--color-muted);max-width:500px}.landing-actions{display:flex;gap:var(--space-sm)}.landing-note{color:var(--color-muted);font-size:var(--font-size-sm);margin-top:var(--space-lg)}.landing-footer{color:var(--color-muted);font-size:.8rem;margin-top:auto}.landing-footer a{color:inherit}.landing-footer a:hover{color:var(--color-accent)}@media (max-width:768px){.landing{padding:var(--space-md)}}.datenschutz{margin:0 auto;max-width:600px;padding:var(--space-xl) var(--space-md)}.datenschutz p{margin-bottom:var(--space-md)}.datenschutz-back{margin-top:var(--space-xl)}.impressum{margin:0 auto;max-width:600px;padding:var(--space-xl) var(--space-md)}.impressum p{margin-bottom:var(--space-md)}.impressum-back{margin-top:var(--space-xl)}.invite-wrapper{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:var(--space-lg)}.invite-card{max-width:400px;width:100%}.invite-form{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-md)}.form-error,.invite-invalid-hint{margin-top:var(--space-sm)}.invite-login-button{margin-top:var(--space-md)}.muted{color:var(--color-muted)}@media (max-width:768px){.invite-wrapper{padding:var(--space-md)}}.dashboard{margin:0 auto;max-width:900px;padding:var(--space-lg)}.dashboard-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(2,1fr);margin-top:var(--space-lg)}.dashboard-card{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;cursor:pointer;padding:var(--space-lg);text-align:center;transition:transform .15s ease,box-shadow .15s ease}.dashboard-card:hover{box-shadow:0 4px 15px #4caf5040;transform:translateY(-2px)}.dashboard-card:active{transform:translateY(0)}.dashboard-card-link{color:inherit;display:block;text-decoration:none}.dashboard-value{font-size:var(--font-size-lg);font-weight:600;margin:var(--space-sm) 0}.dashboard-sub{color:var(--color-muted);font-size:var(--font-size-sm)}.dashboard-empty{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:10px;grid-column:1/-1;padding:var(--space-lg);text-align:center}.dashboard-empty h2{margin-bottom:var(--space-sm)}.dashboard-empty p{color:var(--color-muted);margin-bottom:var(--space-md)}.dashboard-state{padding:var(--space-xl);text-align:center}.dashboard-error{color:var(--color-error)}@media (max-width:768px){.dashboard{padding:var(--space-md)}.dashboard-grid{grid-template-columns:1fr}}.my-shifts{margin:0 auto;max-width:1200px;padding:var(--space-lg)}.my-shifts-header{align-items:center;display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg)}.my-shifts-calendar{display:flex;flex-direction:column;gap:var(--space-lg)}.my-shifts-calendar-header{display:flex;flex-direction:column;gap:var(--space-sm)}.my-shifts-calendar-nav-grid{grid-gap:var(--space-sm);align-items:center;display:grid;gap:var(--space-sm);grid-template-areas:"prev current next";grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr)}.my-shifts-calendar-month{color:var(--color-text);font-size:1.35rem;font-weight:700;grid-area:month;letter-spacing:.01em;text-align:center}.my-shifts-nav-btn{line-height:1.2;min-height:42px;white-space:normal}.my-shifts-nav-btn-prev{grid-area:prev;justify-self:start}.my-shifts-nav-btn-next{grid-area:next;justify-self:end}.my-shifts-current-month-btn{grid-area:current;justify-self:center;min-height:38px;padding:8px 14px}.my-shifts-current-month-btn:disabled{border-color:var(--color-border);color:var(--color-muted)}.my-shifts-month-hours{grid-gap:var(--space-sm);align-items:center;color:var(--color-muted);display:grid;font-size:var(--font-size-sm);gap:var(--space-sm);grid-template-areas:"worked month planned";grid-template-columns:1fr auto 1fr;line-height:1.3;text-align:center}.my-shifts-month-hours-item{color:inherit;white-space:normal}.my-shifts-month-hours-item--worked{grid-area:worked;justify-self:start;text-align:left}.my-shifts-month-hours-item--planned{grid-area:planned;justify-self:end;text-align:right}.my-shifts-month-hours-item strong{color:var(--color-text);font-weight:600}.my-shifts-month-hours-separator{color:color-mix(in srgb,var(--color-muted) 70%,#0000)}.my-shifts-calendar-grid-wrap{overflow-x:visible}.my-shifts-calendar-grid{grid-gap:var(--space-xs);display:grid;gap:var(--space-xs);grid-template-columns:repeat(7,minmax(0,1fr));width:100%}.my-shifts-weekday{color:color-mix(in srgb,var(--color-text) 60%,var(--color-muted) 40%);font-size:var(--font-size-sm);padding:var(--space-xs);text-align:center}.my-shifts-day{align-items:flex-start;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);display:flex;flex-direction:column;gap:var(--space-xs);justify-content:space-between;min-height:90px;padding:var(--space-xs);text-align:left}.my-shifts-day:hover{background-color:color-mix(in srgb,var(--color-bg-secondary) 75%,var(--color-accent) 25%)}.my-shifts-day.is-outside-month{opacity:.5}.my-shifts-day.is-selected{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.my-shifts-day.is-today{outline:1px dashed var(--color-accent);outline-offset:-4px}.my-shifts-day.has-shifts .my-shifts-day-state{color:var(--color-accent)}.my-shifts-day.has-absences{border-color:var(--color-warning)}.my-shifts-day.has-absences .my-shifts-day-number:after{color:var(--color-warning);content:" •";font-weight:700}.my-shifts-day.is-free .my-shifts-day-state{color:var(--color-muted)}.my-shifts-day-number{font-weight:600}.my-shifts-day-state{display:block;font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.my-shifts-day-detail{margin-top:var(--space-sm)}.my-shifts-day-detail h2{margin-bottom:var(--space-md)}.my-shifts-day-detail-list{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0;padding:0}.my-shifts-day-detail-item{background:color-mix(in srgb,var(--color-bg-secondary) 85%,var(--color-bg) 15%);border:1px solid var(--color-border);border-radius:6px;padding:var(--space-sm);transition:border-color .16s ease,box-shadow .16s ease}.my-shifts-shift-button{all:unset;align-items:flex-start;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:color .14s ease;width:100%}.my-shifts-day-detail-item button.my-shifts-shift-button:focus-visible:not(:disabled),.my-shifts-day-detail-item button.my-shifts-shift-button:hover:not(:disabled){background-color:initial!important;box-shadow:none!important;color:inherit!important}.my-shifts-day-detail-item:not(.my-shifts-day-detail-absence):focus-within,.my-shifts-day-detail-item:not(.my-shifts-day-detail-absence):hover{border-color:color-mix(in srgb,var(--color-accent) 55%,var(--color-border));box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 28%,#0000),0 10px 20px color-mix(in srgb,var(--color-accent) 16%,#0000)}.my-shifts-shift-cta{color:var(--color-accent);font-size:var(--font-size-sm);font-weight:600;margin-top:2px}.my-shifts-shift-button:focus-visible .my-shifts-shift-cta,.my-shifts-shift-button:hover .my-shifts-shift-cta{color:color-mix(in srgb,var(--color-accent) 88%,var(--color-text) 12%)}.my-shifts-shift-button:focus-visible{border-radius:4px;outline:2px solid var(--color-accent)}.my-shifts-day-detail-absence{background:color-mix(in srgb,var(--color-warning) 10%,var(--color-bg-secondary) 90%);border-color:var(--color-warning)}.my-shifts-day-detail-item p{margin:0}.my-shifts-day-detail-item p+p{margin-top:6px}.my-shifts-shift-title{color:var(--color-text);font-weight:600}.my-shifts-absence-status{border:1px solid var(--color-border);border-radius:999px;display:inline-block;font-size:12px;font-weight:500;margin-left:6px;padding:2px 8px;vertical-align:middle}.my-shifts-absence-status--pending{background:color-mix(in srgb,var(--color-warning) 15%,#0000);border-color:color-mix(in srgb,var(--color-warning) 40%,#0000);color:var(--color-warning)}.my-shifts-absence-status--approved{background:color-mix(in srgb,var(--color-success) 15%,#0000);border-color:color-mix(in srgb,var(--color-success) 40%,#0000);color:var(--color-success)}.my-shifts-absence-status--rejected{background:color-mix(in srgb,var(--color-error) 15%,#0000);border-color:color-mix(in srgb,var(--color-error) 40%,#0000);color:var(--color-error)}.my-shifts-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:var(--space-md);position:fixed;z-index:80}.my-shifts-modal{max-height:calc(100vh - var(--space-md)*2);overflow-y:auto;width:min(720px,100%)}.my-shifts-modal-header{align-items:center;display:flex;gap:var(--space-sm);justify-content:space-between;margin-bottom:var(--space-md)}.my-shifts-modal-header h2{margin:0}.my-shifts-modal-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-xs);justify-content:flex-end}.my-shifts-modal-close{flex-shrink:0}.my-shifts-modal-content{display:flex;flex-direction:column;gap:var(--space-sm)}.my-shifts-modal-row{background:color-mix(in srgb,var(--color-bg-secondary) 88%,var(--color-bg) 12%);border:1px solid var(--color-border);border-radius:6px;padding:var(--space-sm)}.my-shifts-modal-row span{color:var(--color-muted);display:block;font-size:var(--font-size-sm);margin-bottom:4px}.my-shifts-modal-row p,.my-shifts-modal-row strong{margin:0}.my-shifts-modal-row ul{margin:0;padding-left:20px}.my-shifts-modal-row li+li{margin-top:4px}.my-shifts-employee-item{align-items:center;display:flex;gap:8px;width:100%}.my-shifts-leader-badge{border:1px solid var(--color-border);border-radius:999px;color:var(--color-muted);font-size:.72rem;padding:1px 8px}.empty-state{text-align:center}@media (max-width:900px){.my-shifts{padding:var(--space-md)}.my-shifts-day{min-height:64px;padding:6px 4px}.my-shifts-day-state{font-size:12px}.my-shifts-calendar-grid{gap:4px}.my-shifts-shift-cta{font-size:12px}}@media (max-width:768px){.my-shifts{padding:var(--space-sm)}.my-shifts-calendar{gap:var(--space-md)}.my-shifts-calendar-nav-grid{gap:var(--space-xs);grid-template-areas:"current current" "prev next";grid-template-columns:1fr 1fr}.my-shifts-calendar-month{font-size:1.05rem}.my-shifts-nav-btn{font-size:.9rem;min-height:42px;overflow:visible;padding:8px 10px;text-overflow:clip;white-space:normal;width:100%}.my-shifts-nav-btn-next,.my-shifts-nav-btn-prev{justify-self:stretch}.my-shifts-current-month-btn{width:100%}.my-shifts-month-hours{align-items:start;column-gap:var(--space-xs);font-size:12px;grid-template-areas:"month month" "worked planned";grid-template-columns:1fr 1fr;row-gap:4px}.my-shifts-month-hours-item--worked{justify-self:start}.my-shifts-month-hours-item--planned{justify-self:end}.my-shifts-day{min-height:44px}.my-shifts-overlay{align-items:flex-end;padding:var(--space-sm)}.my-shifts-modal{border-bottom-left-radius:0;border-bottom-right-radius:0;max-height:85vh}.my-shifts-modal-header{align-items:stretch;flex-direction:column}}.shift-card{display:flex;flex-direction:column;gap:var(--space-sm)}.shift-card-title{margin-bottom:var(--space-xs)}.shift-card-meta{line-height:1.4}.shift-card-staff{font-weight:500}.shift-card-notes{color:var(--color-muted);font-size:var(--font-size-sm)}.shift-card-status{margin-top:var(--space-xs)}.status{font-weight:600}.status-open{color:var(--color-success)}.status-full{color:var(--color-warning)}.status-closed{color:var(--color-muted)}.shift-card-flag{font-weight:500}.shift-card-flag.assigned{color:var(--color-success)}.shift-card-flag.applied{color:var(--color-warning)}.shift-card-actions{display:flex;gap:var(--space-sm);margin-top:auto}.range-nav{grid-gap:var(--space-sm);align-items:center;display:grid;gap:var(--space-sm)}.range-nav.has-current{grid-template-columns:auto minmax(220px,1fr) auto auto}.range-nav.no-current{grid-template-columns:auto minmax(220px,1fr) auto}.range-nav-label{color:var(--color-text);font-weight:700;text-align:center;white-space:nowrap}.range-nav-btn{min-width:150px}.range-nav-current.is-hidden{pointer-events:none;visibility:hidden}.range-nav-current:disabled{background:#0000;border-color:var(--color-border);color:var(--color-muted)}.range-nav-extra{justify-self:end}@media (max-width:960px){.range-nav{grid-template-columns:1fr 1fr}.range-nav-label{grid-column:1/-1;margin-bottom:2px;order:-1}.range-nav-extra{grid-column:1/-1;justify-self:stretch}.range-nav-btn{min-width:0;width:100%}}.open-shifts{margin:0 auto;max-width:1400px;padding:var(--space-lg)}.open-shifts-header{display:flex;flex-direction:column;gap:var(--space-sm)}.open-shifts-day-picker-grid{grid-gap:var(--space-xs);display:grid;gap:var(--space-xs);grid-template-columns:repeat(7,minmax(0,1fr));margin-top:var(--space-lg)}.open-shifts-day-picker{background:color-mix(in srgb,var(--color-bg-secondary) 90%,var(--color-bg) 10%);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);display:flex;flex-direction:column;gap:4px;min-height:92px;padding:var(--space-sm);text-align:left}.open-shifts-day-picker:hover{background:color-mix(in srgb,var(--color-bg-secondary) 72%,var(--color-accent) 28%)}.open-shifts-day-picker.is-selected{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.open-shifts-day-picker.has-shifts .open-shifts-day-picker-count{color:var(--color-accent)}.open-shifts-day-picker.is-empty .open-shifts-day-picker-count{color:var(--color-muted)}.open-shifts-day-picker-label{color:var(--color-muted);font-size:var(--font-size-sm)}.open-shifts-day-picker-count{font-size:var(--font-size-base)}.open-shifts-day-picker-hint{color:var(--color-muted);font-size:12px}.open-shifts-day-detail{margin-top:var(--space-md)}.open-shifts-day-detail h2{margin-bottom:var(--space-md)}.open-shifts-day-list{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:repeat(3,minmax(0,1fr))}.open-shifts-day-empty{color:var(--color-muted);font-size:var(--font-size-sm);margin:0}@media (max-width:1100px){.open-shifts{padding:var(--space-md)}.open-shifts-day-picker-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.open-shifts-day-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.open-shifts-day-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.open-shifts-day-picker{min-height:84px}.open-shifts-day-list{grid-template-columns:1fr}}.planning-day-shift{background:color-mix(in srgb,var(--color-bg-secondary) 80%,#000);border:1px solid var(--color-border);border-radius:6px;display:flex;flex-direction:column;gap:2px;padding:10px;position:relative}.planning-day-shift:hover{border-color:var(--color-accent)}.planning-day-shift--complete{background:color-mix(in srgb,var(--color-success) 10%,var(--color-bg-secondary));border-color:color-mix(in srgb,var(--color-success) 45%,var(--color-border))}.planning-day-shift--partial{background:color-mix(in srgb,var(--color-warning) 8%,var(--color-bg-secondary));border-color:color-mix(in srgb,var(--color-warning) 55%,var(--color-border))}.planning-day-shift--none{background:color-mix(in srgb,var(--color-error) 8%,var(--color-bg-secondary));border-color:color-mix(in srgb,var(--color-error) 55%,var(--color-border))}.planning-day-shift--complete:hover{border-color:var(--color-success)}.planning-day-shift--partial:hover{border-color:var(--color-warning)}.planning-day-shift--none:hover{border-color:var(--color-error)}.planning-day-shift strong{color:var(--color-accent);font-size:var(--font-size-sm)}.planning-day-shift span{font-size:var(--font-size-sm);line-height:1.3}.planning-day-shift-meta{align-items:center;display:flex;gap:var(--space-xs);justify-content:flex-start}.planning-day-gap{color:var(--color-warning)!important;font-size:11px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-day-closed{background:color-mix(in srgb,var(--color-success) 10%,var(--color-bg-secondary));border:1px solid color-mix(in srgb,var(--color-success) 45%,var(--color-border));border-radius:999px;color:var(--color-success)!important;display:inline-flex;font-size:11px!important;font-weight:600;margin-bottom:2px;padding:1px 8px;width:fit-content}.planning-day-shift small{color:var(--color-muted);font-size:12px}.planning-shifts{margin:0 auto;max-width:1400px;padding:var(--space-lg)}.planning-header{display:flex;flex-direction:column;gap:var(--space-md)}.planning-create-link{display:inline-flex}.planning-week-grid{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:repeat(7,minmax(0,1fr));margin-top:var(--space-lg)}.planning-day{display:flex;flex-direction:column;gap:var(--space-sm);min-height:260px;padding:var(--space-sm)}.planning-day-header{align-items:baseline;border-bottom:1px solid var(--color-border);display:flex;gap:var(--space-xs);justify-content:space-between;padding-bottom:var(--space-xs)}.planning-day-header h2{font-size:var(--font-size-base);margin:0}.planning-day-empty,.planning-day-header span{color:var(--color-muted);font-size:var(--font-size-sm)}.planning-day-list{display:flex;flex-direction:column;gap:var(--space-xs);margin:0;padding:0}@media (max-width:1200px){.planning-week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:900px){.planning-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.planning-shifts{padding:var(--space-md)}.planning-create-link button{width:100%}.planning-week-grid{grid-template-columns:1fr}.planning-day{min-height:auto}}.shift-form{gap:var(--space-md)}.shift-form,.shift-form-section{display:flex;flex-direction:column}.shift-form-section{gap:var(--space-sm)}.shift-form-section+.shift-form-section{margin-top:var(--space-md)}.section-title{color:#ffffffe6;font-size:var(--font-size-base);font-weight:600;letter-spacing:.01em;margin:0}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-group label,.form-hint{color:var(--color-muted);font-size:var(--font-size-sm)}.form-hint{margin:0;opacity:.85}.creation-mode-select{background:#ffffff0a;border:1px solid #ffffff24;color:var(--color-text)}.creation-mode-select:focus{border-color:#ffffff4d;box-shadow:0 0 0 2px #ffffff14}.creation-mode-helper{background:#ffffff08;border-left:2px solid #4ed6a659;border-radius:6px;color:var(--color-muted);font-size:var(--font-size-sm);margin:0;margin-bottom:var(--space-xs);margin-top:calc(var(--space-xs)*-1);opacity:.88;padding:8px 10px}.date-range-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:1fr 1fr}.recurring-group{display:flex;flex-direction:column;gap:var(--space-xs)}.subgroup-title{color:#ffffffd1;font-size:var(--font-size-sm);font-weight:600;margin:0;margin-top:var(--space-xs)}.recurring-period-helper{color:var(--color-muted);font-size:var(--font-size-sm);margin:0;margin-bottom:var(--space-xs);margin-top:calc(var(--space-xs)*-1);opacity:.8}.pattern-detail{margin-left:8px}.weekly-pattern-group{display:flex;flex-direction:column;gap:var(--space-sm)}.weekday-selector{display:flex;flex-wrap:wrap;gap:6px}.weekday-chip{align-items:center;background:#ffffff08;border:1px solid #ffffff29;border-radius:999px;color:var(--color-muted);cursor:pointer;display:inline-flex;justify-content:center;min-width:38px;padding:6px 10px;position:relative;transition:border-color .12s ease,background-color .12s ease,color .12s ease;-webkit-user-select:none;user-select:none}.weekday-chip input{opacity:0;pointer-events:none;position:absolute}.weekday-chip span{font-size:var(--font-size-sm);line-height:1}.weekday-chip.selected{background:#4ed6a624;border-color:#4ed6a68c;color:#fffffff5}.weekday-chip:focus-within{outline:2px solid #ffffff38;outline-offset:1px}.form-row{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:1fr 1fr}.shift-form-footer{align-items:flex-start;border-top:1px solid #ffffff1a;display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-sm);padding-top:var(--space-md)}.checkbox-row{align-items:center;color:var(--color-text);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);gap:var(--space-sm);-webkit-user-select:none;user-select:none}.checkbox-row input{accent-color:var(--color-accent);flex-shrink:0;height:16px;margin:0;width:16px}.checkbox-row span{line-height:1}.form-error{margin-top:var(--space-xs)}.form-error,.weekly-selection-error{color:var(--color-error);font-size:var(--font-size-sm)}.weekly-selection-error{margin:0}@media (max-width:768px){.date-range-grid,.form-row{grid-template-columns:1fr}.pattern-detail{margin-left:0}}.create-shift{margin:0 auto;max-width:560px;padding:var(--space-lg)}.create-shift h1,.create-shift-topbar{margin-bottom:var(--space-md)}@media (max-width:768px){.create-shift{padding:var(--space-md)}}.company-absences{display:flex;flex-direction:column;gap:var(--space-md);margin:0 auto;max-width:1200px;padding:var(--space-lg)}.company-absences-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:space-between}.company-absences-header h1{margin-bottom:2px}.company-absences-subtitle{color:var(--color-muted);font-size:var(--font-size-sm)}.company-absences-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:space-between}.company-absences-toolbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-sm)}.company-absences-mode-switch{display:flex;gap:var(--space-xs)}.company-absences-create h2{margin-bottom:var(--space-sm)}.company-absences-form{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:280px repeat(2,minmax(0,1fr))}.company-absences-form button{grid-column:1/-1;justify-self:start}.company-absences-form>input[type=text]{max-width:280px}.company-absences-form .absence-type-select{align-self:end;height:42px;justify-self:start;max-width:100%;min-height:42px}.company-absences-date-row{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-column:span 2;grid-template-columns:1fr 1fr}.company-absences-date-row label{display:flex;flex-direction:column;gap:4px}.company-absences-date-row label span{color:var(--color-muted);font-size:var(--font-size-sm)}.company-absences-self-user{background:color-mix(in srgb,var(--color-bg-secondary) 88%,var(--color-bg) 12%);border:1px solid var(--color-border);border-radius:6px;display:flex;flex-direction:column;gap:4px;margin-bottom:var(--space-sm);max-width:280px;padding:10px}.company-absences-self-user span{color:var(--color-muted);font-size:var(--font-size-sm)}.company-absences-filter{align-items:center;display:flex;gap:var(--space-sm)}.company-absences-filter label{color:var(--color-muted);font-size:var(--font-size-sm);white-space:nowrap}.company-absences-filter select{max-width:360px}.company-absences-cards{display:none}.company-absence-card{display:flex;flex-direction:column;gap:var(--space-sm)}.company-absence-card-header{align-items:flex-start;display:flex;gap:var(--space-sm);justify-content:space-between}.company-absence-card-header h3{font-size:var(--font-size-base);margin:0}.company-absence-card-grid{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr))}.company-absence-card-field{display:flex;flex-direction:column;gap:2px}.company-absence-card-field span,.company-absence-card-note span{color:var(--color-muted);font-size:var(--font-size-sm)}.company-absence-card-note{display:flex;flex-direction:column;gap:4px}.company-absence-card-note p{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.company-absence-card .absence-actions{justify-content:flex-start}.company-absence-card-empty{color:var(--color-muted);text-align:center}@media (max-width:900px){.company-absences{padding:var(--space-md)}.company-absences-toolbar,.company-absences-toolbar-actions{align-items:stretch;flex-direction:column}.company-absences-form{grid-template-columns:1fr}.company-absences-form .absence-type-select{width:100%}.company-absences-date-row{grid-column:auto;grid-template-columns:1fr}.company-absences-filter{align-items:stretch;flex-direction:column}.company-absences-filter select{max-width:none}}@media (max-width:768px){.company-absences-table-wrapper{display:none}.company-absences-cards{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm)}.company-absence-card-grid{grid-template-columns:1fr}}.my-absences{display:flex;flex-direction:column;gap:var(--space-md);margin:0 auto;max-width:1200px;padding:var(--space-lg)}.my-absences-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:space-between}.my-absences-header h1{margin-bottom:2px}.my-absences-subtitle{color:var(--color-muted);font-size:var(--font-size-sm)}.my-absences-toolbar{display:flex;justify-content:flex-end}.my-absences-create h2{margin-bottom:var(--space-sm)}.my-absences-form{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:280px repeat(2,minmax(0,1fr))}.my-absences-form button{grid-column:1/-1;justify-self:start}.my-absences-form>input[type=text]{max-width:280px}.my-absences-form .absence-type-select{align-self:end;height:42px;justify-self:start;max-width:100%;min-height:42px}.my-absences-date-row{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-column:span 2;grid-template-columns:1fr 1fr}.my-absences-date-row label{display:flex;flex-direction:column;gap:4px}.my-absences-date-row label span{color:var(--color-muted);font-size:var(--font-size-sm)}.table-wrapper{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px}.table{margin:0;min-width:760px}.empty-table-state{color:var(--color-muted);padding:var(--space-lg);text-align:center}.absence-status{border:1px solid var(--color-border);border-radius:999px;display:inline-block;font-size:var(--font-size-sm);padding:2px 10px}.absence-status--pending{background:color-mix(in srgb,var(--color-warning) 15%,#0000);border-color:color-mix(in srgb,var(--color-warning) 40%,#0000);color:var(--color-warning)}.absence-status--approved{background:color-mix(in srgb,var(--color-success) 15%,#0000);border-color:color-mix(in srgb,var(--color-success) 40%,#0000);color:var(--color-success)}.absence-status--rejected{background:color-mix(in srgb,var(--color-error) 15%,#0000);border-color:color-mix(in srgb,var(--color-error) 40%,#0000);color:var(--color-error)}.absence-actions{align-items:center;display:flex;gap:var(--space-xs);justify-content:flex-end}.my-absences-cards{display:none}.my-absence-card{display:flex;flex-direction:column;gap:var(--space-sm)}.my-absence-card-header{align-items:flex-start;display:flex;gap:var(--space-sm);justify-content:space-between}.my-absence-card-header h3{font-size:var(--font-size-base);margin:0}.my-absence-card-grid{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr))}.my-absence-card-field{display:flex;flex-direction:column;gap:2px}.my-absence-card-field span,.my-absence-card-note span{color:var(--color-muted);font-size:var(--font-size-sm)}.my-absence-card-note{display:flex;flex-direction:column;gap:4px}.my-absence-card-note p{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.my-absence-card .absence-actions{justify-content:flex-start}.my-absence-card-empty{color:var(--color-muted);text-align:center}@media (max-width:900px){.my-absences{padding:var(--space-md)}.my-absences-form{grid-template-columns:1fr}.my-absences-form .absence-type-select{width:100%}.my-absences-date-row{grid-column:auto;grid-template-columns:1fr}}@media (max-width:768px){.my-absences-table-wrapper{display:none}.my-absences-cards{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm)}.my-absence-card-grid{grid-template-columns:1fr}}.invite-users{align-items:center;justify-content:center;min-height:100vh}.invite-users,.invite-users-card{display:flex;padding:var(--space-lg)}.invite-users-card{flex-direction:column;gap:var(--space-md);max-width:420px;width:100%}.invite-users-card h2{text-align:center}.invite-users-form{display:flex;flex-direction:column;gap:var(--space-md)}.invite-users-form button{width:100%}.invite-success{color:var(--color-success);font-size:var(--font-size-sm);font-weight:600;text-align:center}.invite-success-panel{background:color-mix(in srgb,var(--color-accent) 10%,#0000);border:1px solid color-mix(in srgb,var(--color-accent) 35%,var(--color-border));border-radius:6px;display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md)}.invite-status-hint{color:var(--color-muted);font-size:var(--font-size-sm);text-align:center}.invite-list-cta,.invite-list-cta button{width:100%}.invite-error{color:var(--color-error);font-size:var(--font-size-sm);text-align:center}@media (max-width:768px){.invite-users{padding:var(--space-md)}}.shift-applications{display:flex;flex-direction:column;gap:var(--space-md)}.applications-list{display:flex;flex-direction:column;gap:var(--space-sm)}.application-item{align-items:center;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;display:flex;justify-content:space-between;padding:var(--space-sm)}.application-status{color:var(--color-muted);font-size:var(--font-size-sm)}.application-error{color:var(--color-error)}.application-error,.empty-state{font-size:var(--font-size-sm)}.application-actions{display:flex;gap:var(--space-sm)}.shift-header{display:flex;flex-direction:column;margin-bottom:var(--space-lg)}.shift-header-main{align-items:stretch;gap:var(--space-md)}.shift-header-top-badge{margin-bottom:var(--space-sm)}.shift-header-title{margin-bottom:var(--space-xs)}.shift-header-meta,.shift-header-status{display:flex;flex-direction:column;gap:2px}.shift-header-status{margin-top:var(--space-sm)}.shift-header-actions{align-self:stretch;display:flex;flex-direction:column;gap:var(--space-xs)}.shift-closed-pill{align-items:center;background:color-mix(in srgb,var(--color-success) 12%,var(--color-bg-secondary));border:1px solid color-mix(in srgb,var(--color-success) 45%,var(--color-border));border-radius:999px;color:var(--color-success);display:inline-flex;font-size:var(--font-size-sm);font-weight:600;justify-content:center;padding:6px 12px}.shift-header-footer{display:flex;justify-content:center;margin-top:auto;padding-top:var(--space-lg)}.shift-close-button{font-weight:600;margin-top:auto}.shift-reopen-button{background:color-mix(in srgb,var(--color-warning) 14%,#0000)!important;border-color:color-mix(in srgb,var(--color-warning) 70%,var(--color-border))!important;color:color-mix(in srgb,var(--color-warning) 80%,var(--color-text))!important;min-width:220px}.shift-reopen-button:hover:not(:disabled){background:color-mix(in srgb,var(--color-warning) 22%,#0000)!important}.shift-header-meta{color:var(--color-muted);font-size:var(--font-size-sm);margin-top:var(--space-xs)}.edit-shift-form-wrapper{display:flex;justify-content:center}.edit-shift-form{max-width:560px;width:100%}.edit-shift-divider{border:none;border-top:1px solid var(--color-border);margin:var(--space-lg) 0}.edit-shift-form-buttons{align-items:center;display:flex;justify-content:space-between;margin-top:var(--space-md)}.info-trigger{align-items:center;background:#ffffff14;border-radius:50%;color:var(--color-muted);display:inline-flex;font-size:.75rem;font-weight:600;height:18px;justify-content:center;margin-left:8px;transition:background .15s ease,color .15s ease;width:18px}.info-trigger:hover{background:var(--color-accent);color:#fff}.employee-hover{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-soft);margin-right:12px;opacity:0;padding:10px 12px;pointer-events:none;position:absolute;right:100%;top:50%;transform:translateY(-50%);transition:opacity .15s ease;width:260px;z-index:1000}.info-trigger:hover .employee-hover{opacity:1;pointer-events:auto}.hover-section+.hover-section{margin-top:10px}.hover-title{color:var(--color-muted);font-size:.72rem;font-weight:500;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.hover-item{font-size:.85rem;margin-bottom:4px}.hover-sub{color:var(--color-muted);font-size:.75rem}.hover-badge{background:#ffffff14;border-radius:4px;display:inline-block;font-size:.78rem;margin-bottom:4px;padding:4px 8px}.hover-badge.primary{background:color-mix(in srgb,var(--color-accent) 25%,#0000);color:var(--color-accent)}.assign-employee{display:flex;flex-direction:column;gap:var(--space-md);overflow:visible}.assign-header-row{align-items:flex-start;display:flex;gap:var(--space-sm);justify-content:space-between;overflow:visible}.assign-header-info{display:flex;flex-direction:column;gap:4px;min-width:0}.assign-header-info h2{margin-bottom:0}.assign-leader-control{display:flex;flex-direction:column;gap:4px;max-width:100%;min-width:240px}.assign-leader-control label{color:var(--color-muted);font-size:.75rem}.assign-leader-control select{max-width:100%;min-height:34px;width:100%}.assign-summary{color:var(--color-muted);font-size:var(--font-size-sm)}.assign-block{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;padding:var(--space-sm)}.assign-list{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-sm)}.assign-item{display:flex;flex-wrap:wrap;gap:8px}.assign-item-main{align-items:center;display:flex;flex:1 1;gap:10px;min-width:220px}.assign-item-actions{align-items:center;display:flex;gap:6px}.assign-add{display:flex;flex-direction:column;gap:var(--space-sm)}.assign-full{color:var(--color-error);font-size:var(--font-size-sm)}.assign-buttons{display:flex;flex-direction:column;gap:var(--space-sm)}.assign-group{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:10px}.assign-group.conflict{border-color:color-mix(in srgb,var(--color-warning) 30%,var(--color-border))}.assign-group-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.assign-head-actions{align-items:center;display:flex;gap:8px}.assign-toggle{background:#0000;border:1px solid var(--color-border);border-radius:6px;color:var(--color-muted);cursor:pointer;font-size:.75rem;line-height:1;padding:6px 8px}.assign-toggle:hover{border-color:var(--color-accent);color:var(--color-accent)}.assign-group-hint{align-items:center;color:var(--color-muted);display:flex;font-size:.75rem;gap:6px;margin-bottom:8px}.assign-subtitle{color:var(--color-muted);font-size:var(--font-size-sm);font-weight:600}.assign-count{align-items:center;background:#ffffff08;border:1px solid var(--color-border);border-radius:999px;color:var(--color-muted);display:inline-flex;font-size:.72rem;height:20px;justify-content:center;min-width:24px;padding:0 6px}.assign-group-list{display:flex;flex-direction:column;gap:6px}.assign-empty{border:1px dashed var(--color-border);border-radius:6px;color:var(--color-muted);font-size:.85rem;padding:8px 12px}.assign-warning{font-size:.75rem;margin-left:var(--space-xs)}.assign-chip{border:1px solid var(--color-border);border-radius:999px;color:var(--color-muted);font-size:.72rem;line-height:1.3;padding:2px 8px}.assign-chip.warning{background:color-mix(in srgb,var(--color-warning) 14%,#0000);border-color:color-mix(in srgb,var(--color-warning) 35%,#0000);color:var(--color-warning)}.assign-row{align-items:center;background:#0000;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;padding:8px 12px;transition:background-color .15s ease,border-color .15s ease}.assign-row.overlap{border-color:color-mix(in srgb,var(--color-warning) 22%,var(--color-border))}.assign-row:hover{background:color-mix(in srgb,var(--color-accent) 10%,#0000);border-color:var(--color-accent)}.assign-row.disabled{cursor:not-allowed;opacity:.4}.assign-left,.assign-name{align-items:center;display:flex;gap:6px}.assign-left{flex:1 1}.assign-right{align-items:center;display:flex;gap:8px}@media (max-width:768px){.assign-header-row{align-items:stretch;flex-direction:column;gap:var(--space-sm)}.assign-leader-control{min-width:0;width:100%}}.edit-shift{margin:0 auto;max-width:900px;padding:var(--space-lg)}.edit-shift-page-topbar{margin-bottom:var(--space-md)}.edit-shift-sections{display:flex;flex-direction:column;gap:var(--space-xl);margin-top:var(--space-lg)}.edit-shift-actions,.shift-tabs{display:flex}.shift-tabs{border-bottom:none;gap:var(--space-lg);justify-content:center;margin-bottom:var(--space-xl);margin-top:var(--space-lg)}.shift-tabs .tab{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--color-muted);cursor:pointer;flex-shrink:0;font-weight:500;padding:var(--space-sm) var(--space-lg);white-space:nowrap}.shift-tabs .tab:hover{color:var(--color-text)}.shift-tabs .tab.active{box-shadow:inset 0 -2px 0 var(--color-accent);color:var(--color-accent);scroll-margin-left:var(--space-md);scroll-margin-right:var(--space-md)}@media (max-width:768px){.edit-shift{padding:var(--space-md)}.shift-tabs{gap:var(--space-md);justify-content:flex-start;margin-bottom:var(--space-md);margin-top:var(--space-md);overflow-x:auto;padding:0 var(--space-md);white-space:nowrap}.shift-tabs::-webkit-scrollbar{display:none}}.qualification-accordion{margin-top:var(--space-lg)}.accordion-item{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;margin-bottom:var(--space-sm);overflow:visible}.accordion-header{align-items:center;background:linear-gradient(to right,var(--color-bg-secondary),#ffffff05);cursor:pointer;display:flex;font-weight:500;justify-content:space-between;padding:var(--space-sm) var(--space-md);transition:background-color .2s ease;width:100%}.accordion-header:hover{background-color:#ffffff0a}.accordion-header.static{cursor:default}.accordion-meta{color:var(--color-muted);font-size:var(--font-size-sm);gap:8px}.accordion-meta,.requirement-state{align-items:center;display:inline-flex}.requirement-state{border-radius:999px;font-size:12px;font-weight:600;padding:2px 8px}.requirement-state.fulfilled{background:color-mix(in srgb,var(--color-success) 14%,#0000);border:1px solid color-mix(in srgb,var(--color-success) 45%,#0000);color:var(--color-success)}.requirement-state.open{background:color-mix(in srgb,var(--color-warning) 14%,#0000);border:1px solid color-mix(in srgb,var(--color-warning) 45%,#0000);color:var(--color-warning)}.accordion-body{overflow:visible;padding:var(--space-sm) var(--space-md)}.slot-row{align-items:center;border-radius:6px;display:flex;margin-bottom:6px;min-height:36px;padding:6px 8px;transition:background-color .15s ease}.slot-row.empty{background:#ffffff08;color:var(--color-muted);font-style:italic}.slot-row.filled{background:color-mix(in srgb,var(--color-accent) 18%,#0000)}.assigned-user{align-items:center;background:#0000;border:1px solid color-mix(in srgb,var(--color-accent) 40%,#0000);border-radius:999px;color:var(--color-accent);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);gap:6px;padding:4px 12px;transition:background-color .2s ease,border-color .2s ease}.assigned-user:hover{background:color-mix(in srgb,var(--color-accent) 25%,#0000);border-color:var(--color-accent)}.eligible-block{border-top:1px dashed var(--color-border);margin-top:var(--space-md);padding-top:var(--space-sm)}.eligible-block h4{color:var(--color-muted);font-size:var(--font-size-sm);font-weight:500;margin-bottom:var(--space-sm)}.eligible-subtitle{color:var(--color-muted);font-size:12px;font-weight:600;margin:10px 0 6px}.eligible-group-head{align-items:center;display:flex;justify-content:space-between;margin-top:10px}.eligible-head-actions{align-items:center;display:flex;gap:8px}.eligible-count{align-items:center;background:#ffffff08;border-radius:999px;display:inline-flex;font-size:.72rem;height:20px;justify-content:center;min-width:24px;padding:0 6px}.eligible-count,.eligible-toggle{border:1px solid var(--color-border);color:var(--color-muted)}.eligible-toggle{background:#0000;border-radius:6px;cursor:pointer;font-size:.75rem;line-height:1;padding:6px 8px}.eligible-toggle:hover{border-color:var(--color-accent);color:var(--color-accent)}.eligible-group-hint{display:flex;gap:6px;margin:0 0 8px}.eligible-group-hint,.hint-question{align-items:center;color:var(--color-muted);font-size:.75rem}.hint-question{background:#ffffff14;border:1px solid var(--color-border);border-radius:50%;display:inline-flex;font-weight:600;height:18px;justify-content:center;width:18px}.eligible-list{margin:0;overflow:visible;padding:0}.eligible-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;padding:8px 12px;transition:background-color .15s ease}.eligible-item:hover{background:#4caf501f}.eligible-item.disabled{cursor:not-allowed;opacity:.4}.eligible-left{gap:6px}.eligible-left,.eligible-main{align-items:center;display:flex;flex:1 1;min-width:0}.eligible-main{gap:8px;justify-content:space-between}.eligible-status{align-items:center;display:flex;gap:6px}.name{font-size:var(--font-size-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hint{color:var(--color-muted)}.assign-warning,.hint{font-size:.8rem;margin-left:8px}.assign-warning{color:var(--color-warning)}.eligible-right{align-items:center;display:flex;margin-left:auto}.info-trigger{cursor:pointer;flex-shrink:0;position:relative}.badges{display:flex;gap:4px}.badge{background:#ffffff14;border-radius:4px;color:var(--color-muted);font-size:12px;padding:2px 6px}.accordion-item.additional .accordion-body{padding-top:var(--space-sm)}.fulfilled-user{color:var(--color-success);font-size:var(--font-size-sm);padding:4px 0}.requirements-editor{display:flex;flex-direction:column;gap:var(--space-lg)}.requirements-editor h2,.requirements-editor h3{margin-bottom:var(--space-sm)}.requirements-editor h3{font-size:1.1rem;margin-top:var(--space-lg)}.requirements-editor .info-box{margin-bottom:var(--space-md);margin-top:var(--space-sm)}.requirement-row{grid-gap:var(--space-md);align-items:center;display:grid;gap:var(--space-md);grid-template-columns:1fr 80px;padding:6px 0}.requirement-row+.requirement-row{border-top:1px dashed var(--color-border)}.requirement-row span{font-size:var(--font-size-base)}.requirement-row input[type=number]{max-width:80px;padding:6px;text-align:center}.edit-actions{border-top:1px solid var(--color-border);display:flex;gap:var(--space-sm);justify-content:flex-end;margin-top:var(--space-lg);padding-top:var(--space-md)}.shift-times-page{margin:0 auto;max-width:1100px;padding:var(--space-lg)}.shift-times-topbar{align-items:center;display:flex;gap:var(--space-sm);justify-content:space-between;margin-bottom:var(--space-md)}.shift-times-subtitle{color:var(--color-muted);margin-bottom:4px}.shift-times-export-note{color:var(--color-muted);font-size:.78rem;margin-bottom:var(--space-md)}.shift-times-list{display:flex;flex-direction:column;gap:var(--space-sm)}.shift-times-row{grid-gap:10px;align-items:end;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(200px,1.4fr) repeat(4,minmax(120px,1fr)) auto;padding:10px}.shift-times-row.no-breaks{grid-template-columns:minmax(200px,1.4fr) repeat(2,minmax(120px,1fr)) auto}.shift-times-name-wrap{display:flex;flex-direction:column;gap:2px}.shift-times-row label{color:var(--color-muted);display:flex;flex-direction:column;font-size:.75rem;gap:4px}.shift-times-row input{width:100%}.shift-times-name{font-weight:600}.shift-times-actions{align-items:flex-end;align-self:end;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;justify-self:end}@media (max-width:1000px){.shift-times-row,.shift-times-row.no-breaks{grid-template-columns:1fr 1fr}.shift-times-name{grid-column:1/-1}.shift-times-actions{grid-column:1/-1;justify-content:flex-end;width:100%}}@media (max-width:700px){.shift-times-page{padding:var(--space-md)}.shift-times-topbar{align-items:stretch;flex-direction:column}.shift-times-topbar>button{width:100%}.shift-times-row{align-items:stretch}.shift-times-row,.shift-times-row.no-breaks{grid-template-columns:1fr}.shift-times-actions{gap:8px;justify-content:stretch}.shift-times-actions>button{width:100%}}.employees{margin:0 auto;max-width:1200px;padding:var(--space-lg)}.employees-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:space-between}.employees-header h1{margin-bottom:0}.employees-card{margin-top:var(--space-md)}.section-title{margin-top:var(--space-xl)}.table-wrapper{overflow-x:auto}.table{min-width:500px}.table td,.table th{text-align:left;white-space:nowrap}.actions{align-items:center;display:flex;gap:var(--space-xs);justify-content:flex-end}.invite-status{border-radius:999px;display:inline-block;font-size:var(--font-size-sm);font-weight:600;padding:2px 10px;text-transform:lowercase}.invite-status--pending{background:color-mix(in srgb,var(--color-warning) 16%,#0000);border:1px solid color-mix(in srgb,var(--color-warning) 35%,#0000);color:var(--color-warning)}.page-state{padding:var(--space-xl);text-align:center}.page-error{color:var(--color-error)}.empty-state{color:var(--color-muted);margin-top:var(--space-md)}@media (max-width:768px){.employees{padding:var(--space-md)}.employees-header{align-items:stretch}.employees-header button{width:100%}}.edit-employee-page{display:flex;flex-direction:column;gap:var(--space-md);margin:0 auto;max-width:900px;padding:var(--space-md) var(--space-lg) var(--space-lg)}.edit-employee-page h1{margin-bottom:4px}.edit-employee-page>.text-muted{margin-bottom:8px}.edit-employee-page .status-banner{border:1px solid #0000;border-radius:8px;font-size:.95rem;padding:10px 12px}.edit-employee-page .status-banner.warning{background:#ffb74d24;border-color:#ffb74d59;color:#ffe2a8}.edit-employee-page .status-banner.error{background:#f4433624;border-color:#f4433659;color:#ffc7c2}.section-card{overflow:hidden;padding:0}.section-toggle{align-items:center;background:#0000;border:none;border-bottom:1px solid #ffffff14;color:var(--color-text);display:flex;font-size:1.2rem;font-weight:600;justify-content:space-between;padding:18px 20px;text-align:left;width:100%}.edit-employee-page .section-toggle:hover{background:#ffffff05}.section-title-wrap{display:flex;flex-direction:column;gap:4px}.section-meta{color:var(--color-muted);font-size:.85rem;font-weight:500}.section-caret{color:var(--color-muted);font-size:1.05rem;line-height:1}.section-content{padding:12px var(--space-md) var(--space-md)}.card h3{margin-bottom:var(--space-sm);margin-top:var(--space-md)}.edit-employee-page .card h2{margin-bottom:10px}.form-grid{grid-gap:16px 24px;display:grid;gap:16px 24px;grid-template-columns:1fr 1fr}.form-field{display:flex;flex-direction:column}.address-row{grid-gap:16px 24px;display:grid;gap:16px 24px;grid-column:1/-1;grid-template-columns:2fr 1fr 1.5fr}.form-field label{color:var(--color-muted);font-size:.85rem;margin-bottom:6px}.checkbox-list,.radio-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.checkbox-row,.radio-row{align-items:center;display:flex;gap:10px;margin-bottom:8px}.checkbox-item,.radio-item{align-items:center;display:flex;gap:8px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:4px}.form-actions button{min-width:120px}.qualification-chip-row{display:flex;gap:10px;margin-bottom:var(--space-sm);overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.qualification-chip{background:#0000;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text);font-size:.9rem;font-weight:500;padding:8px 14px;white-space:nowrap}.edit-employee-page .qualification-chip:hover{background:#0000;border-color:var(--color-accent)}.qualification-chip.active{background:color-mix(in srgb,var(--color-accent) 12%,#0000);border-color:var(--color-accent);color:var(--color-accent)}@media (max-width:768px){.address-row,.form-grid{grid-template-columns:1fr}.address-row{gap:16px}.section-toggle{font-size:1.05rem}}.master-data-page{display:flex;flex-direction:column;gap:var(--space-lg);margin:0 auto;max-width:900px;padding:var(--space-lg)}.master-data-page .identity-summary{align-items:center;display:flex;flex-wrap:wrap;gap:10px 14px}.master-data-page .identity-name{color:var(--color-text);font-size:1.05rem;font-weight:600}.master-data-page .identity-email{color:var(--color-muted)}.master-data-page .role-badge{background:color-mix(in srgb,var(--color-accent) 18%,#0000);border:1px solid color-mix(in srgb,var(--color-accent) 55%,#0000);border-radius:999px;color:var(--color-text);font-size:.8rem;font-weight:600;padding:4px 10px}.master-data-page .form-grid{grid-gap:16px 24px;display:grid;gap:16px 24px;grid-template-columns:1fr 1fr}.master-data-page .form-field{display:flex;flex-direction:column}.master-data-page .address-row{grid-gap:16px 24px;display:grid;gap:16px 24px;grid-column:1/-1;grid-template-columns:2fr 1fr 1.5fr}.master-data-page .form-field label{color:var(--color-muted);font-size:.85rem;margin-bottom:6px}.master-data-page .form-field.display-mode>label{display:none}.master-data-page .display-tile{background:linear-gradient(180deg,#ffffff05,#ffffff03);border:1px solid #ffffff17;border-radius:10px;padding:12px 14px}.master-data-page .display-tile-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.master-data-page .display-label{color:var(--color-muted);font-size:.8rem;letter-spacing:.03em;text-transform:uppercase}.master-data-page .display-value{align-items:center;color:var(--color-text);display:flex;font-size:1rem;min-height:30px;padding:0}.master-data-page .display-value.is-empty{color:color-mix(in srgb,var(--color-muted) 90%,#fff 10%);font-style:italic}.master-data-page .form-actions{display:flex;gap:12px;justify-content:flex-end}.master-data-page .status-banner{border:1px solid #0000;border-radius:8px;font-size:.95rem;padding:10px 12px}.master-data-page .status-banner.success{background:#4caf5024;border-color:#4caf5059;color:#b9efbe}.master-data-page .status-banner.error{background:#f4433624;border-color:#f4433659;color:#ffc7c2}@media (max-width:768px){.master-data-page .form-grid{grid-template-columns:1fr}.master-data-page .address-row{gap:16px;grid-template-columns:1fr}}.objects-page{gap:var(--space-lg);margin:0 auto;max-width:980px}.objects-card,.objects-page{display:flex;flex-direction:column}.objects-card{gap:var(--space-md)}.objects-form{display:flex;flex-direction:column;gap:var(--space-sm)}.objects-form-row{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:2fr 1fr 1.5fr}.objects-form-actions{display:flex;gap:10px;justify-content:flex-end}.objects-status{border:1px solid #0000;border-radius:8px;padding:10px 12px}.objects-status.success{background:#4caf5024;border-color:#4caf5059;color:#b9efbe}.objects-status.error{background:#f4433624;border-color:#f4433659;color:#ffc7c2}.objects-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.objects-item{background:#ffffff08;border:1px solid #ffffff1a;border-radius:8px;display:flex;gap:14px;justify-content:space-between;padding:12px}.objects-item-main{min-width:0}.objects-item-title{color:var(--color-text);font-weight:600}.objects-item-meta{color:var(--color-muted);display:flex;flex-wrap:wrap;font-size:var(--font-size-sm);gap:8px 14px;margin-top:6px}.objects-item-actions{align-items:center;display:flex;gap:8px}@media (max-width:768px){.objects-form-row{grid-template-columns:1fr}.objects-item{flex-direction:column}.objects-item-actions{justify-content:flex-start}}.company-settings-page{max-width:760px}.company-settings-card{margin-top:16px}.company-settings-hint{color:#4b5563;margin-bottom:18px}.company-settings-form{grid-gap:14px;display:grid;gap:14px}.company-settings-actions{display:flex;justify-content:flex-end}.company-settings-status{border-radius:8px;font-size:14px;margin-top:12px;padding:10px 12px}.company-settings-status.success{background:#eaf9ef;border:1px solid #bbf7d0;color:#166534}.company-settings-status.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.hours-export-page{max-width:860px}.hours-export-subtitle{color:#4b5563;margin:8px 0 16px}.hours-export-card{margin-top:8px}.hours-export-form{grid-gap:14px;display:grid;gap:14px}.hours-export-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.hours-export-actions{display:flex;justify-content:flex-end}.hours-export-checkbox{align-items:center;color:#374151;display:inline-flex;font-size:14px;gap:8px}.hours-export-status{border-radius:8px;font-size:14px;margin-top:12px;padding:10px 12px}.hours-export-status.success{background:#eaf9ef;border:1px solid #bbf7d0;color:#166534}.hours-export-status.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.hours-export-info{background:color-mix(in srgb,var(--color-bg-secondary) 84%,var(--color-accent) 16%);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);border-radius:8px;color:var(--color-text);font-size:14px;margin:4px 0 8px;padding:10px 12px}@media (max-width:768px){.hours-export-row{grid-template-columns:1fr}.hours-export-actions button{width:100%}}.dashboard-header,.dashboard-kpi-grid{margin-bottom:var(--space-lg)}.dashboard-kpi-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.dashboard-kpi-card{display:flex;flex-direction:column;gap:var(--space-xs)}.dashboard-kpi-card h3{color:var(--color-muted);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.05em;margin:0;text-transform:uppercase}.dashboard-kpi-value{font-size:2rem;font-weight:700;line-height:1;margin:0}.dashboard-table-card h2{margin-bottom:var(--space-md)}.sidebar-wrapper{display:flex;height:100%}.main-content{width:100%}.app-dialog-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:var(--space-md);position:fixed;z-index:2000}.app-dialog{border-radius:10px;width:min(520px,100%)}.app-dialog h2{margin-bottom:var(--space-sm)}.app-dialog p{color:var(--color-text);white-space:pre-line}.app-dialog-actions{display:flex;gap:var(--space-sm);justify-content:flex-end;margin-top:var(--space-lg)}.app-dialog--danger{border-color:color-mix(in srgb,var(--color-error) 45%,var(--color-border))}.companies-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-lg)}.companies-actions{display:flex;gap:var(--space-sm)}.employee-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.employee-count--warning{color:var(--color-warning)}.employee-count--danger{color:var(--color-error)}.system-admin-company-detail{padding-top:var(--space-lg)}.page-header{align-items:center;display:flex;justify-content:space-between}.page-header,.section-card{margin-bottom:var(--space-lg)}.section-row{margin-bottom:var(--space-md)}.row-inline{align-items:center;display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.owner-row,.owner-warning{margin-bottom:var(--space-sm)}.owner-row{align-items:center;display:flex;justify-content:space-between}.owner-invite{margin-top:var(--space-md)}.invitation-actions,.owner-invite{display:flex;gap:var(--space-sm)}.invitation-expires{font-size:var(--font-size-sm)}.whats-new-page{padding-bottom:var(--space-lg);padding-top:var(--space-lg)}.whats-new-header{margin-bottom:var(--space-lg)}.whats-new-list{grid-gap:var(--space-md);display:grid;gap:var(--space-md)}.whats-new-admin{margin-bottom:var(--space-lg)}.whats-new-admin-head{align-items:center;display:flex;gap:var(--space-md);justify-content:space-between}.whats-new-admin-head h2{margin-bottom:0}.whats-new-form{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-md)}.whats-new-form label{color:var(--color-muted);display:block;font-size:var(--font-size-sm);margin-bottom:6px}.whats-new-form-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:1fr 1fr}.whats-new-form textarea{resize:vertical}.whats-new-form-actions{display:flex;gap:var(--space-sm)}.whats-new-item{padding:var(--space-lg)}.whats-new-item-head{align-items:center;display:flex;gap:var(--space-md);justify-content:space-between}.whats-new-item-head h2{margin-bottom:0}.whats-new-version{align-items:center;background:color-mix(in srgb,var(--color-accent) 20%,#0000);border-radius:999px;color:var(--color-accent);display:inline-flex;font-size:var(--font-size-sm);font-weight:600;justify-content:center;min-width:70px;padding:4px 10px}.whats-new-date{font-size:var(--font-size-sm);margin-bottom:var(--space-md);margin-top:var(--space-xs)}.whats-new-note-actions{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md)}.whats-new-edit-form{margin-top:0}.whats-new-content{white-space:pre-wrap}.whats-new-state{padding-top:var(--space-xl)}.whats-new-error{color:var(--color-error)}.whats-new-empty{text-align:center}.whats-new-pagination{display:flex;flex-wrap:wrap;gap:var(--space-xs);justify-content:center;margin-bottom:var(--space-lg);margin-top:var(--space-md)}.whats-new-pagination .is-active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}@media (max-width:768px){.whats-new-admin-head{align-items:flex-start;flex-direction:column}.whats-new-form-grid{grid-template-columns:1fr}.whats-new-item-head{align-items:flex-start;flex-direction:column}}#root,body,html{height:100%;margin:0;padding:0;width:100%}body{display:flex;flex-direction:column}:root{--font-primary:"Roboto",sans-serif;--font-secondary:"Arial",sans-serif;--font-size-base:16px;--font-size-sm:14px;--font-size-lg:18px;--line-height:1.5;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--color-bg:#0d0d0d;--color-bg-secondary:#1a1a1a;--color-text:#e6e6e6;--color-muted:#9a9a9a;--color-border:#333;--color-accent:#4caf50;--color-accent-hover:#66bb6a;--color-error:#f44336;--color-success:#81c784;--color-info:#64b5f6;--color-warning:#ffb74d;--shadow-soft:0 2px 4px #4caf5033}*{box-sizing:border-box}body{background-color:#0d0d0d;background-color:var(--color-bg);font-family:Roboto,sans-serif;font-family:var(--font-primary),sans-serif;font-size:16px;font-size:var(--font-size-base);line-height:1.5;line-height:var(--line-height);margin:0}body,h1,h2,h3,h4,h5,h6{color:#e6e6e6;color:var(--color-text)}h1,h2,h3,h4,h5,h6{font-family:Arial,sans-serif;font-family:var(--font-secondary),sans-serif;font-weight:600;margin:0 0 16px;margin:0 0 var(--space-md) 0}h1{font-size:2rem}h2{font-size:1.6rem}h3{font-size:1.3rem}p{margin:0}a{color:inherit;text-decoration:none}a:hover{color:#4caf50;color:var(--color-accent)}button{background-color:#4caf50;background-color:var(--color-accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Roboto,sans-serif;font-family:var(--font-primary),sans-serif;font-size:16px;font-size:var(--font-size-base);font-weight:500;padding:10px 18px;transition:background-color .2s ease,opacity .2s ease,box-shadow .2s ease}button:not(.sidebar-link):hover:not(:disabled){background-color:#66bb6a;background-color:var(--color-accent-hover)}button:disabled{cursor:not-allowed;opacity:.6}button.secondary{background:#0000;border:1px solid #333;border:1px solid var(--color-border);color:#e6e6e6;color:var(--color-text)}button.secondary:hover:not(:disabled){background-color:#1a1a1a;background-color:var(--color-bg-secondary)}button.danger{background-color:#f44336;background-color:var(--color-error)}button.danger:hover:not(:disabled){background-color:#e53935}button.small{font-size:14px;font-size:var(--font-size-sm);padding:4px 10px}button.success-outline{background:#0000;border:1px solid #4caf50;border:1px solid var(--color-accent);color:#4caf50;color:var(--color-accent)}button.success-outline:hover:not(:disabled){background:color-mix(in srgb,#4caf50 15%,#0000);background:color-mix(in srgb,var(--color-accent) 15%,#0000)}button.text-danger{background:#0000;color:#f44336;color:var(--color-error);padding:6px 10px}button.text-danger:hover{background:color-mix(in srgb,#f44336 15%,#0000);background:color-mix(in srgb,var(--color-error) 15%,#0000)}input,select,textarea{background:#1a1a1a;background:var(--color-bg-secondary);border:1px solid #333;border:1px solid var(--color-border);border-radius:4px;color:#e6e6e6;color:var(--color-text);font-family:Roboto,sans-serif;font-family:var(--font-primary),sans-serif;font-size:16px;font-size:var(--font-size-base);padding:10px;width:100%}input[type=checkbox],input[type=radio]{background:#0000;border:none;padding:0;width:auto}input[type=checkbox]{accent-color:#4caf50;accent-color:var(--color-accent);height:16px;width:16px}button:focus-visible,input:focus,select:focus,textarea:focus{border-color:#4caf50;border-color:var(--color-accent);box-shadow:0 0 0 2px #4caf5040;outline:none}.flex{display:flex}.flex-column{flex-direction:column}.flex-center{align-items:center;justify-content:center}.content{margin:0 auto;max-width:1200px;padding:0 24px;padding:0 var(--space-lg)}.grid{grid-gap:16px;grid-gap:var(--space-md);display:grid;gap:16px;gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.card{background-color:#1a1a1a;background-color:var(--color-bg-secondary);border:1px solid #333;border:1px solid var(--color-border);border-radius:6px;box-shadow:0 2px 4px #4caf5033;box-shadow:var(--shadow-soft);padding:16px;padding:var(--space-md)}table{border-collapse:collapse;width:100%}th{color:#9a9a9a;color:var(--color-muted);font-size:14px;font-size:var(--font-size-sm);font-weight:600;text-align:left}td{font-size:16px;font-size:var(--font-size-base)}td,th{border-bottom:1px solid #333;border-bottom:1px solid var(--color-border);padding:12px;padding:var(--space-sm)}tr:hover td{background-color:#1a1a1a;background-color:var(--color-bg-secondary)}.text-success{color:#81c784;color:var(--color-success)}.text-warning{color:#ffb74d;color:var(--color-warning)}.text-error{color:#f44336;color:var(--color-error)}.text-muted{color:#9a9a9a;color:var(--color-muted)}hr{border:none;border-top:1px solid #333;border-top:1px solid var(--color-border)}ul{padding-left:1.2rem}li{list-style:none}.main-content{height:100vh;overflow-y:auto}.main-header{position:sticky;top:0;z-index:900}.hamburger{background:none;border:none;font-size:24px}.hamburger,.info-box.warning{color:#e6e6e6;color:var(--color-text)}.info-box.warning{background-color:color-mix(in srgb,#ffb74d 20%,#0000);background-color:color-mix(in srgb,var(--color-warning) 20%,#0000);border:1px solid #ffb74d;border:1px solid var(--color-warning);border-radius:6px;font-size:14px;font-size:var(--font-size-sm);margin:16px 0;margin:var(--space-md) 0;padding:12px;padding:var(--space-sm)}@media (max-width:768px){.content{padding:0 16px;padding:0 var(--space-md)}button{padding:8px 14px}button,table{font-size:14px;font-size:var(--font-size-sm)}}@media (min-width:769px){.hamburger{display:none}}
/*# sourceMappingURL=main.d46908e9.css.map*/