/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--radius-sm:.25rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hidden{display:none}.table{display:table}}:root{color-scheme:light;--ink:#18201f;--muted:#62706d;--canvas:#f4f5f1;--surface:#fff;--surface-soft:#f8f9f6;--line:#dfe4df;--line-strong:#c7d0ca;--brand:#174f49;--brand-hover:#0e3d38;--brand-soft:#e8f1ef;--focus:#db8b24;--danger:#a43a31;--danger-soft:#fbefed;--warning:#9a5a13;--warning-soft:#fcf3df;--success:#2f6b4f;--success-soft:#eaf4ee;--admin:#62528b;--admin-soft:#f0edf7;--radius-sm:.45rem;--radius:.75rem;--shadow-sm:0 1px 2px #18201f0f;--shadow-panel:0 18px 48px #18201f1f}*{box-sizing:border-box}body,html{background:var(--canvas);max-width:100%;overflow-x:clip}body{color:var(--ink);text-rendering:optimizelegibility;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.95rem;line-height:1.55}a{color:var(--brand);text-underline-offset:.2em}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.035em;margin-bottom:0;font-size:clamp(1.65rem,2.4vw,2.2rem);line-height:1.15}h2{letter-spacing:-.015em;margin-bottom:.7rem;font-size:1.18rem;line-height:1.3}h3{font-size:1rem}.field-hint,small{color:var(--muted)}.app-shell{min-height:100vh;overflow-x:hidden}.app-sidebar{z-index:30;color:#f4faf7;background:#19312e;flex-direction:column;width:15.5rem;padding:1.25rem .9rem;display:flex;position:fixed;inset:0 auto 0 0}.brand,.public-brand{color:inherit;letter-spacing:-.02em;align-items:center;gap:.7rem;font-weight:760;text-decoration:none;display:flex}.desktop-brand{padding:.25rem .55rem 1.5rem;font-size:1.08rem}.brand-mark{color:#173f3a;background:#dcebe5;border-radius:.55rem;place-items:center;width:2rem;height:2rem;font:800 1rem/1 system-ui;display:inline-grid}.app-sidebar nav{gap:.2rem;display:grid}.app-sidebar nav .nav-action,.app-sidebar nav a{color:#cbd9d5;width:100%;min-height:2.65rem;font-weight:560;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.55rem;align-items:center;gap:.75rem;padding:.55rem .7rem;text-decoration:none;display:flex}.app-sidebar nav .nav-action svg,.app-sidebar nav a svg{flex:none;width:1.1rem;height:1.1rem}.app-sidebar nav .nav-action:hover,.app-sidebar nav a:hover{color:#fff;background:#ffffff12}.feedback-report-message{white-space:pre-wrap;overflow-wrap:anywhere}.feedback-detail{width:min(48rem,100vw - 2rem);max-height:calc(100vh - 2rem);overflow:auto}.qualification-employee-header{margin-bottom:1rem}.qualification-employee-header h2,.qualification-employee-header p{margin:0}.app-sidebar nav a[aria-current=page]{color:#173f3a;background:#e5f0ec;font-weight:700}.nav-current{margin-left:auto}.nav-label{color:#90aaa3;letter-spacing:.12em;text-transform:uppercase;margin:1.15rem .65rem .35rem;font-size:.68rem;font-weight:800}.sidebar-account{border-top:1px solid #ffffff1f;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;margin-top:auto;padding:.85rem .65rem 0;display:grid}.avatar{color:#174f49;background:#dcebe5;border-radius:50%;place-items:center;width:2.25rem;height:2.25rem;font-weight:800;display:grid}.account-copy{min-width:0;display:grid}.account-copy strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.account-copy small{color:#9db1ac;font-size:.72rem}.logout-button{color:#d9e5e1;background:0 0;border:1px solid #ffffff2e;grid-column:1/-1;min-height:2.35rem}.logout-button:hover{background:#ffffff14}.mobile-bar{display:none}.app-content{width:calc(100% - 15.5rem);min-width:0;max-width:112rem;min-height:100vh;margin-left:15.5rem;padding:2.2rem clamp(1.25rem,3vw,3.25rem) 4rem}.page-heading{margin-bottom:1.6rem}.eyebrow{color:var(--brand);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.4rem;font-size:.72rem;font-weight:800}.public-shell{background:radial-gradient(circle at 50% 0,#edf3ef 0,var(--canvas) 42%);place-items:center;min-height:100vh;padding:5rem 1rem 2rem;display:grid}.standalone-content{margin-inline:auto}.public-brand{color:var(--ink);position:absolute;top:1.5rem;left:clamp(1rem,4vw,3rem)}.auth-panel{border:1px solid var(--line);background:var(--surface);width:min(100%,27rem);box-shadow:var(--shadow-panel);border-radius:1rem;padding:clamp(1.5rem,5vw,2.3rem)}.auth-heading{margin-bottom:1.5rem}.auth-panel .card{box-shadow:none;border:0;padding:0}.auth-panel .form-stack+a{margin-top:.75rem;display:inline-block}button,input,select,textarea{font:inherit}button{border-radius:var(--radius-sm);background:var(--brand);color:#fff;cursor:pointer;border:1px solid #0000;min-height:2.65rem;padding:.56rem .9rem;font-weight:700;transition:background .15s,border-color .15s,transform .1s}button:hover:not(:disabled){background:var(--brand-hover)}button svg{vertical-align:-.15em;width:1rem;height:1rem}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:wait}.secondary-button{border-color:var(--line-strong);background:var(--surface);color:var(--ink)}.secondary-button:hover:not(:disabled){border-color:var(--brand);background:var(--brand-soft)}.danger-button{background:var(--danger)}.icon-button{border-color:var(--line);background:var(--surface);width:2.65rem;color:var(--ink);place-items:center;padding:0;display:inline-grid}.icon-button svg{width:1.15rem}.icon-button:hover:not(:disabled){background:var(--brand-soft);color:var(--brand)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);margin:1rem 0;padding:1.1rem}.card-list{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.8rem;display:grid}.card-list .card{gap:.4rem;margin:0;display:grid}.section-heading{justify-content:space-between;align-items:start;gap:1rem;margin:1rem 0;display:flex}.section-heading p{color:var(--muted);margin-bottom:0}.section-heading svg{width:2rem;color:var(--brand)}.section-divider{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.5rem}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.form-actions{flex-wrap:wrap;gap:.5rem;display:flex}.choice-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);grid-template-columns:auto 1fr;align-items:start;padding:.75rem}.choice-row input{width:1.2rem;min-height:1.2rem;margin-top:.2rem}.choice-row span{display:grid}.choice-row small{font-weight:500}.form-stack{gap:.9rem;max-width:42rem;display:grid}label{gap:.35rem;font-size:.86rem;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;min-height:2.7rem;color:var(--ink);background:#fff;padding:.55rem .7rem}textarea{min-height:6rem}input[aria-invalid=true]{border-color:var(--danger)}.field-error,.field-hint{font-size:.78rem;font-weight:500}.action-unavailable,.field-error{color:var(--danger);font-weight:650}.success-message{border-left:3px solid var(--success);background:var(--success-soft);padding:.75rem}.feedback{min-height:0;margin:.5rem 0}.feedback:not(:empty),[role=status]:not(:empty){color:var(--muted)}.permission-skeleton{gap:1rem;max-width:64rem;display:grid}.skeleton-card,.skeleton-line,.skeleton-panel{border-radius:var(--radius-sm);background:#e7ebe7;display:block;overflow:hidden}.skeleton-card:after,.skeleton-line:after,.skeleton-panel:after{content:"";background:linear-gradient(90deg,#0000,#ffffffa6,#0000);width:45%;height:100%;animation:skeleton-shimmer 1.25s ease-in-out infinite;display:block}.permission-title{width:14rem;height:1.6rem}.skeleton-panel{min-height:9rem}.availability-skeleton{margin-top:1rem}.scope-note{border-left:3px solid var(--brand);background:var(--brand-soft);color:#294945;padding:.85rem 1rem}.empty-state,.error-state,.loading-state{color:var(--muted);text-align:center;padding:1.25rem}.conflict{border-color:#d8a19b}.conflict,.conflict-confirm{background:var(--danger-soft)}.conflict-confirm{border:2px solid var(--danger);padding:.75rem}.conflict-confirm input{width:1.25rem;min-height:1.25rem}.historical{opacity:.65}.availability-intro{border-left:3px solid var(--brand);background:var(--brand-soft);gap:.9rem;max-width:46rem;padding:1rem;display:flex}.availability-intro>svg{width:1.25rem;color:var(--brand);flex:none}.availability-intro h2{margin-bottom:.2rem}.availability-intro p{color:#385753;margin-bottom:0}.availability-form{margin-block:1.5rem 2rem}.availability-icon{background:var(--brand-soft);width:2rem;height:2rem;color:var(--brand);border-radius:50%;place-items:center;display:grid}.availability-icon svg{width:1rem}.availability-time{color:var(--muted);align-items:center;gap:.35rem;display:flex}.availability-time svg{width:.9rem}.user-table-wrap{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;overflow-x:auto}.user-table{border-collapse:collapse;table-layout:fixed;width:100%}.user-table td,.user-table th{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:.75rem}.user-table thead th{background:var(--surface-soft);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem}.user-table thead th:first-child{width:16%}.user-table thead th:nth-child(2){width:22%}.user-table thead th:nth-child(3){width:29%}.user-table thead th:nth-child(4),.user-table thead th:nth-child(5){width:12%}.user-table thead th:nth-child(6){width:4rem}.user-table tbody tr:last-child>*{border-bottom:0}.user-table-action{text-align:right!important}.user-avatar{background:var(--brand-soft);width:2.5rem;height:2.5rem;color:var(--brand);border-radius:50%;place-items:center;display:grid}.user-avatar svg{width:1.15rem}.user-summary{min-width:0;display:grid}.role-label,.user-summary span{color:var(--muted);align-items:center;gap:.3rem;font-size:.78rem;display:flex}.role-label svg,.user-summary svg{width:.8rem}.user-statuses{align-items:center;gap:.65rem;display:flex}.qualification-chips{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.qualification-chip{background:var(--surface-soft);color:var(--ink);border-radius:999px;padding:.2rem .45rem;font-size:.75rem;font-weight:700}.qualification-empty{color:var(--muted);font-size:.78rem}.icon-action{place-items:center;width:44px;min-height:44px;padding:0;display:inline-grid}.status-badge.is-active{background:var(--success-soft);color:var(--success)}.status-badge.is-inactive{background:var(--danger-soft);color:var(--danger)}.row-action{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.45rem .65rem;font-weight:700;text-decoration:none}.admin-advanced{margin-top:1.75rem}.profile-section{max-width:44rem;margin-bottom:2.5rem}.profile-section+.profile-section{border-top:1px solid var(--line);padding-top:1.5rem}.current-email{overflow-wrap:anywhere}.position-summary{justify-content:space-between;align-items:start;gap:1rem;display:flex}.position-summary h2{margin-bottom:.15rem}.position-summary span{color:var(--muted)}.settings-form{max-width:38rem}.notification-flow{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.notification-flow>div{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:.65rem;padding:.75rem;display:flex}.notification-flow>div>strong{background:var(--brand);color:#fff;border-radius:50%;place-items:center;width:1.75rem;height:1.75rem;display:grid}.notification-flow span{color:var(--muted);font-size:.8rem;display:grid}.notification-flow b{color:var(--ink)}.settings-explanation{color:var(--muted)}.help-page{max-width:58rem}.help-intro{max-width:44rem;color:var(--muted);margin-bottom:1.4rem;font-size:1.05rem}.help-sections{gap:1rem;display:grid}.help-card,.help-faq{margin:0}.help-section-heading{margin:0 0 .75rem}.help-section-heading svg{flex:none}.help-section-content{max-width:48rem}.help-section-content h3{margin:1.15rem 0 .3rem}.help-section-content h3:first-child{margin-top:0}.help-section-content ol:last-child,.help-section-content p:last-child{margin-bottom:0}.help-section-content ol{padding-left:1.35rem}.help-example{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);gap:.1rem;width:min(100%,20rem);margin-top:1rem;padding:.75rem .9rem;display:grid}.help-example span{color:var(--muted)}.help-example b{color:var(--brand);letter-spacing:.04em;font-size:.82rem}.help-faq{margin-top:1rem}.help-faq details:first-of-type{border-top:0}.help-contact{margin:2rem 0 1rem}.help-contact p:last-child{margin-bottom:0}.inline-link{min-height:auto;color:var(--brand);font:inherit;text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;border-radius:0;padding:0;text-decoration:underline;display:inline}.current-state>h2,.future-state>h2,.historical>h2{margin-top:1.5rem}details{border-top:1px solid var(--line);margin:.8rem 0}summary{cursor:pointer;min-height:2.8rem;padding:.8rem 0;font-weight:750}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:.75rem}th{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem}.table-scroll{overflow-x:auto}.schedule-toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.25rem;padding:.7rem 0;display:flex}.week-title{display:grid}.week-title span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700}.week-title strong{font-variant-numeric:tabular-nums;font-size:1.05rem}.week-badge{border:1px solid var(--border);background:var(--surface-raised,#fff);width:fit-content;color:var(--text-muted);border-radius:999px;margin-top:.35rem;padding:.2rem .55rem;font-size:.78rem;font-weight:700;display:inline-flex}.week-nav{gap:.4rem;display:flex}.today-button{min-height:2.65rem}.week-grid{grid-template-columns:repeat(7,minmax(9.5rem,1fr));gap:.55rem;padding-top:.8rem;display:grid;overflow-x:auto}.day-column{min-width:9.5rem}.day-heading{border-bottom:2px solid var(--line);margin-bottom:.6rem;padding:.1rem .35rem .55rem;display:grid;position:relative}.day-heading-content{min-width:0;display:grid}.day-heading-content>span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:700}.day-heading-content>strong{font-size:.9rem}.day-heading em{color:var(--brand);text-transform:uppercase;font-size:.66rem;font-style:normal;font-weight:800;position:absolute;bottom:.55rem;right:.2rem}.day-column.is-today .day-heading{border-color:var(--brand)}.day-empty{color:var(--muted);padding:1rem .35rem;font-size:.82rem}.shift-card{border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--ink);border:1px solid var(--line);border-left:3px solid #81928d;gap:.45rem;margin-bottom:.55rem;padding:.75rem;display:grid;position:relative}.shift-card-header{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.shift-time{font-variant-numeric:tabular-nums;align-items:center;gap:.3rem;font-size:.78rem;font-weight:750;display:inline-flex}.qualification-chip svg,.responsible-name svg,.shift-time svg{flex:none;width:.9rem;height:.9rem}.shift-title{font-size:.95rem;line-height:1.25}.responsible-name{align-items:center;gap:.35rem;font-size:.88rem;font-weight:700;display:flex}.responsibility-note{color:var(--muted);font-size:.74rem;line-height:1.4}.qualification-chip{width:fit-content;color:var(--muted);align-items:center;gap:.25rem;font-size:.7rem;font-weight:650;display:inline-flex}.qualification-chip strong{color:var(--ink);font-weight:750}.status-badge{color:#50615d;background:#eff2ef;border-radius:999px;align-items:center;gap:.22rem;width:fit-content;padding:.13rem .38rem;font-size:.64rem;font-weight:800;line-height:1.35;display:inline-flex}.status-badge svg{width:.72rem;height:.72rem}.status-free{border-left-color:var(--danger)}.status-free .status-badge{background:var(--danger-soft);color:var(--danger)}.status-searching{border-left-color:var(--warning)}.status-searching .status-badge{background:var(--warning-soft);color:var(--warning)}.status-replacement,.status-temporary{border-left-color:var(--success)}.status-replacement .status-badge,.status-temporary .status-badge{background:var(--success-soft);color:var(--success)}.status-admin{border-left-color:var(--admin)}.status-admin .status-badge{background:var(--admin-soft);color:var(--admin)}.schedule-skeleton{gap:.65rem;display:grid}.skeleton-day{width:70%;height:2.5rem}.skeleton-card{height:9rem}.skeleton-card.short{height:6rem}.shift-actions{gap:.35rem;margin-top:.15rem;display:grid}.shift-actions button{min-height:2.35rem;padding:.42rem .55rem;font-size:.75rem}.manage-shift{width:100%;min-height:2.3rem;margin-top:.15rem;padding:.4rem;font-size:.75rem}.schedule-plan{min-width:0;padding-top:.8rem;overflow-x:hidden}.dense-plan-scroll{contain:inline-size;overscroll-behavior-inline:contain;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-sm);overflow:auto hidden}.dense-plan{grid-template-columns:6rem repeat(7,minmax(5.5rem,1fr));width:100%;min-width:44.5rem;display:grid}.plan-row{display:contents}.dense-plan .day-heading,.plan-cell,.plan-corner,.plan-group-label{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.plan-corner,.plan-group-label{z-index:3;background:var(--surface-soft);position:sticky;left:0}.plan-corner{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-items:end;padding:.65rem .7rem;font-size:.68rem;font-weight:800;display:flex}.plan-group-label{color:var(--ink);overflow-wrap:anywhere;padding:.7rem;font-size:.78rem;font-weight:800}.dense-plan .day-heading{background:var(--surface-soft);border-bottom-width:1px;min-width:0;margin:0;padding:.55rem .6rem}.dense-plan .day-heading.is-today{background:#6d8fa6}@supports (color:color-mix(in lab,red,red)){.dense-plan .day-heading.is-today{background:color-mix(in srgb,#6d8fa6 9%,var(--surface-soft))}}.dense-plan .day-heading.is-today{box-shadow:inset 0 3px var(--brand)}.plan-cell{background:var(--surface);align-content:start;gap:.2rem;min-width:0;padding:.28rem;display:grid}.plan-cell.is-today{background:#6d8fa6}@supports (color:color-mix(in lab,red,red)){.plan-cell.is-today{background:color-mix(in srgb,#6d8fa6 8%,var(--surface))}}.empty-cell{color:#a1aaa6;text-align:center;padding:.45rem}.compact-shift{background:var(--surface);width:100%;min-height:2.55rem;color:var(--ink);text-align:left;border:1px solid #c7d1cc;border-left-width:3px;border-radius:.32rem;grid-template-columns:2.7rem minmax(0,1fr) auto;align-items:center;gap:.35rem;padding:.28rem .38rem;display:grid;box-shadow:0 1px 2px #122b2714}.compact-shift:hover{background:#edf1ee;border-color:#aebbb6;transform:none}.compact-shift:focus-visible{z-index:2;position:relative}.compact-shift-time{font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:850}.compact-shift-owner{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.75rem;font-weight:700;overflow:hidden}.compact-shift-status{display:inline-flex}.compact-shift-status svg{width:.78rem;height:.78rem}.compact-state-text{letter-spacing:.02em;text-transform:uppercase;grid-column:2/-1;margin-top:-.28rem;font-size:.61rem;font-weight:850}.compact-status-attention{border-left-color:var(--danger);background:var(--danger-soft);color:#8d2f35}.compact-status-attention:hover{background:#f9dddd;border-color:#c65b62}.compact-status-temporary{color:#715112;background:#fff4cf;border-left-color:#b27d16}.compact-status-temporary:hover{background:#ffedb2;border-color:#bf8a23}.mobile-plan{display:none}.shift-detail-dialog{z-index:2;border-radius:var(--radius);background:var(--surface);width:min(32rem,100vw - 2rem);max-height:calc(100vh - 2rem);box-shadow:var(--shadow-panel);padding:1.2rem;position:relative;overflow-y:auto}.shift-detail-header,.shift-detail-summary{justify-content:space-between;align-items:center;gap:1rem;display:flex}.shift-detail-header h2{margin:.15rem 0 0;font-size:1.25rem}.shift-detail-summary{border-block:1px solid var(--line);flex-wrap:wrap;margin-top:1rem;padding:.75rem 0}.shift-detail-summary>span{align-items:center;gap:.4rem;display:inline-flex}.shift-detail-summary svg{width:1rem;height:1rem}.detail-status{border-radius:999px;padding:.25rem .45rem;font-size:.72rem;font-weight:800}.shift-detail-list{gap:0;margin:.65rem 0;display:grid}.shift-detail-list>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(8rem,.7fr) 1fr;gap:.75rem;padding:.55rem 0;display:grid}.shift-detail-list dt{color:var(--muted);font-size:.76rem;font-weight:700}.shift-detail-list dd{margin:0;font-size:.82rem;font-weight:750}.shift-detail-actions{flex-wrap:wrap;gap:.5rem;padding-top:.55rem;display:flex}.shift-detail-actions button{min-height:2.75rem}.detail-no-action{color:var(--muted);font-size:.8rem}.dense-plan-skeleton{border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:repeat(4,1fr);gap:.5rem;padding:.75rem;display:grid}.selected-shift{border-top:4px solid var(--brand);box-shadow:var(--shadow-panel);scroll-margin-top:1rem}.shift-drawer-layer{z-index:60;position:fixed;inset:0}.dialog-layer{z-index:70;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.dialog-backdrop{background:#0b181680;border-radius:0;width:100%;height:100%;position:absolute;inset:0}.confirmation-dialog{border-radius:var(--radius);background:var(--surface);width:min(100%,28rem);box-shadow:var(--shadow-panel);padding:1.5rem;position:relative}.dialog-icon{background:var(--brand-soft);width:2.5rem;height:2.5rem;color:var(--brand);border-radius:50%;place-items:center;margin-bottom:1rem;display:grid}.dialog-icon svg{width:1.2rem}.confirmation-dialog p{color:var(--muted)}.deactivation-dialog{width:min(100%,46rem);max-height:calc(100vh - 2rem);overflow-y:auto}.deactivation-effective-date{margin-block:.9rem}.deactivation-preview-section{border-top:1px solid var(--line);margin-top:1rem;padding-top:.85rem}.deactivation-preview-section h3{margin:0;font-size:.95rem}.deactivation-preview-section ul{gap:.45rem;margin:.7rem 0 0;padding-left:1.15rem;display:grid}.deactivation-preview-section li{font-size:.85rem}.deactivation-preview-section small{color:var(--muted);margin-top:.15rem;display:block}.dialog-actions{justify-content:flex-end;gap:.5rem;margin-top:1.4rem;display:flex}.drawer-backdrop{background:#0b18167a;border-radius:0;width:100%;height:100%;position:absolute;inset:0}.shift-drawer{background:var(--surface);width:min(34rem,100%);height:100%;box-shadow:var(--shadow-panel);padding:1.4rem;position:absolute;top:0;right:0;overflow-y:auto}.drawer-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.shift-context{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.shift-context svg{width:1rem}.shift-context svg:nth-of-type(2){margin-left:.55rem}.shift-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0;display:grid}.shift-facts>div{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);padding:.7rem}.shift-facts dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:700}.shift-facts dd{margin:.15rem 0 0;font-weight:750}.danger-zone{border-radius:var(--radius-sm);background:var(--danger-soft);border:1px solid #e2b1ac;margin-top:.5rem;padding:1rem}.drawer-action-row{flex-wrap:wrap;gap:.55rem;margin-top:.7rem;display:flex}.drawer-action-row .danger-button{min-height:2.5rem;padding-inline:.7rem;font-size:.85rem}.drawer-action-row .position-remove-button{border-color:#9f393f}.repeat-choice{gap:.35rem;display:grid}.repeat-choice .choice-row{min-height:44px}.day-create-button{place-self:center end;font-size:1.3rem;line-height:1}.dense-plan .day-heading:has(.day-create-button){grid-template-columns:minmax(0,1fr) auto;align-items:center}.create-position-drawer>.card{box-shadow:none;border:0}.settings-section+.settings-section{border-top:1px solid var(--line);margin-top:.6rem;padding-top:1.2rem}.form-wide-hint{grid-column:1/-1}.concrete-scope{margin-block:1rem 1.5rem}.drawer-section{border-top:1px solid var(--line);padding-block:1.2rem}.permanent-choice{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);cursor:pointer;grid-template-columns:2.75rem minmax(0,1fr);align-items:center;min-height:44px;padding:.35rem .55rem;display:grid}.permanent-choice input{width:1.25rem;min-height:1.25rem;margin:0 auto}.permanent-choice span{gap:.15rem;display:grid}.permanent-choice small{font-weight:500}.permanent-choice:focus-within{outline:3px solid var(--brand)}@supports (color:color-mix(in lab,red,red)){.permanent-choice:focus-within{outline:3px solid color-mix(in srgb,var(--brand) 35%,transparent)}}.permanent-choice:focus-within{outline-offset:2px}.recurring-section{border-top:4px solid var(--ink);margin-top:3.5rem;padding-top:2rem}.recurring-scope{max-width:52rem}.history-list{gap:.6rem;padding-left:1.5rem;display:grid}.history{background:var(--surface-soft);max-height:24rem;padding:.75rem;overflow:auto}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (min-width:1500px){.week-grid{grid-template-columns:repeat(7,1fr)}}@media (max-width:1024px){.app-sidebar{width:13.5rem}.app-content{width:calc(100% - 13.5rem);margin-left:13.5rem;padding-inline:1.4rem}.week-grid{grid-template-columns:repeat(4,minmax(12rem,1fr))}}@media (max-width:820px){body{font-size:.94rem}.mobile-bar{z-index:25;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f5f1f0;justify-content:space-between;align-items:center;min-height:3.75rem;padding:.65rem 1rem;display:flex;position:sticky;top:0}.app-sidebar{width:min(19rem,88vw);box-shadow:var(--shadow-panel);transition:transform .2s;transform:translate(-105%)}.app-sidebar.is-open{transform:translate(0)}.desktop-brand{display:none}.nav-backdrop{z-index:29;background:#0a14126b;border-radius:0;width:100%;height:100%;position:fixed;inset:0}.app-content{width:100%;margin-left:0;padding:1.35rem 1rem 3.5rem}.page-heading{margin-bottom:1.2rem}.schedule-toolbar{align-items:flex-end}.today-button{width:auto}.week-grid{display:block;overflow:visible}.desktop-plan{display:none}.mobile-plan{display:block}.mobile-day{margin-bottom:1.35rem}.mobile-day>.day-heading{z-index:auto;border-color:var(--line-strong);margin-bottom:.45rem;position:static}.mobile-day>.day-heading.is-today{border-color:var(--brand)}.mobile-day.is-today{border-radius:var(--radius-sm);box-shadow:inset 3px 0 var(--brand);background:#6d8fa617;padding:.35rem}.mobile-group{margin-bottom:.65rem}.mobile-group h3{color:var(--muted);text-transform:uppercase;letter-spacing:.055em;margin:0;padding:.35rem .25rem;font-size:.7rem;font-weight:850}.mobile-group-shifts{gap:.25rem;display:grid}.compact-shift{grid-template-columns:3.15rem minmax(0,1fr) auto;min-height:2.85rem;padding-inline:.55rem}.compact-shift-owner,.compact-shift-time{font-size:.82rem}.shift-detail-dialog{border-radius:var(--radius) var(--radius) 0 0;align-self:end;width:100%;max-height:min(86vh,44rem)}.shift-detail-list>div{grid-template-columns:1fr;gap:.15rem}.shift-detail-actions,.shift-detail-actions button{width:100%}.day-column{min-width:0;margin-bottom:1.4rem}.day-heading{z-index:5;background:var(--canvas);grid-template-columns:1fr auto;align-items:end;padding:.55rem .25rem;position:sticky;top:3.7rem}.day-heading-content{grid-column:1}.day-heading em{bottom:.6rem;right:.25rem}.shift-card{padding:.9rem}.shift-card-header{justify-content:space-between}.card-list,.form-row,.notification-flow,.shift-actions{grid-template-columns:1fr}.drawer-action-row{display:grid}.user-table-wrap{background:0 0;border:0;overflow:visible}.user-table,.user-table tbody,.user-table td,.user-table th,.user-table tr{width:100%;display:block}.user-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.user-table tbody{gap:.75rem;display:grid}.user-table tbody tr{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:.55rem}.user-table tbody td,.user-table tbody th{border:0;grid-template-columns:8.5rem minmax(0,1fr);gap:.5rem;padding:.45rem;display:grid}.user-table tbody td:before,.user-table tbody th:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;font-size:.7rem;font-weight:800}.user-table-action{text-align:left!important}.public-shell{align-items:start;padding-top:5.5rem}.auth-panel{box-shadow:var(--shadow-sm)}}@media (max-width:390px){.schedule-toolbar{flex-direction:column;align-items:stretch}.week-nav{justify-content:space-between}.today-button{flex:1}.auth-panel{padding:1.25rem}}@media (pointer:coarse){.app-sidebar nav a,button,summary{min-height:44px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.checkbox-list{grid-template-columns:1fr;gap:.55rem;display:grid}.checkbox-list label,.scope-choice{flex-direction:row;align-items:center;gap:.55rem;display:flex}.checkbox-list label{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);cursor:pointer;min-height:44px;padding:.3rem .45rem}.checkbox-list input{width:1.05rem;height:1.05rem;margin:0}.checkbox-list label:focus-within{outline:3px solid var(--brand)}@supports (color:color-mix(in lab,red,red)){.checkbox-list label:focus-within{outline:3px solid color-mix(in srgb,var(--brand) 35%,transparent)}}.checkbox-list label:focus-within{outline-offset:2px}.checkbox-list label.is-unavailable{cursor:not-allowed;opacity:.68}.checkbox-list label>small{margin-left:auto}.scope-choice{flex-wrap:wrap;align-items:flex-start}.scope-choice small{flex-basis:100%;padding-left:1.6rem}.admin-status-actions,.button-row{flex-wrap:wrap;gap:.75rem;display:flex}.admin-status-actions>*{flex:18rem}.invite-form{grid-template-columns:minmax(16rem,1fr) auto;align-items:end;gap:.75rem;display:grid}.invite-toast{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:50;justify-content:space-between;align-items:start;gap:1rem;padding:1rem;display:flex;position:fixed;top:1.25rem;right:1.25rem}.invite-toast div{gap:.2rem;display:grid}.invite-toast button{min-width:2.75rem;min-height:2.75rem}@media (max-width:640px){.invite-form{grid-template-columns:1fr}.invite-toast{left:1rem;right:1rem}}@keyframes skeleton-shimmer{0%{transform:translate(-120%)}to{transform:translate(240%)}}