@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--font-sans:"Inter", Arial, sans-serif;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--text-2xl:1.875rem;--radius-sm:.375rem;--radius-md:.625rem;--radius-lg:.625rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--layout-control-gap:var(--space-2);--layout-field-gap:var(--space-3);--layout-panel-padding-x:var(--space-3);--layout-panel-padding-y:var(--space-3);--layout-card-padding:var(--space-4);--layout-section-gap:var(--space-4);--layout-content-gap:var(--space-4);--page-gutter:clamp(.75rem,2vw,1.5rem);--section-gap:clamp(1rem,2.5vw,1.75rem);--card-padding:clamp(.875rem,1.5vw,1.5rem);--breakpoint-phone-max:47.9375rem;--breakpoint-tablet-min:48rem;--breakpoint-desktop-min:64rem;--breakpoint-wide-min:90rem}:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-primary:#e42b26;--color-primary-hover:#c22521;--color-primary-active:#a91f1b;--color-primary-soft:#fce9e8;--color-background:#f6f7f9;--color-surface:#fff;--color-surface-raised:#fff;--color-surface-subtle:#fafafa;--color-surface-hover:#f8f9fb;--color-text:#202124;--color-text-secondary:#5f6368;--color-text-muted:#80868b;--color-line:#e4e7ec;--color-line-strong:#d0d5dd;--color-success:#137333;--color-success-soft:#e6f4ea;--color-warning:#b06000;--color-warning-soft:#fef7e0;--color-danger:#b3261e;--color-danger-soft:#fce8e6;--color-info:#175cd3;--color-info-soft:#eff8ff;--color-neutral-soft:#f2f4f7;--color-overlay:rgba(16,24,40,.54);--color-row-selected:#fff8f7;--color-row-warning:#fffdf8;--color-row-danger:snow;--color-skeleton:#f2f4f7;--color-skeleton-highlight:#e9ecf1;--color-on-solid:#fff;--color-warning-text:#664000;--shadow-card:0 1px 2px rgba(16,24,40,.04), 0 1px 3px rgba(16,24,40,.08);--shadow-modal:0 24px 48px rgba(16,24,40,.2)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-primary:#f0524e;--color-primary-hover:#ff6762;--color-primary-active:#d83d38;--color-primary-soft:rgba(228,43,38,.18);--color-background:#111315;--color-surface:#191c1f;--color-surface-raised:#202428;--color-surface-subtle:#171a1d;--color-surface-hover:#252a2f;--color-text:#f2f4f7;--color-text-secondary:#c7cbd1;--color-text-muted:#9298a1;--color-line:#30353b;--color-line-strong:#41474f;--color-success:#81c995;--color-success-soft:rgba(19,115,51,.2);--color-warning:#f9ab00;--color-warning-soft:rgba(249,171,0,.16);--color-danger:#f28b82;--color-danger-soft:rgba(179,38,30,.2);--color-info:#8ab4f8;--color-info-soft:rgba(23,92,211,.2);--color-neutral-soft:#252a2f;--color-overlay:rgba(0,0,0,.68);--color-row-selected:rgba(228,43,38,.11);--color-row-warning:rgba(249,171,0,.07);--color-row-danger:rgba(179,38,30,.09);--color-skeleton:#252a2f;--color-skeleton-highlight:#343a40;--color-on-solid:#fff;--color-warning-text:#f9c65d;--shadow-card:0 1px 2px rgba(0,0,0,.25), 0 4px 12px rgba(0,0,0,.16);--shadow-modal:0 24px 56px rgba(0,0,0,.52)}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;min-width:0;max-width:100%;min-height:100%;margin:0}html{background:var(--color-background);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-size:100%}body{background:var(--color-background);color:var(--color-text);font:400 var(--text-base)/1.5 var(--font-sans);margin:0;overflow-x:hidden}img,svg,canvas{max-width:100%}button,input,select,textarea{max-width:100%;font:inherit}a{color:var(--color-info);text-decoration:none}a:hover{text-decoration:underline}button,a,input,select,textarea{transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}:focus-visible{outline-offset:2px;outline:3px solid rgba(228,43,38,.22)}.numeric{font-variant-numeric:tabular-nums}.text-truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.text-wrap{overflow-wrap:anywhere;word-break:break-word}.grid-item,.flex-item,.chart-card,.summary-card,.approval-section{min-width:0}.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}.icon{flex:none}.app-shell{min-height:100vh;min-height:100dvh}.app-container{width:min(100%,90rem);min-width:0;padding:clamp(1rem,2vw,2rem) var(--page-gutter) calc(var(--space-6) + env(safe-area-inset-bottom));margin-left:auto;margin-right:auto}.app-header{z-index:20;background:var(--color-surface-raised);border-bottom:1px solid var(--color-line);position:-webkit-sticky;position:sticky;top:0}.app-header__inner{width:min(100%,90rem);min-width:0;min-height:3.75rem;padding:max(var(--space-2),env(safe-area-inset-top)) var(--page-gutter) var(--space-2);justify-content:space-between;align-items:center;gap:var(--space-3);margin-left:auto;margin-right:auto;display:flex}.brand,.app-header__actions{align-items:center;gap:var(--space-3);min-width:0;display:flex}.brand__mark{border-radius:var(--radius-md);background:var(--color-primary);width:max(2rem,min(7vw,2.75rem));height:max(2rem,min(7vw,2.75rem));color:var(--color-on-solid);letter-spacing:-.02em;flex:none;place-items:center;font-weight:700;display:grid}.brand__logo{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);object-fit:contain;flex:none;width:max(2rem,min(7vw,2.75rem));height:max(2rem,min(7vw,2.75rem))}.brand div,.user-context{flex-direction:column;min-width:0;display:flex}.brand strong{font-size:max(1.125rem,min(.95rem + .8vw,1.75rem));line-height:1.25}.brand span:not(.brand__mark){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand span:not(.brand__mark),.user-context span{color:var(--color-text-secondary);font-size:var(--text-xs)}.role-pill{background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--text-xs);white-space:nowrap;border-radius:999px;flex:none;padding:5px 9px;font-weight:700}.user-context{text-align:right;max-width:320px}.user-context strong{color:var(--color-text);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.theme-switcher{align-items:center;gap:var(--space-2);border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);min-height:38px;color:var(--color-text);padding:0 8px 0 10px;display:inline-flex;position:relative}.theme-switcher select{min-height:36px;color:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;outline:0;font-weight:600}.theme-switcher option{background:var(--color-surface-raised);color:var(--color-text)}.app-header__actions--desktop{display:none}.mobile-menu-button{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:2.75rem;height:2.75rem;color:var(--color-text);cursor:pointer;flex:none;padding:.6875rem;display:block}.mobile-menu-button span{background:currentColor;border-radius:999px;height:2px;margin:4px 0;display:block}.mobile-header-menu__backdrop{z-index:130;background:var(--color-overlay);justify-content:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.mobile-header-menu{width:min(100%,22.5rem);height:100vh;height:100dvh;padding-bottom:env(safe-area-inset-bottom);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-modal);flex-direction:column;display:flex}.mobile-header-menu header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--color-line);display:flex}.mobile-header-menu h2{font-size:var(--text-lg);margin:0}.mobile-header-menu__identity{min-width:0;padding:var(--space-5);border-bottom:1px solid var(--color-line);flex-direction:column;gap:2px;display:flex}.mobile-header-menu__identity strong{overflow-wrap:anywhere}.mobile-header-menu__identity span,.mobile-header-menu__identity small{color:var(--color-text-secondary)}.mobile-header-menu__controls{gap:var(--space-3);padding:var(--space-5);display:grid}.mobile-header-menu__label{color:var(--color-text-secondary);font-size:var(--text-xs);text-transform:uppercase;font-weight:600}.mobile-header-menu .theme-switcher{justify-content:space-between;width:100%}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--layout-field-gap);margin-bottom:var(--layout-section-gap);flex-wrap:wrap;display:flex}.employee-request-form-actions,.page-header__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.eyebrow{margin:0 0 var(--space-1);color:var(--color-primary);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.page-title-row{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.page-header h1{letter-spacing:-.025em;margin:0;font-size:max(1.25rem,min(1.05rem + 1vw,2rem));line-height:1.2}.page-header p:last-child{margin:var(--space-2) 0 0;color:var(--color-text-secondary)}.count-badge,.tab__count{background:var(--color-primary-soft);color:var(--color-primary-active);font-size:var(--text-xs);border-radius:999px;font-weight:700}.count-badge{white-space:nowrap;padding:4px 9px}.summary-grid{gap:var(--layout-field-gap);margin-bottom:var(--layout-section-gap);grid-template-columns:1fr;display:grid}.summary-card{justify-content:space-between;gap:var(--space-2);min-width:0;min-height:4.875rem;padding:var(--layout-card-padding);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.summary-card>div,.summary-card__body{width:100%;min-width:0}.summary-card__top{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.summary-card__label-group{align-items:center;gap:6px;min-width:0;display:inline-flex}.summary-card p,.summary-card__label{color:var(--color-text-secondary);font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:500;overflow:hidden}.summary-card strong,.summary-card__value{margin:4px 0 2px;font-size:1.5rem;font-weight:700;line-height:1.2;display:block}.summary-card__value--success{color:var(--color-success)}.summary-card__value--warning{color:var(--color-warning)}.summary-card__value--danger{color:var(--color-danger)}.summary-card__value--info{color:var(--color-info)}.summary-card__value--brown{color:#92400e}:root[data-theme=dark] .summary-card__value--brown{color:#fbbf24}.summary-card__note{color:var(--color-text-muted);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;line-height:1.35;display:block;overflow:hidden}.summary-card__icon{background:var(--color-neutral-soft);width:22px;height:22px;color:var(--color-text-secondary);border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.summary-card--warning .summary-card__icon{background:var(--color-warning-soft);color:var(--color-warning)}.summary-card--danger .summary-card__icon{background:var(--color-danger-soft);color:var(--color-danger)}.summary-card--success .summary-card__icon{background:var(--color-success-soft);color:var(--color-success)}.summary-card--info .summary-card__icon{background:var(--color-info-soft);color:var(--color-info)}.summary-card--brown .summary-card__icon{color:#92400e;background:rgba(180,83,9,.12)}:root[data-theme=dark] .summary-card--brown .summary-card__icon{color:#fbbf24;background:rgba(217,119,6,.18)}.content-card{min-width:0;margin-inline:calc(-1 * var(--page-gutter));border:1px solid var(--color-line);background:var(--color-surface);box-shadow:var(--shadow-card);border-left:0;border-right:0;border-radius:0;position:relative}.request-type-sections{gap:var(--layout-content-gap);padding:var(--layout-panel-padding-x);display:grid}.request-type-section{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;overflow:hidden}.request-type-section>h2{padding:var(--layout-panel-padding-y) var(--layout-panel-padding-x);border-bottom:1px solid var(--color-line);color:var(--color-text);margin:0;font-size:1rem}.tabs-scroll{overscroll-behavior-inline:contain;scrollbar-width:none;width:100%;max-width:100%;overflow-x:auto}.tabs-scroll::-webkit-scrollbar{display:none}.tabs{align-items:center;gap:var(--space-1);width:-webkit-max-content;width:-moz-max-content;width:max-content;min-width:100%;padding-inline:var(--layout-panel-padding-x);padding-block:var(--space-2) var(--space-1);display:flex}.tab{align-items:center;gap:var(--space-2);min-height:2.75rem;color:var(--color-text-secondary);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;padding-left:max(.75rem,min(3vw,1rem));padding-right:max(.75rem,min(3vw,1rem));font-weight:600;display:inline-flex;position:relative}.tab:hover{color:var(--color-primary)}.tab.active{background:var(--color-primary-soft);color:var(--color-primary)}.tab__count{text-align:center;min-width:23px;padding:2px 7px}.tab__label--full{display:none}.tab__label--compact{display:inline}.tab__count.is-loading{min-width:28px;color:var(--color-text-muted)}.toolbar{align-items:stretch;gap:var(--layout-field-gap);width:100%;padding:var(--layout-panel-padding-y) var(--layout-panel-padding-x);border-bottom:1px solid var(--color-line);flex-direction:column;display:flex}.toolbar__filters,.toolbar__actions{align-items:stretch;gap:var(--layout-field-gap);flex-direction:column;width:100%;min-width:0;display:flex}.toolbar__filters>*,.toolbar__actions>*{width:100%;min-width:0}.search-input{width:100%}.search-input__control{width:100%;min-width:0;display:block;position:relative}.search-input .icon{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.search-input input,.month-input input,.filter-input input{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-height:2.625rem;color:var(--color-text);font-size:var(--text-sm)}.search-input input{padding:8px 12px 8px 38px}.search-input input::placeholder{color:var(--color-text-muted)}.input-field__control{width:100%;min-width:0;display:block;position:relative}.input-field__control .icon{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.field,.field-input,.select-input{gap:var(--layout-control-gap,6px);min-width:0;color:var(--color-text-secondary);font-size:var(--text-sm);white-space:nowrap;flex-direction:column;font-weight:600;display:flex}.field>label,.field-input>span,.field>span{color:var(--color-text-secondary);margin-bottom:2px;font-size:11px;font-weight:600;line-height:1.3;display:block}.field input,.field select,.field textarea{box-sizing:border-box;width:100%}.control-input{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-width:0;min-height:2.625rem;color:var(--color-text);font-size:var(--text-sm);box-sizing:border-box;padding:.4375rem .625rem}.input-field__input{padding:8px 12px 8px 38px}.month-input,.filter-input{align-items:stretch;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);white-space:nowrap;flex-direction:column;font-weight:600;display:flex}.month-input input,.filter-input input{padding:7px 2.75rem 7px 10px}.month-input__control{width:100%;min-width:0;display:block;position:relative}.month-input__icon{color:var(--color-text-secondary);pointer-events:none;position:absolute;top:50%;right:.875rem;transform:translateY(-50%)}.month-input__control input::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer}.date-field__control{min-width:0;display:block;position:relative}.date-field .control-input{padding:.4375rem 2.75rem .4375rem .625rem}.date-field__icon{pointer-events:none;position:absolute;top:50%;right:.875rem;transform:translateY(-50%)}.date-field input::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer}.month-field__trigger{text-align:left;font:inherit;cursor:pointer}.month-field__popup{z-index:30;width:-webkit-max-content;width:-moz-max-content;width:max-content;min-width:15rem;padding:var(--space-3);border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card);position:absolute;top:calc(100% + 4px);left:0}.month-field__nav{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.month-field__nav button{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);min-width:1.75rem;min-height:1.75rem;color:var(--color-text);font-size:var(--text-md);cursor:pointer;padding:0}.month-field__year{font-size:var(--text-sm);color:var(--color-text);font-weight:600}.month-field__grid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.month-field__cell{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);text-align:center;cursor:pointer;padding:.5rem}.month-field__cell--selected{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-solid)}.select-input__control{width:100%;min-width:0;display:block;position:relative}.select-input select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-width:0;min-height:2.625rem;color:var(--color-text);font-size:var(--text-sm);text-overflow:ellipsis;padding:.4375rem 2.75rem .4375rem .625rem}.select-input__button{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-width:0;min-height:2.625rem;color:var(--color-text);font-size:var(--text-sm);text-align:left;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;padding:.4375rem 2.75rem .4375rem .75rem;font-weight:500;transition:all .12s;display:flex;position:relative}.select-input__button:hover:not(:disabled){border-color:var(--color-primary)}.select-input__button.is-open{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px rgba(228,43,38,.12)}.select-input__button:focus-visible{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px rgba(228,43,38,.12)}.select-input__button:disabled{opacity:.6;cursor:not-allowed}.select-input__label{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.select-input__icon{color:var(--color-text-secondary);pointer-events:none;transition:transform .15s;position:absolute;top:50%;right:.875rem;transform:translateY(-50%)}.select-input__icon.is-open{transform:translateY(-50%)rotate(180deg)}.select-dropdown-menu{z-index:100;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);min-width:100%;max-height:260px;padding:4px;animation:.12s ease-out dropdownSlideDown;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 25px rgba(16,24,40,.12),0 4px 10px rgba(16,24,40,.06)}@keyframes dropdownSlideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.select-dropdown-item{border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-weight:500;transition:background .1s,color .1s;display:flex}.select-dropdown-item:hover{background:var(--color-neutral-soft)}.select-dropdown-item.is-selected{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.select-dropdown-item.is-disabled{opacity:.5;cursor:not-allowed}.select-dropdown-check{color:var(--color-primary);flex-shrink:0}.theme-toggle-btn{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:36px;height:36px;min-height:36px;color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:all .12s;display:inline-flex}.theme-toggle-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}.language-btn{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);height:36px;min-height:36px;color:var(--color-text);cursor:pointer;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;transition:all .12s;display:inline-flex}.language-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.language-btn__icon{color:var(--color-text-secondary);transition:transform .15s}.language-btn__icon.is-open{transform:rotate(180deg)}.language-dropdown-menu{min-width:140px;left:auto;right:0}input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;border-radius:4px;width:16px;height:16px}.refresh-meta{color:var(--color-text-secondary);font-size:var(--text-xs);white-space:nowrap}.result-count{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;color:var(--color-text-secondary);font-size:var(--text-xs);white-space:nowrap}.button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);min-height:2.5rem;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;border:1px solid transparent;padding:.5rem .8125rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.button:hover{text-decoration:none}.button--primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-solid)}.button--primary:hover:not(:disabled){border-color:var(--color-primary-hover);background:var(--color-primary-hover)}.button--primary:active:not(:disabled){background:var(--color-primary-active)}.button--secondary{border-color:var(--color-line-strong);background:var(--color-surface);color:var(--color-text)}.button--secondary:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.button--ghost{color:var(--color-info);background:0 0;border-color:transparent}.button--ghost:hover:not(:disabled){background:var(--color-info-soft)}.button--danger{background:var(--color-surface);color:var(--color-danger);border-color:rgba(179,38,30,.35)}.button--danger:hover:not(:disabled){border-color:var(--color-danger);background:var(--color-danger-soft)}.button--danger-solid{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-on-solid)}.button--danger-solid:hover:not(:disabled){filter:brightness(.88)}.button--compact{white-space:nowrap;border-radius:7px;min-height:32px;padding:5px 9px;font-size:12px;font-weight:600;line-height:18px}.button--icon-only{justify-content:center;align-items:center;width:2.5rem;min-width:2.5rem;padding:0;display:inline-flex}.button--small.button--icon-only,.button--compact.button--icon-only{width:2rem;min-width:2rem;height:2rem;min-height:2rem;padding:0}.button:disabled,.icon-button:disabled{opacity:.52;cursor:not-allowed}.button-spinner{border:2px solid;border-right-color:transparent;border-radius:50%;flex:0 0 14px;width:14px;height:14px;animation:.7s linear infinite button-spinner-rotate}@keyframes button-spinner-rotate{to{transform:rotate(360deg)}}.reject-modal__submit{min-width:156px}@media (prefers-reduced-motion:reduce){.button-spinner{animation-duration:1.5s}}.icon-button{border-radius:var(--radius-sm);width:36px;height:36px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.icon-button:hover:not(:disabled){background:rgba(255,255,255,.14)}.text-button{color:var(--color-info);font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-weight:600}.link-button{font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.link-button:hover{text-decoration:underline}.spinner{border:2px solid;border-right-color:transparent;border-radius:50%;width:15px;height:15px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.table-wrap{max-width:100%;overflow:auto}table{font-size:var(--text-sm)}.pending-table-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-line-strong) var(--color-surface-subtle);width:100%;max-width:100%;position:relative;overflow-x:scroll;overflow-y:auto}.pending-table-scroll:focus-visible{outline-offset:-3px}.pending-table{table-layout:fixed;min-width:1440px}.pending-table .column-select{width:48px}.pending-table .column-requestor{width:200px}.pending-table .column-leave-period{width:220px}.pending-table .column-leave-days{width:140px}.pending-table .column-leave-type{width:220px}.pending-table .column-submitted{width:120px}.pending-table .column-sla{width:110px}.pending-table .column-status{width:256px}.pending-table .column-actions{width:230px}.team-table{min-width:980px}.workspace-table{border-collapse:separate;border-spacing:0;width:100%;color:var(--color-text)}.workspace-table th,.workspace-table td{box-sizing:border-box;border-bottom:1px solid var(--color-line);background:var(--color-surface);text-align:left;vertical-align:middle;min-width:0}.workspace-table th{z-index:3;padding:var(--table-header-padding-y) var(--table-header-padding-x);background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:var(--text-xs);text-transform:uppercase;white-space:nowrap;font-weight:600;position:-webkit-sticky;position:sticky;top:0}.workspace-table td{padding:var(--table-cell-padding-y) var(--table-cell-padding-x)}.workspace-table tbody tr{min-height:var(--table-row-min-height);transition:background-color .15s}.workspace-table tbody tr:last-child td{border-bottom:0}.workspace-table tbody tr:hover td{background:var(--color-surface-hover)}.workspace-table tbody tr.is-selected td{background:var(--color-row-selected)}.workspace-table tbody tr.is-expiring td{background:var(--color-row-warning)}.workspace-table tbody tr.is-expired td{background:var(--color-row-danger)}.check{text-align:center;width:48px}input[type=checkbox]{width:17px;height:17px;accent-color:var(--color-primary);cursor:pointer;margin:0}.sticky-left{z-index:4;box-shadow:1px 0 0 var(--color-line);position:-webkit-sticky;position:sticky;left:0}.sticky-right{z-index:4;box-shadow:-1px 0 0 var(--color-line);text-align:right;position:-webkit-sticky;position:sticky;right:0}.row-actions{justify-content:flex-end;align-items:center;gap:var(--space-1);min-width:260px;display:flex}th.sticky-left,th.sticky-right{z-index:6}.pending-table th,.pending-table td{box-sizing:border-box}.pending-table__requestor-cell{width:200px;min-width:200px}.pending-table__requestor-email{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.pending-table__leave-period-cell{white-space:nowrap;width:220px;min-width:220px}.pending-table__leave-type-cell{width:220px;min-width:220px}.pending-table__leave-type-cell .leave-type,.pending-table__leave-type-cell .leave-reason{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.pending-table__leave-type-cell .leave-reason{margin-top:2px}.pending-table__status-header,.pending-table__status-cell{width:256px;min-width:256px}.pending-table__status-cell{padding-right:16px}.pending-table__status-cell .status-badge{white-space:nowrap;max-width:100%}.pending-table__actions-header,.pending-table__actions-cell{border-left:1px solid var(--color-line);background:var(--color-surface);text-align:right;width:230px;min-width:230px;padding-left:8px;padding-right:8px;position:-webkit-sticky;position:sticky;right:0;overflow:visible;box-shadow:-8px 0 14px -12px rgba(16,24,40,.55)}.pending-table__actions-cell{z-index:4}.pending-table__actions-header{z-index:6;background:var(--color-surface-subtle)}.pending-table__actions,.request-actions{white-space:nowrap;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:6px;width:100%;min-width:0;display:flex}.pending-table__actions .button,.request-actions>.button{white-space:nowrap;flex:none;gap:.25rem;min-height:2rem;padding:.3125rem .5rem;font-size:.75rem;line-height:1.125rem}.request-actions__details{width:auto;min-width:3.625rem}.request-actions__approve{width:auto;min-width:4.5rem;padding:.3125rem .5rem}.request-actions__approve.is-loading{min-width:5.5rem}.request-actions__reject{width:auto;min-width:3.875rem}.request-actions .button-spinner{border-width:.09375rem;flex-basis:.75rem;width:.75rem;height:.75rem}:root[data-theme=dark] .pending-table__actions-header,:root[data-theme=dark] .pending-table__actions-cell{box-shadow:-8px 0 14px -12px rgba(0,0,0,.9)}.hr-approvals-table-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-line-strong) var(--color-surface-subtle);width:100%;max-height:620px;position:relative;overflow-x:scroll;overflow-y:auto}.hr-approvals-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:1526px}.hr-approvals-table .column-select{width:44px}.hr-approvals-table .column-requestor{width:220px}.hr-approvals-table .column-leave-period{width:240px}.hr-approvals-table .column-leave-days{width:140px}.hr-approvals-table .column-leave-type{width:260px}.hr-approvals-table .column-manager-approved{width:150px}.hr-approvals-table .column-sla{width:140px}.hr-approvals-table .column-status{width:256px}.hr-approvals-table .column-actions{width:230px}.hr-approvals-table__requestor-cell{width:220px;min-width:220px}.hr-approvals-table__leave-period-cell{white-space:nowrap;width:240px;min-width:240px}.hr-approvals-table__leave-days-cell{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;width:140px;min-width:140px}.hr-approvals-table__leave-type-cell{width:260px;min-width:260px}.hr-approvals-table__manager-approved-header,.hr-approvals-table__manager-approved-cell{white-space:nowrap;font-variant-numeric:tabular-nums;width:150px;min-width:150px}.hr-approvals-table__sla-header,.hr-approvals-table__sla-cell{white-space:nowrap;width:140px;min-width:140px}.hr-approvals-table .pending-table__status-header,.hr-approvals-table .pending-table__status-cell{white-space:nowrap;width:256px;min-width:256px}.hr-approvals-table thead th{z-index:3;background:var(--color-surface-subtle);position:-webkit-sticky;position:sticky;top:0}.hr-approvals-table .pending-table__actions-header,.hr-approvals-table .pending-table__actions-cell{background:var(--color-surface);width:230px;min-width:230px;padding-left:8px;padding-right:8px}.hr-approvals-table .pending-table__actions-header{z-index:6;background:var(--color-surface-subtle)}.hr-approvals-table tbody tr:hover td,.hr-approvals-table tbody tr:hover td.pending-table__actions-cell{background:var(--color-surface-hover)}.hr-approvals-table tbody tr.is-selected td,.hr-approvals-table tbody tr.is-selected td.pending-table__actions-cell{background:var(--color-primary-soft)}.requestor{flex-direction:column;gap:2px;max-width:245px;display:flex}.requestor a,.employee-link{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.requestor span,td small,.date-time small{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:400}.cell-title{font-size:var(--text-sm);font-weight:600;display:block}.reason{text-overflow:ellipsis;white-space:nowrap;max-width:250px;display:block;overflow:hidden}.date-range{white-space:nowrap}.date-time{white-space:nowrap;flex-direction:column;display:flex}.date-time strong{font-weight:500}.numeric-cell{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table-cell--left{text-align:left}.table-cell--center{text-align:center}.table-cell--right{text-align:right}.team-overview-table{table-layout:fixed;min-width:1670px}.team-overview-table th,.team-overview-table td{vertical-align:middle}.team-overview-table th.numeric-column,.team-overview-table td.numeric-column{text-align:center;font-variant-numeric:tabular-nums}.team-overview-table th.column-text,.team-overview-table td:first-child{text-align:left}.team-overview-table .numeric-value{white-space:nowrap}.team-overview-table .column-requestor{width:32%;min-width:240px}.team-overview-table .column-present-days{width:140px}.team-overview-table .column-attendance-rate,.team-overview-table .column-actual-attendance-rate,.team-overview-table .column-core-time-late{width:190px}.team-overview-table .column-al-approved{width:150px}.team-overview-table .column-ot-approved,.team-overview-table .column-pending-counts{width:155px}.team-overview-table .column-client-visit-hours{width:150px}.team-overview-table .column-adjusted-attendance{width:190px}.employee-attendance-table .column-date{min-width:160px}.employee-attendance-table .column-worked-hours{min-width:120px}.employee-attendance-table .numeric-value{white-space:nowrap;font-variant-numeric:tabular-nums}.employee-attendance-row--weekend td{background:var(--color-warning-soft);color:var(--color-text-secondary)}.overview-card--weekend{background:var(--color-warning-soft)}.employee-attendance-row--holiday td{background:linear-gradient(135deg, var(--color-danger-soft) 0%, var(--color-warning-soft) 100%);color:var(--color-text-secondary)}.overview-card--holiday{background:linear-gradient(135deg, var(--color-danger-soft) 0%, var(--color-warning-soft) 100%)}.holiday-star{color:#f5c518;flex-shrink:0}.employee-summary-grid{margin-top:var(--layout-section-gap)}.standalone-signin{min-height:100vh;min-height:100dvh;padding:var(--space-6);background:var(--color-surface-subtle);place-items:center;display:grid}.standalone-signin__card{width:min(100%,24rem);padding:var(--space-6);text-align:center}.standalone-signin__card h1{margin:0 0 var(--space-2);font-size:var(--text-lg)}.standalone-signin__card p{margin:0 0 var(--space-4);color:var(--color-text-secondary);font-size:var(--text-sm)}.standalone-signin__card>div:last-child{justify-content:center;display:flex}.workspace-loading-screen{min-height:100vh;min-height:100dvh;padding:var(--space-6);background:var(--color-surface-subtle);justify-content:center;align-items:center;display:flex}.workspace-loading-card{width:min(100%,25rem);padding:var(--space-6) var(--space-6) var(--space-5);text-align:center;border-radius:var(--radius-lg,12px);border:1px solid var(--color-line);background:var(--color-surface);box-shadow:0 10px 30px rgba(0,0,0,.08)}.workspace-loading-card__brand{margin-bottom:var(--space-4);justify-content:center;display:flex}.workspace-loading-card__title{margin:0 0 var(--space-1);color:var(--color-text);letter-spacing:-.01em;font-size:1.15rem;font-weight:700}.workspace-loading-card__subtitle{margin:0 0 var(--space-5);font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.4}.workspace-loading-card__progress-container{background:var(--color-neutral-soft,rgba(0,0,0,.06));width:100%;height:6px;margin-bottom:var(--space-3);border-radius:999px;position:relative;overflow:hidden}:root[data-theme=dark] .workspace-loading-card__progress-container{background:rgba(255,255,255,.08)}.workspace-loading-card__progress-bar{background:linear-gradient(90deg, var(--color-primary) 0%, #f97316 50%, var(--color-primary) 100%);background-size:200% 100%;border-radius:999px;height:100%;animation:1.8s cubic-bezier(.65,0,.35,1) infinite workspaceProgressBar,2s linear infinite workspaceGradientShimmer;position:absolute;top:0;left:0}@keyframes workspaceProgressBar{0%{width:35%;left:-35%}50%{width:60%;left:25%}to{width:35%;left:100%}}@keyframes workspaceGradientShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.workspace-loading-card__meta{justify-content:center;align-items:center;gap:var(--space-2);display:flex}.workspace-loading-card__timer{font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--color-text-muted);align-items:center;gap:6px;font-weight:600;display:inline-flex}.workspace-loading-card__timer .timer-dot{background:var(--color-primary);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite alternate pulseDot;display:inline-block}@keyframes pulseDot{0%{opacity:.4;transform:scale(.85)}to{opacity:1;transform:scale(1.15)}}.submit-request-modal__body{gap:var(--layout-field-gap);padding:var(--space-5);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.submit-request-modal__row{gap:var(--layout-field-gap);grid-template-columns:1fr;display:grid}.submit-request-modal__textarea{resize:vertical;min-height:5.5rem;font:inherit;padding:8px 12px}.submit-request-modal__balance-preview{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-neutral-soft);color:var(--color-text-secondary);font-size:var(--text-sm);flex-direction:column;gap:2px;display:flex}.submit-request-modal__balance-preview--negative{color:var(--color-danger);font-weight:600}.employee-requests-table__actions-cell{gap:var(--space-2);justify-content:flex-end;display:flex}.pending-counts-cell{gap:var(--space-1);flex-wrap:wrap;justify-content:center;display:inline-flex}.submitted-confirmation-modal__body{padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.submitted-confirmation-modal__code{gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-success-soft);flex-direction:column;display:flex}.submitted-confirmation-modal__code strong{font-size:var(--text-xl);color:var(--color-success);letter-spacing:.02em}@media (min-width:640px){.submit-request-modal__row{grid-template-columns:repeat(2,minmax(0,1fr))}}.employee-requests-table .column-type{width:70px}.employee-requests-table .column-period{min-width:200px}.employee-requests-table .column-amount{width:110px}.employee-requests-table .column-submitted{min-width:150px}.employee-requests-table .column-actions{width:140px}.attendance-cell{justify-content:center;align-items:center;min-width:0;display:flex}.status-badge{font-size:var(--text-xs);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-weight:600;display:inline-flex}.status-badge--info{background:var(--color-info-soft);color:var(--color-info)}.status-badge--success{background:var(--color-success-soft);color:var(--color-success)}.status-badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.status-badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.status-badge--neutral{background:var(--color-neutral-soft);color:var(--color-text-secondary)}.status-badge--holiday{background:linear-gradient(135deg, var(--color-danger-soft) 0%, var(--color-warning-soft) 100%);color:var(--color-danger)}.sla-badge{box-sizing:border-box;text-align:center;min-width:112px;font-size:var(--text-xs);white-space:nowrap;background:var(--color-neutral-soft);color:var(--color-text-secondary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:5px 12px;font-weight:600;display:inline-flex}.sla-badge span{flex-direction:column;display:flex}.sla-badge strong{font-size:var(--text-xs);line-height:1.25}.sla-badge small{color:inherit;font-size:10px;line-height:1.2}.sla-badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.sla-badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.present-days-cell{text-align:center;flex-direction:column;justify-content:center;align-items:center;line-height:1.25;display:inline-flex}.present-days-cell strong{color:var(--color-text);font-size:13px;font-weight:700;line-height:1.25}.present-days-cell small{color:var(--color-text-secondary);white-space:nowrap;margin-top:2px;font-size:10.5px;font-weight:500;line-height:1.2}.attendance-rate{box-sizing:border-box;font-size:var(--text-xs);white-space:nowrap;vertical-align:middle;text-align:center;justify-content:center;align-items:center;gap:6px;font-weight:600;display:inline-flex}.attendance-rate span{flex-direction:column;justify-content:center;align-items:center;line-height:1.25;display:flex}.attendance-rate strong{font-size:var(--text-xs);line-height:1.25}.attendance-rate small{color:inherit;opacity:.95;font-size:10px;font-weight:500;line-height:1.2}.attendance-rate--success{background:var(--color-success-soft);color:var(--color-success);border-radius:999px;flex-shrink:0;width:140px;min-width:140px;padding:4px 10px}.attendance-rate--warning{background:var(--color-warning-soft);color:var(--color-warning);border-radius:999px;flex-shrink:0;width:140px;min-width:140px;padding:4px 10px}.attendance-rate--brown{color:#92400e;background:rgba(180,83,9,.12);border:1px solid rgba(180,83,9,.2);border-radius:999px;flex-shrink:0;width:140px;min-width:140px;padding:4px 10px}:root[data-theme=dark] .attendance-rate--brown{color:#fbbf24;background:rgba(217,119,6,.18);border-color:rgba(217,119,6,.3)}.attendance-rate--danger,.attendance-rate--low{background:var(--color-danger-soft);color:var(--color-danger);border-radius:999px;flex-shrink:0;width:140px;min-width:140px;padding:4px 10px}.core-time-late{box-sizing:border-box;font-size:var(--text-xs);white-space:nowrap;vertical-align:middle;text-align:center;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;width:140px;min-width:140px;padding:4px 10px;font-weight:600;display:inline-flex}.core-time-late span{flex-direction:column;justify-content:center;align-items:center;line-height:1.25;display:flex}.core-time-late strong{font-size:var(--text-xs);line-height:1.25}.core-time-late small{color:inherit;opacity:.95;font-size:10px;font-weight:500;line-height:1.2}.core-time-late--warning{background:var(--color-warning-soft);color:var(--color-warning)}.core-time-late--exceeds{background:var(--color-danger-soft);color:var(--color-danger)}.bulk-action-bar{right:var(--space-4);bottom:var(--space-4);left:var(--space-4);z-index:10;justify-content:space-between;align-items:center;gap:var(--space-4);margin:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface);display:flex;position:-webkit-sticky;position:sticky;box-shadow:0 8px 24px rgba(16,24,40,.14)}.bulk-action-bar .text-button{margin-left:var(--space-2)}.mobile-request-list,.mobile-overview-list{gap:var(--layout-field-gap);padding:var(--layout-panel-padding-x);grid-template-columns:1fr;display:grid}.request-card{border:1px solid var(--color-line);background:var(--color-surface);border-radius:max(.75rem,min(1vw,1rem));width:100%;min-width:0;padding:0}.request-card.is-selected{border-color:var(--color-primary);background:var(--color-row-selected)}.request-card__head{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-line);display:flex}.request-card__head .requestor{flex:1;min-width:0}.request-card dl{gap:var(--layout-field-gap);padding:var(--layout-card-padding);grid-template-columns:1fr;margin:0;display:grid}.request-card dt{color:var(--color-text-secondary);font-size:var(--text-xs);margin-bottom:3px}.request-card dd{font-size:var(--text-sm);margin:0;font-weight:500}.request-card dd,.overview-card dd,.overview-card__title,.overview-card__manager{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.request-card__wide{grid-column:auto}.request-card__actions{gap:var(--space-2);padding:0 var(--space-4) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.request-card__actions .button-view-details{grid-column:1/-1}.request-card__actions .button{min-width:0;min-height:2.75rem}.overview-card{min-width:0;padding:var(--layout-card-padding);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text)}.overview-card header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.overview-card header>div{flex-direction:column;gap:3px;min-width:0;display:flex}.overview-card__title{font-weight:700;display:block}.overview-card__manager,.overview-card header small{color:var(--color-text-secondary);font-size:var(--text-xs)}.overview-card__metrics{gap:var(--space-2) var(--space-4);grid-template-columns:minmax(0,1fr) auto;margin:0;display:grid}.overview-card__metrics dt{color:var(--color-text-secondary);font-size:var(--text-sm)}.overview-card__metrics dd{text-align:right;font-variant-numeric:tabular-nums;font-size:var(--text-sm);margin:0;font-weight:600}.approved-request-card>.button{width:100%;margin-top:var(--space-4)}.empty-state{padding:56px var(--space-6);text-align:center;flex-direction:column;align-items:center;display:flex}.empty-state__icon{width:48px;height:48px;margin-bottom:var(--space-3);background:var(--color-neutral-soft);color:var(--color-text-secondary);border-radius:50%;place-items:center;display:grid}.empty-state h3,.error-state h3{font-size:var(--text-md);margin:0}.empty-state p,.error-state p{max-width:480px;margin:var(--space-1) 0 var(--space-4);color:var(--color-text-secondary);font-size:var(--text-sm)}.error-state{align-items:flex-start;gap:var(--space-4);padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-danger-soft);color:var(--color-danger);border:1px solid rgba(179,38,30,.25);display:flex}.skeleton-table{padding:var(--space-4)}.skeleton-row{grid-template-columns:repeat(var(--skeleton-columns,6),1fr);gap:var(--space-4);border-bottom:1px solid var(--color-line);padding:13px 0;display:grid}.skeleton-row span,.skeleton-card span,.skeleton-cell{background:linear-gradient(90deg,var(--color-skeleton) 25%,var(--color-skeleton-highlight) 50%,var(--color-skeleton) 75%);background-size:200% 100%;border-radius:4px;height:16px;animation:1.4s infinite skeleton}.skeleton-card-list{gap:var(--space-3);padding:var(--space-3);display:grid}.skeleton-card{gap:var(--space-4);min-height:180px;padding:var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-md);display:grid}.skeleton-card span:nth-child(2){width:78%}.skeleton-card span:nth-child(3){width:60%}.skeleton-table-row{height:var(--table-row-min-height)}.skeleton-table-row .skeleton-cell{width:100%;display:block}.skeleton-table-row:hover td{background:var(--color-surface)}@keyframes skeleton{to{background-position:-200% 0}}.modal-backdrop{z-index:100;background:var(--color-overlay);align-items:stretch;padding:0;animation:.15s fade-in;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.modal{width:100%;max-width:none;height:100vh;background:var(--color-surface);height:100dvh;box-shadow:var(--shadow-modal);border-radius:0;flex-direction:column;animation:.18s modal-in;display:flex;overflow:hidden}.modal__header{gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--color-line);grid-template-columns:auto 1fr auto;display:grid}.modal__header h2{font-size:var(--text-lg);margin:0}.modal__header p{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--text-sm)}.modal__header .icon-button{color:var(--color-text-secondary)}.modal__header .icon-button:hover{background:var(--color-neutral-soft)}.modal__icon{border-radius:var(--radius-md);background:var(--color-warning-soft);width:38px;height:38px;color:var(--color-warning);place-items:center;display:grid}.attendance-history-modal__body{min-height:0;padding:var(--space-4);gap:var(--space-4);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.warning-table{min-height:0;margin:var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-md);flex:auto;overflow:auto}.warning-table__head,.warning-table__row{gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:.625rem .75rem;display:grid}.warning-table__head span:last-child,.warning-table__row>span:last-child{display:none}.warning-table__head{background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:var(--text-xs);text-transform:uppercase;font-weight:600}.warning-table__row+.warning-table__row{border-top:1px solid var(--color-line)}.warning-table__row>span:first-child{flex-direction:column;min-width:0;display:flex}.warning-table__row>span:first-child strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.warning-table__row small{color:var(--color-text-secondary);font-size:var(--text-xs)}.confirm{align-items:flex-start;gap:var(--space-3);margin:var(--space-5);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-warning-soft);color:var(--color-warning-text);font-size:var(--text-sm);display:flex}.modal-actions{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4) max(var(--space-3),env(safe-area-inset-bottom));border-top:1px solid var(--color-line);flex:none;display:flex}.modal-actions .button{flex:1}.reject-modal{width:100%;max-width:none;height:100vh;background:var(--color-surface);height:100dvh;box-shadow:var(--shadow-modal);border-radius:0;flex-direction:column;animation:.18s modal-in;display:flex;overflow:hidden}.reject-modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--color-line);flex:none;display:flex}.reject-modal__header h2{font-size:var(--text-lg);margin:0}.reject-modal__header p{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--text-sm)}.reject-modal__header .icon-button{color:var(--color-text-secondary)}.reject-modal__header .icon-button:hover:not(:disabled){background:var(--color-neutral-soft)}.reject-modal__body{min-height:0;padding:var(--space-5);overflow-y:auto}.reject-modal__summary{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-subtle);grid-template-columns:1fr;margin:0;display:grid}.reject-modal__summary div{min-width:0}.reject-modal__summary dt{color:var(--color-text-secondary);font-size:var(--text-xs);margin:0 0 3px;font-weight:500}.reject-modal__summary dd{min-width:0;color:var(--color-text);font-size:var(--text-sm);margin:0;font-weight:600}.truncate{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.reject-modal__field{margin-top:var(--space-5)}.field-label-row{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.field-label-row label{font-size:var(--text-sm);font-weight:600}.field-label-row span{color:var(--color-text-secondary);font-size:var(--text-xs)}.reject-modal__textarea{resize:vertical;border:1px solid var(--color-line-strong);border-radius:var(--radius-md);width:100%;min-height:8.75rem;color:var(--color-text);padding:.6875rem .75rem;font-size:1rem;line-height:1.5}.reject-modal__textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px rgba(228,43,38,.14)}.reject-modal__textarea[aria-invalid=true]{border-color:var(--color-danger)}.field-help{margin-top:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-xs)}.inline-error{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-danger-soft);color:var(--color-danger);font-size:var(--text-sm);display:flex}.reject-modal__footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4) max(var(--space-3),env(safe-area-inset-bottom));border-top:1px solid var(--color-line);background:var(--color-surface);flex:none;display:flex}.reject-modal__footer .button{flex:1}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(6px)scale(.985)}}.toast{top:84px;right:var(--space-5);z-index:120;justify-content:space-between;align-items:flex-start;gap:var(--space-3);width:min(100% - 32px,420px);padding:var(--space-3) var(--space-4);border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-text);color:var(--color-on-solid);font-size:var(--text-sm);animation:.18s toast-in;display:flex;position:fixed;box-shadow:0 12px 30px rgba(16,24,40,.2)}.toast--success{border-color:var(--color-success);background:var(--color-success)}.toast--error{border-color:var(--color-danger);background:var(--color-danger)}.toast--warning{border-color:var(--color-warning);background:var(--color-warning)}.toast--info{border-color:var(--color-info);background:var(--color-info)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}}.approved-table .sticky-right{min-width:110px}.hr-overview-summary{margin-top:0}.hr-overview-totals{gap:var(--layout-field-gap);margin:0 0 var(--layout-content-gap);color:var(--color-text-secondary);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.hr-overview-totals strong{color:var(--color-text)}.hr-overview-toolbar .toolbar__filters{align-items:stretch;gap:var(--layout-field-gap);flex-flow:column;flex:1}.approval-toolbar,.expired-requests-toolbar,.approved-requests-toolbar,.team-overview-toolbar,.hr-overview-toolbar,.analytics-toolbar,.client-visit-toolbar{min-width:0}.hr-overview-toolbar__row{align-items:stretch;gap:var(--layout-field-gap);flex-direction:column;width:100%;min-width:0;display:flex}.team-overview-toolbar .toolbar__filters,.approved-requests-toolbar .toolbar__filters,.client-visit-toolbar .toolbar__filters,.analytics-toolbar__filters{gap:var(--layout-field-gap);min-width:0}.hr-overview-toolbar__row>*,.team-overview-toolbar .toolbar__filters>*,.approved-requests-toolbar .toolbar__filters>*,.client-visit-toolbar .toolbar__filters>*,.analytics-toolbar__filters>*{width:100%;min-width:0}.toolbar__filters>.result-count,.toolbar__actions>.result-count,.employee-requests-toolbar__count{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%}.employee-requests-toolbar__count strong{color:var(--color-text);font-size:var(--text-sm);white-space:nowrap;font-weight:700}.hr-overview-toolbar .select-input select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.75rem}.hr-overview-table-scroll{overflow-y:visible}.hr-overview-table{table-layout:fixed;min-width:1670px}.hr-overview-table .column-employee,.hr-overview-table .column-manager{width:230px}.hr-overview-table .column-present-days{width:140px}.hr-overview-table .column-worked-hours{width:135px}.hr-overview-table .column-attendance-rate,.hr-overview-table .column-actual-attendance-rate,.hr-overview-table .column-core-time-late{width:190px}.hr-overview-table .column-al-approved{width:150px}.hr-overview-table .column-ot-approved,.hr-overview-table .column-pending-manager{width:155px}.hr-overview-table .column-pending-hr{width:125px}.hr-overview-table th.numeric-column,.hr-overview-table td.numeric-column{text-align:center;vertical-align:middle;white-space:nowrap;font-variant-numeric:tabular-nums}.hr-overview-table th.column-text,.hr-overview-table td:first-child,.hr-overview-table td:nth-child(2){text-align:left}.hr-overview-table td:first-child,.hr-overview-table td:nth-child(2),.hr-overview-table .employee-link,.hr-overview-table .truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-header-label{flex-direction:column;justify-content:center;align-items:center;gap:1px;max-width:100%;display:inline-flex}.no-data{color:var(--color-text-secondary);font-size:var(--text-xs)}.request-type-badge{background:var(--color-info-soft);color:var(--color-info);letter-spacing:.04em;border-radius:999px;align-items:center;padding:1px 6px;font-size:10px;font-weight:700;display:inline-flex}.background-error{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-line);background:var(--color-warning-soft);color:var(--color-warning-text);font-size:var(--text-sm);margin:0}.drawer-backdrop{z-index:100;background:var(--color-overlay);justify-content:flex-end;animation:.15s fade-in;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.drawer-backdrop--covered{pointer-events:none}.reject-backdrop--over-drawer{z-index:150}.detail-drawer{width:100%;max-width:none;height:100vh;background:var(--color-surface);height:100dvh;box-shadow:var(--shadow-modal);animation:.18s drawer-in;overflow-y:auto}.detail-drawer header{z-index:2;justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--color-line);background:var(--color-surface);display:flex;position:-webkit-sticky;position:sticky;top:0}.detail-drawer h2{margin:2px 0 var(--space-2);font-size:var(--text-lg)}.detail-drawer__body{padding:var(--space-5)}.detail-drawer dl{gap:var(--space-3);grid-template-columns:1fr;margin:0;display:grid}.detail-drawer dl>div{min-width:0;padding:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-subtle)}.detail-drawer .detail-wide{grid-column:1/-1}.detail-drawer dt{color:var(--color-text-secondary);font-size:var(--text-xs);margin-bottom:4px;font-weight:600}.detail-drawer dd{overflow-wrap:anywhere;font-size:var(--text-sm);margin:0}@keyframes drawer-in{0%{opacity:.7;transform:translate(24px)}}.request-detail{width:100%;color:var(--color-text);flex-direction:column;display:flex;overflow:hidden}.request-detail__header{flex:none;align-items:flex-start}.request-detail__heading{flex:1;min-width:0}.request-detail__heading h2:focus{outline:none}.request-detail__heading p{color:var(--color-text-secondary);font-size:var(--text-xs);margin:2px 0 0}.request-detail__content{min-height:0;padding:0 var(--space-5);flex:auto;overflow-y:auto}.request-detail__section{padding:var(--space-5) 0;border-bottom:1px solid var(--color-line)}.request-detail__section:last-child{border-bottom:0}.request-detail__section h3{margin:0 0 var(--space-3);font-size:var(--text-base)}.request-detail .detail-grid{gap:var(--space-3);grid-template-columns:1fr;margin:0;display:grid}.request-detail .detail-field{min-width:0;padding:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-subtle)}.request-detail .detail-field--wide{grid-column:auto}.request-detail .detail-field dt{color:var(--color-text-muted);font-size:var(--text-xs);margin:0 0 3px;font-weight:500}.request-detail .detail-field dd{overflow-wrap:anywhere;color:var(--color-text);font-size:var(--text-sm);margin:0;font-weight:500}.detail-comment{white-space:pre-wrap;overflow-wrap:anywhere}.approval-timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.timeline-step{gap:var(--space-2);grid-template-columns:18px 1fr;min-height:48px;display:grid;position:relative}.timeline-step:not(:last-child):after{background:var(--color-line-strong);content:"";width:2px;position:absolute;top:16px;bottom:0;left:6px}.timeline-dot{z-index:1;border:3px solid var(--color-surface);background:var(--color-line-strong);width:14px;height:14px;box-shadow:0 0 0 1px var(--color-line-strong);border-radius:50%;margin-top:3px;position:relative}.timeline-step--completed .timeline-dot,.timeline-step--approved .timeline-dot{background:var(--color-success);box-shadow:0 0 0 1px var(--color-success)}.timeline-step--pending .timeline-dot{background:var(--color-warning);box-shadow:0 0 0 1px var(--color-warning)}.timeline-step--rejected .timeline-dot{background:var(--color-danger);box-shadow:0 0 0 1px var(--color-danger)}.timeline-step div{flex-direction:column;display:flex}.timeline-step strong{font-size:var(--text-sm)}.timeline-step span:last-child{color:var(--color-text-secondary);font-size:var(--text-xs)}.request-detail__notice{margin:var(--space-4) 0;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-warning-soft);color:var(--color-warning-text);font-size:var(--text-sm)}.request-detail__footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4) max(var(--space-3),env(safe-area-inset-bottom));border-top:1px solid var(--color-line);background:var(--color-surface);flex-wrap:wrap;flex:none;display:flex}.request-detail__footer .button{flex:1}.direct-approval-page{min-height:calc(100vh - 69px);padding:var(--space-8) var(--space-4)}.direct-approval-result{border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);width:min(100%,45rem);box-shadow:var(--shadow-card);margin:0 auto;overflow:hidden}.direct-approval-result__hero{padding:var(--space-8);border-bottom:1px solid var(--color-line);text-align:center}.direct-approval-result__hero h1{font-size:clamp(var(--text-xl),4vw,var(--text-2xl));letter-spacing:-.025em;margin:0;line-height:1.2}.direct-approval-result__hero>p:not(.eyebrow){max-width:560px;margin:var(--space-3) auto var(--space-4);color:var(--color-text-secondary)}.direct-approval-result__icon{width:56px;height:56px;margin-bottom:var(--space-4);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.direct-approval-result__icon--success{background:var(--color-success-soft);color:var(--color-success)}.direct-approval-result__icon--info{background:var(--color-info-soft);color:var(--color-info)}.direct-approval-result__icon--danger{background:var(--color-danger-soft);color:var(--color-danger)}.direct-approval-result__content{padding:var(--space-6)}.direct-approval-result__content section+section{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-line)}.direct-approval-result__content h2{margin:0 0 var(--space-4);font-size:var(--text-md)}.direct-request-summary{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.direct-request-summary>div{min-width:0;padding:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-subtle)}.direct-request-summary dt{color:var(--color-text-secondary);font-size:var(--text-xs);margin:0 0 3px;font-weight:500}.direct-request-summary dd{overflow-wrap:anywhere;min-width:0;color:var(--color-text);font-size:var(--text-sm);margin:0;font-weight:600}.direct-summary-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.direct-approval-result__notice{margin:var(--space-6) 0 0;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-info-soft);color:var(--color-info);font-size:var(--text-sm)}.direct-approval-result__actions{justify-content:center;gap:var(--space-3);padding:var(--space-5) var(--space-6);border-top:1px solid var(--color-line);background:var(--color-surface-subtle);flex-wrap:wrap;display:flex}:root{--table-cell-padding-x:14px;--table-cell-padding-y:12px;--table-header-padding-x:14px;--table-header-padding-y:11px;--table-row-min-height:52px}.approval-section{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);min-width:0}.approval-section__header{justify-content:space-between;align-items:flex-start;gap:var(--layout-field-gap);padding:var(--layout-panel-padding-y) var(--layout-panel-padding-x);border-bottom:1px solid var(--color-line);display:flex}.approval-section__heading{min-width:0}.approval-section__heading h2{font-size:var(--text-base);margin:0}.approval-section__heading p{color:var(--color-text-secondary);font-size:var(--text-sm);margin:4px 0 0}.approval-section__count{background:var(--color-primary-soft);color:var(--color-primary-active);font-size:var(--text-xs);border-radius:999px;flex:none;padding:4px 9px;font-weight:700}.approval-section__content{min-width:0}.table-scroll-container{overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-line-strong) var(--color-surface-subtle);width:100%;min-width:0;max-width:100%;position:relative;overflow-x:scroll;overflow-y:auto}.table-scroll-container:focus-visible{outline-offset:-3px}.approval-table{table-layout:fixed;min-width:94rem}.hr-approval-table{min-width:95rem}.approval-table .column-select{width:2.75rem}.approval-table .column-requestor{width:12rem}.approval-table .column-period,.approval-table.ot-pending-table .column-period{width:11.5rem}.approval-table .column-amount{width:8.75rem}.approval-table .column-type-reason{width:13.5rem}.approval-table .column-processed-at,.approval-table .column-sla{width:7.5rem}.approval-table .column-status{width:16rem}.approval-table .column-actions{width:13.25rem}.hr-approval-table .column-manager-approved{width:8.5rem}.approval-table__cell{overflow:hidden}.approval-table__nowrap{white-space:nowrap}.approval-table__ellipsis,.requestor-cell__email,.requestor-cell__id,.type-reason-cell__type,.type-reason-cell__reason{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.requestor-cell__email{font-weight:600}.requestor-cell__id,.period-cell__secondary,.type-reason-cell__reason{color:var(--color-text-secondary);font-size:var(--text-xs);margin-top:.1875rem}.period-cell{white-space:normal}.period-cell__primary,.period-cell__secondary{white-space:nowrap;display:block}.type-reason-cell__type{font-weight:600}.sla-cell{white-space:nowrap;min-width:7.5rem;overflow:hidden}.sla-cell .sla-badge{text-overflow:ellipsis;max-width:100%;overflow:hidden}.status-cell,.pending-table__status-cell{white-space:nowrap;width:16rem;min-width:16rem;overflow:visible}.pending-table__status-header{white-space:nowrap;width:16rem;min-width:16rem}.status-cell .status-badge{text-overflow:ellipsis;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;min-height:1.75rem;padding:.3125rem .625rem;line-height:1.125rem;display:inline-flex;overflow:hidden}.approval-table__actions-header,.approval-table__actions-cell{width:13.25rem;min-width:13.25rem;padding-left:.5rem;padding-right:.5rem}.approval-table__actions-header{text-align:right}.approval-table__actions-cell{white-space:nowrap;background:var(--color-surface);text-align:right;overflow:visible}.approval-table__actions-cell .pending-table__actions{justify-content:flex-end;align-items:center;gap:.375rem;width:100%;min-width:0;display:flex}.approval-table__actions-cell .button{white-space:nowrap;flex:none;min-height:2rem;padding:.3125rem}.approved-table{min-width:83.5rem}.approved-table.manager-ot-approved-table{min-width:81.625rem}.approved-table .column-requestor,.approved-table .column-period{width:13.75rem}.approved-table.manager-ot-approved-table .column-period{width:11.875rem}.approved-table .column-amount{width:8.75rem}.approved-table .column-type-reason{width:16.875rem}.approved-table .column-manager-approved{width:9.6875rem}.approved-table .column-status{width:16rem}.approved-table .column-details{width:6.875rem}.approved-table .status-cell{width:16rem;min-width:16rem}.approved-table__details-header,.approved-table__details-cell{box-sizing:border-box;text-align:center;white-space:nowrap;width:6.875rem;min-width:6.875rem;overflow:visible;padding-left:.5rem!important;padding-right:.5rem!important}.approved-table__details-button{white-space:nowrap;justify-content:center;align-items:center;width:4.5rem;min-width:4.5rem;min-height:2rem;padding:.3125rem .5625rem;font-size:.75rem;line-height:1.125rem;display:inline-flex}.approved-table-skeleton{box-sizing:border-box;min-width:83.5rem}.approved-table-skeleton.manager-ot-approved-table{min-width:81.625rem}.approved-table-skeleton .skeleton-row{grid-template-columns:220px 220px 140px 270px 155px 256px 110px;gap:0}.approved-table-skeleton.manager-ot-approved-table .skeleton-row{grid-template-columns:220px 190px 140px 270px 155px 256px 110px}.approved-table-skeleton .skeleton-row>span{margin-left:14px;margin-right:14px}.approved-table-skeleton .approved-table-skeleton__details{width:4.5rem;height:2rem;margin-left:auto;margin-right:auto}.expired-table{table-layout:fixed;min-width:1320px}.expired-table .column-requestor{width:220px}.expired-table .column-manager{width:190px}.expired-table .column-period{width:220px}.expired-table .column-amount,.expired-table .column-stage{width:135px}.expired-table .column-deadline,.expired-table .column-expired-at{width:155px}.expired-table .column-status{width:110px}.expired-table .column-actions{width:120px}.expired-table__numeric{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}.analytics-dashboard{min-width:0}.analytics-toolbar{align-items:stretch;gap:var(--layout-field-gap);padding:var(--layout-panel-padding-y) var(--layout-panel-padding-x);border-bottom:1px solid var(--color-line);flex-direction:column;display:flex}.analytics-toolbar__filters{grid-template-columns:1fr;display:grid}.analytics-toolbar label{color:var(--color-text-secondary);font-size:var(--text-sm);gap:4px;font-weight:600;display:grid}.analytics-toolbar input,.analytics-toolbar select{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-height:2.625rem;color:var(--color-text);font-size:var(--text-sm);padding:.375rem .5625rem}.analytics-toolbar .select-input select{padding-right:2.75rem}.analytics-toolbar__actions{align-items:stretch;gap:var(--layout-field-gap);flex-direction:column;display:flex}.analytics-summary{margin:var(--space-5)}.analytics-secondary-summary{gap:var(--space-4);margin:calc(-1 * var(--space-2)) var(--space-5) var(--space-5);color:var(--color-text-secondary);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.analytics-secondary-summary strong{color:var(--color-text)}.chart-grid{gap:var(--layout-content-gap);padding:0 var(--layout-panel-padding-x) var(--layout-panel-padding-y);grid-template-columns:1fr;display:grid}.chart-card{min-width:0;padding:var(--layout-card-padding);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface-raised)}.chart-card header h3{font-size:var(--text-md);margin:0}.chart-card header p,.chart-card__summary{color:var(--color-text-secondary);font-size:var(--text-xs);margin:4px 0 0}.chart-card__visual{width:100%;height:max(16rem,min(45vw,22rem));margin-top:var(--space-3);overflow:hidden}.chart-empty{place-content:center;gap:var(--space-2);height:100%;padding:var(--space-5);color:var(--color-text-secondary);text-align:center;display:grid}.chart-empty strong{color:var(--color-text)}.chart-skeleton{align-items:flex-end;gap:var(--space-3);height:max(16rem,min(45vw,22rem));padding:var(--space-6);display:flex}.chart-skeleton span{border-radius:var(--radius-sm);background:var(--color-skeleton);flex:1;height:40%;animation:1.3s ease-in-out infinite alternate skeleton-pulse}.chart-skeleton span:nth-child(2){height:70%}.chart-skeleton span:nth-child(3){height:55%}.chart-skeleton span:nth-child(4){height:85%}.chart-skeleton span:nth-child(5){height:64%}@media (min-width:48rem){:root{--layout-field-gap:var(--space-4);--layout-panel-padding-x:var(--space-5);--layout-panel-padding-y:var(--space-4);--layout-card-padding:var(--space-5);--layout-section-gap:var(--space-6);--layout-content-gap:var(--space-6)}.app-header__inner{min-height:4.25rem;padding-top:0;padding-bottom:0}.page-title-row{align-items:center;gap:var(--space-3);flex-direction:row}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-card{border-inline:1px solid var(--color-line);border-radius:var(--radius-lg);margin-left:0;margin-right:0}.tab{min-height:3.25rem;padding-inline:var(--space-2)}.tab__label--full{display:inline}.tab__label--compact{display:none}.toolbar{flex-flow:wrap;align-items:center}.toolbar__filters,.toolbar__actions{flex-flow:wrap;align-items:center;width:auto}.toolbar__filters{flex:16rem}.toolbar__actions:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:auto}.toolbar__actions:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:auto}.toolbar__actions:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:auto}.toolbar__actions:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:auto}.toolbar__actions:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:auto}.toolbar__actions:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:auto}.toolbar__filters>*,.toolbar__actions>*{width:auto}.search-input{flex:16rem;width:auto}.hr-overview-toolbar{flex-direction:column;align-items:stretch}.hr-overview-toolbar .toolbar__filters{flex-flow:column;flex:none;align-items:stretch;width:100%}.hr-overview-toolbar .toolbar__actions{justify-content:flex-end;width:100%}.hr-overview-toolbar .toolbar__actions:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:0}.hr-overview-toolbar .toolbar__actions:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:0}.hr-overview-toolbar .toolbar__actions:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:0}.hr-overview-toolbar .toolbar__actions:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:0}.hr-overview-toolbar .toolbar__actions:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:0}.hr-overview-toolbar .toolbar__actions:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:0}.hr-overview-toolbar .toolbar__actions>*{width:auto}.hr-overview-toolbar .toolbar__filters>.hr-overview-toolbar__row{width:100%}.hr-overview-toolbar__row{flex-direction:initial;flex-wrap:initial;align-items:stretch;display:grid}.hr-overview-toolbar__row--primary,.hr-overview-toolbar__row--secondary{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.hr-overview-toolbar__row>*{width:100%;min-width:0}.hr-overview-toolbar__row .month-input,.hr-overview-toolbar__row .date-field,.hr-overview-toolbar__row .search-input,.hr-overview-toolbar__row .select-input{align-items:center;gap:var(--space-2);grid-template-columns:max-content minmax(0,1fr);min-width:0;display:grid}.hr-overview-toolbar__row .result-count{align-self:center;width:-webkit-max-content;width:-moz-max-content;width:max-content;min-width:0}.hr-overview-toolbar__row .month-input input,.hr-overview-toolbar__row .date-field__control,.hr-overview-toolbar__row .date-field input,.hr-overview-toolbar__row .select-input__control,.hr-overview-toolbar__row .select-input select{width:100%;min-width:0;font-size:inherit}.hr-overview-toolbar__row .select-input select{text-overflow:ellipsis;padding-right:2.75rem}.mobile-overview-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}.request-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.request-card__wide{grid-column:1/-1}.modal-backdrop{padding:var(--space-6);place-items:center;display:grid}.modal{border-radius:1rem;width:min(100% - 3rem,40rem);height:auto;max-height:min(90dvh,50rem);overflow:auto}.modal.attendance-history-modal{width:min(100% - 3rem,62rem);max-height:min(92dvh,54rem)}.attendance-history-modal .summary-grid{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-history-modal__body{padding:var(--space-5)}.warning-table{margin:var(--space-5);flex:none;overflow:hidden}.warning-table__head,.warning-table__row{grid-template-columns:minmax(0,1fr) 6.875rem 6.25rem}.warning-table__head span:last-child,.warning-table__row>span:last-child{display:initial}.modal-actions{padding:var(--space-4) var(--space-5)}.modal-actions .button,.reject-modal__footer .button,.request-detail__footer .button{flex:none}.reject-backdrop{padding:var(--space-6);align-items:center}.reject-modal{border-radius:1rem;width:min(100% - 3rem,40rem);height:auto;max-height:min(90dvh,50rem)}.reject-modal__summary{grid-template-columns:repeat(2,minmax(0,1fr))}.reject-modal__footer{padding:var(--space-4) var(--space-5)}.detail-drawer{width:min(90%,44rem);height:100%}.detail-drawer dl,.request-detail .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-drawer .detail-wide,.request-detail .detail-field--wide{grid-column:1/-1}.request-detail__footer{padding:var(--space-4) var(--space-5);flex-wrap:nowrap}.approval-toolbar .toolbar__filters,.expired-requests-toolbar .toolbar__filters,.approved-requests-toolbar .toolbar__filters,.team-overview-toolbar .toolbar__filters,.client-visit-toolbar .toolbar__filters{gap:var(--layout-field-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.team-overview-toolbar .result-count,.approved-requests-toolbar .result-count{align-self:center;width:-webkit-max-content;width:-moz-max-content;width:max-content}.analytics-toolbar{flex-direction:column;align-items:stretch}.analytics-toolbar__filters{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-toolbar__actions{flex-flow:wrap;justify-content:flex-end;align-items:center;width:100%}.analytics-toolbar__actions:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:0}.analytics-toolbar__actions:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:0}.analytics-toolbar__actions:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:0}.analytics-toolbar__actions:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:0}.analytics-toolbar__actions:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:0}.analytics-toolbar__actions:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:0}.analytics-toolbar input,.analytics-toolbar select{font-size:inherit}}@media (min-width:64rem){:root{--layout-section-gap:var(--space-8)}.app-header__actions--desktop{display:flex}.mobile-menu-button{display:none}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hr-overview-toolbar{flex-direction:column;align-items:stretch}.hr-overview-toolbar__row--primary{grid-template-columns:minmax(13rem,1.1fr) minmax(18rem,2fr) minmax(13rem,1.2fr) max-content}.hr-overview-toolbar__row--secondary{grid-template-columns:repeat(3,minmax(0,1fr))}.client-visit-toolbar .toolbar__filters{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));display:grid}.chart-grid{padding:0 var(--layout-panel-padding-x) var(--layout-panel-padding-y);grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-toolbar__filters{flex:1;grid-template-columns:minmax(14rem,2fr) repeat(3,minmax(10rem,1fr))}.detail-drawer{width:min(42vw,46rem)}.approval-table__actions-header,.approval-table__actions-cell,.pending-table__actions-header,.pending-table__actions-cell{border-left:1px solid var(--color-line);position:-webkit-sticky;position:sticky;right:0;box-shadow:-.5rem 0 .75rem -.75rem rgba(16,24,40,.5)}.approval-table__actions-header,.pending-table__actions-header{z-index:5;background:var(--color-surface-subtle)}.approval-table__actions-cell,.pending-table__actions-cell{z-index:3;background:var(--color-surface)}}@media (min-width:80rem){.hr-overview-toolbar{flex-flow:row;align-items:flex-end}.hr-overview-toolbar .toolbar__filters{flex:auto;width:auto}.hr-overview-toolbar .toolbar__actions{width:auto}.hr-overview-toolbar .toolbar__actions:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:auto}.hr-overview-toolbar .toolbar__actions:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:auto}.hr-overview-toolbar .toolbar__actions:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:auto}.hr-overview-toolbar .toolbar__actions:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:auto}.hr-overview-toolbar .toolbar__actions:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:auto}.hr-overview-toolbar .toolbar__actions:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:auto}.team-overview-toolbar,.approved-requests-toolbar{flex-wrap:nowrap}.team-overview-toolbar .toolbar__filters{grid-template-columns:minmax(10rem,1fr) minmax(16rem,2fr) repeat(2,minmax(12rem,1fr)) max-content;display:grid}.approved-requests-toolbar .toolbar__filters{grid-template-columns:minmax(12rem,1fr) minmax(12rem,1fr) minmax(16rem,2fr) max-content;display:grid}.analytics-toolbar{flex-direction:row;justify-content:space-between;align-items:flex-end}.analytics-toolbar__actions{flex-wrap:nowrap}}@media (min-width:90rem){.summary-grid--dense{grid-template-columns:repeat(5,minmax(0,1fr))}.chart-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:30rem) and (max-width:47.9375rem){.request-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.request-card__wide{grid-column:1/-1}}@media (hover:none) and (pointer:coarse) and (max-width:57.875rem) and (max-height:31.25rem){.app-header__actions--desktop,.desktop-table,.user-context{display:none}.mobile-menu-button{display:block}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-request-list,.mobile-overview-list{display:grid}.request-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.request-card__wide{grid-column:1/-1}.toolbar,.analytics-toolbar{flex-direction:column;align-items:stretch}.toolbar__filters,.toolbar__actions,.analytics-toolbar__actions{flex-direction:column;align-items:stretch;width:100%}.analytics-toolbar__filters{grid-template-columns:1fr}.toolbar__filters>*,.toolbar__actions>*,.analytics-toolbar label,.analytics-toolbar input,.analytics-toolbar select{width:100%;min-width:0;font-size:var(--text-sm)}.chart-grid{grid-template-columns:1fr}.modal-backdrop,.reject-backdrop{align-items:stretch;padding:0;overflow:hidden}.modal,.reject-modal,.detail-drawer.request-detail{width:100%;max-width:none;height:100vh;border-radius:0;height:100dvh;max-height:none}.modal-actions,.reject-modal__footer,.request-detail__footer{padding-bottom:max(var(--space-3),env(safe-area-inset-bottom))}}@media (hover:none) and (pointer:coarse){.search-input input,.control-input,.select-input select,.analytics-toolbar input,.analytics-toolbar select{font-size:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.pagination-controls{justify-content:center;align-items:center;gap:var(--layout-field-gap);padding:var(--layout-panel-padding-y) var(--layout-panel-padding-x);border-top:1px solid var(--color-line);display:flex}.pagination-status{min-width:10rem;color:var(--color-text-secondary);text-align:center}.client-visit-subtabs{border-bottom:1px solid var(--color-line)}.client-visit-subtabs .tabs{border-bottom:0}.tabs--compact{gap:var(--space-1);min-height:2.75rem;padding-inline:var(--layout-panel-padding-x)}.tabs--compact .tab{min-height:2.5rem;padding-inline:var(--space-3)}.client-visit-table{table-layout:fixed;min-width:980px}.client-visit-table .numeric{text-align:center;font-variant-numeric:tabular-nums}.client-visit-pending-table,.client-visit-approved-table{table-layout:fixed}.client-visit-pending-table{min-width:91rem}.client-visit-approved-table{min-width:88.875rem}.client-visit-pending-table .column-select{width:2.75rem}.client-visit-pending-table .column-requestor,.client-visit-approved-table .column-requestor{width:13rem}.client-visit-pending-table .column-customer-deal,.client-visit-approved-table .column-customer-deal{width:15rem}.client-visit-pending-table .column-visit-time,.client-visit-approved-table .column-visit-time{width:14rem}.client-visit-pending-table .column-hours,.client-visit-approved-table .column-hours{width:6rem}.client-visit-pending-table .column-cost,.client-visit-approved-table .column-cost{width:8rem}.client-visit-pending-table .column-status,.client-visit-approved-table .column-status{width:16rem}.client-visit-pending-table .column-actions{width:16.25rem}.client-visit-approved-table .column-manager-approved{width:10rem}.client-visit-approved-table .column-details{width:6.875rem}.client-visit-table__group{min-width:0}.client-visit-table__primary,.client-visit-table__secondary{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.client-visit-table__primary{font-weight:600}.client-visit-table__secondary{color:var(--color-text-secondary);font-size:var(--text-xs);margin-top:.1875rem}.client-visit-pending-table .status-cell,.client-visit-pending-table .pending-table__status-cell,.client-visit-approved-table .status-cell,.client-visit-pending-table .pending-table__status-header{width:16rem;min-width:16rem}.client-visit-cell-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;display:block;overflow:hidden}.client-visit-dashboard{gap:var(--layout-content-gap);min-width:0;padding:var(--layout-panel-padding-x);grid-template-columns:minmax(0,1fr);display:grid}.client-visit-dashboard>*{min-width:0}.client-visit-dashboard>.summary-grid{margin-bottom:0}.client-visit-dashboard .chart-grid{padding:0}@media (min-width:48rem){.client-visit-dashboard{padding:var(--layout-panel-padding-x)}}.client-visit-summary-table h3{margin:0 0 10px;font-size:16px}.team-employee-cell{align-items:center;gap:8px;min-width:0;max-width:100%;display:inline-flex}.client-visit-badge{background:var(--color-info-soft);min-height:22px;color:var(--color-info);white-space:nowrap;border-radius:999px;align-items:center;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.pill,.chip{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:11px;font-weight:600;line-height:1.3;display:inline-flex}.pill.red{background:var(--color-primary-soft);color:var(--color-primary)}.pill.blue{background:var(--color-info-soft);color:var(--color-info)}.pill.green{background:var(--color-success-soft);color:var(--color-success)}.pill.green2{color:#067647;background:#ecfdf3}.pill.amber{background:var(--color-warning-soft);color:var(--color-warning)}.pill.gray{background:var(--color-neutral-soft);color:var(--color-text-secondary)}.pill.danger{background:var(--color-danger-soft);color:var(--color-danger)}.workspace-shell{min-height:calc(100vh - 4rem);padding:clamp(1.5rem, 3vw, 2.5rem) var(--page-gutter);justify-content:center;align-items:center;display:flex}.workspace-wrap{width:min(1120px,100%);margin:0 auto}.workspace-head{text-align:center;margin-bottom:2rem}.workspace-head h1{margin:8px 0 6px;font-size:max(1.5rem,min(1.25rem + 1vw,2rem));font-weight:700}.workspace-head p{color:var(--color-text-secondary);margin:0 0 12px;font-size:13px}.workspace-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.workspace-card{background:var(--color-surface);border:1px solid var(--color-line);text-align:left;box-shadow:var(--shadow-card);cursor:pointer;border-radius:12px;flex-direction:column;padding:20px 18px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;position:relative}.workspace-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.06)}.workspace-card .icon{background:var(--color-primary-soft);width:44px;height:44px;color:var(--color-primary);border-radius:10px;place-items:center;margin-bottom:14px;font-size:16px;font-weight:700;display:grid}.workspace-card h3{color:var(--color-text);margin:0 0 6px;font-size:18px;font-weight:600}.workspace-card p{min-height:52px;color:var(--color-text-secondary);margin:8px 0 14px;font-size:12px;line-height:1.45}.workspace-tags{flex-wrap:wrap;gap:6px;margin-top:auto;margin-bottom:14px;display:flex}.workspace-card .enter{border-top:1px solid var(--color-line);color:var(--color-primary);justify-content:space-between;align-items:center;padding-top:12px;font-size:12px;font-weight:600;display:flex}.admin-shell{background:var(--color-background);grid-template-columns:240px 1fr;min-height:calc(100vh - 64px);display:grid}.admin-side{background:var(--color-surface);border-right:1px solid var(--color-line);flex-direction:column;gap:4px;height:calc(100vh - 64px);padding:20px 14px;display:flex;position:-webkit-sticky;position:sticky;top:64px;overflow-y:auto}.side-title{color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;padding-left:10px;font-size:10px;font-weight:700}.side-link{text-align:left;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:9px 12px;font-size:13px;font-weight:500;transition:all .12s;display:flex}.side-link:hover{background:var(--color-neutral-soft);color:var(--color-text)}.side-link.active{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.admin-access{border:1px solid var(--color-line);background:var(--color-surface-subtle);border-radius:10px;margin-top:auto;padding:12px 14px}.admin-access b{color:var(--color-text);font-size:11px;display:block}.admin-access small{color:var(--color-text-secondary);margin-top:4px;font-size:10px;display:block}.admin-main{min-width:0;padding:24px 28px 36px}.grid{gap:14px;display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:10px;padding:18px 20px;box-shadow:0 1px 3px rgba(16,24,40,.04),0 1px 2px rgba(16,24,40,.02)}.card h2{color:var(--color-text);margin:0 0 6px;font-size:17px;font-weight:600}.card h3{color:var(--color-text);margin:0 0 6px;font-size:15px;font-weight:600}.card p{color:var(--color-text-secondary);margin:0;font-size:12px;line-height:1.5}.metric{border:1px solid var(--color-line);background:var(--color-surface);border-radius:10px;flex-direction:column;justify-content:space-between;min-height:108px;padding:16px 18px;display:flex;box-shadow:0 1px 3px rgba(16,24,40,.04)}.metric .label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.metric .value{margin:6px 0;font-size:24px;font-weight:700;line-height:1.2}.metric .value.blue{color:var(--color-info)}.metric .value.green{color:var(--color-success)}.metric .value.amber{color:var(--color-warning)}.metric .value.danger{color:var(--color-danger)}.health-row{border-bottom:1px solid var(--color-line);color:var(--color-text);justify-content:space-between;align-items:center;padding:10px 0;font-size:13px;display:flex}.health-row:last-child{border-bottom:0}.health-row span{color:var(--color-text);font-size:13px}.activity{border-bottom:1px solid var(--color-line);padding:9px 0}.activity:last-child{border-bottom:0}.activity b{color:var(--color-text);margin-bottom:2px;font-size:12px;font-weight:600;display:block}.activity small{color:var(--color-text-secondary);font-size:11px;line-height:1.4}.kv{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:16px;padding:11px 0;font-size:13px;display:flex}.kv:last-child{border-bottom:0}.kv .k{color:var(--color-text-secondary);flex:auto;min-width:0;font-size:13px;font-weight:500;line-height:1.4}.kv .v{color:var(--color-text);text-align:right;overflow-wrap:normal;word-break:normal;flex:none;max-width:60%;font-size:13px;font-weight:600;line-height:1.4}.table-wrap{border:1px solid var(--color-line);background:var(--color-surface);border-radius:10px;overflow-x:auto;box-shadow:0 1px 3px rgba(16,24,40,.04)}.table{border-collapse:collapse;width:100%;min-width:600px}.table--compact{min-width:0}.table th,.table td{border-bottom:1px solid var(--color-line);text-align:left;vertical-align:middle;padding:10px 14px;font-size:12px;line-height:1.4}.table--compact th,.table--compact td{padding:6px 8px;font-size:11.5px}.table--compact .table-input{height:28px;min-height:28px;padding:2px 6px;font-size:11.5px}.table th{background:var(--color-surface-subtle);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;font-size:11px;font-weight:600}.table td{color:var(--color-text-secondary)}.table td strong{color:var(--color-text);font-weight:600}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--color-surface-subtle)}.table th.text-center,.table td.text-center{text-align:center}.table th.text-right,.table td.text-right{text-align:right}.table-input{border:1px solid var(--color-line-strong);background:var(--color-surface);height:32px;min-height:32px;color:var(--color-text);box-sizing:border-box;border-radius:6px;outline:none;width:100%;min-width:0;padding:4px 8px;font-size:12px;transition:border-color .12s,box-shadow .12s}.table-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(228,43,38,.12)}.table-input:disabled{background:var(--color-surface-subtle);color:var(--color-text-muted);cursor:not-allowed}.pipeline-step{border:1px solid var(--color-line);background:var(--color-surface);border-radius:10px;align-items:center;gap:14px;padding:12px 14px;transition:all .12s;display:flex}.pipeline-step:hover{border-color:var(--color-line-strong)}.pipeline-step__num{border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:grid}.pipeline-step__info{flex:1;min-width:0}.pipeline-step__info strong{color:var(--color-text);margin-bottom:2px;font-size:13px;display:block}.pipeline-step__info span{color:var(--color-text-secondary);font-size:11px}.statbar{background:var(--color-neutral-soft);border-radius:999px;height:8px;margin:6px 0 10px;overflow:hidden}.statbar span{background:var(--color-primary);border-radius:inherit;height:100%;display:block}.warning{color:#b54708;background:#fffaeb;border:1px solid #fedf89;border-radius:10px;padding:12px 14px;font-size:12px;line-height:1.45}[data-theme=dark] .warning{color:#f9c65d;background:rgba(249,171,0,.1);border-color:rgba(249,171,0,.3)}.detail-grid{grid-template-columns:1fr 1fr;gap:12px;margin:16px 0;display:grid}.detail-item{border:1px solid var(--color-line);background:var(--color-surface);border-radius:8px;padding:12px 14px}.detail-item label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600;display:block}.detail-item b{color:var(--color-text);margin-top:4px;font-size:13px;display:block}.calendar-card{padding:var(--layout-card-padding);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);margin-bottom:var(--layout-section-gap)}.calendar-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.calendar-nav{align-items:center;gap:var(--space-2);display:flex}.calendar-month-title{color:var(--color-text);margin:0;font-size:1.125rem;font-weight:700}.calendar-stats{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.calendar,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.calendar-weekday{font-size:var(--text-xs);color:var(--color-text-secondary);text-align:center;text-transform:uppercase;letter-spacing:.04em;padding:8px 4px;font-weight:700}.day,.calendar-day{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);flex-direction:column;justify-content:flex-start;min-height:86px;padding:8px 10px;font-size:12px;font-weight:600;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.day:hover,.calendar-day:hover{border-color:var(--color-line-strong)}.calendar-day__header{justify-content:space-between;align-items:center;width:100%;display:flex}.calendar-day__number{font-size:var(--text-sm);color:var(--color-text);border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;font-weight:700;display:inline-flex}.calendar-day--today .calendar-day__number{background:var(--color-primary);color:#fff;font-weight:700}.day.muted,.calendar-day--weekend{background:var(--color-surface-subtle)}.calendar-day--weekend .calendar-day__number{color:var(--color-text-muted)}.calendar-day--muted{background:var(--color-surface-subtle);opacity:.35;pointer-events:none}.day.holiday,.calendar-day--holiday{background:var(--color-danger-soft);border-color:rgba(225,29,72,.3)}.calendar-holiday-badge{background:var(--color-surface);color:var(--color-danger);border:1px solid rgba(225,29,72,.25);border-radius:6px;flex-direction:column;gap:2px;margin-top:6px;padding:4px 6px;font-size:11px;font-weight:700;line-height:1.25;display:flex}.calendar-holiday-type{color:var(--color-text-secondary);font-size:9.5px;font-weight:500}.calendar-day--makeup{background:var(--color-success-soft);border-color:rgba(22,163,74,.3)}.calendar-makeup-badge{background:var(--color-surface);color:var(--color-success);border:1px solid rgba(22,163,74,.25);border-radius:6px;flex-direction:column;gap:2px;margin-top:6px;padding:4px 6px;font-size:11px;font-weight:700;line-height:1.25;display:flex}.matrix{border-collapse:collapse;width:100%}.matrix th,.matrix td{border-bottom:1px solid var(--color-line);text-align:center;padding:10px 12px}.matrix th:first-child,.matrix td:first-child{text-align:left}.matrix th{color:var(--color-text-secondary);background:var(--color-surface-subtle);font-size:11px;font-weight:600}.matrix td{color:var(--color-text);font-size:12px}.flow-page{max-width:1320px;margin:0 auto;padding:max(1.5rem,min(3vw,2.5rem))}.flow-title h1{margin:4px 0 8px;font-size:max(1.5rem,min(1.25rem + 1.2vw,2.25rem));font-weight:700}.flow-title p{color:var(--color-text-secondary);max-width:980px;font-size:13px;line-height:1.5}.flow-grid{grid-template-columns:repeat(6,minmax(200px,1fr));gap:16px;margin-top:24px;padding-bottom:10px;display:grid;overflow-x:auto}.phase{background:var(--color-surface);border:1px solid var(--color-line);min-width:200px;box-shadow:var(--shadow-card);border-radius:12px;padding:18px 16px}.phase-num{background:var(--color-primary-soft);width:40px;height:40px;color:var(--color-primary);border-radius:8px;place-items:center;font-size:14px;font-weight:700;display:grid}.phase h3{margin:12px 0 8px;font-size:16px;font-weight:600}.phase ul{color:var(--color-text-secondary);margin:0;padding-left:16px;font-size:12px;line-height:1.7}.state-machine{margin-top:20px}.state-row{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0;display:flex}.flow-note{border-top:1px solid var(--color-line);color:var(--color-text-secondary);padding:9px 0;font-size:12px;line-height:1.5}.mobile-cards{display:none}.request-card{border:1px solid var(--color-line);background:var(--color-surface);box-shadow:var(--shadow-card);border-radius:10px;padding:14px}.request-card .row{justify-content:space-between;gap:12px;margin-top:8px;display:flex}.request-card .label{color:var(--color-text-muted);font-size:10px}.request-card .value{font-size:12px;font-weight:600}@media (max-width:1100px){.workspace-grid{grid-template-columns:repeat(2,1fr)}.flow-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}}@media (max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-side{border-right:0;border-bottom:1px solid var(--color-line);flex-direction:row;height:auto;padding:10px 12px;position:static;overflow-x:auto}.admin-side .side-title,.admin-side .admin-access{display:none}.side-link{white-space:nowrap;font-size:12px}.admin-main{padding:18px 14px}.desktop-table{display:none}.mobile-cards{gap:10px;display:grid}.detail-grid{grid-template-columns:1fr}}@media (max-width:620px){.workspace-grid,.flow-grid{grid-template-columns:1fr}}.floating-guide-button{z-index:90;border:1px solid var(--color-line-strong);background:var(--color-surface);width:46px;height:46px;color:var(--color-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 16px rgba(0,0,0,.12),0 2px 6px rgba(0,0,0,.08)}.floating-guide-button:hover{background:var(--color-primary);color:var(--color-on-solid);border-color:var(--color-primary);transform:translateY(-2px)scale(1.05);box-shadow:0 6px 20px rgba(0,0,0,.18),0 3px 8px rgba(0,0,0,.1)}.floating-guide-button:active{transform:translateY(0)scale(.98)}:root[data-theme=dark] .floating-guide-button{background:var(--color-surface);border-color:var(--color-line-strong);color:var(--color-primary);box-shadow:0 4px 18px rgba(0,0,0,.45)}:root[data-theme=dark] .floating-guide-button:hover{background:var(--color-primary);color:var(--color-on-solid);border-color:var(--color-primary)}@media (max-width:640px){.floating-guide-button{width:42px;height:42px;bottom:16px;right:16px}}.guided-tour{z-index:200;position:fixed;top:0;bottom:0;left:0;right:0}.guided-tour__scrim{cursor:pointer;background:0 0;position:absolute;top:0;bottom:0;left:0;right:0}.guided-tour__spotlight{border-radius:var(--radius-md);box-shadow:0 0 0 9999px rgba(15,18,22,.6), 0 0 0 2px var(--color-primary);pointer-events:none;transition:top .16s,left .16s,width .16s,height .16s;position:fixed}.guided-tour__tooltip{z-index:201;padding:var(--space-4);border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text);box-shadow:var(--shadow-modal);transition:top .16s,left .16s;position:fixed}.guided-tour__tooltip-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.guided-tour__step-count{font-size:var(--text-xs);color:var(--color-primary);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.guided-tour__close{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;font-size:18px;line-height:1}.guided-tour__close:hover{background:var(--color-surface-hover)}.guided-tour__title{margin:0 0 var(--space-2);font-size:var(--text-base);font-weight:700}.guided-tour__body{margin:0 0 var(--space-4);color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.5}.guided-tour__actions{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.guided-tour__skip{color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;padding:6px 4px}.guided-tour__skip:hover{color:var(--color-text-secondary)}.guided-tour__nav{gap:var(--space-2);display:flex}.guided-tour__back,.guided-tour__next{min-height:34px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;font-weight:600}.guided-tour__back{border:1px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-text)}.guided-tour__back:hover{background:var(--color-surface-hover)}.guided-tour__next{background:var(--color-primary);color:var(--color-on-solid);border:none}.guided-tour__next:hover{background:var(--color-primary-hover)}@media (max-width:420px){.guided-tour__tooltip{width:calc(100vw - 24px)!important;left:12px!important}}
