.ui-loading{width:100%;min-height:400px;max-height:100%;display:flex;align-items:center;justify-content:center}.ui-loading__spinner{width:40px;height:40px;border-radius:50%;border:3px solid rgba(31,84,115,.2);border-top-color:var(--color-blue, #1f5473);animation:ui-loading-spin .75s linear infinite}@keyframes ui-loading-spin{to{transform:rotate(360deg)}}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;font-size:14px;border-radius:10px;border:none;font-weight:600;cursor:pointer;padding:8px 12px;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease,border-color .12s ease,opacity .12s ease;white-space:nowrap;min-width:140px;min-height:40px;line-height:1.2;font-family:inherit;outline:none}.ui-button--fill{width:100%;flex:1;min-width:0}.ui-button:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.ui-button--danger:focus-visible{outline-color:var(--color-red)}.ui-button--link{min-width:0;min-height:0;padding:8px 12px;font-weight:500;background:transparent!important;color:var(--color-blue);border:none!important;box-shadow:none!important;transform:none!important;width:fit-content;max-width:100%;justify-content:flex-start;align-self:flex-start;text-align:left;transition:color .2s ease,opacity .2s ease,background-color .2s ease}.ui-button--link:hover:not(:disabled):not(.ui-button--loading){text-decoration:none;color:#173d56;background:#1f54730f!important;border-radius:6px;box-shadow:none!important;transform:none!important}.ui-button--link:active:not(:disabled):not(.ui-button--loading){color:#0f2d40;background:#1f54731a!important;transform:none!important;box-shadow:none!important}.ui-button--link .ui-button__spinner{border-color:#1f547333;border-top-color:var(--color-blue)}.ui-button--icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;min-height:24px;padding:0;gap:0;border:1px solid #cbd5e1;border-radius:.25rem;background:#fff;color:#64748b;font-size:1.1rem;line-height:1;font-weight:400;box-shadow:none;transform:none;transition:color .15s ease,border-color .15s ease,background .15s ease,opacity .15s ease}.ui-button--icon:hover:not(:disabled):not(.ui-button--loading){color:#dc2626;border-color:#f87171;background:#fef2f2}.ui-button--icon:active:not(:disabled):not(.ui-button--loading){transform:none;box-shadow:none}.ui-button--icon:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.ui-button--icon .ui-button__spinner{width:14px;height:14px;border-width:2px;border-color:#64748b40;border-top-color:#64748b}.ui-button--icon-mini{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;min-width:20px;min-height:20px;padding:4px;gap:0;box-sizing:border-box;border:none;border-radius:4px;background:transparent;color:var(--color-blue, #1f5473);font-size:inherit;line-height:0;font-weight:400;box-shadow:none;transform:none;transition:color .15s ease,background-color .15s ease,opacity .15s ease}.ui-button--icon-mini:hover:not(:disabled):not(.ui-button--loading){background:#1f547314;color:var(--color-blue, #1f5473)}.ui-button--icon-mini:active:not(:disabled):not(.ui-button--loading){background:#1f54731f}.ui-button--icon-mini:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.ui-button--icon-mini .ui-button__icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:0}.ui-button--icon-mini .ui-button__icon svg,.ui-button--icon-mini .ui-button__icon img{display:block;width:12px;height:12px;max-width:100%;max-height:100%;object-fit:contain}.ui-button--icon-mini .ui-button__spinner{width:12px;height:12px;border-width:2px;border-color:#1f547333;border-top-color:var(--color-blue, #1f5473)}.ui-button--fab{min-width:48px;width:48px;height:48px;padding:0;gap:0;border-radius:50%;border:none;background:var(--color-blue);color:#fff;box-shadow:0 2px 8px #0003;transition:background .15s ease,transform .15s ease,opacity .15s ease}.ui-button--fab .ui-button__icon{display:inline-flex;align-items:center;justify-content:center}.ui-button--fab:hover:not(:disabled):not(.ui-button--loading){background:#173d56;transform:none;box-shadow:0 2px 8px #0003}.ui-button--fab[aria-expanded=true]:not(:disabled):not(.ui-button--loading){transform:rotate(45deg)}.ui-button--fab:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.ui-button--fab .ui-button__spinner{width:22px;height:22px;border-color:#ffffff59;border-top-color:#fff}.theme-premium .ui-button--fab{background:linear-gradient(135deg,var(--premium-navy) 0%,var(--premium-dark-blue) 100%);box-shadow:0 4px 12px var(--premium-shadow)}.theme-premium .ui-button--fab:hover:not(:disabled):not(.ui-button--loading){background:linear-gradient(135deg,var(--premium-dark-blue) 0%,var(--premium-navy) 100%);box-shadow:0 6px 20px var(--premium-shadow-hover)}.ui-button--small{min-height:40px;padding:6px 16px;font-size:14px;font-weight:600;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;width:fit-content}@media(max-width:768px){.ui-button--small{font-size:12px;padding:6px;font-weight:400;min-height:30px}}.ui-button--link.ui-button--small{min-height:0;padding:8px 12px}.ui-button--primary{background:var(--color-blue);color:var(--color-white);border:1px solid transparent;outline:none}.theme-premium .ui-button--primary{background:linear-gradient(135deg,var(--premium-navy) 0%,var(--premium-dark-blue) 100%);box-shadow:0 4px 12px var(--premium-shadow);color:#fff}.ui-button--primary:hover:not(:disabled):not(.ui-button--loading){background:#173d56;box-shadow:0 6px 16px #1f547340;transform:translateY(-1px)}.theme-premium .ui-button--primary:hover:not(:disabled):not(.ui-button--loading){background:linear-gradient(135deg,var(--premium-dark-blue) 0%,var(--premium-navy) 100%);box-shadow:0 6px 20px var(--premium-shadow-hover);color:#fff}.ui-button--primary:active:not(:disabled):not(.ui-button--loading){transform:translateY(.5px);box-shadow:none}.ui-button--secondary{background:var(--color-white);color:var(--color-black);border:1px solid var(--color-light-grey);outline:none}.ui-button--secondary:hover:not(:disabled):not(.ui-button--loading){background:#f0f0f0;box-shadow:0 1px 3px #0f172a1f;transform:translateY(-1px)}.ui-button--secondary:active:not(:disabled):not(.ui-button--loading){transform:translateY(.5px);box-shadow:none}.ui-button--danger{background:var(--color-white);color:var(--color-red);border:1px solid var(--color-red)}.ui-button--danger:hover:not(:disabled):not(.ui-button--loading){background:#e2000f14;box-shadow:0 4px 12px #e2000f26;transform:translateY(-1px)}.ui-button--danger:active:not(:disabled):not(.ui-button--loading){transform:translateY(.5px);box-shadow:none}.ui-button--danger:disabled,.ui-button--danger.ui-button--loading{background:var(--color-white);color:var(--color-red);border-color:var(--color-red)}.ui-button--selected.ui-button--danger{background:#e2000f1a;box-shadow:0 0 0 1px #e2000f59}.ui-button:disabled,.ui-button--loading{cursor:not-allowed;opacity:.65;transform:none;box-shadow:none}.ui-button--link:disabled,.ui-button--link.ui-button--loading{opacity:.55;background:transparent!important}.ui-button--primary:disabled,.ui-button--primary.ui-button--loading{background:var(--color-disabled);color:var(--color-white)}.theme-premium .ui-button--primary:disabled,.theme-premium .ui-button--primary.ui-button--loading{background:#0f172a59;box-shadow:none}.ui-button--secondary:disabled,.ui-button--secondary.ui-button--loading{background:var(--color-white);color:var(--color-black);border-color:var(--color-light-grey)}.ui-button--selected.ui-button--secondary{background:#e8f0f8;border-color:var(--color-blue);color:var(--color-blue);box-shadow:0 0 0 1px #1f547333}.ui-button--selected.ui-button--primary{box-shadow:0 0 0 2px #ffffff80,0 4px 12px #1f547359}.ui-button__label{min-width:0}.ui-button--link .ui-button__label{text-align:left}.ui-button__icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center}.ui-button__icon svg{display:block}.ui-button__spinner{width:18px;height:18px;flex-shrink:0;border:2px solid rgba(255,255,255,.35);border-top-color:currentColor;border-radius:50%;animation:ui-button-spin .65s linear infinite}.ui-button--secondary .ui-button__spinner{border-color:#0f172a26;border-top-color:var(--color-blue)}.ui-button--danger .ui-button__spinner{border-color:#e2000f40;border-top-color:var(--color-red)}@keyframes ui-button-spin{to{transform:rotate(360deg)}}.month-cal-grid{min-width:0;border-radius:8px;overflow:hidden;border:1px solid var(--color-border, #e2e8f0);background:var(--color-surface, #fff);box-shadow:0 1px 2px #0f172a0a}.month-cal-grid__title{background:linear-gradient(180deg,#e8eef5,#dfe8f2);color:var(--color-text, #0f172a);font-weight:600;font-size:.9rem;letter-spacing:.02em;text-align:center;padding:.5rem .35rem;border-bottom:1px solid var(--color-border, #e2e8f0)}.month-cal-grid__dow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--color-border, #e2e8f0);background:#f8fafc}.month-cal-grid__dow-cell{text-align:center;font-size:.72rem;font-weight:500;padding:.32rem .15rem;color:var(--color-text-secondary, #64748b);text-transform:lowercase}.month-cal-grid__dow-cell--weekend{color:#c62828}.month-cal-grid__weeks{display:flex;flex-direction:column;background:var(--color-surface, #fff)}.month-cal-grid__week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:1.75rem;border-top:1px solid var(--color-border, #eceff4)}.month-cal-grid__week:first-child{border-top:none}.month-cal-grid__cell{display:flex;align-items:center;justify-content:center;font-size:.8rem;font-variant-numeric:tabular-nums;border-left:1px solid var(--color-border, #eef1f5);padding:.2rem 0}.month-cal-grid__cell:first-child{border-left:none}.month-cal-grid__day{color:var(--color-text, #0f172a)}.month-cal-grid__day--nonwork{color:#c62828}.month-cal-grid__day--short{font-weight:600;color:var(--color-text, #0f172a)}.month-cal-grid__asterisk{font-size:.65em;vertical-align:super;margin-left:1px;font-weight:600;color:var(--color-text-secondary, #64748b)}@media(min-width:769px){.filter-bar__fields{display:contents}.filter-bar__mobile-toggle-wrap{display:none}}@media(min-width:769px){.filter-bar--toolbar{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:12px 16px;margin-bottom:20px;padding:14px 0;border-bottom:1px solid #e2e8f0;width:100%;box-sizing:border-box}.filter-bar--toolbar .filter-bar__field{flex:1 1 0;min-width:0}.filter-bar--toolbar .filter-bar__field .ui-input-field{width:100%}.filter-bar--toolbar .filter-bar__action{flex:0 0 auto}}@media(max-width:768px){.filter-bar--toolbar .filter-bar__mobile-toggle-wrap{display:flex;justify-content:flex-end;width:100%}.filter-bar__mobile-toggle-btn.ui-button{min-width:0;width:fit-content;max-width:100%}.filter-bar--toolbar:not(.filter-bar--mobile-expanded){margin-bottom:14px;padding:0;border-bottom:none}.filter-bar--toolbar.filter-bar--mobile-expanded{margin-bottom:20px;padding:14px 0;border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:12px;align-items:stretch;width:100%;box-sizing:border-box}.filter-bar--toolbar.filter-bar--mobile-expanded .filter-bar__fields{display:flex!important;flex-direction:column;gap:12px;width:100%}.filter-bar--toolbar.filter-bar--mobile-expanded .filter-bar__field{flex:none;width:100%}.filter-bar--toolbar.filter-bar--mobile-expanded .filter-bar__action.ui-button{width:100%}}@media(min-width:769px){.filter-bar--flow{display:flex;gap:12px;margin-bottom:14px;flex-wrap:wrap;align-items:flex-end}}.filter-bar--flow .filter-bar__control{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:#334155}.filter-bar--flow .filter-bar__control.ui-input-field{min-width:140px}.filter-bar--flow .filter-bar__control select{min-width:140px;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px}.filter-bar--flow .filter-bar__control input{min-width:180px;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px}.filter-bar--flow .filter-bar__control--wide{min-width:220px}.filter-bar--flow .filter-bar__control--search{flex:1 1 220px;min-width:min(100%,240px)}@media(max-width:768px){.filter-bar--flow .filter-bar__mobile-toggle-wrap{display:flex;justify-content:flex-end;width:100%}.filter-bar--flow:not(.filter-bar--mobile-expanded){margin-bottom:14px}.filter-bar--flow.filter-bar--mobile-expanded{margin-bottom:14px;display:flex;flex-direction:column;gap:10px;align-items:stretch}.filter-bar--flow.filter-bar--mobile-expanded .filter-bar__fields{display:flex!important;flex-direction:column;gap:12px;width:100%}.filter-bar--flow.filter-bar--mobile-expanded .filter-bar__control{width:100%;max-width:100%}.filter-bar--flow.filter-bar--mobile-expanded .filter-bar__control--search{flex:none;min-width:0}}@media(min-width:769px){.filter-bar--panel{display:grid;gap:20px;margin-bottom:20px;padding:10px;background:#f8fafc;border-radius:14px;border:1px solid #e2e8f0;grid-template-columns:repeat(var(--filter-bar-columns, 5),1fr)}}.filter-bar--panel .filter-bar__field{display:flex;flex-direction:column;gap:.25rem}.filter-bar--panel .filter-bar__field .ui-input-field{min-width:0}.filter-bar--panel .filter-bar__field .ui-input-field__label{font-size:.8rem;color:#64748b;white-space:nowrap}.filter-bar--panel .filter-bar__reset{margin-left:.25rem;align-self:flex-end}@media(max-width:768px){.filter-bar--panel .filter-bar__mobile-toggle-wrap{display:flex;justify-content:flex-end;width:100%}.filter-bar--panel:not(.filter-bar--mobile-expanded){margin-bottom:12px}.filter-bar--panel.filter-bar--mobile-expanded{margin-bottom:20px;display:flex;flex-direction:column;gap:10px}.filter-bar--panel.filter-bar--mobile-expanded .filter-bar__fields{display:grid!important;grid-template-columns:1fr;gap:5px;padding:10px;background:#f8fafc;border-radius:14px;border:1px solid #e2e8f0}.filter-bar:not(.filter-bar--mobile-expanded) .filter-bar__fields{display:none!important}}.ui-input-field{display:flex;flex-direction:column;font-size:14px;gap:4px;color:var(--color-black)}.ui-input-field__label{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0;line-height:1.35}.ui-input-field__required{color:var(--color-red);font-weight:600;margin-left:2px}.ui-input-field__checkbox-label{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0;line-height:1.35}.ui-input-field__standalone-label{font-size:14px;font-weight:400;color:var(--color-black);line-height:1.35;margin:0}.theme-premium .ui-input-field__standalone-label,.theme-premium .ui-input-field{color:var(--premium-text)}.ui-input__date-wrapper{position:relative;display:flex;align-items:stretch;min-width:0}.ui-input__date-button-wrap{position:relative;margin-right:8px;width:40px;min-width:40px;height:40px;flex-shrink:0}.ui-input__date-input-overlay{position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;margin:0;padding:0;opacity:0;pointer-events:auto;cursor:pointer;border:none;background:transparent;font-size:16px}.ui-input__date-button{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;margin:0;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:8px;background:var(--color-white);color:#64748b;box-sizing:border-box;cursor:pointer;appearance:none;pointer-events:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.ui-input__date-button:hover{color:var(--color-blue);background:#f0f0f0;border-color:var(--color-blue)}.ui-input__date-button:focus{outline:2px solid var(--color-blue);outline-offset:2px}.ui-input__glyph{display:block;width:20px;height:20px;flex-shrink:0;pointer-events:none;background-color:var(--color-blue);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.ui-input__glyph--calendar{-webkit-mask-image:url(/icons/calendar.svg);mask-image:url(/icons/calendar.svg)}.ui-input__glyph--clock{-webkit-mask-image:url(/icons/clock.svg);mask-image:url(/icons/clock.svg)}.ui-input__control{border-radius:8px;border:1px solid #e2e8f0;padding:8px 10px;background:var(--color-white);color:var(--color-black);font-family:inherit;font-size:14px;width:100%;min-width:0;box-sizing:border-box}.ui-input__control::placeholder{color:#94a3b8}.ui-input__control:focus{outline:none;border-color:var(--color-blue)}.ui-input--input-text .ui-input__control,.ui-input--input-num .ui-input__control{flex:1}.ui-input__textarea{border-radius:8px;border:1px solid #e2e8f0;padding:8px 10px;background:var(--color-white);color:var(--color-black);font-family:inherit;font-size:14px;line-height:1.5;width:100%;min-width:0;min-height:80px;resize:vertical;box-sizing:border-box}.ui-input__textarea::placeholder{color:#94a3b8}.ui-input__textarea:focus{outline:none;border-color:var(--color-blue)}.ui-input--dropzone{border-radius:8px;border:2px dashed #e2e8f0;background:#fafafa;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.ui-input--dropzone:hover:not(.ui-input--dropzone--dragging){border-color:var(--color-blue);background:#f0f9ff;box-shadow:0 0 0 1px #3b82f626}.ui-input--dropzone--dragging{border-color:var(--color-blue);background:#e0f2fe;box-shadow:0 0 0 1px #3b82f633}.ui-input__dropzone-label{display:flex;align-items:center;justify-content:center;min-height:120px;padding:24px 16px;margin:0;cursor:pointer;text-align:center;box-sizing:border-box}.ui-input__file-native{display:none}.ui-input__dropzone-caption{font-size:14px;line-height:1.45;color:#64748b;word-break:break-word}.theme-premium .ui-input--dropzone{border-color:var(--premium-border);background:linear-gradient(135deg,var(--premium-card-bg-start) 0%,var(--premium-card-bg-end) 100%)}.theme-premium .ui-input--dropzone:hover:not(.ui-input--dropzone--dragging){border-color:var(--color-blue);background:#f0f9ff;box-shadow:0 0 0 1px #3b82f626}.theme-premium .ui-input--dropzone--dragging{border-color:var(--color-blue);background:#e0f2fe;box-shadow:0 0 0 1px #3b82f633}.theme-premium .ui-input__dropzone-caption{color:var(--premium-text-secondary)}.ui-input--date .ui-input__control--date-text{flex:1;min-width:0}.ui-input__select{border-radius:8px;border:1px solid #e2e8f0;padding:8px 10px;background:var(--color-white);color:var(--color-black);font-family:inherit;font-size:14px;width:100%;min-width:0;box-sizing:border-box;cursor:pointer}.ui-input__select:focus{outline:none;border-color:var(--color-blue)}.ui-input__select:disabled{background-color:#f1f5f9;color:var(--color-disabled);cursor:not-allowed}.ui-input--text-suggest{position:relative;width:100%}.ui-input__suggest-list{position:absolute;top:100%;left:0;right:0;margin:2px 0 0;padding:0;list-style:none;max-height:200px;overflow-y:auto;background:var(--color-white);border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #0f172a1f;z-index:20}.ui-input__suggest-item{padding:8px 10px;cursor:pointer;font-size:14px;color:var(--color-black)}.ui-input__suggest-item:hover{background:var(--color-blue);color:#fff}.ui-input__suggest-item:hover .ui-input__suggest-secondary{color:#ffffffe6}.ui-input__suggest-secondary{color:var(--color-text-secondary, #64748b);margin-left:4px}.ui-input__suggest-loading{position:absolute;top:calc(100% - 2px);left:10px;right:0;display:block;pointer-events:none;font-size:12px;color:var(--color-text-secondary, #64748b);z-index:19}.theme-premium .ui-input__suggest-list{background:var(--premium-card-bg-start, #fff);border-color:var(--premium-border);box-shadow:0 8px 24px var(--premium-shadow, rgba(0, 0, 0, .12))}.theme-premium .ui-input__suggest-item:hover{background:var(--premium-navy);color:var(--premium-text)}.ui-input-field--checkbox{flex-direction:row;align-items:center;gap:8px;cursor:pointer}.ui-input__checkbox{width:auto;margin:0;flex-shrink:0}.ui-input-field--radio{flex-direction:row;align-items:center;gap:10px;cursor:pointer}.ui-input__radio{width:18px;height:18px;margin:0;flex-shrink:0;cursor:pointer;accent-color:var(--color-blue)}.ui-input-field__radio-label{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0;line-height:1.35}.report-step .ui-input-field--checkbox{grid-column:1 / -1}@media(max-width:768px){.ui-input-field{font-size:13px;gap:6px}.ui-input__control,.ui-input__select{padding:10px 12px;font-size:12px;border-radius:10px;height:40px;box-sizing:border-box}.ui-input__date-button-wrap{height:40px}.ui-input__textarea{padding:10px 12px;font-size:12px;border-radius:10px;min-height:72px}}@supports (-webkit-touch-callout: none){@media(hover:none)and (pointer:coarse){.ui-input__control,.ui-input__select,.ui-input__textarea{font-size:16px}}}
