.calendar-preview{min-width:0}.calendar-preview p,.calendar-preview li,.calendar-preview code{overflow-wrap:anywhere}.calendar-preview input[type=file]{max-width:100%}.calendar-preview details{margin-top:var(--space-4,1rem)}:root{--font-sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--color-bg:#f4f7fb;--color-surface:#fff;--color-surface-muted:#f8fafc;--color-surface-strong:#eef3f8;--color-text:#172033;--color-text-muted:#5f6f82;--color-text-soft:#7c8998;--color-border:#dbe3ec;--color-border-strong:#cbd6e2;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-soft:#eef5ff;--color-primary-border:#cbdcff;--color-success:#18794e;--color-success-soft:#eaf8f0;--color-success-border:#c8ead7;--color-warning:#8a6100;--color-warning-soft:#fff7df;--color-warning-border:#f0dfa7;--color-danger:#b42318;--color-danger-hover:#912018;--color-danger-soft:#fff0ee;--color-danger-border:#f0c7c2;--shadow-card:0 8px 28px #17203312;--shadow-modal:0 24px 80px #17203338;--focus-ring:0 0 0 4px #2563eb2e;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--text-sm:.875rem;--text-base:1.0625rem;--text-lg:1.1875rem;--text-xl:1.375rem;--text-2xl:clamp(1.75rem, 4vw, 2.25rem);--control-height:52px;--control-height-sm:48px;--sidebar-width:276px;--content-max:1180px}*{box-sizing:border-box}html{background:var(--color-bg);min-width:0;color:var(--color-text);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;font-size:16px}body{background:var(--color-bg);min-width:0;min-height:100vh;color:var(--color-text);font-size:var(--text-base);margin:0;line-height:1.55}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.62}:is(button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible){box-shadow:var(--focus-ring);outline:none}h1,h2,h3,p{margin-top:0}h1{margin-bottom:var(--space-3);font-size:var(--text-2xl);letter-spacing:-.025em;line-height:1.15}h2{font-size:var(--text-xl);line-height:1.25}code,.mono{font-family:var(--font-mono)}code{background:var(--color-surface-strong);border-radius:6px;padding:2px 6px;font-size:.92em}.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}.centered-page{min-height:100vh;padding:var(--space-6);place-items:center;display:grid}.btn{min-height:var(--control-height);border-radius:var(--radius-md);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:750;line-height:1.2;transition:background .12s,border-color .12s,transform .12s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn-small{min-height:var(--control-height-sm);padding-inline:16px;font-size:.96rem}.btn-full{width:100%}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled),.btn-ghost:hover:not(:disabled){background:var(--color-surface-strong)}.btn-ghost{color:var(--color-text);background:0 0}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover)}.field{gap:8px;display:grid}.field-label{color:var(--color-text);font-weight:750}.input,.select{width:100%;min-height:var(--control-height);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);padding:0 15px;font-size:1rem;transition:border-color .12s,box-shadow .12s}.select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--color-text-muted) 50%), linear-gradient(135deg, var(--color-text-muted) 50%, transparent 50%);background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px;background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:44px}.input:hover,.select:hover{border-color:#aebdcd}.input:focus,.select:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:none}.input.is-invalid,.select.is-invalid{border-color:var(--color-danger)}.field-hint,.field-error{font-size:.9375rem;line-height:1.4}.field-hint{color:var(--color-text-muted)}.field-error{color:var(--color-danger);font-weight:650}.ui-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-card);overflow:hidden}.card-header{padding:var(--space-6) var(--space-6) 0;justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.card-title{margin:0}.card-description{color:var(--color-text-muted);margin:7px 0 0;font-size:.98rem}.card-actions{flex:none}.card-body{min-width:0;padding:var(--space-6)}.status-badge{border:1px solid var(--color-border);background:var(--color-surface-strong);color:#45566b;overflow-wrap:anywhere;border-radius:999px;justify-content:center;align-items:center;max-width:100%;min-height:34px;padding:6px 11px;font-size:.9rem;font-weight:750;line-height:1.2;display:inline-flex}.badge-success{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success-border)}.badge-info{background:var(--color-primary-soft);color:var(--color-primary-hover);border-color:var(--color-primary-border)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning);border-color:var(--color-warning-border)}.badge-danger{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger-border)}.alert{border-radius:var(--radius-md);border:1px solid;align-items:flex-start;gap:12px;padding:15px 16px;display:flex}.alert strong{line-height:1.35;display:block}.alert-copy{color:inherit;opacity:.92;margin-top:4px;font-size:.97rem}.alert-mark{background:#ffffffb8;border-radius:50%;flex:0 0 26px;place-items:center;width:26px;height:26px;font-weight:850;display:grid}.alert-info{background:var(--color-primary-soft);color:#1748a8;border-color:var(--color-primary-border)}.alert-success{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success-border)}.alert-warning{background:var(--color-warning-soft);color:var(--color-warning);border-color:var(--color-warning-border)}.alert-danger{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger-border)}.request-id{font-family:var(--font-mono);margin-top:6px;font-size:.86rem;display:block}.modal-backdrop{z-index:100;background:#0f172a6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-xl);width:min(520px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow-modal);padding:var(--space-6);overflow:auto}.modal-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.modal-head h2{margin:0}.icon-button{background:var(--color-surface-strong);width:48px;height:48px;color:var(--color-text);border:0;border-radius:12px;flex:0 0 48px;font-size:1.6rem;line-height:1}.modal-copy{margin-top:var(--space-4);color:var(--color-text-muted)}.modal-actions{margin-top:var(--space-6);flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;overflow-x:auto}.data-table{border-collapse:collapse;background:var(--color-surface);width:100%;font-size:.98rem}.data-table th,.data-table td{border-bottom:1px solid var(--color-border);vertical-align:middle;min-height:48px;padding:14px 16px}.data-table th{background:var(--color-surface-strong);color:#3b4c61;text-align:left;font-weight:800}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfdff}.align-right{text-align:right!important}.align-center{text-align:center!important}.state-box{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-muted);flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;min-height:132px;padding:22px;display:flex}.state-box p{color:var(--color-text-muted);margin:0;font-size:.96rem}.state-mark{background:var(--color-surface-strong);width:36px;height:36px;color:var(--color-text-muted);border-radius:50%;place-items:center;font-weight:800;display:grid}.spinner{border:3px solid var(--color-primary-border);border-top-color:var(--color-primary);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--color-border);background:#fffffff5;flex-direction:column;gap:24px;height:100vh;padding:22px 18px;display:flex;position:sticky;top:0}.brand{min-height:58px;color:var(--color-text);text-align:left;background:0 0;border:0;border-radius:14px;align-items:center;gap:12px;padding:6px;display:flex}.brand:hover{background:var(--color-surface-muted)}.brand>span:last-child{gap:1px;display:grid}.brand strong{font-size:1.08rem}.brand small{color:var(--color-text-muted);font-size:.82rem}.brand-mark{background:var(--color-primary);color:#fff;letter-spacing:.02em;border-radius:14px;flex:0 0 46px;place-items:center;width:46px;height:46px;font-size:.88rem;font-weight:850;display:grid}.sidebar-nav{gap:8px;display:grid}.nav-item{border-radius:var(--radius-md);width:100%;min-height:52px;color:var(--color-text-muted);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:11px;padding:8px 10px;font-weight:700;display:flex}.nav-item:hover{background:var(--color-surface-muted);color:var(--color-text)}.nav-item.is-active{background:var(--color-primary-soft);border-color:var(--color-primary-border);color:var(--color-primary-hover)}.nav-mark{background:var(--color-surface-strong);width:32px;height:32px;color:var(--color-text-muted);border-radius:10px;flex:0 0 32px;place-items:center;font-size:.84rem;font-weight:850;display:grid}.nav-item.is-active .nav-mark{background:var(--color-primary);color:#fff}.sidebar-footer{gap:14px;margin-top:auto;display:grid}.session-summary{border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:center;gap:10px;padding:12px;display:flex}.avatar{background:var(--color-surface-strong);width:40px;height:40px;color:var(--color-text-muted);border-radius:50%;flex:0 0 40px;place-items:center;font-weight:850;display:grid}.session-summary>span:last-child{min-width:0;display:grid}.session-summary strong,.session-summary small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-summary small{color:var(--color-text-muted);font-size:.82rem}.shell-main{min-width:0}.content{width:min(var(--content-max), calc(100% - 48px));margin:0 auto;padding:42px 0 56px}.mobile-header,.mobile-nav{display:none}.page-stack{gap:22px;min-width:0;display:grid}.page-stack>*{min-width:0}.page-heading{justify-content:space-between;align-items:flex-start;gap:22px;display:flex}.page-heading>div{min-width:0}.page-heading p:last-child{color:var(--color-text-muted);max-width:760px;margin:0}.eyebrow{color:var(--color-primary-hover);letter-spacing:.08em;margin:0 0 8px;font-size:.82rem;font-weight:850;line-height:1.3}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.metric-value{letter-spacing:-.02em;font-size:1.7rem;font-weight:850;line-height:1.2}.metric-success{color:var(--color-success)}.metric-danger{color:var(--color-danger)}.muted{color:var(--color-text-muted)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.break-word{overflow-wrap:anywhere}.principles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.principles-grid>div{border-radius:var(--radius-md);background:var(--color-surface-muted);align-content:start;gap:7px;min-height:112px;padding:18px;display:grid}.principles-grid span{color:var(--color-text-muted);font-size:.96rem}.two-column-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.detail-list{gap:16px;margin:0;display:grid}.detail-list>div{border-bottom:1px solid var(--color-border);padding-bottom:16px}.detail-list>div:last-child{border-bottom:0;padding-bottom:0}.detail-list dt{color:var(--color-text-muted);font-size:.9rem;font-weight:700}.detail-list dd{margin:5px 0 0;font-size:.95rem}.badge-list,.component-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.component-row+.component-row{margin-top:18px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px;display:grid}.stack-sm{gap:12px;display:grid}.states-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.login-page{background:radial-gradient(circle at 18% 12%, #2563eb14, transparent 30%), var(--color-bg);place-items:center;min-height:100vh;padding:28px 20px;display:grid}.login-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:min(520px,100%);padding:clamp(26px,5vw,40px);box-shadow:0 16px 48px #17203317}.login-brand{align-items:center;gap:14px;display:flex}.brand-mark-large{border-radius:16px;flex-basis:54px;width:54px;height:54px}.login-brand>div{display:grid}.login-brand strong{font-size:1.12rem}.login-brand span:last-child{color:var(--color-text-muted);font-size:.88rem}.login-copy{margin-top:34px}.login-copy p:last-child{color:var(--color-text-muted);margin-bottom:0}.segmented-control{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:24px;padding:4px;display:grid}.segmented-control button{min-height:48px;color:var(--color-text-muted);background:0 0;border:0;border-radius:10px;font-weight:750}.segmented-control button.is-active{background:var(--color-surface);color:var(--color-primary-hover);box-shadow:0 2px 8px #17203314}.auth-mode-control{grid-template-columns:repeat(3,minmax(0,1fr))}.auth-mode-control button{padding:9px 10px;line-height:1.2}.login-panel>.alert{margin-top:18px}.login-form{gap:18px;margin-top:22px;display:grid}.login-help{color:var(--color-text-muted);text-align:center;margin:20px 0 0;font-size:.91rem}@media (max-width:980px){.app-shell{display:block}.sidebar{display:none}.mobile-header{border-bottom:1px solid var(--color-border);z-index:20;background:#fffffff7;justify-content:space-between;align-items:center;gap:12px;height:72px;padding:10px 18px;display:flex;position:sticky;top:0}.brand-mobile{min-height:48px;padding:2px}.brand-mobile .brand-mark{border-radius:12px;flex-basis:40px;width:40px;height:40px;font-size:.78rem}.content{width:min(var(--content-max), calc(100% - 32px));padding:28px 0 168px}.mobile-nav{left:12px;right:12px;bottom:max(10px, env(safe-area-inset-bottom));z-index:30;border:1px solid var(--color-border);background:#fffffff7;border-radius:20px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-height:70px;padding:7px;display:grid;position:fixed;box-shadow:0 12px 36px #17203329}.nav-item-mobile{text-align:center;flex-direction:column;justify-content:center;gap:3px;min-height:56px;padding:5px 4px;font-size:.79rem}.nav-item-mobile .nav-mark{border-radius:8px;flex-basis:27px;width:27px;height:27px;font-size:.72rem}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid>:last-child{grid-column:span 2}.form-grid,.states-grid{grid-template-columns:1fr}}@media (max-width:700px){body{font-size:1rem}.content{width:min(100% - 24px, var(--content-max));padding-top:22px}.page-stack{gap:16px}.page-heading{gap:12px;display:grid}.page-heading>.status-badge{justify-self:start}.metric-grid,.two-column-grid,.principles-grid{grid-template-columns:1fr}.metric-grid>:last-child{grid-column:auto}.card-header{padding:20px 18px 0;display:grid}.card-body{padding:18px}.card-actions{width:100%}.component-row{align-items:stretch}.component-row .btn{flex:180px}.modal-backdrop{align-items:end;padding:12px}.modal{border-radius:22px;width:100%}.modal-actions{grid-template-columns:1fr;display:grid}.modal-actions .btn{width:100%}.table-wrap{border:0;overflow:visible}.data-table,.data-table thead,.data-table tbody,.data-table tr,.data-table td{width:100%;display:block}.data-table thead{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.data-table tbody{gap:12px;display:grid}.data-table tr{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.data-table td{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(110px,42%) minmax(0,1fr);align-items:center;gap:12px;min-height:52px;padding:12px 14px;display:grid;text-align:right!important}.data-table td:before{content:attr(data-label);color:var(--color-text-muted);text-align:left;font-size:.88rem;font-weight:750}.data-table td:last-child{border-bottom:0}.login-page{place-items:start stretch;padding:16px 12px}.login-panel{border-radius:20px;margin:0 auto;padding:24px 18px}.login-copy{margin-top:28px}}.assignment-list{gap:12px;display:grid}.assignment-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);padding:16px}.assignment-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.assignment-details{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 0;display:grid}.assignment-details>div{min-width:0}.assignment-details dt{color:var(--color-text-muted);font-size:.82rem;font-weight:700}.assignment-details dd{overflow-wrap:anywhere;margin:3px 0 0;font-weight:700}@media (max-width:700px){.assignment-details{grid-template-columns:repeat(2,minmax(0,1fr))}}.employee-name-cell{gap:4px;display:grid}.employee-name-cell .mono{font-size:.82rem}.fallback-page{background:var(--color-bg);place-items:center;min-height:100vh;padding:24px;display:grid}.fallback-card{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);width:min(600px,100%);box-shadow:var(--shadow-card);padding:clamp(28px,6vw,44px)}.fallback-card .brand-mark{margin-bottom:22px}.fallback-copy{max-width:52ch;color:var(--color-text-muted);margin-bottom:0}.fallback-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}@media (max-width:980px){.mobile-nav{grid-template-columns:repeat(auto-fit,minmax(68px,1fr))}}@media (max-width:420px){.nav-item-mobile{font-size:.74rem}.fallback-page{padding:12px}}.vacation-editor-grid,.vacation-part-fields,.vacation-admin-filters,.vacation-review-grid,.vacation-bulk-summary{gap:16px;display:grid}.vacation-editor-grid{grid-template-columns:minmax(220px,.8fr) minmax(260px,1.2fr);align-items:end}.vacation-balance-card{min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);gap:2px;padding:14px 16px;display:grid}.vacation-balance-card span,.vacation-balance-card small{color:var(--color-text-muted)}.vacation-balance-card strong{font-size:1.15rem}.vacation-part-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted);margin-top:18px;padding:18px}.vacation-part-head,.vacation-editor-actions,.vacation-review-actions,.notification-item-head,.notification-title-line{justify-content:space-between;align-items:center;gap:12px;display:flex}.vacation-part-head h3{margin:0;font-size:1.08rem}.vacation-part-fields{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}.vacation-calculated-field{min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-strong);color:var(--color-text-muted);align-items:center;padding:0 15px;display:flex}.vacation-editor-actions{align-items:stretch;margin-top:20px}.vacation-editor-actions-primary{flex-wrap:wrap;gap:10px;display:flex}.vacation-workflow{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.vacation-workflow-step{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);align-content:start;gap:10px;min-width:0;padding:16px;display:grid}.vacation-workflow-step span:last-child,.vacation-workflow-branch span:nth-child(2){color:var(--color-text-muted);font-size:.94rem}.vacation-workflow-arrow{color:var(--color-text-muted);align-self:center;font-size:1.4rem;font-weight:800}.vacation-workflow-branch{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:14px;padding:14px 16px;display:grid}.vacation-calendar-legend{flex-wrap:wrap;gap:10px 16px;margin-bottom:18px;display:flex}.vacation-calendar-legend span{color:var(--color-text-muted);align-items:center;gap:8px;font-size:.92rem;font-weight:650;display:inline-flex}.calendar-key{background:var(--color-surface);border:2px solid;border-radius:5px;flex:0 0 18px;width:18px;height:18px}.calendar-key-available{color:var(--color-success);background:var(--color-success-soft)}.calendar-key-warning{color:var(--color-warning);background:var(--color-warning-soft)}.calendar-key-conflict{color:var(--color-danger);background:var(--color-danger-soft)}.calendar-key-selected{color:var(--color-primary);background:var(--color-primary-soft)}.calendar-key-exception{color:#7c3aed;background:#f5f3ff}.vacation-year-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.vacation-month-skeleton{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);min-width:0;padding:14px}.vacation-month-skeleton strong{margin-bottom:10px;display:block}.vacation-month-placeholder{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.vacation-month-placeholder span{aspect-ratio:1;background:var(--color-surface-strong);border:1px solid var(--color-border);border-radius:6px;min-width:0}.vacation-admin-filters{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.vacation-review-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);align-items:start}.vacation-review-decision{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);padding:16px}.textarea{resize:vertical;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);width:100%;min-height:132px;color:var(--color-text);padding:13px 15px;line-height:1.5}.textarea:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:none}.vacation-review-actions{flex-wrap:wrap;justify-content:flex-end;margin-top:16px}.vacation-review-actions-spaced{margin-top:18px}.vacation-bulk-summary{grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0}.vacation-bulk-summary>div{border-radius:var(--radius-md);background:var(--color-surface-muted);gap:4px;padding:14px;display:grid}.vacation-bulk-summary span{color:var(--color-text-muted);font-size:.9rem}.vacation-bulk-summary strong{font-size:1.35rem}.notification-unread-badge{background:var(--color-danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 7px;font-size:.78rem;font-weight:850;line-height:1;display:inline-flex}.nav-item .notification-unread-badge{margin-left:auto}.notification-item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:16px}.notification-item.is-unread{border-color:var(--color-primary-border);background:var(--color-primary-soft)}.notification-title-line{flex-wrap:wrap;justify-content:flex-start}.notification-time{color:var(--color-text-muted);font-size:.86rem}.notification-item p{color:var(--color-text-muted);margin:10px 0 0}@media (max-width:980px){.vacation-year-grid,.vacation-admin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.vacation-review-grid{grid-template-columns:1fr}.nav-item-mobile .notification-unread-badge{margin-left:0;position:absolute;top:5px;right:8px}.nav-item-mobile{position:relative}}@media (max-width:700px){.vacation-editor-grid,.vacation-part-fields,.vacation-admin-filters,.vacation-year-grid,.vacation-bulk-summary,.vacation-workflow{grid-template-columns:1fr}.vacation-workflow-arrow{justify-self:center;transform:rotate(90deg)}.vacation-workflow-branch{grid-template-columns:1fr}.vacation-editor-actions,.vacation-editor-actions-primary,.vacation-review-actions,.notification-item-head{flex-direction:column;align-items:stretch}.vacation-editor-actions .btn,.vacation-editor-actions-primary .btn,.vacation-review-actions .btn{width:100%}.vacation-calendar-legend{grid-template-columns:1fr;display:grid}}.notification-toolbar,.notification-list{gap:10px;display:flex}.notification-toolbar{flex-wrap:wrap;justify-content:flex-end}.notification-list{flex-direction:column}@media (max-width:700px){.notification-toolbar{grid-template-columns:1fr;width:100%;display:grid}.notification-toolbar .btn{width:100%}}.vacation-page-heading{align-items:end}.vacation-year-control{grid-template-columns:minmax(150px,1fr) auto;align-items:end;gap:10px;width:min(330px,100%);display:grid}.vacation-parts-editor,.vacation-parts-summary,.vacation-admin-list,.vacation-history-list{gap:12px;display:grid}.vacation-parts-editor{margin-top:18px}.vacation-part-summary{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);justify-content:space-between;align-items:center;gap:14px;min-height:66px;padding:13px 15px;display:flex}.vacation-part-summary>div{gap:3px;min-width:0;display:grid}.vacation-part-summary .eyebrow{margin:0}.vacation-validation-block,.vacation-client-validation,.vacation-exception-comment,.vacation-admin-comment,.vacation-history-section{margin-top:18px}.vacation-client-validation ul{margin:7px 0 0;padding-left:20px}.vacation-issue-meta{font-size:.88rem;font-weight:650}.vacation-month{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);min-width:0;padding:13px}.vacation-month-title{margin-bottom:10px;display:block}.vacation-weekdays,.vacation-month-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.vacation-weekdays{margin-bottom:5px}.vacation-weekdays span{min-width:0;color:var(--color-text-muted);text-align:center;font-size:.72rem;font-weight:750}.calendar-day,.calendar-day-empty{aspect-ratio:1;border-radius:7px;min-width:0}.calendar-day{border:1px solid var(--color-border);place-items:center;padding:2px;font-size:.79rem;line-height:1;display:grid;position:relative}.calendar-day b{font-weight:750}.calendar-day small{font-size:.58rem;font-weight:900;position:absolute;bottom:1px;right:2px}.calendar-day-available{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success-border)}.calendar-day-warning{background:var(--color-warning-soft);color:var(--color-warning);border-color:var(--color-warning-border)}.calendar-day-conflict{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger-border)}.calendar-day-exception{color:#6d28d9;background:#f5f3ff;border-color:#c4b5fd}.calendar-day-unknown{background:var(--color-surface-strong);color:var(--color-text-muted)}.vacation-admin-filters-current{grid-template-columns:minmax(190px,.7fr) minmax(240px,1.3fr)}.vacation-admin-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;min-height:72px;color:var(--color-text);text-align:left;justify-content:space-between;align-items:center;gap:16px;padding:13px 15px;display:flex}.vacation-admin-row:hover:not(:disabled){background:var(--color-surface-muted)}.vacation-admin-row.is-selected{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.vacation-admin-row>div:first-child,.vacation-admin-row-status{gap:5px;min-width:0;display:grid}.vacation-admin-row-status{text-align:right;justify-items:end}.vacation-history-section h3{margin:0 0 10px;font-size:1rem}.vacation-history-row{border-left:3px solid var(--color-border-strong);background:var(--color-surface-muted);border-radius:0 var(--radius-sm) var(--radius-sm) 0;gap:5px;padding:12px 14px;display:grid}.vacation-history-row>div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.vacation-history-row span{font-size:.91rem}@media (max-width:980px){.vacation-year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.vacation-page-heading{align-items:stretch}.vacation-year-control,.vacation-admin-filters-current,.vacation-year-grid{grid-template-columns:1fr;width:100%}.vacation-year-control .btn{width:100%}.vacation-part-summary,.vacation-admin-row{flex-direction:column;align-items:stretch}.vacation-admin-row-status{text-align:left;justify-items:start}.vacation-month{padding:10px}.calendar-day{font-size:.78rem}}.vacation-bulk-result,.vacation-bulk-skipped{gap:10px;display:grid}.vacation-bulk-skipped{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);margin-top:12px;padding:14px}.vacation-bulk-skipped>div{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}@media (max-width:700px){.vacation-bulk-skipped>div{grid-template-columns:1fr}}.schedule-page-heading{align-items:end}.schedule-period-control{flex-shrink:0;grid-template-columns:auto minmax(170px,1fr) auto;align-items:center;gap:8px;min-width:min(360px,100%);display:grid}.schedule-period-control strong{min-height:var(--control-height-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:center;justify-content:center;align-items:center;padding:0 14px;display:flex}.schedule-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.schedule-summary-strip .ui-card,.schedule-admin-summary .ui-card{min-height:128px}.schedule-summary-value{margin-bottom:8px;font-size:clamp(1.35rem,2vw,1.75rem);font-weight:800;line-height:1.1}.schedule-month-shell{min-width:0}.schedule-weekdays,.schedule-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.schedule-weekdays{margin-bottom:6px}.schedule-weekdays span{color:var(--color-text-muted);text-align:center;padding:5px 2px;font-size:.78rem;font-weight:750}.schedule-day,.schedule-day-empty{border-radius:var(--radius-sm);min-width:0;min-height:112px}.schedule-day{border:1px solid var(--color-border);background:var(--color-surface-muted);grid-template-rows:auto 1fr;gap:6px;padding:7px;display:grid}.schedule-day.is-today{outline:2px solid var(--color-primary);outline-offset:-2px}.schedule-day-number{background:var(--color-surface);border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.86rem;display:inline-flex}.schedule-day-shifts{align-content:start;gap:5px;min-width:0;display:grid}.schedule-day-off{color:var(--color-text-muted);font-size:.72rem;line-height:1.25}.schedule-shift-chip{border:1px solid var(--color-primary-border);background:var(--color-primary-soft);width:100%;min-width:0;color:var(--color-text);text-align:left;border-radius:8px;gap:2px;padding:7px;line-height:1.2;display:grid}button.schedule-shift-chip{cursor:pointer}button.schedule-shift-chip:hover{border-color:var(--color-primary)}.schedule-shift-chip.is-selected{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.schedule-shift-chip.is-readonly{cursor:default}.schedule-shift-kind{font-size:.76rem;font-weight:800}.schedule-shift-hours{font-size:.72rem;font-weight:700}.schedule-shift-chip small{min-width:0;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;overflow:hidden}.schedule-wish-form,.schedule-swap-create,.schedule-shift-editor-grid{gap:14px;display:grid}.schedule-wish-form{grid-template-columns:minmax(180px,.7fr) minmax(240px,1.3fr) auto;align-items:end}.schedule-wish-list,.schedule-swap-list,.schedule-version-history{gap:10px;margin-top:18px;display:grid}.schedule-wish-row,.schedule-version-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:13px 15px;display:flex}.schedule-wish-row>div:first-child,.schedule-version-row>div:first-child,.schedule-version-row>div:last-child{gap:4px;min-width:0;display:grid}.schedule-wish-row span,.schedule-version-row span{overflow-wrap:anywhere}.schedule-wish-actions,.schedule-swap-actions,.schedule-review-actions,.schedule-card-actions,.schedule-validation-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.schedule-card-actions,.schedule-review-actions{margin-top:16px}.schedule-swap-create{grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-swap-create>.btn,.schedule-swap-gap-note{grid-column:1/-1}.schedule-swap-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:15px}.swap-summary{gap:12px;display:grid}.swap-summary-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.swap-pending_publish{border:2px solid var(--color-warning-border);border-radius:var(--radius-md);background:var(--color-warning-soft);padding:12px}.swap-applied{border:2px solid var(--color-success-border);border-radius:var(--radius-md);background:var(--color-success-soft);padding:12px}.compact-detail-list{margin:0}.schedule-validation-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.schedule-finding-columns{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px;margin-top:18px;display:grid}.schedule-finding-group{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);min-width:0;padding:14px}.schedule-finding-group-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.schedule-finding-group h3{margin:0;font-size:1rem}.schedule-finding-copy{gap:6px;display:grid}.schedule-finding-meta{color:var(--color-text-muted);overflow-wrap:anywhere;font-size:.78rem}.schedule-finding-meta code{font-size:.76rem}.schedule-shift-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.schedule-version-row>div:last-child{text-align:right;justify-items:end}@media (max-width:980px){.schedule-summary-strip,.schedule-finding-columns,.schedule-swap-create,.schedule-shift-editor-grid{grid-template-columns:1fr}.schedule-swap-create>.btn,.schedule-swap-gap-note{grid-column:auto}}@media (max-width:700px){.schedule-page-heading{align-items:stretch}.schedule-period-control{grid-template-columns:auto minmax(0,1fr) auto;width:100%;min-width:0}.schedule-summary-strip{grid-template-columns:1fr}.schedule-summary-strip .ui-card{min-height:0}.schedule-weekdays{display:none}.schedule-month-grid{grid-template-columns:1fr;gap:7px}.schedule-day-empty{display:none}.schedule-day{grid-template-rows:auto;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:10px;min-height:0;padding:10px}.schedule-day-number{width:34px;height:34px}.schedule-day-off{align-items:center;min-height:34px;font-size:.8rem;display:flex}.schedule-shift-chip{min-height:48px;padding:9px 10px}.schedule-shift-kind,.schedule-shift-hours{font-size:.85rem}.schedule-shift-chip small{white-space:normal;font-size:.76rem}.schedule-wish-form,.schedule-swap-create,.schedule-shift-editor-grid{grid-template-columns:1fr}.schedule-wish-form .btn,.schedule-swap-create .btn,.schedule-review-actions .btn,.schedule-card-actions .btn,.schedule-validation-actions .btn,.schedule-swap-actions .btn{width:100%}.schedule-wish-row,.schedule-version-row,.swap-summary-head{flex-direction:column;align-items:stretch}.schedule-version-row>div:last-child{text-align:left;justify-items:start}.schedule-review-actions,.schedule-card-actions,.schedule-validation-actions,.schedule-swap-actions{flex-direction:column;align-items:stretch}}.hr-order-list,.hr-recipient-list,.hr-batch-list,.hr-revision-history,.timesheet-work-grid,.timesheet-code40-grid,.timesheet-shifts{gap:12px;display:grid}.hr-order-list,.hr-recipient-list,.hr-revision-history,.timesheet-work-grid,.timesheet-code40-grid{margin-top:16px}.hr-select-card,.hr-recipient-card,.hr-recipient-editor,.hr-revision-row,.timesheet-work-card,.timesheet-code40-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);min-width:0;padding:15px}.hr-select-card{text-align:left;width:100%;color:var(--color-text);justify-content:space-between;align-items:center;gap:14px;display:flex}.hr-select-card:hover,.hr-select-card.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.hr-select-card>span:first-child,.hr-card-head>div,.hr-revision-row>div,.timesheet-work-head>div,.timesheet-code40-head>div{gap:4px;min-width:0;display:grid}.hr-select-card small,.hr-recipient-card span,.hr-revision-row span,.timesheet-work-card span,.timesheet-code40-card span{color:var(--color-text-muted);overflow-wrap:anywhere}.hr-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.hr-actions,.timesheet-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.hr-card-head,.timesheet-work-head,.timesheet-code40-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.hr-code40-line{border:1px solid var(--color-warning-border);border-radius:var(--radius-sm);background:var(--color-warning-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:14px 0;padding:12px 14px;display:flex}.hr-code40-line strong{font-size:1.08rem}.hr-recipient-editor{background:var(--color-surface)}.hr-revision-row{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.timesheet-heading{align-items:end}.timesheet-period{grid-template-columns:auto minmax(150px,1fr) auto;align-items:center;gap:8px;min-width:min(340px,100%);display:grid}.timesheet-period strong{min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);text-align:center;justify-content:center;align-items:center;padding:0 12px;display:flex}.timesheet-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.timesheet-summary-grid .ui-card{min-height:150px}.timesheet-big-value{margin-bottom:9px;font-size:clamp(1.3rem,2vw,1.75rem);line-height:1.15;display:block}.timesheet-source-details{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.timesheet-work-grid,.timesheet-code40-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.timesheet-work-card,.timesheet-code40-card{background:var(--color-surface)}.timesheet-work-head>strong{flex:none;font-size:1.12rem}.timesheet-context-line{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.timesheet-context-line span{background:var(--color-surface-strong);color:var(--color-text);border-radius:999px;padding:5px 9px;font-size:.86rem;font-weight:700}.timesheet-work-card details{margin-top:10px}.timesheet-work-card summary{cursor:pointer;min-height:44px;color:var(--color-primary-hover);align-items:center;font-weight:750;display:flex}.timesheet-shifts{margin-top:8px}.timesheet-shifts>div{border-radius:var(--radius-sm);background:var(--color-surface-muted);grid-template-columns:1fr 1fr auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.timesheet-code40-head{justify-content:flex-start}.timesheet-code40-mark{background:var(--color-warning-soft);border:1px solid var(--color-warning-border);width:48px;height:48px;color:var(--color-text);border-radius:14px;flex:0 0 48px;place-items:center;font-size:1.1rem;font-weight:900;display:grid}.timesheet-code40-card .detail-list,.hr-recipient-card .detail-list{margin-top:14px}.modal-copy-stack{gap:10px;display:grid}.modal-copy-stack p{margin:0}@media (max-width:980px){.timesheet-summary-grid,.timesheet-work-grid,.timesheet-code40-grid{grid-template-columns:1fr}.timesheet-summary-grid .ui-card{min-height:0}.timesheet-heading{flex-direction:column;align-items:stretch}.timesheet-period{width:100%;min-width:0}}@media (max-width:700px){.hr-form-grid,.timesheet-source-details{grid-template-columns:1fr}.hr-select-card,.hr-card-head,.hr-revision-row,.timesheet-work-head,.timesheet-code40-head,.hr-actions,.timesheet-actions{flex-direction:column;align-items:stretch}.hr-actions .btn,.timesheet-actions .btn{width:100%}.timesheet-heading{align-items:stretch}.timesheet-period{width:100%;min-width:0}.timesheet-shifts>div{grid-template-columns:1fr auto}.timesheet-shifts>div span:nth-child(2){grid-area:2/1/auto/-1}.timesheet-code40-head{grid-template-columns:48px minmax(0,1fr);display:grid}}.sick-leave-form-grid,.sick-leave-filter-grid,.sick-leave-success-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.sick-leave-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.sick-leave-success-grid>div{border-radius:var(--radius-md);background:var(--color-surface-muted);gap:4px;padding:14px;display:grid}.sick-leave-success-grid span{color:var(--color-text-muted);font-size:.86rem}.sick-leave-success-grid+.alert{margin-top:16px}.sick-leave-admin-layout{grid-template-columns:minmax(280px,.8fr) minmax(0,1.35fr);align-items:start;gap:16px;display:grid}.sick-leave-list,.sick-leave-detail,.sick-leave-history{gap:10px;display:grid}.sick-leave-list-item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;min-height:72px;color:var(--color-text);text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.sick-leave-list-item:hover,.sick-leave-list-item.is-selected{border-color:var(--color-primary-border);background:var(--color-primary-soft)}.sick-leave-list-item>span:first-child,.sick-leave-detail-head>div,.sick-leave-history-row>div{gap:4px;min-width:0;display:grid}.sick-leave-list-item small,.sick-leave-detail-head span,.sick-leave-history-row span,.sick-leave-history-row small{color:var(--color-text-muted)}.sick-leave-detail-head,.sick-leave-history-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sick-leave-detail-head{border-radius:var(--radius-md);background:var(--color-surface-muted);padding:14px}.sick-leave-detail-head>div>strong{font-size:1.08rem}.sick-leave-history{margin-top:8px}.sick-leave-history h3{margin:4px 0 0;font-size:1rem}.sick-leave-history-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:12px}.sick-leave-history-row.is-current{border-color:var(--color-primary-border);background:var(--color-primary-soft)}.mobile-more-panel{display:none}@media (max-width:980px){.sick-leave-admin-layout{grid-template-columns:1fr}.mobile-more-panel{left:12px;right:12px;bottom:calc(max(10px, env(safe-area-inset-bottom)) + 146px);z-index:29;border:1px solid var(--color-border);background:#fffffffc;border-radius:20px;gap:10px;max-height:min(52vh,420px);padding:12px;display:grid;position:fixed;overflow:auto;box-shadow:0 12px 36px #1720332e}.mobile-more-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.mobile-more-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.mobile-more-grid .nav-item{min-width:0}}@media (max-width:700px){.sick-leave-form-grid,.sick-leave-filter-grid,.sick-leave-success-grid{grid-template-columns:1fr}.sick-leave-actions,.sick-leave-review-actions,.sick-leave-detail-head,.sick-leave-history-row,.sick-leave-list-item{flex-direction:column;align-items:stretch}.sick-leave-actions .btn{width:100%}.mobile-more-grid{grid-template-columns:1fr}}.required-event-inline-action{margin-top:12px}.required-event-self-grid,.required-event-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.required-event-self-card .card-body,.required-event-type-card{min-width:0}.required-event-muted-note{margin:14px 0 0}.required-event-tabs,.required-event-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.required-event-filter-grid,.required-event-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.required-event-actions{margin-top:16px}.required-event-admin-layout{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);align-items:start;gap:18px;display:grid}.required-event-list{gap:9px;display:grid}.required-event-list-item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;min-height:74px;color:var(--color-text);text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.required-event-list-item:hover,.required-event-list-item.is-selected{border-color:var(--color-primary-border);background:var(--color-primary-soft)}.required-event-list-item>span:first-child,.required-event-detail-head>div,.required-event-type-head>div{gap:4px;min-width:0;display:grid}.required-event-list-item small,.required-event-detail-head span,.required-event-type-head span{color:var(--color-text-muted);overflow-wrap:anywhere}.required-event-list-status{flex:none;justify-items:end;gap:5px;display:grid}.required-event-detail{gap:16px;display:grid}.required-event-detail-head,.required-event-type-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.required-event-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.required-event-detail-list>div{border-radius:var(--radius-sm);background:var(--color-surface-muted);gap:4px;min-width:0;padding:11px 12px;display:grid}.required-event-detail-list dt{color:var(--color-text-muted);font-size:.82rem;font-weight:700}.required-event-detail-list dd{overflow-wrap:anywhere;margin:0;font-weight:750}.required-event-history{gap:10px;display:grid}.required-event-history h3{margin:4px 0 0;font-size:1.05rem}.required-event-history-row{border:1px solid var(--color-border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.required-event-history-row.is-current{border-color:var(--color-primary-border);background:var(--color-primary-soft)}.required-event-history-row>div{gap:5px;min-width:0;display:grid}.required-event-history-row span{color:var(--color-text-muted);overflow-wrap:anywhere}.required-event-type-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:16px}.required-event-type-card .required-event-detail-list{margin-top:14px}@media (max-width:980px){.required-event-admin-layout{grid-template-columns:1fr}.required-event-filter-grid,.required-event-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.required-event-self-grid,.required-event-type-grid,.required-event-filter-grid,.required-event-form-grid,.required-event-detail-list{grid-template-columns:1fr}.required-event-tabs,.required-event-actions{flex-direction:column;align-items:stretch}.required-event-tabs .btn,.required-event-actions .btn{width:100%}.required-event-list-item,.required-event-detail-head,.required-event-type-head,.required-event-history-row{flex-direction:column;align-items:stretch}.required-event-list-status{justify-items:start}}.activation-code-input,.recovery-code-input{font-variant-numeric:tabular-nums;letter-spacing:.08em;font-size:1.18rem}.account-admin-stack{gap:18px;display:grid}.account-admin-head{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.account-admin-head>div{gap:4px;display:grid}.account-admin-head span:not(.status-badge){color:var(--color-text-muted);font-size:.92rem}.account-admin-empty{justify-items:start;gap:12px;display:grid}.account-admin-empty p{margin:0}.account-admin-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.account-admin-details.compact{grid-template-columns:minmax(0,1fr)}.account-admin-details>div{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);gap:5px;min-width:0;padding:14px 16px;display:grid}.account-admin-details dt{color:var(--color-text-muted);font-size:.85rem;font-weight:750}.account-admin-details dd{overflow-wrap:anywhere;margin:0;font-weight:750}.account-admin-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.account-status-grid{grid-template-columns:minmax(180px,.7fr) minmax(240px,1.3fr);align-items:end;gap:14px;margin-top:14px;display:grid}.one-time-code-panel{border:2px solid var(--color-primary-border);border-radius:var(--radius-xl);background:var(--color-surface);gap:16px;padding:clamp(20px,4vw,30px);display:grid;box-shadow:0 14px 38px #1720331a}.one-time-code-panel h2,.one-time-code-panel p{margin-top:0}.one-time-code-value{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-strong);font-variant-numeric:tabular-nums;letter-spacing:.14em;text-align:center;overflow-wrap:anywhere;width:min(100%,430px);padding:18px 20px;font-size:clamp(1.8rem,6vw,2.5rem);font-weight:850}.recovery-state-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.recovery-one-time-panel{border:2px solid var(--color-warning-border,var(--color-border-strong));border-radius:var(--radius-xl);background:var(--color-surface);gap:16px;padding:clamp(20px,4vw,30px);display:grid;box-shadow:0 14px 38px #1720331a}.recovery-one-time-panel h2,.recovery-one-time-panel p{margin-top:0}.recovery-code-value{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-strong);font-variant-numeric:tabular-nums;letter-spacing:.14em;text-align:center;overflow-wrap:anywhere;-webkit-user-select:none;user-select:none;width:min(100%,430px);padding:18px 20px;font-size:clamp(1.8rem,6vw,2.5rem);font-weight:850}@media (max-width:700px){.auth-mode-control{grid-template-columns:1fr}.auth-mode-control button{min-height:50px}.account-admin-head{align-items:flex-start;display:grid}.account-admin-details,.account-status-grid{grid-template-columns:1fr}.account-admin-actions{grid-template-columns:1fr;display:grid}.account-admin-actions .btn{width:100%}.one-time-code-panel,.recovery-one-time-panel{padding:20px 16px}.one-time-code-value,.recovery-code-value{letter-spacing:.08em;width:100%}}@media (max-width:640px){.schedule-period-control{text-align:center;grid-template-columns:48px minmax(0,1fr) 48px;width:100%;display:grid}.schedule-period-control .btn{padding:0}}.vacation-self-calendar{gap:20px;display:grid}.vacation-resource-overview>h3{margin:0 0 12px}.vacation-resource-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.vacation-resource-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);gap:5px;padding:14px 16px;display:grid}.vacation-resource-card span,.vacation-resource-card p{color:var(--color-text-muted)}.vacation-resource-card p{margin:0}.month-navigation .btn{min-height:48px;padding:0}.month-navigation .select{min-height:48px;padding-left:8px}.calendar-day-not-applicable{background:var(--color-surface-muted);color:var(--color-text-muted)}.calendar-resource-states{gap:8px;margin:14px 0;display:grid}.calendar-resource-states h4{margin:0}.calendar-resource-states>div{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:10px 12px;display:grid}.calendar-resource-states small{color:var(--color-text-muted);grid-column:1/-1}@media (max-width:640px){.vacation-calendar-layout,.vacation-parts-editor{grid-template-columns:minmax(0,1fr)}.vacation-part-choice>div{grid-template-columns:repeat(2,minmax(0,1fr))}.vacation-calendar-layout{gap:20px}.vacation-part-card{padding:12px}.vacation-part-fields{grid-template-columns:minmax(0,1fr) 76px;gap:8px}.vacation-workflow{grid-template-columns:1fr;display:grid}.vacation-workflow-arrow{display:none}.vacation-workflow-step{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;display:flex}.calendar-resource-states>div{grid-template-columns:minmax(0,1fr)}}.carry-in-vacation-list,.opening-balance-admin,.opening-balance-list,.opening-balance-history{gap:12px;display:grid}.carry-in-vacation-list article,.opening-balance-row,.opening-balance-history article{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:14px 16px}.carry-in-vacation-list article{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 12px;display:grid}.carry-in-vacation-list article>div{gap:3px;display:grid}.carry-in-vacation-list article p{grid-column:1/-1;margin:0}.opening-balance-admin>.section-heading{margin-top:8px}.opening-balance-import-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.opening-balance-import-grid .field{min-width:0}.opening-balance-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.opening-balance-filters{grid-template-columns:minmax(160px,.5fr) minmax(240px,1.5fr);gap:12px;margin-bottom:14px;display:grid}.opening-balance-row{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;justify-content:space-between;align-items:center;gap:16px;display:flex}.opening-balance-row:hover,.opening-balance-row.is-selected{border-color:var(--color-primary-border);background:var(--color-primary-soft)}.opening-balance-row>div{gap:4px;min-width:0;display:grid}.opening-balance-row span,.opening-balance-row small{color:var(--color-text-muted)}.opening-balance-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.opening-balance-detail-grid>div{border:1px solid var(--color-border);border-radius:var(--radius-md);gap:4px;min-width:0;padding:12px;display:grid}.opening-balance-detail-grid span{color:var(--color-text-muted);font-size:.88rem}.opening-balance-provenance{margin:16px 0}.opening-balance-history article>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.opening-balance-history article p{margin:6px 0 0}@media (max-width:700px){.opening-balance-import-grid,.opening-balance-filters,.opening-balance-detail-grid{grid-template-columns:minmax(0,1fr)}.opening-balance-row{align-items:flex-start;display:grid}.opening-balance-actions .btn{width:100%;min-height:48px}.carry-in-vacation-list article{grid-template-columns:minmax(0,1fr)}.carry-in-vacation-list article p{grid-column:1}}.vacation-entitlement-summary,.vacation-admin-entitlement{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.vacation-entitlement-summary>div,.vacation-admin-entitlement>div{border:1px solid var(--color-border);border-radius:var(--radius-md);gap:4px;padding:12px;display:grid}.vacation-entitlement-summary span,.vacation-admin-entitlement span,.vacation-correction-row{color:var(--color-text-muted)}.vacation-entitlement-summary strong,.vacation-admin-entitlement strong{font-size:18px}.vacation-correction-row{margin-top:4px;font-weight:650;display:block}.vacation-historical-row{color:var(--color-text);margin-top:4px;font-weight:750;display:block}.vacation-admin-entitlement-historical strong{overflow-wrap:anywhere}.vacation-history-entitlement{margin:0 0 12px}@media (max-width:640px){.vacation-entitlement-summary,.vacation-admin-entitlement{grid-template-columns:minmax(0,1fr)}.vacation-entitlement-summary>div,.vacation-admin-entitlement>div{min-height:56px}}.schedule-xlsx-flow{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:16px;font-size:.92rem;font-weight:700;display:flex}.schedule-xlsx-flow span:not(:nth-child(2n)){border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:999px;padding:7px 10px}.schedule-xlsx-file-control{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.schedule-xlsx-selected-file{overflow-wrap:anywhere;margin:10px 0 0}.schedule-xlsx-preview{gap:18px;margin-top:18px;display:grid}.schedule-xlsx-period,.schedule-xlsx-metrics,.schedule-xlsx-control-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.schedule-xlsx-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-xlsx-period>div,.schedule-xlsx-metrics>div,.schedule-xlsx-control-grid>div{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);gap:4px;min-width:0;padding:12px;display:grid}.schedule-xlsx-period span,.schedule-xlsx-metrics span,.schedule-xlsx-control-grid span{color:var(--color-text-muted);font-size:.85rem}.schedule-xlsx-period strong,.schedule-xlsx-metrics strong,.schedule-xlsx-control-grid strong{overflow-wrap:anywhere}.schedule-xlsx-control-totals h3,.schedule-xlsx-issues h3,.schedule-xlsx-resolved h3{margin:0 0 10px;font-size:1rem}.schedule-xlsx-issue-list,.schedule-xlsx-row-list,.schedule-xlsx-day-list{gap:9px;display:grid}.schedule-xlsx-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);min-width:0;padding:12px 14px}.schedule-xlsx-row-main{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.schedule-xlsx-row-main>div{gap:4px;min-width:0;display:grid}.schedule-xlsx-row-main span{color:var(--color-text-muted);overflow-wrap:anywhere}.schedule-xlsx-row details{margin-top:10px}.schedule-xlsx-row summary{cursor:pointer;font-weight:700}.schedule-xlsx-day-list{margin-top:9px}.schedule-xlsx-day-list>div{border-radius:var(--radius-sm);background:var(--color-surface);grid-template-columns:minmax(120px,.4fr) minmax(0,1.6fr);gap:10px;padding:8px 10px;display:grid}.schedule-xlsx-day-list span{overflow-wrap:anywhere}.schedule-xlsx-commit{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.schedule-xlsx-version-actions,.schedule-xlsx-downloads{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.schedule-xlsx-download-error{color:var(--color-danger);text-align:right;flex-basis:100%;font-size:.86rem}@media (max-width:760px){.schedule-xlsx-file-control,.schedule-xlsx-commit,.schedule-xlsx-period,.schedule-xlsx-metrics,.schedule-xlsx-control-grid{grid-template-columns:minmax(0,1fr)}.schedule-xlsx-file-control .btn,.schedule-xlsx-commit .btn,.schedule-xlsx-downloads .btn{width:100%;min-height:48px}.schedule-xlsx-row-main{flex-direction:column;align-items:stretch}.schedule-xlsx-day-list>div{grid-template-columns:minmax(0,1fr)}.schedule-xlsx-version-actions,.schedule-xlsx-downloads{justify-content:stretch;width:100%}.schedule-xlsx-download-error{text-align:left}}.schedule-import-annotation-chip{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;gap:3px;min-width:0;padding:7px;display:grid}.schedule-import-annotation-chip.is-confirmed{border-color:var(--color-success-border);background:var(--color-success-soft)}.schedule-import-annotation-chip.is-unresolved{border-color:var(--color-warning-border);background:var(--color-warning-soft)}.schedule-import-annotation-code,.schedule-import-annotation-symbol{letter-spacing:.02em;font-weight:900}.schedule-import-annotation-status{font-size:.69rem;line-height:1.25}.schedule-import-annotation-chip small{min-width:0;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;overflow:hidden}.schedule-import-annotation-list{gap:10px;margin-top:14px;display:grid}.schedule-import-annotation-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:12px 14px;display:flex}.schedule-import-annotation-row.is-unresolved{border-color:var(--color-warning-border)}.schedule-import-annotation-main{align-items:flex-start;gap:10px;min-width:0;display:flex}.schedule-import-annotation-main>div{gap:4px;min-width:0;display:grid}.schedule-import-annotation-main span{color:var(--color-text-muted);overflow-wrap:anywhere}.schedule-import-annotation-symbol{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:10px;justify-content:center;align-items:center;min-width:38px;min-height:38px;padding:7px;display:inline-flex}.schedule-import-annotation-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.schedule-import-annotation-dismiss{gap:10px;display:grid}.schedule-import-annotation-dismiss p{margin:0}.schedule-xlsx-issue-list .alert-copy{gap:5px;display:grid}@media (max-width:700px){.schedule-import-annotation-row{flex-direction:column;align-items:stretch}.schedule-import-annotation-actions{justify-content:stretch;align-items:stretch}.schedule-import-annotation-actions .btn{width:100%;min-height:48px}}.small-schedule-scroll{isolation:isolate;border:1px solid #dce4eb;border-radius:12px;max-width:100%;max-height:72vh;margin:16px 0;overflow:auto}.small-schedule-table{border-collapse:separate;border-spacing:0;table-layout:fixed;background:#fff;width:max-content;min-width:100%;font-size:14px}.small-schedule-table th,.small-schedule-table td{vertical-align:middle;text-align:center;border-bottom:1px solid #e3e8ef;border-right:1px solid #e3e8ef;min-width:48px;padding:3px}.small-schedule-table thead th{z-index:3;background:#eff5fa;height:48px;position:sticky;top:0}.small-schedule-table .schedule-col-number{z-index:2;background:#f7fafc;width:42px;min-width:42px;position:sticky;left:0}.small-schedule-table .schedule-col-name{z-index:2;text-align:left;background:#f7fafc;width:210px;min-width:210px;max-width:210px;padding:8px;position:sticky;left:42px}.small-schedule-table .schedule-col-role{z-index:2;text-align:left;overflow-wrap:break-word;background:#f7fafc;width:170px;min-width:170px;max-width:170px;padding:8px;position:sticky;left:252px}.small-schedule-table .schedule-col-norm{z-index:2;background:#f7fafc;width:60px;min-width:60px;position:sticky;left:422px}.small-schedule-table thead .schedule-col-number,.small-schedule-table thead .schedule-col-name,.small-schedule-table thead .schedule-col-role,.small-schedule-table thead .schedule-col-norm{z-index:4;background:#e8f1f8}.small-schedule-table .is-weekend{background:#f5f2fa}.small-schedule-table thead .is-weekend{background:#ede7f5}.small-schedule-table .schedule-hours{background:#f2f7fb;min-width:74px;font-weight:600}.small-schedule-group th{text-align:left;color:#284b69;background:#e8f0f7;height:32px;font-weight:700}.small-schedule-group th:first-letter{text-transform:uppercase}.small-schedule-group th{padding-left:8px}.small-schedule-cell{width:100%;min-width:44px;min-height:44px;font:inherit;color:#184069;cursor:pointer;background:#f4f8fc;border:1px solid #0000;border-radius:4px;margin:1px 0;padding:3px;font-weight:600;display:block}.small-schedule-cell.is-shift{background:#e7f1fc;border-color:#cedce9}.small-schedule-cell.is-paid{background:#fff4de}.small-schedule-cell.is-add{color:#6b8095;background:0 0}.small-schedule-cell:hover{border-color:#2871b8}.small-schedule-cell:focus-visible{outline-offset:1px;outline:3px solid #2871b8}.small-schedule-cell:disabled{opacity:.55;cursor:wait}.schedule-import-diagnostics{background:#fff8f6;border:1px solid #ecd2cb;border-radius:12px;padding:8px 16px}.schedule-import-diagnostics.is-warning{background:#fffbef;border-color:#eadfc3}.schedule-import-diagnostic-group{border-bottom:1px solid #e5ddd8;padding:8px 0}.schedule-import-diagnostic-group:last-child{border-bottom:0}.schedule-import-diagnostic-group>summary{cursor:pointer;min-height:44px;padding:8px 0;font-weight:600}.schedule-import-diagnostic-group li{background:#fff;border-radius:8px;margin:12px 0;padding:8px}@media (max-width:640px){.small-schedule-table .schedule-col-number,.small-schedule-table .schedule-col-role,.small-schedule-table .schedule-col-norm{position:static}.small-schedule-table .schedule-col-name{width:144px;min-width:144px;max-width:144px;font-size:13px;position:sticky;left:0}.small-schedule-table thead .schedule-col-number,.small-schedule-table thead .schedule-col-role,.small-schedule-table thead .schedule-col-norm{position:sticky;top:0;left:auto}.small-schedule-scroll{max-height:70vh}}.small-schedule-editor{scroll-margin-top:16px}fieldset.schedule-shift-editor-grid{border:0;min-width:0;margin:0;padding:0}@media (max-width:640px){.small-schedule .schedule-card-actions{flex-wrap:wrap}.small-schedule-editor .input{min-height:48px}}.push-banner p{line-height:1.6}.push-banner>.card-body>.btn{min-height:48px}.push-help{background:#f5f7fb;border-radius:16px;margin-top:20px;padding:20px}.push-help li{margin:12px 0;line-height:1.6}.notification-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}@media (max-width:620px){.push-help{padding:16px}.notification-actions{flex-direction:column;align-items:stretch}}.small-schedule-table col.schedule-col-day{width:52px}.small-schedule-table col.schedule-col-hours{width:78px}.small-schedule-group-label{white-space:normal;width:max-content;max-width:calc(100vw - 72px);display:block;position:sticky;left:8px}.vacation-absence-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.vacation-absence-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem;display:grid}.ui-icon{flex:0 0 24px;display:block}.skip-link{z-index:100;background:var(--color-surface);padding:12px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.sidebar{height:100vh;height:100dvh;min-height:0;overflow:hidden}.sidebar>.brand,.sidebar-footer{flex-shrink:0}.sidebar-nav{overscroll-behavior:contain;flex:1;min-height:0;padding-bottom:12px;overflow-y:auto}.nav-section-heading{color:var(--color-text);text-align:left;background:0 0;border:0;width:100%;min-height:48px;padding:16px 12px 8px;font-weight:750;display:block}.management-nav{border-top:1px solid var(--color-border);margin-top:16px}.nav-mark{flex-shrink:0;place-items:center;display:grid}.profile-link{text-align:left;color:var(--color-text);background:0 0;border:0;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 0;display:flex}.profile-link>span:last-child{overflow-wrap:anywhere;min-width:0}.profile-link strong,.profile-link small{display:block}.profile-link small{color:var(--color-text-muted)}.home-grid,.management-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.home-grid .card-body{flex-direction:column;align-items:flex-start;display:flex}.home-grid .card-body .btn{margin-top:auto}.home-link{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:90px;color:var(--color-text);align-items:center;gap:16px;padding:24px;display:flex}.home-link strong{flex:1}.home-quick-links{flex-wrap:wrap;gap:12px;display:flex}.secondary-details{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px}summary{cursor:pointer;min-height:44px;padding-block:8px;font-weight:650}.secondary-details[open]>summary{margin-bottom:12px}.technical-details{overflow-wrap:anywhere;color:var(--color-text-muted);font-size:var(--text-sm);margin-top:12px}.technical-details summary{font-weight:500}.vacation-other-year{min-width:0}.vacation-part-choice{border:0;margin:0;padding:0}.vacation-part-choice legend{margin-bottom:12px;font-weight:650}.vacation-part-choice>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.vacation-part-choice .btn{padding:8px}.vacation-balance{flex-wrap:wrap;gap:8px 20px;margin:20px 0;display:flex}.vacation-balance span{color:var(--color-text-muted)}.vacation-parts-editor{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.vacation-part-card{min-width:0;padding:16px}.vacation-part-card h3{margin:0 0 12px}.vacation-part-fields{grid-template-columns:minmax(0,1fr) 90px;gap:12px;display:grid}.vacation-part-fields .field{min-width:0}.vacation-part-fields .input{min-width:0;padding-inline:10px}.vacation-part-end{color:var(--color-text-muted);margin:12px 0 0;font-size:15px}.vacation-calendar-layout{grid-template-columns:minmax(260px,420px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.month-navigation{grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:6px;display:grid}.month-navigation .btn{padding:0}.month-navigation .select{padding-left:8px}.swipe-surface{touch-action:pan-y pinch-zoom}.swipe-hint{color:var(--color-text-muted);text-align:center;margin:8px 0 16px;font-size:14px}.vacation-calendar-month .vacation-month-days{gap:3px}.vacation-calendar-month .calendar-day{width:100%;height:auto;min-height:48px;font:inherit;cursor:pointer;border:0;border-radius:8px;padding:4px 0}.vacation-calendar-month .calendar-day[aria-pressed=true]{box-shadow:inset 0 0 0 3px var(--color-primary)}.vacation-calendar-month .calendar-day small{font-size:12px}.calendar-colleagues article{border-bottom:1px solid var(--color-border);padding:12px 0}.calendar-colleagues p{margin:4px 0}.calendar-colleagues small{color:var(--color-text-muted)}.calendar-selection{background:var(--color-primary-soft);border-radius:var(--radius-md);margin-top:16px;padding:16px}.calendar-selection p:last-child{margin-bottom:0}.vacation-workflow{gap:12px}.vacation-workflow-step{padding:8px}.vacation-workflow-step>span:last-child,.vacation-workflow-branch{font-size:15px}.schedule-official-summary{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.schedule-own-list{gap:12px;display:grid}.schedule-own-shift{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px}.schedule-own-shift h3{margin-bottom:6px}.schedule-own-shift p{margin:4px 0}.schedule-full-table{max-width:100%;overflow-x:auto}.schedule-full-table table{border-collapse:separate;border-spacing:0;min-width:100%}.schedule-full-table th,.schedule-full-table td{border-bottom:1px solid var(--color-border);text-align:center;min-width:46px;padding:10px 8px}.schedule-full-table th:first-child{background:var(--color-surface);text-align:left;z-index:1;min-width:170px;max-width:240px;position:sticky;left:0}.schedule-full-table tr.is-own th,.schedule-full-table tr.is-own td{background:var(--color-primary-soft)}@media (max-width:980px){.content{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.mobile-header{height:60px}.mobile-nav{padding:4px 4px calc(4px + env(safe-area-inset-bottom));border-radius:0;grid-template-rows:auto;grid-auto-flow:column;gap:0;min-height:0;bottom:0;left:0;right:0}.mobile-nav .nav-item-mobile{grid-template-rows:24px 18px;align-content:center;justify-items:center;gap:4px;min-width:0;min-height:58px;padding:4px 1px;display:grid;position:relative}.mobile-nav .nav-mark{background:0 0;border:0;width:24px;height:24px;min-height:24px;margin:0;padding:0}.mobile-nav .nav-label{white-space:nowrap;font-size:12px;line-height:18px}.mobile-nav .notification-unread-badge{position:absolute;top:0;right:6px}.mobile-more-panel{bottom:calc(70px + env(safe-area-inset-bottom));max-height:calc(100vh - 145px - env(safe-area-inset-bottom));max-height:calc(100dvh - 145px - env(safe-area-inset-bottom));overscroll-behavior:contain;overflow-y:auto}.mobile-more-grid{grid-template-columns:1fr}.mobile-more-panel .profile-link{padding:8px}}@media (max-width:640px){.home-grid,.management-grid,.vacation-calendar-layout,.vacation-parts-editor{grid-template-columns:minmax(0,1fr)}.vacation-part-choice>div{grid-template-columns:repeat(2,minmax(0,1fr))}.card-header,.card-body{padding-left:16px;padding-right:16px}.vacation-calendar-layout{gap:20px}.vacation-part-card{padding:12px}.vacation-part-fields{grid-template-columns:minmax(0,1fr) 76px;gap:8px}.vacation-workflow{grid-template-columns:1fr;display:grid}.vacation-workflow-arrow{display:none}.vacation-workflow-step{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;display:flex}.schedule-period-control{text-align:center;grid-template-columns:48px minmax(0,1fr) 48px;width:100%;display:grid}.schedule-period-control .btn{padding:0}.page-heading>div,.ui-card,.field{min-width:0}.page-heading p{overflow-wrap:anywhere}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.personal-cabinet{max-width:1180px;margin-inline:auto}.cabinet-position{margin-top:10px;line-height:1.6}.cabinet-nearest{border-color:var(--color-primary-border);background:var(--color-primary-soft)}.cabinet-nearest-date{text-transform:capitalize;margin:0 0 20px;font-size:clamp(1.5rem,4vw,2rem);font-weight:700}.cabinet-nearest-shifts{flex-wrap:wrap;gap:16px;display:flex}.cabinet-nearest-shifts .cabinet-shift{background:var(--color-surface);border-radius:var(--radius-md);flex:260px;min-width:0;padding:18px}.cabinet-shift{overflow-wrap:anywhere;flex-direction:column;gap:6px;font-size:.9375rem;line-height:1.45;display:flex}.cabinet-shift strong{color:var(--color-text);font-size:1rem}.cabinet-shift span{color:var(--color-text-muted)}.cabinet-carry{border-left:3px solid var(--color-border-strong);padding-left:9px}.cabinet-month-controls{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.cabinet-publication-note{background:var(--color-surface-muted);border-radius:var(--radius-sm);padding:14px;line-height:1.6}.cabinet-month-title{margin-top:24px;font-size:1.375rem}.cabinet-weekdays,.cabinet-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.cabinet-weekdays{text-align:center;color:var(--color-text-muted);padding-block:12px;font-weight:600}.cabinet-calendar{margin:0;padding:0;list-style:none}.cabinet-day{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);flex-direction:column;gap:12px;min-width:0;min-height:130px;padding:12px;display:flex}.cabinet-day.is-today{border:2px solid var(--color-primary);background:var(--color-primary-soft);padding:11px}.cabinet-day-heading{flex-wrap:wrap;align-items:baseline;gap:7px;display:flex}.cabinet-day-heading time{font-size:1.1875rem;font-weight:700}.cabinet-day-weekday{display:none}.cabinet-today-label{color:var(--color-primary);font-size:.8125rem;font-weight:600}.cabinet-no-shift{color:var(--color-text-muted);font-size:.875rem}.cabinet-month-empty{padding:12px 0;line-height:1.6}@media (max-width:1100px){.cabinet-calendar{grid-template-columns:repeat(3,minmax(0,1fr))}.cabinet-weekdays,.cabinet-calendar-spacer{display:none}.cabinet-day-weekday{text-transform:capitalize;color:var(--color-text-muted);font-size:.875rem;display:inline}}@media (max-width:620px){.cabinet-calendar{grid-template-columns:minmax(0,1fr);gap:12px}.cabinet-day{gap:14px;min-height:0;padding:16px}.cabinet-day.is-today{padding:15px}.cabinet-shift{font-size:1rem}.cabinet-shift strong{font-size:1.0625rem}.cabinet-month-controls{flex-direction:column}.cabinet-month-controls .btn{width:100%}.personal-cabinet .page-heading{align-items:flex-start}}.sidebar-nav{align-content:start}
