.app-desktop-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;background-size:cover;background-position:center;background-repeat:no-repeat}.gtw{position:fixed;top:12px;right:24px;z-index:100000;display:flex;align-items:center;gap:10px;padding:6px 14px 6px 10px;min-height:40px;border-radius:12px;background:#111827;color:#fff;box-shadow:0 4px 24px #00000040,0 0 0 1px #ffffff0f;font-family:inherit;font-size:13px;line-height:1.35;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;animation:gtw-slide-in .28s cubic-bezier(.22,1,.36,1);transition:opacity .22s,box-shadow .18s}.gtw:hover{background:#1f2937}.gtw--dragging{cursor:grabbing;box-shadow:0 8px 32px #00000059,0 0 0 1px #ffffff14;transition:none}.gtw--hiding{opacity:0;pointer-events:none}@keyframes gtw-slide-in{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.gtw__pulse{width:8px;height:8px;border-radius:50%;background:#ef4444;flex-shrink:0;animation:gtw-pulse 1.6s infinite}@keyframes gtw-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.75)}}.gtw__clock{font-variant-numeric:tabular-nums;font-weight:700;font-size:15px;letter-spacing:.02em;min-width:58px}.gtw__info{display:flex;flex-direction:column;gap:1px;min-width:0;max-width:180px}.gtw__project{font-weight:600;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#e5e7eb}.gtw__task{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#9ca3af}.gtw__stop{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:8px;border:none;background:#ef4444e6;color:#fff;cursor:pointer;transition:background .15s;padding:0}.gtw__stop:hover:not(:disabled){background:#dc2626}.gtw__stop--busy,.gtw__stop:disabled{opacity:.6;cursor:not-allowed}.gtw__stop svg{width:14px;height:14px}.gtw__pip-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border-radius:7px;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#9ca3af;cursor:pointer;transition:background .15s,color .15s,border-color .15s;padding:0}.gtw__pip-btn:hover{background:#ffffff26;color:#e5e7eb;border-color:#ffffff38}.gtw__pip-btn--active{background:#6366f14d;color:#a5b4fc;border-color:#6366f180}.gtw__pip-btn--active:hover{background:#6366f173;color:#c7d2fe}.gtw__pip-btn svg{width:13px;height:13px}@keyframes time-page-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes time-block-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes time-row-enter{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.time-page--enter .time-page__header{animation:time-page-enter .4s cubic-bezier(.22,1,.36,1) both}.time-page--enter .time-page__tabbar{animation:time-page-enter .4s cubic-bezier(.22,1,.36,1) .05s both}.time-page--enter .time-users__summary--animate{animation:time-block-enter .45s cubic-bezier(.22,1,.36,1) .1s both}.time-page--enter .time-users__toolbar--animate{animation:time-block-enter .4s cubic-bezier(.22,1,.36,1) .2s both}.time-page--enter .time-users__table-section--animate{animation:time-block-enter .4s cubic-bezier(.22,1,.36,1) .25s both}.time-page--enter .time-users__row{animation:time-row-enter .35s cubic-bezier(.22,1,.36,1) var(--time-row-delay, 0s) both}@keyframes tus-skel-shimmer{0%{background-position:200% 50%}to{background-position:-200% 50%}}@keyframes tus-skel-pulse{0%,to{opacity:.6}50%{opacity:1}}.time-users--skeleton .tus-skel__icon,.time-users--skeleton .tus-skel__label,.time-users--skeleton .tus-skel__value,.time-users--skeleton .tus-skel__util-label,.time-users--skeleton .tus-skel__util-pct,.time-users--skeleton .tus-skel__util-bar,.time-users--skeleton .tus-skel__util-leg,.time-users--skeleton .tus-skel__head-user,.time-users--skeleton .tus-skel__head-col,.time-users--skeleton .tus-skel__avatar,.time-users--skeleton .tus-skel__name,.time-users--skeleton .tus-skel__short,.time-users--skeleton .tus-skel__actions{animation:tus-skel-shimmer 1.6s ease-in-out infinite,tus-skel-pulse 2s ease-in-out infinite}.tus-skel,.tus-skel__icon,.tus-skel__body,.tus-skel__label,.tus-skel__value,.tus-skel__util-label,.tus-skel__util-pct,.tus-skel__util-bar,.tus-skel__util-leg,.tus-skel__head-user,.tus-skel__head-col,.tus-skel__avatar,.tus-skel__name,.tus-skel__short,.tus-skel__actions{display:block;background:linear-gradient(105deg,var(--app-surface-soft, #e2e8f0) 0%,var(--app-border, #f1f5f9) 35%,color-mix(in srgb,var(--app-accent, #4f46e5) 12%,#fff) 50%,var(--app-border, #f1f5f9) 65%,var(--app-surface-soft, #e2e8f0) 100%);background-size:200% 100%;animation:tus-skel-shimmer 1.6s ease-in-out infinite,tus-skel-pulse 2s ease-in-out infinite;border-radius:8px}.tus-skel__card{position:relative;display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:var(--app-surface, #fff);border:1px solid var(--app-border, #e5e7eb);border-radius:14px;overflow:hidden}.tus-skel__icon{width:38px;height:38px;border-radius:12px;flex-shrink:0}.tus-skel__body{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:0;background:none!important;animation:none!important}.tus-skel__label{width:90px;height:12px}.tus-skel__value{width:56px;height:22px}.tus-skel__util{background:var(--app-surface, #fff);border:1px solid var(--app-border, #e5e7eb);border-radius:14px;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.tus-skel__util .tus__util-track{background:var(--app-surface-soft, #f1f5f9);height:8px;border-radius:999px;overflow:hidden}.tus-skel__util-bar{height:100%;width:35%;border-radius:999px}.tus-skel__util-header{display:flex;align-items:center;justify-content:space-between}.tus-skel__util-label{width:140px;height:14px}.tus-skel__util-pct{width:36px;height:14px}.tus-skel__util-legend{display:flex;gap:1.25rem}.tus-skel__util-leg{width:160px;height:14px}.tus-skel__table-head{display:flex;align-items:center;padding:.75rem 1.25rem;border-bottom:1px solid var(--app-border, #e5e7eb);gap:1.5rem}.tus-skel__head-user{flex:1;min-width:0;height:20px;max-width:200px}.tus-skel__table-head .time-users__table-cols{display:flex;align-items:center;gap:1rem}.tus-skel__head-col{width:50px;height:12px}.tus-skel__head-col:nth-child(1){width:80px}.tus-skel__head-col:nth-child(2){width:50px}.tus-skel__head-col:nth-child(3){width:50px}.tus-skel__head-col:nth-child(4){width:90px}.tus-skel__head-col:nth-child(5){width:70px}.tus-skel__row{display:flex;align-items:center;padding:.75rem 1.25rem;border-bottom:1px solid var(--app-border, #f0f0f0);gap:1.5rem;min-height:56px}.tus-skel__row:nth-child(1) [class*=tus-skel__]{animation-delay:.05s}.tus-skel__row:nth-child(2) [class*=tus-skel__]{animation-delay:.1s}.tus-skel__row:nth-child(3) [class*=tus-skel__]{animation-delay:.15s}.tus-skel__row:nth-child(4) [class*=tus-skel__]{animation-delay:.2s}.tus-skel__row:nth-child(5) [class*=tus-skel__]{animation-delay:.25s}.tus-skel__row .time-users__cell--user{display:flex;align-items:center;flex:1;min-width:0;gap:.75rem}.tus-skel__avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0}.tus-skel__name{flex:1;min-width:0;height:16px;max-width:140px}.tus-skel__row .time-users__cell--hours{width:155px;min-width:155px}.tus-skel__row .time-users__cell--util{width:72px;min-width:72px}.tus-skel__row .time-users__cell--cap{width:64px;min-width:64px}.tus-skel__row .time-users__cell--billable{width:130px;min-width:130px}.tus-skel__row .time-users__cell--actions{width:88px;min-width:88px}.tus-skel__short{width:44px;height:16px}.tus-skel__actions{width:88px;height:32px}.time-users__skeleton{display:block;background:linear-gradient(90deg,var(--app-surface-soft, #e2e8f0) 0%,var(--app-border, #f1f5f9) 40%,var(--app-surface-soft, #e2e8f0) 100%);background-size:200% 100%;animation:tus-skel-shimmer 1.4s ease-in-out infinite;border-radius:8px}.time-page{min-height:100vh;display:flex;background:var(--app-bg)}.time-page__main{position:relative;flex:1;min-width:0;max-height:100vh;display:flex;flex-direction:column;overflow:hidden}.time-page__dev-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--app-bg) 85%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.time-page__dev-overlay-inner{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 3rem;background:var(--app-surface);border:1px solid var(--app-border);border-radius:16px;box-shadow:0 8px 32px #00000014}.time-page__dev-overlay-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;color:var(--app-muted, #64748b)}.time-page__dev-overlay-icon svg{width:32px;height:32px}.time-page__dev-overlay-text{margin:0;font-size:1rem;font-weight:500;color:var(--app-text)}.time-page__dev-overlay-back{display:inline-flex;align-items:center;gap:.5rem;margin-top:.25rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;color:var(--app-muted, #64748b);background:var(--app-surface-soft);border:1px solid var(--app-border);border-radius:10px;cursor:pointer;transition:all .18s ease}.time-page__dev-overlay-back:hover{color:var(--app-text);background:var(--app-border)}.time-page__dev-overlay-back:focus-visible{outline:none;box-shadow:0 0 0 3px #4f46e533}.time-page__dev-overlay-back svg{width:18px;height:18px}.time-page__navbar{flex-shrink:0;display:flex;align-items:center;gap:0;padding:0 .75rem;min-height:50px;height:50px;box-sizing:border-box;background:var(--app-surface);border-bottom:1px solid var(--app-border);position:sticky;top:0;z-index:30;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.time-page__navbar::-webkit-scrollbar{display:none}@media(min-width:480px){.time-page__navbar{padding:0 1.25rem;min-height:54px;height:54px}}@media(min-width:768px){.time-page__navbar{padding:0 1.5rem;min-height:56px;height:56px;overflow-x:visible}}.time-page__navbar-sep{width:1px;height:24px;background:var(--app-border);flex-shrink:0;margin:0 .75rem}.time-page__navbar-logo-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;background:none;border:none;border-radius:0;cursor:pointer;transition:opacity .15s ease}.time-page__navbar-logo-btn:hover{opacity:.82}.time-page__navbar-logo-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--app-surface),0 0 0 4px var(--app-accent-focus, rgba(79, 70, 229, .25));border-radius:6px}.time-page__navbar-logo-btn--active{opacity:1}.time-page__navbar-logo-img{width:1.65rem;height:auto;max-height:2.25rem;display:block;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.time-page__navbar-title{flex-shrink:0;font-size:.9375rem;font-weight:700;color:var(--app-text);letter-spacing:-.02em;white-space:nowrap}.time-page__navbar-tabs{display:flex;align-items:stretch;height:100%;gap:0}.time-page__navbar-tab{position:relative;padding:0 .6rem;font-size:.75rem;font-weight:500;color:var(--app-muted, #6b7280);background:none;border:none;cursor:pointer;white-space:nowrap;transition:color .14s;display:flex;align-items:center;flex-shrink:0}@media(min-width:480px){.time-page__navbar-tab{padding:0 .75rem;font-size:.7875rem}}@media(min-width:768px){.time-page__navbar-tab{padding:0 .9rem;font-size:.8125rem}}.time-page__navbar-tab:hover{color:var(--app-text)}.time-page__navbar-tab--active{color:var(--app-accent, #4f46e5);font-weight:600}.time-page__navbar-tab--active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--app-accent, #4f46e5);border-radius:2px 2px 0 0}.time-page__navbar-spacer{flex:1;min-width:.5rem}.time-page__navbar-settings{flex-shrink:0;display:flex;align-items:center;margin:0 .5rem 0 .25rem}.time-page__navbar-manager{flex-shrink:0;display:flex;align-items:center}.time-page__navbar-manager-err{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--app-danger, #ef4444);cursor:help}.tt-scope-picker{position:relative;flex-shrink:0}.tt-scope-trigger{display:inline-flex;align-items:center;gap:.45rem;padding:0 .65rem 0 .4rem;height:34px;background:var(--app-surface, #fff);border:1px solid var(--app-border, #e5e7eb);border-radius:10px;cursor:pointer;font-family:inherit;font-size:.8125rem;font-weight:500;color:var(--app-text, #111827);transition:border-color .15s,box-shadow .15s,background .15s;white-space:nowrap;max-width:220px}.tt-scope-trigger:hover{border-color:color-mix(in srgb,var(--app-border, #e5e7eb) 40%,var(--app-accent, #4f46e5) 60%);background:var(--app-surface-soft, #f8fafc)}.tt-scope-trigger--open{border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 3px color-mix(in srgb,var(--app-accent, #4f46e5) 15%,transparent);background:var(--app-surface, #fff)}.tt-scope-trigger__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.tt-scope-trigger__chevron{flex-shrink:0;color:var(--app-muted, #64748b);transition:transform .2s ease}.tt-scope-trigger--open .tt-scope-trigger__chevron{transform:rotate(180deg)}.tt-scope-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:700;letter-spacing:-.01em;flex-shrink:0;-webkit-user-select:none;user-select:none}.tt-scope-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:200;min-width:230px;max-width:300px;background:var(--app-surface, #fff);border:1px solid var(--app-border, #e5e7eb);border-radius:12px;box-shadow:0 8px 30px #0f172a1f,0 2px 8px #0f172a0f;overflow:hidden;animation:tt-scope-in .14s ease}@keyframes tt-scope-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.tt-scope-panel__header{padding:.6rem .85rem .45rem;border-bottom:1px solid var(--app-border, #e5e7eb)}.tt-scope-panel__title{font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-muted, #64748b)}.tt-scope-panel__search{display:flex;align-items:center;gap:.4rem;padding:.45rem .75rem;border-bottom:1px solid var(--app-border, #e5e7eb);color:var(--app-muted, #64748b)}.tt-scope-panel__search-input{flex:1;border:none;background:transparent;font-family:inherit;font-size:.8125rem;color:var(--app-text, #111827);outline:none}.tt-scope-panel__search-input::placeholder{color:var(--app-muted, #94a3b8)}.tt-scope-panel__search-clear{background:none;border:none;padding:2px;cursor:pointer;color:var(--app-muted, #94a3b8);display:flex;align-items:center;border-radius:4px}.tt-scope-panel__search-clear:hover{color:var(--app-text)}.tt-scope-panel__list{list-style:none;margin:0;padding:.3rem 0;max-height:260px;overflow-y:auto;overscroll-behavior:contain}.tt-scope-panel__empty{padding:.75rem 1rem;font-size:.8125rem;color:var(--app-muted, #64748b);text-align:center}.tt-scope-panel__item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.45rem .75rem;background:none;border:none;cursor:pointer;font-family:inherit;font-size:.8125rem;color:var(--app-text, #111827);text-align:left;transition:background .1s}.tt-scope-panel__item:hover{background:var(--app-surface-soft, #f8fafc)}.tt-scope-panel__item--active{background:color-mix(in srgb,var(--app-accent, #4f46e5) 6%,transparent)}.tt-scope-panel__item--active .tt-scope-panel__item-name{font-weight:600;color:var(--app-accent, #4f46e5)}.tt-scope-panel__item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-scope-panel__check{flex-shrink:0;color:var(--app-accent, #4f46e5);stroke-width:2.5}.time-page__header{flex-shrink:0;display:flex;align-items:center;gap:.75rem;padding:0 2rem;height:64px;background:var(--app-surface);border-bottom:1px solid var(--app-border)}.time-page__navbar .app-back-btn{flex-shrink:0;align-self:center}.time-page__header .app-back-btn{flex-shrink:0}.time-page__header-divider{width:1px;height:28px;background:var(--app-border);flex-shrink:0}.time-page__header-inner{flex:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0}.time-page__header--with-manager{min-height:64px;height:auto;padding-top:.5rem;padding-bottom:.5rem;align-items:center}.time-page__header-trailing{flex-shrink:0;display:flex;justify-content:flex-end;min-width:0;max-width:min(100%,52rem)}.time-page__title{margin:0;font-size:1.375rem;font-weight:700;color:var(--app-text);letter-spacing:-.025em;min-width:0}.time-page__header-manager{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;width:100%;max-width:22rem}.time-page__header-manager-control{display:flex;flex-direction:column;align-items:stretch;gap:.28rem;min-width:min(100%,11.5rem);max-width:20rem;width:100%;padding:.4rem .55rem .45rem;background:var(--app-surface, #fff);border:1px solid color-mix(in srgb,var(--app-border, #e5e7eb) 88%,var(--app-accent, #4f46e5) 12%);border-radius:9px;box-shadow:0 1px 2px #0f172a0d}.time-page__header-manager-label{margin:0;font-size:.625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-muted, #64748b)}.time-page__header-manager-select-wrap{min-width:0;width:100%}.time-page__header-manager-select{box-sizing:border-box;display:block;width:100%;min-height:2.15rem;padding:.35rem 2rem .35rem .65rem;font-family:inherit;font-size:.8125rem;font-weight:500;line-height:1.3;color:var(--app-text, #111827);cursor:pointer;background-color:color-mix(in srgb,var(--app-surface-soft, #f8fafc) 40%,var(--app-surface, #fff));background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .45rem center;background-size:1rem;border:1px solid var(--app-border, #e5e7eb);border-radius:7px;appearance:none;-webkit-appearance:none;transition:border-color .15s ease,box-shadow .15s ease}.time-page__header-manager-select:hover{border-color:color-mix(in srgb,var(--app-border, #e5e7eb) 55%,var(--app-muted, #64748b) 45%)}.time-page__header-manager-select:focus-visible{outline:none;border-color:color-mix(in srgb,var(--app-accent, #4f46e5) 50%,var(--app-border, #e5e7eb));box-shadow:0 0 0 2px color-mix(in srgb,var(--app-accent, #4f46e5) 20%,transparent)}.time-page__header-manager-err{margin:0;font-size:.8125rem;font-weight:500;color:#b45309;line-height:1.4;text-align:right}.time-page__header-manager-warn{margin:0;font-size:.6875rem;line-height:1.35;color:var(--app-muted, #64748b);text-align:right}@media(max-width:960px){.time-page__header--with-manager .time-page__header-inner{flex-direction:column;align-items:stretch}.time-page__header-trailing{max-width:none;justify-content:stretch}.time-page__header-manager{align-items:stretch;max-width:none}.time-page__header-manager-control{max-width:none}.time-page__header-manager-err,.time-page__header-manager-warn{text-align:left}}.time-page__tabbar{flex-shrink:0;display:flex;gap:.25rem;padding:0 2rem;background:var(--app-surface);border-bottom:1px solid var(--app-border);min-height:44px;align-items:stretch}.time-page__tab{position:relative;padding:0 1.25rem;font-size:.875rem;font-weight:600;color:var(--app-muted, #6b7280);background:none;border:none;border-radius:0;cursor:pointer;transition:color .15s}.time-page__tab:hover{color:var(--app-text)}.time-page__tab--active{color:var(--app-accent, #4f46e5)}.time-page__tab--active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--app-accent, #4f46e5);border-radius:2px 2px 0 0}.tt-ecat-archive-toggle{display:inline-flex;align-items:center;gap:.4rem;margin-top:.35rem;font-size:.8125rem;color:var(--app-text);cursor:pointer}.tt-ecat-archive-toggle--toolbar{font-weight:500;color:var(--app-text)}.tt-ecat-archive-toggle--row{margin-top:0;align-self:center;flex-shrink:0}.tt-ecat-toolbar__toggle-field{display:flex;flex-direction:column;gap:.45rem;flex-shrink:0}.tt-ecat-toolbar__label-spacer{visibility:hidden;-webkit-user-select:none;user-select:none;pointer-events:none}.tt-ecat-archive-toggle--field{margin-top:0;box-sizing:border-box;min-height:2.65rem;padding:0 .15rem;align-items:center;white-space:nowrap}.tt-ecat-page__controls .tt-ecat-toolbar.tt-tasks-toolbar{margin-bottom:.5rem}.tt-ecat-toolbar.tt-tasks-toolbar{display:block;margin-bottom:1.25rem}.tt-ecat-toolbar__main{display:flex;flex-direction:column;gap:.35rem;max-width:min(52rem,100%)}.tt-ecat-toolbar__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem}.tt-ecat-toolbar__row .tt-ecat-toolbar__client-field{flex:1 1 16rem;min-width:min(100%,14rem);max-width:28rem}.tt-ecat-toolbar__new-btn{flex-shrink:0;align-self:flex-end;white-space:nowrap;box-sizing:border-box;min-height:2.65rem;height:2.65rem;padding-top:0;padding-bottom:0}.tt-ecat-toolbar__hint{margin-top:.15rem}.tt-ecat-page .tt-tasks-toolbar__client{max-width:none}.tt-ecat-card__meta{row-gap:.4rem}.tt-ecat-page .tt-task-card__title{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.tt-ecat-archive-toggle input{accent-color:var(--app-accent, #4f46e5)}.tt-ecat-badge{display:inline-flex;margin-left:.5rem;padding:.12rem .45rem;font-size:.6875rem;font-weight:600;border-radius:6px;vertical-align:middle}.tt-ecat-badge--title{margin-left:.45rem;vertical-align:middle;font-weight:600}.tt-ecat-badge--arch{background:#64748b26;color:var(--app-muted)}.time-page__content{flex:1;min-height:0;overflow:auto}.time-page__content[hidden]{display:none}.time-page__content--switching{animation:tt-tab-switch-in .15s ease}.time-page__content--enter{animation:tt-tab-enter .18s ease}@keyframes tt-tab-switch-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes tt-tab-enter{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.time-page__navbar-tabs--skel{align-items:center;gap:.35rem;pointer-events:none}.time-page__navbar-tab-skel{display:inline-block;height:14px;border-radius:6px;background:linear-gradient(105deg,var(--app-border, #e5e7eb) 0%,color-mix(in srgb,var(--app-border, #e5e7eb) 60%,#fff 40%) 50%,var(--app-border, #e5e7eb) 100%);background-size:200% 100%;animation:tt-nav-skel-shimmer 1.6s ease-in-out infinite;opacity:.7}.time-page__navbar-tab-skel:nth-child(2){animation-delay:.1s}.time-page__navbar-tab-skel:nth-child(3){animation-delay:.2s}.time-page__navbar-tab-skel:nth-child(4){animation-delay:.3s}.time-page__navbar-tab-skel:nth-child(5){animation-delay:.4s}.time-page__navbar-tab-skel:nth-child(6){animation-delay:.5s}@keyframes tt-nav-skel-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.time-page-init-skel{flex:1;display:flex;flex-direction:column;padding:0;overflow:hidden;animation:tt-init-skel-fade .25s ease}@keyframes tt-init-skel-fade{0%{opacity:0}to{opacity:1}}.time-page-init-skel__strip,.time-page-init-skel__day,.time-page-init-skel__total-col,.time-page-init-skel__row,.time-page-init-skel [class*=time-page-init-skel__btn],.time-page-init-skel [class*=time-page-init-skel__] span,.time-page-init-skel__btn-sm,.time-page-init-skel__heading,.time-page-init-skel__seg-btn,.time-page-init-skel__day-label,.time-page-init-skel__day-num,.time-page-init-skel__day-h,.time-page-init-skel__day-bar,.time-page-init-skel__total-label,.time-page-init-skel__total-num,.time-page-init-skel__row-color,.time-page-init-skel__row-proj,.time-page-init-skel__row-task,.time-page-init-skel__cell{background:linear-gradient(105deg,var(--app-surface-soft, #e2e8f0) 0%,var(--app-border, #f1f5f9) 35%,color-mix(in srgb,var(--app-accent, #4f46e5) 10%,#fff) 50%,var(--app-border, #f1f5f9) 65%,var(--app-surface-soft, #e2e8f0) 100%);background-size:200% 100%;animation:tus-skel-shimmer 1.6s ease-in-out infinite,tus-skel-pulse 2s ease-in-out infinite;border-radius:6px}.time-page-init-skel__strip{display:flex;align-items:center;justify-content:space-between;padding:.85rem 2rem;border-bottom:1px solid var(--app-border, #e5e7eb);background:var(--app-surface, #fff);gap:.75rem;flex-shrink:0}.time-page-init-skel__strip-left{display:flex;align-items:center;gap:.5rem}.time-page-init-skel__strip-right{display:flex;align-items:center;gap:.4rem}.time-page-init-skel__btn-sm{display:block;width:32px;height:32px;border-radius:8px;flex-shrink:0}.time-page-init-skel__heading{display:block;width:160px;height:20px;border-radius:8px}.time-page-init-skel__seg-btn{display:block;width:72px;height:28px;border-radius:7px}.time-page-init-skel__days{display:flex;align-items:stretch;border-bottom:1px solid var(--app-border, #e5e7eb);flex-shrink:0;background:var(--app-surface, #fff)}.time-page-init-skel__day{flex:1;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.75rem .5rem .6rem;border-right:1px solid var(--app-border, #e5e7eb);background:transparent!important}.time-page-init-skel__day-label{display:block;width:24px;height:10px;border-radius:4px}.time-page-init-skel__day-num{display:block;width:28px;height:28px;border-radius:50%}.time-page-init-skel__day-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;min-height:40px}.time-page-init-skel__day-bar{display:block;width:60%;min-height:6px;border-radius:4px 4px 0 0}.time-page-init-skel__day-h{display:block;width:32px;height:10px;border-radius:4px}.time-page-init-skel__total-col{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;min-width:90px;background:transparent!important}.time-page-init-skel__total-label{display:block;width:52px;height:10px;border-radius:4px}.time-page-init-skel__total-num{display:block;width:70px;height:22px;border-radius:6px}.time-page-init-skel__entries{flex:1;display:flex;flex-direction:column;padding:.75rem 0;gap:0;overflow:hidden}.time-page-init-skel__row{display:flex;align-items:center;gap:.85rem;padding:.65rem 2rem;border-bottom:1px solid var(--app-border, #e5e7eb);background:transparent!important}.time-page-init-skel__row:nth-child(2){background:color-mix(in srgb,var(--app-surface-soft, #f8fafc) 60%,transparent)!important}.time-page-init-skel__row-color{display:block;width:4px;height:36px;border-radius:4px;flex-shrink:0}.time-page-init-skel__row-text{flex:1;display:flex;flex-direction:column;gap:.35rem;min-width:0}.time-page-init-skel__row-proj{display:block;height:13px;border-radius:5px}.time-page-init-skel__row-task{display:block;height:11px;border-radius:4px;opacity:.65}.time-page-init-skel__row-cells{display:flex;gap:.35rem;flex-shrink:0}.time-page-init-skel__cell{display:block;width:42px;height:28px;border-radius:6px;flex-shrink:0}.time-page-init-skel__row:nth-child(1) .time-page-init-skel__cell:nth-child(1){animation-delay:.04s}.time-page-init-skel__row:nth-child(1) .time-page-init-skel__cell:nth-child(2){animation-delay:.08s}.time-page-init-skel__row:nth-child(1) .time-page-init-skel__cell:nth-child(3){animation-delay:.12s}.time-page-init-skel__row:nth-child(1) .time-page-init-skel__cell:nth-child(4){animation-delay:.16s}.time-page-init-skel__row:nth-child(1) .time-page-init-skel__cell:nth-child(5){animation-delay:.2s}.time-page-init-skel__row:nth-child(1) .time-page-init-skel__cell:nth-child(6){animation-delay:.24s}.time-page-init-skel__row:nth-child(1) .time-page-init-skel__cell:nth-child(7){animation-delay:.28s}.time-page-init-skel__row:nth-child(2) .time-page-init-skel__cell:nth-child(1){animation-delay:.06s}.time-page-init-skel__row:nth-child(2) .time-page-init-skel__cell:nth-child(2){animation-delay:.1s}.time-page-init-skel__row:nth-child(2) .time-page-init-skel__cell:nth-child(3){animation-delay:.14s}.time-page-init-skel__row:nth-child(2) .time-page-init-skel__cell:nth-child(4){animation-delay:.18s}.time-page-init-skel__row:nth-child(2) .time-page-init-skel__cell:nth-child(5){animation-delay:.22s}.time-page-init-skel__row:nth-child(2) .time-page-init-skel__cell:nth-child(6){animation-delay:.26s}.time-page-init-skel__row:nth-child(2) .time-page-init-skel__cell:nth-child(7){animation-delay:.3s}.time-page-init-skel__row:nth-child(3) .time-page-init-skel__cell:nth-child(1){animation-delay:.08s}.time-page-init-skel__row:nth-child(3) .time-page-init-skel__cell:nth-child(2){animation-delay:.12s}.time-page-init-skel__row:nth-child(3) .time-page-init-skel__cell:nth-child(3){animation-delay:.16s}.time-page-init-skel__row:nth-child(3) .time-page-init-skel__cell:nth-child(4){animation-delay:.2s}.time-page-init-skel__row:nth-child(3) .time-page-init-skel__cell:nth-child(5){animation-delay:.24s}.time-page-init-skel__row:nth-child(3) .time-page-init-skel__cell:nth-child(6){animation-delay:.28s}.time-page-init-skel__row:nth-child(3) .time-page-init-skel__cell:nth-child(7){animation-delay:.32s}.time-page__panel{padding:1.5rem 2rem}.time-page__empty-text{margin:0;font-size:.9375rem;color:var(--app-muted, #6b7280)}.time-users{--time-billable: #1e40af;--time-non-billable: #93c5fd}.tus{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.75rem}.tus__cards{display:grid;grid-template-columns:repeat(4,1fr);gap:.875rem}@media(max-width:900px){.tus__cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.tus__cards{grid-template-columns:1fr}}.tus__card{position:relative;display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;background:var(--app-surface, #fff);border:1px solid var(--app-border, #e5e7eb);border-radius:12px;overflow:hidden;transition:box-shadow .15s,transform .15s}.tus__card:hover{box-shadow:0 4px 16px #00000012;transform:translateY(-1px)}.tus__card-icon{flex-shrink:0;width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center}.tus__card-icon svg{width:18px;height:18px}.tus__card-icon--total{background:#eff6ff;color:#4f46e5}.tus__card-icon--capacity{background:#f5f3ff;color:#7c3aed}.tus__card-icon--billable{background:#f0fdf4;color:#16a34a}.tus__card-icon--non-billable{background:#fff7ed;color:#ea580c}.tus__card-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.tus__card-label{font-size:.75rem;font-weight:500;color:var(--app-muted, #6b7280);white-space:nowrap}.tus__card-label-unit{font-weight:500;opacity:.85}.tus__card-value{font-size:1.5rem;font-weight:800;color:var(--app-text, #111827);letter-spacing:-.03em;line-height:1.15;font-variant-numeric:tabular-nums}.tus__card-accent{position:absolute;bottom:0;left:0;right:0;height:3px}.tus__card-accent--billable{background:#16a34a}.tus__card-accent--non-billable{background:#ea580c}.tus__util{background:var(--app-surface, #fff);border:1px solid var(--app-border, #e5e7eb);border-radius:12px;padding:.875rem 1.125rem}.tus__util-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.tus__util-label{font-size:.8125rem;font-weight:600;color:var(--app-text, #374151)}.tus__util-pct{font-size:.875rem;font-weight:700;color:var(--app-accent, #4f46e5);font-variant-numeric:tabular-nums}.tus__util-track{height:8px;border-radius:999px;background:var(--app-surface-soft, #f3f4f6);overflow:hidden}.tus__util-fill{height:100%;border-radius:999px;background:#93c5fd;transition:width .5s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.tus__util-fill-billable{position:absolute;left:0;top:0;bottom:0;background:#1e40af;border-radius:999px;transition:width .5s cubic-bezier(.22,1,.36,1)}.tus__util-legend{display:flex;gap:1.25rem;margin-top:.5rem;flex-wrap:wrap}.tus__util-leg-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--app-muted, #6b7280)}.tus__util-leg-item i{display:inline-block;width:10px;height:10px;border-radius:3px;font-style:normal;flex-shrink:0}.tus__util-leg-item--billable i{background:#1e40af}.tus__util-leg-item--non-billable i{background:#93c5fd}.time-users__period{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;margin-bottom:1rem;font-size:.8125rem;color:var(--app-muted, #64748b)}.time-users__period-label{font-weight:600;color:var(--app-text, #475569)}.time-users__period-range{font-weight:500}.time-users__toolbar{margin-bottom:1rem}.time-users__add-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:#fff;background:var(--app-accent, #4f46e5);border-radius:8px;text-decoration:none;transition:background .15s,transform .1s}.time-users__add-btn:hover{background:color-mix(in srgb,var(--app-accent, #4f46e5) 85%,#000)}.time-users__add-btn svg{flex-shrink:0}.time-users__table-section{background:var(--app-surface, #fff);border:1px solid var(--app-border, #e5e7eb);border-radius:12px;overflow:visible;box-shadow:0 1px 3px #0000000f}.time-users__table-head{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1rem .75rem 1.25rem;background:var(--app-surface-soft, #f8fafc);border-bottom:1px solid var(--app-border)}.time-users__table-head-user{flex:1;min-width:0;display:flex;align-items:center}.time-users__col-label{font-size:.75rem;font-weight:600;color:var(--app-muted, #4b5563);text-transform:uppercase;letter-spacing:.04em}.time-users__employees-trigger{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .6rem;font-size:.875rem;font-weight:600;color:var(--app-text);background:var(--app-surface);border:1px solid var(--app-border);border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s}.time-users__employees-trigger:hover{background:var(--app-surface-soft);border-color:var(--app-muted)}.time-users__clock-icon{flex-shrink:0;color:var(--app-muted)}.time-users__trigger-chevron{flex-shrink:0;color:var(--app-muted);margin-left:.15rem}.time-users__table-cols{display:flex;align-items:center;gap:1.5rem;flex-shrink:0}.time-users__col{font-size:.75rem;font-weight:600;color:var(--app-muted, #4b5563);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.time-users__col--hours{width:155px;min-width:155px;flex-shrink:0;text-align:center}.time-users__col--util{width:72px;min-width:72px;flex-shrink:0;text-align:center}.time-users__col--cap{width:64px;min-width:64px;flex-shrink:0;text-align:center}.time-users__col--billable{width:130px;min-width:130px;flex-shrink:0;text-align:center}.time-users__col--actions{width:88px;min-width:88px;flex-shrink:0;text-align:center}.time-users__table-body{display:flex;flex-direction:column}.time-users__row{display:flex;align-items:center;gap:1.5rem;padding:.6rem 1rem .6rem 1.25rem;border-bottom:1px solid var(--app-border);min-height:56px}.time-users__row--menu-open{position:relative;z-index:30}.time-users__row:last-child{border-bottom:none}.time-users__row:hover{background:var(--app-surface-soft, #f8fafc)}.time-users__cell{font-size:.875rem;color:var(--app-text)}.time-users__cell--user{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;text-align:left}.time-users__avatar{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--app-muted, #94a3b8);color:#fff;font-size:.6875rem;font-weight:700;display:flex;align-items:center;justify-content:center;overflow:hidden}.time-users__avatar img{width:100%;height:100%;object-fit:cover}.time-users__status{flex-shrink:0;width:10px;height:10px;border-radius:50%;background:var(--app-border)}.time-users__status[data-online=true]{background:#f59e0b;box-shadow:0 0 0 2px var(--app-surface)}.time-users__avatar-link{display:flex;flex-shrink:0;text-decoration:none;border-radius:50%}.time-users__user-text{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.125rem}.time-users__name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;color:inherit;transition:color .14s}.time-users__position{font-size:.75rem;font-weight:400;line-height:1.2;color:var(--app-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.time-users__name--link:hover{color:var(--app-accent, #4f46e5);text-decoration:underline;text-underline-offset:2px}.time-users__actions-menu-item[href]{display:block;text-decoration:none;color:inherit}.time-users__role-tag{flex-shrink:0;padding:.175rem .5rem;font-size:.6875rem;font-weight:600;border-radius:6px;white-space:nowrap;border:1px solid currentColor;opacity:.9}.time-users__filter-bar{display:flex;align-items:center;gap:.5rem;padding:0 0 .75rem;flex-shrink:0}.time-users__filter-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.375rem .625rem;font-size:.8125rem;font-weight:500;font-family:inherit;color:var(--app-muted);background:var(--app-surface-soft);border:1px solid var(--app-border);border-radius:8px;cursor:pointer;transition:all .15s}.time-users__filter-btn:hover{color:var(--app-text);border-color:var(--app-border-hover, #cbd5e1)}.time-users__filter-btn--open{border-color:var(--app-accent);box-shadow:0 0 0 3px #4f46e51a}.time-users__filter-chevron{margin-left:2px;transition:transform .2s;flex-shrink:0}.time-users__filter-btn--open .time-users__filter-chevron{transform:rotate(180deg)}.time-users__filter-clear{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:50%;opacity:.7;transition:opacity .15s,background .15s}.time-users__filter-clear:hover{opacity:1;background:#00000014}.time-users__filter-menu{z-index:9999;min-width:200px;padding:4px;background:var(--app-surface);border:1px solid var(--app-border);border-radius:10px;box-shadow:0 8px 24px #0000001a;animation:time-filter-in .15s cubic-bezier(.22,1,.36,1) both}@keyframes time-filter-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:none}}.time-users__filter-option{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .625rem;font-size:.8125rem;font-weight:500;font-family:inherit;color:var(--app-text);background:transparent;border:1px solid transparent;border-radius:7px;cursor:pointer;text-align:left;transition:background .1s}.time-users__filter-option:hover{background:var(--app-surface-soft)}.time-users__filter-option--active{font-weight:600}.time-users__filter-opt-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.time-users__filter-check{margin-left:auto;flex-shrink:0}.time-users__cell--hours{width:155px;min-width:155px;flex-shrink:0;display:flex;align-items:center;justify-content:center;text-align:center}.time-users__hours-block{display:flex;align-items:center;justify-content:center;gap:.5rem}.time-users__hours-value{width:2.75rem;font-variant-numeric:tabular-nums;font-weight:500;font-size:.875rem;color:var(--app-text)}.time-users__row-bar{display:flex;width:160px;min-width:160px;height:10px;border-radius:5px;overflow:hidden;background:var(--time-non-billable, #93c5fd);flex-shrink:0}.time-users__row-bar--empty{background:var(--app-border, #e5e7eb)}.time-users__row-bar-segment--billable{width:var(--time-row-billable-pct, 0%);background:linear-gradient(90deg,#1e3a8a,#2563eb 60%,#60a5fa);flex-shrink:0}.time-users__row-bar--full-billable .time-users__row-bar-segment--billable{background:linear-gradient(90deg,#1e3a8a,#2563eb)}.time-users__row-bar-segment--non-billable{flex:1;background:linear-gradient(90deg,#93c5fd,#bfdbfe)}.time-users__cell--util{width:72px;min-width:72px;flex-shrink:0;font-variant-numeric:tabular-nums;text-align:center}.time-users__cell--cap{width:64px;min-width:64px;flex-shrink:0;font-variant-numeric:tabular-nums;text-align:center}.time-users__cell--billable{width:130px;min-width:130px;flex-shrink:0;font-variant-numeric:tabular-nums;text-align:center}.time-users__cell--actions{width:88px;min-width:88px;flex-shrink:0;display:flex;justify-content:center;position:relative}.time-users__actions-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.8125rem;font-weight:500;color:var(--app-text, #374151);background:var(--app-surface-soft, #f3f4f6);border:1px solid var(--app-border, #e5e7eb);border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s}.time-users__actions-btn:hover{background:var(--app-border, #e5e7eb);color:var(--app-text);border-color:var(--app-muted, #9ca3af)}.time-users__actions-btn--open{background:var(--app-border, #e5e7eb);border-color:var(--app-muted, #9ca3af)}.time-users__actions-btn svg{flex-shrink:0}.time-users__actions-menu{position:absolute;top:100%;right:0;margin-top:4px;min-width:180px;padding:4px 0;background:var(--app-surface, #fff);border:1px solid var(--app-border, #e5e7eb);border-radius:8px;box-shadow:0 8px 24px #0000001f;z-index:50;display:flex;flex-direction:column}.time-users__actions-menu-item{display:block;width:100%;padding:.4rem 1rem;font-size:.875rem;font-weight:500;color:var(--app-text, #111827);background:none;border:none;text-align:left;cursor:pointer;transition:background .1s}.time-users__actions-menu-item:hover:not(:disabled){background:var(--app-surface-soft, #f3f4f6)}.time-users__actions-menu-item--disabled{color:var(--app-muted, #9ca3af);cursor:not-allowed}.time-users__error{display:flex;align-items:center;gap:.625rem;margin:1.5rem;padding:.875rem 1.125rem;background:#ef44440f;border:1px solid rgba(239,68,68,.18);border-radius:10px;color:#ef4444;font-size:.875rem}.time-users__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3.5rem 1.5rem;color:var(--app-muted, #9ca3af);font-size:.875rem;text-align:center}.time-users__empty svg{opacity:.35}.time-users__filter-count{font-size:.8rem;color:var(--app-muted, #6b7280);margin-left:.25rem}@keyframes exp-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tt-exp-panel{display:flex;flex-direction:column;gap:0;animation:exp-enter .3s cubic-bezier(.22,1,.36,1) both}.tt-exp-panel__shell{display:flex;flex-direction:column;flex:1;min-height:0}.tt-exp-panel__toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.25rem 0 1rem;background:linear-gradient(180deg,var(--app-bg, #f8fafc) 0%,var(--app-surface, #fff) 100%);border-bottom:1px solid var(--app-border, #e5e7eb)}.tt-exp-panel__toolbar-left{display:flex;align-items:center;min-width:0;flex:1 1 auto}.tt-exp-panel__toolbar-right{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem .75rem;flex-shrink:0}.tt-exp-panel__scope-hint{margin:0;max-width:22rem;font-size:.8125rem;line-height:1.35;color:var(--app-muted, #64748b)}.tt-exp-panel__list-err{margin:0 0 .75rem;padding:.65rem .85rem;font-size:.875rem;line-height:1.4;color:#b45309;background:color-mix(in srgb,#f59e0b 12%,var(--app-surface, #fff));border:1px solid color-mix(in srgb,#f59e0b 35%,var(--app-border, #e5e7eb));border-radius:8px}.tt-exp-panel__heading{margin:0;font-size:1.0625rem;font-weight:700;color:var(--app-text, #111827);letter-spacing:-.02em}.tt-exp-panel__project-scope-dot{display:inline-block;flex-shrink:0;width:.55rem;height:.55rem;border-radius:999px;box-shadow:0 0 0 2px color-mix(in srgb,var(--app-surface, #fff) 88%,var(--app-border, #e5e7eb))}.tt-exp-panel__project-scope-select-wrap{width:100%;min-width:0;max-width:none}.tt-exp-panel__project-scope-select{box-sizing:border-box;display:block;width:100%;min-height:2.45rem;padding:.45rem 2.2rem .45rem .75rem;font-family:inherit;font-size:.875rem;font-weight:500;color:var(--app-text, #111827);cursor:pointer;background-color:var(--app-surface, #fff);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .55rem center;background-size:1.05rem;border:1px solid var(--app-border, #e5e7eb);border-radius:8px;appearance:none;-webkit-appearance:none;transition:border-color .15s ease,box-shadow .15s ease}.tt-exp-panel__project-scope-select:hover:not(:disabled){border-color:color-mix(in srgb,var(--app-border, #e5e7eb) 65%,var(--app-muted, #64748b) 35%)}.tt-exp-panel__project-scope-select:focus-visible{outline:none;border-color:color-mix(in srgb,var(--app-accent, #4f46e5) 45%,var(--app-border, #e5e7eb));box-shadow:0 0 0 3px color-mix(in srgb,var(--app-accent, #4f46e5) 18%,transparent)}.tt-exp-panel__project-scope-select:disabled{cursor:not-allowed;opacity:.72;background-color:var(--app-surface-soft, #f3f4f6)}.tt-exp-panel__project-scope-srch{width:100%}.tt-exp-panel__project-scope-srch .tt-exp-panel__project-scope-srch-btn{min-height:2.45rem;padding:.45rem .85rem .45rem .75rem;font-size:.875rem;font-weight:500;border-radius:8px}.tt-exp-panel__project-scope-hint{margin:.25rem 0 0;font-size:.75rem;line-height:1.45;color:var(--app-muted, #64748b)}.tt-exp-panel__project-scope-err{margin:.35rem 0 0;font-size:.8125rem;line-height:1.35;color:#b45309}.tt-exp-panel__sections{display:flex;flex-direction:column;gap:1.125rem;padding:1.25rem 0 0}.tt-exp-panel__section{border:1px solid var(--app-border-soft, #e2e8f0);border-radius:12px;overflow:hidden;background:var(--app-surface, #fff);box-shadow:0 1px 2px #0f172a0a}.tt-exp-panel__section-head{padding:.75rem 1rem;background:var(--app-bg, #f8fafc);border-bottom:1px solid var(--app-border, #e5e7eb)}.tt-exp-panel__section-head--journal{display:flex;flex-direction:column;align-items:stretch;gap:.85rem;padding:1rem 1.125rem 1.05rem}.tt-exp-panel__journal-head-text{min-width:0}.tt-exp-panel__journal-project{display:flex;flex-direction:column;gap:.4rem;width:100%;padding-top:.85rem;border-top:1px solid var(--app-border, #e5e7eb)}.tt-exp-panel__journal-project-line{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.tt-exp-panel__journal-project-label{margin:0;font-size:.875rem;font-weight:600;color:var(--app-text, #1e293b)}.tt-exp-panel__journal-project .tt-exp-panel__project-scope-hint{margin:.1rem 0 0}.tt-exp-panel__journal-project .tt-exp-panel__project-scope-err{margin:.25rem 0 0}.tt-exp-panel__section-head--journal .tt-exp-panel__project-scope-dot{box-shadow:0 0 0 2px color-mix(in srgb,var(--app-bg, #f8fafc) 92%,var(--app-border, #e5e7eb))}.tt-exp-panel__section-title{margin:0;font-size:.9375rem;font-weight:700;color:var(--app-text, #1e293b);letter-spacing:-.01em}.tt-exp-panel__section-subtitle{margin:.35rem 0 0;font-size:.8125rem;font-weight:500;line-height:1.4;color:var(--app-text, #334155)}.tt-exp-panel__section-subtitle--muted{color:var(--app-muted, #64748b);font-weight:400}.tt-exp-panel__section-body{flex:1;min-height:10rem}.tt-exp-panel__toolbar-right .tt-exp-panel__scope{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;min-width:0;flex:1 1 12rem;max-width:22rem;position:relative}.tt-exp-panel__scope-label{font-size:.875rem;font-weight:600;color:var(--app-text);white-space:nowrap}.tt-exp-panel__dropdown-root{flex:1 1 12rem;min-width:min(100%,11rem);max-width:20rem}.tt-exp-panel__scope-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;box-sizing:border-box;padding:.55rem .85rem;min-height:2.65rem;font-family:inherit;font-size:.875rem;font-weight:500;color:var(--app-text);background:var(--app-surface);border:1.5px solid var(--app-border);border-radius:8px;cursor:pointer;transition:border-color .15s,box-shadow .15s;text-align:left}.tt-exp-panel__scope-trigger:hover{border-color:var(--app-border-hover, var(--app-border))}.tt-exp-panel__scope-trigger[aria-expanded=true]{border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 3px var(--app-accent-focus, rgba(79, 70, 229, .12))}.tt-exp-panel__scope-trigger svg{width:14px;height:14px;flex-shrink:0;color:var(--app-muted);transition:transform .15s ease}.tt-exp-panel__scope-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.tt-exp-panel__scope-trigger-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-exp-panel__add-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;flex-shrink:0;box-sizing:border-box;min-height:2.65rem;padding:.55rem 1.125rem;font-family:inherit;font-size:.875rem;font-weight:600;line-height:1.2;color:#fff;white-space:nowrap;background:var(--app-accent, #4f46e5);border:none;border-radius:8px;cursor:pointer;transition:background .15s}.tt-exp-panel__add-btn:hover{background:var(--app-accent-hover, #4338ca)}.tt-exp-panel__add-btn:disabled{cursor:not-allowed;opacity:.5;background:var(--app-muted, #94a3b8)}.tt-exp-panel__add-btn:disabled:hover{background:var(--app-muted, #94a3b8)}.tt-exp-panel__add-btn svg{width:16px;height:16px;flex-shrink:0}.tt-exp-panel__weeks{padding:1rem;display:flex;flex-direction:column;gap:1rem}.tt-exp-panel__weeks .exp__week{margin-bottom:0}.tt-exp-panel__dropdown-menu{right:0;left:auto;min-width:min(100%,240px)}.tt-exp-panel__dropdown-menu .tt-settings__dropdown-item{display:flex;align-items:center;gap:.5rem}.tt-exp-panel__dropdown-check{width:14px;height:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.tt-exp-panel__dropdown-check svg{width:12px;height:12px;color:var(--app-accent, #4f46e5)}.tt-exp-panel__dropdown-item--on{background:#4f46e512;color:var(--app-accent, #4f46e5);font-weight:600}.tt-exp-panel__list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;padding:2.75rem 1.25rem 3rem;text-align:center;border-bottom:1px solid var(--app-border, #f1f5f9)}.tt-exp-panel__empty-icon{width:3rem;height:3rem;color:var(--app-muted);opacity:.45}.tt-exp-panel__empty-icon svg{width:100%;height:100%}.tt-exp-panel__empty-title{margin:0;font-size:1rem;font-weight:700;color:var(--app-text, #111827)}.tt-exp-panel__empty-desc{margin:0;font-size:.875rem;line-height:1.55;color:var(--app-muted, #64748b);max-width:26rem}.tt-exp-panel__empty-hint{margin:.35rem 0 0;font-size:.8125rem;color:var(--app-muted, #64748b);font-weight:500}@media(max-width:640px){.tt-exp-panel__toolbar-right{flex-direction:column;align-items:stretch;width:100%}.tt-exp-panel__toolbar-right .tt-exp-panel__scope{flex-direction:column;align-items:stretch;max-width:none}.tt-exp-panel__dropdown-root{max-width:none}.tt-exp-panel__add-btn{width:100%;min-height:2.75rem}.tt-exp-panel__dropdown-menu{left:0;right:0;min-width:0}}@keyframes exp-modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.exp__modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0006;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1rem}.exp__form{background:var(--app-surface, #fff);border:1px solid var(--app-border, #e5e7eb);border-radius:16px;padding:0;width:100%;max-width:780px;max-height:calc(100vh - 2rem);overflow-y:auto;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000002e;animation:exp-modal-in .22s cubic-bezier(.22,1,.36,1) both}.exp__form-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.375rem .875rem;border-bottom:1px solid var(--app-border, #e5e7eb);flex-shrink:0}.exp__form-title{margin:0;font-size:1rem;font-weight:700;color:var(--app-text, #111827)}.exp__form-close{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:7px;cursor:pointer;color:var(--app-muted, #9ca3af);transition:background .12s,color .12s}.exp__form-close svg{width:16px;height:16px}.exp__form-close:hover{background:#0000000f;color:var(--app-text, #374151)}.exp__form>*:not(.exp__form-header){padding-left:1.375rem;padding-right:1.375rem}.exp__form>.exp__form-top{padding-top:1.125rem}.exp__form>.exp__form-attach{padding-top:0}.exp__form>.exp__form-billable{padding-top:0}.exp__form>.exp__form-amount-bottom{padding-top:0}.exp__form>.exp__form-actions{padding-top:.875rem;padding-bottom:1.125rem;border-top:1px solid var(--app-border, #e5e7eb);background:var(--app-surface-soft, #f9fafb);margin-top:.5rem;border-radius:0 0 14px 14px}.exp__form-top,.exp__form-attach,.exp__form-billable,.exp__form-amount-bottom{margin-bottom:.875rem}.exp__form-top{display:grid;grid-template-columns:140px 1fr;gap:1rem;align-items:start}@media(max-width:720px){.exp__form-top{grid-template-columns:1fr}}.exp__form-col{display:flex;flex-direction:column;gap:.5rem}.exp__form-label{font-size:.8125rem;font-weight:700;color:var(--app-text, #374151)}.exp__form-input{width:100%;padding:.5rem .625rem;font-family:inherit;font-size:.875rem;color:var(--app-text, #111827);background:var(--field-bg, var(--app-surface, #fff));border:1px solid var(--app-border, #e5e7eb);border-radius:8px;outline:none;transition:border-color .14s,box-shadow .14s}.exp__form-input:focus{border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 3px #2563eb14}.exp__form-select-wrap{position:relative}.exp__form-srch{width:100%}.exp__form-srch .exp__form-srch-btn{padding:.5rem .85rem .5rem .625rem;min-height:2.35rem;font-size:.875rem;border-radius:8px;background:var(--field-bg, var(--app-surface, #fff))}.exp__form-select{width:100%;padding:.5rem 2rem .5rem .625rem;font-family:inherit;font-size:.875rem;color:var(--app-text, #111827);background:var(--field-bg, var(--app-surface, #fff));border:1px solid var(--app-border, #e5e7eb);border-radius:8px;outline:none;cursor:pointer;-webkit-appearance:none;appearance:none;transition:border-color .14s}.exp__form-select:focus{border-color:var(--app-accent, #4f46e5)}.exp__form-select:disabled{opacity:.72;cursor:not-allowed;background:var(--app-surface-soft, #f3f4f6)}.exp__form-hint{margin:.35rem 0 0;font-size:.75rem;line-height:1.4;color:var(--app-muted, #9ca3af)}.exp__form-hint--err{color:#b91c1c}.exp__form-select-icon{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--app-muted, #6b7280);display:flex}.exp__form-select-icon svg{width:14px;height:14px}.exp__form-textarea{width:100%;padding:.5rem .625rem;font-family:inherit;font-size:.875rem;color:var(--app-text, #111827);background:var(--field-bg, var(--app-surface, #fff));border:1px solid var(--app-border, #e5e7eb);border-radius:8px;outline:none;resize:vertical;transition:border-color .14s}.exp__form-textarea:focus{border-color:var(--app-accent, #4f46e5)}.exp__form-textarea::placeholder{color:var(--app-muted, #9ca3af)}.exp__form-amount-wrap{display:flex;border:1px solid var(--app-border, #e5e7eb);border-radius:8px;overflow:hidden;background:var(--field-bg, var(--app-surface, #fff));transition:border-color .14s}.exp__form-amount-wrap:focus-within{border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 3px #2563eb14}.exp__form-amount-cur{padding:.5rem .75rem;background:var(--app-surface-soft, #f3f4f6);font-size:.8125rem;font-weight:600;color:var(--app-muted, #6b7280);border-right:1px solid var(--app-border, #e5e7eb);white-space:nowrap}.exp__form-amount-input{flex:1;padding:.5rem .625rem;border:none;outline:none;font-family:inherit;font-size:.875rem;color:var(--app-text, #111827);background:transparent}.exp__form-amount-bottom{display:flex;flex-direction:column;gap:.4rem;max-width:20rem}.exp__form-attach{display:flex;flex-direction:column;gap:.4rem}.exp__form-file-row{display:flex;align-items:center;gap:.5rem}.exp__form-file-btn{padding:.375rem .75rem;font-family:inherit;font-size:.8125rem;font-weight:500;color:var(--app-text, #374151);background:var(--app-surface, #fff);border:1px solid var(--app-border, #e5e7eb);border-radius:7px;cursor:pointer;transition:border-color .14s,background .14s;white-space:nowrap}.exp__form-file-btn:hover{background:var(--app-surface-soft, #f3f4f6)}.exp__form-file-name{font-size:.8125rem;color:var(--app-muted, #6b7280)}.exp__form-file-hidden{display:none}.exp__form-billable{display:flex;align-items:center;gap:.625rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem;color:var(--app-text, #374151)}.exp__form-billable input[type=checkbox]{display:none}.exp__form-checkbox{width:20px;height:20px;border-radius:5px;border:1.5px solid var(--app-border, #d1d5db);background:var(--app-surface, #fff);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:background .14s,border-color .14s}.exp__form-checkbox svg{width:12px;height:12px;color:#fff}.exp__form-checkbox--on{background:var(--app-accent, #4f46e5);border-color:var(--app-accent, #4f46e5)}.exp__form-actions{display:flex;align-items:center;gap:.625rem}.exp__form-save{display:inline-flex;align-items:center;padding:.5rem 1.25rem;background:var(--app-accent, #4f46e5);color:#fff;border:none;border-radius:9px;font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;box-shadow:0 1px 3px #2563eb40;transition:background .14s,box-shadow .14s}.exp__form-save:hover{background:color-mix(in srgb,var(--app-accent, #4f46e5) 85%,#000);box-shadow:0 4px 12px #2563eb4d}.exp__form-cancel{padding:.5rem 1rem;background:var(--app-surface, #fff);color:var(--app-text, #374151);border:1px solid var(--app-border, #e5e7eb);border-radius:9px;font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .14s,border-color .14s}.exp__form-cancel:hover{background:var(--app-surface-soft, #f3f4f6)}.exp--skeleton .exp-skel__page-title,.exp--skeleton .exp-skel__section-title,.exp--skeleton .exp-skel__section-subtitle,.exp--skeleton .exp-skel__project-label,.exp--skeleton .exp-skel__project-dot,.exp--skeleton .exp-skel__project-select,.exp--skeleton .exp-skel__add-btn,.exp--skeleton .exp-skel__chevron,.exp--skeleton .exp-skel__range,.exp--skeleton .exp-skel__badge,.exp--skeleton .exp-skel__weekday,.exp--skeleton .exp-skel__day,.exp--skeleton .exp-skel__proj,.exp--skeleton .exp-skel__cat,.exp--skeleton .exp-skel__notes,.exp--skeleton .exp-skel__amount,.exp--skeleton .exp-skel__icon,.exp--skeleton .exp-skel__total-label,.exp--skeleton .exp-skel__total-val{animation:tus-skel-shimmer 1.6s ease-in-out infinite,tus-skel-pulse 2s ease-in-out infinite}.exp-skel__page-title,.exp-skel__section-title,.exp-skel__section-subtitle,.exp-skel__project-label,.exp-skel__project-dot,.exp-skel__project-select,.exp-skel__add-btn,.exp-skel__chevron,.exp-skel__range,.exp-skel__badge,.exp-skel__weekday,.exp-skel__day,.exp-skel__proj,.exp-skel__cat,.exp-skel__notes,.exp-skel__amount,.exp-skel__icon,.exp-skel__total-label,.exp-skel__total-val{display:block;background:linear-gradient(105deg,var(--app-surface-soft, #e2e8f0) 0%,var(--app-border, #f1f5f9) 35%,color-mix(in srgb,var(--app-accent, #4f46e5) 12%,#fff) 50%,var(--app-border, #f1f5f9) 65%,var(--app-surface-soft, #e2e8f0) 100%);background-size:200% 100%;animation:tus-skel-shimmer 1.6s ease-in-out infinite,tus-skel-pulse 2s ease-in-out infinite;border-radius:8px}.exp-skel__page-title{width:180px;height:26px;margin-bottom:0}.exp-skel__section-title{width:160px;height:18px;border-radius:6px}.exp-skel__section-subtitle{width:min(100%,280px);height:14px;margin-top:.35rem;border-radius:6px}.exp-skel__journal-project{display:flex;flex-direction:column;gap:.4rem;width:100%;padding-top:.85rem;margin-top:.15rem;border-top:1px solid var(--app-border, #e5e7eb)}.exp-skel__journal-project-line{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.exp-skel__project-label{width:52px;height:14px}.exp-skel__project-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0}.exp-skel__project-select{width:100%;height:2.45rem;border-radius:8px}.exp-skel__toolbar-actions{pointer-events:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem .75rem}.exp-skel__add-btn{width:168px;height:2.65rem;border-radius:8px;flex-shrink:0}@media(max-width:640px){.exp-skel__toolbar-actions{flex-direction:column;align-items:stretch;width:100%}.exp-skel__add-btn{width:100%}}.exp-skel__week-head{pointer-events:none}.exp-skel__chevron{width:18px;height:18px;flex-shrink:0}.exp-skel__range{width:180px;height:18px}.exp-skel__range--short{width:140px}.exp-skel__badge{width:100px;height:22px;border-radius:999px}.exp-skel__item{pointer-events:none}.exp-skel__item .exp__item-date{display:flex;flex-direction:column;gap:.15rem}.exp-skel__weekday{width:50px;height:12px}.exp-skel__day{width:70px;height:16px}.exp-skel__item .exp__item-info{display:flex;flex-direction:column;gap:.35rem}.exp-skel__proj{width:220px;height:16px}.exp-skel__proj--short{width:160px}.exp-skel__cat{width:140px;height:14px}.exp-skel__notes{width:180px;height:12px}.exp-skel__amount{width:100px;height:18px}.exp-skel__icon{width:30px;height:30px;border-radius:6px;flex-shrink:0}.exp-skel__week-total{pointer-events:none}.exp-skel__total-label{width:50px;height:16px}.exp-skel__total-val{width:120px;height:18px}.exp--skeleton .exp__week .exp__item:nth-child(2) [class*=exp-skel__]{animation-delay:.05s}.exp--skeleton .exp__week .exp__item:nth-child(3) [class*=exp-skel__]{animation-delay:.1s}.exp--skeleton .exp__week .exp__item:nth-child(4) [class*=exp-skel__]{animation-delay:.15s}.exp--skeleton .exp__week .exp__item:nth-child(5) [class*=exp-skel__]{animation-delay:.2s}.exp__week{border:1px solid var(--app-border, #e5e7eb);border-radius:10px;overflow:hidden;margin-bottom:1rem;background:var(--app-surface, #fff)}.exp__week:last-child{margin-bottom:0}.exp__week-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.625rem 1.125rem;background:var(--app-surface-soft, #f3f4f6);border-bottom:1px solid var(--app-border, #e5e7eb);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s}.exp__week-head:hover{background:color-mix(in srgb,var(--app-surface-soft, #f3f4f6) 80%,var(--app-border, #e5e7eb) 20%)}.exp__week--collapsed .exp__week-head{border-bottom:none}.exp__week-head-left{display:flex;align-items:center;gap:.5rem}.exp__week-head-right{display:flex;align-items:center;gap:.875rem;flex-shrink:0}.exp__week-chevron{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;color:var(--app-muted, #6b7280);transition:transform .2s cubic-bezier(.22,1,.36,1);transform:rotate(-90deg)}.exp__week-chevron svg{width:14px;height:14px}.exp__week-chevron--open{transform:rotate(0)}.exp__week-range{font-size:.875rem;font-weight:600;color:var(--app-text, #374151)}.exp__week-badge{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.exp__week-head-total{font-size:.875rem;font-weight:600;color:var(--app-muted, #6b7280);font-variant-numeric:tabular-nums}.exp__week-withdraw{background:none;border:none;padding:0;font-family:inherit;font-size:.8125rem;color:var(--app-accent, #4f46e5);cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .14s}.exp__week-withdraw:hover{color:#1d4ed8}.exp__item{display:flex;align-items:flex-start;gap:1rem;padding:.75rem 1.125rem;border-bottom:1px solid var(--app-border, #f0f0f0);transition:background .1s;cursor:pointer;outline:none}.exp__item:last-of-type{border-bottom:none}.exp__item:hover{background:color-mix(in srgb,var(--app-surface-soft, #f9fafb) 70%,#e0f2fe 30%)}.exp__item:focus-visible{background:color-mix(in srgb,var(--app-surface-soft, #f9fafb) 60%,#bfdbfe 40%)}.exp__item-date{flex-shrink:0;width:88px;display:flex;flex-direction:column;padding-top:.1rem}.exp__item-weekday{font-size:.75rem;font-weight:500;color:var(--app-muted, #6b7280);text-transform:capitalize}.exp__item-day{font-size:.8125rem;font-weight:600;color:var(--app-text, #374151)}.exp__item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.175rem}.exp__item-line1{display:flex;align-items:baseline;gap:.35rem;flex-wrap:wrap}.exp__item-proj{font-size:.875rem;font-weight:600;color:var(--app-text, #111827)}.exp__item-client{font-size:.8125rem;color:var(--app-muted, #6b7280)}.exp__item-line2{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.exp__item-cat{font-size:.8125rem;color:var(--app-muted, #6b7280)}.exp__item-billable-badge{display:inline-flex;align-items:center;padding:.1rem .4rem;font-size:.6875rem;font-weight:600;color:var(--app-muted, #6b7280);border:1px solid var(--app-border, #d1d5db);border-radius:4px}.exp__item-notes{font-size:.8125rem;color:var(--app-muted, #6b7280)}.exp__item-right{flex-shrink:0;display:flex;align-items:center;gap:.375rem}.exp__item-amount{font-size:.875rem;font-weight:600;color:var(--app-text, #111827);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:110px;text-align:right}.exp__item-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--app-border, #e5e7eb);border-radius:6px;cursor:pointer;color:var(--app-muted, #9ca3af);transition:border-color .14s,color .14s,background .14s}.exp__item-icon svg{width:14px;height:14px}.exp__item-icon:hover{border-color:var(--app-text, #374151);color:var(--app-text, #374151)}.exp__week-total{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:.625rem 1.125rem;background:var(--app-surface-soft, #f9fafb);border-top:1px solid var(--app-border, #e5e7eb);font-size:.875rem}.exp__week-total-label{color:var(--app-muted, #6b7280);font-weight:500}.exp__week-total-val{font-weight:700;color:var(--app-text, #111827);font-variant-numeric:tabular-nums}@keyframes exp-detail-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.exp__detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#00000059;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:stretch;justify-content:flex-end}.exp__detail{width:100%;max-width:420px;background:var(--app-surface, #fff);border-left:1px solid var(--app-border, #e5e7eb);box-shadow:-8px 0 40px #00000026;display:flex;flex-direction:column;animation:exp-detail-in .22s cubic-bezier(.22,1,.36,1) both;overflow-y:auto}.exp__detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.375rem 1rem;border-bottom:1px solid var(--app-border, #e5e7eb);flex-shrink:0}.exp__detail-head-left{display:flex;align-items:flex-start;gap:.75rem}.exp__detail-cat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.exp__detail-cat-icon svg{width:18px;height:18px}.exp__detail-title{margin:0;font-size:1rem;font-weight:700;color:var(--app-text, #111827);line-height:1.35}.exp__detail-client{margin:.125rem 0 0;font-size:.8125rem;color:var(--app-muted, #6b7280)}.exp__detail-close{flex-shrink:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:7px;cursor:pointer;color:var(--app-muted, #9ca3af);transition:background .12s,color .12s}.exp__detail-close svg{width:16px;height:16px}.exp__detail-close:hover{background:var(--app-surface-soft, #f3f4f6);color:var(--app-text, #374151)}.exp__detail-amount-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.375rem;background:var(--app-surface-soft, #f9fafb);border-bottom:1px solid var(--app-border, #e5e7eb);flex-shrink:0}.exp__detail-amount-stack{display:flex;flex-direction:column;gap:.2rem;min-width:0}.exp__detail-amount-caption{font-size:.8rem;font-weight:500;color:var(--app-muted, #6b7280)}.exp__detail-amount{font-size:1.625rem;font-weight:800;color:var(--app-text, #111827);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.exp__detail-status{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.exp__detail-body{flex:1;padding:.5rem 0;display:flex;flex-direction:column}.exp__detail-row{display:flex;align-items:baseline;gap:1rem;padding:.75rem 1.375rem;border-bottom:1px solid var(--app-border, #f3f4f6)}.exp__detail-row:last-child{border-bottom:none}.exp__detail-label{flex-shrink:0;width:140px;font-size:.8125rem;font-weight:600;color:var(--app-muted, #6b7280)}.exp__detail-val{flex:1;font-size:.875rem;color:var(--app-text, #374151);line-height:1.5}.exp__detail-cat-tag{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:6px;font-size:.75rem;font-weight:600}.exp__detail-employee{display:inline-flex;align-items:center;gap:.5rem}.exp__detail-avatar{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;font-size:.625rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.exp__detail-billable{color:var(--app-muted, #9ca3af)}.exp__detail-billable--yes{color:var(--app-accent, #4f46e5);font-weight:600}.exp__detail-foot{padding:1rem 1.375rem;border-top:1px solid var(--app-border, #e5e7eb);background:var(--app-surface-soft, #f9fafb);flex-shrink:0}.exp__detail-close-btn{width:100%;padding:.5625rem 1rem;background:var(--app-surface, #fff);color:var(--app-text, #374151);border:1.5px solid var(--app-border, #d1d5db);border-radius:8px;font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:border-color .14s}.exp__detail-close-btn:hover{border-color:var(--app-text, #374151)}@keyframes pp-group-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.pp{padding:1.75rem 2rem 3rem;min-height:100%}.pp__topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem;row-gap:.75rem}.pp__topbar-left{display:flex;align-items:center;gap:.875rem;flex:1 1 auto;min-width:0;flex-wrap:wrap}.pp__topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:.5rem .625rem;flex-wrap:nowrap;flex:0 1 auto;min-width:0}.pp__title{font-size:1.4375rem;font-weight:700;color:var(--app-text, #111827);letter-spacing:-.01em;margin:0}.pp__status-wrap{position:relative}.pp__status-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;height:38px;padding:0 .75rem;box-sizing:border-box;background:var(--app-surface, #fff);border:1px solid var(--app-border, #d1d5db);border-radius:10px;font-family:inherit;font-size:.875rem;font-weight:600;color:var(--app-text, #111827);cursor:pointer;transition:border-color .15s,box-shadow .15s}.pp__status-chevron{width:13px;height:13px;color:var(--app-muted,#6b7280);transition:transform .2s;flex-shrink:0}.pp__status-chevron--open{transform:rotate(180deg)}.pp__status-btn:hover{border-color:var(--app-accent, #4f46e5)}.pp__status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;animation:pp-status-dot-pulse 2s ease-in-out infinite}@keyframes pp-status-dot-pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.pp__status-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:210px;background:var(--app-surface, #fff);border:1.5px solid var(--app-border, #d1d5db);border-radius:10px;box-shadow:0 8px 28px #0000001f;z-index:50;padding:4px}.pp__status-opt{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .75rem;background:none;border:none;border-radius:7px;font-family:inherit;font-size:.8125rem;color:var(--app-text, #374151);cursor:pointer;text-align:left;transition:background .12s}.pp__status-opt svg{width:13px;height:13px;flex-shrink:0}.pp__status-opt:hover{background:var(--app-bg, #f9fafb)}.pp__status-opt--on{font-weight:600;color:var(--app-accent, #4f46e5)}.pp__filter-wrap{position:relative}.pp__filter-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;height:38px;padding:0 .75rem;box-sizing:border-box;background:var(--app-surface, #fff);border:1px solid var(--app-border, #d1d5db);border-radius:10px;font-family:inherit;font-size:.875rem;font-weight:600;color:var(--app-text, #374151);cursor:pointer;transition:border-color .15s;white-space:nowrap}.pp__filter-chevron{width:13px;height:13px;color:var(--app-muted,#6b7280);transition:transform .2s;flex-shrink:0}.pp__filter-chevron--open{transform:rotate(180deg)}.pp__filter-btn--active{border-color:var(--app-accent, #4f46e5);color:var(--app-accent, #4f46e5)}.pp__filter-btn[aria-expanded=true],.pp__filter-btn:hover{border-color:var(--app-accent, #4f46e5)}.pp__filter-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:190px;background:var(--app-surface, #fff);border:1.5px solid var(--app-border, #d1d5db);border-radius:10px;box-shadow:0 8px 24px #0000001a;z-index:100;padding:4px}.pp__filter-opt{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .75rem;background:none;border:none;border-radius:7px;font-family:inherit;font-size:.8125rem;color:var(--app-text, #374151);cursor:pointer;text-align:left;transition:background .12s}.pp__filter-opt svg{width:13px;height:13px;flex-shrink:0}.pp__filter-opt:hover{background:var(--app-bg, #f9fafb)}.pp__filter-opt--on{font-weight:600;color:var(--app-accent, #4f46e5)}.pp__topbar-right .tsp-srch--pp{min-width:0;flex:0 1 11rem;width:11rem;max-width:min(12.5rem,34vw)}.pp__topbar-right .tsp-srch--pp .tsp-srch__btn{width:100%;min-height:38px;height:38px;max-width:100%;min-width:0;padding:0 .75rem;background:var(--app-surface, #fff);border:1px solid var(--app-border, #d1d5db);border-radius:10px;font-size:.875rem;font-weight:600;color:var(--app-text, #374151);transition:border-color .15s;box-shadow:0 1px #0f172a08}.pp__topbar-right .tsp-srch--pp .tsp-srch__btn:hover,.pp__topbar-right .tsp-srch--pp.tsp-srch--open .tsp-srch__btn{border-color:var(--app-accent, #4f46e5)}.pp__topbar-right .tsp-srch--pp--active .tsp-srch__btn{border-color:var(--app-accent, #4f46e5);color:var(--app-accent, #4f46e5)}.pp__topbar-right .tsp-srch--pp .tsp-srch__btn-text,.pp__topbar-right .tsp-srch--pp .tsp-srch__btn-text--custom{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.pp__topbar-right .tsp-srch--pp .tsp-srch__chev{flex-shrink:0}body[data-theme=dark] .pp__topbar-right .tsp-srch--pp .tsp-srch__btn{background:var(--app-surface, #0f172a);border-color:var(--app-border, #334155);color:var(--app-text, #e2e8f0)}body[data-theme=dark] .pp__topbar-right .tsp-srch--pp--active .tsp-srch__btn,body[data-theme=dark] .pp__topbar-right .tsp-srch--pp .tsp-srch__btn:hover,body[data-theme=dark] .pp__topbar-right .tsp-srch--pp.tsp-srch--open .tsp-srch__btn{border-color:var(--app-accent, #818cf8);color:#c7d2fe}.pp__new-btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;height:38px;min-height:38px;padding:0 1.125rem;box-sizing:border-box;background:var(--app-accent, #4f46e5);color:#fff;border:1px solid var(--app-accent, #4f46e5);border-radius:10px;font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;white-space:nowrap;flex:0 0 auto}.pp__new-btn svg{width:14px;height:14px}.pp__new-btn:hover:not(:disabled){opacity:.88}.pp__new-btn:active:not(:disabled){transform:scale(.97)}.pp__new-btn:disabled{opacity:.72;cursor:not-allowed;pointer-events:none}.pp.pp--clients .pp__topbar-right--clients{flex-wrap:wrap;align-items:center;gap:.5rem}.pp.pp--clients .pp__topbar-right--clients .pp__clients-search.tt-settings__search-wrap{margin-bottom:0;display:flex;align-items:center}.pp.pp--clients .pp__topbar-right--clients .pp__clients-search .tt-settings__search{height:38px;min-height:38px;padding-top:0;padding-bottom:0;line-height:1.25;box-sizing:border-box}.pp.pp--clients .pp__topbar-right--clients .tt-settings__archive-toggle{display:inline-flex;align-items:center;gap:.5rem;min-height:38px;height:38px;margin:0;flex-shrink:0;box-sizing:border-box}.pp.pp--clients .pp__topbar-right--clients .tt-settings__archive-toggle span{line-height:1.2;white-space:nowrap}.pp.pp--clients .pp__topbar-right--clients .tt-settings__dropdown-wrap{display:flex;align-items:center;flex-shrink:0}.pp.pp--clients .pp__topbar-right--clients .tt-settings__dropdown-wrap>.tt-settings__btn{min-height:38px}.pp.pp--clients .pp__clients-search{flex:1 1 14rem;min-width:min(100%,220px);max-width:26rem}.pp.pp--clients .pp__topbar-right .tt-settings__btn--accent-text{display:inline-flex;align-items:center;gap:.35rem}.pp.pp--clients .pp__topbar-right .tt-settings__btn--accent-text svg{flex-shrink:0;width:14px;height:14px}.pp__group.pp__group--menu-open{position:relative;z-index:25}.pp__client-subrow{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.65rem 1rem;padding:.5rem .85rem .65rem 2.35rem;background:var(--app-surface, #fff);border-bottom:1px solid var(--app-border, #f3f4f6);font-size:.78rem;line-height:1.45;color:var(--app-muted)}.pp__client-subrow-main{display:flex;flex-wrap:wrap;flex-direction:column;gap:.2rem;min-width:0}.pp__client-subrow-addr{color:var(--app-text);font-weight:500}.pp__client-subrow-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-left:auto}.pp__client-panel-hint{margin:0;padding:.65rem .85rem .65rem 2.35rem;font-size:.8125rem;color:var(--app-muted);line-height:1.45;border-bottom:1px solid var(--app-border, #f3f4f6)}@media(max-width:700px){.pp__topbar-right{flex-wrap:wrap;justify-content:flex-start;width:100%}.pp__topbar-right .tsp-srch--pp{flex:1 1 9.5rem;width:auto;min-width:0;max-width:none}.pp__new-btn{flex:1 1 100%}}.pp__table-wrap{background:var(--app-surface, #fff);border:1.5px solid var(--app-border, #d1d5db);border-radius:14px;overflow:visible;box-shadow:0 1px 6px #0000000f}.pp__table{display:flex;flex-direction:column}.pp__thead,.pp__row{display:grid;grid-template-columns:40px minmax(0,1.3fr) 158px 158px 108px 168px 142px 116px;align-items:center}.pp__thead{background:var(--app-bg, #f9fafb);border-bottom:1.5px solid var(--app-border, #e5e7eb);min-height:42px}.pp__th{padding:0 .75rem;font-size:.7rem;font-weight:700;color:var(--app-muted, #6b7280);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.pp__group--collapsed .pp__client-row{border-bottom-color:transparent}.pp__client-row{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:color-mix(in srgb,var(--app-bg, #f9fafb) 90%,var(--app-accent, #4f46e5) 10%);border-top:1px solid var(--app-border, #e5e7eb);border-bottom:1px solid var(--app-border, #e5e7eb);-webkit-user-select:none;user-select:none;transition:background .15s}.pp__client-row-main{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;cursor:pointer}.pp__group:first-child .pp__client-row{border-top:none}.pp__client-row:hover{background:color-mix(in srgb,var(--app-bg, #f0f4ff) 80%,var(--app-accent, #4f46e5) 10%)}.pp__client-add-contact{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;flex-shrink:0;margin-left:.25rem;padding:.3125rem .65rem;font-family:inherit;font-size:.75rem;font-weight:500;line-height:1.2;color:var(--app-text, #374151);background:var(--app-surface, #fff);border:1.5px solid var(--app-border, #d1d5db);border-radius:7px;box-shadow:0 1px 2px #0f172a0f;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s,box-shadow .15s}.pp__client-add-contact svg{width:13px;height:13px;flex-shrink:0;color:var(--app-muted, #6b7280)}.pp__client-add-contact:hover:not(:disabled){border-color:var(--app-accent, #4f46e5);color:var(--app-accent, #4f46e5);box-shadow:0 2px 8px #4f46e524}.pp__client-add-contact:hover:not(:disabled) svg{color:var(--app-accent, #4f46e5)}.pp__client-add-contact:focus-visible{outline:2px solid color-mix(in srgb,var(--app-accent, #4f46e5) 45%,transparent);outline-offset:2px}.pp__client-add-contact:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.pp__client-chevron{display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--app-muted, #6b7280);flex-shrink:0;transition:transform .22s cubic-bezier(.4,0,.2,1);transform:rotate(-90deg)}.pp__client-chevron svg{width:14px;height:14px}.pp__client-chevron--open{transform:rotate(0)}.pp__client-name{font-size:.8125rem;font-weight:700;color:var(--app-accent, #4f46e5);letter-spacing:.01em}.pp__client-meta{font-size:.75rem;color:var(--app-muted, #9ca3af);font-weight:400;margin-left:.25rem}.pp__client-total{margin-left:auto;font-size:.8125rem;font-weight:600;color:var(--app-text, #374151);font-variant-numeric:tabular-nums;padding-right:.5rem}.pp__row{border-bottom:1px solid var(--app-border, #f3f4f6);transition:background .12s;min-height:48px;animation:pp-group-open .18s ease}.pp__row:last-child{border-bottom:none}.pp__row:hover{background:color-mix(in srgb,var(--app-bg, #f9fafb) 70%,transparent)}.pp__row--selected{background:#2563eb0a}.pp__row:has(.pp__actions-btn--open){position:relative;z-index:12}.pp__td{padding:.5rem .65rem;font-size:.8rem}.pp__checkbox{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:1.5px solid var(--app-border, #d1d5db);border-radius:4px;cursor:pointer;transition:border-color .15s,background .15s;flex-shrink:0;margin-left:12px}.pp__checkbox svg{width:10px;height:10px;color:#fff;display:none}.pp__checkbox--on{background:var(--app-accent, #4f46e5);border-color:var(--app-accent, #4f46e5)}.pp__checkbox--on svg{display:block}.pp__checkbox:hover{border-color:var(--app-accent, #4f46e5)}.pp__td--name{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;padding-left:.75rem;min-width:0}.pp__proj-name{display:inline-flex;align-items:center;gap:.4rem;min-width:0;font-weight:600;font-size:.84rem;color:var(--app-text, #111827);text-decoration:none;flex:1 1 140px}a.pp__proj-name--link{cursor:pointer;transition:color .14s}a.pp__proj-name--link:hover{color:var(--app-accent, #4f46e5);text-decoration:underline;text-underline-offset:3px}.pp__proj-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.pp__type-badge{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:99px;font-size:.65rem;font-weight:500;width:fit-content;max-width:100%;letter-spacing:.01em;flex-shrink:0;line-height:1.25}.pp__td--budget,.pp__td--spent{color:var(--app-text, #374151);font-variant-numeric:tabular-nums}.pp__zero,.pp__dash{color:var(--app-muted, #9ca3af)}.pp__bar-wrap{width:100%}.pp__bar{display:flex;height:8px;background:var(--app-bg, #e5e7eb);border-radius:99px;overflow:hidden}.pp__bar-fill{height:100%;transition:width .4s ease}.pp__bar-fill--blue{background:#4f46e5}.pp__bar-fill--red{background:#ef4444}.pp__td--remaining{display:flex;flex-direction:column;gap:.15rem}.pp__rem-val{color:var(--app-text, #374151);font-variant-numeric:tabular-nums}.pp__rem-pct{font-size:.7rem;color:var(--app-muted, #6b7280)}.pp__td--over .pp__rem-val{color:#dc2626;font-weight:600}.pp__rem-pct--over{color:#dc2626}.pp__td--costs{font-variant-numeric:tabular-nums;color:var(--app-text, #374151)}.pp__actions-wrap{position:relative;display:inline-block}.pp__actions-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.3125rem .625rem;background:var(--app-surface, #fff);border:1.5px solid var(--app-border, #d1d5db);border-radius:7px;font-family:inherit;font-size:.75rem;font-weight:500;color:var(--app-text, #374151);cursor:pointer;white-space:nowrap;transition:border-color .15s}.pp__actions-btn svg{width:12px;height:12px;color:var(--app-muted, #6b7280)}.pp__actions-btn:hover,.pp__actions-btn--open{border-color:var(--app-accent, #4f46e5);color:var(--app-accent, #4f46e5)}.pp__actions-menu{position:absolute;top:calc(100% + 5px);right:0;width:max-content;min-width:100%;max-width:min(280px,calc(100vw - 16px));background:var(--app-surface, #fff);border:1.5px solid var(--app-border, #d1d5db);border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:100;padding:4px;box-sizing:border-box}.pp__actions-menu--portal{position:fixed;z-index:10050;margin:0;width:max-content;max-width:min(280px,calc(100vw - 16px));box-sizing:border-box}.pp__actions-item{display:block;width:100%;padding:.45rem .75rem;background:none;border:none;border-radius:7px;font-family:inherit;font-size:.8125rem;color:var(--app-text, #374151);text-align:left;cursor:pointer;transition:background .12s}.pp__actions-chevron{width:12px;height:12px;transition:transform .18s}.pp__actions-chevron--open{transform:rotate(180deg)}.pp__actions-item:hover{background:var(--app-bg, #f9fafb)}.pp__actions-item--danger{color:#dc2626}.pp__actions-item--danger:hover{background:#dc26260f}.pp__actions-item:disabled{opacity:.45;cursor:not-allowed}.pp__actions-sep{height:1px;background:var(--app-border, #e5e7eb);margin:3px 6px}.pp__empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:4rem 2rem;text-align:center;color:var(--app-muted, #9ca3af);font-size:.9375rem}.pp__empty svg{width:36px;height:36px;opacity:.35}.tt-reports{padding:0 2rem 3rem;display:flex;flex-direction:column;min-height:0;min-width:0}.tt-reports__type-block{position:sticky;top:0;z-index:6;padding:.5rem 0 1rem;margin-bottom:.75rem;background:var(--app-bg);border-bottom:1px solid var(--app-border, #e5e7eb)}.tt-reports__type-block-title{margin:0 0 .5rem;font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--app-muted, #94a3b8)}.tt-reports__type-nav{display:flex;gap:.2rem;flex-shrink:0;padding:.35rem 0;background:transparent;border:none;border-radius:0;box-shadow:none;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.tt-reports__type-nav::-webkit-scrollbar{height:4px}.tt-reports__type-nav::-webkit-scrollbar-track{background:transparent}.tt-reports__type-nav::-webkit-scrollbar-thumb{background:var(--app-border);border-radius:2px}.tt-reports__type-tab{position:relative;padding:.5rem .75rem;font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--app-muted, #64748b);background:transparent;border:none;border-radius:9px;cursor:pointer;white-space:nowrap;transition:color .15s,background .15s,box-shadow .15s}.tt-reports__type-tab:hover{color:var(--app-text, #1e293b);background:color-mix(in srgb,var(--app-surface, #fff) 55%,transparent)}.tt-reports__type-tab--active{color:var(--app-accent, #4f46e5);background:var(--app-surface, #fff);box-shadow:0 1px 3px #0f172a1a}.tt-reports__type-tab--active:after{display:none}.tt-reports__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.tt-reports__date-range{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.15rem;margin-bottom:1.25rem;padding:.7rem 1rem;background:var(--app-surface-soft, #f8fafc);border:1px solid var(--app-border, #e2e8f0);border-radius:10px}.tt-reports__date-range-title{font-size:.8125rem;font-weight:600;color:var(--app-muted, #64748b)}.tt-reports__date-field{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;font-weight:500;color:var(--app-text, #0f172a)}.tt-reports__date-field-label{color:var(--app-muted, #64748b)}.tt-reports__date-input{padding:.35rem .5rem;border:1px solid var(--app-border, #e2e8f0);border-radius:8px;font:inherit;font-size:.875rem;color:var(--app-text, #0f172a);background:var(--app-surface, #fff)}.tt-reports__date-picker-btn.ttp__btn{min-height:32px;height:32px;padding:0 .55rem 0 .45rem;border-radius:8px;border-color:var(--app-border, #e2e8f0);font-size:.875rem}.tt-reports__date-picker-btn .ttp__chev{display:none}.tt-reports__header-left{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0}.tt-reports__nav-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:var(--app-surface-soft, #f1f5f9);border:1px solid var(--app-border);border-radius:8px;color:var(--app-text);cursor:pointer;transition:background .15s}.tt-reports__nav-btn:hover{background:var(--app-border)}.tt-reports__period-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--app-text)}.tt-reports__header-right{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1rem}.tt-reports__btn{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s}.tt-reports__btn--outline{background:var(--app-surface);color:var(--app-text);border:1px solid var(--app-border)}.tt-reports__btn--outline:hover{background:var(--app-surface-soft)}.tt-reports__btn--dropdown svg{margin-left:.25rem}.tt-reports__btn--icon{padding:.5rem .75rem}.tt-reports__period-dropdown-wrap{position:relative}.tt-reports__period-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:140px;padding:.25rem;background:var(--app-surface);border:1px solid var(--app-border);border-radius:8px;box-shadow:0 4px 12px #00000014;z-index:10}.tt-reports__period-opt{display:block;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;font-weight:500;color:var(--app-text);background:none;border:none;border-radius:6px;cursor:pointer;text-align:left;transition:background .12s}.tt-reports__period-opt:hover{background:var(--app-surface-soft)}.tt-reports__period-opt--active{background:var(--app-accent-light-bg, rgba(37,99,235,.08));color:var(--app-accent)}.tt-reports__summary{position:relative;z-index:0;display:grid;grid-template-columns:1fr;gap:1rem 1.25rem;align-items:stretch;margin-bottom:1.5rem}@media(min-width:30rem){.tt-reports__summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:52rem){.tt-reports__summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:72rem){.tt-reports__summary{grid-template-columns:repeat(4,minmax(0,1fr))}}.tt-reports__summary-card{container-type:inline-size;container-name:tt-summary-card;padding:1.1rem 1.25rem 1.2rem;background:var(--app-surface);border:1px solid var(--app-border);border-radius:12px;display:flex;flex-direction:column;gap:.45rem;min-width:0;min-height:6.75rem}.tt-reports__summary-label{font-size:.8125rem;line-height:1.35;color:var(--app-muted);overflow-wrap:anywhere}.tt-reports__summary-label--stack{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:.15rem}.tt-reports__summary-label-primary{font-weight:600;line-height:1.45;color:var(--app-muted, #64748b)}.tt-reports__summary-label-accent{display:inline-block;margin-top:.05rem;font-size:.9375rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.04em;line-height:1.2;color:var(--app-text, #0f172a)}.tt-reports__summary-label--block-head{display:block;margin-bottom:.35rem;font-weight:600;color:var(--app-muted, #64748b)}.tt-reports__summary-value{font-size:clamp(1.2rem,2.5vw + .85rem,1.5rem);font-weight:700;line-height:1.2;color:var(--app-text);margin-top:.2rem;font-variant-numeric:tabular-nums}.tt-reports__summary-card:not(:has(.tt-reports__summary-sub))>.tt-reports__summary-value:last-child{margin-top:auto}.tt-reports__summary-value.tt-reports__summary-value--large{font-size:2rem}.tt-reports__summary-sub{font-size:.8125rem;line-height:1.45;color:var(--app-muted);margin-top:.15rem}.tt-reports__summary-options{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.25rem;padding:.75rem 1rem;background:var(--app-surface-soft, #f8fafc);border:1px solid var(--app-border, #e2e8f0);border-radius:10px}.tt-reports__summary-check,.tt-reports__summary-note{font-size:.8125rem;line-height:1.45;color:var(--app-text, #0f172a);margin-top:0}.tt-reports__summary-footnote{flex:1 0 100%;margin:0;padding:0 .25rem;font-size:.75rem;line-height:1.4;color:var(--app-muted, #64748b)}.tt-reports__summary-check{display:inline-flex;align-items:flex-start;gap:.55rem;cursor:pointer;max-width:42rem}.tt-reports__summary-check input{margin-top:.2rem;flex-shrink:0;width:1rem;height:1rem;accent-color:var(--app-accent, #4f46e5)}.tt-reports__summary-chart{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:.85rem 1.15rem;min-width:min(100%,17.5rem)}@container tt-summary-card (max-width: 17rem){.tt-reports__summary-chart{flex-direction:column;align-items:center;text-align:center}.tt-reports__summary-chart .tt-reports__pie-legend{align-items:center;width:100%}.tt-reports__summary-chart .tt-reports__legend-item{align-items:center}.tt-reports__summary-chart .tt-reports__legend-item-value{padding-left:0;text-align:center}}.tt-reports__pie-wrap{position:relative;width:76px;height:76px;flex-shrink:0}.tt-reports__pie{width:100%;height:100%}.tt-reports__pie-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;color:var(--app-text)}.tt-reports__pie-legend{display:flex;flex-direction:column;gap:.55rem;flex:1 1 10rem;min-width:0}.tt-reports__pie-legend--stack{width:100%;min-width:0;gap:.55rem}.tt-reports__pie-legend--stack .tt-reports__legend-item--wide{line-height:1.4}.tt-reports__legend-item{font-size:.875rem;line-height:1.35;color:var(--app-muted);display:flex;flex-direction:column;align-items:flex-start;gap:.2rem}.tt-reports__legend-item-top{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;color:var(--app-text, #0f172a)}.tt-reports__legend-item-value{padding-left:calc(8px + .45rem);font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--app-text, #0f172a)}.tt-reports__legend-item--wide .tt-reports__legend-item-value{padding-left:calc(8px + .45rem);font-weight:500;font-size:.8125rem;color:var(--app-muted, #64748b)}.tt-reports__legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tt-reports__legend-dot--billable{background:var(--app-accent, #4f46e5)}.tt-reports__legend-dot--nonbillable{background:var(--app-accent-light-bg, rgba(37,99,235,.3))}.tt-reports__group-nav{position:relative;z-index:4;display:flex;gap:0;border-bottom:2px solid var(--app-border);margin-bottom:1rem;background:var(--app-bg)}.tt-reports__group-tab{position:relative;padding:.75rem 1.25rem;font-family:inherit;font-size:.9375rem;font-weight:600;color:var(--app-muted);background:none;border:none;cursor:pointer;transition:color .15s}.tt-reports__group-tab:hover{color:var(--app-text)}.tt-reports__group-tab--active{color:var(--app-accent, #4f46e5)}.tt-reports__group-tab--active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--app-accent, #4f46e5)}.tt-reports__group-tab:focus-visible,.tt-reports__type-tab:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.tt-reports__content{flex:1}.tt-reports__content-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem 1.25rem;margin-bottom:1rem}.tt-reports__content-header .tt-reports__breakdown-label{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;flex:1;min-width:min(100%,200px);margin-bottom:0;font-size:.875rem;line-height:1.45;color:var(--app-text, #1e293b)}.tt-reports__content-header-right{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:1rem 1.5rem;row-gap:.85rem;flex:0 1 auto;min-width:0;max-width:100%}.tt-reports__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem 1.25rem;flex:1 1 260px;min-width:min(100%,240px);max-width:min(100%,36rem)}.tt-reports__toolbar-search{flex:1 1 11rem;min-width:min(100%,10rem);max-width:22rem}.tt-reports__toolbar-meta{flex:0 0 auto;display:flex;align-items:center;min-height:2.25rem}.tt-reports__toolbar-meta:empty{display:none}.tt-reports__toolbar-meta:not(:empty){padding:.2rem .75rem;border-radius:8px;background:color-mix(in srgb,var(--app-surface-soft, #f1f5f9) 92%,var(--app-border, #e2e8f0));border:1px solid color-mix(in srgb,var(--app-border, #e2e8f0) 85%,transparent)}.tt-reports__breakdown-hint{flex:1 1 auto;min-width:0;font-size:.8125rem;font-weight:500;color:var(--app-muted, #64748b)}.tt-reports__breakdown-status{flex:0 0 auto;white-space:nowrap;line-height:1.25}.tt-reports__toolbar-meta .tt-reports__row-count{font-size:.8125rem;font-weight:600;color:var(--app-muted, #64748b)}.tt-reports__table-search-input{box-sizing:border-box;width:100%;min-height:2.25rem;padding:.45rem .65rem;border:1px solid var(--app-border, #e2e8f0);border-radius:8px;font-size:.875rem;line-height:1.35;color:var(--app-text, #1e293b);background:var(--app-surface, #fff)}.tt-reports__table-search-input::placeholder{color:var(--app-muted, #94a3b8)}.tt-reports__table-search-input:focus{outline:none;border-color:var(--app-accent, #3b82f6);box-shadow:0 0 0 2px color-mix(in srgb,var(--app-accent, #3b82f6) 22%,transparent)}@media(max-width:640px){.tt-reports__content-header-right{flex-direction:column;align-items:stretch}.tt-reports__toolbar{max-width:100%}.tt-reports__content-actions{justify-content:flex-end}}.tt-reports__content-header .tt-reports__loading-pulse{font-size:.75rem}.tt-reports__breakdown-bar-wrap{flex:1;min-width:200px}.tt-reports__breakdown-label{display:block;font-size:.8125rem;color:var(--app-muted);margin-bottom:.5rem}.tt-reports__breakdown-bar{display:flex;height:12px;border-radius:6px;overflow:hidden;background:var(--app-surface-soft)}.tt-reports__breakdown-segment{min-width:4px;transition:width .2s}.tt-reports__content-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem .75rem;flex-shrink:0}.tt-reports__table-wrap{background:var(--app-surface);border:1px solid var(--app-border);border-radius:12px;overflow:hidden}.tt-reports__table-wrap--scroll-x{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--app-muted, #94a3b8) var(--app-surface-soft, #e8ecf4)}.tt-reports__table-wrap--scroll-x::-webkit-scrollbar{width:10px;height:10px}.tt-reports__table-wrap--scroll-x::-webkit-scrollbar-track{background:var(--app-surface-soft, #e8ecf4);border-radius:6px}.tt-reports__table-wrap--scroll-x::-webkit-scrollbar-thumb{background:var(--app-muted, #94a3b8);border-radius:6px}.tt-reports__table{width:100%;border-collapse:collapse}.tt-reports__table th,.tt-reports__table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--app-border)}.tt-reports__table th{font-size:.8125rem;font-weight:600;color:var(--app-muted);background:var(--app-surface-soft)}.tt-reports__table td{font-size:.9375rem;color:var(--app-text)}.tt-reports__table tbody tr:last-child td{border-bottom:none}.tt-reports__table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--app-surface-soft, #f8fafc) 65%,var(--app-surface, #fff))}.tt-reports__table tbody tr:hover td{background:color-mix(in srgb,var(--app-accent, #4f46e5) 6%,var(--app-surface-soft, #f8fafc))}.tt-reports__th--sortable{display:flex;align-items:center;gap:.35rem;cursor:pointer}.tt-reports__hours-link{color:var(--app-accent);text-decoration:underline;cursor:pointer}.tt-reports__hours-link:hover{text-decoration:none}.tt-reports__hours-bar{display:block;height:4px;margin-top:.35rem;background:var(--app-accent);border-radius:2px;max-width:120px}.tt-reports__td--empty{padding:2rem 1.25rem!important;text-align:center;font-size:.875rem;line-height:1.55;color:var(--app-muted, #94a3b8);vertical-align:middle}.tt-reports__content--placeholder{padding:4rem 2rem;text-align:center}.tt-reports__placeholder-text{margin:0;font-size:.9375rem;color:var(--app-muted)}.tt-reports-skel__type-block-title,.tt-reports-skel__type-tab,.tt-reports-skel__group-tab,.tt-reports-skel__nav-btn,.tt-reports-skel__period-title,.tt-reports-skel__btn,.tt-reports-skel__search,.tt-reports-skel__row-count,.tt-reports-skel__label,.tt-reports-skel__value,.tt-reports-skel__sub,.tt-reports-skel__pie,.tt-reports-skel__legend-item,.tt-reports-skel__breakdown-bar,.tt-reports-skel__th,.tt-reports-skel__cell{display:block;background:linear-gradient(105deg,var(--app-surface-soft, #e2e8f0) 0%,var(--app-border, #f1f5f9) 35%,color-mix(in srgb,var(--app-accent, #4f46e5) 12%,#fff) 50%,var(--app-border, #f1f5f9) 65%,var(--app-surface-soft, #e2e8f0) 100%);background-size:200% 100%;animation:tus-skel-shimmer 1.6s ease-in-out infinite,tus-skel-pulse 2s ease-in-out infinite;border-radius:8px}.tt-reports--skeleton .tt-reports-skel__type-block-title,.tt-reports--skeleton .tt-reports-skel__type-tab,.tt-reports--skeleton .tt-reports-skel__group-tab,.tt-reports--skeleton .tt-reports-skel__nav-btn,.tt-reports--skeleton .tt-reports-skel__period-title,.tt-reports--skeleton .tt-reports-skel__btn,.tt-reports--skeleton .tt-reports-skel__search,.tt-reports--skeleton .tt-reports-skel__row-count,.tt-reports--skeleton .tt-reports-skel__label,.tt-reports--skeleton .tt-reports-skel__value,.tt-reports--skeleton .tt-reports-skel__sub,.tt-reports--skeleton .tt-reports-skel__pie,.tt-reports--skeleton .tt-reports-skel__legend-item,.tt-reports--skeleton .tt-reports-skel__breakdown-bar,.tt-reports--skeleton .tt-reports-skel__th,.tt-reports--skeleton .tt-reports-skel__cell{animation:tus-skel-shimmer 1.6s ease-in-out infinite,tus-skel-pulse 2s ease-in-out infinite}.tt-reports-skel__type-block-title{width:88px;height:10px;margin-bottom:.5rem;border-radius:4px}.tt-reports-skel__type-tab{width:70px;height:20px;border-radius:9px}.tt-reports-skel__group-tab{width:80px;height:20px}.tt-reports-skel__nav-btn{width:36px;height:36px}.tt-reports-skel__period-title{width:220px;height:24px}.tt-reports-skel__btn{width:140px;height:36px}.tt-reports-skel__btn--short{width:90px}.tt-reports-skel__btn--icon{width:36px}.tt-reports-skel__search{width:100%;height:2.25rem;border-radius:8px}.tt-reports-skel__row-count{width:5.5rem;height:1.35rem;border-radius:6px}.tt-reports-skel__label{width:100px;height:14px}.tt-reports-skel__value{width:120px;height:24px}.tt-reports-skel__value--large{height:32px}.tt-reports-skel__sub{width:140px;height:12px}.tt-reports-skel__pie{width:72px;height:72px;border-radius:50%}.tt-reports-skel__legend-item{width:140px;height:14px}.tt-reports-skel__breakdown-bar{width:100%;height:12px}.tt-reports-skel__th{width:80px;height:16px}.tt-reports-skel__cell--name{width:180px}.tt-reports-skel__cell--hours{width:100px}.tt-reports-skel__cell--billable{width:120px}.tt-reports-skel__table-head{display:flex;gap:1rem;padding:.75rem 1rem;background:var(--app-surface-soft);border-bottom:1px solid var(--app-border)}.tt-reports-skel__row{display:flex;flex-direction:row;align-items:center;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--app-border)}.tt-reports-skel__row .tt-reports-skel__cell{animation-delay:var(--time-row-delay, 0s)}.tt-reports-skel__actions{display:flex;flex-wrap:wrap;gap:.65rem .75rem;align-items:center}.tt-reports-skel__legend{display:flex;flex-direction:column;gap:.5rem}.tt-settings{padding:0 2rem 3rem;display:flex;flex-direction:column}@keyframes tt-settings-tab-panel-in{0%{opacity:0}to{opacity:1}}.tt-settings__tab-panel{flex:1;animation:tt-settings-tab-panel-in .34s cubic-bezier(.22,1,.36,1) both}@media(prefers-reduced-motion:reduce){.tt-settings__tab-panel{animation:none}}.tt-settings__content{flex:1}.tt-settings__page-title{margin:0 0 1.25rem;font-size:1.75rem;font-weight:700;color:var(--app-text)}.tt-settings__header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.875rem}.tt-settings__header-row .tt-settings__page-title{margin:0}.tt-settings__header-link{flex-shrink:0;white-space:nowrap}.tt-settings__actions-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1.25rem;flex-wrap:wrap;margin-bottom:1.25rem}.tt-settings__actions-row .tt-settings__search-wrap{flex:1 1 220px;min-width:0;max-width:440px;margin-bottom:0}@media(max-width:640px){.tt-settings__actions-row .tt-settings__search-wrap{flex:1 1 100%;max-width:none}}.tt-settings__actions-row--clients{align-items:center;flex-wrap:wrap;row-gap:.75rem}.tt-settings__actions-end{display:flex;align-items:center;gap:.65rem 1.1rem;flex:1 1 16rem;min-width:0;justify-content:flex-end}.tt-settings__actions-row--clients .tt-settings__search-wrap{flex:1 1 10rem;min-width:0;max-width:28rem;margin-bottom:0}.tt-settings__actions-end .tt-settings__archive-toggle{flex-shrink:0;white-space:nowrap;margin:0;padding:.2rem 0}.tt-settings__toolbar-left--inline{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;align-content:center;gap:.5rem;flex:0 1 auto;min-width:0}.tt-settings__toolbar-left--inline>.tt-settings__btn,.tt-settings__toolbar-left--inline>.tt-settings__dropdown-wrap{flex:0 0 auto}.tt-settings__toolbar-left--inline>.tt-settings__dropdown-wrap{display:flex}.tt-settings__toolbar-left--inline>.tt-settings__dropdown-wrap>.tt-settings__btn{width:auto;min-width:0}.tt-settings__toolbar-left--inline>.tt-skel__btn{flex:0 0 auto;width:auto;min-width:7.5rem;height:38px}@media(max-width:900px){.tt-settings__actions-row--clients{flex-direction:column;align-items:stretch}.tt-settings__actions-end{flex:1 1 auto;max-width:none;flex-wrap:wrap;justify-content:flex-start}.tt-settings__actions-row--clients .tt-settings__search-wrap{flex:1 1 100%;min-width:0;max-width:none}.tt-settings__actions-end .tt-settings__archive-toggle{margin-left:auto}}@media(max-width:520px){.tt-settings__toolbar-left--inline{flex-wrap:wrap}}.tt-settings__desc{margin:0 0 1rem;font-size:.875rem;color:var(--app-muted);line-height:1.5}.tt-settings__toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.tt-settings__toolbar-left{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.tt-settings__toolbar-left--equal-btn{align-items:stretch}.tt-settings__toolbar-left--equal-btn>.tt-settings__btn,.tt-settings__toolbar-left--equal-btn>.tt-settings__dropdown-wrap{flex:1 1 0;min-width:min(100%,11.25rem)}.tt-settings__toolbar-left--equal-btn>.tt-settings__dropdown-wrap{display:flex}.tt-settings__toolbar-left--equal-btn>.tt-settings__dropdown-wrap>.tt-settings__btn{width:100%;min-width:0}.tt-settings__toolbar-left--equal-btn>.tt-skel__btn{flex:1 1 0;width:auto;min-width:min(100%,11.25rem);height:38px}.tt-settings__toolbar-left--equal-btn>.tt-skel__btn--primary,.tt-settings__toolbar-left--equal-btn>.tt-skel__btn--import{width:auto}.tt-settings__btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:38px;padding:0 1.125rem;box-sizing:border-box;font-family:inherit;font-size:.875rem;font-weight:600;border-radius:10px;cursor:pointer;transition:opacity .15s,transform .1s,background .12s,border-color .12s;white-space:nowrap;border:1px solid transparent}.tt-settings__btn:disabled{opacity:.72;cursor:not-allowed;pointer-events:none}.tt-settings__btn:disabled:active{transform:none}.tt-settings__btn:active:not(:disabled){transform:scale(.97)}.tt-settings__btn--primary,.tt-settings__btn--green{background:var(--app-accent, #4f46e5);color:#fff;border-color:var(--app-accent, #4f46e5)}.tt-settings__btn--primary:hover:not(:disabled),.tt-settings__btn--green:hover:not(:disabled){opacity:.88}.tt-settings__btn--outline{background:var(--app-surface);color:var(--app-text);border-color:var(--app-border)}.tt-settings__btn--outline:hover:not(:disabled){background:var(--app-surface-soft, #f8fafc)}.tt-settings__btn--ghost{background:none;color:var(--app-muted, #94a3b8);border-color:transparent}.tt-settings__btn--ghost:hover:not(:disabled){color:var(--app-text)}.tt-settings__btn--accent-text{color:var(--app-accent)}.tt-settings__btn--accent-text:hover:not(:disabled){color:var(--app-accent-hover);border-color:var(--app-accent)}.tt-settings__btn--link{background:none;border:none;color:var(--app-accent);padding:.35rem 0;height:auto;min-height:0;justify-content:flex-start;transform:none}.tt-settings__btn--link:hover:not(:disabled){text-decoration:underline;opacity:1}.tt-settings__btn--link:active:not(:disabled){transform:none}.tt-settings__btn svg{flex-shrink:0}.tt-settings__dropdown-wrap{position:relative}.tt-settings__dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:180px;background:var(--app-surface);border:1.5px solid var(--app-border);border-radius:8px;box-shadow:0 8px 24px #00000014;padding:4px;z-index:50}.tt-settings__dropdown-item{display:block;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;text-align:left;background:none;border:none;border-radius:6px;cursor:pointer;color:var(--app-text);transition:background .12s}.tt-settings__dropdown-item:hover{background:var(--app-surface-soft)}.tt-settings__search-wrap{position:relative;max-width:400px;margin-bottom:1.25rem}.tt-settings__search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--app-muted);pointer-events:none}.tt-settings__search{width:100%;padding:.5rem .75rem .5rem 2.5rem;font-family:inherit;font-size:.875rem;color:var(--app-text);background:var(--app-surface);border:1.5px solid var(--app-border);border-radius:8px;outline:none;transition:border-color .15s}.tt-settings__search::placeholder{color:var(--field-placeholder)}.tt-settings__search:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-focus)}.tt-settings__btn--link:disabled{opacity:.45;cursor:not-allowed;text-decoration:none}.tt-settings__banner-error{margin:0 0 1rem;padding:.65rem 1rem;font-size:.875rem;color:#b91c1c;background:#dc262614;border:1px solid rgba(220,38,38,.2);border-radius:8px}.tt-settings__banner-info{margin:0 0 1rem;padding:.65rem 1rem;font-size:.875rem;color:var(--app-muted);background:var(--app-surface-soft);border:1px solid var(--app-border-soft);border-radius:8px}.tt-settings__list-loading{padding:1.25rem 1rem;text-align:center;font-size:.875rem;color:var(--app-muted)}.tt-settings__list-empty-inner{padding:1.5rem 1rem;text-align:center}.tt-settings__list-row--client{flex-direction:column;align-items:stretch;gap:0}.tt-settings__list-row--client.tt-settings__list-row--ccp-menu-open{position:relative;z-index:25}.tt-settings__client-block{display:flex;flex-direction:column;gap:.25rem;min-width:0;width:100%;flex:1}.tt-settings__client-address{font-size:.8125rem;color:var(--app-muted);line-height:1.4;white-space:pre-wrap;word-break:break-word}.tt-settings__client-meta{font-size:.75rem;color:var(--app-muted)}.tt-settings__list--clients-accordion{overflow:visible}.tt-ccp-col{gap:.35rem}.tt-ccp-head{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .5rem;width:100%;margin:0;padding:.5rem .75rem;text-align:left;font-family:inherit;border:none;border-radius:8px;cursor:pointer;background:color-mix(in srgb,var(--app-bg, #f9fafb) 88%,var(--app-accent, #4f46e5) 12%);border:1px solid color-mix(in srgb,var(--app-border) 70%,var(--app-accent, #4f46e5) 18%);transition:background .15s,border-color .15s}.tt-ccp-head:hover{background:color-mix(in srgb,var(--app-bg, #f0f4ff) 78%,var(--app-accent, #4f46e5) 16%);border-color:color-mix(in srgb,var(--app-border) 50%,var(--app-accent, #4f46e5) 35%)}.tt-ccp-head-chevron{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--app-muted);transition:transform .2s cubic-bezier(.4,0,.2,1);transform:rotate(-90deg)}.tt-ccp-head-chevron svg{display:block}.tt-ccp-head-chevron--open{transform:rotate(0)}.tt-ccp-head-name{font-size:.875rem;font-weight:700;color:var(--app-accent, #4f46e5);letter-spacing:.01em}.tt-ccp-head-count{font-size:.75rem;color:var(--app-muted);font-weight:500}.tt-ccp-panel{margin-top:.35rem;border:1px solid var(--app-border-soft);border-radius:10px;overflow:visible;background:var(--app-surface);box-shadow:0 1px 4px #0000000a;position:relative;z-index:2}.tt-ccp-panel .pp__actions-menu{z-index:40}.tt-ccp-prow:has(.pp__actions-btn--open){position:relative;z-index:12}.tt-ccp-panel-hint{margin:0;padding:.75rem 1rem;font-size:.8125rem;color:var(--app-muted);line-height:1.45}.tt-ccp-thead,.tt-ccp-prow{display:grid;grid-template-columns:40px minmax(0,1fr) 132px 72px 118px;align-items:center;column-gap:.25rem}.tt-ccp-thead{min-height:38px;background:var(--app-surface-soft);border-bottom:1px solid var(--app-border-soft)}.tt-ccp-th{padding:.35rem .5rem;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--app-muted)}.tt-ccp-th--check{padding-left:.65rem}.tt-ccp-th--actions{padding-right:.5rem}.tt-ccp-prow{min-height:52px;border-bottom:1px solid var(--app-border-soft);cursor:pointer;transition:background .12s}.tt-ccp-prow:last-child{border-bottom:none}.tt-ccp-prow:hover{background:color-mix(in srgb,var(--app-surface-soft) 65%,transparent)}.tt-ccp-prow--selected{background:#2563eb0d}.tt-ccp-td{padding:.45rem .5rem;font-size:.8125rem}.tt-ccp-td--check{padding-left:.65rem}.tt-ccp-td--name{display:flex;flex-direction:column;gap:.3rem;min-width:0}.tt-ccp-td--num{font-variant-numeric:tabular-nums;color:var(--app-text)}.tt-ccp-td--actions{padding-right:.35rem;justify-self:end}.tt-settings__client-actions{display:flex;flex-wrap:wrap;gap:.5rem;flex-shrink:0}.tt-settings__client-actions--foot{position:relative;z-index:1;justify-content:flex-end;gap:.45rem;margin-top:.6rem;padding-top:.65rem;border-top:1px solid var(--app-border-soft)}.tt-settings__row-edit--foot{min-height:2.35rem;padding:.4rem .85rem;font-size:.8125rem;font-weight:600;border-radius:8px;color:var(--app-text);background:var(--app-surface);border:1px solid var(--app-border)}.tt-settings__client-actions--foot .tt-settings__row-edit--foot:hover:not(:disabled){border-color:var(--app-accent);color:var(--app-accent);background:var(--app-surface-soft)}.tt-settings__client-actions--foot .tt-settings__row-edit--foot:disabled{opacity:.5;cursor:not-allowed}.tt-settings__client-actions--foot .tt-settings__row-edit--danger{color:#b91c1c;border-color:#dc262659}.tt-settings__client-actions--foot .tt-settings__row-edit--danger:hover:not(:disabled){background:#dc26260f;border-color:#dc262680;color:#991b1b}.tt-settings__row-edit--danger{color:#b91c1c;border-color:#dc262659}.tt-settings__row-edit--danger:hover:not(:disabled){background:#dc26260f;border-color:#dc262680;color:#991b1b}.tt-tm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11000;display:flex;align-items:center;justify-content:center;padding:max(1.25rem,env(safe-area-inset-top,0px)) max(1.5rem,env(safe-area-inset-right,0px)) max(1.25rem,env(safe-area-inset-bottom,0px)) max(1.5rem,env(safe-area-inset-left,0px));background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tt-tm-modal{width:100%;max-width:560px;max-height:min(90vh,720px);display:flex;flex-direction:column;background:var(--app-surface);border:1.5px solid var(--app-border);border-radius:12px;box-shadow:0 24px 48px #0000001f;overflow:hidden}.tt-tm-modal__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--app-border-soft)}.tt-tm-modal__title{margin:0;font-size:1.125rem;font-weight:700;color:var(--app-text)}.tt-tm-modal__close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--app-muted);cursor:pointer;transition:background .12s,color .12s}.tt-tm-modal__close:hover{background:var(--app-surface-soft);color:var(--app-text)}.tt-tm-modal__close svg{width:20px;height:20px}.tt-tm-modal__body{padding:1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.tt-tm-modal__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem 1.15rem;border-top:1px solid var(--app-border-soft);flex-shrink:0;background:var(--app-surface)}.tt-tm-modal__foot-error{flex:1 1 100%;margin:0 0 .15rem;font-size:.8125rem;line-height:1.4;color:#b91c1c}.tt-tm-field{margin-bottom:0;min-width:0}.tt-tm-field--cell{display:flex;flex-direction:column;min-width:0}.tt-tm-field-row{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin-bottom:0}.tt-tm-field-row--grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem 1rem;align-items:start}@media(max-width:520px){.tt-tm-field-row--grid-3{grid-template-columns:1fr}}.tt-tm-field-row .tt-tm-field{margin-bottom:0}.tt-tm-modal .tt-tm-label{display:flex;align-items:flex-end;min-height:2.5rem;margin-bottom:.4rem;padding-bottom:.05rem;font-size:.8125rem;font-weight:600;line-height:1.25;color:var(--app-text)}.tt-tm-modal .tt-tm-field:not(.tt-tm-field--cell) .tt-tm-label{min-height:0;align-items:center;margin-bottom:.4rem}.tt-tm-req{color:#dc2626}.tt-tm-input,.tt-tm-select,.tt-tm-textarea{width:100%;box-sizing:border-box;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;color:var(--app-text);background:var(--app-surface);border:1.5px solid var(--app-border);border-radius:8px;outline:none;transition:border-color .15s}.tt-tm-input,.tt-tm-select{min-height:2.5rem}.tt-tm-money-input{display:flex;flex-direction:row;align-items:stretch;width:100%;box-sizing:border-box;min-height:2.5rem;border:1.5px solid var(--app-border);border-radius:8px;background:var(--app-surface);overflow:hidden;transition:border-color .15s,box-shadow .15s}.tt-tm-money-input:focus-within{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-focus);outline:none}.tt-tm-money-input__symbol{display:flex;flex-shrink:0;align-items:center;justify-content:center;padding:0 .5rem 0 .65rem;min-width:2.5rem;max-width:4.5rem;font-size:.9375rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1;text-align:center;color:var(--app-muted, #64748b);background:var(--app-surface-soft, #f8fafc);border-right:1px solid var(--app-border, #e5e7eb);-webkit-user-select:none;user-select:none}.tt-tm-money-input__input.tt-tm-input{flex:1 1 auto;min-width:0;min-height:2.5rem!important;border:none!important;border-radius:0!important;box-shadow:none!important;background:var(--app-surface)}.tt-tm-money-input__input.tt-tm-input:focus{border:none!important;box-shadow:none!important;outline:none}.tt-tm-textarea{resize:vertical;min-height:3rem}.tt-tm-modal .tt-tm-dp{width:100%}.tt-tm-modal .tt-tm-dp .tt-tm-dp__btn{width:100%;min-height:2.5rem;border-radius:8px;justify-content:flex-start;padding:.5rem .75rem;border:1.5px solid var(--app-border);background:var(--app-surface);box-shadow:none;font-size:.875rem;color:var(--app-text)}.tt-tm-modal .tt-tm-dp .tt-tm-dp__btn:hover:not(:disabled){border-color:var(--app-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--app-accent) 22%,transparent)}.tt-tm-modal .tt-tm-dp .tt-tm-dp__btn:focus-visible{outline:none;border-color:var(--app-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--app-accent) 25%,transparent)}.tt-tm-modal .tt-tm-dp .ttp__label{flex:1 1 auto;min-width:0;text-align:left}.time-page--new-project-sub{width:100%;box-sizing:border-box}.time-page__content--new-project-form{width:100%;max-width:none;box-sizing:border-box;padding:.75rem 1.25rem 2rem}.npf-skel .npf-skel__label,.npf-skel .npf-skel__input,.npf-skel .npf-skel__hint,.npf-skel .npf-skel__legend,.npf-skel .npf-skel__check,.npf-skel .npf-skel__check-line,.npf-skel .npf-skel__plus,.npf-skel .npf-skel__textarea,.npf-skel .npf-skel__btn-outline,.npf-skel .npf-skel__foot-btn{display:block;background:linear-gradient(105deg,var(--app-surface-soft, #e2e8f0) 0%,var(--app-border, #f1f5f9) 35%,color-mix(in srgb,var(--app-accent, #4f46e5) 12%,#fff) 50%,var(--app-border, #f1f5f9) 65%,var(--app-surface-soft, #e2e8f0) 100%);background-size:200% 100%;animation:tus-skel-shimmer 1.6s ease-in-out infinite,tus-skel-pulse 2s ease-in-out infinite;border-radius:8px}.npf-skel .npf-skel__body>*:nth-child(1) [class*=npf-skel__]{animation-delay:0s}.npf-skel .npf-skel__body>*:nth-child(2) [class*=npf-skel__]{animation-delay:.06s}.npf-skel .npf-skel__body>*:nth-child(3) [class*=npf-skel__]{animation-delay:.12s}.npf-skel .npf-skel__body>*:nth-child(4) [class*=npf-skel__]{animation-delay:.18s}.npf-skel .npf-skel__body>*:nth-child(5) [class*=npf-skel__]{animation-delay:.24s}.npf-skel .npf-skel__body>*:nth-child(6) [class*=npf-skel__]{animation-delay:.3s}.npf-skel .npf-skel__body>*:nth-child(7) [class*=npf-skel__]{animation-delay:.36s}.npf-skel .npf-skel__body>*:nth-child(8) [class*=npf-skel__]{animation-delay:.42s}.npf-skel .npf-skel__body>*:nth-child(9) [class*=npf-skel__]{animation-delay:.48s}.npf-skel .npf-skel__body>*:nth-child(10) [class*=npf-skel__]{animation-delay:.54s}.npf-skel .npf-skel__body>*:nth-child(11) [class*=npf-skel__]{animation-delay:.6s}.npf-skel .npf-skel__body>*:nth-child(12) [class*=npf-skel__]{animation-delay:.66s}.npf-skel .npf-skel__label{width:5.5rem;height:.75rem;margin-bottom:.4rem;border-radius:4px}.npf-skel .npf-skel__label--short{width:4.25rem}.npf-skel .npf-skel__label--tiny{width:3.25rem}.npf-skel .npf-skel__label--mid{width:6.75rem}.npf-skel .npf-skel__label--wide{width:8rem}.npf-skel .npf-skel__label--narrow{width:3.75rem}.npf-skel .npf-skel__input{width:100%;height:2.375rem;border-radius:10px;box-sizing:border-box}.npf-skel .npf-skel__input--grow{flex:1 1 auto;min-width:0}.npf-skel .npf-skel__hint{width:72%;max-width:22rem;height:.625rem;margin-top:.35rem;border-radius:4px}.npf-skel .npf-skel__hint--long{width:88%;max-width:28rem}.npf-skel fieldset.tt-tm-fieldset .npf-skel__legend{width:9.5rem;height:.75rem;margin-bottom:.35rem;border-radius:4px}.npf-skel fieldset.tt-tm-fieldset legend.tt-tm-fieldset-legend{padding:0 .35rem}.npf-skel fieldset.tt-tm-fieldset--budget legend.tt-tm-fieldset-legend--budget{padding:0}.npf-skel .npf-skel__check-row{display:flex;align-items:center;gap:.55rem;margin-bottom:.55rem}.npf-skel .npf-skel__check-row:last-child{margin-bottom:0}.npf-skel .npf-skel__check{flex-shrink:0;width:1rem;height:1rem;margin-top:.1rem;border-radius:4px}.npf-skel .npf-skel__check-line{flex:1;height:.75rem;max-width:16rem;border-radius:4px}.npf-skel .npf-skel__check-line--short{max-width:12rem}.npf-skel .npf-skel__check-line--med{max-width:14rem}.npf-skel .tt-tm-members__add-row{align-items:stretch}.npf-skel .npf-skel__plus{flex-shrink:0;width:2.4rem;min-height:2.35rem;border-radius:8px}.npf-skel .npf-skel__textarea{width:100%;height:4.25rem;border-radius:10px;box-sizing:border-box}.npf-skel .npf-skel__btn-outline{width:7.5rem;height:2.375rem;border-radius:10px}.npf-skel .npf-skel__foot-btn{width:5.5rem;height:2.25rem;border-radius:10px}.npf-skel .npf-skel__foot-btn--primary{width:6.25rem}.npf-skel .tt-tm-modal__foot .npf-skel__foot-btn:nth-child(1){animation-delay:.72s}.npf-skel .tt-tm-modal__foot .npf-skel__foot-btn:nth-child(2){animation-delay:.78s}.tt-tm-proj-page-empty{padding:1.5rem;max-width:40rem}.tt-tm-proj-page{width:100%;min-width:0}.tt-tm-proj-page__card{border-radius:12px;border:1px solid var(--app-border, #e5e7eb);box-shadow:0 1px 3px #0f172a0f;background:var(--app-surface, #fff)}.tt-tm-proj-page__card.tt-tm-modal--project{max-width:none;max-height:none;width:100%}.tt-tm-members .tt-tm-label{display:block;min-height:0;margin-bottom:.35rem}.tt-tm-members__add-row{display:flex;align-items:stretch;gap:.5rem;width:100%;min-width:0}.tt-tm-members__add-plus{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.4rem;min-height:2.35rem;padding:0;border:1px solid var(--app-border);border-radius:8px;background:var(--app-surface, #fff);color:#16a34a;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.tt-tm-members__add-plus:hover:not(:disabled){background:#16a34a14;border-color:#16a34a73}.tt-tm-members__add-plus:disabled{opacity:.45;cursor:not-allowed}.tt-tm-members__add-select{flex:1 1 0;min-width:0}.tt-tm-members__add-select .tsp-srch__btn{width:100%;min-height:2.35rem}.tt-tm-members__add-hint{margin:.35rem 0 0}.tt-tm-members__chips{list-style:none;margin:0 0 .65rem;padding:0;display:flex;flex-direction:column;gap:.45rem}.tt-tm-members__chip{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;width:100%;min-width:0;max-width:100%;padding:.4rem .5rem .4rem .75rem;border-radius:10px;border:1px solid var(--app-border);background:var(--app-surface-soft, #f8fafc);box-sizing:border-box}.tt-tm-members__chip-identity{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0;flex:1 1 10rem}.tt-tm-members__chip-text{font-size:.8125rem;font-weight:600;color:var(--app-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;min-width:0}.tt-tm-members__chip-position{font-size:.72rem;font-weight:500;color:var(--app-text);line-height:1.25;word-break:break-word;max-width:100%}.tt-tm-members__chip-position--empty{font-style:italic;font-weight:400;color:var(--app-muted)}.tt-tm-members__chip-meta{font-size:.7rem;color:var(--app-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;min-width:0}.tt-tm-members__chip-remove{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.6rem;height:1.6rem;margin:0 0 0 auto;padding:0;border:none;border-radius:6px;background:transparent;color:var(--app-muted);cursor:pointer;transition:background .12s,color .12s}.tt-tm-members__chip-remove:hover:not(:disabled){background:color-mix(in srgb,var(--app-destructive, #ef4444) 12%,transparent);color:var(--app-destructive, #dc2626)}.tt-tm-members__chip-remove:disabled{opacity:.45;cursor:not-allowed}.tt-proj-task-pick__chips{gap:.35rem;margin-top:.45rem}.tt-proj-task-pick__chip{padding:.3rem .45rem .3rem .6rem;border-radius:8px;gap:.35rem .55rem}.tt-proj-task-pick__chip-text{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .45rem;white-space:normal;line-height:1.25}.tt-proj-task-pick__chip .tt-task-pill{font-size:.67rem;padding:.12rem .42rem}.tt-proj-task-pick__chip .tt-tm-members__chip-remove{width:1.4rem;height:1.4rem;border-radius:5px}.tt-proj-task-pick__list{display:flex;flex-direction:column;gap:.4rem;max-height:min(52vh,22rem);overflow:auto;padding-right:.2rem}.tt-proj-task-pick__summary{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.2rem}.tt-proj-task-pick__row,.tt-ios-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.15rem 0;cursor:pointer}.tt-ios-toggle-row{font-size:.875rem;line-height:1.35;color:var(--app-text)}.tt-proj-task-pick__label,.tt-ios-toggle-row__text{min-width:0;display:inline-flex;align-items:center;flex-wrap:wrap;gap:.35rem .5rem}.tt-ios-toggle-row__text{flex:1 1 auto;padding-right:.25rem}.tt-proj-task-pick__switch,.tt-ios-toggle{position:relative;width:2.65rem;height:1.55rem;flex-shrink:0}.tt-proj-task-pick__switch-input,.tt-ios-toggle__input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer}.tt-proj-task-pick__switch-slider,.tt-ios-toggle__slider{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:color-mix(in srgb,var(--app-muted, #94a3b8) 45%,#fff 55%);transition:background-color .18s ease,box-shadow .18s ease}.tt-proj-task-pick__switch-slider:after,.tt-ios-toggle__slider:after{content:"";position:absolute;top:.12rem;left:.12rem;width:1.3rem;height:1.3rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a47;transition:transform .18s ease}.tt-proj-task-pick__switch-input:checked+.tt-proj-task-pick__switch-slider,.tt-ios-toggle__input:checked+.tt-ios-toggle__slider{background:var(--app-accent, #4f46e5)}.tt-proj-task-pick__switch-input:checked+.tt-proj-task-pick__switch-slider:after,.tt-ios-toggle__input:checked+.tt-ios-toggle__slider:after{transform:translate(1.1rem)}.tt-proj-task-pick__switch-input:focus-visible+.tt-proj-task-pick__switch-slider,.tt-ios-toggle__input:focus-visible+.tt-ios-toggle__slider{box-shadow:0 0 0 3px color-mix(in srgb,var(--app-accent, #4f46e5) 25%,transparent)}.tt-tm-members__rate{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.4rem .5rem;margin:0;min-width:0;flex:0 1 auto}.tt-tm-members__rate-lbl{display:block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--app-muted, #6b7280);margin:0;white-space:nowrap;flex-shrink:0}.tt-tm-members__rate-row{display:flex;align-items:center;gap:.35rem;min-width:0;flex:0 0 auto}.tt-tm-input.tt-tm-members__rate-amt{width:5.2rem;min-width:0;flex:0 0 auto;padding:.2rem .45rem;font-size:.8125rem;min-height:2rem}.tt-tm-input.tt-tm-members__rate-cur{width:4.25rem;min-width:0;flex:0 0 auto;padding:.2rem .3rem;font-size:.75rem;min-height:2rem}.tt-tm-modal .tt-tm-dd{width:100%;max-width:100%}.tt-tm-modal .tt-tm-dd .tt-tm-dd__btn.tsp-srch__btn{width:100%;min-height:2.5rem;border-radius:8px;border:1.5px solid var(--app-border);background:var(--app-surface);justify-content:space-between;font-size:.875rem;padding:.45rem .65rem}.tt-tm-modal .tt-tm-dd.tsp-srch--open .tt-tm-dd__btn,.tt-tm-modal .tt-tm-dd .tt-tm-dd__btn:hover:not(:disabled){border-color:var(--app-accent)}.tt-tm-dd__opt{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;line-height:1.3;text-align:left;width:100%}.tt-tm-dd__opt-name{font-size:.8125rem;font-weight:600;color:var(--app-text)}.tt-tm-dd__opt-sub{font-size:.72rem;color:var(--app-muted);word-break:break-word}.tt-tm-members__opt{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;text-align:left;line-height:1.3;width:100%}.tt-tm-members__opt-name{font-size:.8125rem;font-weight:600;color:var(--app-text)}.tt-tm-members__opt-position{font-size:.72rem;font-weight:500;color:var(--app-text);line-height:1.25;word-break:break-word}.tt-tm-members__opt-position--empty{font-weight:400;font-style:italic;color:var(--app-muted)}.tt-tm-members__opt-email{font-size:.7rem;color:var(--app-muted);word-break:break-all}.tt-tm-input:focus,.tt-tm-select:focus,.tt-tm-textarea:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-focus)}.tt-tm-field-error{margin:0;font-size:.8125rem;color:#b91c1c}.tt-tm-hint{margin:.35rem 0 0;font-size:.75rem;color:var(--app-muted);line-height:1.4}.tt-tm-fieldset{margin:0 0 .25rem;padding:.75rem 1rem;border:1.5px solid var(--app-border);border-radius:8px;background:var(--app-surface-soft)}.tt-tm-fieldset-legend{padding:0 .35rem;font-size:.8125rem;font-weight:600;color:var(--app-text)}.tt-tm-fieldset.tt-tm-fieldset--budget{margin:.35rem 0 .65rem;padding:.85rem 1rem .9rem;border:1px solid var(--app-border-soft, var(--app-border));border-radius:12px;background:var(--app-surface-soft)}.tt-tm-fieldset.tt-tm-fieldset--budget>.tt-tm-fieldset-legend--budget{float:left;width:100%;padding:0;margin:0 0 .65rem;font-size:.875rem;font-weight:600;color:var(--app-text);letter-spacing:.01em}.tt-tm-fieldset--budget__grid{display:flex;flex-direction:column;gap:.65rem;clear:both;width:100%}.tt-tm-fieldset--budget__grid .tt-tm-check-row,.tt-tm-fieldset--budget__grid .npf-skel__check-row,.tt-tm-fieldset--budget__grid .tt-ios-toggle-row{margin-bottom:0}.tt-tm-fieldset--budget__grid .tt-ios-toggle-row{padding:.2rem 0}.tt-tm-fieldset--budget__extra{margin:.65rem 0 0;padding-top:.65rem;border-top:1px solid var(--app-border-soft, var(--app-border))}.tt-tm-fieldset--budget__extra .tt-tm-label{margin-bottom:.35rem}.tt-tm-check-row{display:flex;align-items:flex-start;gap:.55rem;margin-bottom:.55rem;font-size:.875rem;line-height:1.35;color:var(--app-text);cursor:pointer}.tt-tm-check-row:last-child{margin-bottom:0}.tt-tm-check-row input{margin:.2rem 0 0;flex-shrink:0;width:1rem;height:1rem;accent-color:var(--app-accent, #4f46e5)}.tt-tm-modal--task{max-width:480px}.tt-tm-modal--project{max-width:640px}.tt-tm-modal--add-contact{width:min(520px,96vw);max-height:min(90vh,720px);display:flex;flex-direction:column}.tt-tm-modal--add-contact .tt-tm-modal__body{max-height:min(55vh,420px)}.tt-tm-view-field{margin-bottom:.75rem}.tt-tm-view-field:last-child{margin-bottom:0}.tt-tm-view-field__label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--app-muted);margin-bottom:.2rem}.tt-tm-view-field__value{font-size:.9375rem;color:var(--app-text);line-height:1.45;white-space:pre-wrap;word-break:break-word}.tt-tm-view-field__value--empty{color:var(--app-muted)}.tt-tm-view-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem}@media(max-width:520px){.tt-tm-view-grid{grid-template-columns:1fr}}.tt-tm-view-grid--3{grid-template-columns:repeat(3,1fr)}@media(max-width:720px){.tt-tm-view-grid--3{grid-template-columns:1fr}}.tt-tm-fieldset--view{margin-top:.35rem}.tt-tm-hint--inline{margin:0}.tt-tm-contact-list--view{margin-top:.25rem}.tt-tm-contact-list__item--view{align-items:flex-start}.tt-tm-view-meta{font-size:.75rem;color:var(--app-muted);margin:1rem 0 0;padding-top:.75rem;border-top:1px solid var(--app-border-soft)}.tt-tm-modal--client{width:min(640px,96vw);max-height:min(90vh,900px);display:flex;flex-direction:column}.tt-tm-modal--client .tt-tm-modal__body{max-height:min(65vh,560px)}.tt-tm-modal--client-quick{width:min(420px,96vw);max-height:min(80vh,420px)}.tt-tm-modal--client-quick .tt-tm-modal__body{max-height:none;overflow:visible}.tt-tm-field-row--client-pick{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem .75rem}.tt-tm-field--grow{flex:1;min-width:0}.tt-tm-field--shrink{flex:0 0 auto}.tt-tm-label--invisible{display:block;opacity:0;-webkit-user-select:none;user-select:none;font-size:.7rem;line-height:1.2;margin-bottom:.35rem}.tt-tm-modal__foot--quick-client{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.tt-tm-modal__foot--quick-client .tt-tm-modal__foot-actions{margin-left:auto;display:flex;gap:.5rem;flex-shrink:0}.tt-tm-modal__foot-link{font-size:.8125rem;text-align:left}.tt-tm-archived-banner{margin:0;padding:.65rem .85rem;font-size:.8125rem;line-height:1.45;color:var(--app-text);background:#d977061f;border:1px solid rgba(217,119,6,.35);border-radius:8px}.tt-tm-contact-list{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.tt-tm-contact-list__item{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem .75rem;padding:.5rem .65rem;background:var(--app-surface);border:1px solid var(--app-border);border-radius:8px}.tt-tm-contact-list__main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.tt-tm-contact-list__name{font-size:.875rem;font-weight:600;color:var(--app-text)}.tt-tm-contact-list__meta{font-size:.75rem;color:var(--app-muted);word-break:break-word}.tt-tm-contact-link{color:var(--app-accent, #4f46e5);text-decoration:none}.tt-tm-contact-link:hover{text-decoration:underline}.tt-tm-contact-list__actions{display:flex;flex-wrap:wrap;gap:.35rem}.tt-tm-contact-edit{display:flex;flex-direction:column;gap:.45rem;width:100%}.tt-tm-contact-edit__actions{display:flex;justify-content:flex-end;gap:.35rem}.tt-tm-contact-add{display:flex;flex-direction:column;gap:.45rem;margin-top:.25rem}.tt-tm-contact-add__row{display:flex;flex-direction:column;gap:.45rem}@media(min-width:520px){.tt-tm-contact-add__row{flex-direction:row;flex-wrap:wrap}.tt-tm-contact-add__row .tt-tm-input{flex:1;min-width:140px}}.tt-settings__archive-toggle{display:inline-flex;align-items:center;gap:.45rem;font-size:.875rem;color:var(--app-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.tt-settings__archive-toggle input{width:1rem;height:1rem;accent-color:var(--app-accent, #4f46e5)}.tt-settings__list-row--archived{opacity:.88}.tt-settings__archived-badge{display:inline-block;margin-left:.45rem;padding:.1rem .4rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#b45309;background:#b453091f;border-radius:4px;vertical-align:middle}.tt-tm-modal--project-access{max-width:560px}.tt-project-access-modal__body{min-height:12rem;max-height:min(60vh,420px)}.tt-project-access-modal__lead{margin:0;font-size:.875rem;color:var(--app-muted)}.tt-project-access-modal__hint{margin:0;font-size:.8125rem;line-height:1.4;color:var(--app-muted)}.tt-project-access-modal__hint--info{padding:.65rem .85rem;border-radius:8px;background:color-mix(in srgb,var(--app-accent, #4f46e5) 8%,var(--app-surface-soft, #f8fafc));border:1px solid color-mix(in srgb,var(--app-accent, #4f46e5) 18%,var(--app-border, #e2e8f0));color:var(--app-text, #0f172a);line-height:1.45}.tt-project-access-modal__hint--info+.tt-project-access-modal__hint--info{margin-top:.5rem}.tt-project-access-modal__code{font-size:.9em;padding:.1em .35em;border-radius:4px;background:var(--app-surface-soft, #f1f5f9);font-family:var(--app-font-family)}.tt-project-access-modal__err{margin:0}.tt-project-access-modal__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.tt-project-access-modal__search-label{flex-shrink:0;font-size:.8125rem;font-weight:600;color:var(--app-text)}.tt-project-access-modal__search{flex:1 1 12rem;min-width:0}.tt-project-access-modal__bulk{display:flex;flex-wrap:wrap;gap:.35rem .75rem;width:100%}@media(min-width:480px){.tt-project-access-modal__bulk{width:auto;margin-left:auto}}.tt-project-access-modal__loading,.tt-project-access-modal__empty{margin:0;font-size:.875rem;color:var(--app-muted)}.tt-project-access-modal__list{display:flex;flex-direction:column;gap:1rem;padding-right:.15rem}.tt-project-access-modal__group-title{margin:0 0 .4rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--app-muted)}.tt-project-access-modal__ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}.tt-project-access-modal__row{display:flex;align-items:flex-start;gap:.5rem;padding:.35rem .4rem;border-radius:8px;cursor:pointer;font-size:.875rem;line-height:1.35}.tt-project-access-modal__row:hover:not(.tt-project-access-modal__row--disabled){background:var(--app-surface-soft)}.tt-project-access-modal__row--disabled{cursor:default;opacity:.85}.tt-project-access-modal__row input{margin:.2rem 0 0;flex-shrink:0;width:1rem;height:1rem;accent-color:var(--app-accent, #4f46e5)}.tt-project-access-modal__row-text{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;min-width:0}.tt-project-access-modal__row-name{font-weight:600;color:var(--app-text)}.tt-project-access-modal__row-code{font-size:.75rem;font-family:var(--app-font-family);color:var(--app-muted)}.tt-project-access-modal__foot{justify-content:space-between}.tt-task-client-bar{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;max-width:480px}.tt-task-client-bar__label{font-size:.8125rem;font-weight:600;color:var(--app-text)}.tt-task-client-select{width:100%;box-sizing:border-box;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;color:var(--app-text);background:var(--app-surface);border:1.5px solid var(--app-border);border-radius:8px;min-height:2.5rem}.tt-task-client-bar__hint{margin:0;font-size:.8125rem;color:var(--app-muted)}.tt-settings__actions-row--tasks{margin-bottom:1rem}.tt-settings__task-client-caption{margin:0 0 .75rem;font-size:.875rem;color:var(--app-muted)}.tt-settings__task-client-caption strong{color:var(--app-text);font-weight:600}.tt-settings__list-row--task{align-items:flex-start}.tt-tasks-page__lead{max-width:52rem;line-height:1.55}.tt-tasks-page__controls{margin:0 0 1rem;padding:1rem 1rem .9rem;border:1px solid var(--app-border-soft);border-radius:12px;background:var(--app-surface-soft)}.tt-tasks-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.25rem;margin-bottom:.75rem}.tt-tasks-toolbar--projects{display:block}.tt-tasks-toolbar--projects .tt-tasks-toolbar__main{display:flex;flex-direction:column;gap:.35rem;max-width:min(72rem,100%)}.tt-tasks-toolbar--projects .tt-tasks-toolbar__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1.25rem}.tt-tasks-toolbar--projects .tt-tasks-toolbar__row .tt-tasks-toolbar__client{flex:1 1 16rem;min-width:min(100%,14rem);max-width:28rem}.tt-tasks-toolbar--projects .tt-tasks-toolbar__cta{align-self:flex-end;white-space:nowrap}.tt-tasks-toolbar--projects .tt-tasks-toolbar__hints{display:flex;flex-wrap:wrap;gap:.15rem 2rem}.tt-tasks-toolbar--projects .tt-tasks-toolbar__hints .tt-tasks-toolbar__hint{flex:1 1 16rem;min-width:min(100%,14rem);max-width:28rem}.tt-tasks-toolbar__client{flex:1 1 240px;min-width:min(100%,220px);max-width:32rem;display:flex;flex-direction:column;gap:.45rem}.tt-tasks-toolbar__label{font-size:.875rem;font-weight:600;color:var(--app-text)}.tt-tasks-toolbar__select{width:100%;box-sizing:border-box;padding:.55rem .85rem;font-family:inherit;font-size:.875rem;color:var(--app-text);background:var(--app-surface);border:1.5px solid var(--app-border);border-radius:8px;min-height:2.65rem}.tt-tasks-toolbar__client .tt-tm-dd{width:100%}.tt-tasks-toolbar__client .tt-tm-dd .tt-tm-dd__btn.tsp-srch__btn{width:100%;box-sizing:border-box;min-height:2.65rem;padding:.55rem .75rem;font-size:.875rem;border-radius:8px;border:1.5px solid var(--app-border);background:var(--app-surface);justify-content:space-between}.tt-tasks-toolbar__client .tt-tm-dd.tsp-srch--open .tt-tm-dd__btn,.tt-tasks-toolbar__client .tt-tm-dd .tt-tm-dd__btn:hover:not(:disabled){border-color:var(--app-accent)}.tt-tasks-toolbar__hint{margin:0;font-size:.8125rem;color:var(--app-muted)}.tt-tasks-toolbar__cta{flex-shrink:0;min-width:9.5rem}.tt-tasks-page__notice{margin:.35rem 0 0;padding:.75rem .85rem;border:1px dashed var(--app-border);border-radius:10px;background:var(--app-surface)}.tt-tasks-page__notice-title{margin:0 0 .2rem;font-size:.86rem;font-weight:600;color:var(--app-text)}.tt-tasks-page__notice-text{margin:0;font-size:.8rem;line-height:1.45;color:var(--app-muted)}.tt-tasks-page__scope{margin:.6rem 0 0;font-size:.8rem;color:var(--app-muted)}.tt-tasks-page__scope-k{font-weight:600;color:var(--app-text)}.tt-tasks-page__banner{margin-top:-.25rem}.tt-tasks-page__list-heading{margin:0 0 .65rem;font-size:.9375rem;font-weight:600;color:var(--app-muted);letter-spacing:.01em}.tt-tasks-page__list-heading-client{color:var(--app-text);font-weight:700}.tt-tasks-page__load-err{margin:-.35rem 0 .75rem;font-size:.8125rem;line-height:1.45;color:var(--app-danger, #b91c1c)}.tt-tasks-page__empty{padding:1.75rem 1.25rem}.tt-settings__list-row.tt-task-card{display:block;padding:.72rem 1rem;gap:0;align-items:stretch}.tt-task-card__main{min-width:0}.tt-task-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem 1rem}.tt-task-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .6rem;margin-top:.4rem}.tt-task-card__btn{display:inline-flex;align-items:center;gap:.35rem;padding:.32rem .65rem;font-family:inherit;font-size:.75rem;font-weight:600;color:var(--app-text);background:var(--app-surface);border:1px solid var(--app-border);border-radius:7px;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.tt-task-card__btn:hover:not(:disabled){border-color:var(--app-accent);color:var(--app-accent);background:var(--app-surface-soft)}.tt-task-card__btn:disabled{opacity:.45;cursor:not-allowed}.tt-task-card__btn--danger{color:#b91c1c;border-color:#dc262659}.tt-task-card__btn--danger:hover:not(:disabled){background:#dc26260f;border-color:#dc262680;color:#991b1b}.tt-task-card__title{margin:0;flex:1;min-width:0;font-size:1rem;font-weight:700;color:var(--app-text);line-height:1.35}.tt-task-card__rate{margin:0;font-size:.8125rem;font-weight:500;color:var(--app-muted);line-height:1.35}.tt-task-card__badges{display:flex;flex-wrap:wrap;gap:.35rem .45rem}.tt-task-pill{display:inline-flex;align-items:center;padding:.3rem .65rem;font-size:.75rem;font-weight:600;line-height:1.2;border-radius:6px}.tt-task-pill--billable{background:#22c55e24;color:#166534}.tt-task-pill--muted{background:var(--app-surface-soft);color:var(--app-muted)}.tt-task-pill--scope{background:#4f46e51a;color:var(--app-accent, #4f46e5)}.tt-task-card__actions{display:flex;flex-wrap:nowrap;flex-shrink:0;gap:.35rem}.tt-task-card__btn-ico{width:14px;height:14px;flex-shrink:0}@media(max-width:639px){.tt-task-card__top{flex-wrap:wrap}.tt-task-card__actions{width:100%;justify-content:flex-end}}.tt-settings__list-row.tt-task-card.tt-task-card--v2{display:flex;align-items:center;gap:.85rem;padding:.6rem .9rem .6rem .8rem;position:relative;transition:background .12s ease}.tt-task-card--v2:before{content:"";position:absolute;left:0;top:10%;bottom:10%;width:3px;border-radius:0 3px 3px 0;background:var(--tt-task-accent, #4f46e5);opacity:0;transition:opacity .12s ease}.tt-task-card--v2:hover:before{opacity:1}.tt-task-card--v2[data-accent="0"]{--tt-task-accent: #4f46e5}.tt-task-card--v2[data-accent="1"]{--tt-task-accent: #0ea5e9}.tt-task-card--v2[data-accent="2"]{--tt-task-accent: #10b981}.tt-task-card--v2[data-accent="3"]{--tt-task-accent: #f59e0b}.tt-task-card--v2[data-accent="4"]{--tt-task-accent: #ef4444}.tt-task-card--v2[data-accent="5"]{--tt-task-accent: #a855f7}.tt-task-card--v2 .tt-task-card__avatar{flex-shrink:0;width:2rem;height:2rem;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;letter-spacing:.02em;color:var(--tt-task-accent, #4f46e5);background:color-mix(in srgb,var(--tt-task-accent, #4f46e5) 12%,transparent);border:1px solid color-mix(in srgb,var(--tt-task-accent, #4f46e5) 22%,transparent)}.tt-task-card--v2 .tt-task-card__body{flex:1;min-width:0}.tt-task-card--v2 .tt-task-card__line{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .75rem}.tt-task-card--v2 .tt-task-card__title{margin:0;flex:0 1 auto;font-size:.9375rem;font-weight:600;color:var(--app-text);line-height:1.3;word-break:break-word}.tt-task-card--v2 .tt-task-card__rate{font-size:.8125rem;font-weight:500;color:var(--app-muted);line-height:1.3;white-space:nowrap;padding-left:.75rem;border-left:1px solid var(--app-border-soft)}.tt-task-card--v2 .tt-task-card__rate--empty{font-style:italic;opacity:.85}.tt-task-card--v2 .tt-task-card__badges{display:flex;flex-wrap:wrap;gap:.3rem .4rem;margin-left:auto}.tt-task-card--v2 .tt-task-pill{gap:.35rem;padding:.22rem .6rem .22rem .5rem;font-size:.7125rem;border-radius:999px;white-space:nowrap}.tt-task-card--v2 .tt-task-pill__dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.tt-task-card--v2 .tt-task-pill--billable{background:#10b9811f;color:#047857}.tt-task-card--v2 .tt-task-card__actions{display:flex;flex-wrap:nowrap;flex-shrink:0;gap:.25rem;margin-left:.25rem}.tt-task-card--v2 .tt-task-card__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;color:var(--app-muted);background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.tt-task-card--v2 .tt-task-card__icon-btn .tt-task-card__btn-ico{width:15px;height:15px}.tt-task-card--v2 .tt-task-card__icon-btn:hover:not(:disabled){color:var(--app-accent);background:var(--app-accent-light-bg, rgba(79, 70, 229, .08));border-color:var(--app-accent-border, rgba(79, 70, 229, .25))}.tt-task-card--v2 .tt-task-card__icon-btn:disabled{opacity:.4;cursor:not-allowed}.tt-task-card--v2 .tt-task-card__icon-btn--danger:hover:not(:disabled){color:#b91c1c;background:#dc262614;border-color:#dc26264d}@media(max-width:639px){.tt-tasks-page__controls{padding:.85rem .8rem}.tt-tasks-toolbar{gap:.75rem}.tt-settings__list-row.tt-task-card.tt-task-card--v2{flex-wrap:wrap;gap:.55rem .7rem}.tt-task-card--v2 .tt-task-card__body{flex:1 1 calc(100% - 2.85rem)}.tt-task-card--v2 .tt-task-card__rate{padding-left:0;border-left:none;width:100%}.tt-task-card--v2 .tt-task-card__badges{margin-left:0;width:100%}.tt-task-card--v2 .tt-task-card__actions{width:100%;justify-content:flex-end;margin-left:0}}.tt-settings__list{display:flex;flex-direction:column;border:1.5px solid var(--app-border);border-radius:12px;overflow:hidden;background:var(--app-surface)}.tt-settings__list-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--app-border-soft);transition:background .1s}.tt-settings__list-row:last-child{border-bottom:none}.tt-settings__list-row:hover{background:var(--app-surface-soft)}.tt-settings__row-edit{flex-shrink:0;padding:.35rem .75rem;font-family:inherit;font-size:.8125rem;font-weight:500;color:var(--app-muted);background:var(--app-surface-soft);border:1px solid var(--app-border);border-radius:6px;cursor:pointer;transition:border-color .12s,color .12s}.tt-settings__row-edit:hover{border-color:var(--app-accent);color:var(--app-accent)}.tt-settings__row-name{flex:1;font-size:.9375rem;font-weight:600;color:var(--app-text)}.tt-settings__row-add{flex-shrink:0;padding:.35rem .75rem;font-family:inherit;font-size:.8125rem;font-weight:500;color:var(--app-accent);background:var(--app-surface);border:1px solid var(--app-accent-border);border-radius:6px;cursor:pointer;transition:background .12s,color .12s}.tt-settings__row-add:hover{background:var(--app-accent-light-bg)}.tt-settings__list--simple .tt-settings__list-row{justify-content:space-between}.tt-settings__list-row--simple .tt-settings__row-name{flex:0 1 auto}.tt-settings__cat-badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:99px;font-size:.8125rem;font-weight:600}.tt-settings--skeleton .tt-reports-skel__type-block-title,.tt-settings--skeleton .tt-reports-skel__type-tab,.tt-settings--skeleton .tt-skel__title,.tt-settings--skeleton .tt-skel__btn,.tt-settings--skeleton .tt-skel__search,.tt-settings--skeleton .tt-skel__row-edit,.tt-settings--skeleton .tt-skel__row-name,.tt-settings--skeleton .tt-skel__row-add{animation:tus-skel-shimmer 1.6s ease-in-out infinite,tus-skel-pulse 2s ease-in-out infinite}.tt-skel__title,.tt-skel__btn,.tt-skel__search,.tt-skel__row-edit,.tt-skel__row-name,.tt-skel__row-add{display:block;background:linear-gradient(105deg,var(--app-surface-soft) 0%,var(--app-border) 35%,color-mix(in srgb,var(--app-accent) 12%,var(--app-surface)) 50%,var(--app-border) 65%,var(--app-surface-soft) 100%);background-size:200% 100%;animation:tus-skel-shimmer 1.6s ease-in-out infinite,tus-skel-pulse 2s ease-in-out infinite;border-radius:8px}.tt-skel__title{width:140px;height:32px;margin-bottom:1.25rem}.tt-settings__header-row--skeleton .tt-skel__title{margin-bottom:0}.tt-skel__btn{width:130px;height:38px}.tt-skel__btn--primary,.tt-skel__btn--green{width:150px}.tt-skel__btn--link{width:160px;height:28px}.tt-settings__search-wrap .tt-skel__search{width:100%;height:42px}.tt-skel__list-row{pointer-events:none}.tt-skel__row-edit{width:90px;height:30px;border-radius:6px;flex-shrink:0}.tt-skel__row-name{flex:1;height:18px;max-width:200px}.tt-skel__row-add{width:130px;height:30px;border-radius:6px;flex-shrink:0}.tt-settings--skeleton .tt-skel__list-row:nth-child(1) [class*=tt-skel__]{animation-delay:.05s}.tt-settings--skeleton .tt-skel__list-row:nth-child(2) [class*=tt-skel__]{animation-delay:.1s}.tt-settings--skeleton .tt-skel__list-row:nth-child(3) [class*=tt-skel__]{animation-delay:.15s}.tt-settings--skeleton .tt-skel__list-row:nth-child(4) [class*=tt-skel__]{animation-delay:.2s}.tt-settings--skeleton .tt-skel__list-row:nth-child(5) [class*=tt-skel__]{animation-delay:.25s}.tt-settings--skeleton .tt-skel__list-row:nth-child(6) [class*=tt-skel__]{animation-delay:.3s}.tt-skel__btn--import{width:158px}.tt-clients-skel__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pp--skeleton .pp-skel__title,.pp--skeleton .pp-skel__status,.pp--skeleton .pp-skel__filter,.pp--skeleton .pp-skel__new-btn,.pp--skeleton .pp-skel__head,.pp--skeleton .pp-skel__checkbox,.pp--skeleton .pp-skel__chevron,.pp--skeleton .pp-skel__client-name,.pp--skeleton .pp-skel__client-meta,.pp--skeleton .pp-skel__proj-name,.pp--skeleton .pp-skel__badge,.pp--skeleton .pp-skel__amount,.pp--skeleton .pp-skel__bar,.pp--skeleton .pp-skel__actions{animation:tus-skel-shimmer 1.6s ease-in-out infinite,tus-skel-pulse 2s ease-in-out infinite}.pp-skel__title,.pp-skel__status,.pp-skel__filter,.pp-skel__new-btn,.pp-skel__head,.pp-skel__checkbox,.pp-skel__chevron,.pp-skel__client-name,.pp-skel__client-meta,.pp-skel__proj-name,.pp-skel__badge,.pp-skel__amount,.pp-skel__bar,.pp-skel__actions{display:block;background:linear-gradient(105deg,var(--app-surface-soft, #e2e8f0) 0%,var(--app-border, #f1f5f9) 35%,color-mix(in srgb,var(--app-accent, #4f46e5) 12%,#fff) 50%,var(--app-border, #f1f5f9) 65%,var(--app-surface-soft, #e2e8f0) 100%);background-size:200% 100%;animation:tus-skel-shimmer 1.6s ease-in-out infinite,tus-skel-pulse 2s ease-in-out infinite;border-radius:8px}.pp-skel__title{width:100px;height:24px}.pp-skel__status{width:130px;height:38px;border-radius:10px}.pp-skel__filter{width:110px;height:38px;border-radius:10px}.pp-skel__new-btn{width:140px;height:38px;border-radius:10px}.pp-skel__head{width:60px;height:12px}.pp-skel__checkbox{width:16px;height:16px;border-radius:4px}.pp-skel__client-row{pointer-events:none}.pp-skel__chevron{width:18px;height:18px;border-radius:4px;flex-shrink:0}.pp-skel__client-name{width:140px;height:16px}.pp-skel__client-name--short{width:100px}.pp-skel__client-meta{width:70px;height:14px;margin-left:.25rem}.pp-skel__proj-name{width:160px;height:16px}.pp-skel__proj-name--short{width:120px}.pp-skel__badge{width:100px;height:18px;border-radius:99px;margin-top:.3rem}.pp-skel__amount{width:80px;height:16px}.pp-skel__bar{width:100%;height:8px;border-radius:99px}.pp-skel__actions{width:88px;height:30px;border-radius:7px}.pp-skel__row:nth-child(1) [class*=pp-skel__]{animation-delay:.05s}.pp-skel__row:nth-child(2) [class*=pp-skel__]{animation-delay:.1s}.pp-skel__row:nth-child(3) [class*=pp-skel__]{animation-delay:.15s}.tsp-wrap{padding:1.75rem 2rem 3rem}.time-page__content:has(.tsp--calendar-layout) .tsp-wrap{padding:0 0 1rem;max-width:none;width:100%;box-sizing:border-box}@media(max-width:560px){.time-page__content:has(.tsp--calendar-layout) .tsp-wrap{padding:0 0 1rem}}.tsp{background:var(--app-surface, #fff);border:1.5px solid var(--app-border, #e5e7eb);border-radius:16px;overflow:visible;box-shadow:0 1px 6px #0000000f;display:flex;flex-direction:column;isolation:isolate}.tsp__view-stack{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.tsp:not(.tsp--calendar-layout)>.tsp__view-stack{border-bottom-left-radius:14px;border-bottom-right-radius:14px;overflow:hidden}.tsp:not(.tsp--calendar-layout)>.tsp__sync-err:first-child{border-top-left-radius:14px;border-top-right-radius:14px}.tsp:not(.tsp--calendar-layout)>.tsp__top:first-child{border-top-left-radius:14px;border-top-right-radius:14px}.tsp__view-live{flex:1;min-height:0;display:flex;flex-direction:column;transition:opacity .15s ease,transform .15s ease}.tsp__view-stack--hiding .tsp__view-live{opacity:0;transform:translateY(5px);pointer-events:none}.tsp__view-stack--skel .tsp__view-live{opacity:0;visibility:hidden;pointer-events:none}.tsp__view-stack--showing .tsp__view-live{animation:tsp-view-live-in .28s ease forwards}@keyframes tsp-view-live-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tsp__view-skel-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;min-height:0;overflow:auto;background:var(--app-surface, #fff);box-sizing:border-box}.tsp__body-skel{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;background:var(--app-surface, #fff)}.tsp__body-skel.tsp--calendar-layout{border-radius:0;border:none;box-shadow:none;overflow:visible}.tsp__seg-btn:disabled{opacity:.55;cursor:default}@media(prefers-reduced-motion:reduce){.tsp__view-live{transition:none}.tsp__view-stack--hiding .tsp__view-live{opacity:1;transform:none}.tsp__view-stack--showing .tsp__view-live{animation:none;opacity:1;transform:none}}.tsp--calendar-layout{--tsp-cal-gutter: clamp(1rem, 3vw, 1.5rem);border-radius:14px;border:1px solid var(--app-border, #e5e7eb);box-shadow:0 1px 8px #0f172a0f;overflow:visible}.tsp--calendar-layout .tsp__top{padding:.5rem var(--tsp-cal-gutter)}.tsp--calendar-layout .tsp__content{padding:.75rem var(--tsp-cal-gutter) 0}.tsp--calendar-layout .tsp__foot{padding:.625rem var(--tsp-cal-gutter)}.tsp--calendar-layout .tsp__cal{padding:0;min-width:0}.tsp--calendar-layout .tsp__cal-dows{box-shadow:none}.tsp--calendar-layout .tsp__cal-dow{padding-top:.4rem;padding-bottom:.4rem}.tsp--calendar-layout .tsp__cal-grid{box-shadow:0 1px 4px #0f172a0d}.tsp--calendar-layout .tsp__cal-cell{min-height:5.5rem}@media(max-width:720px){.tsp--calendar-layout .tsp__cal-cell{min-height:4rem}}.tsp--calendar-layout .tsp__wtotal{min-width:152px;max-width:220px;padding:.25rem 0 .25rem 1rem;justify-content:flex-start;align-items:flex-end}.tsp--calendar-layout .tsp__cal-cell--muted{background:var(--app-surface, #fff)}.tsp--calendar-layout .tsp__wtotal-n{font-size:1.5rem}.tsp--calendar-layout .tsp__cal-cell-n{font-size:.875rem}.tsp--calendar-layout .tsp__cal-cell-h{font-size:.75rem;font-weight:700}.tsp__sync-err{margin:0;padding:.65rem 1.25rem;font-size:.875rem;color:#b91c1c;background:#dc262614;border-bottom:1px solid rgba(220,38,38,.2);display:flex;flex-direction:column;gap:.35rem}.tsp__sync-err--amber{color:#92400e;background:#f59e0b1a;border-bottom-color:#f59e0b59}.tsp__sync-err--success{color:#166534;background:#16a34a1a;border-bottom-color:#16a34a47}.tsp__sync-err__sub{margin:0;font-size:.8125rem;font-weight:500;opacity:.95}.tsp__grant-unlock{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.5rem 1.25rem .65rem;font-size:.8125rem;color:var(--app-text, #0f172a);background:color-mix(in srgb,var(--app-accent, #4f46e5) 9%,var(--app-surface, #fff));border-bottom:1px solid var(--app-border, #e5e7eb)}.tsp__grant-unlock-txt{flex:1 1 12rem;min-width:0;line-height:1.45}.tsp__grant-unlock-btn{flex-shrink:0;padding:.45rem .85rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--app-accent, #4f46e5) 40%,var(--app-border, #e5e7eb));background:var(--app-surface, #fff);color:var(--app-accent, #4f46e5);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s}.tsp__grant-unlock-btn:hover:not(:disabled){background:color-mix(in srgb,var(--app-accent, #4f46e5) 10%,var(--app-surface, #fff))}.tsp__grant-unlock-btn:disabled{opacity:.55;cursor:not-allowed}.tsp__top{position:sticky;top:0;z-index:18;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem .875rem;border-bottom:1px solid var(--app-border, #e5e7eb);gap:.75rem;flex-wrap:wrap;background:var(--app-surface, #fff);box-shadow:0 1px #0f172a0a}.tsp__top-l{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.tsp__top-r{display:flex;align-items:center;gap:.5rem}.tsp__arr{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:none;border:1.5px solid var(--app-border, #e5e7eb);border-radius:7px;cursor:pointer;color:var(--app-muted, #6b7280);transition:border-color .13s,color .13s;flex-shrink:0}.tsp__arr svg{width:13px;height:13px}.tsp__arr:hover:not(:disabled){border-color:var(--app-text, #374151);color:var(--app-text, #374151)}.tsp__arr:disabled{opacity:.45;cursor:not-allowed;border-color:var(--app-border, #e5e7eb);color:var(--app-muted, #9ca3af)}.tsp__heading{margin:0;font-size:1.1875rem;font-weight:700;color:var(--app-text, #111827);letter-spacing:-.01em;white-space:nowrap}.tsp__return{display:inline-flex;align-items:center;gap:.25rem;background:none;border:none;padding:.25rem 0;font-family:inherit;font-size:.8125rem;font-weight:500;color:var(--app-accent, #4f46e5);cursor:pointer;opacity:.75;transition:opacity .13s;white-space:nowrap}.tsp__return:hover{opacity:1}.tsp__return--passive{color:var(--app-muted, #9ca3af);opacity:.45;cursor:default;pointer-events:none}.tsp__date-jump-wrap{display:inline-flex;align-items:center}.tsp__date-jump-btn.ttp__btn{height:28px;min-height:28px;padding:0 .45rem 0 .4rem;border-radius:8px;border-color:var(--app-border, #e5e7eb);font-size:.8125rem;font-weight:500;color:var(--app-muted, #6b7280)}.tsp__date-jump-btn.ttp__btn:hover:not(:disabled){border-color:var(--app-accent, #4f46e5);color:var(--app-accent, #4f46e5)}.tsp__date-jump-btn .ttp__label{color:var(--app-text, #374151);font-weight:500}.tsp__date-jump-btn .ttp__chev{display:none}.tsp__date-jump-btn .ttp__ico svg{width:14px;height:14px}.tsp__top--day-week-closed .tsp__heading{color:var(--app-muted, #6b7280);font-weight:600}.tsp__date-jump-wrap--week-closed .tsp__date-jump-btn.ttp__btn{border-color:var(--app-border, #e5e7eb);opacity:.9;color:var(--app-muted, #6b7280)}.tsp__date-jump-wrap--week-closed .tsp__date-jump-btn .ttp__label{color:var(--app-muted, #6b7280)!important}.tsp__date-jump-wrap--week-closed .tsp__date-jump-btn .ttp__ico{color:var(--app-muted, #6b7280)}.tsp__seg{display:flex;border:1.5px solid var(--app-border, #e5e7eb);border-radius:9px;overflow:hidden}.tsp__seg-btn{padding:.3125rem .875rem;background:none;border:none;font-family:inherit;font-size:.8125rem;font-weight:500;color:var(--app-muted, #6b7280);cursor:pointer;transition:background .12s,color .12s}.tsp__seg-btn+.tsp__seg-btn{border-left:1px solid var(--app-border, #e5e7eb)}.tsp__seg-btn--on{background:var(--app-accent, #4f46e5);color:#fff;font-weight:600}.tsp__seg-btn--on:hover{background:color-mix(in srgb,var(--app-accent, #4f46e5) 85%,#000)}.tsp__seg-btn:not(.tsp__seg-btn--on):hover{background:var(--app-bg, #f5f5f5)}.tsp__strip{display:flex;border-bottom:1px solid var(--app-border, #f3f4f6);background:var(--app-surface, #fff);-webkit-user-select:none;user-select:none}.tsp__strip>.tsp__day{flex:1}.tsp__strip--calendar{align-items:stretch;background:var(--app-surface, #fff);padding:.5rem var(--tsp-cal-gutter, clamp(.875rem, 2.5vw, 1.5rem)) .625rem;gap:1rem;margin-bottom:0;border-bottom:1px solid var(--app-border, #e5e7eb);--tsp-cal-grid: #e2e8f0;--tsp-cal-head-bg: #fff;--tsp-cal-active-border: var(--app-accent, #4f46e5);--tsp-cal-active-bg: color-mix(in srgb, var(--app-accent, #4f46e5) 10%, #fff)}.tsp__cal{flex:1;min-width:0;padding:.5rem .75rem .65rem;display:flex;flex-direction:column;gap:0}.tsp__cal-dows{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;border:1px solid var(--tsp-cal-grid, #e2e8f0);border-bottom:none;background:var(--tsp-cal-head-bg, #f8fafc)}.tsp__cal-dow{text-align:center;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--app-text, #323130);padding:.45rem .25rem;border-right:1px solid var(--tsp-cal-grid, #e2e8f0);border-bottom:1px solid var(--tsp-cal-grid, #e2e8f0)}.tsp__cal-dow:last-child{border-right:none}.tsp__cal-dow--wknd{color:var(--app-muted, #94a3b8);background:transparent}.tsp__cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;border:1px solid var(--tsp-cal-grid, #e2e8f0);border-top:none;background:var(--tsp-cal-grid, #e2e8f0)}.tsp__cal-cell{position:relative;box-sizing:border-box;min-height:4.75rem;padding:.35rem .45rem .4rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.15rem;font-family:inherit;margin:0;border:none;border-right:1px solid var(--tsp-cal-grid, #e2e8f0);border-bottom:1px solid var(--tsp-cal-grid, #e2e8f0);border-radius:0;background:var(--app-surface, #fff);cursor:pointer;text-align:left;transition:background .1s ease,box-shadow .1s ease}.tsp__cal-cell:nth-child(7n){border-right:none}.tsp__cal-cell:hover:not(:disabled){background:var(--tsp-cal-hover, #f1f5f9)}.tsp__cal-cell:disabled{cursor:default;opacity:.42}.tsp__cal-cell--wknd{background:var(--app-surface, #fff)}.tsp__cal-cell--wknd:hover:not(:disabled){background:var(--tsp-cal-hover, #f1f5f9)}.tsp__cal-cell--muted{background:var(--app-surface, #fff)}.tsp__cal-cell--muted .tsp__cal-cell-n{color:#cbd5e1;font-weight:500}.tsp__cal-cell--muted .tsp__cal-cell-h{color:color-mix(in srgb,var(--app-accent, #6366f1) 40%,#94a3b8);font-weight:600}.tsp__cal-cell--muted:not(:disabled):hover{background:var(--app-surface-soft, #f8fafc)}.tsp__cal-cell--active{background:var(--tsp-cal-active-bg)!important;box-shadow:inset 0 0 0 2px var(--tsp-cal-active-border);z-index:1}.tsp__cal-cell--active .tsp__cal-cell-n{color:var(--tsp-cal-active-border);font-weight:700}.tsp__cal-cell--active .tsp__cal-cell-h{color:var(--tsp-cal-active-border)}.tsp__cal-cell--void-reject{box-shadow:inset 0 0 0 1.5px #dc26268c;background:#fef2f299}.tsp__cal-cell--void-realloc{box-shadow:inset 0 0 0 1.5px #ea580c8c;background:#fff7edb3}.tsp__cal-cell-void-hint{margin-top:auto;font-size:.75rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.tsp__cal-cell-void-hint--reject{color:#b91c1c}.tsp__cal-cell-void-hint--realloc{color:#c2410c}.tsp__cal-cell--week-closed{background:var(--app-surface, #f8fafc)}.tsp__cal-cell--week-closed .tsp__cal-cell-n,.tsp__cal-cell--week-closed .tsp__cal-cell-h{color:#94a3b8}.tsp__cal-cell--week-closed .tsp__cal-cell-h{font-weight:600}.tsp__cal-cell--today .tsp__cal-cell-n{background:var(--tsp-cal-active-border);color:#fff;border-radius:50%;min-width:1.625rem;min-height:1.625rem;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.8125rem;line-height:1}.tsp__cal-cell--today.tsp__cal-cell--active{box-shadow:inset 0 0 0 2px var(--tsp-cal-active-border)}.tsp__cal-cell-n{font-size:.8125rem;font-weight:600;color:var(--app-text, #323130);line-height:1.2}.tsp__cal-cell-h{margin-top:auto;align-self:stretch;font-size:.6875rem;font-weight:600;color:var(--app-accent, #4f46e5);font-variant-numeric:tabular-nums;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:720px){.tsp__cal-cell{min-height:3.5rem;padding:.25rem .3rem}.tsp__cal-cell-h{font-size:.625rem}.tsp__cal-dow{font-size:.625rem;padding:.35rem .15rem}}.tsp__day{position:relative;display:flex;flex-direction:column;align-items:center;padding:.875rem .5rem .625rem;gap:.2rem;background:none;border:none;border-right:1px solid var(--app-border, #f0f0f0);cursor:pointer;transition:background .12s;overflow:hidden}.tsp__day:hover{background:var(--app-bg, #f5f7fb)}.tsp__day:hover .tsp__day-quick{opacity:1;pointer-events:auto}.tsp__day--wknd{background:color-mix(in srgb,var(--app-bg, #f3f4f6) 60%,transparent)}.tsp__day--wknd .tsp__day-wk{opacity:.65}.tsp__day--future{cursor:not-allowed}.tsp__day--future .tsp__day-n{opacity:.5}.tsp__day--today .tsp__day-wk{color:var(--app-accent, #4f46e5);font-weight:700}.tsp__day--today .tsp__day-n{background:var(--app-accent, #4f46e5);color:#fff;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9375rem;box-shadow:0 2px 8px #2563eb59}.tsp__day--today .tsp__day-h--on{color:var(--app-accent, #4f46e5)}.tsp__day--active{background:color-mix(in srgb,var(--app-accent, #4f46e5) 6%,transparent)}.tsp__day--active:not(.tsp__day--today) .tsp__day-wk{color:var(--app-accent, #4f46e5);font-weight:700}.tsp__day--active:not(.tsp__day--today) .tsp__day-n{color:var(--app-accent, #4f46e5);font-weight:700}.tsp__day--active:after{content:"";position:absolute;bottom:0;left:18%;right:18%;height:2.5px;background:var(--app-accent, #4f46e5);border-radius:2px 2px 0 0}.tsp__day-wk{font-size:.625rem;font-weight:700;color:var(--app-muted, #9ca3af);letter-spacing:.07em;text-transform:uppercase}.tsp__day-n{font-size:1rem;font-weight:600;color:var(--app-text, #374151);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .12s,color .12s}.tsp__day-bar-wrap{width:80%;height:3px;background:var(--app-border, #eef0f3);border-radius:99px;overflow:hidden;margin:.1rem 0}.tsp__day-bar{height:100%;width:0;background:color-mix(in srgb,var(--app-accent, #4f46e5) 55%,transparent);border-radius:99px;transition:width .4s cubic-bezier(.34,1.56,.64,1)}.tsp__day-bar--on{background:var(--app-accent, #4f46e5)}.tsp__day-bar--full{background:#16a34a}.tsp__day-h{font-size:.75rem;font-weight:500;color:var(--app-muted, #c4c9d4);font-variant-numeric:tabular-nums;min-height:1rem;display:flex;align-items:center}.tsp__day-h--on{color:var(--app-accent, #4f46e5);font-weight:700}.tsp__day-h-zero{color:var(--app-border, #d1d5db);font-size:.875rem;line-height:1}.tsp__day--void-reject .tsp__day-h-zero{color:#b91c1c}.tsp__day--void-realloc .tsp__day-h-zero{color:#c2410c}.tsp__day--week-closed .tsp__day-wk,.tsp__day--week-closed .tsp__day-n,.tsp__day--week-closed .tsp__day-h{color:#9ca3af}.tsp__day--week-closed .tsp__day-h--on{color:#9ca3af;font-weight:600}.tsp__day--week-closed .tsp__day-bar--on,.tsp__day--week-closed .tsp__day-bar--full{background:#d1d5db;opacity:.7}.tsp__day--week-closed .tsp__day-bar-wrap{opacity:.7}.tsp__day--active.tsp__day--week-closed:after{background:#94a3b8}.tsp__day--active.tsp__day--week-closed:not(.tsp__day--today) .tsp__day-wk,.tsp__day--active.tsp__day--week-closed:not(.tsp__day--today) .tsp__day-n{color:#9ca3af;font-weight:600}.tsp__day-quick:disabled,.tsp__day-quick:disabled:hover{opacity:.3;cursor:not-allowed;transform:none;pointer-events:none}.tsp__day-quick{position:absolute;bottom:4px;right:4px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:var(--app-accent, #4f46e5);color:#fff;border:none;border-radius:4px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s,transform .12s;padding:0}.tsp__day-quick svg{width:11px;height:11px}.tsp__day-quick:hover{transform:scale(1.1)}.tsp__wtotal{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:.875rem 1.375rem .875rem 1rem;min-width:130px;border-left:1.5px solid var(--app-border, #e5e7eb);background:var(--app-bg, #f8fafc);gap:.15rem}.tsp__strip--calendar .tsp__wtotal{align-self:stretch;background:var(--app-surface, #fff);border-left:1px solid var(--tsp-cal-grid, #e2e8f0)}.tsp__wtotal-lbl{font-size:.625rem;font-weight:700;color:var(--app-muted, #adb5bd);text-transform:uppercase;letter-spacing:.07em;text-align:right;line-height:1.35}.tsp__wtotal-n{font-size:1.375rem;font-weight:800;color:var(--app-muted, #d1d5db);font-variant-numeric:tabular-nums;letter-spacing:-.02em;transition:color .25s}.tsp__wtotal-n--on{color:var(--app-text, #111827)}.tsp__wtotal-bar-wrap{width:100%;height:4px;background:var(--app-border, #e9ecef);border-radius:99px;overflow:hidden;margin-top:.2rem}.tsp__wtotal-bar{height:100%;background:var(--app-accent, #4f46e5);border-radius:99px;transition:width .5s cubic-bezier(.34,1.56,.64,1)}.tsp__wtotal-cap{font-size:.6875rem;color:var(--app-muted, #b0b8c4);white-space:nowrap;margin-top:.1rem}.tsp__content{flex:1;background:var(--app-surface, #fff)}.tsp__filter-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.625rem 1rem;background:var(--app-surface, #fff);border-bottom:1px solid var(--app-border, #f0f0f0);position:sticky;top:0;z-index:6}.tsp__filter-search{position:relative;display:flex;align-items:center;flex:1 1 240px;min-width:200px;height:32px;padding:0 .5rem 0 2rem;background:var(--app-bg, #f5f6f8);border:1px solid transparent;border-radius:8px;transition:border-color .12s,background .12s,box-shadow .12s}.tsp__filter-search:focus-within{background:var(--app-surface, #fff);border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 3px color-mix(in srgb,var(--app-accent, #4f46e5) 14%,transparent)}.tsp__filter-search>svg:first-child{position:absolute;left:.5rem;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--app-muted, #9ca3af);pointer-events:none}.tsp__filter-search input{flex:1;min-width:0;height:100%;border:none;outline:none;background:transparent;font-family:inherit;font-size:.875rem;color:var(--app-text, #111827)}.tsp__filter-search input::placeholder{color:var(--app-muted, #9ca3af)}.tsp__filter-search input::-webkit-search-cancel-button{display:none}.tsp__filter-search-clear{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:none;border:none;border-radius:6px;color:var(--app-muted, #9ca3af);cursor:pointer;padding:0;transition:background .12s,color .12s}.tsp__filter-search-clear svg{width:12px;height:12px}.tsp__filter-search-clear:hover{background:#0000000f;color:var(--app-text, #111827)}.tsp__filter-chip{display:inline-flex;align-items:center;gap:.375rem;height:32px;padding:0 .75rem;background:var(--app-surface, #fff);border:1px solid var(--app-border, #e5e7eb);border-radius:999px;font-family:inherit;font-size:.8125rem;font-weight:500;color:var(--app-muted, #6b7280);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.tsp__filter-chip svg{width:13px;height:13px;opacity:.4;transition:opacity .12s}.tsp__filter-chip:hover{border-color:var(--app-text, #374151);color:var(--app-text, #374151)}.tsp__filter-chip--on{background:color-mix(in srgb,var(--app-accent, #4f46e5) 10%,transparent);border-color:color-mix(in srgb,var(--app-accent, #4f46e5) 45%,transparent);color:var(--app-accent, #4f46e5)}.tsp__filter-chip--on svg{opacity:1}.tsp__filter-chip--on:hover{background:color-mix(in srgb,var(--app-accent, #4f46e5) 15%,transparent);border-color:var(--app-accent, #4f46e5)}.tsp__filter-reset{background:none;border:none;padding:0 .25rem;font-family:inherit;font-size:.8125rem;font-weight:500;color:var(--app-accent, #4f46e5);cursor:pointer;opacity:.8;transition:opacity .12s}.tsp__filter-reset:hover{opacity:1;text-decoration:underline}.tsp__filter-meta{margin-left:auto;font-size:.75rem;font-weight:500;color:var(--app-muted, #9ca3af);font-variant-numeric:tabular-nums;white-space:nowrap}.tsp__empty--filter{min-height:180px;padding:2.25rem 1.5rem}.tsp__empty-cta--ghost{background:var(--app-surface, #fff);color:var(--app-accent, #4f46e5);border:1.5px solid var(--app-border, #e5e7eb);box-shadow:none}.tsp__empty-cta--ghost:hover{background:color-mix(in srgb,var(--app-accent, #4f46e5) 7%,#fff);border-color:var(--app-accent, #4f46e5);box-shadow:none}.tsp__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:0;text-align:center;min-height:260px}.tsp__empty-ico-wrap{width:72px;height:72px;background:var(--app-bg, #f3f4f6);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;color:var(--app-muted, #9ca3af)}.tsp__empty-ico-wrap svg{width:32px;height:32px}.tsp__empty-h{margin:0 0 .375rem;font-size:1rem;font-weight:700;color:var(--app-text, #374151)}.tsp__empty-s{margin:0;font-size:.875rem;color:var(--app-muted, #9ca3af);max-width:320px;line-height:1.6}.tsp__empty-cta{margin-top:1.5rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.75rem;background:var(--app-accent, #4f46e5);color:#fff;border:none;border-radius:12px;font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer;transition:background .14s,transform .12s,box-shadow .14s;box-shadow:0 3px 14px color-mix(in srgb,var(--app-accent, #4f46e5) 42%,transparent)}.tsp__empty-cta svg{width:18px;height:18px;flex-shrink:0}.tsp__empty-cta:hover{background:color-mix(in srgb,var(--app-accent, #4f46e5) 88%,#000);transform:translateY(-1px);box-shadow:0 5px 18px color-mix(in srgb,var(--app-accent, #4f46e5) 48%,transparent)}.tsp__empty-cta:focus-visible{outline:2px solid color-mix(in srgb,var(--app-accent, #4f46e5) 55%,#fff);outline-offset:2px}.tsp__empty-cta:disabled,.tsp__empty-cta:disabled:hover{background:#e5e7eb;color:#9ca3af;transform:none;cursor:not-allowed;box-shadow:none}.tsp__groups{display:flex;flex-direction:column}.tsp__group{border-bottom:1.5px solid var(--app-border, #e5e7eb)}.tsp__group:last-child{border-bottom:none}.tsp__group--week-closed{background:var(--app-surface, #f9fafb)}.tsp__ghd{display:flex;align-items:center;gap:.75rem;padding:.625rem 1.5rem;background:var(--app-bg, #f9fafb);border-bottom:1px solid var(--app-border, #f0f0f0)}.tsp__ghd--today{background:color-mix(in srgb,var(--app-accent, #4f46e5) 4%,transparent)}.tsp__ghd-name{font-size:.875rem;font-weight:600;color:var(--app-muted, #6b7280);text-transform:capitalize;display:flex;align-items:center;gap:.5rem;flex:1}.tsp__ghd--today .tsp__ghd-name{color:var(--app-accent, #4f46e5)}.tsp__ghd-badge{font-size:.6875rem;font-weight:700;color:var(--app-accent, #4f46e5);background:color-mix(in srgb,var(--app-accent, #4f46e5) 10%,transparent);border-radius:99px;padding:.1rem .5rem}.tsp__ghd-total{font-size:.875rem;font-weight:700;color:var(--app-text, #374151);font-variant-numeric:tabular-nums}.tsp__ghd-add{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:none;border:1.5px solid var(--app-border, #e5e7eb);border-radius:6px;cursor:pointer;color:var(--app-muted, #9ca3af);transition:all .13s}.tsp__ghd-add svg{width:12px;height:12px}.tsp__ghd-add:hover{background:#e55a2b;border-color:#e55a2b;color:#fff}.tsp__ghd-add:disabled,.tsp__ghd-add:disabled:hover{cursor:not-allowed;opacity:.4;background:#f3f4f6;border-color:#e5e7eb;color:#9ca3af;transform:none}.tsp__ghd--week-closed .tsp__ghd-name,.tsp__ghd--week-closed .tsp__ghd-total{color:#9ca3af}.tsp__ghd--week-closed .tsp__ghd-badge{opacity:.7}.tsp__rows{display:flex;flex-direction:column}.tsp__row{display:flex;align-items:flex-start;gap:0;border-bottom:1px solid var(--app-border, #f3f4f6);transition:background .1s;background:var(--app-surface, #fff)}.tsp__row:has(+.tsp__day-sum){border-bottom:none}.tsp__row:hover{background:#00000005}.tsp__row--run{background:#e55a2b08}.tsp__row--week-closed{background:var(--app-surface, #f9fafb)}.tsp__row--week-closed .tsp__row-txt{color:var(--app-muted, #6b7280)}.tsp__row--week-closed .tsp__row-proj,.tsp__row--week-closed .tsp__row-proj strong{color:var(--app-muted, #6b7280)!important}.tsp__row--week-closed .tsp__row-client,.tsp__row--week-closed .tsp__row-task,.tsp__row--week-closed .tsp__row-notes,.tsp__row--week-closed .tsp__row-h{color:#9ca3af}.tsp__row--week-closed .tsp__row-nb{opacity:.7}.tsp__row--week-closed .tsp__row-bar{opacity:.45}.tsp__row--run.tsp__row--week-closed{background:#f4f4f5}.tsp__row--void-reject{background:color-mix(in srgb,#fecaca 42%,var(--app-surface, #fff))}.tsp__row--void-realloc{background:color-mix(in srgb,#fed7aa 45%,var(--app-surface, #fff))}.tsp__row-void-badge{font-size:.65rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;border-radius:6px;padding:.12rem .4rem;margin-left:.25rem;vertical-align:middle}.tsp__row--void-reject .tsp__row-void-badge{color:#991b1b;background:#fecacaa6}.tsp__row--void-realloc .tsp__row-void-badge{color:#9a3412;background:#fed7aab3}.tsp__row-bar{width:3px;flex-shrink:0;align-self:stretch;opacity:.85}.tsp__row-txt{flex:1;min-width:0;padding:.75rem 1rem .75rem .875rem;display:flex;flex-direction:column;gap:.15rem}.tsp__row-proj{margin:0;display:flex;align-items:baseline;gap:.375rem;flex-wrap:wrap;font-size:.9375rem;color:var(--app-text, #111827)}.tsp__row-proj strong{font-weight:700}.tsp__row-client{font-size:.875rem;font-weight:400;color:var(--app-muted, #6b7280)}.tsp__row-nb{font-size:.6875rem;font-weight:600;color:#9ca3af;background:#9ca3af1f;border-radius:99px;padding:.1rem .45rem}.tsp__row-task{margin:0;font-size:.875rem;color:var(--app-muted, #6b7280);font-weight:500}.tsp__row-notes{margin:0;font-size:.8125rem;color:var(--app-muted, #9ca3af);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:480px}.tsp__row-acts{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem .75rem 0;flex-shrink:0;align-self:stretch}.tsp__row-h{font-size:1rem;font-weight:700;color:var(--app-text, #111827);font-variant-numeric:tabular-nums;min-width:4.75rem;text-align:right}.tsp__row-start{display:inline-flex;align-items:center;gap:.3rem;padding:.3125rem .75rem;background:none;border:1.5px solid var(--app-border, #d1d5db);border-radius:8px;font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--app-text, #374151);cursor:pointer;transition:all .13s;white-space:nowrap}.tsp__row-start svg{width:13px;height:13px;flex-shrink:0}.tsp__row-start:hover{border-color:#e55a2b;color:#e55a2b;background:#e55a2b0d}.tsp__row-start--stop{border-color:#e55a2b;color:#e55a2b;background:#e55a2b0f}.tsp__row-start--stop:hover{background:#e55a2b1a}.tsp__row-edit{padding:.3125rem .75rem;background:none;border:1.5px solid var(--app-border, #d1d5db);border-radius:8px;font-family:inherit;font-size:.8125rem;font-weight:500;color:var(--app-muted, #6b7280);cursor:pointer;transition:all .13s;white-space:nowrap}.tsp__row-edit:hover{border-color:var(--app-accent, #4f46e5);color:var(--app-accent, #4f46e5);background:#2563eb0a}.tsp__row-del{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:6px;cursor:pointer;color:var(--app-border, #d1d5db);transition:all .13s;padding:0}.tsp__row-del svg{width:12px;height:12px}.tsp__row-del:hover{background:#dc262612;border-color:#dc262633;color:#ef4444}.tsp__row-start:disabled,.tsp__row-start:disabled:hover,.tsp__row-edit:disabled,.tsp__row-edit:disabled:hover,.tsp__row-del:disabled,.tsp__row-del:disabled:hover{cursor:not-allowed;opacity:.4;transform:none;background:var(--app-bg, #f3f4f6)!important;border-color:var(--app-border, #e5e7eb)!important;color:#9ca3af!important;box-shadow:none}.tsp__row-start:disabled,.tsp__row-start:disabled:hover{background:#f3f4f6!important;border-color:#e5e7eb!important;color:#9ca3af!important}.tsp__row-del:disabled{border-color:transparent}.tsp__day-sum{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.625rem 1rem;padding:.75rem 1.25rem .75rem 1rem;background:var(--app-bg, #f9fafb);border-top:1px solid var(--app-border, #f0f0f0);font-size:.875rem;color:var(--app-muted, #9ca3af)}.tsp__day-sum-r{display:flex;align-items:center;gap:.4rem;flex:0 0 auto;margin-inline-start:0;font-weight:600;color:var(--app-text, #475569)}.tsp__day-sum-n{font-size:1rem;font-weight:700;color:var(--app-text, #374151);font-variant-numeric:tabular-nums}.tsp__day-sum-add{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;flex:1 1 100%;width:100%;min-width:0;min-height:48px;padding:.75rem 1.25rem;background:var(--app-accent, #4f46e5);border:none;border-radius:12px;font-family:inherit;font-size:1rem;font-weight:700;color:#fff;cursor:pointer;transition:background .14s,transform .12s,box-shadow .14s;white-space:nowrap;box-shadow:0 3px 14px color-mix(in srgb,var(--app-accent, #4f46e5) 42%,transparent)}.tsp__day-sum-add svg{width:18px;height:18px;flex-shrink:0}.tsp__day-sum-add:hover{background:color-mix(in srgb,var(--app-accent, #4f46e5) 88%,#000);transform:translateY(-1px);box-shadow:0 5px 18px color-mix(in srgb,var(--app-accent, #4f46e5) 48%,transparent)}.tsp__day-sum-add:focus-visible{outline:2px solid color-mix(in srgb,var(--app-accent, #4f46e5) 55%,#fff);outline-offset:2px}.tsp__day-sum-add:disabled,.tsp__day-sum-add:disabled:hover{background:#e5e7eb;color:#9ca3af;transform:none;cursor:not-allowed;box-shadow:none}.tsp__group--week-closed .tsp__day-sum{background:#f1f5f9}.tsp__group--week-closed .tsp__day-sum-r,.tsp__group--week-closed .tsp__day-sum-n{color:#9ca3af}.tsp__foot{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.5rem;border-top:1.5px solid var(--app-border, #e5e7eb);background:var(--app-surface, #fff);gap:1rem;flex-wrap:wrap}.tsp__add-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.125rem;background:#16a34a;color:#fff;border:none;border-radius:10px;font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #16a34a40;transition:background .14s,transform .12s;white-space:nowrap}.tsp__add-btn svg{width:15px;height:15px}.tsp__add-btn:hover{background:#15803d;transform:translateY(-1px)}.tsp__foot-r{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.tsp__foot-total{display:flex;align-items:baseline;gap:.4rem}.tsp__foot-total-lbl{font-size:.875rem;color:var(--app-muted, #9ca3af)}.tsp__foot-total-n{font-size:1.0625rem;font-weight:800;color:var(--app-text, #111827);font-variant-numeric:tabular-nums}.tsp__submit-wrap{display:flex;border:1.5px solid var(--app-border, #d1d5db);border-radius:10px;overflow:hidden}.tsp__submit{padding:.5rem 1.125rem;background:none;border:none;font-family:inherit;font-size:.875rem;font-weight:600;color:var(--app-text, #374151);cursor:pointer;transition:background .13s;white-space:nowrap}.tsp__submit:hover{background:var(--app-bg, #f3f4f6)}.tsp__submit-arr{display:flex;align-items:center;justify-content:center;width:34px;background:none;border:none;border-left:1.5px solid var(--app-border, #d1d5db);cursor:pointer;color:var(--app-muted, #6b7280);transition:background .13s}.tsp__submit-arr svg{width:13px;height:13px}.tsp__submit-arr:hover{background:var(--app-bg, #f3f4f6)}.tsp--skeleton .tsp-skel__arr,.tsp--skeleton .tsp-skel__heading,.tsp--skeleton .tsp-skel__seg-btn,.tsp--skeleton .tsp-skel__day-wk,.tsp--skeleton .tsp-skel__day-n,.tsp--skeleton .tsp-skel__day-bar,.tsp--skeleton .tsp-skel__day-h,.tsp--skeleton .tsp-skel__cal-dow,.tsp--skeleton .tsp-skel__cal-cell,.tsp--skeleton .tsp-skel__wtotal-lbl,.tsp--skeleton .tsp-skel__wtotal-n,.tsp--skeleton .tsp-skel__wtotal-bar,.tsp--skeleton .tsp-skel__wtotal-cap,.tsp--skeleton .tsp-skel__row-bar,.tsp--skeleton .tsp-skel__row-proj,.tsp--skeleton .tsp-skel__row-task,.tsp--skeleton .tsp-skel__row-notes,.tsp--skeleton .tsp-skel__row-h,.tsp--skeleton .tsp-skel__btn,.tsp--skeleton .tsp-skel__day-sum-add,.tsp--skeleton .tsp-skel__day-sum-total,.tsp--skeleton .tsp-skel__foot-lbl,.tsp--skeleton .tsp-skel__foot-n,.tsp--skeleton .tsp-skel__submit{animation:tus-skel-shimmer 1.6s ease-in-out infinite,tus-skel-pulse 2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.tsp--skeleton .tsp-skel__arr,.tsp--skeleton .tsp-skel__heading,.tsp--skeleton .tsp-skel__seg-btn,.tsp--skeleton .tsp-skel__day-wk,.tsp--skeleton .tsp-skel__day-n,.tsp--skeleton .tsp-skel__day-bar,.tsp--skeleton .tsp-skel__day-h,.tsp--skeleton .tsp-skel__cal-dow,.tsp--skeleton .tsp-skel__cal-cell,.tsp--skeleton .tsp-skel__wtotal-lbl,.tsp--skeleton .tsp-skel__wtotal-n,.tsp--skeleton .tsp-skel__wtotal-bar,.tsp--skeleton .tsp-skel__wtotal-cap,.tsp--skeleton .tsp-skel__row-bar,.tsp--skeleton .tsp-skel__row-proj,.tsp--skeleton .tsp-skel__row-task,.tsp--skeleton .tsp-skel__row-notes,.tsp--skeleton .tsp-skel__row-h,.tsp--skeleton .tsp-skel__btn,.tsp--skeleton .tsp-skel__day-sum-add,.tsp--skeleton .tsp-skel__day-sum-total,.tsp--skeleton .tsp-skel__foot-lbl,.tsp--skeleton .tsp-skel__foot-n,.tsp--skeleton .tsp-skel__submit{animation:none;background:var(--app-surface-soft, #e2e8f0)}}.tsp-skel__arr,.tsp-skel__heading,.tsp-skel__seg-btn,.tsp-skel__day-wk,.tsp-skel__day-n,.tsp-skel__day-bar,.tsp-skel__day-h,.tsp-skel__cal-dow,.tsp-skel__cal-cell,.tsp-skel__wtotal-lbl,.tsp-skel__wtotal-n,.tsp-skel__wtotal-bar,.tsp-skel__wtotal-cap,.tsp-skel__row-bar,.tsp-skel__row-proj,.tsp-skel__row-task,.tsp-skel__row-notes,.tsp-skel__row-h,.tsp-skel__btn,.tsp-skel__day-sum-add,.tsp-skel__day-sum-total,.tsp-skel__foot-lbl,.tsp-skel__foot-n,.tsp-skel__submit{display:block;background:linear-gradient(105deg,var(--app-surface-soft, #e2e8f0) 0%,var(--app-border, #f1f5f9) 35%,color-mix(in srgb,var(--app-accent, #4f46e5) 12%,#fff) 50%,var(--app-border, #f1f5f9) 65%,var(--app-surface-soft, #e2e8f0) 100%);background-size:200% 100%;animation:tus-skel-shimmer 1.6s ease-in-out infinite,tus-skel-pulse 2s ease-in-out infinite;border-radius:8px}.tsp-skel__arr{width:30px;height:30px;border-radius:7px;flex-shrink:0}.tsp-skel__heading{width:220px;height:24px}.tsp--skeleton--calendar .tsp-skel__heading{width:min(280px,55vw)}.tsp-skel__seg{display:flex;border:1.5px solid var(--app-border, #e5e7eb);border-radius:9px;overflow:hidden;flex:1;max-width:260px}.tsp-skel__seg-btn{flex:1;min-width:0;width:auto;height:34px}.tsp-skel__cal{pointer-events:none;flex:1;min-width:0;padding:.5rem .75rem .65rem;display:flex;flex-direction:column;gap:0}.tsp-skel__cal-dows{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;border:1px solid var(--tsp-cal-grid, #e2e8f0);border-bottom:none;background:var(--tsp-cal-head-bg, #f8fafc)}.tsp-skel__cal-dows .tsp__cal-dow{display:flex;align-items:center;justify-content:center;min-height:2.25rem}.tsp-skel__cal-dow{width:56%;height:8px;margin:0 auto;border-radius:4px}.tsp-skel__cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;border:1px solid var(--tsp-cal-grid, #e2e8f0);border-top:none;background:var(--tsp-cal-grid, #e2e8f0)}.tsp-skel__cal-cell{min-height:4.75rem;border-radius:0;border:none;border-right:1px solid var(--tsp-cal-grid, #e2e8f0);border-bottom:1px solid var(--tsp-cal-grid, #e2e8f0);background:var(--app-surface-soft, #f8fafc);box-sizing:border-box}.tsp-skel__cal-cell:nth-child(7n){border-right:none}.tsp-skel__day{pointer-events:none}.tsp-skel__day-wk{width:28px;height:12px;margin:0 auto}.tsp-skel__day-n{width:32px;height:32px;margin:.2rem auto 0;border-radius:50%}.tsp__day-bar-wrap .tsp-skel__day-bar{width:35%;height:3px;border-radius:99px;margin:.1rem auto;display:block}.tsp-skel__day-h{width:36px;height:14px;margin:0 auto}.tsp-skel__wtotal{pointer-events:none}.tsp-skel__wtotal-lbl{width:60px;height:24px;margin:0 auto}.tsp--skeleton--calendar .tsp-skel__wtotal-lbl{width:76px;height:30px}.tsp-skel__wtotal-n{width:50px;height:28px;margin:.15rem auto 0}.tsp__wtotal-bar-wrap .tsp-skel__wtotal-bar{width:40%;height:4px;border-radius:99px;margin:.2rem 0 0;display:block}.tsp-skel__wtotal-cap{width:55px;height:12px;margin:.1rem auto 0}.tsp-skel__row{pointer-events:none}.tsp-skel__row-bar{width:3px;height:100%;min-height:60px;align-self:stretch;border-radius:0}.tsp-skel__row-proj{width:200px;height:18px}.tsp-skel__row-task{width:160px;height:16px;margin-top:.15rem}.tsp-skel__row-notes{width:280px;height:14px;margin-top:.15rem}.tsp-skel__row-h{width:40px;height:20px}.tsp-skel__btn{width:80px;height:34px;border-radius:8px}.tsp-skel__day-sum{pointer-events:none}.tsp-skel__day-sum-add{width:160px;height:34px}.tsp-skel__day-sum-total{width:90px;height:20px}.tsp-skel__foot-lbl{width:120px;height:18px}.tsp-skel__foot-n{width:60px;height:22px}.tsp-skel__submit{width:220px;height:42px;border-radius:10px}.tsp--skeleton .tsp__group .tsp-skel__row:nth-child(1) [class*=tsp-skel__]{animation-delay:.05s}.tsp--skeleton .tsp__group .tsp-skel__row:nth-child(2) [class*=tsp-skel__]{animation-delay:.1s}.tsp--skeleton .tsp__group .tsp-skel__row:nth-child(3) [class*=tsp-skel__]{animation-delay:.15s}@keyframes tsp-m-in{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tsp-ov-in{0%{opacity:0}to{opacity:1}}.tsp-ov{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a73;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:tsp-ov-in .18s ease both}.tsp-m{position:relative;background:var(--app-surface, #fff);border:1px solid var(--app-border, #e5e7eb);border-radius:20px;width:100%;max-width:640px;box-shadow:inset 0 4px 0 0 var(--tsp-m-stripe, transparent),0 0 0 1px #0000000a,0 8px 24px #00000014,0 32px 64px #00000024;overflow:hidden;animation:tsp-m-in .24s cubic-bezier(.22,1,.36,1) both}.tsp-m--hint-dialog{max-width:440px;--tsp-m-stripe: var(--app-accent, #4f46e5)}.tsp-m__body--hint{display:flex;flex-direction:row;align-items:flex-start;gap:1rem;padding-top:.125rem}.tsp-m__hint-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:color-mix(in srgb,var(--app-accent, #4f46e5) 14%,transparent);color:var(--app-accent, #4f46e5)}.tsp-m__hint-icon svg{width:22px;height:22px}.tsp-m__hint-lead{margin:0;flex:1;min-width:0;font-size:.9375rem;line-height:1.55;color:var(--app-text, #1e293b)}@media(max-width:420px){.tsp-m__body--hint{flex-direction:column;align-items:center;text-align:center}}.tsp-m__head{display:flex;align-items:center;gap:.625rem;padding:1.375rem 1.5rem 1.125rem}.tsp-m__title{margin:0;font-size:1.0625rem;font-weight:700;color:var(--app-text, #111827);letter-spacing:-.01em}.tsp-m__x{margin-left:auto;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:8px;cursor:pointer;color:var(--app-muted, #9ca3af);transition:background .12s,color .12s}.tsp-m__x svg{width:15px;height:15px}.tsp-m__x:hover{background:var(--app-bg, #f3f4f6);color:var(--app-text, #374151)}.tsp-m__body{padding:0 1.5rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.tsp-m__f{display:flex;flex-direction:column;gap:.375rem}.tsp-m__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem 1.25rem;align-items:start}.tsp-m__row--datetime{margin-top:.25rem;padding-top:1.125rem;border-top:1px solid var(--app-border, #e5e7eb)}.tsp-m__f--rowcell{min-width:0}.tsp-m__f--hours{gap:.375rem}.tsp-m__stack{display:flex;flex-direction:column;gap:1rem}.tsp-m__stack-title{margin:0;font-size:.8125rem;font-weight:700;color:var(--app-text, #374151);letter-spacing:.02em}.tsp-m__stack-hint{margin:0 0 .125rem;font-size:.75rem;line-height:1.45;color:var(--app-muted, #9ca3af)}.tsp-m__f--step{gap:.5rem}.tsp-m__lbl--step{display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap;line-height:1.3}.tsp-m__lbl-text{flex:1;min-width:0}.tsp-m__step-num{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.375rem;height:1.375rem;font-size:.6875rem;font-weight:800;color:var(--app-surface, #fff);background:var(--app-accent, #4f46e5);border-radius:999px;line-height:1}.tsp-m__field-note{margin:0;font-size:.75rem;line-height:1.35;color:var(--app-muted, #9ca3af)}.tsp-m__field-note--timer{max-width:100%}.tsp-m__sel--project{padding-top:.7rem;padding-bottom:.7rem;line-height:1.35}.tsp-m__sel:disabled,.tsp-m__inp:disabled{opacity:.55;cursor:not-allowed}.tsp-m__lbl{font-size:.8125rem;font-weight:600;color:var(--app-muted, #6b7280);display:flex;align-items:center;gap:.375rem;letter-spacing:.01em}.tsp-m__lbl--hours{flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem}.tsp-m__lbl--hours .tsp-m__lbl-main{font-weight:600}.tsp-m__lbl--hours .tsp-m__hint{font-weight:400}.tsp-m__hint{font-size:.75rem;font-weight:400;color:var(--app-muted, #b0b8c4)}.tsp-m__hint--weekly-lock{margin:.5rem 0 0;padding:.5rem .65rem;font-size:.8125rem;font-weight:500;color:#92400e;background:#f59e0b1f;border-radius:8px;border:1px solid rgba(245,158,11,.35)}.tsp-m__hint--unlock-active{margin:.5rem 0 0;padding:.5rem .65rem;font-size:.8125rem;font-weight:500;color:#166534;background:#22c55e1f;border-radius:8px;border:1px solid rgba(34,197,94,.45)}.tsp-m__hint--void{margin:.5rem 0 0;padding:.5rem .65rem;font-size:.8125rem;font-weight:500;color:#9a3412;background:#ffedd573;border-radius:8px;border:1px solid rgba(234,88,12,.3)}.tsp-m__inp,.tsp-m__sel{padding:.625rem .875rem;font-family:inherit;font-size:.9375rem;color:var(--app-text, #111827);background:var(--app-bg, #f8fafc);border:1.5px solid var(--app-border, #e5e7eb);border-radius:11px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;width:100%}.tsp-m__sel{-webkit-appearance:none;appearance:none;cursor:pointer}.tsp-m__inp::placeholder{color:var(--app-muted, #c4c9d4)}.tsp-m__inp:hover,.tsp-m__sel:hover{border-color:color-mix(in srgb,var(--app-accent, #4f46e5) 40%,var(--app-border, #e5e7eb))}.tsp-m__inp:focus,.tsp-m__sel:focus{border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 3px #2563eb1a;background:var(--app-surface, #fff)}.tsp-m__row--datetime .tsp-m__inp--date,.tsp-m__row--datetime .tsp-m__inp--h{min-height:2.875rem;box-sizing:border-box}.tsp-m__inp--date{padding:.625rem .75rem}.tsp-m__inp--h{font-size:1.2rem;font-weight:700;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:-.02em;padding:.5rem .75rem;line-height:1.25;color:var(--app-text, #111827)}.tsp-m__inp--h::placeholder{font-size:1.05rem;font-weight:500;color:var(--app-muted, #d1d5db)}.tsp-m__inp--textarea{min-height:4.25rem;resize:vertical;line-height:1.45;padding:.625rem .875rem}.tsp-m__divider{height:1px;background:var(--app-border, #f0f0f0);margin:0 -1.5rem}.tsp-m__err{margin:0;font-size:.8125rem;color:#ef4444;display:flex;align-items:center;gap:.375rem;background:#ef44440f;border-radius:8px;padding:.5rem .75rem}.tsp-m__foot{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;padding:1rem 1.5rem 1.25rem;border-top:1px solid var(--app-border, #e5e7eb);background:var(--app-surface);border-radius:0 0 19px 19px}.tsp-m__btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:38px;padding:0 1.125rem;box-sizing:border-box;border-radius:10px;border:1px solid transparent;font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s,background .12s,border-color .12s,color .12s;white-space:nowrap}.tsp-m__btn:active:not(:disabled){transform:scale(.97)}.tsp-m__btn--ok{background:var(--app-accent, #4f46e5);color:#fff;border-color:var(--app-accent, #4f46e5)}.tsp-m__btn--ok:hover:not(:disabled){opacity:.88}.tsp-m__btn--cancel{background:none;color:var(--app-muted, #94a3b8);border-color:transparent}.tsp-m__btn--cancel:hover:not(:disabled){color:var(--app-text)}.tsp-ov--entry{background:#0f172a4d;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.tsp-m--time-entry{max-width:34rem}.tsp-m__head--time-entry{position:relative;padding:1rem 2.5rem .9rem 1.25rem;border-bottom:1px solid var(--app-border, #e5e7eb);text-align:center}.tsp-m__head--time-entry .tsp-m__x{position:absolute;top:.65rem;right:.55rem;margin-left:0;z-index:1}.tsp-m__title--time-entry{margin:0;font-size:1.05rem;font-weight:800;letter-spacing:-.02em;line-height:1.3;color:var(--app-text, #0f172a)}.tsp-m__foot-date .tsp-m__date-ttp{min-width:0;flex:0 1 auto}.tsp-m__foot-date .tsp-m__date-ttp .tsp-m__date-ttp-btn{min-width:10.5rem;min-height:2.4rem;border-radius:12px;background:var(--app-bg, #f8fafc);font-size:.8125rem;border-color:var(--app-border, #e2e8f0);padding:0 .5rem 0 .65rem}.tsp-m__foot-date .tsp-m__date-ttp .tsp-m__date-ttp-btn:hover:not(:disabled){background:var(--app-surface, #fff);border-color:color-mix(in srgb,var(--app-accent) 35%,var(--app-border))}.tsp-m__body--time-entry{padding:1rem 1.35rem .9rem;gap:.85rem}.tsp-m__lbl--section{margin:0 0 .4rem;font-size:.825rem;font-weight:800;color:var(--app-text, #1e293b);letter-spacing:.01em}.tsp-m__te-field{display:flex;flex-direction:column;gap:.35rem}.tsp-m__te-currency{margin:.15rem 0 0;font-size:.7rem;line-height:1.35;color:var(--app-muted, #94a3b8);padding-left:.15rem}.tsp-m__row--notes-time{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);gap:.6rem 1rem;align-items:end;margin-top:.1rem;padding:0;border:0}.tsp-m__te-notes{min-width:0}.tsp-m__inp--te-notes{min-height:2.9rem;max-height:min(40vh,14rem);resize:none;overflow-y:auto;line-height:1.45;padding:.55rem .75rem;font-size:.9rem}.tsp-m__f--te-hours{min-width:0;flex-shrink:0;gap:.3rem}.tsp-m__te-hours-lbl{display:block;margin:0;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--app-muted, #94a3b8);text-align:center}.tsp-m__f--te-hours .tsp-m__inp--h{min-height:2.8rem;font-size:1.2rem;padding:.45rem .5rem}.tsp-m__field-note--tight{font-size:.75rem;line-height:1.45;margin:.1rem 0 0}.tsp-m__field-note--tight+.tsp-m__err,.tsp-m__field-note--tight+.tsp-m__hint--weekly-lock{margin-top:.4rem}.tsp-m__foot--time-entry{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1rem;padding:.85rem 1.35rem 1.05rem}.tsp-m__foot-actions{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.5rem .6rem}.tsp-m__foot-date{display:flex;flex-direction:row;align-items:center;gap:.45rem;margin-left:auto}.tsp-m__foot-date-lbl{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--app-muted, #94a3b8);white-space:nowrap}.tsp-m__foot--time-entry .tsp-m__btn{min-height:40px;padding:0 1.2rem}@media(max-width:480px){.tsp-m__foot--time-entry{flex-direction:column;align-items:stretch}.tsp-m__foot-date{margin-left:0;justify-content:flex-end}}@media(max-width:420px){.tsp-m__row--notes-time{grid-template-columns:1fr}.tsp-m__f--te-hours .tsp-m__inp--h{width:100%}}@media(max-width:520px){.tsp-m__row.tsp-m__row--datetime{grid-template-columns:1fr}}.tt-reports__summary-value--loading{opacity:.45;animation:rp-pulse 1s ease-in-out infinite}@keyframes rp-pulse{0%,to{opacity:.45}50%{opacity:.9}}.tt-reports__loading-pulse{color:var(--app-accent, #4f46e5);font-size:.75rem}.tt-reports__row-count{color:var(--app-muted, #64748b);font-size:.75rem;font-weight:400}.tt-reports__summary-err{display:flex;align-items:center;gap:.6rem;margin:0 0 .75rem;padding:.6rem .85rem;font-size:.875rem;color:var(--app-error, #b91c1c);background:var(--app-error-bg, #fef2f2);border:1px solid var(--app-error-border, #fecaca);border-radius:8px}.tt-reports__summary-err-ico{font-size:1rem;flex-shrink:0}.tt-reports__summary-err-retry{margin-left:auto;flex-shrink:0;padding:.25rem .75rem;font-size:.8rem;font-weight:600;color:var(--app-error, #b91c1c);background:var(--app-surface, #fff);border:1px solid var(--app-error-border, #fca5a5);border-radius:6px;cursor:pointer;transition:background .15s}.tt-reports__summary-err-retry:hover{background:var(--app-error-bg, #fef2f2)}.tt-reports__table-err{margin:0 0 .75rem;padding:.65rem .85rem;font-size:.875rem;color:var(--app-error, #b91c1c);background:var(--app-error-bg, #fef2f2);border:1px solid var(--app-error-border, #fecaca);border-radius:8px}.tt-reports__sort-wrap{display:flex;align-items:center;gap:.5rem .55rem}.tt-reports__sort-label{font-size:.8125rem;color:var(--app-muted, #64748b);white-space:nowrap}.tt-reports__sort-sel{padding:.375rem 2rem .375rem .625rem;font-family:inherit;font-size:.8125rem;color:var(--app-text, #111827);background:var(--app-surface, #fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right .4rem center / .9rem;border:1px solid var(--app-border, #e5e7eb);border-radius:7px;-webkit-appearance:none;appearance:none;cursor:pointer}.tt-reports__sort-sel:focus{outline:2px solid var(--app-accent);outline-offset:1px}.tt-reports__btn--accent{background:var(--app-accent, #4f46e5);color:#fff;border:1px solid transparent}.tt-reports__btn--accent:hover{background:#4338ca}.tt-reports__pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 0 .25rem}.tt-reports__pagination-info{font-size:.8125rem;color:var(--app-muted, #64748b)}.rp-user-filter{position:relative}.rp-user-filter__btn{display:flex;align-items:center;gap:.4rem;white-space:nowrap}.rp-user-filter__label{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-user-filter__menu{box-sizing:border-box;background:var(--app-surface, #fff);border:1px solid var(--app-border, #e5e7eb);border-radius:12px;box-shadow:0 8px 28px #0000001a;overflow:hidden}.rp-user-filter__menu--fixed{position:fixed;z-index:200;display:flex;flex-direction:column}.rp-user-filter__menu-inner{display:flex;flex-direction:column;min-height:0;flex:1;max-height:100%;overflow:hidden}.rp-user-filter__header{display:flex;align-items:center;justify-content:space-between;padding:.625rem .875rem;font-size:.8125rem;font-weight:700;color:var(--app-text, #1e293b);border-bottom:1px solid var(--app-border, #e5e7eb)}.rp-user-filter__clear{font-family:inherit;font-size:.75rem;color:var(--app-accent, #4f46e5);background:none;border:none;cursor:pointer;padding:0}.rp-user-filter__search{padding:.5rem .75rem;border-bottom:1px solid var(--app-border, #e5e7eb)}.rp-user-filter__search-input{box-sizing:border-box;width:100%;padding:.45rem .65rem;font-family:inherit;font-size:.8125rem;color:var(--app-text, #1e293b);background:var(--app-surface-soft, #f8fafc);border:1px solid var(--app-border, #e5e7eb);border-radius:8px;outline:none;transition:border-color .12s,box-shadow .12s}.rp-user-filter__search-input::placeholder{color:var(--app-muted, #94a3b8)}.rp-user-filter__search-input:hover{border-color:color-mix(in srgb,var(--app-border, #e5e7eb) 70%,var(--app-text, #1e293b))}.rp-user-filter__search-input:focus{border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 2px color-mix(in srgb,var(--app-accent, #4f46e5) 22%,transparent)}.rp-user-filter__list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:.35rem 0;-webkit-overflow-scrolling:touch}.rp-user-filter__empty{margin:0;padding:.75rem 1rem;font-size:.875rem;color:var(--app-muted, #64748b)}.rp-user-filter__item{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.5rem .65rem;padding:.5rem .875rem;cursor:pointer;transition:background .1s}.rp-user-filter__item:hover{background:var(--app-bg, #f8fafc)}.rp-user-filter__item input{display:none}.rp-user-filter__check{flex-shrink:0;width:18px;height:18px;margin-top:.1rem;border:1.5px solid var(--app-border, #d1d5db);border-radius:4px;display:flex;align-items:center;justify-content:center}.rp-user-filter__item-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.rp-user-filter__check--on{background:var(--app-accent, #4f46e5);border-color:var(--app-accent, #4f46e5);color:#fff}.rp-user-filter__name{font-size:.875rem;font-weight:600;color:var(--app-text, #1e293b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-user-filter__email{font-size:.75rem;line-height:1.35;color:var(--app-muted, #64748b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xl-wrap{border:1px solid var(--app-border, #e5e7eb);border-radius:12px;overflow:hidden;font-family:inherit;font-size:.875rem;background:var(--app-surface, #fff);box-shadow:0 1px 2px #0f172a0a}.xl-wrap--compact .xl-table{font-size:.8125rem}.xl-scroll{overflow:auto;max-height:min(70vh,520px)}.xl-table{border-collapse:collapse;width:100%;min-width:0}.xl-thead{position:relative;z-index:1}.xl-header-row{background:var(--app-surface-soft, #f1f5f9)}.xl-row-num-head{width:3rem;min-width:3rem;max-width:3rem;box-sizing:border-box;background:var(--app-surface-soft, #f1f5f9);border-bottom:1px solid var(--app-border, #e5e7eb);border-right:1px solid var(--app-border, #e5e7eb);text-align:center;font-size:.75rem;font-weight:700;letter-spacing:.04em;color:var(--app-muted, #64748b);padding:.65rem .4rem;position:sticky;left:0;top:0;z-index:3;-webkit-user-select:none;user-select:none}.xl-th{background:var(--app-surface-soft, #f1f5f9);border-bottom:1px solid var(--app-border, #e5e7eb);padding:.65rem 1rem;font-size:.8125rem;font-weight:600;color:var(--app-muted, #64748b);text-align:left;white-space:nowrap;position:sticky;top:0;z-index:2;box-shadow:0 1px 0 var(--app-border, #e5e7eb)}.xl-th--num{text-align:right}.xl-row{background:var(--app-surface, #fff);transition:background .12s ease}.xl-row--alt{background:color-mix(in srgb,var(--app-surface-soft, #f8fafc) 88%,var(--app-surface, #fff))}.xl-row--edited{background:color-mix(in srgb,#22c55e 8%,var(--app-surface, #fff))}.xl-row:hover .xl-row-num,.xl-row:hover .xl-td{background:color-mix(in srgb,var(--app-accent, #4f46e5) 5%,var(--app-surface-soft, #f8fafc))}.xl-row--alt:hover .xl-row-num,.xl-row--alt:hover .xl-td{background:color-mix(in srgb,var(--app-accent, #4f46e5) 6%,var(--app-surface-soft, #f1f5f9))}.xl-row .xl-row-num{background:var(--app-surface, #fff)}.xl-row--alt .xl-row-num{background:color-mix(in srgb,var(--app-surface-soft, #f8fafc) 88%,var(--app-surface, #fff))}.xl-row--edited .xl-row-num{background:color-mix(in srgb,#22c55e 8%,var(--app-surface, #fff))}.xl-row-num{border-bottom:1px solid var(--app-border, #e5e7eb);border-right:1px solid var(--app-border, #e5e7eb);text-align:right;padding:.65rem .5rem;font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--app-muted, #64748b);position:sticky;left:0;z-index:1;-webkit-user-select:none;user-select:none;white-space:nowrap;vertical-align:middle}.xl-td{border-bottom:1px solid var(--app-border, #e5e7eb);padding:.65rem 1rem;color:var(--app-text, #1e293b);outline:none;cursor:default;position:relative;vertical-align:middle}.xl-td:not(.xl-td--num){white-space:normal;word-break:break-word}.xl-td--num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.xl-td--empty{text-align:center;color:var(--app-muted, #94a3b8);font-style:normal;padding:2.25rem 1.25rem;font-size:.875rem}.xl-td--sel{outline:2px solid color-mix(in srgb,var(--app-accent, #4f46e5) 70%,transparent);outline-offset:-2px;background:color-mix(in srgb,var(--app-accent, #4f46e5) 9%,var(--app-surface, #fff))!important}.xl-td--edited{background:color-mix(in srgb,#22c55e 10%,var(--app-surface, #fff))!important}.xl-td--editable:hover{background:color-mix(in srgb,var(--app-accent, #4f46e5) 7%,var(--app-surface, #fff));cursor:cell}.xl-td--editing{padding:0}.xl-cell-text{display:block;line-height:1.45}.xl-edit-input{display:block;width:100%;height:100%;min-height:2.25rem;padding:.5rem 1rem;border:none;outline:2px solid var(--app-accent, #4f46e5);outline-offset:-2px;font-family:inherit;font-size:inherit;background:var(--app-surface, #fff);color:var(--app-text, #1e293b);box-sizing:border-box}.xl-edited-mark{position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 6px 6px 0;border-color:transparent var(--app-accent, #4f46e5) transparent transparent}.xl-snapshot-hint{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.75rem;color:var(--app-muted, #64748b);background:color-mix(in srgb,var(--app-accent, #4f46e5) 6%,var(--app-surface-soft, #f8fafc));border-top:1px solid var(--app-border, #e5e7eb)}.xl-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2.5rem 1rem;color:var(--app-muted, #64748b);font-size:.875rem;border:1px solid var(--app-border, #e5e7eb);border-radius:12px;background:var(--app-surface, #fff)}.xl-loading__spinner{width:20px;height:20px;border:2px solid var(--app-border, #e2e8f0);border-top-color:var(--app-accent, #4f46e5);border-radius:50%;animation:xl-spin .7s linear infinite}@keyframes xl-spin{to{transform:rotate(360deg)}}.rp-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9100;background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1rem}.rp-dialog{background:var(--app-surface, #fff);border:1px solid var(--app-border, #e5e7eb);border-radius:16px;width:100%;max-width:460px;box-shadow:0 24px 64px #00000029;animation:exp-modal-in .2s cubic-bezier(.22,1,.36,1) both}.rp-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .875rem;border-bottom:1px solid var(--app-border, #e5e7eb)}.rp-dialog__title{margin:0;font-size:1rem;font-weight:700;color:var(--app-text, #111827)}.rp-dialog__close{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:7px;cursor:pointer;color:var(--app-muted, #9ca3af)}.rp-dialog__close:hover{background:color-mix(in srgb,var(--app-text) 8%,transparent);color:var(--app-text)}.rp-dialog__body{padding:1.125rem 1.25rem;display:flex;flex-direction:column;gap:.875rem}.rp-dialog__desc{margin:0;font-size:.875rem;line-height:1.5;color:var(--app-muted, #64748b)}.rp-dialog__field{display:flex;flex-direction:column;gap:.4rem}.rp-dialog__field-label{font-size:.8125rem;font-weight:700;color:var(--app-text, #374151)}.rp-dialog__input{padding:.5rem .75rem;font-family:inherit;font-size:.9375rem;color:var(--app-text, #111827);background:var(--app-surface, #fff);border:1.5px solid var(--app-border, #d1d5db);border-radius:9px;outline:none;transition:border-color .14s,box-shadow .14s}.rp-dialog__input:focus{border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 3px #4f46e51a}.rp-dialog__footer{display:flex;align-items:center;justify-content:flex-end;gap:.625rem;padding:.875rem 1.25rem 1.125rem;border-top:1px solid var(--app-border, #e5e7eb);background:var(--app-surface-soft, #f9fafb);border-radius:0 0 14px 14px}.rp-dialog__btn-cancel{padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;color:var(--app-muted, #64748b);background:none;border:1px solid var(--app-border, #e5e7eb);border-radius:8px;cursor:pointer;transition:background .12s}.rp-dialog__btn-cancel:hover{background:var(--app-bg, #f1f5f9)}.rp-dialog__btn-cancel:disabled{opacity:.5;cursor:not-allowed}.rp-dialog__btn-primary{padding:.5rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:700;color:#fff;background:#217346;border:none;border-radius:8px;cursor:pointer;transition:background .12s}.rp-dialog__btn-primary:hover{background:#1a5c38}.rp-dialog__btn-primary:disabled{opacity:.5;cursor:not-allowed}.tt-inv{padding:0 2rem 3rem;display:flex;flex-direction:column;gap:0;min-height:0;width:100%;max-width:none;box-sizing:border-box}.tt-inv__head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem 1.25rem;flex-wrap:wrap;padding-top:.25rem}.tt-inv__lede{margin:0;flex:1;min-width:min(100%,22rem);max-width:48rem;font-size:.9375rem;line-height:1.55;color:var(--app-muted, #64748b)}.tt-inv__summary-card--accent{border-color:color-mix(in srgb,var(--app-accent, #4f46e5) 38%,var(--app-border, #e5e7eb));background:color-mix(in srgb,var(--app-accent, #4f46e5) 6%,var(--app-surface, #fff))}.tt-inv__summary-card--accent .tt-reports__summary-value{color:var(--app-accent, #4f46e5)}.tt-inv__summary-card--success{border-color:color-mix(in srgb,#22c55e 35%,var(--app-border, #e5e7eb));background:color-mix(in srgb,#22c55e 7%,var(--app-surface, #fff))}.tt-inv__summary-card--success .tt-reports__summary-value{color:#15803d}.tt-inv__summary-card--danger{border-color:color-mix(in srgb,#ef4444 38%,var(--app-border, #e5e7eb));background:color-mix(in srgb,#ef4444 7%,var(--app-surface, #fff))}.tt-inv__summary-card--danger .tt-reports__summary-value{color:#b91c1c}.tt-inv__summary-card--muted{opacity:.92}.tt-inv__filter-dates .tt-inv__filter-dates-row{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;min-height:var(--tt-inv-filter-ctrl-h, 2.65rem)}.tt-inv__date-sep{color:var(--app-muted, #64748b);font-size:.8rem;flex-shrink:0}.tt-inv__filter-dates-row .ttp{flex:0 0 auto}.tt-inv__filter-dates-row .tt-reports__date-picker-btn.ttp__btn{min-width:9.25rem;max-width:11rem}.tt-inv__date-clear{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;margin:0;padding:0;font:inherit;line-height:1;color:var(--app-muted, #64748b);background:transparent;border:1px solid var(--app-border, #e2e8f0);border-radius:6px;cursor:pointer;transition:color .12s,background .12s,border-color .12s}.tt-inv__date-clear:hover{color:var(--app-text, #0f172a);background:var(--app-bg-soft, #f1f5f9);border-color:var(--app-border, #e2e8f0)}.tt-inv-draft__hint{margin:0 0 .65rem;font-size:.8125rem;color:var(--app-muted, #64748b)}.tt-inv-audit{margin:0 0 .75rem;padding:0;list-style:none;max-height:12rem;overflow:auto;border:1px solid var(--app-border, #e2e8f0);border-radius:8px;background:var(--app-surface-soft, #f8fafc)}.tt-inv-audit__item{padding:.45rem .65rem;border-bottom:1px solid var(--app-border, #e2e8f0);font-size:.8125rem}.tt-inv-audit__item:last-child{border-bottom:none}.tt-inv-audit__meta{display:block;color:var(--app-muted, #64748b);font-size:.72rem;margin-bottom:.15rem}.tt-inv-audit__action{font-weight:600;color:var(--app-text, #0f172a)}.tt-inv-audit__detail{display:block;margin-top:.2rem;color:var(--app-muted, #475569);white-space:pre-wrap}.tt-inv__filter-header.tt-reports__content-header{align-items:center}.tt-inv__filter-actions.tt-reports__content-actions{--tt-inv-filter-ctrl-h: 2.65rem;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem .85rem}.tt-inv__filter-actions .tt-reports__sort-wrap{display:flex;align-items:center;gap:.45rem .55rem}.tt-inv__filter-actions .tt-reports__sort-label{margin:0;align-self:center;line-height:1.25}.tt-inv__filter-actions .tsp-srch__btn{min-height:var(--tt-inv-filter-ctrl-h)}.tt-inv__filter-actions .tt-inv-dd--filter .tt-inv-dd__trigger{box-sizing:border-box;min-height:var(--tt-inv-filter-ctrl-h);display:inline-flex;align-items:center}.tt-inv__filter-actions .tt-reports__date-picker-btn.ttp__btn{box-sizing:border-box;min-height:var(--tt-inv-filter-ctrl-h);height:var(--tt-inv-filter-ctrl-h);padding-inline:.65rem}.tt-inv__filter-actions .tt-reports__btn{box-sizing:border-box;min-height:var(--tt-inv-filter-ctrl-h)}.tt-inv__filter-dates.tt-reports__sort-wrap{align-items:center}.tt-inv-dd{position:relative;display:inline-block;max-width:100%;vertical-align:middle}.tt-inv-dd--dialog{display:block;width:100%}.tt-inv-dd__trigger{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:space-between;gap:.45rem;width:100%;margin:0;font-family:inherit;text-align:left;cursor:pointer;color:var(--app-text, #111827);background:var(--app-surface, #fff);border:1px solid var(--app-border, #e5e7eb);border-radius:7px;transition:border-color .15s,box-shadow .15s}.tt-inv-dd--filter .tt-inv-dd__trigger{min-width:10.5rem;max-width:16rem;padding:.375rem .5rem .375rem .625rem;font-size:.8125rem;line-height:1.35}.tt-inv-dd__trigger--dialog{min-height:2.375rem;padding:.5rem .55rem .5rem .65rem;font-size:.875rem;border-radius:8px}.tt-inv-dd__trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--app-muted, #64748b) 40%,var(--app-border, #e5e7eb))}.tt-inv-dd__trigger:focus-visible{outline:none;border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 3px color-mix(in srgb,var(--app-accent, #4f46e5) 18%,transparent)}.tt-inv-dd--filter .tt-inv-dd__trigger:focus-visible{box-shadow:none;outline:2px solid var(--app-accent, #4f46e5);outline-offset:1px}.tt-inv-dd__trigger:disabled{opacity:.55;cursor:not-allowed;background:var(--app-surface-soft, #f8fafc)}.tt-inv-dd__value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-inv-dd__chev{flex-shrink:0;display:flex;align-items:center;opacity:.72;color:var(--app-muted, #64748b)}.tt-inv-dd__menu{position:absolute;top:calc(100% + 4px);left:0;z-index:100;min-width:100%;width:max-content;max-width:min(100vw - 1.5rem,40rem);max-height:min(50vh,280px);overflow-x:hidden;overflow-y:auto;padding:.25rem;margin:0;list-style:none;background:var(--app-surface, #fff);border:1px solid var(--app-border, #e5e7eb);border-radius:8px;box-shadow:0 8px 24px #0f172a1a;-webkit-overflow-scrolling:touch}.tt-inv-dd__opt{display:block;width:100%;padding:.5rem .7rem;margin:0;font-family:inherit;font-size:.875rem;font-weight:500;color:var(--app-text, #111827);text-align:left;background:none;border:none;border-radius:6px;cursor:pointer;transition:background .12s}.tt-inv-dd__opt:hover{background:var(--app-surface-soft, #f8fafc)}.tt-inv-dd__opt--active{background:var(--app-accent-light-bg, rgba(37, 99, 235, .08));color:var(--app-accent, #4f46e5)}.tt-inv__list-hint{display:block;margin-top:.35rem;font-size:.8125rem;color:var(--app-muted, #64748b)}.tt-reports__table-wrap.tt-inv__table-outer{overflow-x:auto;-webkit-overflow-scrolling:touch;min-height:200px;display:flex;flex-direction:column}.tt-inv__table-outer>.tt-inv__loading,.tt-inv__table-outer>.tt-inv__empty{flex:1;min-height:220px}.tt-inv__table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;flex:1;min-height:0}.tt-inv__data-table{min-width:800px}.tt-inv__data-table .tt-inv__th-num,.tt-inv__data-table .tt-inv__td-num{white-space:nowrap}.tt-inv__alert{margin:0 0 1rem;padding:.65rem 1rem;border-radius:10px;font-size:.875rem;line-height:1.45;border:1px solid var(--app-border, #e5e7eb)}.tt-inv__alert--warn{background:color-mix(in srgb,#f59e0b 10%,var(--app-surface, #fff));border-color:color-mix(in srgb,#f59e0b 35%,var(--app-border, #e5e7eb));color:#92400e}.tt-inv__alert--err{background:color-mix(in srgb,#ef4444 8%,var(--app-surface, #fff));border-color:color-mix(in srgb,#ef4444 28%,var(--app-border, #e5e7eb));color:#b91c1c}.tt-inv__select--block{width:100%;min-width:0}.tt-inv__muted{color:var(--app-muted, #94a3b8);font-size:.9rem}.tt-inv__select,.tt-inv__input{min-width:11rem;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;border:1px solid var(--app-border, #e5e7eb);border-radius:9px;background:var(--app-surface, #fff);color:var(--app-text);transition:border-color .15s,box-shadow .15s}.tt-inv__select:hover,.tt-inv__input:hover{border-color:color-mix(in srgb,var(--app-muted, #64748b) 45%,var(--app-border, #e5e7eb))}.tt-inv__select:focus-visible,.tt-inv__input:focus-visible{outline:none;border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 3px color-mix(in srgb,var(--app-accent, #4f46e5) 18%,transparent)}.tt-inv__th-num,.tt-inv__td-num{text-align:right;font-variant-numeric:tabular-nums}.tt-inv__th-action{width:3rem;padding-left:.25rem!important;padding-right:.75rem!important}.tt-inv__td-action{text-align:right;width:3rem}.tt-inv__td-strong{font-weight:600;color:var(--app-text, #1e293b)}.tt-inv__row{cursor:pointer;transition:background .12s ease}.tt-inv__row:focus-visible{outline:2px solid var(--app-accent, #4f46e5);outline-offset:-2px}.tt-inv__row-cta{display:inline-flex;align-items:center;justify-content:center;color:var(--app-muted, #94a3b8);transition:color .12s,transform .12s}.tt-inv__row:hover .tt-inv__row-cta{color:var(--app-accent, #4f46e5);transform:translate(2px)}.tt-inv__badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.35;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.tt-inv__badge--muted{background:var(--app-surface-soft, #f1f5f9);color:var(--app-muted, #64748b)}.tt-inv__badge--info{background:color-mix(in srgb,#3b82f6 14%,var(--app-surface, #fff));color:#1d4ed8}.tt-inv__badge--indigo{background:color-mix(in srgb,var(--app-accent, #4f46e5) 14%,var(--app-surface, #fff));color:var(--app-accent, #4338ca)}.tt-inv__badge--warn{background:color-mix(in srgb,#f59e0b 16%,var(--app-surface, #fff));color:#b45309}.tt-inv__badge--success{background:color-mix(in srgb,#22c55e 16%,var(--app-surface, #fff));color:#15803d}.tt-inv__badge--neutral{background:var(--app-surface-soft, #e2e8f0);color:#475569}.tt-inv__badge--danger{background:color-mix(in srgb,#ef4444 14%,var(--app-surface, #fff));color:#b91c1c}.tt-inv__loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem 1.5rem;color:var(--app-muted, #64748b);font-size:.875rem}.tt-inv__loading-spinner{width:28px;height:28px;border:2.5px solid var(--app-border, #e2e8f0);border-top-color:var(--app-accent, #4f46e5);border-radius:50%;animation:xl-spin .75s linear infinite}.tt-inv__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2.75rem 1.5rem 3rem;gap:.5rem}.tt-inv__empty svg{color:var(--app-border, #cbd5e1);margin-bottom:.25rem}.tt-inv__empty-title{margin:0;font-size:1.0625rem;font-weight:700;color:var(--app-text, #1e293b)}.tt-inv__empty-text{margin:0 0 .75rem;max-width:26rem;font-size:.9375rem;line-height:1.55;color:var(--app-muted, #64748b)}.tt-inv__empty-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;align-items:center;margin-top:.25rem}.tt-inv-dialog__partner-gate{border:1px solid rgba(155,27,48,.35);border-radius:8px;padding:.75rem 1rem;background:#9b1b300f}.tt-inv-dialog__partner-gate-link{color:var(--app-accent, #4f46e5);font-weight:600;text-decoration:underline;text-underline-offset:2px}@keyframes tt-inv-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes tt-inv-dialog-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.tt-inv-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto;background:color-mix(in srgb,var(--app-bg, #0f172a) 45%,transparent);animation:tt-inv-overlay-in .22s ease-out both}.tt-inv-dialog{width:min(100%,520px);background:var(--app-surface, #fff);border-radius:14px;border:1px solid var(--app-border, #e5e7eb);box-shadow:0 20px 50px #0f172a2e;animation:tt-inv-dialog-in .34s cubic-bezier(.22,1,.36,1) both}@media(prefers-reduced-motion:reduce){.tt-inv-overlay,.tt-inv-dialog{animation:none}}.tt-inv-dialog--wide{width:min(100%,min(1200px,96vw))}.tt-inv-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--app-border, #e5e7eb)}.tt-inv-dialog__head-main{min-width:0;flex:1}.tt-inv-dialog__head h3{margin:0;font-size:1.05rem;font-weight:700}.tt-inv-dialog__sub{margin:.25rem 0 0;font-size:.875rem;font-weight:500;color:var(--app-muted, #64748b)}.tt-inv-dialog__x{width:36px;height:36px;flex-shrink:0;align-self:center;font-size:1.35rem;line-height:1;border:none;border-radius:8px;background:var(--app-surface-soft, #f1f5f9);color:var(--app-muted);cursor:pointer}.tt-inv-dialog__x:hover{background:var(--app-border);color:var(--app-text)}.tt-inv-dialog__body{padding:1.25rem 1.5rem 1.5rem}.tt-inv-a4-page{width:100%;max-width:210mm;aspect-ratio:210 / 297;flex-shrink:0;box-sizing:border-box;background:#fff;border:1px solid #b8bec9;box-shadow:0 1px 2px #0f172a0f,0 8px 22px #0f172a1a}.tt-inv-dialog__foot{display:flex;justify-content:flex-end;gap:.65rem;flex-wrap:wrap;padding:.875rem 1.5rem 1.125rem;border-top:1px solid var(--app-border, #e5e7eb);background:var(--app-surface-soft, #f8fafc);border-radius:0 0 14px 14px}.tt-inv-dialog__section{margin-bottom:1.35rem}.tt-inv-dialog__section:last-child{margin-bottom:0}.tt-inv-dialog__grid{display:grid;gap:1rem 1.25rem}.tt-inv-dialog__grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:640px){.tt-inv-dialog__grid--2{grid-template-columns:1fr}}.tt-inv-dialog__grid--draft-invoice{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem 1rem}.tt-inv-dialog__grid--draft-invoice>.tt-inv-dialog__field:nth-child(1),.tt-inv-dialog__grid--draft-invoice>.tt-inv-dialog__field:nth-child(2){grid-column:span 3}.tt-inv-dialog__grid--draft-invoice>.tt-inv-dialog__field:nth-child(3),.tt-inv-dialog__grid--draft-invoice>.tt-inv-dialog__field:nth-child(4),.tt-inv-dialog__grid--draft-invoice>.tt-inv-dialog__field:nth-child(5){grid-column:span 2}@media(max-width:640px){.tt-inv-dialog__grid--draft-invoice{grid-template-columns:1fr}.tt-inv-dialog__grid--draft-invoice>.tt-inv-dialog__field:nth-child(1),.tt-inv-dialog__grid--draft-invoice>.tt-inv-dialog__field:nth-child(2),.tt-inv-dialog__grid--draft-invoice>.tt-inv-dialog__field:nth-child(3),.tt-inv-dialog__grid--draft-invoice>.tt-inv-dialog__field:nth-child(4),.tt-inv-dialog__grid--draft-invoice>.tt-inv-dialog__field:nth-child(5){grid-column:auto}}.tt-inv-dialog__field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.tt-inv-dialog__label{font-size:.8125rem;font-weight:600;color:var(--app-text, #1e293b)}.tt-inv-dialog__control{box-sizing:border-box;width:100%;min-height:2.375rem;padding:.5rem .65rem;font-family:inherit;font-size:.875rem;color:var(--app-text);background:var(--app-surface, #fff);border:1px solid var(--app-border, #e5e7eb);border-radius:8px;transition:border-color .15s,box-shadow .15s}.tt-inv-dialog__control:hover:not(:disabled){border-color:color-mix(in srgb,var(--app-muted, #64748b) 40%,var(--app-border, #e5e7eb))}.tt-inv-dialog__control:focus-visible{outline:none;border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 3px color-mix(in srgb,var(--app-accent, #4f46e5) 18%,transparent)}.tt-inv-dialog__control:disabled{opacity:.55;cursor:not-allowed;background:var(--app-surface-soft, #f8fafc)}.tt-inv-dialog-dp{display:block;width:100%}.tt-inv-dialog-dp-btn.ttp__btn{box-sizing:border-box;width:100%;min-height:2.375rem;padding:.45rem .65rem;font-family:inherit;font-size:.875rem;color:var(--app-text);background:var(--app-surface, #fff);border:1px solid var(--app-border, #e5e7eb);border-radius:8px;transition:border-color .15s,box-shadow .15s;justify-content:flex-start;gap:.5rem}.tt-inv-dialog-dp-btn.ttp__btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--app-muted, #64748b) 40%,var(--app-border, #e5e7eb))}.tt-inv-dialog-dp-btn.ttp__btn:focus-visible{outline:none;border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 3px color-mix(in srgb,var(--app-accent, #4f46e5) 18%,transparent)}.tt-inv-dialog-dp .ttp__label--empty{color:var(--app-muted, #94a3b8)}.tt-inv-dialog-searchable{display:block;width:100%}.tt-inv-dialog-searchable__btn{min-height:2.375rem;padding:.5rem .65rem;border-radius:8px;font-size:.875rem}.tt-inv-dialog__section--callout{padding:1rem 1.15rem 1.15rem;background:var(--app-surface-soft, #f8fafc);border:1px solid var(--app-border, #e5e7eb);border-radius:12px}.tt-inv-dialog__section-title{margin:0 0 .4rem;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-muted, #94a3b8)}.tt-inv-dialog__section-desc{margin:0 0 1rem;font-size:.8125rem;line-height:1.5;color:var(--app-muted, #64748b)}.tt-inv-dialog__period-bar{display:grid;grid-template-columns:1fr 1fr auto;gap:.75rem 1rem;align-items:end}@media(max-width:640px){.tt-inv-dialog__period-bar{grid-template-columns:1fr}.tt-inv-dialog__period-action .tt-reports__btn{width:100%;justify-content:center}}.tt-inv-dialog__period-action{display:flex;align-items:flex-end;justify-content:flex-end;padding-bottom:.05rem}.tt-inv-dialog__subsection{margin-top:1.25rem;padding-top:1.15rem;border-top:1px solid var(--app-border, #e5e7eb)}.tt-inv-dialog__scroll-table.tt-reports__table-wrap{max-height:min(48vh,400px);overflow:auto;-webkit-overflow-scrolling:touch}.tt-inv-mini--in-dialog{font-size:.8125rem}.tt-inv__hint{font-size:.8125rem;color:var(--app-muted);margin:.5rem 0}.tt-inv-block{margin-top:1rem}.tt-inv-block h4,.tt-inv__section-title{margin:0 0 .5rem;font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--app-muted, #94a3b8)}.tt-inv-mini{width:100%;border-collapse:collapse;font-size:.8125rem}.tt-inv-mini th,.tt-inv-mini td{padding:.4rem .5rem;border-bottom:1px solid var(--app-border);text-align:left}.tt-inv-mini th{background:var(--app-surface-soft, #f8fafc);font-weight:600;font-size:.72rem;text-transform:uppercase;color:var(--app-muted)}.tt-inv-detail-meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.65rem;margin-bottom:1.25rem}.tt-inv-detail-meta__item{display:flex;flex-direction:column;gap:.25rem;padding:.65rem .75rem;background:var(--app-surface-soft, #f8fafc);border:1px solid var(--app-border, #e5e7eb);border-radius:10px}.tt-inv-detail-meta__k{font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--app-muted, #94a3b8)}.tt-inv-detail-meta__v{font-size:.875rem;font-weight:600;color:var(--app-text, #1e293b);word-break:break-word}.tt-inv-detail-meta__v--mono{font-family:var(--app-font-family);font-size:.8125rem;font-weight:500}.tt-inv-detail-meta__v--num{font-variant-numeric:tabular-nums}.tt-inv-detail-meta__v--strong{font-weight:700;color:var(--app-accent, #4338ca)}.tt-inv-detail__section-divider{margin:1.35rem 0 .85rem;border:0;border-top:1px solid var(--app-border, #e5e7eb)}.tt-inv-line-kind{display:inline-flex;align-items:center;padding:.2rem .5rem;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;border-radius:6px;border:1px solid var(--app-border, #e5e7eb);background:var(--app-surface-soft, #f8fafc);color:var(--app-muted, #64748b)}.tt-inv-line-kind--time{color:#3730a3;background:#4338ca14;border-color:#4338ca38}.tt-inv-line-kind--expense{color:#9a3412;background:#ea580c14;border-color:#ea580c40}.tt-inv-line-kind--manual{color:#475569;background:#64748b1a;border-color:#64748b47}.tt-inv-line-kind--other{font-weight:600;text-transform:none;letter-spacing:0;font-size:.8125rem}.tt-inv-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tt-inv-detail-export{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-bottom:.75rem}.tt-inv-draft{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1rem}.tt-inv-draft__notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem}.tt-inv-draft__notes label{display:flex;flex-direction:column;gap:.35rem;min-width:0;font-size:.8125rem;font-weight:600;color:var(--app-text, #1e293b)}@media(max-width:720px){.tt-inv-draft__notes{grid-template-columns:1fr}}.tt-inv__textarea{width:100%;box-sizing:border-box;padding:.5rem .65rem;font-family:inherit;font-size:.875rem;border:1px solid var(--app-border);border-radius:8px;resize:vertical}.tt-inv-pay{padding:.75rem;margin-bottom:1rem;background:var(--app-surface-soft, #f8fafc);border-radius:10px;border:1px solid var(--app-border)}.tt-inv-pay h4{margin:0 0 .5rem;font-size:.9rem}.tt-inv-pay__hint{margin:0 0 .65rem;font-size:.78rem;font-weight:500;color:var(--app-muted, #64748b);line-height:1.45}.tt-inv-pay label{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.5rem;font-size:.8125rem;font-weight:600}.tt-inv-pay-confirm{padding:.75rem;margin-bottom:1rem;background:color-mix(in srgb,#fbbf24 10%,var(--app-surface-soft, #f8fafc));border-radius:10px;border:1px solid color-mix(in srgb,#f59e0b 35%,var(--app-border, #e5e7eb))}.tt-inv-pay-confirm__hint{margin:0 0 .65rem;font-size:.78rem;font-weight:500;color:var(--app-muted, #64748b);line-height:1.45}.tt-inv-pay-confirm label{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.5rem;font-size:.8125rem;font-weight:600}.tt-inv-pay-confirm__actions{margin-top:.35rem;margin-bottom:0}.tt-inv-pay-confirm__saved{margin:.65rem 0 0;font-size:.8125rem;line-height:1.45;word-break:break-word}.tt-inv-pay-confirm__saved code{font-size:.78rem}.tt-inv-payments{margin:0;padding-left:1.1rem;font-size:.875rem;color:var(--app-text)}.tt-inv--skeleton .tt-inv-skel{display:inline-block;border-radius:8px;background:linear-gradient(105deg,var(--app-border, #e5e7eb) 0%,color-mix(in srgb,var(--app-border, #e5e7eb) 55%,#fff 45%) 50%,var(--app-border, #e5e7eb) 100%);background-size:200% 100%;animation:tt-nav-skel-shimmer 1.6s ease-in-out infinite,tus-skel-pulse 2s ease-in-out infinite}.tt-inv--skeleton .tt-reports__type-block .tt-inv__head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-top:.35rem}.tt-inv--skeleton .tt-inv__skel-lede{flex:1;min-width:min(100%,22rem);max-width:48rem;display:flex;flex-direction:column;gap:.45rem}.tt-inv--skeleton .tt-inv-skel--type-title{display:block;width:72px;height:12px;margin-bottom:.5rem;border-radius:4px}.tt-inv--skeleton .tt-inv-skel--lede-line1{width:100%;max-width:32rem;height:14px;display:block}.tt-inv--skeleton .tt-inv-skel--lede-line2{width:72%;max-width:24rem;height:14px;display:block}.tt-inv--skeleton .tt-inv-skel--btn{width:132px;height:38px;flex-shrink:0;border-radius:9px}.tt-inv--skeleton .tt-reports__summary-card{display:flex;flex-direction:column;gap:.5rem;min-height:5.5rem}.tt-inv--skeleton .tt-inv-skel--kpi-label{width:88px;height:12px;border-radius:4px}.tt-inv--skeleton .tt-inv-skel--kpi-val{width:48px;height:28px;border-radius:6px}.tt-inv--skeleton .tt-inv-skel--break-label{width:140px;height:12px;border-radius:4px;display:block}.tt-inv--skeleton .tt-inv-skel--break-hint{width:min(100%,260px);height:11px;border-radius:4px;display:block;margin-top:.4rem}.tt-inv--skeleton .tt-reports__sort-wrap{display:flex;align-items:center;gap:.4rem}.tt-inv--skeleton .tt-inv-skel--sort-label{width:3.1rem;height:12px;border-radius:4px;flex-shrink:0}.tt-inv--skeleton .tt-inv-skel--dd{width:11rem;min-width:10.5rem;max-width:16rem;height:31px;border-radius:7px;flex-shrink:0}.tt-inv--skeleton .tt-inv-skel--dd-narrow{width:9.5rem;min-width:9rem;max-width:14rem}.tt-inv--skeleton .tt-inv-skel--refresh{width:118px;height:38px;border-radius:8px;flex-shrink:0}.tt-inv__table-outer>.tt-inv__table-scroll--skel{flex:1;min-height:0}.tt-inv__table-scroll--skel{overflow-x:auto;-webkit-overflow-scrolling:touch;min-height:240px}.tt-inv__table--skeleton{table-layout:fixed;width:100%;min-width:720px}.tt-inv__table--skeleton col.tt-inv__skel-col--num{width:11%}.tt-inv__table--skeleton col.tt-inv__skel-col--client{width:22%}.tt-inv__table--skeleton col.tt-inv__skel-col--date{width:12%}.tt-inv__table--skeleton col.tt-inv__skel-col--money{width:11%}.tt-inv__table--skeleton col.tt-inv__skel-col--status{width:13%}.tt-inv__table--skeleton col.tt-inv__skel-col--action{width:3rem}.tt-inv--skeleton .tt-inv__table--skeleton .tt-inv-skel--th{display:block;width:72%;max-width:5.5rem;height:13px;border-radius:4px}.tt-inv--skeleton .tt-inv__table--skeleton .tt-inv-skel--th-num{margin-left:auto;width:60%;max-width:3.5rem}.tt-inv--skeleton .tt-inv__table--skeleton .tt-inv-skel--th-ico{width:14px;height:14px;border-radius:4px;margin-left:auto}.tt-inv--skeleton .tt-inv__table--skeleton td{vertical-align:middle}.tt-inv--skeleton .tt-inv__table--skeleton .tt-inv-skel--td-num-strong{display:block;width:4.5rem;height:14px;border-radius:4px}.tt-inv--skeleton .tt-inv__table--skeleton .tt-inv-skel--td-client{display:block;width:88%;max-width:14rem;height:14px;border-radius:4px}.tt-inv--skeleton .tt-inv__table--skeleton .tt-inv-skel--td-date{display:block;width:5.25rem;height:14px;border-radius:4px}.tt-inv--skeleton .tt-inv__table--skeleton .tt-inv-skel--td-money{display:block;width:4.5rem;height:14px;border-radius:4px;margin-left:auto}.tt-inv--skeleton .tt-inv__table--skeleton .tt-inv-skel--td-status{display:block;width:5.5rem;height:14px;border-radius:6px}.tt-inv--skeleton .tt-inv__table--skeleton .tt-inv-skel--td-chev{display:block;width:14px;height:14px;border-radius:4px;margin-left:auto}.tt-reports__table-wrap--loading{opacity:.65;pointer-events:none;transition:opacity .15s}.tt-reports__empty{padding:3rem 1.5rem;text-align:center;color:var(--app-muted, #94a3b8);font-size:.9375rem}.tt-reports__empty-period{margin:0 0 .5rem;font-weight:600;color:var(--app-fg, #0f172a)}.tt-reports__users-filter-err{margin:0 0 .35rem;max-width:22rem;font-size:.8125rem;line-height:1.35;color:var(--app-danger, #b91c1c)}.rp-table{width:100%;border-collapse:collapse}.rp-table th,.rp-table td{padding:.65rem .85rem;text-align:left;border-bottom:1px solid var(--app-border, #e5e7eb);font-size:.875rem;white-space:nowrap}.rp-table thead th{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--app-muted, #94a3b8);background:var(--app-surface-soft, #f8fafc)}.rp-table tbody tr:last-child td{border-bottom:none}.rp-table tbody tr:hover td{background:color-mix(in srgb,var(--app-accent, #4f46e5) 5%,var(--app-surface-soft, #f8fafc))}.rp-table__num{text-align:right;font-variant-numeric:tabular-nums}.rp-table__num--accent{color:var(--app-accent, #4f46e5);font-weight:600}.rp-table__name-cell{max-width:24rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-table__name-cell--bold{font-weight:600;color:var(--app-text, #1e293b)}.rp-table__muted{color:var(--app-muted, #64748b);font-size:.8125rem}.rp-table__group-row{cursor:pointer;transition:background .1s}.rp-table__group-row:hover td{background:color-mix(in srgb,var(--app-accent, #4f46e5) 6%,var(--app-surface-soft, #f8fafc))}.rp-table__expand-col{width:2.5rem;padding-left:.25rem!important;padding-right:.75rem!important;text-align:right}.rp-table__expand-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;border-radius:6px;background:none;cursor:pointer;color:var(--app-muted, #64748b);transition:background .12s,color .12s}.rp-table__expand-btn:hover{background:var(--app-border, #e5e7eb);color:var(--app-accent, #4f46e5)}.rp-table__sub-row td{background:color-mix(in srgb,var(--app-surface-soft, #f8fafc) 80%,var(--app-surface, #fff));font-size:.8125rem;color:var(--app-muted, #64748b);border-bottom:1px solid color-mix(in srgb,var(--app-border, #e5e7eb) 55%,transparent)}.rp-table__sub-row:hover td{background:color-mix(in srgb,var(--app-accent, #4f46e5) 4%,var(--app-surface-soft, #f8fafc))}.rp-table__sub-indent{display:flex;align-items:flex-start;gap:.4rem;padding-left:2rem!important}.rp-table__sub-panel-wrap{vertical-align:top;padding:.65rem .85rem!important}.rp-table__sub-metrics{width:100%;border-collapse:collapse;table-layout:fixed}.rp-table__sub-metrics td{border-bottom:none;background:transparent!important;vertical-align:top}.rp-table__sub-metrics__summary td{vertical-align:top}.rp-table__sub-metric-cell{white-space:nowrap}.rp-table__sub-metrics__detail>td{padding-top:.35rem}.rp-table__sub-detail-cell{min-width:0}.rp-table__sub-lead-cell{vertical-align:top;min-width:0}.rp-table__sub-indent-inner{padding-left:1.15rem;min-width:0}.rp-table__sub-icon{color:var(--app-border, #e5e7eb);font-size:.75rem}.rp-table__sub-user-block{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;min-width:0}.rp-table__sub-user-line{display:flex;align-items:center;gap:.4rem}.rp-table__entry-log{margin:0;font-size:.75rem;color:var(--app-muted, #64748b);max-width:100%}.rp-table__entry-log>summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--app-accent, #4f46e5);font-weight:500;list-style:none;list-style-type:none;padding-inline-start:0}.rp-table__entry-log>summary::-webkit-details-marker{display:none}.rp-table__entry-log>summary::marker{content:none}.rp-table__entry-log-summary-text{display:inline-block}.rp-table__entry-log-scroll{overflow-x:auto;max-width:100%;width:100%;margin-top:.35rem;display:block}.rp-table--entry-log{width:100%;table-layout:auto;border-collapse:collapse;font-size:.75rem}.rp-table--entry-log th,.rp-table--entry-log td{white-space:normal;vertical-align:top;padding:.4rem .45rem;line-height:1.35}.rp-table--entry-log thead th{font-size:.6875rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--app-muted, #94a3b8);background:color-mix(in srgb,var(--app-surface-soft, #f8fafc) 92%,var(--app-surface, #fff))}.rp-table__entry-log-text{max-width:9rem;word-break:break-word;color:var(--app-text, #334155)}.rp-table__entry-log-text--wide{max-width:18rem}.rp-table__entry-log-list{margin:.35rem 0 0;padding-left:1.1rem;line-height:1.45}.rp-table__entry-log-note{margin:.25rem 0 0;font-size:.6875rem;font-style:italic;color:var(--app-muted, #64748b)}.rp-badge{display:inline-block;margin-left:.4rem;padding:.1rem .45rem;border-radius:99px;font-size:.6875rem;font-weight:600;letter-spacing:.02em;vertical-align:middle}.rp-badge--muted{background:var(--app-surface-soft, #f1f5f9);color:var(--app-muted, #64748b);border:1px solid var(--app-border, #e5e7eb)}.rp-badge--info{background:color-mix(in srgb,#3b82f6 12%,transparent);color:#1d4ed8;border:1px solid color-mix(in srgb,#3b82f6 28%,transparent)}.rp-budget-bar{display:flex;flex-direction:column;gap:.25rem;min-width:8rem}.rp-budget-bar__track{height:6px;border-radius:3px;background:var(--app-border, #e5e7eb);overflow:hidden}.rp-budget-bar__fill{height:100%;border-radius:3px;transition:width .2s ease}.rp-budget-bar__label{font-size:.75rem;color:var(--app-muted, #64748b);white-space:nowrap}:root{--rp-budget-ok: #22c55e;--rp-budget-warn: #f59e0b;--rp-budget-danger: #ef4444}.rpb{--rpb-surface: var(--app-surface, #fff);--rpb-surface-soft: var(--app-surface-soft, #f8fafc);--rpb-border: var(--app-border, #e5e7eb);--rpb-text: var(--app-text, #0f172a);--rpb-muted: var(--app-muted, #64748b);--rpb-accent: var(--app-accent, #4f46e5);--rpb-ok: var(--rp-budget-ok, #22c55e);--rpb-warn: var(--rp-budget-warn, #f59e0b);--rpb-danger: var(--rp-budget-danger, #ef4444);--rpb-over: #b91c1c;--rpb-row-h: 3.35rem;--rpb-radius: 12px;display:grid;grid-template-columns:minmax(18rem,2.1fr) minmax(10rem,1.3fr) 5rem minmax(7.5rem,1fr) minmax(8rem,1fr) minmax(8rem,1fr) minmax(16rem,1.7fr) 2.4rem;background:var(--rpb-surface);border:1px solid var(--rpb-border);border-radius:var(--rpb-radius);overflow:hidden;color:var(--rpb-text);font-size:.85rem}.rpb__head{display:contents}.rpb__head>div{padding:.7rem .85rem;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--rpb-muted);background:var(--rpb-surface-soft);border-bottom:1px solid var(--rpb-border);position:sticky;top:0;z-index:1}.rpb__head>.rpb-num{text-align:right}.rpb__group{display:contents}.rpb__row{display:contents;cursor:default}.rpb__row--clickable{cursor:pointer}.rpb__row--clickable:focus-visible>*{outline:2px solid color-mix(in srgb,var(--rpb-accent) 50%,transparent);outline-offset:-2px}.rpb__row>*{padding:.85rem;min-height:var(--rpb-row-h);display:flex;align-items:center;border-bottom:1px solid var(--rpb-border);background:var(--rpb-surface);transition:background .12s;text-align:left;font:inherit;color:inherit;min-width:0}.rpb__row>.rpb__project{position:relative;box-shadow:inset 4px 0 0 transparent}.rpb__row--ok>.rpb__project{box-shadow:inset 4px 0 color-mix(in srgb,var(--rpb-ok) 65%,transparent)}.rpb__row--warn>.rpb__project{box-shadow:inset 4px 0 color-mix(in srgb,var(--rpb-warn) 65%,transparent)}.rpb__row--danger>.rpb__project{box-shadow:inset 4px 0 color-mix(in srgb,var(--rpb-danger) 75%,transparent)}.rpb__row--over>.rpb__project{box-shadow:inset 4px 0 0 var(--rpb-over)}.rpb__row--empty>.rpb__project{box-shadow:inset 4px 0 color-mix(in srgb,var(--rpb-muted) 40%,transparent)}.rpb__row--clickable:hover>*{background:color-mix(in srgb,var(--rpb-accent) 5%,var(--rpb-surface))}.rpb__row[aria-expanded=true]>*{background:color-mix(in srgb,var(--rpb-accent) 7%,var(--rpb-surface))}.rpb__project{flex-direction:column;align-items:flex-start;gap:.3rem;padding-left:1.1rem!important}.rpb__project-name{font-weight:700;color:var(--rpb-text);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.rpb__project-tags{display:inline-flex;gap:.35rem;flex-wrap:wrap}.rpb-tag{display:inline-flex;align-items:center;padding:.08rem .45rem;border-radius:99px;font-size:.68rem;font-weight:600;letter-spacing:.02em;border:1px solid transparent;line-height:1.3}.rpb-tag--muted{background:var(--rpb-surface-soft);color:var(--rpb-muted);border-color:var(--rpb-border)}.rpb-tag--info{background:color-mix(in srgb,#3b82f6 12%,transparent);color:#1d4ed8;border-color:color-mix(in srgb,#3b82f6 28%,transparent)}.rpb-tag--danger{background:color-mix(in srgb,var(--rpb-danger) 12%,transparent);color:#991b1b;border-color:color-mix(in srgb,var(--rpb-danger) 30%,transparent)}.rpb__client{color:var(--rpb-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.rpb__type{color:var(--rpb-muted);font-weight:500;letter-spacing:.01em;text-transform:uppercase;font-size:.72rem}.rpb__metric{font-variant-numeric:tabular-nums;font-weight:600;justify-content:flex-end;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rpb__metric--negative{color:var(--rpb-over)}.rpb-num{text-align:right}.rpb__progress-cell{min-width:0}.rpb__cell-sub{font-size:.72rem;color:var(--rpb-muted);margin-top:.12rem;line-height:1.2}.rpb__dual-progress{display:flex;flex-direction:column;gap:.35rem;width:100%;min-width:0}.rpb__chev{justify-content:center;color:var(--rpb-muted)}.rpb__chev-icon{display:inline-flex;transition:transform .18s ease}.rpb__chev-icon--open{transform:rotate(180deg);color:var(--rpb-accent)}.rpb-progress{display:flex;flex-direction:column;gap:.3rem;width:100%;min-width:0}.rpb-progress__track{position:relative;display:flex;height:8px;border-radius:999px;background:color-mix(in srgb,var(--rpb-border) 85%,var(--rpb-surface));overflow:hidden}.rpb-progress__fill{height:100%;background:var(--rpb-ok);border-radius:999px 0 0 999px;transition:width .25s ease}.rpb-progress__overfill{height:100%;background:repeating-linear-gradient(135deg,var(--rpb-over) 0,var(--rpb-over) 6px,#7f1d1d 6px,#7f1d1d 12px);border-left:1.5px solid var(--rpb-surface)}.rpb-progress--warn .rpb-progress__fill{background:var(--rpb-warn)}.rpb-progress--danger .rpb-progress__fill,.rpb-progress--over .rpb-progress__fill{background:var(--rpb-danger)}.rpb-progress--none .rpb-progress__fill{background:color-mix(in srgb,var(--rpb-muted) 40%,transparent)}.rpb-progress__meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.72rem;line-height:1.2;color:var(--rpb-muted)}.rpb-progress__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.rpb-progress__pct{font-weight:700;font-variant-numeric:tabular-nums;color:var(--rpb-text)}.rpb-progress--over .rpb-progress__pct{color:var(--rpb-over)}.rpb-progress--danger .rpb-progress__pct{color:#b91c1c}.rpb-progress--warn .rpb-progress__pct{color:#b45309}.rpb-progress--ok .rpb-progress__pct{color:#047857}.rpb-progress--compact .rpb-progress__track{height:5px}.rpb-progress--compact .rpb-progress__meta{font-size:.7rem}.rpb__users,.rpb__user{display:contents}.rpb__user>*{padding:.6rem .85rem;background:color-mix(in srgb,var(--rpb-accent) 3%,var(--rpb-surface));border-bottom:1px dashed color-mix(in srgb,var(--rpb-border) 80%,transparent);display:flex;align-items:center;min-width:0;font-size:.82rem}.rpb__user:hover>*{background:color-mix(in srgb,var(--rpb-accent) 8%,var(--rpb-surface))}.rpb__user-name{padding-left:2rem!important;gap:.55rem;color:var(--rpb-text);overflow:hidden;min-width:0}.rpb__user-avatar{width:1.6rem;height:1.6rem;border-radius:50%;background:color-mix(in srgb,var(--rpb-accent) 18%,var(--rpb-surface));color:var(--rpb-accent);font-weight:700;font-size:.72rem;display:inline-flex;align-items:center;justify-content:center;flex:none;border:1px solid color-mix(in srgb,var(--rpb-accent) 30%,transparent)}.rpb__user-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.rpb__user-spacer{color:transparent}.rpb__user-metric{flex-direction:column;align-items:flex-end;gap:.1rem;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden}.rpb__user-metric-value{font-weight:600;color:var(--rpb-text)}.rpb__user-metric-sub{font-size:.72rem;color:var(--rpb-muted)}.rpb__user-share{flex-direction:column;align-items:stretch;gap:.25rem;min-width:0}.rpb__user-share-track{height:5px;border-radius:999px;background:color-mix(in srgb,var(--rpb-border) 70%,var(--rpb-surface));overflow:hidden}.rpb__user-share-fill{height:100%;border-radius:999px;background:color-mix(in srgb,var(--rpb-accent) 70%,transparent);transition:width .25s ease}.rpb__user-share-pct{font-size:.7rem;color:var(--rpb-muted);align-self:flex-end;font-variant-numeric:tabular-nums}.rpb>.rpb__group:last-child>.rpb__row>*,.rpb>.rpb__group:last-child>.rpb__users>.rpb__user:last-child>*{border-bottom:0}@media(max-width:1180px){.rpb{grid-template-columns:minmax(14rem,2fr) minmax(8rem,1fr) 4.2rem minmax(6.5rem,.9fr) minmax(7rem,.9fr) minmax(7rem,.9fr) minmax(13rem,1.4fr) 2rem;font-size:.8rem}.rpb__head>div{padding:.6rem .7rem;font-size:.66rem}.rpb__row>*{padding:.75rem .7rem}.rpb__project{padding-left:.9rem!important}.rpb__user-name{padding-left:1.4rem!important}}.rp2{--rp2-accent: var(--app-accent, #4f46e5);--rp2-surface: var(--app-surface, #fff);--rp2-surface-soft: var(--app-surface-soft, #f8fafc);--rp2-border: var(--app-border, #e5e7eb);--rp2-text: var(--app-text, #0f172a);--rp2-muted: var(--app-muted, #64748b);--rp2-radius: 10px;--rp2-chev: 2rem;--rp2-h1: 7.5rem;--rp2-h2: 9rem;--rp2-pct: 13.5rem;--rp2-amount: 12.25rem;display:flex;flex-direction:column;gap:.6rem;width:100%;min-width:0}.tt-reports__table-wrap>.rp2{width:100%;box-sizing:border-box}.rp2--clients .rp2__head,.rp2--clients .rp2__group-row,.rp2--clients .rp2__user-head{display:grid;grid-template-columns:minmax(14rem,1.6fr) var(--rp2-h1) var(--rp2-h2) var(--rp2-pct) var(--rp2-amount) var(--rp2-chev);align-items:center;gap:.85rem}.rp2--projects .rp2__head,.rp2--projects .rp2__group-row{display:grid;grid-template-columns:minmax(18rem,3fr) var(--rp2-h1) var(--rp2-h2) var(--rp2-pct) minmax(var(--rp2-amount),.9fr);align-items:center;gap:.65rem 1.05rem}.rp2--projects .rp2__head-chev,.rp2--projects .rp2__group-chev{display:none}.rp2--tasks .rp2__head,.rp2--tasks .rp2__group-row{display:grid;grid-template-columns:minmax(14rem,2.85fr) var(--rp2-h1) var(--rp2-h2) var(--rp2-pct) var(--rp2-amount) var(--rp2-chev);align-items:center;gap:.65rem 1.05rem}.rp2--projects .rp2__user-head{display:grid;grid-template-columns:minmax(18rem,3fr) var(--rp2-h1) var(--rp2-h2) var(--rp2-pct) minmax(var(--rp2-amount),.9fr);align-items:center;gap:.65rem 1.05rem}.rp2--tasks .rp2__user-head{display:grid;grid-template-columns:minmax(14rem,2.85fr) var(--rp2-h1) var(--rp2-h2) var(--rp2-pct) var(--rp2-amount) var(--rp2-chev);align-items:center;gap:.65rem 1.05rem}.rp2--team .rp2__head,.rp2--team .rp2__group-row{display:grid;grid-template-columns:minmax(14rem,1.6fr) var(--rp2-h1) var(--rp2-h2) var(--rp2-pct) var(--rp2-amount) var(--rp2-h1);align-items:center;gap:.85rem}.rp2__head{padding:.55rem .9rem;font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--rp2-muted);background:var(--rp2-surface-soft);border:1px solid var(--rp2-border);border-radius:var(--rp2-radius)}.rp2__head>[role=columnheader]{min-width:0;line-height:1.3}.rp2__head-name-stack{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;min-width:0;line-height:1.25}.rp2__head-name-stack-secondary{font-size:.62rem;font-weight:700;letter-spacing:.05em;opacity:.88}.rp2__head .rp2-num{white-space:normal;overflow-wrap:anywhere}.rp2__head-chev{width:var(--rp2-chev)}.rp2__body{display:flex;flex-direction:column;gap:.4rem}.rp2__group{position:relative;border:none;border-bottom:1px solid var(--rp2-border);border-radius:0;background:transparent;overflow:hidden;transition:border-color .12s}.rp2__body>.rp2__group:last-child{border-bottom:none}.rp2__group:hover{border-bottom-color:color-mix(in srgb,var(--rp2-accent) 35%,var(--rp2-border))}.rp2__group--open{border-bottom-color:color-mix(in srgb,var(--rp2-accent) 45%,var(--rp2-border));box-shadow:none}.rp2__group-row{width:100%;padding:.7rem .9rem;background:transparent;color:var(--rp2-text);font:inherit;text-align:left;border:none;cursor:pointer;transition:background .12s}.rp2__group-row--button:disabled{cursor:default}.rp2__group-row:hover:not(:disabled){background:color-mix(in srgb,var(--rp2-accent) 6%,var(--app-bg, #f1f5f9))}.rp2__group--open>.rp2__group-row{background:color-mix(in srgb,var(--rp2-accent) 4%,var(--app-bg, #f1f5f9));border-bottom:1px solid var(--rp2-border)}.rp2--clients .rp2__group-row--split{display:grid;grid-template-columns:minmax(14rem,1.6fr) var(--rp2-h1) var(--rp2-h2) var(--rp2-pct) var(--rp2-amount) var(--rp2-chev);align-items:center;gap:.85rem;padding:.7rem .9rem;width:100%;box-sizing:border-box;background:transparent;border:none}.rp2--clients .rp2__client-preview-btn{grid-column:1 / 6;display:grid;grid-template-columns:subgrid;grid-template-rows:auto;align-items:center;column-gap:.85rem;margin:0;min-width:0;font:inherit;text-align:left;color:inherit;background:transparent;border:none;border-radius:8px;cursor:pointer;padding:0;transition:background .12s}.rp2--clients .rp2__client-preview-btn:disabled{cursor:default;opacity:.7}.rp2--clients .rp2__client-preview-btn:hover:not(:disabled){background:color-mix(in srgb,var(--rp2-accent) 6%,var(--app-bg, #f1f5f9))}.rp2--clients .rp2__group--open>.rp2__group-row--split .rp2__client-preview-btn:not(:disabled){background:color-mix(in srgb,var(--rp2-accent) 4%,var(--app-bg, #f1f5f9))}.rp2--clients .rp2__client-expand-btn{grid-column:6;display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:1.5rem;margin:0;padding:.2rem;background:transparent;border:none;border-radius:8px;cursor:pointer;color:inherit;font:inherit;transition:background .12s}.rp2--clients .rp2__client-expand-btn:hover{background:color-mix(in srgb,var(--rp2-accent) 6%,var(--app-bg, #f1f5f9))}.rp2--clients .rp2__group--open .rp2__client-expand-btn{background:color-mix(in srgb,var(--rp2-accent) 4%,var(--app-bg, #f1f5f9))}.rp2__group-name{display:inline-flex;align-items:center;gap:.55rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--rp2-text);font-weight:500}.rp2__group-name--bold{font-weight:600}.rp2__group-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp2__cell-name-stack{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.22rem;min-width:0;width:100%;text-align:left}.rp2__cell-name-stack .rp2__group-name{max-width:100%}.rp2__group-sub{color:color-mix(in srgb,var(--rp2-text) 68%,var(--rp2-muted) 32%);font-size:.8125rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.rp2__group-dot{width:.6rem;height:.6rem;border-radius:50%;flex-shrink:0;background:var(--rp2-accent)}.rp2__body>.rp2__group:nth-child(7n+1) .rp2__group-dot{background:#6366f1}.rp2__body>.rp2__group:nth-child(7n+2) .rp2__group-dot{background:#0ea5e9}.rp2__body>.rp2__group:nth-child(7n+3) .rp2__group-dot{background:#10b981}.rp2__body>.rp2__group:nth-child(7n+4) .rp2__group-dot{background:#f59e0b}.rp2__body>.rp2__group:nth-child(7n+5) .rp2__group-dot{background:#ef4444}.rp2__body>.rp2__group:nth-child(7n+6) .rp2__group-dot{background:#a855f7}.rp2__body>.rp2__group:nth-child(7n+7) .rp2__group-dot{background:#14b8a6}.rp2__group-name--with-partner{flex-wrap:wrap;row-gap:.35rem;white-space:normal}.rp2__group-row--partner-confirmed:not(:disabled):hover{background:color-mix(in srgb,#10b981 11%,transparent)!important}.rp2__group-row--partner-invoiced:not(:disabled):hover{background:color-mix(in srgb,#6366f1 13%,transparent)!important}.rp2--clients .rp2__group-row--partner-confirmed:not(:disabled),.rp2--clients .rp2__client-preview-btn.rp2__group-row--partner-confirmed:not(:disabled){background:color-mix(in srgb,#10b981 7%,var(--rp2-surface-soft, transparent))}.rp2--clients .rp2__group-row--partner-invoiced:not(:disabled),.rp2--clients .rp2__client-preview-btn.rp2__group-row--partner-invoiced:not(:disabled){background:color-mix(in srgb,#6366f1 9%,var(--rp2-surface-soft, transparent))}.rp2--projects .rp2__group-row--partner-confirmed:not(:disabled){background:color-mix(in srgb,#10b981 7%,transparent)}.rp2--projects .rp2__group-row--partner-invoiced:not(:disabled){background:color-mix(in srgb,#6366f1 9%,transparent)}.rp2__body .rp2__group-dot.rp2__group-dot--partner-confirmed{box-shadow:0 0 0 2px var(--rp2-surface, var(--app-bg, #fff)),0 0 0 4px #10b98173}.rp2__body .rp2__group-dot.rp2__group-dot--partner-invoiced{box-shadow:0 0 0 2px var(--rp2-surface, var(--app-bg, #fff)),0 0 0 4px #6366f180}.rp-partner-chip{flex-shrink:0;display:inline-flex;align-items:center;font-size:.6875rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;padding:.12rem .42rem;border-radius:999px;line-height:1.25}.rp-partner-chip--confirmed{color:#065f46;background:color-mix(in srgb,#10b981 16%,transparent);border:1px solid color-mix(in srgb,#10b981 35%,transparent)}.rp-partner-chip--invoiced{color:#312e81;background:color-mix(in srgb,#6366f1 18%,transparent);border:1px solid color-mix(in srgb,#6366f1 38%,transparent)}.tt-reports__partner-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;margin-top:.45rem;width:100%}.tt-reports__partner-legend-note{font-size:.8125rem;font-weight:500;color:color-mix(in srgb,var(--rp2-muted, #64748b) 88%,var(--rp2-text, #0f172a) 12%);flex-basis:100%}.rp2__group--open:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--rp2-accent)}.rp2__group-metric{color:var(--rp2-text);font-weight:500;font-variant-numeric:tabular-nums}.rp2__group-metric--amount{font-weight:600}.rp2-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rp2__group-chev{display:inline-flex;align-items:center;justify-content:center;width:var(--rp2-chev);height:var(--rp2-chev);border-radius:6px;color:var(--rp2-muted);transition:background .12s,color .12s}.rp2__group-row:hover:not(:disabled) .rp2__group-chev{background:color-mix(in srgb,var(--rp2-accent) 10%,transparent);color:var(--rp2-accent)}.rp2__users{background:color-mix(in srgb,var(--rp2-surface-soft) 60%,var(--rp2-surface));border-top:1px solid var(--rp2-border)}.rp2__user+.rp2__user{border-top:1px dashed color-mix(in srgb,var(--rp2-border) 70%,transparent)}.rp2__user-head{padding:.55rem .9rem .55rem 2.2rem;font-size:.875rem;color:var(--rp2-text)}.rp2__user-name{display:inline-flex;align-items:center;gap:.5rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp2__user-avatar{width:1.4rem;height:1.4rem;border-radius:50%;flex-shrink:0;background:color-mix(in srgb,var(--rp2-accent) 18%,transparent);color:var(--rp2-accent);display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700}.rp2__user-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp2__user-metric{color:var(--rp2-text);font-variant-numeric:tabular-nums}.rp2__user-metric--amount{font-weight:600}.rp2__user-entries{padding:0 .9rem .7rem 2.2rem}.rp2__group-entries{padding:.25rem .9rem .7rem}.rp2-entries{margin:0;border-radius:8px;background:var(--rp2-surface);border:1px solid var(--rp2-border);overflow:hidden}.rp2-entries__caption{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .7rem;-webkit-user-select:none;user-select:none;color:var(--rp2-muted);font-size:.8rem;font-weight:600;width:100%;background:color-mix(in srgb,var(--rp2-accent) 8%,var(--rp2-surface));border-bottom:1px solid var(--rp2-border)}.rp2-entries__caption-label{color:var(--rp2-text)}.rp2-entries__summary-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.15rem;padding:0 .45rem;border-radius:99px;background:color-mix(in srgb,var(--rp2-accent) 18%,transparent);color:var(--rp2-accent);font-size:.7rem;font-weight:700}.rp2-entries__table{display:grid;overflow-x:auto;background:var(--rp2-surface)}.rp2-entries__table--0ctx{grid-template-columns:6.75rem 5.25rem 4.25rem 4.75rem 7.5rem 6.5rem minmax(14rem,1fr)}.rp2-entries__table--1ctx{grid-template-columns:6.75rem 5.25rem 4.25rem 4.75rem 7.5rem 6.5rem minmax(8rem,.8fr) minmax(12rem,1fr)}.rp2-entries__table--2ctx{grid-template-columns:6.75rem 5.25rem 4.25rem 4.75rem 7.5rem 6.5rem minmax(7rem,.7fr) minmax(7rem,.7fr) minmax(10rem,1fr)}.rp2-entries__table--3ctx{grid-template-columns:6.75rem 5.25rem 4.25rem 4.75rem 7.5rem 6.5rem minmax(6rem,.7fr) minmax(6rem,.7fr) minmax(6rem,.7fr) minmax(10rem,1fr)}.rp2-entries__head{display:contents}.rp2-entries__head>div{padding:.45rem .6rem;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--rp2-muted);background:var(--rp2-surface-soft);border-bottom:1px solid var(--rp2-border);position:sticky;top:0;z-index:1}.rp2-entries__row{display:contents}.rp2-entries__row:hover>.rp2-entries__cell{background:color-mix(in srgb,var(--rp2-accent) 4%,var(--rp2-surface))}.rp2-entries__cell{padding:.5rem .6rem;font-size:.8rem;color:var(--rp2-text);border-bottom:1px solid color-mix(in srgb,var(--rp2-border) 55%,transparent);line-height:1.35;min-width:0}.rp2-entries__cell--date,.rp2-entries__cell--time{color:var(--rp2-muted);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp2-entries__cell--amount{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp2-entries__cell--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp2-entries__cell--note{white-space:normal;color:var(--rp2-text);word-break:break-word}.rp2-muted{color:var(--rp2-muted)}.rp2-entries__note{margin:0;padding:.4rem .7rem;font-size:.72rem;font-style:italic;color:var(--rp2-muted);background:var(--rp2-surface-soft);border-top:1px solid var(--rp2-border)}.rp2-chip{display:inline-flex;align-items:center;padding:.08rem .5rem;border-radius:99px;font-size:.72rem;font-weight:600;letter-spacing:.01em;line-height:1.3;border:1px solid transparent}.rp2-chip--ok{background:color-mix(in srgb,#10b981 14%,transparent);color:#047857;border-color:color-mix(in srgb,#10b981 28%,transparent)}.rp2-chip--off{background:color-mix(in srgb,#64748b 14%,transparent);color:#334155;border-color:color-mix(in srgb,#64748b 28%,transparent)}.rp2-chip--partial{background:color-mix(in srgb,#f59e0b 16%,transparent);color:#92400e;border-color:color-mix(in srgb,#f59e0b 32%,transparent)}.rp2-chip--muted{background:var(--rp2-surface-soft);color:var(--rp2-muted);border-color:var(--rp2-border)}.rp2-tag{display:inline-flex;align-items:center;padding:.05rem .45rem;border-radius:99px;font-size:.68rem;font-weight:600;letter-spacing:.02em;line-height:1.3;border:1px solid var(--rp2-border);background:var(--rp2-surface-soft);color:var(--rp2-muted);margin-left:.25rem}.rp2-tag--count{background:color-mix(in srgb,var(--rp2-accent) 10%,transparent);color:var(--rp2-accent);border-color:color-mix(in srgb,var(--rp2-accent) 25%,transparent)}.rp2-pct{display:flex;align-items:center;gap:.55rem;min-width:0}.rp2-pct__track{flex:1 1 auto;min-width:3rem;height:6px;border-radius:3px;background:var(--rp2-border);overflow:hidden}.rp2-pct__fill{height:100%;border-radius:3px;background:var(--rp2-muted);transition:width .2s ease}.rp2-pct--ok .rp2-pct__fill{background:#10b981}.rp2-pct--warn .rp2-pct__fill{background:#f59e0b}.rp2-pct--low .rp2-pct__fill{background:#ef4444}.rp2-pct--muted .rp2-pct__fill{background:var(--rp2-border)}.rp2-pct__value{font-size:.8rem;font-weight:600;font-variant-numeric:tabular-nums;min-width:2.5rem;text-align:right;color:var(--rp2-text)}.rp2-pct--muted .rp2-pct__value{color:var(--rp2-muted);font-weight:500}@media(max-width:980px){.rp2--clients,.rp2--projects,.rp2--tasks,.rp2--team{min-width:820px}}.xls-wrap{--xls-bg: #ffffff;--xls-alt: #fafbfc;--xls-grid: #e2e5ea;--xls-grid-strong: #cfd3da;--xls-header-bg: #f3f5f7;--xls-header-active-bg: #e7efe4;--xls-header-fg: #374151;--xls-text: #1f2937;--xls-muted: #9aa3af;--xls-accent: #1f7a4a;--xls-accent-soft: #e7efe4;--xls-row-hover: #eef4ff;--xls-selected-border: #2563eb;--xls-row-h: 30px;position:relative;width:100%;max-width:100%;overflow:auto;background:var(--xls-bg);border:1px solid var(--xls-grid);border-radius:6px;box-shadow:inset 0 0 0 1px transparent,0 1px 2px #0f172a0a;scrollbar-width:thin;scrollbar-color:var(--xls-grid-strong) transparent}.xls-wrap::-webkit-scrollbar{height:10px;width:10px}.xls-wrap::-webkit-scrollbar-track{background:var(--xls-alt)}.xls-wrap::-webkit-scrollbar-thumb{background:var(--xls-grid-strong);border-radius:6px;border:2px solid var(--xls-alt)}.xls-wrap{background-image:linear-gradient(to right,var(--xls-bg) 30%,rgba(255,255,255,0)),linear-gradient(to right,#0f172a14,#0f172a00);background-position:0 0,100% 0;background-repeat:no-repeat;background-size:40px 100%,12px 100%;background-attachment:local,scroll}.xls-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.8125rem;color:var(--xls-text);font-family:var(--app-font-family);table-layout:auto}.xls-table thead th.xls-th{position:sticky;top:0;z-index:3;padding:0;background:var(--xls-header-bg);color:var(--xls-header-fg);font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;-webkit-user-select:none;user-select:none;border-right:1px solid var(--xls-grid);border-bottom:2px solid var(--xls-grid-strong)}.xls-th:last-child{border-right:none}.xls-th--gutter{z-index:5!important;left:0;text-align:center;width:2.5rem;min-width:2.5rem;background:var(--xls-header-bg);border-right:1px solid var(--xls-grid-strong);color:var(--xls-muted);font-weight:600;padding:.4rem .25rem}.xls-th--sticky-left{left:2.5rem;z-index:4;box-shadow:1px 0 0 var(--xls-grid)}.xls-th--active{background:var(--xls-header-active-bg);color:var(--xls-accent)}.xls-th__btn{display:flex;align-items:center;justify-content:space-between;gap:.35rem;width:100%;padding:.45rem .7rem;background:transparent;border:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;text-align:left}.xls-th--num .xls-th__btn{justify-content:flex-end;flex-direction:row-reverse}.xls-th--bool .xls-th__btn{justify-content:center}.xls-th__btn:hover{background:color-mix(in srgb,var(--xls-accent) 8%,var(--xls-header-bg));color:var(--xls-accent)}.xls-th__label{overflow:hidden;text-overflow:ellipsis}.xls-th__sort{display:inline-flex;align-items:center;color:currentColor;flex-shrink:0}.xls-table tbody tr.xls-tr>.xls-td{padding:.35rem .7rem;min-height:var(--xls-row-h);line-height:1.3;background:var(--xls-bg);border-right:1px solid var(--xls-grid);border-bottom:1px solid var(--xls-grid);color:var(--xls-text);vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:20rem}.xls-table tbody tr.xls-tr>.xls-td:last-child{border-right:none}.xls-table tbody tr.xls-tr:nth-child(2n)>.xls-td{background:var(--xls-alt)}.xls-table tbody tr.xls-tr:hover>.xls-td{background:var(--xls-row-hover)}.xls-td--gutter{position:sticky;left:0;z-index:2;width:2.5rem;min-width:2.5rem;max-width:2.5rem;text-align:center;color:var(--xls-muted);font-variant-numeric:tabular-nums;font-size:.72rem;border-right:1px solid var(--xls-grid-strong)!important;background:var(--xls-header-bg)!important}.xls-table tbody tr.xls-tr:hover>.xls-td--gutter{background:var(--xls-accent-soft)!important;color:var(--xls-accent)}.xls-td--sticky-left{position:sticky;left:2.5rem;z-index:1;box-shadow:1px 0 0 var(--xls-grid);font-variant-numeric:tabular-nums;color:var(--xls-text);font-weight:500}.xls-td--num{text-align:right;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.xls-td--bool{text-align:center}.xls-muted{color:var(--xls-muted)}.xls-chip{display:inline-flex;align-items:center;padding:0 .4rem;height:1.15rem;border-radius:3px;font-size:.7rem;font-weight:600;letter-spacing:.02em;border:1px solid transparent;line-height:1}.xls-chip--yes{background:#e7f4ea;color:#166534;border-color:#c6e4cf}.xls-chip--no{background:#fdecec;color:#9f1239;border-color:#f2c9ce}.xls-chip--na{background:#eef1f4;color:#6b7280;border-color:#dde1e6}.xls-table tbody tr.xls-tr>.xls-td.xls-td--active-col{background:var(--xls-accent-soft)}.xls-th__btn:focus-visible{outline:2px solid var(--xls-accent);outline-offset:-2px;border-radius:2px}.tsp-cfm__overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:color-mix(in srgb,#0f172a 42%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1200;animation:tsp-cfm-overlay-in .14s ease-out}@keyframes tsp-cfm-overlay-in{0%{opacity:0}to{opacity:1}}.tsp-cfm__modal{width:min(460px,100%);background:var(--app-surface, #fff);border-radius:14px;box-shadow:0 24px 60px -20px #0f172a73,0 2px 10px #0f172a14;overflow:hidden;animation:tsp-cfm-modal-in .16s cubic-bezier(.2,.9,.2,1)}@keyframes tsp-cfm-modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.tsp-cfm__head{display:flex;align-items:flex-start;gap:.875rem;padding:1.125rem 1.125rem .25rem}.tsp-cfm__ico{flex:0 0 auto;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#ef44441f;color:#dc2626}.tsp-cfm__ico svg{width:20px;height:20px}.tsp-cfm__ico--unlock{background:color-mix(in srgb,var(--app-accent, #4f46e5) 14%,transparent);color:var(--app-accent, #4f46e5)}.tsp-cfm__grant-body{padding:0 1.125rem .25rem}.tsp-cfm__grant-body-p{margin:0;font-size:.875rem;line-height:1.55;color:var(--app-text, #374151)}.tsp-cfm__grant-body-p strong{font-weight:700}.tsp-cfm__head-txt{flex:1;min-width:0}.tsp-cfm__title{margin:0;font-size:1rem;font-weight:700;color:var(--app-text, #111827);line-height:1.35}.tsp-cfm__sub{margin:.25rem 0 0;font-size:.8125rem;color:var(--app-muted, #6b7280);line-height:1.45}.tsp-cfm__close{flex:0 0 auto;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:8px;color:var(--app-muted, #9ca3af);cursor:pointer;transition:background .12s,color .12s}.tsp-cfm__close svg{width:14px;height:14px}.tsp-cfm__close:hover{background:#0000000f;color:var(--app-text, #111827)}.tsp-cfm__close:disabled{opacity:.5;cursor:not-allowed}.tsp-cfm__card{position:relative;display:flex;align-items:flex-start;gap:.75rem;margin:.875rem 1.125rem 0;padding:.75rem .875rem .75rem 1rem;background:var(--app-bg, #f8fafc);border:1px solid var(--app-border, #e5e7eb);border-radius:10px}.tsp-cfm__card-bar{position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:2px}.tsp-cfm__card-txt{flex:1;min-width:0}.tsp-cfm__card-proj{margin:0;font-size:.875rem;color:var(--app-text, #111827);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tsp-cfm__card-proj strong{font-weight:700}.tsp-cfm__card-client{margin-left:.375rem;font-weight:400;color:var(--app-muted, #6b7280)}.tsp-cfm__card-task{margin:.1875rem 0 0;font-size:.8125rem;color:var(--app-muted, #6b7280);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tsp-cfm__card-notes{margin:.125rem 0 0;font-size:.75rem;color:var(--app-muted, #9ca3af);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tsp-cfm__card-h{flex:0 0 auto;font-size:.9375rem;font-weight:700;color:var(--app-text, #111827);font-variant-numeric:tabular-nums;padding-left:.5rem}.tsp-cfm__foot{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 1.125rem 1.125rem}.tsp-cfm__btn{min-width:96px;height:36px;padding:0 .875rem;border-radius:9px;border:1px solid transparent;font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s,transform .12s}.tsp-cfm__btn:disabled{cursor:not-allowed;opacity:.6}.tsp-cfm__btn--ghost{background:var(--app-surface, #fff);border-color:var(--app-border, #e5e7eb);color:var(--app-text, #374151)}.tsp-cfm__btn--ghost:hover:not(:disabled){background:var(--app-bg, #f3f4f6);border-color:var(--app-text, #9ca3af)}.tsp-cfm__btn--danger{background:#dc2626;color:#fff;border-color:#dc2626}.tsp-cfm__btn--danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.tsp-cfm__btn--primary{background:var(--app-accent, #4f46e5);color:#fff;border-color:var(--app-accent, #4f46e5)}.tsp-cfm__btn--primary:hover:not(:disabled){filter:brightness(1.06)}.tsp-cfm__btn--primary:active:not(:disabled){transform:translateY(1px)}.tsp-cfm__btn:focus-visible{outline:2px solid color-mix(in srgb,var(--app-accent, #4f46e5) 55%,#fff);outline-offset:2px}.tt-list-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1rem;margin-top:1rem;padding:.75rem 0 .25rem;border-top:1px solid var(--app-border, #e5e7eb)}.tt-list-pagination__meta{font-size:.875rem;color:var(--app-muted, #6b7280);font-variant-numeric:tabular-nums}.tt-list-pagination__count{color:var(--app-text, #374151)}.tt-ccp-panel .tt-list-pagination{margin-top:.75rem;padding-top:.625rem}.tt-reports__section-switch{margin-bottom:.25rem}.tt-partner-confirmed{padding:0 0 1rem}.tt-partner-confirmed__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1rem}.tt-partner-confirmed__title{margin:0;font-size:1.125rem;font-weight:700;color:var(--app-text, #111827)}.tt-partner-confirmed__hint{margin:.35rem 0 0;font-size:.8125rem;color:var(--app-muted, #6b7280);max-width:52rem;line-height:1.45}.tt-partner-confirmed__code{font-family:var(--app-font-family);font-size:.8125em;word-break:break-all}.tt-partner-confirmed__code--narrow{display:inline-block;max-width:8rem}.tt-partner-confirmed__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:.75rem}.tt-partner-confirmed__search-label{font-size:.8125rem;color:var(--app-muted, #6b7280)}.tt-partner-confirmed__search{flex:1 1 240px;min-width:180px}.tt-partner-confirmed__count{font-size:.8125rem;color:var(--app-muted, #6b7280);font-variant-numeric:tabular-nums}.tt-partner-confirmed__err{margin:0 0 .75rem}.tt-partner-confirmed__empty{margin:0;padding:1rem 0;font-size:.9375rem;color:var(--app-muted, #6b7280)}.tt-partner-confirmed__table-wrap{overflow-x:auto}.tt-partner-confirmed__cell-title{font-weight:500;max-width:22rem}.tt-partner-confirmed__th-actions{width:1%;white-space:nowrap}.tt-partner-confirmed__actions-cell{vertical-align:middle;white-space:nowrap}.tt-partner-confirmed__actions{display:flex;flex-wrap:nowrap;align-items:center;gap:.35rem}.tt-partner-confirmed__icon-btn.tt-reports__btn--icon{padding:.4rem;min-width:2.35rem;min-height:2.35rem;display:inline-flex;align-items:center;justify-content:center}.tt-partner-confirmed__btn-spinner{animation:tt-partner-confirmed-spin .75s linear infinite}@keyframes tt-partner-confirmed-spin{to{transform:rotate(360deg)}}.tt-partner-confirmed__table--readonly.tt-reports__table tbody tr{cursor:default}.tt-partner-confirmed__table--readonly.tt-reports__table tbody tr:nth-child(odd):hover td{background-color:transparent}.tt-partner-confirmed__table--readonly.tt-reports__table tbody tr:nth-child(2n):hover td{background:color-mix(in srgb,var(--app-surface-soft, #f8fafc) 65%,var(--app-surface, #fff))}.tt-rp-preview{min-height:100vh;background:var(--app-bg, #f1f5f9);color:var(--app-text, #0f172a)}.tt-rp-preview .time-page__navbar.tt-rp-preview__navbar{gap:0;min-height:56px;height:56px;padding:0 1.5rem;flex-wrap:nowrap;align-items:center;box-sizing:border-box}.tt-rp-preview .time-page__navbar.tt-rp-preview__navbar .app-back-btn{align-self:center}.tt-rp-preview .time-page__navbar.tt-rp-preview__navbar .time-page__navbar-sep{margin:0 .75rem;flex-shrink:0;align-self:center}.tt-rp-preview .time-page__navbar.tt-rp-preview__navbar .time-page__navbar-tabs{height:100%;align-items:stretch;align-self:center}.tt-rp-preview .time-page__navbar.tt-rp-preview__navbar .time-page__navbar-tab{min-height:0;padding:0 .9rem;box-sizing:border-box}.tt-rp-preview .time-page__navbar.tt-rp-preview__navbar .time-page__navbar-tab--active:after{left:0;right:0}.tt-rp-preview .tt-rp-preview__navbar-dates.tt-reports__date-range{align-self:center;margin-left:0;margin-bottom:0;padding:.15rem .25rem;background:transparent;border:none;border-radius:0;gap:.35rem .65rem;flex-shrink:1;min-width:0;max-width:min(36vw,22rem);overflow:hidden}.tt-rp-preview__navbar-client-pill{max-width:min(32rem,100%);display:inline-block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:500;color:var(--rp2-text, var(--text, #0f172a))}.tt-rp-preview__navbar-hint{flex-shrink:0;margin:0;align-self:center;font-size:.75rem;font-weight:600;color:var(--app-muted, #64748b);white-space:nowrap}.tt-rp-preview__navbar-project{flex-shrink:1;min-width:0;max-width:min(30vw,22rem);margin:0;align-self:center}.tt-rp-preview__navbar-project-select.tsp-srch{width:100%}.tt-rp-preview__navbar-project-btn.tsp-srch__btn{width:100%;max-width:100%;min-height:32px}.tt-rp-preview__navbar-project-btn .tsp-srch__btn-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-rp-preview__navbar-view-slot{flex-shrink:0;display:flex;align-items:center;align-self:center}.tt-rp-preview__navbar-extras{flex-shrink:1;min-width:0;display:flex;align-items:center;align-self:center;max-width:min(100%,22rem)}.tt-rp-preview__navbar-extras .tt-rp-preview__partner-trigger-wrap{margin:0;width:100%;min-width:0}.tt-rp-preview__view-toggle{display:inline-flex;border-radius:8px;border:1.5px solid var(--app-border, #e2e8f0);background:var(--app-surface, #fff);overflow:hidden}.tt-rp-preview__view-toggle-btn{border:none;margin:0;padding:.4rem .7rem;font:inherit;font-size:.75rem;font-weight:700;letter-spacing:.02em;color:var(--app-muted, #64748b);background:transparent;cursor:pointer;white-space:nowrap}.tt-rp-preview__view-toggle-btn+.tt-rp-preview__view-toggle-btn{box-shadow:-1px 0 0 var(--app-border, #e2e8f0)}.tt-rp-preview__view-toggle-btn--active{color:var(--app-text, #0f172a);background:var(--app-surface-soft, #f1f5f9)}.tt-rp-preview .app-back-btn{text-decoration:none}.tt-rp-preview--fill{display:flex;flex-direction:column;min-height:100dvh;height:100dvh;max-height:100dvh;box-sizing:border-box;overflow:hidden}.tt-rp-preview.tt-rp-preview--fill .time-page__navbar.tt-rp-preview__navbar{padding-left:clamp(1.5rem,6vw,4.5rem);padding-right:clamp(1.5rem,6vw,4.5rem)}.tt-rp-preview__muted{margin:0;color:var(--app-muted, #64748b);font-size:.875rem}.tt-rp-preview__main--no-table{display:flex;align-items:flex-start;justify-content:center;padding:clamp(1rem,3vw,2rem);box-sizing:border-box}.tt-rp-preview__no-table-msg{max-width:36rem;line-height:1.5;text-align:center}.tt-rp-preview__save-err{margin:.35rem 0 0;padding:.4rem .6rem;max-width:40rem;font-size:.8rem;line-height:1.4;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;box-sizing:border-box}.tt-rp-preview__no-table-wrap{display:flex;flex-direction:column;align-items:center;gap:.35rem;max-width:36rem;margin-inline:auto}.tt-rp-preview__period-line{margin:0;font-weight:600;color:var(--app-fg, #0f172a);font-size:.9375rem;text-align:center}.tt-rp-preview__body-mock,.tt-rp-preview__body-pad{flex:1;min-height:0;min-width:0;overflow:auto;padding:clamp(1.1rem,2.5vw,2rem) clamp(1.5rem,6vw,4.5rem);box-sizing:border-box;background:var(--app-bg, #f1f5f9)}.tt-rp-mtable-wrap{max-width:100%;margin-inline:auto;padding-inline:clamp(.35rem,1.2vw,.85rem);box-sizing:border-box}.tt-rp-mtable-card{background:var(--app-surface, #fff);border-radius:14px;border:1px solid var(--app-border, #e2e8f0);box-shadow:0 4px 24px #0f172a0f;overflow:hidden}.tt-rp-brief-columns{padding:.85rem 1.25rem 1rem;border-bottom:1px solid var(--app-border, #e2e8f0);background:linear-gradient(180deg,var(--app-surface-soft, #f8fafc) 0%,var(--app-surface, #fff) 100%)}.tt-rp-brief-columns__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.tt-rp-brief-columns__title{margin:0;font-size:.8rem;font-weight:700;color:var(--app-text, #0f172a)}.tt-rp-brief-columns__all{flex-shrink:0;padding:.22rem .65rem;border-radius:8px;font-size:.72rem;font-weight:600;color:var(--app-primary-text, #1d4ed8);background:transparent;border:1px solid color-mix(in srgb,var(--app-primary-text, #1d4ed8) 35%,transparent);cursor:pointer}.tt-rp-brief-columns__all:hover{background:color-mix(in srgb,var(--app-primary-text, #1d4ed8) 8%,transparent)}.tt-rp-brief-columns__hint{margin:.35rem 0 .65rem;font-size:.68rem;line-height:1.35;color:var(--app-muted, #64748b)}.tt-rp-brief-columns__panes{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:0;align-items:stretch;max-height:min(14rem,42vh);border:1px solid var(--app-border, #e2e8f0);border-radius:10px;overflow:hidden;background:var(--app-surface, #fff)}.tt-rp-brief-columns__divider{width:1px;background:var(--app-border, #e2e8f0)}.tt-rp-brief-columns__pane{display:flex;flex-direction:column;min-width:0;max-height:inherit}.tt-rp-brief-columns__pane-label{flex-shrink:0;padding:.45rem .65rem;font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--app-muted, #64748b);background:var(--app-bg, #f1f5f9);border-bottom:1px solid var(--app-border, #e2e8f0)}.tt-rp-brief-columns__pane--active .tt-rp-brief-columns__pane-label{background:color-mix(in srgb,var(--app-primary-text, #1d4ed8) 6%,var(--app-bg, #f1f5f9))}.tt-rp-brief-columns__list{margin:0;padding:.35rem;list-style:none;overflow-y:auto;flex:1 1 auto;scrollbar-width:thin;scrollbar-color:var(--app-muted, #94a3b8) var(--app-surface-soft, #e8ecf4);-ms-overflow-style:auto}.tt-rp-brief-columns__list::-webkit-scrollbar{display:block;width:10px}.tt-rp-brief-columns__list::-webkit-scrollbar-track{background:var(--app-surface-soft, #f1f5f9);border-radius:6px}.tt-rp-brief-columns__list::-webkit-scrollbar-thumb{background:var(--app-muted, #94a3b8);border-radius:6px}body[data-theme=dark] .tt-rp-brief-columns__list{scrollbar-color:#64748b #1e293b}body[data-theme=dark] .tt-rp-brief-columns__list::-webkit-scrollbar-track{background:#1e293b}body[data-theme=dark] .tt-rp-brief-columns__list::-webkit-scrollbar-thumb{background:#64748b}.tt-rp-brief-columns__empty{padding:.85rem .5rem;font-size:.72rem;color:var(--app-muted, #64748b);text-align:center}.tt-rp-brief-columns__item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;margin-bottom:.2rem;padding:.35rem .45rem;border-radius:7px;font:inherit;font-size:.75rem;text-align:left;color:var(--app-text, #0f172a);background:var(--app-surface-soft, #f8fafc);border:1px solid transparent;cursor:pointer;box-sizing:border-box}.tt-rp-brief-columns__item:hover:not(:disabled){border-color:var(--app-border, #e2e8f0);background:var(--app-surface, #fff)}.tt-rp-brief-columns__item:disabled{opacity:.45;cursor:not-allowed}.tt-rp-brief-columns__item--active{background:linear-gradient(180deg,#eff6ff,#fff);border-color:#bfdbfe}.tt-rp-brief-columns__item-label{flex:1 1 auto;min-width:0}.tt-rp-brief-columns__item-hint{flex-shrink:0;font-size:.85rem;font-weight:700;color:var(--app-muted, #64748b)}.tt-rp-mtable__foot-summary{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.1rem;min-height:0;padding:0}.tt-rp-mtable__foot-summary-label{display:inline-flex;align-items:center;max-width:100%;padding:.25rem .5rem;border-radius:8px;font-weight:800;font-size:.75rem;line-height:1.25;letter-spacing:.05em;text-transform:uppercase;color:var(--app-accent, #4f46e5);background:color-mix(in srgb,var(--app-accent, #4f46e5) 12%,var(--app-surface, #fff));border:1px solid color-mix(in srgb,var(--app-accent, #4f46e5) 28%,var(--app-border, #e2e8f0));box-sizing:border-box}.tt-rp-mtable__foot-first-label{font-weight:800;font-size:.75rem;line-height:1.25;letter-spacing:.05em;text-transform:uppercase;color:var(--app-accent, #4f46e5)}.tt-rp-mtable__foot-first-dup{margin-top:.5rem}.tt-rp-mtable__foot-first-dup--money{text-align:inherit}.tt-rp-mtable-head{display:flex;flex-direction:column;align-items:stretch;gap:.625rem;padding:.875rem 1rem;border-bottom:1px solid var(--app-border, #e2e8f0);background:var(--app-surface-soft, #f8fafc)}.tt-rp-mtable-head__top{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;flex-wrap:wrap}.tt-rp-mtable-head-text{flex:1 1 16rem;min-width:0;display:flex;flex-direction:column;gap:.75rem}.tt-rp-mtable-title{margin:0;font-size:1.125rem;font-weight:700;color:var(--app-text, #0f172a);letter-spacing:-.025em;line-height:1.3;min-width:0}.tt-rp-mtable-title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0}.tt-rp-mtable-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;min-width:0}.tt-rp-mtable-toolbar__btn{padding:.45rem .85rem;font-size:.8125rem}.tt-rp-mtable-toolbar__btn--primary{color:var(--app-accent, #4f46e5);border-color:color-mix(in srgb,var(--app-accent, #4f46e5) 35%,var(--app-border, #e2e8f0));background:color-mix(in srgb,var(--app-accent, #4f46e5) 6%,var(--app-surface, #fff))}.tt-rp-mtable-toolbar__btn--primary:hover{background:color-mix(in srgb,var(--app-accent, #4f46e5) 12%,var(--app-surface, #fff));border-color:color-mix(in srgb,var(--app-accent, #4f46e5) 50%,var(--app-border, #e2e8f0))}.tt-rp-mtable-badge{flex-shrink:0;padding:.2rem .55rem;border-radius:8px;font-size:.6875rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box}.tt-rp-mtable-badge--api{color:var(--app-accent, #4f46e5);background:color-mix(in srgb,var(--app-accent, #4f46e5) 10%,var(--app-surface, #fff));border:1px solid color-mix(in srgb,var(--app-accent, #4f46e5) 28%,var(--app-border, #e2e8f0))}.tt-rp-mtable-badge--saving{color:#b45309;background:#fef3c7;border:1px solid #fcd34d}.tt-rp-mtable-badge--ok{color:#047857;background:#d1fae5;border:1px solid #6ee7b7}.tt-rp-mtable-badge--err{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.tt-rp-mtable-badge--ro{color:var(--app-muted, #64748b);background:var(--app-surface-soft, #f1f5f9);border:1px solid var(--app-border, #e2e8f0)}body[data-theme=dark] .tt-rp-mtable-badge--ro{color:var(--app-muted, #94a3b8);background:#ffffff0f;border-color:var(--app-border, #334155)}.tt-rp-mtable-badge-demo{flex-shrink:0;padding:.12rem .45rem;border-radius:6px;font-size:.625rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#5b21b6;background:linear-gradient(180deg,#ede9fe,#ddd6fe);border:1px solid color-mix(in srgb,#7c3aed 22%,transparent)}.tt-rp-mtable-sub{margin:.35rem 0 0;font-size:.8125rem;color:var(--app-muted, #64748b);line-height:1.45}.tt-rp-mtable-selectbar{display:flex;align-items:center;gap:.5rem;max-width:100%;padding:.5rem .65rem;border-radius:10px;border:1px solid var(--app-border, #e2e8f0);background:var(--app-surface, #fff);color:var(--app-text-dim, #334155);box-sizing:border-box}.tt-rp-mtable-selectbar__text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:600}.tt-rp-mtable-selectbar__btn{flex-shrink:0;margin:0;padding:.3rem .65rem;border-radius:8px;border:1px solid var(--app-border, #e2e8f0);background:var(--app-surface-soft, #f8fafc);color:var(--app-accent, #4f46e5);font:inherit;font-size:.75rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.tt-rp-mtable-selectbar__btn:hover{background:var(--app-surface, #fff);border-color:color-mix(in srgb,var(--app-accent, #4f46e5) 35%,var(--app-border, #e2e8f0))}.tt-rp-mtable-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;flex:1 1 22rem;min-width:min(100%,28rem);max-width:36rem}.tt-rp-mtable-stat{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;box-sizing:border-box;min-width:0;padding:.85rem 1rem;border-radius:12px;border:1px solid var(--app-border, #e2e8f0);background:var(--app-surface, #fff);box-shadow:0 1px 2px #0f172a0a}.tt-rp-mtable-stat--accent .tt-rp-mtable-stat__val{color:var(--app-accent, #4f46e5)}.tt-rp-mtable-stat--share .tt-rp-mtable-stat__val{color:#2563eb}.tt-rp-mtable-stat--money .tt-rp-mtable-stat__val--money{font-size:.9375rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--app-text, #0f172a);max-width:100%;line-height:1.2;word-break:break-word}.tt-rp-mtable-stat__val{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--app-text, #0f172a);line-height:1.15;letter-spacing:-.02em}.tt-rp-mtable-stat__lbl{margin-top:.125rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--app-muted, #64748b)}@media(max-width:1100px){.tt-rp-mtable-head__top{flex-direction:column;align-items:stretch}.tt-rp-mtable-stats{max-width:none;width:100%}}@media(max-width:640px){.tt-rp-mtable-head{padding:1rem}.tt-rp-mtable-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.tt-rp-mtable-stat{padding:.65rem .75rem}.tt-rp-mtable-stat__val{font-size:1.0625rem}.tt-rp-mtable-toolbar__btn{flex:1 1 auto;justify-content:center}}body[data-theme=dark] .tt-rp-mtable-head{background:color-mix(in srgb,var(--app-surface, #1a2332) 88%,#0f172a)}body[data-theme=dark] .tt-rp-mtable-stat{box-shadow:0 1px 3px #0003}body[data-theme=dark] .tt-rp-mtable-stat--share .tt-rp-mtable-stat__val{color:#60a5fa}.tt-rp-mtable-pill{flex-shrink:0;padding:.35rem .75rem;border-radius:999px;font-size:.8125rem;font-weight:700;font-variant-numeric:tabular-nums;color:#fff;background:var(--app-accent, #4f46e5)}.tt-rp-mtable-amount{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;width:100%}.tt-rp-mtable-amount__input{flex:1 1 4.5rem;min-width:0}.tt-rp-mtable-amount__iso{flex-shrink:0;font-size:.625rem;font-weight:800;letter-spacing:.04em;color:var(--app-muted, #64748b);padding:.15rem .28rem;border-radius:5px;background:var(--app-bg-soft, #f1f5f9);border:1px solid var(--app-border, #e2e8f0)}.tt-rp-mtable-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 .5rem .35rem;box-sizing:border-box;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--app-muted, #94a3b8) var(--app-surface-soft, #e8ecf4);-ms-overflow-style:auto}.tt-rp-mtable-scroll::-webkit-scrollbar{display:block;width:11px;height:11px}.tt-rp-mtable-scroll::-webkit-scrollbar-track{background:var(--app-surface-soft, #e8ecf4);border-radius:6px}.tt-rp-mtable-scroll::-webkit-scrollbar-thumb{background:var(--app-muted, #94a3b8);border-radius:6px;border:2px solid var(--app-surface-soft, #e8ecf4)}.tt-rp-mtable-scroll::-webkit-scrollbar-thumb:hover{background:var(--app-text-light, #64748b)}body[data-theme=dark] .tt-rp-mtable-scroll{scrollbar-color:#64748b #1e293b}body[data-theme=dark] .tt-rp-mtable-scroll::-webkit-scrollbar-track{background:#1e293b}body[data-theme=dark] .tt-rp-mtable-scroll::-webkit-scrollbar-thumb{background:#64748b;border-color:#1e293b}body[data-theme=dark] .tt-rp-mtable-scroll::-webkit-scrollbar-thumb:hover{background:#94a3b8}.tt-rp-mtable-scroll--sticky-x{max-width:100%;max-height:min(78dvh,52rem);overflow:auto;scrollbar-gutter:stable;background:var(--app-surface, #fff)}.tt-rp-preview--fill .tt-rp-preview__body-pad{padding:.5rem .75rem .75rem;display:flex;flex-direction:column}.tt-rp-preview--fill .tt-rp-mtable-wrap{flex:1;min-height:0;display:flex;flex-direction:column;padding-inline:0}.tt-rp-preview--fill .tt-rp-mtable-card{flex:1;min-height:0;display:flex;flex-direction:column}.tt-rp-preview--fill .tt-rp-mtable-scroll--sticky-x{flex:1;min-height:12rem;max-height:none}.tt-rp-preview--fill .tt-rp-preview__live,.tt-rp-preview--fill .tt-rp-preview__live--sheet{flex:1;min-height:0;display:flex;flex-direction:column;padding:.35rem 0 .5rem}.tt-rp-mtable-scroll--sticky-x .tt-rp-mtable__th{position:sticky;top:0;z-index:6;box-shadow:inset 0 -1px 0 var(--app-border, #e2e8f0)}.tt-rp-mtable-scroll--sticky-x tfoot .tt-rp-mtable__td{position:sticky;bottom:0;z-index:8;background:var(--app-surface, #fff)!important;box-shadow:0 -6px 16px #0f172a14}.tt-rp-mtable__virtual-spacer td{padding:0!important;border:none!important;background:transparent!important;pointer-events:none}.tt-rp-mtable.tt-rp-mtable--wide,.tt-rp-mtable.tt-rp-mtable--time-wide,.tt-rp-mtable.tt-rp-mtable--time-brief{width:100%;min-width:100%;table-layout:fixed}.tt-rp-mtable--time-wide tbody .tt-rp-mtable__td,.tt-rp-mtable--time-wide tbody .tt-rp-mtable__td--pick,.tt-rp-mtable--time-wide tbody .tt-rp-mtable__td--comment{vertical-align:middle}.tt-rp-mtable--time-wide tbody .tt-rp-mtable__input--iso,.tt-rp-mtable--time-wide tbody .tt-rp-mtable__input--idtext,.tt-rp-mtable--time-wide tbody .tt-rp-mtable__input--name,.tt-rp-mtable--time-wide tbody .tt-rp-mtable__input--url,.tt-rp-mtable--time-wide tbody .tt-rp-mtable__input--emp{display:block;width:100%;max-width:100%;min-width:0;margin-left:0;margin-right:0;box-sizing:border-box}.tt-rp-mtable--time-wide tbody .tt-rp-mtable__input--iso{text-overflow:ellipsis}.tt-rp-mtable--time-wide tbody .tt-rp-mtable__input--date{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.tt-rp-mtable--time-wide tbody .tt-rp-mtable__textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.tt-rp-mtable--time-wide tbody .tt-rp-mtable__input--cur{display:block;width:100%;max-width:100%;min-width:0;margin-left:0;box-sizing:border-box}.tt-rp-mtable--time-wide tbody .tt-rp-mtable__td--num:not(.tt-rp-mtable__td--sum-ro) .tt-rp-mtable__input--num,.tt-rp-mtable--time-wide tbody .tt-rp-mtable__td--num .tt-rp-mtable__input--num,.tt-rp-mtable--time-wide tbody .tt-rp-mtable__td--num:not(.tt-rp-mtable__td--sum-ro) .tt-rp-mtable__input--duration{display:block;width:100%;max-width:7.75rem;margin-left:auto;box-sizing:border-box}.tt-rp-mtable--time-wide tbody .tt-rp-mtable__td--tight .tt-rp-mtable__cb{margin-inline:auto}.tt-rp-mtable--time-wide .tt-rp-mtable__td--readonly,.tt-rp-mtable--time-wide .tt-rp-mtable__td--pick{vertical-align:middle}.tt-rp-mtable--time-wide .tt-rp-mtable__readonly{max-width:min(10.5rem,32vw);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;word-break:normal;overflow-wrap:normal;display:block}.tt-rp-mtable--time-wide tbody .tt-rp-mtable__td--readonly .tt-rp-mtable__readonly{max-width:100%}.tt-rp-mtable--time-wide .tt-rp-mtable__th--comment,.tt-rp-mtable--time-wide .tt-rp-mtable__td--comment{min-width:16rem;max-width:18rem}.tt-rp-mtable.tt-rp-mtable--time-wide{width:max-content;min-width:100%;table-layout:auto}.tt-rp-mtable--time-wide .tt-rp-mtable__th--pick,.tt-rp-mtable--time-wide .tt-rp-mtable__td--pick{min-width:12rem}.tt-rp-mtable--time-wide .tt-rp-mtable__th--employee-head{min-width:10.5rem}.tt-rp-mtable--time-wide .tt-rp-mtable__srch-btn.tsp-srch__btn{align-items:center;min-height:2.4rem;padding-top:.35rem;padding-bottom:.35rem}.tt-rp-mtable--time-wide .tt-rp-mtable__srch-btn .tsp-srch__btn-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;word-break:normal;max-width:9.5rem}.tt-rp-mtable.tt-rp-mtable--time-brief{display:table;width:100%;min-width:min(100%,80rem);table-layout:fixed;border-collapse:collapse}.tt-rp-mtable--time-brief .tt-rp-mtable__td--brief-dt{vertical-align:middle;min-width:17.25rem}.tt-rp-mtable--time-brief tbody .tt-rp-mtable__td,.tt-rp-mtable--time-brief thead .tt-rp-brief-th{padding:.35rem .45rem}.tt-rp-mtable--time-brief tbody .tt-rp-mtable__td{vertical-align:middle}.tt-rp-mtable--time-brief .tt-rp-mtable__input,.tt-rp-mtable--time-brief .tt-rp-brief-dt__input{padding:.28rem .4rem;min-height:1.85rem;font-size:.8125rem}.tt-rp-mtable--time-brief .tt-rp-mtable__td--num .tt-rp-mtable__input--duration{min-height:1.85rem;padding:.28rem .4rem}.tt-rp-mtable--time-brief .tt-rp-mtable__textarea--brief{min-height:1.75rem;padding:.28rem .4rem;line-height:1.3}.tt-rp-mtable--time-brief .tt-rp-mtable__srch-btn.tsp-srch__btn{min-height:1.85rem;padding:.28rem .4rem;align-items:center}.tt-rp-mtable--time-brief .tt-rp-mtable__srch-btn .tsp-srch__btn-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal;line-height:1.2;max-width:100%}.tt-rp-mtable--time-brief tbody .tt-rp-mtable__td--brief-actions{padding:.3rem .25rem}.tt-rp-mtable--time-brief .tt-rp-mtable__row-act{width:1.6rem;height:1.6rem}.tt-rp-mtable--time-brief .tt-rp-brief-dt__row--inline{grid-template-columns:minmax(8.75rem,1fr) max-content minmax(7rem,7.5rem) 1.35rem;column-gap:.35rem}.tt-rp-mtable--time-brief .tt-rp-brief-dt__cell--time{min-width:7rem}.tt-rp-mtable--time-brief .tt-rp-brief-dt__input--time{min-width:6.75rem;padding-inline-end:.5rem}.tt-rp-mtable--time-brief .tt-rp-brief-dt__hint{margin:.2rem 0 0;font-size:.6875rem;line-height:1.25}.tt-rp-mtable--time-brief .tt-rp-mtable__foot .tt-rp-mtable__td{padding-top:.5rem;padding-bottom:.5rem}.tt-rp-mtable-head .tt-rp-mtable-selectbar{padding:.35rem .5rem}.tt-rp-mtable--time-brief .tt-rp-mtable__td--pick,.tt-rp-mtable--time-brief .tt-rp-mtable__td--comment{vertical-align:middle}.tt-rp-mtable--time-brief tbody .tt-rp-mtable__td--num:not(.tt-rp-mtable__td--sum-ro){vertical-align:middle;display:table-cell;text-align:right;box-sizing:border-box}.tt-rp-mtable--time-brief tbody .tt-rp-mtable__td--num.tt-rp-mtable__td--sum-ro{display:table-cell;text-align:right;vertical-align:middle}.tt-rp-mtable--time-brief thead .tt-rp-brief-th{display:table-cell;vertical-align:middle;box-sizing:border-box}.tt-rp-brief-th__row{display:flex;align-items:center;justify-content:flex-start;gap:.2rem;flex-wrap:nowrap;min-width:0}.tt-rp-brief-th__label{flex:0 1 auto;min-width:0;font:inherit;font-weight:600;font-size:.8125rem;line-height:1.3;text-align:left;color:var(--app-text, #334155);letter-spacing:0}.tt-rp-mtable--time-brief .tt-rp-mtable__th--employee-head{width:14%}.tt-rp-mtable--time-brief .tt-rp-mtable__th--brief-when{width:19%}.tt-rp-mtable--time-brief .tt-rp-mtable__th--pick{width:14%}.tt-rp-mtable--time-brief .tt-rp-mtable__th--comment{width:26%}.tt-rp-mtable--time-brief .tt-rp-brief-th--num{width:8%}.tt-rp-mtable--time-brief .tt-rp-brief-th--sum{width:8%;text-align:right}.tt-rp-mtable .tt-rp-mtable__th--brief-actions{width:6.85rem;min-width:6.85rem;text-align:center;vertical-align:middle;padding-left:.35rem;padding-right:.35rem;white-space:normal;line-height:1.25}.tt-rp-mtable tbody .tt-rp-mtable__td--brief-actions{display:table-cell;vertical-align:middle;text-align:center;padding:.45rem .35rem;width:6.85rem;min-width:6.85rem;box-sizing:border-box}.tt-rp-mtable__brief-th__row--actions{justify-content:center}.tt-rp-mtable__brief-th__row--actions .tt-rp-brief-th__label{flex:0 1 auto;text-align:center}.tt-rp-mtable .tt-rp-mtable__td--brief-actions--foot{width:6.85rem;min-width:6.85rem;box-sizing:border-box}.tt-rp-mtable__brief-row-actions{display:inline-flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:.35rem;vertical-align:middle}.tt-rp-mtable__row-act{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;margin:0;padding:0;border:1px solid var(--app-border, #e2e8f0);border-radius:6px;background:var(--app-surface, #fff);color:var(--app-muted, #64748b);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.tt-rp-mtable__row-act:hover:not(:disabled){background:color-mix(in srgb,var(--app-accent, #4f46e5) 10%,var(--app-surface, #fff));border-color:color-mix(in srgb,var(--app-accent, #4f46e5) 35%,var(--app-border, #e2e8f0));color:var(--app-accent, #4f46e5)}.tt-rp-mtable__row-act:disabled{opacity:.45;cursor:not-allowed}.tt-rp-mtable__row-act--del:hover:not(:disabled){color:#b91c1c;border-color:#b91c1c59;background:#fee2e299}.tt-rp-mtable__row-act--unlock:hover:not(:disabled){color:#15803d;border-color:#22c55e73;background:#dcfce7a6}.tt-rp-mtable__row-act-ico{display:flex;line-height:0}.tt-rp-mtable-move-ov{position:fixed;top:0;right:0;bottom:0;left:0;z-index:13500;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a7a;box-sizing:border-box}.tt-rp-mtable-move{width:100%;max-width:26rem;max-height:min(90dvh,32rem);overflow:auto;background:var(--app-surface, #fff);color:var(--app-text, #0f172a);border-radius:12px;box-shadow:0 24px 60px #00000038;box-sizing:border-box}.tt-rp-mtable-move__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem .5rem;border-bottom:1px solid var(--app-border, #e2e8f0)}.tt-rp-mtable-move__title{margin:0;font-size:1.05rem;font-weight:700;line-height:1.3}.tt-rp-mtable-move__x{flex-shrink:0;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:6px;background:transparent;color:var(--app-muted, #64748b);font-size:1.35rem;line-height:1;cursor:pointer}.tt-rp-mtable-move__x:hover:not(:disabled){background:var(--app-bg-soft, #f1f5f9);color:var(--app-text, #0f172a)}.tt-rp-mtable-move__lead{margin:0;padding:.75rem 1rem .5rem;font-size:.875rem;line-height:1.45;color:var(--app-text-light, #475569)}.tt-rp-mtable-move__field{padding:.25rem 1rem 1rem}.tt-rp-mtable-move__lbl{display:block;margin-bottom:.35rem;font-size:.8rem;font-weight:600;color:var(--app-muted, #64748b)}.tt-rp-mtable-move__foot{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem 1rem;border-top:1px solid var(--app-border, #e2e8f0)}.tt-rp-mtable-move__btn{margin:0;padding:.45rem .9rem;font:inherit;font-size:.875rem;font-weight:600;border-radius:8px;cursor:pointer;border:1px solid transparent}.tt-rp-mtable-move__btn--ghost{background:var(--app-bg-soft, #f1f5f9);color:var(--app-text, #0f172a);border-color:var(--app-border, #e2e8f0)}.tt-rp-mtable-move__btn--ok{background:var(--app-accent, #4f46e5);color:#fff}.tt-rp-mtable-move__btn:disabled{opacity:.55;cursor:not-allowed}.tt-rp-brief-columns-modal-ov{position:fixed;top:0;right:0;bottom:0;left:0;z-index:13600;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a7a;box-sizing:border-box}.tt-rp-brief-columns-modal{width:100%;max-width:42rem;max-height:min(92dvh,36rem);display:flex;flex-direction:column;overflow:hidden;background:var(--app-surface, #fff);color:var(--app-text, #0f172a);border-radius:12px;box-shadow:0 24px 60px #00000038;box-sizing:border-box}.tt-rp-brief-columns-modal--full-cols{max-width:46rem;max-height:min(94dvh,40rem)}.tt-rp-brief-columns-modal--full-cols .tt-rp-brief-columns__panes{max-height:min(26rem,58vh)}.tt-rp-brief-columns-modal__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.85rem 1rem;border-bottom:1px solid var(--app-border, #e2e8f0);flex-shrink:0}.tt-rp-brief-columns-modal__title{margin:0;font-size:1.05rem;font-weight:700;line-height:1.3;flex:1 1 auto;min-width:0}.tt-rp-brief-columns-modal__head-actions{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0}.tt-rp-brief-columns__all--modal{margin:0}.tt-rp-brief-columns-modal__x{flex-shrink:0;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:6px;background:transparent;color:var(--app-muted, #64748b);font-size:1.35rem;line-height:1;cursor:pointer}.tt-rp-brief-columns-modal__x:hover{background:var(--app-bg-soft, #f1f5f9);color:var(--app-text, #0f172a)}.tt-rp-brief-columns-modal__body{flex:1 1 auto;min-height:0;overflow:auto;padding:.65rem 1rem .85rem}.tt-rp-brief-columns-modal__body .tt-rp-brief-columns__hint{margin-top:0;margin-bottom:.55rem}.tt-rp-brief-columns-modal .tt-rp-brief-columns__panes{max-height:min(22rem,52vh)}.tt-rp-brief-columns-modal__foot{display:flex;justify-content:flex-end;gap:.5rem;padding:.65rem 1rem 1rem;border-top:1px solid var(--app-border, #e2e8f0);flex-shrink:0}.tt-rp-brief-columns-modal__done{margin:0;padding:.45rem 1rem;font:inherit;font-size:.875rem;font-weight:600;border-radius:8px;cursor:pointer;border:1px solid transparent;background:var(--app-accent, #4f46e5);color:#fff}.tt-rp-brief-columns-modal__done:hover{filter:brightness(1.06)}.tt-rp-brief-th__stack{display:flex;flex-direction:column;align-items:stretch;gap:.3rem;min-width:0}.tt-rp-brief-th__head{display:flex;align-items:center;justify-content:space-between;gap:.35rem;min-width:0}.tt-rp-brief-th__title{font:inherit;font-weight:700;line-height:1.25;text-align:left}.tt-rp-brief-th__title-only{display:block;font-weight:700;line-height:1.25}.tt-rp-brief-th__sort{flex-shrink:0;margin:0;padding:.15rem .4rem;font:inherit;font-size:.85rem;font-weight:800;line-height:1;color:var(--app-accent, #4f46e5);background:#4f46e514;border:1px solid rgba(79,70,229,.28);border-radius:5px;cursor:pointer}.tt-rp-brief-th__sort:hover{background:#4f46e524}.tt-rp-brief-filt{display:block;width:100%;box-sizing:border-box;min-width:0;min-height:1.9rem;margin:0;padding:.3rem .4rem;font:inherit;font-size:.7rem;line-height:1.2;color:var(--app-text, #0f172a);background:var(--app-surface, #fff);border:1px solid var(--app-border, #e2e8f0);border-radius:5px}.tt-rp-brief-filt::placeholder{color:var(--app-muted, #94a3b8);font-size:.68rem}.tt-rp-brief-filt:focus{outline:none;border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 2px #4f46e526}.tt-rp-brief-dt{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.tt-rp-brief-dt__row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.tt-rp-brief-dt__row--inline{display:grid;grid-template-columns:minmax(9.5rem,1fr) max-content minmax(6.75rem,7.25rem) 1.5rem;align-items:center;column-gap:.4rem;min-width:0}.tt-rp-brief-dt__cell{min-width:0;position:relative}.tt-rp-brief-dt__cell--info{display:flex;justify-content:center;align-items:center;justify-self:center}.tt-rp-brief-dt__cell--date .tt-rp-brief-dt__input,.tt-rp-brief-dt__cell--time .tt-rp-brief-dt__input{width:100%;min-width:0}.tt-rp-brief-dt__label--sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tt-rp-brief-dt__field{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1 1 6.5rem}.tt-rp-brief-dt__label{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--app-muted, #64748b);line-height:1.2}.tt-rp-brief-dt__input{box-sizing:border-box;width:100%;min-height:2.1rem;padding:.32rem .45rem;font-family:inherit;font-size:.8125rem;font-variant-numeric:tabular-nums;color:var(--app-text, #0f172a);background:var(--app-surface, #fff);border:1.5px solid var(--app-border, #e2e8f0);border-radius:6px}.tt-rp-brief-dt__input:hover:not(:disabled){border-color:var(--app-muted, #94a3b8)}.tt-rp-brief-dt__input:focus{outline:none;border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 2px #4f46e533}.tt-rp-brief-dt__input--date{min-width:0}.tt-rp-brief-dt__input--time{min-width:0;max-width:none}.tt-rp-brief-dt__row--inline .tt-rp-brief-dt__sep{text-align:center;padding:0}.tt-rp-brief-dt__sep{color:var(--app-border, #e2e8f0);font-weight:300;font-size:.9rem;line-height:1;padding:0 .12rem;-webkit-user-select:none;user-select:none;flex:0 0 auto;align-self:center}.tt-rp-brief-dt__hint{margin:.4rem 0 0;font-size:.6875rem;line-height:1.4;color:var(--app-muted, #64748b);font-variant-numeric:tabular-nums}.tt-rp-brief-dt__hint time{font-weight:600;color:var(--app-text-light, #475569)}.tt-rp-brief-dt__sysinfo{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;margin:0;padding:0;border:1.5px solid var(--app-border, #e2e8f0);border-radius:50%;background:var(--app-surface-soft, #f1f5f9);color:var(--app-muted, #64748b);cursor:help;line-height:1;transition:border-color .15s,color .15s,background .15s}.tt-rp-brief-dt__sysinfo:hover{border-color:var(--app-accent, #4f46e5);color:var(--app-accent, #4f46e5);background:color-mix(in srgb,var(--app-accent, #6366f1) 8%,var(--app-surface, #fff))}.tt-rp-brief-dt__sysinfo:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--app-accent, #6366f1) 35%,transparent)}.tt-rp-brief-dt__sysinfo-icon{font-size:.7rem;font-weight:700;font-style:italic;font-family:var(--app-font-family);-webkit-user-select:none;user-select:none}.tt-rp-brief-dt__sysinfo-spacer{display:block;width:1.4rem;height:1.4rem;flex-shrink:0}.tt-rp-mtable--time-brief .tt-rp-mtable__brief-task{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.4rem .5rem;min-width:0}.tt-rp-mtable--time-brief .tt-rp-mtable__brief-task .tt-rp-mtable__srch{flex:1 1 100%;min-width:0;max-width:100%}.tt-rp-mtable--time-brief .tt-rp-mtable__input--emp{max-width:100%}.tt-rp-mtable--time-brief .tt-rp-mtable__th--comment,.tt-rp-mtable--time-brief .tt-rp-mtable__td--comment{min-width:10rem;max-width:22rem}.tt-rp-mtable__td--readonly{vertical-align:top}.tt-rp-mtable__readonly{display:block;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.4;box-sizing:border-box;min-width:2.5rem}.tt-rp-mtable__th--tight,.tt-rp-mtable__td--tight{text-align:center;padding-left:.45rem;padding-right:.45rem}.tt-rp-mtable__cb{width:1.05rem;height:1.05rem;margin:0 auto;display:block;accent-color:var(--app-accent, #4f46e5);cursor:pointer}.tt-rp-mtable__input--emp{min-width:9rem;max-width:14rem}.tt-rp-mtable__input--id{width:5.25rem;max-width:6rem;margin-left:0;text-align:right}.tt-rp-mtable__input--role{min-width:5rem;max-width:8rem}.tt-rp-mtable__input--date{width:auto;min-width:8.5rem;max-width:10rem}.tt-rp-mtable__input--iso{min-width:11rem;max-width:15rem;font-variant-numeric:tabular-nums}.tt-rp-mtable__input--idtext{min-width:5.5rem;max-width:8rem}.tt-rp-mtable__input--code{min-width:4rem;max-width:6.5rem}.tt-rp-mtable__input--name{min-width:7rem;max-width:11rem}.tt-rp-mtable__input--cur{width:4.25rem;max-width:5rem;text-transform:uppercase;margin-left:0}.tt-rp-mtable__input--url{min-width:12rem;width:min(18rem,36vw);max-width:22rem}.tt-rp-mtable__th--employee-head{white-space:normal;vertical-align:bottom;min-width:10.5rem}.tt-rp-mtable__th-employee{display:flex;align-items:center;justify-content:flex-start;gap:.25rem;flex-wrap:nowrap;min-width:0}.tt-rp-mtable__th-employee-label{font-weight:inherit;line-height:1.25}.tt-rp-xlf{position:relative;flex-shrink:0}.tt-rp-xlf__trigger{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;padding:0;margin:0;border:1px solid var(--app-border, #e2e8f0);border-radius:6px;background:var(--app-surface, #fff);color:var(--app-muted, #64748b);cursor:pointer;font-size:.55rem;line-height:1}.tt-rp-xlf__trigger:hover{border-color:var(--app-muted, #94a3b8);color:var(--app-text, #0f172a)}.tt-rp-xlf--open .tt-rp-xlf__trigger{border-color:var(--app-accent, #4f46e5);color:var(--app-accent, #4f46e5)}.tt-rp-xlf__chev{display:block;transition:transform .15s ease}.tt-rp-xlf--open .tt-rp-xlf__chev{transform:rotate(-180deg)}.tt-rp-mtable .tt-rp-xlf__trigger{width:1.125rem;height:1.125rem;min-width:1.125rem;padding:0;border:none;border-radius:4px;background:transparent;color:color-mix(in srgb,var(--app-muted, #64748b) 92%,transparent);font-size:.5rem;line-height:1}.tt-rp-mtable .tt-rp-xlf__trigger:hover{background:color-mix(in srgb,var(--app-text, #0f172a) 7%,transparent);color:var(--app-text, #334155)}.tt-rp-mtable .tt-rp-xlf--open .tt-rp-xlf__trigger{background:color-mix(in srgb,var(--app-accent, #4f46e5) 12%,transparent);color:var(--app-accent, #4f46e5)}.tt-rp-mtable--time-brief thead .tt-rp-mtable__th{background:linear-gradient(180deg,color-mix(in srgb,var(--app-accent, #4f46e5) 7%,var(--app-surface-soft, #f8fafc)) 0%,var(--app-surface-soft, #f1f5f9) 100%);border-bottom:1px solid color-mix(in srgb,var(--app-border, #e2e8f0) 82%,var(--app-accent, #4f46e5))}body[data-theme=dark] .tt-rp-mtable--time-brief thead .tt-rp-mtable__th{background:linear-gradient(180deg,color-mix(in srgb,var(--app-accent) 12%,#1e293b),#1a2332);border-bottom-color:color-mix(in srgb,var(--app-border) 75%,var(--app-accent))}body[data-theme=dark] .tt-rp-brief-th__label{color:var(--app-text, #e2e8f0)}.tt-rp-xlf__panel--portal{padding:.65rem .75rem;border-radius:10px;border:1px solid var(--app-border, #e2e8f0);background:var(--app-surface, #fff);box-shadow:0 12px 40px #0f172a26;max-height:min(70vh,26rem);overflow:auto;box-sizing:border-box}.tt-rp-xlf__section{padding:.15rem 0}.tt-rp-xlf__section-title{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--app-muted, #64748b)}.tt-rp-xlf__section-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.tt-rp-xlf__link{padding:0;border:none;background:none;font:inherit;font-size:.75rem;font-weight:600;color:var(--app-accent, #4f46e5);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.tt-rp-xlf__opt{display:block;width:100%;margin-top:.35rem;padding:.4rem .5rem;text-align:left;font:inherit;font-size:.8125rem;border:1px solid transparent;border-radius:6px;background:var(--app-surface-soft, #f8fafc);cursor:pointer;color:var(--app-text, #0f172a)}.tt-rp-xlf__opt:hover{background:var(--app-border-soft, #eef2f7)}.tt-rp-xlf__opt--active{border-color:color-mix(in srgb,var(--app-accent, #4f46e5) 40%,transparent);background:color-mix(in srgb,var(--app-accent, #4f46e5) 10%,var(--app-surface));font-weight:600;color:var(--app-accent, #4f46e5)}.tt-rp-xlf__sep{height:1px;margin:.5rem 0;background:var(--app-border, #e2e8f0)}.tt-rp-xlf__hint{margin:0 0 .4rem;font-size:.6875rem;line-height:1.35;color:var(--app-muted, #64748b)}.tt-rp-xlf__list{margin:0;padding:0;list-style:none;max-height:12rem;overflow:auto}.tt-rp-xlf__li{margin:0;padding:0}.tt-rp-xlf__lbl{display:flex;align-items:flex-start;gap:.45rem;padding:.3rem .25rem;border-radius:6px;cursor:pointer;font-size:.8125rem}.tt-rp-xlf__lbl:hover{background:var(--app-bg-soft, #f1f5f9)}.tt-rp-xlf__cb{margin-top:.12rem;flex-shrink:0;accent-color:var(--app-accent, #4f46e5)}.tt-rp-xlf__name{line-height:1.3;word-break:break-word}.tt-rp-xlf__foot{margin-top:.5rem;padding-top:.45rem;border-top:1px solid var(--app-border, #e2e8f0);font-size:.75rem;color:var(--app-muted, #64748b)}.tt-rp-xlf__search-input{display:block;width:100%;box-sizing:border-box;margin:.2rem 0 0;min-height:2rem;padding:.4rem .5rem;font:inherit;font-size:.8125rem;line-height:1.3;color:var(--app-text, #0f172a);background:var(--app-surface-soft, #f8fafc);border:1px solid var(--app-border, #e2e8f0);border-radius:6px}.tt-rp-xlf__search-input::placeholder{color:var(--app-muted, #94a3b8);font-size:.8rem}.tt-rp-xlf__search-input:focus{outline:none;border-color:var(--app-accent, #4f46e5);background:var(--app-surface, #fff);box-shadow:0 0 0 2px #4f46e526}.tt-rp-mtable{width:100%;border-collapse:separate;border-spacing:0;font-size:.8125rem}.tt-rp-mtable__th{text-align:left;padding:.75rem .85rem;font-weight:600;color:var(--app-muted, #64748b);background:var(--app-surface-soft, #f8fafc);border-bottom:1px solid var(--app-border, #e2e8f0);white-space:nowrap}.tt-rp-mtable__th--rn{width:2.5rem;text-align:center}.tt-rp-mtable__th--num{text-align:right}.tt-rp-mtable__th--pick{min-width:12rem;white-space:normal;line-height:1.35}.tt-rp-mtable__th--comment{min-width:14rem;white-space:normal;line-height:1.35}.tt-rp-mtable__td{padding:.65rem .85rem;border-bottom:1px solid var(--app-border-soft, #eef2f7);vertical-align:middle;color:var(--app-text, #0f172a)}.tt-rp-mtable__tr--alt .tt-rp-mtable__td{background:var(--app-surface-soft, #fafbfc)}.tt-rp-mtable__tr--pickable{cursor:pointer;transition:background-color .12s ease}.tt-rp-mtable__tr--server-week-locked .tt-rp-mtable__td{background:color-mix(in srgb,var(--app-surface) 90%,#f59e0b 10%)}.tt-rp-mtable__tr--void-reject .tt-rp-mtable__td{background:color-mix(in srgb,#fee2e2 48%,var(--app-surface, #fff))!important}.tt-rp-mtable__tr--void-realloc .tt-rp-mtable__td{background:color-mix(in srgb,#ffedd5 50%,var(--app-surface, #fff))!important}.tt-rp-brief-dt__hint--lock{color:#b45309;font-weight:500}.tt-rp-mtable tbody tr.tt-rp-mtable__tr--pickable:not(.tt-rp-mtable__tr--selected):hover .tt-rp-mtable__td{background:var(--app-bg-soft, #f1f5f9)}.tt-rp-mtable tbody tr.tt-rp-mtable__tr--pickable.tt-rp-mtable__tr--alt:not(.tt-rp-mtable__tr--selected):hover .tt-rp-mtable__td{background:color-mix(in srgb,var(--app-bg) 70%,var(--app-border) 30%)}.tt-rp-mtable tbody tr.tt-rp-mtable__tr--selected:hover .tt-rp-mtable__td{background:color-mix(in srgb,var(--app-accent, #4f46e5) 13%,var(--app-surface))}.tt-rp-mtable tbody tr.tt-rp-mtable__tr--selected.tt-rp-mtable__tr--alt:hover .tt-rp-mtable__td{background:color-mix(in srgb,var(--app-accent, #4f46e5) 15%,var(--app-bg))}.tt-rp-mtable tbody tr.tt-rp-mtable__tr--selected{box-shadow:inset 3px 0 0 var(--app-accent, #4f46e5)}.tt-rp-mtable__tr--selected .tt-rp-mtable__td{background:color-mix(in srgb,var(--app-accent, #4f46e5) 13%,var(--app-surface))}.tt-rp-mtable__tr--selected.tt-rp-mtable__tr--alt .tt-rp-mtable__td{background:color-mix(in srgb,var(--app-accent, #4f46e5) 15%,var(--app-bg))}.tt-rp-mtable tbody tr.tt-rp-mtable__tr--selected .tt-rp-mtable__td:first-child{box-shadow:inset 3px 0 0 var(--app-accent, #4f46e5)}.tt-rp-mtable__td--rn{text-align:center;font-weight:600;font-variant-numeric:tabular-nums;color:var(--app-muted, #64748b)}.tt-rp-mtable__td--strong{font-weight:600}.tt-rp-mtable__td--muted{color:var(--app-muted, #64748b);font-variant-numeric:tabular-nums}.tt-rp-mtable__td--num,.tt-rp-mtable__td--sum-ro{text-align:right;font-variant-numeric:tabular-nums}.tt-rp-mtable__sum-val{font-weight:600;color:var(--app-text, #0f172a)}.tt-rp-mtable__sum-val--foot{font-size:1rem}.tt-rp-mtable__td--pick{min-width:12rem;vertical-align:top}.tt-rp-mtable__td--comment{min-width:14rem;vertical-align:top}.tt-rp-mtable__input{width:100%;max-width:100%;box-sizing:border-box;padding:.5rem .6rem;border:1px solid var(--app-border, #e2e8f0);border-radius:8px;font:inherit;font-size:.8125rem;background:var(--field-bg, var(--app-surface, #fff));color:var(--app-text, #0f172a)}.tt-rp-mtable__input:focus{outline:none;border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 2px #4f46e51f}.tt-rp-mtable__input:hover:not(:disabled),.tt-rp-mtable__textarea:hover:not(:disabled),.tt-rp-mtable__select:hover:not(:disabled){border-color:color-mix(in srgb,var(--app-accent, #4f46e5) 34%,var(--app-border, #e2e8f0))}.tt-rp-mtable__input--num{text-align:right;max-width:7rem;margin-left:auto}.tt-rp-mtable__input--duration{text-align:right;min-width:4.75rem;max-width:6.5rem;margin-left:auto;font-variant-numeric:tabular-nums}.tt-rp-mtable__td--num .tt-rp-mtable__input--duration{width:100%;max-width:6.5rem;min-width:4.75rem;min-height:2.1rem;margin:0 0 0 auto;padding:.5rem .6rem;border:1px solid var(--app-border, #e2e8f0);border-radius:8px;background:var(--field-bg, var(--app-surface, #fff));color:var(--app-text, #0f172a);box-shadow:none;outline:none}.tt-rp-mtable__td--num .tt-rp-mtable__input--duration:focus{border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 2px #4f46e51f}.tt-rp-mtable__select{width:100%;max-width:6.5rem;padding:.4rem .45rem;border-radius:8px;border:1px solid var(--app-border, #e2e8f0);font:inherit;font-size:.8125rem;background:var(--field-bg, var(--app-surface, #fff))}.tt-rp-mtable__srch.tsp-srch{width:100%;max-width:none}.tt-rp-mtable__srch-btn.tsp-srch__btn{min-height:34px;width:100%;max-width:none;justify-content:space-between;align-items:flex-start;padding-top:.45rem;padding-bottom:.45rem}.tt-rp-mtable__srch-btn .tsp-srch__btn-text{flex:1 1 auto;min-width:0;overflow:visible;text-overflow:clip;white-space:normal;word-break:break-word;line-height:1.35}.tt-rp-mtable__srch-btn .tsp-srch__chev{margin-top:.12rem}.tt-rp-mtable__textarea{display:block;width:100%;min-height:3.35rem;resize:vertical;line-height:1.35;white-space:pre-wrap;word-break:break-word;field-sizing:content}.tt-rp-mtable--time-brief .tt-rp-mtable__textarea--brief{min-height:2.35rem;resize:none;overflow-x:hidden;field-sizing:fixed}.tt-rp-mtable__textarea--autosize{resize:none;overflow-x:hidden;field-sizing:fixed}.tt-rp-mtable tfoot{box-shadow:inset 0 2px color-mix(in srgb,var(--app-accent, #4f46e5) 35%,var(--app-border, #e2e8f0))}.tt-rp-mtable__foot{background:color-mix(in srgb,var(--app-accent, #4f46e5) 7%,var(--app-surface-soft, #f8fafc));font-weight:600;pointer-events:none}.tt-rp-mtable__foot .tt-rp-mtable__td{background:color-mix(in srgb,var(--app-accent, #4f46e5) 7%,var(--app-surface-soft, #f8fafc))!important;border-bottom:none;border-top:2px solid color-mix(in srgb,var(--app-accent, #4f46e5) 22%,var(--app-border, #e2e8f0))}.tt-rp-mtable__td--foot{padding-top:.85rem;padding-bottom:.85rem;vertical-align:middle}.tt-rp-mtable__td--foot-label{color:var(--app-text, #0f172a);text-align:start;padding-left:.85rem;vertical-align:middle;border-left:3px solid var(--app-accent, #4f46e5);background:color-mix(in srgb,var(--app-accent, #4f46e5) 10%,var(--app-surface, #fff))!important}.tt-rp-mtable__foot .tt-rp-mtable__td--muted{color:var(--app-meta, #94a3b8);font-size:.8125rem;font-weight:600;text-align:center}.tt-rp-mtable__td--foot.tt-rp-mtable__td--num{color:var(--app-text, #0f172a);font-weight:700;text-align:right}.tt-rp-mtable__td--foot.tt-rp-mtable__td--num:has(.tt-rp-mtable__foot-summary){align-items:flex-end}.tt-rp-mtable__foot .tt-rp-mtable__sum-val--foot{font-size:1.0625rem;font-weight:800;color:var(--app-text, #0f172a)}.tt-rp-mtable__foot-h{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:.12rem;line-height:1.2;min-width:0}.tt-rp-mtable__foot .tt-rp-mtable__foot-h-main{font-size:1.0625rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--app-accent, #4f46e5)}.tt-rp-mtable__foot-h-dec{font-size:.68rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--app-muted, #64748b);letter-spacing:.01em}.tt-rp-mtable--time-brief tfoot .tt-rp-mtable__td--num.tt-rp-mtable__td--foot{display:table-cell;vertical-align:middle}body[data-theme=dark] .tt-rp-mtable-scroll--sticky-x tfoot .tt-rp-mtable__td{background:var(--app-surface, #1a2332)!important;box-shadow:0 -6px 20px #00000059}body[data-theme=dark] .tt-rp-mtable__foot .tt-rp-mtable__td,body[data-theme=dark] .tt-rp-mtable__foot{background:color-mix(in srgb,var(--app-accent, #6366f1) 14%,var(--app-surface-soft, #1e293b))!important}body[data-theme=dark] .tt-rp-mtable__td--foot-label{background:color-mix(in srgb,var(--app-accent, #6366f1) 18%,var(--app-surface, #1a2332))!important}body[data-theme=dark] .tt-rp-mtable__foot-summary-label{color:#a5b4fc;background:color-mix(in srgb,var(--app-accent, #6366f1) 18%,var(--app-surface, #1a2332));border-color:color-mix(in srgb,var(--app-accent, #6366f1) 35%,var(--app-border, #334155))}body[data-theme=dark] .tt-rp-mtable__foot .tt-rp-mtable__foot-h-main{color:#a5b4fc}.tt-rp-skel-wrap{max-width:100%}.tt-rp-skel-card__titles{display:flex;flex-direction:column;gap:.55rem;flex:1;min-width:0}.tt-rp-skel-bar{display:block;width:100%;border-radius:8px;background:linear-gradient(105deg,var(--app-surface-soft, #e2e8f0) 0%,var(--app-border, #f1f5f9) 35%,color-mix(in srgb,var(--app-accent, #4f46e5) 12%,var(--app-surface)) 50%,var(--app-border, #f1f5f9) 65%,var(--app-surface-soft, #e2e8f0) 100%);background-size:200% 100%;animation:tus-skel-shimmer 1.6s ease-in-out infinite,tus-skel-pulse 2s ease-in-out infinite}.tt-rp-skel-bar--title{height:1.2rem;width:58%;max-width:26rem}.tt-rp-skel-bar--sub{height:.8rem;width:78%;max-width:22rem}.tt-rp-skel-bar--pill{width:4.25rem;height:2.1rem;border-radius:999px;flex-shrink:0}.tt-rp-skel-bar--th{height:.85rem;width:72%;max-width:6.5rem}.tt-rp-skel-bar--th-narrow{width:1.25rem;max-width:none;margin:0 auto}.tt-rp-skel-bar--th-short{max-width:4.25rem}.tt-rp-skel-bar--th-num{width:3.25rem;max-width:none;margin-left:auto}.tt-rp-skel-bar--th-tiny{width:2.75rem;max-width:none}.tt-rp-mtable--skeleton .tt-rp-mtable__th{white-space:normal;vertical-align:middle}.tt-rp-mtable--skeleton .tt-rp-mtable__td{padding-top:.8rem;padding-bottom:.8rem}.tt-rp-skel-bar--cell{height:.95rem;width:88%;max-width:9rem}.tt-rp-skel-bar--cell-center{width:1.35rem;max-width:none;margin:0 auto}.tt-rp-skel-bar--cell-short{max-width:5rem}.tt-rp-skel-bar--cell-mid{height:2.25rem;max-width:11rem}.tt-rp-skel-bar--cell-tall{height:2.45rem;max-width:14rem}.tt-rp-skel-bar--cell-comment{height:2.65rem;max-width:none;width:94%}.tt-rp-skel-bar--cell-num{width:3.5rem;max-width:none;margin-left:auto}.tt-rp-skel-bar--cell-num-wide{width:5.5rem;max-width:none;margin-left:auto}.tt-rp-skel-bar--cell-select{height:2.1rem;width:3.75rem;max-width:none}.tt-rp-skel-bar--cell-foot{height:.9rem;width:8rem;max-width:45%}.tt-rp-mtable--skeleton tbody tr:nth-child(1) .tt-rp-skel-bar{animation-delay:.02s}.tt-rp-mtable--skeleton tbody tr:nth-child(2) .tt-rp-skel-bar{animation-delay:.06s}.tt-rp-mtable--skeleton tbody tr:nth-child(3) .tt-rp-skel-bar{animation-delay:.1s}.tt-rp-mtable--skeleton tbody tr:nth-child(4) .tt-rp-skel-bar{animation-delay:.14s}.tt-rp-mtable--skeleton tbody tr:nth-child(5) .tt-rp-skel-bar{animation-delay:.18s}.tt-rp-mtable--skeleton tbody tr:nth-child(6) .tt-rp-skel-bar{animation-delay:.22s}.tt-rp-preview__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.875rem clamp(1rem,2.5vw,2rem);background:var(--app-surface, #fff);border-bottom:1px solid var(--app-border, #e2e8f0);position:sticky;top:0;z-index:20}.tt-rp-preview__bar--compact{flex-wrap:nowrap;padding:.35rem .65rem;gap:.65rem;flex-shrink:0}.tt-rp-preview__bar-left{display:flex;align-items:baseline;gap:.5rem .75rem;flex-wrap:wrap;min-width:0}.tt-rp-preview__title{margin:0;font-size:.8125rem;font-weight:700;letter-spacing:-.02em;white-space:nowrap}.tt-rp-preview__bar-meta{font-size:.72rem;color:var(--app-muted, #64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:min(42vw,22rem)}.tt-rp-preview__bar-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.tt-rp-preview__bar-hint{font-size:.6875rem;font-weight:600;color:var(--app-muted, #64748b);white-space:nowrap}.tt-rp-preview__bar h1{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.tt-rp-preview__meta{margin:.15rem 0 0;font-size:.8125rem;color:var(--app-muted, #64748b)}.tt-rp-preview__hint-pill{display:inline-flex;align-items:center;gap:.35rem;margin-top:.35rem;padding:.2rem .55rem;border-radius:99px;font-size:.72rem;font-weight:600;background:color-mix(in srgb,var(--app-accent, #4f46e5) 10%,transparent);color:var(--app-accent, #4338ca)}.tt-rp-preview__actions{display:flex;align-items:center;gap:.5rem}.tt-rp-preview__main{width:100%;max-width:none;margin:0;padding:1.25rem clamp(.75rem,2vw,2rem) 2.5rem;box-sizing:border-box}.tt-rp-preview__main--fill{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;padding:0;overflow:hidden}.tt-rp-preview__main.tt-rp-preview__main--fill.tt-rp-preview__body-pad{overflow:auto;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--app-muted, #94a3b8) var(--app-surface-soft, #e8ecf4);-ms-overflow-style:auto}.tt-rp-preview__main.tt-rp-preview__main--fill.tt-rp-preview__body-pad::-webkit-scrollbar{display:block;width:12px;height:12px}.tt-rp-preview__main.tt-rp-preview__main--fill.tt-rp-preview__body-pad::-webkit-scrollbar-track{background:var(--app-surface-soft, #e8ecf4);border-radius:6px}.tt-rp-preview__main.tt-rp-preview__main--fill.tt-rp-preview__body-pad::-webkit-scrollbar-thumb{background:var(--app-muted, #94a3b8);border-radius:6px;border:2px solid var(--app-surface-soft, #e8ecf4)}.tt-rp-preview__main.tt-rp-preview__main--fill.tt-rp-preview__body-pad::-webkit-scrollbar-thumb:hover{background:var(--app-text-light, #64748b)}.tt-rp-preview__main--fill>.tt-rp-preview__live{flex:1 1 auto;min-height:0;min-width:0;display:flex;flex-direction:column}body[data-theme=dark] .tt-rp-preview__main.tt-rp-preview__main--fill.tt-rp-preview__body-pad{scrollbar-color:#64748b #1e293b}body[data-theme=dark] .tt-rp-preview__main.tt-rp-preview__main--fill.tt-rp-preview__body-pad::-webkit-scrollbar-track{background:#1e293b}body[data-theme=dark] .tt-rp-preview__main.tt-rp-preview__main--fill.tt-rp-preview__body-pad::-webkit-scrollbar-thumb{background:#64748b;border-color:#1e293b}body[data-theme=dark] .tt-rp-preview__main.tt-rp-preview__main--fill.tt-rp-preview__body-pad::-webkit-scrollbar-thumb:hover{background:#94a3b8}.tt-rp-preview__main--fill>.tt-rp-preview__empty{margin:0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:0;border:none;background:var(--app-bg, #f1f5f9)}.tt-rp-preview__workspace-body{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;gap:.45rem;overflow:hidden}.tt-rp-preview__empty{margin-top:2rem;text-align:center;padding:2rem;background:var(--app-surface, #fff);border-radius:14px;border:1px solid var(--app-border, #e2e8f0)}.tt-rp-preview__empty p{margin:0 0 1rem;color:var(--app-muted, #64748b)}.tt-rp-preview__sheet{background:var(--app-surface, #fff);border:1px solid var(--app-border, #e2e8f0);border-radius:16px;overflow:hidden;box-shadow:0 1px 8px #0f172a0f}.tt-rp-preview__sheet--excel{border-radius:4px;border-color:#aeb8c8;box-shadow:0 1px 3px #0f172a1f}.tt-rp-preview__sheet--fill{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;border-radius:0;border-left:none;border-right:none;border-top:none;box-shadow:none}.tt-rp-preview__table-wrap{overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:min(78vh,1200px);scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--app-muted, #94a3b8) var(--app-surface-soft, #e8ecf4);-ms-overflow-style:auto}.tt-rp-preview__sheet--fill .tt-rp-preview__table-wrap{flex:1 1 0;min-height:0;min-width:0;width:100%;max-width:100%;max-height:calc(100dvh - 9.5rem);overflow-x:scroll;overflow-y:scroll;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--app-muted, #94a3b8) var(--app-surface-soft, #e8ecf4);-ms-overflow-style:auto}.tt-rp-preview__table-wrap::-webkit-scrollbar{display:block;width:10px;height:10px}.tt-rp-preview__table-wrap::-webkit-scrollbar-track{background:var(--app-surface-soft, #e8ecf4);border-radius:6px}.tt-rp-preview__table-wrap::-webkit-scrollbar-thumb{background:var(--app-muted, #94a3b8);border-radius:6px;border:2px solid var(--app-surface-soft, #e8ecf4)}.tt-rp-preview__table-wrap::-webkit-scrollbar-thumb:hover{background:var(--app-text-light, #64748b)}body[data-theme=dark] .tt-rp-preview__table-wrap{scrollbar-color:#64748b #1e293b}body[data-theme=dark] .tt-rp-preview__table-wrap::-webkit-scrollbar-track{background:#1e293b}body[data-theme=dark] .tt-rp-preview__table-wrap::-webkit-scrollbar-thumb{background:#64748b;border-color:#1e293b}body[data-theme=dark] .tt-rp-preview__table-wrap::-webkit-scrollbar-thumb:hover{background:#94a3b8}.tt-rp-preview__data-table{width:100%;min-width:760px;border-collapse:collapse;font-size:.875rem}.tt-rp-preview__data-table--excel{font-family:var(--app-font-family);font-size:.8125rem;border:1px solid #8fa4bf;background:var(--app-surface, #fff)}.tt-rp-preview__data-table--time-grid{--tt-rp-excel-letters-h: 1.6875rem;table-layout:fixed;width:100%;min-width:76rem}.tt-rp-preview__data-table--time-grid tr.tt-rp-preview__excel-letters th{height:var(--tt-rp-excel-letters-h);max-height:var(--tt-rp-excel-letters-h);vertical-align:middle;box-sizing:border-box}.tt-rp-preview__data-table--time-grid .tt-rp-preview__excel-titles th{top:var(--tt-rp-excel-letters-h)}.tt-rp-preview__tg-col--rn{width:2.75rem}.tt-rp-preview__tg-col--staff{width:14rem}.tt-rp-preview__tg-col--date{width:7rem}.tt-rp-preview__tg-col--time{width:6.5rem}.tt-rp-preview__tg-col--task{width:12rem}.tt-rp-preview__tg-col--note{width:14rem}.tt-rp-preview__tg-col--hours{width:5.5rem}.tt-rp-preview__tg-col--amt{width:6.5rem}.tt-rp-preview__tg-col--act{width:3.5rem}.tt-rp-preview__data-table--time-grid .tt-rp-preview__input--cell,.tt-rp-preview__data-table--time-grid .tt-rp-preview__staff-cell{max-width:100%}.tt-rp-preview__data-table--wide.tt-rp-preview__data-table--excel{width:max-content;min-width:92rem}.tt-rp-preview__data-table--wide .tt-rp-preview__input--wide{min-width:14rem}.tt-rp-preview__data-table--wide .tt-rp-preview__data-row td{vertical-align:top}.tt-rp-preview__data-table--wide th[data-col=Client],.tt-rp-preview__data-table--wide td[data-col=Client]{min-width:11rem;max-width:22rem}.tt-rp-preview__data-table--wide th[data-col=Project],.tt-rp-preview__data-table--wide td[data-col=Project]{min-width:15rem;max-width:28rem}.tt-rp-preview__data-table--wide th[data-col="Project Code"],.tt-rp-preview__data-table--wide td[data-col="Project Code"]{min-width:8rem}.tt-rp-preview__data-table--wide th[data-col=Task],.tt-rp-preview__data-table--wide td[data-col=Task],.tt-rp-preview__data-table--wide th[data-col=Notes],.tt-rp-preview__data-table--wide td[data-col=Notes]{min-width:18.5rem}.tt-rp-preview__data-table--wide th[data-col="External Reference URL"],.tt-rp-preview__data-table--wide td[data-col="External Reference URL"]{min-width:10rem;max-width:20rem}.tt-rp-preview__input--recorded-at{min-width:13.75rem;max-width:none;font-variant-numeric:tabular-nums}.tt-rp-preview__input--hours-clock{min-width:4.75rem;max-width:7rem;font-variant-numeric:tabular-nums}.tt-rp-preview__data-table--excel th,.tt-rp-preview__data-table--excel td{border:1px solid #b4bcc9;box-sizing:border-box}.tt-rp-preview__data-table--excel thead th{text-align:left;padding:.4rem .5rem;font-weight:600;color:#1e293b;background:#e8ecf4;white-space:nowrap}.tt-rp-preview__excel-letters th{text-align:center;padding:.15rem .35rem;font-size:.625rem;font-weight:700;letter-spacing:.04em;color:#3d4a5c;background:#d8dee9;border-color:#9aa8bc;position:sticky;top:0;z-index:3}.tt-rp-preview__corner{min-width:2.25rem;width:2.25rem;background:#c9d1e0;border-color:#8b9bb3;position:sticky;left:0;z-index:5}.tt-rp-preview__excel-titles th{background:#eef1f7;border-color:#aeb8c8;position:sticky;top:1.5rem;z-index:2}.tt-rp-preview__data-table--wide .tt-rp-preview__excel-titles th{top:0;z-index:4}.tt-rp-preview__excel-titles .tt-rp-preview__col-rn{text-align:center;font-variant-numeric:tabular-nums;color:#475569;background:#e4e9f2;left:0;z-index:4;min-width:2.25rem;width:2.25rem}.tt-rp-preview__tfoot-summary{position:sticky;bottom:0;z-index:3}.tt-rp-preview__summary-footer td{padding:0;vertical-align:middle;border-top:2px solid #8fa4bf;background:var(--app-surface, #fff)}.tt-rp-preview__data-table--excel .tt-rp-preview__summary-footer td{border-color:#8fa4bf}.tt-rp-preview__sheet--fill .tt-rp-preview__banner-inner{padding:.5rem .65rem}.tt-rp-preview__banner-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.85rem 1rem;background:linear-gradient(90deg,color-mix(in srgb,var(--app-accent, #4f46e5) 9%,var(--app-surface-soft)) 0%,var(--app-bg-soft, #f1f5f9) 48%,var(--app-surface) 100%);border-left:4px solid var(--app-accent, #4f46e5);max-width:100%;min-width:0;box-sizing:border-box}.tt-rp-preview__banner-text{display:flex;flex-direction:column;gap:.2rem;flex:1 1 0;min-width:0}.tt-rp-preview__sheet--fill .tt-rp-preview__project-title{font-size:.9rem}.tt-rp-preview__project-title{display:block;font-size:1.02rem;font-weight:800;color:var(--app-text, #0f172a);letter-spacing:-.02em}.tt-rp-preview__project-client{display:block;font-size:.8125rem;font-weight:500;color:var(--app-muted, #64748b)}.tt-rp-preview__project-totals{display:flex;flex-wrap:wrap;gap:.65rem 1.25rem;font-size:.8125rem;align-items:center}.tt-rp-preview__project-totals span{color:var(--app-muted, #64748b)}.tt-rp-preview__project-totals strong{color:var(--app-text, #0f172a);font-variant-numeric:tabular-nums}.tt-rp-preview__totals-note{color:var(--app-muted, #94a3b8);font-size:.75rem;font-weight:500}.tt-rp-preview__data-row td{padding:.55rem 1rem;border-bottom:1px solid var(--app-border, #f1f5f9);vertical-align:middle}.tt-rp-preview__data-table--excel .tt-rp-preview__data-row td{padding:.2rem .35rem;border-color:#b4bcc9;vertical-align:middle}.tt-rp-preview__data-row--zebra td{background:color-mix(in srgb,var(--app-surface-soft) 85%,var(--app-border) 15%)}.tt-rp-preview__td-rn{text-align:center;font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;color:#64748b;background:var(--app-surface-soft, #fafbfc);position:sticky;left:0;z-index:1;min-width:2.25rem;width:2.25rem}.tt-rp-preview__data-row--zebra .tt-rp-preview__td-rn{background:color-mix(in srgb,var(--app-surface-soft) 90%,var(--app-border) 10%)}.tt-rp-preview__empty-project{padding:1rem 1.25rem;color:var(--app-muted, #64748b);font-size:.875rem;background:var(--app-surface-soft, #fafbfc)}.tt-rp-preview__data-table--excel .tt-rp-preview__empty-project{border-color:#b4bcc9;background:var(--app-surface-soft, #f8fafc)}.tt-rp-preview__th-num,.tt-rp-preview__td-num{text-align:right;font-variant-numeric:tabular-nums}.tt-rp-preview__input{width:100%;max-width:7rem;margin-left:auto;display:block;padding:.35rem .5rem;border:1px solid var(--app-border, #cbd5e1);border-radius:8px;font-family:inherit;font-size:.875rem}.tt-rp-preview__input--cell{margin-left:0;max-width:none;border-radius:2px;border-color:#94a3b8;padding:.2rem .35rem;font-size:.8125rem;background:var(--field-bg, var(--app-surface, #fff))}.tt-rp-preview__data-row--zebra .tt-rp-preview__input--cell{background:color-mix(in srgb,var(--app-surface-soft) 88%,var(--app-border) 12%)}.tt-rp-preview__input--wide{max-width:none;margin-left:0}.tt-rp-preview__textarea{width:100%;box-sizing:border-box;margin:0;display:block;font-family:inherit;line-height:1.35;overflow-wrap:break-word;word-break:break-word;white-space:pre-wrap;resize:none;overflow-x:hidden}.tt-rp-preview__textarea--cell{margin-left:0;max-width:none;border-radius:2px;border:1px solid #94a3b8;padding:.2rem .35rem;font-size:.8125rem;background:var(--field-bg, var(--app-surface, #fff))}.tt-rp-preview__data-row--zebra .tt-rp-preview__textarea--cell{background:color-mix(in srgb,var(--app-surface-soft) 88%,var(--app-border) 12%)}.tt-rp-preview__textarea--wide{max-width:none;min-height:2.5rem}.tt-rp-preview__data-table--wide .tt-rp-preview__textarea.tt-rp-preview__textarea--cell.tt-rp-preview__textarea--wide{min-height:calc(.8125rem * 1.35 + .42rem);max-height:2.61375rem}.tt-rp-preview__input:focus,.tt-rp-preview__textarea:focus{outline:2px solid color-mix(in srgb,var(--app-accent, #4f46e5) 35%,transparent);outline-offset:1px}.tt-rp-preview__user{font-weight:600;color:var(--app-text, #1e293b)}.tt-rp-preview__btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem 1rem;border-radius:10px;font-family:inherit;font-size:.875rem;font-weight:600;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.tt-rp-preview__btn--accent{background:var(--app-accent, #4f46e5);color:#fff;border-color:var(--app-accent, #4f46e5)}.tt-rp-preview__btn--accent:hover{filter:brightness(.95)}.tt-rp-preview__btn--outline{background:var(--app-surface, #fff);color:var(--app-text, #334155);border-color:var(--app-border, #cbd5e1)}.tt-rp-preview__btn--outline:hover{background:var(--app-bg, #f8fafc)}.tt-rp-preview__err{padding:.75rem 1rem;border-radius:10px;background:#dc262614;border:1px solid rgba(220,38,38,.25);color:#b91c1c;font-size:.875rem}.tt-rp-preview__err--inline{flex-shrink:0;margin:.35rem .65rem 0;padding:.45rem .65rem;border-radius:6px;font-size:.8125rem}.tt-rp-preview__btn--sm{padding:.28rem .55rem;font-size:.75rem;border-radius:6px}.tt-rp-preview__sheet--fill.tt-rp-preview__sheet--card{margin:.5rem clamp(.65rem,1.5vw,1.25rem) 0;border-radius:12px;border:1px solid #8fa4bf;box-shadow:0 4px 20px #0f172a14;overflow:hidden;min-width:0}.tt-rp-preview__banner-top td{padding:0;vertical-align:top;border-bottom:1px solid #8fa4bf;overflow:hidden;position:relative}.tt-rp-preview__banner-inner--top{border-left:none;border-radius:0;padding:.65rem .75rem .55rem}.tt-rp-preview__banner-meta{display:flex;align-items:center;gap:.35rem;margin-top:.25rem;font-size:.72rem;font-weight:600;color:#64748b;min-width:0}.tt-rp-preview__banner-meta-ico{display:inline-flex;color:#64748b;flex-shrink:0}.tt-rp-preview__banner-meta-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-rp-preview__banner-side{flex-shrink:0;align-self:flex-start}.tt-rp-preview__banner-pill{display:inline-flex;align-items:center;padding:.2rem .5rem;border-radius:8px;font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums;background:var(--app-surface, #fff);border:1px solid var(--app-border, #cbd5e1);color:var(--app-text, #1e293b)}.tt-rp-preview__totals-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1.35rem;padding:.55rem .75rem;background:var(--app-border, #e2e8f0);font-size:.8125rem;color:var(--app-muted, #475569)}.tt-rp-preview__totals-bar strong{color:var(--app-text, #0f172a);font-variant-numeric:tabular-nums}.tt-rp-preview__summary-footer td:has(.tt-rp-preview__totals-bar){background:var(--app-border, #e2e8f0);border-top:2px solid #8fa4bf}.tt-rp-preview__user-cell-wrap{min-width:10rem}.tt-rp-preview__th-actions,.tt-rp-preview__td-actions{text-align:center;vertical-align:middle;padding-left:.2rem;padding-right:.2rem}.tt-rp-preview__data-table:not(.tt-rp-preview__data-table--time-grid) .tt-rp-preview__th-actions,.tt-rp-preview__data-table:not(.tt-rp-preview__data-table--time-grid) .tt-rp-preview__td-actions{width:3.25rem;min-width:3.25rem;max-width:3.5rem}.tt-rp-preview__row-act{position:relative;display:flex;justify-content:center;align-items:center}.tt-rp-preview__row-act-btn{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.75rem;padding:0;border:1px solid var(--app-muted, #94a3b8);border-radius:6px;background:var(--app-surface-soft, #f8fafc);color:var(--app-text-dim, #475569);cursor:pointer}.tt-rp-preview__row-act-btn:hover{background:var(--app-border, #e2e8f0);border-color:var(--app-text-light, #64748b);color:var(--app-text, #1e293b)}.tt-rp-preview__row-act-btn--open{background:var(--app-border, #e2e8f0);border-color:var(--app-text-light, #64748b)}.tt-rp-preview__row-act-menu{position:absolute;right:0;bottom:100%;margin-bottom:4px;min-width:11rem;padding:4px 0;background:var(--app-surface, #fff);border:1px solid var(--app-border, #8fa1b8);border-radius:8px;box-shadow:0 8px 22px #0f172a24;z-index:40}.tt-rp-preview__row-act-menu-portal{position:fixed;right:auto;bottom:auto;margin:0;width:max-content;max-width:min(18rem,calc(100vw - 1rem));box-sizing:border-box}.tt-rp-preview__row-act-item{display:block;width:100%;padding:.4rem .75rem;border:none;background:none;font:inherit;font-size:.78rem;font-weight:500;color:var(--app-text, #1e293b);text-align:left;cursor:pointer}.tt-rp-preview__row-act-item:hover{background:var(--app-bg-soft, #f1f5f9)}.tt-rp-preview__staff-cell{display:flex;align-items:center;gap:.4rem;min-width:0}.tt-rp-preview__bill-dot{width:.45rem;height:.45rem;border-radius:50%;flex-shrink:0}.tt-rp-preview__bill-dot--on{background:#16a34a;box-shadow:0 0 0 1px #16a34a40}.tt-rp-preview__bill-dot--off{background:#94a3b8}.tt-rp-preview__bill-dot--unknown{background:#f59e0b}.tt-rp-preview__staff-avatar{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:50%;font-size:.65rem;font-weight:800;color:#334155;background:#e2e8f0;border:1px solid #cbd5e1;flex-shrink:0}.tt-rp-preview__staff-name{font-weight:600;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tt-rp-preview__staff-ico{display:inline-flex;color:#94a3b8;flex-shrink:0}.tt-rp-preview__data-table--wide{--xlm-bg: #ffffff;--xlm-alt: #fafbfc;--xlm-grid: #e2e5ea;--xlm-grid-strong: #cfd3da;--xlm-header-bg: #f3f5f7;--xlm-header-active: #e7efe4;--xlm-header-fg: #374151;--xlm-text: #1f2937;--xlm-muted: #9aa3af;--xlm-accent: #1f7a4a;--xlm-accent-soft: #e7efe4;--xlm-row-hover: #eef4ff;--xlm-selected: #2563eb;--xlm-row-h: 30px;--xlm-rn-w: 2.75rem;--xlm-recorded-at-w: 12.5rem;font-family:var(--app-font-family);font-size:.8125rem;color:var(--xlm-text);background:var(--xlm-bg);border:1px solid var(--xlm-grid)}.tt-rp-preview__data-table--wide.tt-rp-preview__data-table--excel thead th{padding:0;height:30px;background:var(--xlm-header-bg);color:var(--xlm-header-fg);font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;-webkit-user-select:none;user-select:none;border-right:1px solid var(--xlm-grid);border-bottom:2px solid var(--xlm-grid-strong);position:sticky;top:0;z-index:3}.tt-rp-preview__data-table--wide.tt-rp-preview__data-table--excel thead th:last-child{border-right:none}.tt-rp-preview__data-table--wide.tt-rp-preview__data-table--excel thead th{padding:0 .7rem;line-height:1}.tt-rp-preview__data-table--wide .tt-rp-preview__excel-titles .tt-rp-preview__col-rn{z-index:5;left:0;width:var(--xlm-rn-w);min-width:var(--xlm-rn-w);max-width:var(--xlm-rn-w);padding:0;text-align:center;color:var(--xlm-muted);font-weight:600;background:var(--xlm-header-bg);border-right:1px solid var(--xlm-grid-strong)}.tt-rp-preview__data-table--wide .tt-rp-preview__th-sticky-left{position:sticky;left:var(--xlm-rn-w);z-index:4;box-shadow:1px 0 0 var(--xlm-grid);width:var(--xlm-recorded-at-w);min-width:var(--xlm-recorded-at-w)}.tt-rp-preview__data-table--wide.tt-rp-preview__data-table--excel thead th.tt-rp-preview__th-num{text-align:right}.tt-rp-preview__data-table--wide.tt-rp-preview__data-table--excel .tt-rp-preview__data-row>td{padding:0;height:var(--xlm-row-h);min-height:var(--xlm-row-h);background:var(--xlm-bg);color:var(--xlm-text);border:none;border-right:1px solid var(--xlm-grid);border-bottom:1px solid var(--xlm-grid);vertical-align:middle;font-size:.8125rem;position:relative}.tt-rp-preview__data-table--wide.tt-rp-preview__data-table--excel .tt-rp-preview__data-row>td:last-child{border-right:none}.tt-rp-preview__data-table--wide .tt-rp-preview__data-row--zebra>td{background:var(--xlm-alt)}.tt-rp-preview__data-table--wide .tt-rp-preview__data-row:hover>td{background:var(--xlm-row-hover)}.tt-rp-preview__data-table--wide.tt-rp-preview__data-table--excel .tt-rp-preview__data-row>.tt-rp-preview__td-rn{position:sticky;left:0;z-index:2;width:var(--xlm-rn-w);min-width:var(--xlm-rn-w);max-width:var(--xlm-rn-w);padding:0 .25rem;text-align:center;color:var(--xlm-muted);font-size:.72rem;font-weight:600;font-variant-numeric:tabular-nums;background:var(--xlm-header-bg);border-right:1px solid var(--xlm-grid-strong)!important}.tt-rp-preview__data-table--wide .tt-rp-preview__data-row:hover>.tt-rp-preview__td-rn{background:var(--xlm-accent-soft);color:var(--xlm-accent)}.tt-rp-preview__data-table--wide .tt-rp-preview__data-row--zebra>.tt-rp-preview__td-rn{background:var(--xlm-header-bg)}.tt-rp-preview__data-table--wide .tt-rp-preview__td-sticky-left{position:sticky;left:var(--xlm-rn-w);z-index:1;width:var(--xlm-recorded-at-w);min-width:var(--xlm-recorded-at-w);box-shadow:1px 0 0 var(--xlm-grid);background:var(--xlm-bg);font-variant-numeric:tabular-nums}.tt-rp-preview__data-table--wide .tt-rp-preview__data-row--zebra>.tt-rp-preview__td-sticky-left{background:var(--xlm-alt)}.tt-rp-preview__data-table--wide .tt-rp-preview__data-row:hover>.tt-rp-preview__td-sticky-left{background:var(--xlm-row-hover)}.tt-rp-preview__data-table--wide .tt-rp-preview__input--cell,.tt-rp-preview__data-table--wide .tt-rp-preview__textarea--cell{width:100%;height:100%;min-height:var(--xlm-row-h);margin:0;padding:.3rem .7rem;border:none!important;border-radius:0;background:transparent!important;color:inherit;font:inherit;font-variant-numeric:tabular-nums;box-shadow:none;outline:none;display:block;box-sizing:border-box}.tt-rp-preview__data-table--wide .tt-rp-preview__input--cell{line-height:calc(var(--xlm-row-h) - .6rem)}.tt-rp-preview__data-table--wide .tt-rp-preview__td-num .tt-rp-preview__input--cell{text-align:right}.tt-rp-preview__data-table--wide .tt-rp-preview__textarea--cell{padding:.3rem .7rem;line-height:1.35;resize:none;min-height:var(--xlm-row-h)}.tt-rp-preview__data-table--wide .tt-rp-preview__textarea.tt-rp-preview__textarea--cell.tt-rp-preview__textarea--wide{min-height:var(--xlm-row-h);max-height:calc(var(--xlm-row-h) * 2)}.tt-rp-preview__data-table--wide .tt-rp-preview__data-row>td:focus-within{z-index:2}.tt-rp-preview__data-table--wide .tt-rp-preview__data-row>td:focus-within:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 0 0 2px var(--xlm-selected);z-index:3}.tt-rp-preview__data-table--wide .tt-rp-preview__input:focus,.tt-rp-preview__data-table--wide .tt-rp-preview__textarea:focus{outline:none}.tt-rp-preview__chip{display:inline-flex;align-items:center;margin:.4rem .7rem;padding:0 .45rem;height:1.25rem;border-radius:3px;font-size:.7rem;font-weight:600;letter-spacing:.02em;line-height:1;border:1px solid transparent;white-space:nowrap}.tt-rp-preview__chip--yes{background:#e7f4ea;color:#166534;border-color:#c6e4cf}.tt-rp-preview__chip--no{background:#fdecec;color:#9f1239;border-color:#f2c9ce}.tt-rp-preview__chip--na{background:#eef1f4;color:#6b7280;border-color:#dde1e6}.tt-rp-preview__data-table--wide td[data-col="Billable?"],.tt-rp-preview__data-table--wide td[data-col="Invoiced?"],.tt-rp-preview__data-table--wide td[data-col="Approved?"],.tt-rp-preview__data-table--wide td[data-col="Employee?"],.tt-rp-preview__data-table--wide th[data-col="Billable?"],.tt-rp-preview__data-table--wide th[data-col="Invoiced?"],.tt-rp-preview__data-table--wide th[data-col="Approved?"],.tt-rp-preview__data-table--wide th[data-col="Employee?"]{text-align:center}.tt-rp-preview__data-table--wide td[data-col="Billable?"] .tt-rp-preview__chip,.tt-rp-preview__data-table--wide td[data-col="Invoiced?"] .tt-rp-preview__chip,.tt-rp-preview__data-table--wide td[data-col="Approved?"] .tt-rp-preview__chip,.tt-rp-preview__data-table--wide td[data-col="Employee?"] .tt-rp-preview__chip{margin-left:auto;margin-right:auto}.tt-rp-preview__data-table--wide th[data-col="Billable?"],.tt-rp-preview__data-table--wide td[data-col="Billable?"],.tt-rp-preview__data-table--wide th[data-col="Invoiced?"],.tt-rp-preview__data-table--wide td[data-col="Invoiced?"],.tt-rp-preview__data-table--wide th[data-col="Approved?"],.tt-rp-preview__data-table--wide td[data-col="Approved?"],.tt-rp-preview__data-table--wide th[data-col="Employee?"],.tt-rp-preview__data-table--wide td[data-col="Employee?"]{width:5.25rem;min-width:5.25rem}.tt-rp-preview__data-table--wide .tt-rp-preview__summary-footer>td{background:var(--xlm-accent-soft)!important;border-top:2px solid var(--xlm-accent)!important;border-bottom:none!important;padding:0!important}.tt-rp-preview__data-table--wide .tt-rp-preview__summary-footer .tt-rp-preview__totals-bar{background:transparent;color:var(--xlm-accent);padding:.55rem 1rem;font-size:.8125rem;letter-spacing:.01em}.tt-rp-preview__data-table--wide .tt-rp-preview__summary-footer .tt-rp-preview__totals-bar strong{color:var(--xlm-text)}.tt-rp-preview__data-table--wide .tt-rp-preview__textarea--cell::placeholder,.tt-rp-preview__data-table--wide .tt-rp-preview__input--cell::placeholder{color:var(--xlm-muted);opacity:1}.tt-rp-preview__sheet--fill .tt-rp-preview__table-wrap:has(.tt-rp-preview__data-table--wide){scrollbar-color:var(--tt-rp-scrollbar-thumb, #cfd3da) transparent}.tt-rp-preview__data-table--wide .tt-rp-preview__input--recorded-at::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer}.tt-rp-preview__data-table--wide .tt-rp-preview__data-row>td:hover .tt-rp-preview__input--recorded-at::-webkit-calendar-picker-indicator{opacity:.9}.tt-rp-preview__live{padding:.75rem 1rem 1.25rem}.tt-rp-preview__live-title{margin:0 0 .75rem;font-size:1.05rem;font-weight:600;color:var(--app-text, #0f172a)}.tt-rp-preview__live-title--inline{margin:0 0 .5rem;font-size:.95rem;font-weight:600;color:var(--app-text, #0f172a)}.tt-rp-preview__live--sheet{padding:.35rem .5rem 1rem}body[data-theme=dark] .tt-rp-preview__data-table--wide{--xlm-bg: #1a2332;--xlm-alt: #1e293b;--xlm-grid: #334155;--xlm-grid-strong: #475569;--xlm-header-bg: #243044;--xlm-header-active: rgba(34, 197, 94, .14);--xlm-header-fg: #e2e8f0;--xlm-text: #e5e7eb;--xlm-muted: #94a3b8;--xlm-accent: #86efac;--xlm-accent-soft: rgba(34, 197, 94, .12);--xlm-row-hover: #283548;--xlm-selected: #a5b4fc}body[data-theme=dark] .tt-rp-preview__data-table--wide .tt-rp-preview__summary-footer .tt-rp-preview__totals-bar{color:var(--app-text)}body[data-theme=dark] .tt-rp-preview__data-table--wide .tt-rp-preview__summary-footer .tt-rp-preview__totals-bar strong{color:var(--app-text-strong, #f8fafc)}body[data-theme=dark] .tt-rp-preview{color-scheme:dark}body[data-theme=dark] .tt-rp-mtable input:not([type=checkbox]):not([type=radio]),body[data-theme=dark] .tt-rp-mtable textarea,body[data-theme=dark] .tt-rp-mtable select{background-color:var(--field-bg)!important;color:var(--app-text)!important;-webkit-text-fill-color:var(--app-text);border-color:var(--field-border)!important;color-scheme:dark}body[data-theme=dark] .tt-rp-mtable input::placeholder,body[data-theme=dark] .tt-rp-mtable textarea::placeholder{color:var(--field-placeholder);opacity:.95;-webkit-text-fill-color:var(--field-placeholder)}body[data-theme=dark] .tt-rp-mtable__input:focus,body[data-theme=dark] .tt-rp-mtable textarea:focus,body[data-theme=dark] .tt-rp-mtable__select:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--app-accent) 32%,transparent)}body[data-theme=dark] .tt-rp-mtable__readonly{color:var(--app-text);-webkit-text-fill-color:var(--app-text)}body[data-theme=dark] .tt-rp-mtable .tsp-srch__btn,body[data-theme=dark] .tt-rp-mtable .tsp-srch__dropdown,body[data-theme=dark] .tt-rp-mtable .tsp-srch__input{color-scheme:dark}body[data-theme=dark] .tt-rp-mtable-badge-demo{color:#ddd6fe;background:linear-gradient(180deg,#5b21b673,#4338ca47);border:1px solid color-mix(in srgb,var(--app-accent) 45%,transparent)}body[data-theme=dark] .tt-rp-preview__data-table--excel:not(.tt-rp-preview__data-table--wide){background:var(--app-surface);border-color:var(--app-border)}body[data-theme=dark] .tt-rp-preview__data-table--excel:not(.tt-rp-preview__data-table--wide) th,body[data-theme=dark] .tt-rp-preview__data-table--excel:not(.tt-rp-preview__data-table--wide) td{border-color:var(--app-border)}body[data-theme=dark] .tt-rp-preview__data-table--excel:not(.tt-rp-preview__data-table--wide) thead th{color:var(--app-text);background:var(--app-surface-soft)}body[data-theme=dark] .tt-rp-preview__excel-letters th{color:var(--app-muted);background:var(--app-bg-soft);border-color:var(--app-border)!important}body[data-theme=dark] .tt-rp-preview__corner{background:var(--app-border);border-color:var(--app-border-hover)!important}body[data-theme=dark] .tt-rp-preview__excel-titles th{background:var(--app-surface-soft);border-color:var(--app-border)!important}body[data-theme=dark] .tt-rp-preview__excel-titles .tt-rp-preview__col-rn{color:var(--app-muted);background:var(--app-surface-soft)}body[data-theme=dark] .tt-rp-preview__data-table--excel .tt-rp-preview__data-row--zebra td{background:color-mix(in srgb,var(--app-surface-soft) 92%,var(--app-border) 8%)}body[data-theme=dark] .tt-rp-preview__data-table--excel .tt-rp-preview__empty-project{background:var(--app-surface-soft);border-color:var(--app-border)!important}body[data-theme=dark] .tt-rp-preview__summary-footer td{background:var(--app-surface);border-color:var(--app-border)!important}body[data-theme=dark] .tt-rp-preview__input--cell,body[data-theme=dark] .tt-rp-preview__textarea--cell{background-color:var(--field-bg);color:var(--app-text);-webkit-text-fill-color:var(--app-text);border-color:var(--field-border);color-scheme:dark}body[data-theme=dark] .tt-rp-preview__data-row--zebra .tt-rp-preview__input--cell,body[data-theme=dark] .tt-rp-preview__data-row--zebra .tt-rp-preview__textarea--cell{background-color:color-mix(in srgb,var(--app-surface-soft) 88%,var(--app-border) 12%);-webkit-text-fill-color:var(--app-text)}body[data-theme=dark] .tt-rp-preview__user,body[data-theme=dark] .tt-rp-preview__staff-name{color:var(--app-text)}body[data-theme=dark] .tt-rp-preview__staff-avatar{color:var(--app-text);background:var(--app-bg-soft);border-color:var(--app-border)}body[data-theme=dark] .tt-rp-preview__chip--yes{background:#22c55e2e;color:#86efac;border-color:#22c55e59}body[data-theme=dark] .tt-rp-preview__chip--no{background:#f43f5e29;color:#fda4af;border-color:#f43f5e59}body[data-theme=dark] .tt-rp-preview__chip--na{background:var(--app-surface-soft);color:var(--app-muted);border-color:var(--app-border)}.tt-rp-preview__partner-trigger-wrap{margin-bottom:0}.tt-rp-preview__partner-trigger{display:inline-flex;align-items:center;gap:.35rem .45rem;flex-wrap:nowrap;width:100%;max-width:100%;min-width:0;padding:.32rem .55rem .32rem .4rem;border-radius:999px;border:1px solid var(--app-border, #e2e8f0);background:var(--app-surface, #fff);color:var(--app-text, #0f172a);font:inherit;font-size:.75rem;font-weight:600;cursor:pointer;text-align:left;transition:border-color .15s ease,background-color .15s ease;box-shadow:none}.tt-rp-preview__partner-trigger:hover{border-color:color-mix(in srgb,var(--app-muted, #94a3b8) 55%,var(--app-border, #e2e8f0));background:var(--app-surface-soft, #f8fafc)}.tt-rp-preview__partner-trigger:active{transform:none}.tt-rp-preview__partner-trigger-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.35rem;height:1.35rem;border-radius:999px;background:var(--app-surface-soft, #f1f5f9);color:var(--app-muted, #64748b);border:none}.tt-rp-preview__partner-trigger-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-rp-preview__partner-trigger-badge{flex-shrink:0;padding:.12rem .4rem;border-radius:999px;font-size:.5625rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--app-surface-soft, #f1f5f9);color:var(--app-muted, #64748b);border:1px solid var(--app-border, #e2e8f0)}.tt-rp-preview__partner-trigger-badge--success{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.tt-rp-preview__partner-trigger-badge--neutral{background:var(--app-bg, #f1f5f9);color:var(--app-muted, #64748b);font-weight:600;text-transform:none;letter-spacing:0;border-color:var(--app-border, #e2e8f0)}.tt-rp-preview__partner-trigger-badge--wait{color:#92400e;background:#fffbeb;border-color:#fde68a}body[data-theme=dark] .tt-rp-preview__partner-trigger{background:var(--app-surface, #1e293b);border-color:var(--app-border, #334155)}body[data-theme=dark] .tt-rp-preview__partner-trigger:hover{background:color-mix(in srgb,var(--app-surface-soft, #334155) 88%,var(--app-accent) 12%)}body[data-theme=dark] .tt-rp-preview__partner-trigger-icon{background:#ffffff0f;color:var(--app-muted, #94a3b8)}body[data-theme=dark] .tt-rp-preview__partner-trigger-badge{background:#ffffff0f;border-color:var(--app-border, #334155);color:var(--app-muted, #94a3b8)}body[data-theme=dark] .tt-rp-preview__partner-trigger-badge--success{background:#22c55e24;border-color:#34d39959;color:#86efac}body[data-theme=dark] .tt-rp-preview__partner-trigger-badge--wait{background:#fbbf241f;border-color:#fbbf2459;color:#fcd34d}.tt-rp-preview__partner-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10085;display:flex;align-items:center;justify-content:center;padding:max(1rem,env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) max(1rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px));background:#0f172a7a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-sizing:border-box}.tt-rp-preview__partner-modal-panel{width:100%;max-width:440px;max-height:min(88vh,640px);overflow:auto;border-radius:16px;border:1px solid var(--app-border, #e2e8f0);background:var(--app-surface, #fff);color:var(--app-text, #0f172a);box-shadow:0 24px 48px #0f172a2e;box-sizing:border-box}body[data-theme=dark] .tt-rp-preview__partner-modal-panel{background:var(--app-surface, #1e293b);border-color:var(--app-border, #334155);box-shadow:0 28px 56px #00000073}.tt-rp-preview__partner-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1.15rem 1.15rem 0 1.25rem}.tt-rp-preview__partner-modal-head-text{min-width:0}.tt-rp-preview__partner-modal-kicker{display:block;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-accent, #4f46e5);margin-bottom:.2rem}.tt-rp-preview__partner-modal-title{margin:0;font-size:1.2rem;font-weight:700;line-height:1.25;letter-spacing:-.02em}.tt-rp-preview__partner-modal-close{flex-shrink:0;width:2.25rem;height:2.25rem;margin:-.15rem -.15rem 0 0;border:none;border-radius:10px;background:transparent;color:var(--app-muted, #64748b);font-size:1.35rem;line-height:1;cursor:pointer;transition:background .12s,color .12s}.tt-rp-preview__partner-modal-close:hover{background:var(--app-bg, #f1f5f9);color:var(--app-text, #0f172a)}body[data-theme=dark] .tt-rp-preview__partner-modal-close:hover{background:#ffffff0f}.tt-rp-preview__partner-modal-period{margin:.65rem 1.25rem 0;font-size:.8125rem;color:var(--app-muted, #64748b)}.tt-rp-preview__partner-modal-period strong{color:var(--app-text, #0f172a);font-weight:600}.tt-rp-preview__partner-modal-lead{margin:.75rem 1.25rem 0;font-size:.875rem;line-height:1.55;color:var(--app-muted, #475569)}.tt-rp-preview__partner-modal-partners-block{margin:1rem 1.25rem 0}.tt-rp-preview__partner-modal-label{display:block;font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--app-muted, #94a3b8);margin-bottom:.45rem}.tt-rp-preview__partner-modal-partners{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.tt-rp-preview__partner-modal-partner{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem;padding:.55rem .65rem;border-radius:10px;border:1px solid var(--app-border, #e2e8f0);background:var(--app-bg, #f8fafc)}body[data-theme=dark] .tt-rp-preview__partner-modal-partner{background:#ffffff08}.tt-rp-preview__partner-modal-partner--you{border-color:color-mix(in srgb,var(--app-accent, #4f46e5) 35%,var(--app-border, #e2e8f0));background:color-mix(in srgb,var(--app-accent, #4f46e5) 8%,var(--app-bg, #f8fafc))}.tt-rp-preview__partner-modal-partner-name{font-weight:600;font-size:.875rem}.tt-rp-preview__partner-modal-partner-pos{font-size:.75rem;color:var(--app-muted, #64748b)}.tt-rp-preview__partner-modal-you{margin-left:auto;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--app-accent, #4f46e5)}.tt-rp-preview__partner-modal-status{margin:1rem 1.25rem 0;min-height:1.25rem}.tt-rp-preview__partner-modal-status-msg{margin:0;font-size:.8125rem;line-height:1.45}.tt-rp-preview__partner-modal-status-msg--muted{color:var(--app-muted, #94a3b8)}.tt-rp-preview__partner-modal-status-msg--err{color:#b91c1c}.tt-rp-preview__partner-modal-status-msg--ok{color:#15803d;font-weight:500}.tt-rp-preview__partner-modal-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:1.15rem 1.25rem 1.25rem;margin-top:1rem;border-top:1px solid var(--app-border, #e5e7eb)}.tt-rp-preview__partner-modal-btn{font:inherit;font-size:.8125rem;font-weight:600;padding:.45rem 1rem;border-radius:10px;cursor:pointer;transition:filter .12s,opacity .12s,border-color .12s}.tt-rp-preview__partner-modal-btn:disabled{opacity:.65;cursor:not-allowed}.tt-rp-preview__partner-modal-btn--ghost{border:1px solid var(--app-border, #cbd5e1);background:var(--app-surface, #fff);color:var(--app-text, #334155)}.tt-rp-preview__partner-modal-btn--ghost:hover:not(:disabled){border-color:var(--app-muted, #94a3b8)}.tt-rp-preview__partner-modal-btn--primary{border:1px solid var(--app-accent, #4f46e5);background:var(--app-accent, #4f46e5);color:#fff}.tt-rp-preview__partner-modal-btn--primary:hover:not(:disabled){filter:brightness(1.06)}.expenses-nested-layout{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow-x:visible}.expenses-route-view{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;animation-duration:.4s;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:both}.expenses-route-view--none{animation:none}.expenses-route-view--from-right{animation-name:exp-route-in-from-right}.expenses-route-view--from-left{animation-name:exp-route-in-from-left}.expenses-route-view--fade{animation-name:exp-route-fade-in;animation-duration:.32s}@keyframes exp-route-in-from-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}@keyframes exp-route-in-from-left{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:none}}@keyframes exp-route-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.expenses-route-view{animation:none!important}}.expenses-page{min-height:100vh;min-height:100dvh;display:flex;background:var(--app-bg);--exp-card-id-color: #2563eb;--exp-card-money-bg: #f4f7f9;--exp-card-money-border: #e4eaf0;--exp-card-stripe-pending: #f2994a;--exp-card-stripe-approved: #2f80ed}body[data-theme=dark] .expenses-page{--exp-card-id-color: #60a5fa;--exp-card-money-bg: rgba(30, 41, 59, .45);--exp-card-money-border: var(--app-border);--exp-card-stripe-pending: #fb923c;--exp-card-stripe-approved: #60a5fa}.expenses-page__main{flex:1;min-width:0;max-height:100vh;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden;overflow-x:hidden}.expenses-page__header{z-index:2}.expenses-page__menu-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:var(--app-surface-soft);border:1px solid var(--app-border);border-radius:12px;cursor:pointer;color:var(--app-text);transition:background .15s}.expenses-page__menu-btn:hover{background:var(--app-border)}@media(min-width:769px){.expenses-page__menu-btn{display:none}}.expenses-page__header-inner{flex:1;display:flex;flex-direction:row;align-items:center;gap:.75rem;min-width:0}.expenses-page__header-start{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.expenses-page__header-titles{flex:1;min-width:0;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.75rem}.exp-header-queue-wrap,.exp-header-icon-btns{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.expenses-page__title{margin:0;font-size:1.375rem;font-weight:700;color:var(--app-text);letter-spacing:-.025em;flex:1 1 auto;min-width:0}.expenses-page__content{flex:1;overflow-y:auto;min-height:0}@media(max-width:768px){.expenses-page__main{max-height:none;min-height:100dvh;min-height:100svh;overflow-x:visible;overflow-y:auto}.expenses-page__header{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;height:auto;min-height:0;padding:.75rem max(1rem,env(safe-area-inset-left,0px)) .875rem max(1rem,env(safe-area-inset-right,0px))}.expenses-page__header-inner{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:.5rem;width:100%}.expenses-page__header-start{align-items:flex-start}.expenses-page__header-titles{flex-direction:column;align-items:flex-start;gap:.5rem}.expenses-page__title{flex:unset;margin:0;font-size:clamp(1.0625rem,4vw,1.1875rem);line-height:1.2;font-weight:700;letter-spacing:-.02em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;align-self:stretch}.exp-header-icon-btns{gap:.5rem;flex-shrink:0}.exp-header-queue-wrap{width:100%;min-width:0}.exp-header-queue-wrap .exp-queue-nav{width:100%;box-sizing:border-box;justify-content:center;text-align:center;white-space:normal;line-height:1.35;min-height:48px;padding:.65rem 1.125rem;border-radius:12px;font-size:.9375rem;font-weight:600}.exp-header-icon-btns .exp-report-btn,.exp-header-icon-btns .exp-create-btn{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;justify-content:center;border-radius:12px}.exp-header-icon-btns .exp-report-btn svg,.exp-header-icon-btns .exp-create-btn svg{width:20px;height:20px}.exp-header-icon-btns .exp-report-btn__label,.exp-header-icon-btns .exp-create-btn__label{display:none}}@media(max-width:420px){.expenses-page__header{padding-left:max(.875rem,env(safe-area-inset-left,0px));padding-right:max(.875rem,env(safe-area-inset-right,0px));column-gap:.625rem}}.exp-create-btn{display:inline-flex;align-items:center;gap:.5rem;padding:0 1.125rem;height:38px;background:var(--app-accent, #4f46e5);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;white-space:nowrap;flex-shrink:0}.exp-create-btn svg{width:16px;height:16px;flex-shrink:0}.exp-create-btn:hover{opacity:.88}.exp-create-btn:active{transform:scale(.97)}@media(max-width:480px){.exp-create-btn__label{display:none}.exp-create-btn{width:38px;padding:0;justify-content:center}.exp-create-btn svg{width:18px;height:18px}}.exp-toolbar{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 2rem 0;flex-wrap:nowrap;width:100%;box-sizing:border-box}.exp-toolbar--loading{pointer-events:none;opacity:.5}.exp-search-wrap{position:relative;flex:1 1 0;min-width:0;max-width:none}.exp-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--app-muted, #94a3b8);pointer-events:none}.exp-search{width:100%;height:38px;padding:0 .75rem 0 2.25rem;background:var(--app-surface);border:1px solid var(--app-border);border-radius:10px;font-size:.875rem;color:var(--app-text);outline:none;transition:border-color .15s,box-shadow .15s}.exp-search::placeholder{color:var(--app-muted, #94a3b8)}.exp-search:focus{border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 3px #4f46e51a}.exp-search::-webkit-search-cancel-button{display:none}.exp-filters{display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap;flex:2 1 0;min-width:0}.exp-filter{position:relative;flex:1 1 0;min-width:0}.exp-filter__btn{display:inline-flex;align-items:center;gap:.35rem;width:100%;height:38px;padding:0 .875rem;background:var(--app-surface);border:1px solid var(--app-border);border-radius:10px;font-size:.8125rem;color:var(--app-text);cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s;justify-content:space-between;min-width:0}.exp-filter__btn-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:left;white-space:nowrap}.exp-filter__btn svg{width:14px;height:14px;flex-shrink:0;color:var(--app-muted, #94a3b8)}.exp-filter__btn:hover{background:var(--app-surface-soft, #f8fafc)}.exp-filter--active .exp-filter__btn{border-color:var(--app-accent, #4f46e5);background:#4f46e50f;color:var(--app-accent, #4f46e5);font-weight:600}.exp-filter--active .exp-filter__btn svg{color:var(--app-accent, #4f46e5)}.exp-filter__drop{position:absolute;top:calc(100% + 6px);left:0;min-width:180px;background:var(--app-surface);border:1px solid var(--app-border);border-radius:12px;box-shadow:0 8px 24px #0000001a;z-index:30;overflow:hidden;padding:.375rem}.exp-filter__opt{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:none;border:none;border-radius:8px;font-size:.8125rem;color:var(--app-text);text-align:left;cursor:pointer;transition:background .1s;white-space:nowrap}.exp-filter__opt:hover{background:var(--app-surface-soft, #f8fafc)}.exp-filter__opt--on{background:#4f46e512;color:var(--app-accent, #4f46e5);font-weight:600}.exp-filter__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.exp-filter__dot--draft{background:#94a3b8}.exp-filter__dot--pending_approval{background:#d97706}.exp-filter__dot--revision_required{background:#7c3aed}.exp-filter__dot--approved{background:var(--app-accent, #4f46e5)}.exp-filter__dot--rejected{background:#dc2626}.exp-filter__dot--paid{background:#0891b2}.exp-filter__dot--closed{background:#cbd5e1}.exp-filter__dot--not_reimbursable{background:#94a3b8}.exp-filter__dot--withdrawn{background:#cbd5e1}.exp-filters-reset{flex:0 0 auto;height:38px;padding:0 .875rem;background:none;border:1px dashed var(--app-border);border-radius:10px;font-size:.8125rem;color:var(--app-muted, #94a3b8);cursor:pointer;transition:border-color .15s,color .15s;white-space:nowrap}.exp-filters-reset:hover{border-color:#ef4444;color:#ef4444}.exp-stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem 1rem;width:100%;max-width:none;margin:0;padding:.5rem 2rem .875rem;box-sizing:border-box;align-items:stretch}.exp-stats-tile__sub{font-size:.75rem;font-weight:600;color:var(--app-muted, #64748b);line-height:1.3}.expenses-page .exp-tt-pager,.expenses-page .exp-cards-pager{max-width:100%;margin:.5rem 2rem 1rem;box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1rem;padding:.75rem 0 .25rem;border-top:1px solid var(--app-border, #e5e7eb)}.expenses-page .exp-tt-pager .tt-list-pagination__meta,.expenses-page .exp-cards-pager .tt-list-pagination__meta{font-size:.875rem;color:var(--app-muted, #6b7280);font-variant-numeric:tabular-nums}.expenses-page .exp-tt-pager .tt-list-pagination__count,.expenses-page .exp-cards-pager .tt-list-pagination__count{color:var(--app-text, #374151)}.expenses-page .exp-tt-pager .tt-settings__btn,.expenses-page .exp-cards-pager .tt-settings__btn{min-height:36px;padding:0 .875rem;border-radius:10px;font-size:.8125rem;border:1px solid var(--app-border, #e5e7eb);background:var(--app-surface, #fff);color:var(--app-text, #111827);cursor:pointer;transition:border-color .15s,color .15s,opacity .15s}.expenses-page .exp-tt-pager .tt-settings__btn:hover:not(:disabled),.expenses-page .exp-cards-pager .tt-settings__btn:hover:not(:disabled){border-color:var(--app-accent, #4f46e5);color:var(--app-accent, #4f46e5)}.expenses-page .exp-tt-pager .tt-settings__btn:disabled,.expenses-page .exp-cards-pager .tt-settings__btn:disabled{cursor:not-allowed;opacity:.5}@media(max-width:768px){.expenses-page .exp-tt-pager,.expenses-page .exp-cards-pager{margin-left:max(.875rem,env(safe-area-inset-left,0px));margin-right:max(.875rem,env(safe-area-inset-right,0px))}}.exp-stats-tile{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;min-width:0;padding:.75rem 1rem;background:var(--app-surface);border:1px solid var(--app-border);border-radius:12px;box-shadow:0 1px 2px #0f172a0a}.exp-stats-tile__label{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--app-muted, #64748b);line-height:1.2}.exp-stats-tile__value{font-size:1.125rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--app-text);line-height:1.2;letter-spacing:-.02em;word-break:break-word}.exp-stats-tile__value--uzs{font-size:1.1875rem}.exp-stats-tile__value--usd{font-size:1.0625rem;font-weight:700}.exp-stats-tile__unit{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--app-muted, #64748b);padding:.1rem .35rem;border-radius:4px;background:#94a3b824}.exp-stats-tile--skel{gap:.45rem}.exp-stats-row--skel .exp-stats-tile--skel{min-height:5.5rem;justify-content:center}@media(max-width:768px){.exp-stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding-left:max(.875rem,env(safe-area-inset-left,0px));padding-right:max(.875rem,env(safe-area-inset-right,0px));padding-bottom:.5rem;padding-top:.25rem}.exp-stats-tile{padding:.55rem .45rem;min-width:0;align-items:center;text-align:center}.exp-stats-tile__label{font-size:.5625rem;letter-spacing:.04em;text-align:center;width:100%}.exp-stats-tile__value{font-size:clamp(.8125rem,3.2vw,1rem);text-align:center;width:100%}.exp-stats-tile__value--uzs{font-size:clamp(.75rem,2.9vw,.9375rem)}.exp-stats-tile__value--usd{font-size:clamp(.75rem,2.8vw,.875rem)}.exp-stats-tile__unit{font-size:.5625rem;padding:.08rem .28rem}.exp-stats-row--skel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding-left:max(.875rem,env(safe-area-inset-left,0px));padding-right:max(.875rem,env(safe-area-inset-right,0px))}.exp-stats-row--skel .exp-stats-tile--skel{min-height:4.75rem}}.exp-status{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:20px;font-size:.72rem;font-weight:600;white-space:nowrap;letter-spacing:.01em;max-width:100%;overflow:hidden;text-overflow:ellipsis}.exp-status--draft{background:#94a3b826;color:#64748b}.exp-status--pending_approval{background:#d977061f;color:#d97706}.exp-status--revision_required{background:#7c3aed1f;color:#7c3aed}.exp-status--approved{background:var(--app-accent-light-bg, #eef2ff);color:var(--app-accent, #4f46e5)}.exp-status--rejected{background:#dc26261f;color:#dc2626}.exp-status--paid{background:#0891b21f;color:#0891b2}.exp-status--closed{background:#cbd5e140;color:#94a3b8}.exp-status--not_reimbursable{background:#94a3b81f;color:#64748b}.exp-status--withdrawn{background:#94a3b81a;color:#94a3b8}.expenses-page .exp-card .exp-status--pending_approval{background:#f2994a29;color:#b45309}.expenses-page .exp-card .exp-status--approved{background:#2f80ed1a;color:#1d4ed8}body[data-theme=dark] .expenses-page .exp-card .exp-status--pending_approval{background:#fb923c24;color:#fdba74}body[data-theme=dark] .expenses-page .exp-card .exp-status--approved{background:#60a5fa1f;color:#93c5fd}.exp-reimb{display:inline-flex;align-items:center;font-size:.75rem;font-weight:500;white-space:nowrap}.exp-reimb--reimbursable{color:var(--app-accent, #4f46e5)}.exp-reimb--non_reimbursable{color:#94a3b8}.exp-table{padding:0 2rem 2rem;overflow-x:auto}.exp-table__body{border-radius:0 0 14px 14px;overflow:hidden}.exp-table__row{display:grid;column-gap:.375rem;grid-template-columns:100px minmax(0,1fr) minmax(120px,168px) minmax(100px,112px) minmax(100px,118px) minmax(100px,122px) minmax(118px,132px) minmax(104px,168px) minmax(96px,112px) minmax(168px,1fr) 52px;align-items:center;min-width:1292px}.exp-table__row--head{background:var(--app-surface-soft, #f8fafc);border:1px solid var(--app-border);border-radius:10px 10px 0 0}.exp-table__row:not(.exp-table__row--head){background:var(--app-surface);border-left:1px solid var(--app-border);border-right:1px solid var(--app-border);border-bottom:1px solid var(--app-border);cursor:pointer;transition:background .12s}.exp-table__row:not(.exp-table__row--head):last-child{border-radius:0 0 10px 10px}.exp-table__row:not(.exp-table__row--head):hover{background:var(--app-surface-soft, #f8fafc)}.exp-table__th,.exp-table__td{padding:.5rem;font-size:.8125rem;overflow:hidden}.exp-table__th{font-weight:600;color:var(--app-muted, #94a3b8);text-transform:uppercase;font-size:.695rem;letter-spacing:.05em;white-space:nowrap;overflow:hidden}.exp-table__th--expdate,.exp-table__th--paydue,.exp-table__th--rate{white-space:normal;overflow:visible;line-height:1.35;-webkit-hyphens:auto;hyphens:auto;word-break:break-word}.exp-table__td{color:var(--app-text)}.exp-table__num{font-family:var(--app-font-family);font-size:.8rem;font-weight:700;color:var(--app-accent, #4f46e5);white-space:nowrap}.exp-table__desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.exp-table__th--num,.exp-table__td--num{padding-left:.75rem;padding-right:.35rem;overflow:visible;text-overflow:clip}.exp-table__td--num .exp-table__num{display:inline-block;max-width:100%}.exp-table__th--desc,.exp-table__td--desc,.exp-table__th--author,.exp-table__td--author{min-width:0}.exp-table__author{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;color:var(--app-text)}.exp-table__th--action,.exp-table__td--action{padding-right:.75rem;padding-left:.35rem;text-align:right;min-width:0;width:52px;max-width:52px;vertical-align:middle}.exp-table__th--uzs,.exp-table__td--uzs,.exp-table__th--usd,.exp-table__td--usd,.exp-table__th--rate,.exp-table__td--rate{text-align:right}.exp-table__td--usd{font-variant-numeric:tabular-nums;font-size:.8125rem;color:var(--app-muted, #64748b);white-space:nowrap}.exp-table__usd-one-line{display:inline-flex;align-items:baseline;gap:.25rem;white-space:nowrap}.exp-table__usd-num{font-weight:600;color:var(--app-text)}.exp-table__uzs-paren{color:var(--app-muted, #64748b);font-size:.78rem;font-weight:500;white-space:nowrap}.exp-table__td--rate{font-variant-numeric:tabular-nums;font-size:.78rem;color:var(--app-muted, #64748b)}.exp-table__td--expdate,.exp-table__td--paydue{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.8125rem;overflow:visible;box-sizing:border-box}.exp-table__th--status,.exp-table__td--status{overflow:visible}.exp-table__status-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;min-width:min-content}.expenses-page .exp-card__partner-pill--table{flex-shrink:0;max-width:none;overflow:visible;text-overflow:clip;padding-left:.4rem;padding-right:.4rem;font-size:.65rem;white-space:nowrap}.exp-table__money-uzs{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.exp-table__usd-suffix{font-size:.75rem;font-weight:500;color:var(--app-muted, #64748b)}.exp-table__rate-hint{margin-top:.15rem;font-size:.72rem;font-weight:500;color:var(--app-muted, #64748b);line-height:1.25;white-space:nowrap}.exp-table__money-empty{color:var(--app-muted, #94a3b8)}.exp-table__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.exp-table__action-trigger-wrap{display:flex;justify-content:flex-end;width:100%}.exp-table__actions-trigger{display:inline-flex;align-items:center;justify-content:center;width:36px;height:32px;padding:0;border-radius:8px;border:1px solid var(--app-border);background:var(--app-surface-soft, #f8fafc);color:var(--app-muted, #64748b);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.exp-table__actions-trigger:hover:not(:disabled){background:var(--app-surface);border-color:var(--app-accent, #4f46e5);color:var(--app-accent, #4f46e5)}.exp-table__actions-trigger--open{border-color:var(--app-accent, #4f46e5);color:var(--app-accent, #4f46e5);background:rgba(var(--app-accent-rgb),.08)}.exp-table__actions-trigger:disabled{opacity:.45;cursor:not-allowed}.exp-table__actions-menu{padding:4px;box-sizing:border-box;background:var(--app-surface, #fff);border:1px solid var(--app-border);border-radius:10px;box-shadow:0 10px 28px #0f172a24}.exp-table__actions-menu--portal{margin:0}.exp-table__menu-hint{margin:0 0 4px;padding:.35rem .5rem .45rem;font-size:.6875rem;line-height:1.35;color:var(--app-muted, #64748b);border-bottom:1px solid var(--app-border)}.exp-table__menu-sep{height:1px;margin:4px 6px;background:var(--app-border)}.exp-table__menu-item{display:block;width:100%;padding:.45rem .65rem;margin:0;border:none;border-radius:7px;background:none;font-family:inherit;font-size:.8125rem;font-weight:500;color:var(--app-text);text-align:left;cursor:pointer;transition:background .12s}.exp-table__menu-item:hover:not(:disabled){background:var(--app-surface-soft, #f1f5f9)}.exp-table__menu-item:disabled{opacity:.45;cursor:not-allowed}.exp-table__menu-item--accent{color:var(--app-accent, #4f46e5)}.exp-table__menu-item--danger{color:#b91c1c}.exp-table__menu-item--danger:hover:not(:disabled){background:#dc26260f}.exp-table__menu-item--primary{font-weight:600;color:var(--app-accent, #4f46e5)}.exp-table__td--type{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exp-table__partner-sub{display:block;margin-top:.15rem;font-size:.6875rem;font-weight:500;color:var(--app-muted, #64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exp-table__td--reimb{overflow:visible}.expenses-page .exp-table__td--status .exp-status{max-width:none;overflow:visible;text-overflow:clip;flex-shrink:0}.exp-table__open-btn{display:inline-flex;align-items:center;height:30px;padding:0 .75rem;background:var(--app-surface-soft, #f8fafc);border:1px solid var(--app-border);border-radius:8px;font-size:.75rem;font-weight:500;color:var(--app-text);cursor:pointer;transition:background .12s,border-color .12s,color .12s;white-space:nowrap}.exp-table__open-btn:hover{background:var(--app-accent, #4f46e5);border-color:var(--app-accent, #4f46e5);color:#fff}.exp-table__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.3rem;max-width:10.25rem;margin-left:auto}.exp-table__actions--moderation{display:grid;grid-template-columns:2.375rem 2.375rem;column-gap:.45rem;row-gap:.3rem;justify-content:end;justify-items:stretch;width:max-content;max-width:none;margin-left:auto}.exp-table__actions--moderation .exp-table__action-btn--approve{grid-column:1}.exp-table__actions--moderation .exp-table__action-btn--reject{grid-column:2}.exp-table__actions--moderation .exp-table__action-btn--revise{grid-column:1 / -1}.exp-table__actions--moderation .exp-table__open-btn{grid-column:1 / -1;width:100%;justify-content:center}.exp-table__action-btn{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 .4rem;border-radius:6px;font-size:.65625rem;font-weight:600;cursor:pointer;border:1px solid var(--app-border);background:var(--app-surface-soft, #f8fafc);color:var(--app-text);white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.exp-table__action-btn:disabled{opacity:.45;cursor:not-allowed}.exp-table__action-btn--approve{border-color:rgba(var(--app-accent-rgb),.45);color:var(--app-accent, #4f46e5);background:rgba(var(--app-accent-rgb),.08)}.exp-table__action-btn--approve:hover:not(:disabled){background:var(--app-accent, #4f46e5);border-color:var(--app-accent, #4f46e5);color:#fff}.exp-table__action-btn--reject{border-color:#f87171;color:#b91c1c;background:#f871711f}.exp-table__action-btn--reject:hover:not(:disabled){background:#dc2626;border-color:#dc2626;color:#fff}.exp-table__action-btn--revise{border-color:#4f46e573;color:var(--app-accent, #4f46e5);background:#4f46e514}.exp-table__action-btn--revise:hover:not(:disabled){background:var(--app-accent, #4f46e5);border-color:var(--app-accent, #4f46e5);color:#fff}.exp-table__action-btn--icon{width:2.375rem;min-width:2.375rem;height:2.375rem;min-height:2.375rem;padding:0;flex-shrink:0}.exp-table__action-btn--icon svg{display:block}.exp-cards:not(.exp-cards--grid){display:flex;flex-direction:column;gap:.75rem;padding:0 .875rem 1.5rem}.expenses-page .exp-cards--grid{display:grid;grid-template-columns:1fr;gap:1rem 1.25rem;width:100%;max-width:none;margin:0;padding:0 2rem 2rem;box-sizing:border-box;align-items:stretch}@media(min-width:641px){.expenses-page .exp-cards--grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1000px){.expenses-page .exp-cards--grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1280px){.expenses-page .exp-cards--grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.exp-cards__item{min-width:0;display:flex;flex-direction:column;align-items:stretch}.exp-cards__item .exp-card{width:100%;min-width:0;box-sizing:border-box;height:100%}@media(max-width:480px){.expenses-page .exp-cards--grid{gap:.75rem}}.expenses-page .exp-card{background:var(--app-surface);border:1px solid var(--app-border);border-left-width:4px;border-radius:14px;padding:1rem 1rem 1.125rem;cursor:pointer;transition:box-shadow .18s ease,border-color .18s ease,transform .12s ease;box-shadow:0 1px 3px #0f172a0f;display:flex;flex-direction:column;gap:0}.expenses-page .exp-card:hover{box-shadow:0 6px 20px #0f172a17}.expenses-page .exp-card--draft{border-left-color:#94a3b8}.expenses-page .exp-card--pending_approval{border-left-color:var(--exp-card-stripe-pending)}.expenses-page .exp-card--revision_required{border-left-color:#7c3aed}.expenses-page .exp-card--approved{border-left-color:var(--exp-card-stripe-approved)}.expenses-page .exp-card--rejected{border-left-color:#dc2626}.expenses-page .exp-card--paid{border-left-color:#0891b2}.expenses-page .exp-card--closed{border-left-color:#cbd5e1}.expenses-page .exp-card--not_reimbursable{border-left-color:#94a3b8}.expenses-page .exp-card--withdrawn{border-left-color:#cbd5e1}.expenses-page .exp-card--pending_approval:hover{border-color:#f2994a73}.expenses-page .exp-card--approved:hover{border-color:#2f80ed59}.expenses-page .exp-card--rejected:hover{border-color:#dc262659}.expenses-page .exp-card--paid:hover{border-color:#0891b259}.exp-card__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.exp-card__head-tags{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.35rem}.exp-card__partner-pill{font-size:.7rem;font-weight:600;padding:.15rem .45rem;border-radius:.35rem;background:#64748b2e;color:var(--app-muted-text, #64748b);white-space:nowrap}.exp-card__num{font-family:var(--app-font-family);font-size:.8rem;font-weight:700;color:var(--exp-card-id-color, #2563eb);letter-spacing:-.02em}.exp-card__desc{margin:0 0 .625rem;font-size:.9rem;font-weight:600;color:var(--app-text);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;min-height:3em}.exp-card__author-line{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;margin:0 0 .625rem;padding-bottom:.625rem;border-bottom:1px solid var(--app-border-soft, var(--app-border))}.exp-card__author-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--app-muted, #94a3b8)}.exp-card__author-name{font-size:.8125rem;color:var(--app-text);font-weight:600;line-height:1.35}.exp-card__facts{display:grid;grid-template-columns:1fr 1fr;gap:.55rem 1rem;margin:0 0 .75rem;flex:1}.exp-card__fact{display:flex;flex-direction:column;gap:.2rem;min-width:0}.exp-card__fact-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--app-muted, #94a3b8);line-height:1.2}.exp-card__fact-value{font-size:.8125rem;font-weight:500;color:var(--app-text);line-height:1.35;word-break:break-word}.exp-card__fact-empty{color:var(--app-muted, #94a3b8);font-weight:400}.exp-card__facts--skel{display:flex;flex-direction:column;gap:.45rem;margin:.5rem 0}.exp-card__money{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;margin:0 0 .35rem;padding:0;background:var(--exp-card-money-bg, #f4f7f9);border:1px solid var(--exp-card-money-border, var(--app-border));border-radius:10px;overflow:hidden;box-shadow:inset 0 1px #fff9}body[data-theme=dark] .expenses-page .exp-card__money{box-shadow:none}.exp-card__money--skel{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem;padding:0;background:transparent;border:none}.exp-card__money-cell{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.28rem;min-width:0;padding:.65rem .5rem .7rem .65rem;background:transparent;border:none;border-right:1px solid var(--app-border-soft, rgba(148, 163, 184, .35));box-shadow:none;border-radius:0}.exp-card__money-cell:last-child{border-right:none}.exp-card__money-label{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--app-muted, #64748b);line-height:1.25}.exp-card__money-value{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .4rem;font-variant-numeric:tabular-nums;line-height:1.25;word-break:break-word;width:100%}.exp-card__money-num{color:var(--app-text);font-weight:700}.exp-card__money-suffix{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--app-muted, #64748b);padding:.1rem .35rem;border-radius:4px;background:#94a3b824}.exp-card__money-suffix--hint{text-transform:none;letter-spacing:0;font-weight:600;font-size:.625rem;background:transparent;padding:0;color:var(--app-muted, #94a3b8)}.exp-card__money-empty{color:var(--app-muted, #94a3b8);font-weight:600}.exp-card__money-value--uzs{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .45rem}.exp-card__money-value--uzs .exp-card__money-num{font-size:.9375rem;font-weight:800;letter-spacing:-.02em;line-height:1.2}.exp-card__money-value--usd .exp-card__money-num,.exp-card__money-value--rate .exp-card__money-num{font-size:.875rem;font-weight:700}.exp-card__ft{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:.5rem;margin-top:.65rem;padding-top:.7rem;border-top:1px solid var(--app-border-soft, var(--app-border))}.exp-card__own-mod-hint{flex:1 1 100%;margin:0 0 .15rem;font-size:.72rem;line-height:1.4;color:var(--app-muted, #64748b);text-align:left}.exp-card__ft--skel{border-top:none;padding-top:.5rem;margin-top:.25rem;align-items:center;justify-content:center}.exp-card__mod-row{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-start;align-items:center;width:100%;margin:0}.exp-card__mod-btn{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 .6rem;border-radius:8px;font-size:.72rem;font-weight:600;cursor:pointer;border:1px solid var(--app-border);background:var(--app-surface-soft, #f8fafc);transition:background .12s,border-color .12s,color .12s}.exp-card__mod-btn:disabled{opacity:.45;cursor:not-allowed}.exp-card__mod-btn--icon{width:2.375rem;min-width:2.375rem;height:2.375rem;min-height:2.375rem;padding:0}.exp-card__mod-btn--icon svg{display:block}.exp-card__mod-btn--approve{border-color:rgba(var(--app-accent-rgb),.45);color:var(--app-accent, #4f46e5);background:rgba(var(--app-accent-rgb),.08)}.exp-card__mod-btn--approve:hover:not(:disabled){background:var(--app-accent, #4f46e5);border-color:var(--app-accent, #4f46e5);color:#fff}.exp-card__mod-btn--reject{border-color:#f87171;color:#b91c1c;background:#f871711f}.exp-card__mod-btn--reject:hover:not(:disabled){background:#dc2626;border-color:#dc2626;color:#fff}.exp-card__mod-btn--revise{border-color:#4f46e573;color:var(--app-accent, #4f46e5);background:#4f46e514}.exp-card__mod-btn--revise:hover:not(:disabled){background:var(--app-accent, #4f46e5);border-color:var(--app-accent, #4f46e5);color:#fff}.exp-card__mod-row--lifecycle{margin-top:0;gap:.5rem}.exp-card__mod-row--lifecycle .exp-card__mod-btn--pay,.exp-card__mod-row--lifecycle .exp-card__mod-btn--close{flex:1 1 0;min-width:0;min-height:34px;font-size:.75rem;font-weight:600;border-radius:10px}.exp-card__mod-btn--pay{border-color:#0891b280;color:#0e7490;background:#0891b21a}.exp-card__mod-btn--pay:hover:not(:disabled){background:#0891b2;border-color:#0891b2;color:#fff}.exp-card__mod-btn--close{border-color:#64748b73;color:#475569;background:#94a3b81f}.exp-card__mod-btn--close:hover:not(:disabled){background:#64748b;border-color:#64748b;color:#fff}.exp-card__open-btn{display:inline-flex;align-items:center;gap:.25rem;height:32px;padding:0 .875rem;background:#4f46e512;border:1px solid rgba(79,70,229,.2);border-radius:8px;font-size:.8125rem;font-weight:600;color:var(--app-accent, #4f46e5);cursor:pointer;transition:background .12s}.exp-card__open-btn svg{width:14px;height:14px}.exp-card__open-btn:hover{background:#4f46e51f}.exp-card__ft-user{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem .75rem;width:100%;margin:.15rem 0 0;padding-top:.45rem;border-top:1px solid var(--app-border-soft, var(--app-border));min-width:0}.exp-card__ft-user:only-child{margin-top:0;padding-top:0;border-top:none}.exp-card__ft>.exp-card__ft-user:first-child{margin-top:0;padding-top:0;border-top:none}.exp-card__ft-link{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 .5rem;margin:0;background:none;border:none;border-radius:8px;font-size:.75rem;font-weight:600;color:var(--app-muted, #64748b);cursor:pointer;text-decoration:none;transition:color .12s,background .12s}.exp-card__ft-link:hover{color:var(--app-accent, #4f46e5);background:#4f46e50f;text-decoration:underline;text-underline-offset:3px}@media(max-width:768px){.exp-card{padding:1rem 1.125rem;border-radius:14px;-webkit-tap-highlight-color:transparent}.exp-card:active{transform:scale(.992)}.exp-card__head{flex-wrap:wrap;gap:.35rem .5rem}.exp-card__desc{min-height:0;-webkit-line-clamp:5;font-size:.875rem}.exp-card__facts{grid-template-columns:1fr;gap:.65rem}.exp-card__money{grid-template-columns:1fr 1fr}.exp-card__money-cell:nth-child(2){border-right:none}.exp-card__money-cell:nth-child(3){grid-column:1 / -1;border-right:none;border-top:1px solid var(--app-border)}.exp-card__money-cell{padding:.5rem .625rem}.exp-card__ft{flex-direction:column;align-items:stretch;gap:.5rem}.exp-card__ft-user{width:100%;margin-left:0;justify-content:flex-start;gap:.5rem}.exp-card__ft-link{min-height:44px;font-size:.875rem;padding:0 .75rem}.exp-card__mod-row{flex:1 1 auto;margin-right:0;width:100%}.exp-card__mod-btn--revise{flex:1 1 auto;min-height:44px}.exp-card__open-btn{width:100%;min-height:44px;justify-content:center;font-size:.875rem}}@media(max-width:380px){.exp-card__money-value--uzs .exp-card__money-num{font-size:.9375rem}}@media(max-width:768px){.exp-card__mod-btn--icon{width:44px;min-width:44px;height:44px;min-height:44px}.exp-card__mod-btn:not(.exp-card__mod-btn--icon){min-height:44px;padding:0 .75rem}}.exp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;gap:.5rem}.exp-empty__icon{width:72px;height:72px;color:var(--app-border);margin-bottom:.5rem}.exp-empty__icon svg{width:100%;height:100%}.exp-empty__title{margin:0;font-size:1rem;font-weight:700;color:var(--app-text)}.exp-empty__desc{margin:0;font-size:.875rem;color:var(--app-muted, #94a3b8)}.exp-empty__btn{display:inline-flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:0 1.25rem;height:40px;background:var(--app-accent, #4f46e5);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s}.exp-empty__btn svg{width:16px;height:16px}.exp-empty__btn:hover{opacity:.88}@media(max-width:768px){.exp-empty{padding:2.5rem max(1.25rem,env(safe-area-inset-left,0px)) 3rem max(1.25rem,env(safe-area-inset-right,0px))}.exp-empty__btn{min-height:48px;width:100%;max-width:280px;justify-content:center}}.exp-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000;z-index:39;pointer-events:none;transition:background .25s}.exp-panel-overlay--open{background:#00000059;pointer-events:auto}.exp-panel{position:fixed;right:0;top:0;height:100%;width:488px;max-width:100vw;display:flex;flex-direction:column;background:var(--app-surface);border-left:1px solid var(--app-border);box-shadow:-12px 0 40px #00000014;z-index:40;transform:translate(100%);transition:transform .28s cubic-bezier(.22,1,.36,1);overflow:hidden}.exp-panel--open{transform:translate(0)}.exp-panel__async-busy-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:24;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.875rem;padding:1.5rem;background:#ffffffd1;background:color-mix(in srgb,var(--app-surface, #fff) 78%,transparent);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);pointer-events:auto}.exp-panel__async-busy-spinner{width:36px!important;height:36px!important;color:var(--app-accent, #4f46e5);animation:exp-panel-btn-spin .75s linear infinite}.exp-panel__async-busy-label{font-size:.9375rem;font-weight:600;color:var(--app-text);text-align:center;max-width:16rem;line-height:1.35}.exp-panel__hd{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0 1.5rem;height:64px;border-bottom:1px solid var(--app-border);background:var(--app-surface)}.exp-panel__hd-left{display:flex;align-items:center;gap:.75rem;min-width:0}.exp-panel__title{margin:0;font-size:1rem;font-weight:700;color:var(--app-text);letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exp-panel__close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--app-surface-soft, #f8fafc);border:1px solid var(--app-border);border-radius:10px;cursor:pointer;color:var(--app-muted, #94a3b8);transition:background .12s,color .12s}.exp-panel__close svg{width:16px;height:16px}.exp-panel__close:hover{background:var(--app-border);color:var(--app-text)}.exp-panel__close:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.exp-panel__body{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.exp-panel__ft{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;border-top:1px solid var(--app-border);background:var(--app-surface)}.exp-panel__ft--single{justify-content:flex-end}.exp-panel__ft--moderate{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem}.exp-panel__ft-moderate{flex:1;min-width:min(100%,280px)}.exp-panel__ft-moderate-btns{display:flex;flex-wrap:wrap;gap:.5rem}.exp-panel__ft-hint{flex:1 1 100%;margin:0 0 .25rem;font-size:.8125rem;line-height:1.45;color:var(--app-muted, #64748b);text-align:left}.exp-mod-err{margin:0 0 .5rem;font-size:.8125rem;color:#dc2626}.exp-mod-err--inline{margin-bottom:.5rem}.exp-mod-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a73}@media(max-width:768px){.exp-mod-backdrop{padding:max(.75rem,env(safe-area-inset-top,0px)) max(.75rem,env(safe-area-inset-right,0px)) max(.75rem,env(safe-area-inset-bottom,0px)) max(.75rem,env(safe-area-inset-left,0px))}.exp-mod-dialog__textarea{font-size:16px}}.exp-mod-dialog{box-sizing:border-box;width:100%;max-width:420px;padding:1.35rem 1.5rem 1.25rem;background:var(--app-surface);border-radius:14px;border:1px solid var(--app-border);box-shadow:0 20px 50px #0000002e}.exp-mod-dialog__title{margin:0 0 .5rem;font-size:1.05rem;font-weight:700;line-height:1.35;color:var(--app-text);min-width:0;overflow-wrap:break-word;word-break:normal;-webkit-hyphens:auto;hyphens:auto;padding-right:.125rem}.exp-mod-dialog__sub{margin:0 0 .875rem;font-size:.8125rem;color:var(--app-muted, #64748b);line-height:1.5;min-width:0;overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.exp-mod-dialog__textarea{width:100%;box-sizing:border-box;min-height:96px;padding:.625rem .75rem;margin-bottom:.75rem;border:1px solid var(--app-border);border-radius:10px;font-size:.875rem;font-family:inherit;color:var(--app-text);background:var(--app-surface);resize:vertical}.exp-mod-dialog__textarea:focus{outline:none;border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 3px #4f46e51f}.exp-mod-dialog__ft{display:flex;justify-content:flex-end;align-items:center;gap:.625rem;flex-wrap:wrap;margin-top:.35rem;padding-top:.15rem}.exp-mod-dialog__confirm-body{min-width:0;overflow-wrap:break-word;word-break:break-word}.exp-mod-dialog__confirm-body .exp-mod-dialog__sub:last-child{margin-bottom:0}.exp-mod-dialog__confirm-busy-label{font-size:.8125rem;font-weight:600}@media(max-width:768px){.exp-mod-dialog{max-width:min(420px,calc(100vw - 1.5rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));max-height:min(520px,85dvh);overflow-y:auto;-webkit-overflow-scrolling:touch;padding-top:max(1.25rem,env(safe-area-inset-top,0px));padding-bottom:max(1.15rem,env(safe-area-inset-bottom,0px));padding-left:max(1.25rem,env(safe-area-inset-left,0px));padding-right:max(1.25rem,env(safe-area-inset-right,0px))}.exp-mod-dialog__ft{gap:.5rem}.exp-mod-dialog__ft .exp-panel-btn{min-height:48px}}@media(max-width:380px){.exp-mod-dialog__ft{flex-direction:column-reverse;align-items:stretch}.exp-mod-dialog__ft .exp-panel-btn{width:100%;justify-content:center}}.exp-panel-btn--danger-outline{color:#b91c1c;border-color:#dc262659}.exp-panel-btn--danger-outline:hover{background:#dc26260f}.exp-panel-btn--primary.exp-panel-btn--danger{background:#dc2626;border-color:#dc2626}.exp-panel-btn--primary.exp-panel-btn--danger:hover{opacity:.9}.exp-queue-nav{display:inline-flex;align-items:center;height:38px;padding:0 1rem;border-radius:10px;font-size:.875rem;font-weight:600;text-decoration:none;color:var(--app-accent, #4f46e5);border:1px solid rgba(79,70,229,.35);background:var(--app-surface);transition:background .12s,border-color .12s}.exp-queue-nav:hover{background:#4f46e50f;border-color:var(--app-accent, #4f46e5)}.exp-form-collapsible{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .32s ease,opacity .28s ease}.exp-form-collapsible--open{grid-template-rows:1fr;opacity:1}.exp-form-collapsible__inner{overflow:hidden}.exp-form-block{display:flex;flex-direction:column;gap:1rem;padding:1.25rem;background:var(--app-bg, #f8fafc);border:1px solid var(--app-border);border-radius:12px}.exp-form-block--docs{border-color:#4f46e559;background:#4f46e508}.exp-form-block--payment-confirm{border-color:#05966961;background:#0596690b}.exp-form-block__title{margin:0;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--app-muted, #94a3b8);display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.exp-form-docs-badge{font-size:.7rem;font-weight:600;text-transform:none;letter-spacing:0;padding:.15rem .5rem;background:#4f46e51a;color:var(--app-accent, #4f46e5);border-radius:6px}.exp-form-field{display:flex;flex-direction:column;gap:.375rem}.exp-form-static{margin:0;font-size:.875rem;line-height:1.45;color:var(--app-text)}.exp-form-static--muted{font-size:.8125rem;color:var(--app-muted, #64748b);margin-top:.2rem}.exp-form-field--err .exp-form-input,.exp-form-field--err .exp-form-textarea,.exp-form-field--err .exp-form-select{border-color:#ef4444}.exp-form-label{font-size:.8125rem;font-weight:600;color:var(--app-text)}.exp-form-req{color:#ef4444;margin-left:2px}.exp-form-input,.exp-form-textarea,.exp-form-select{width:100%;padding:.625rem .875rem;background:var(--app-surface);border:1px solid var(--app-border);border-radius:10px;font-size:.875rem;color:var(--app-text);outline:none;transition:border-color .15s,box-shadow .15s;font-family:inherit}.exp-form-input:focus,.exp-form-textarea:focus,.exp-form-select:focus{border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 3px #4f46e51a}.exp-form-input:disabled,.exp-form-textarea:disabled,.exp-form-select:disabled{opacity:.65;cursor:not-allowed;background:var(--app-surface-soft, #f8fafc)}.exp-form-textarea{resize:vertical;min-height:72px}.exp-form-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;padding-right:2.25rem;cursor:pointer}.exp-form-input-wrap{display:flex;align-items:stretch;border:1px solid var(--app-border);border-radius:10px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.exp-form-field--err .exp-form-input-wrap{border-color:#ef4444}.exp-form-input-wrap:focus-within{border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 3px #4f46e51a}.exp-form-input-wrap .exp-form-input{flex:1;border:none!important;border-radius:0!important;box-shadow:none!important;outline:none!important}.exp-form-suffix{flex-shrink:0;display:flex;align-items:center;padding:0 .875rem;background:var(--app-surface-soft, #f8fafc);border-left:1px solid var(--app-border);font-size:.75rem;font-weight:600;color:var(--app-muted, #94a3b8);white-space:nowrap}.exp-form-currency-select{flex-shrink:0;min-width:6.75rem;max-width:9rem;margin:0;padding:0 1.5rem 0 .65rem;border:none;border-left:1px solid var(--app-border);border-radius:0;background-color:var(--app-surface-soft, #f8fafc);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .4rem center;background-size:12px;font-size:.72rem;font-weight:600;font-family:inherit;color:var(--app-text, #334155);cursor:pointer;appearance:none;-webkit-appearance:none}.exp-form-currency-select:disabled{cursor:not-allowed;opacity:.75}.exp-form-input-wrap:focus-within .exp-form-currency-select{color:var(--app-text, #334155)}.exp-form-input--calc{background:var(--app-surface-soft, #f8fafc);color:var(--app-muted, #94a3b8);font-weight:600;cursor:not-allowed}.exp-form-input:read-only:not(:disabled){background:var(--app-surface-soft, #f8fafc);color:var(--app-muted, #64748b);cursor:default}.exp-form-hint{margin:0;font-size:.75rem;color:var(--app-muted, #94a3b8)}.exp-form-err-msg{margin:0;font-size:.75rem;font-weight:500;color:#ef4444}.exp-searchable{position:relative;width:100%}.exp-searchable__btn{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;box-sizing:border-box;min-height:2.65rem;padding:.55rem .85rem;text-align:left;cursor:pointer;background:var(--app-surface, #fff)}.exp-searchable__btn:disabled{cursor:not-allowed;opacity:.75}.exp-searchable__btn-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;color:var(--app-text, #334155)}.exp-searchable__btn-text--placeholder{color:var(--app-muted, #94a3b8)}.exp-searchable__chev{flex-shrink:0;color:var(--app-muted, #94a3b8);display:flex}.exp-searchable--open .exp-searchable__chev{color:var(--app-accent, #4f46e5)}.exp-searchable__dropdown{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);padding:.5rem;background:var(--app-surface, #fff);border:1px solid var(--app-border, #e2e8f0);border-radius:12px;box-shadow:0 10px 40px #0f172a1f}.exp-searchable__search{margin-bottom:.4rem}.exp-searchable__search-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.exp-searchable__input{width:100%;box-sizing:border-box;margin:0}.exp-searchable__list{list-style:none;margin:0;padding:0;max-height:min(320px,48vh);overflow-y:auto;scrollbar-gutter:stable}.exp-searchable__empty{padding:1rem .75rem;font-size:.8125rem;color:var(--app-muted, #94a3b8);text-align:center}.exp-searchable__opt{display:block;width:100%;box-sizing:border-box;margin:0;padding:.5rem .55rem;text-align:left;font-family:inherit;font-size:.875rem;color:var(--app-text, #334155);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:background .12s}.exp-searchable__opt:hover{background:var(--app-surface-soft, #f8fafc)}.exp-searchable__opt--selected{background:#4f46e514}.exp-searchable__opt-rich{display:block;pointer-events:none}.exp-searchable__opt-rich .exp-project-picker__card-body{padding:0}.exp-searchable__opt-client{display:block;margin-top:.35rem;font-size:.8125rem;font-weight:600;color:var(--app-muted, #94a3b8)}.exp-form-field--err .exp-searchable__btn{border-color:#ef4444}.exp-form-field--project .exp-project-picker{margin-top:.35rem}.exp-project-picker__field{margin-bottom:.85rem}.exp-project-picker__field:last-child{margin-bottom:0}.exp-project-picker__combo-hint{margin:-.15rem 0 .65rem;line-height:1.45}.exp-project-picker__loading{margin:0;padding:1rem 1.125rem;font-size:.875rem;color:var(--app-muted, #94a3b8);background:var(--app-surface-soft, #f8fafc);border:1px solid var(--app-border, #e2e8f0);border-radius:12px}.exp-project-picker__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.65rem}.exp-project-picker__toolbar-label{flex-shrink:0;font-size:.875rem;font-weight:600;color:var(--app-text, #334155)}.exp-project-picker__toolbar-select{flex:1 1 12rem;min-width:min(100%,200px);max-width:28rem}.exp-project-picker__list-heading{margin:0 0 .55rem;font-size:.9375rem;font-weight:600;color:var(--app-muted, #94a3b8);letter-spacing:.01em}.exp-project-picker__list-heading-client{color:var(--app-text, #334155);font-weight:700}.exp-project-picker__banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;margin-bottom:.75rem;padding:.65rem .85rem;font-size:.8125rem;line-height:1.45;color:var(--app-text, #334155);background:#4f46e50f;border:1px solid rgba(79,70,229,.22);border-radius:10px}.exp-project-picker__banner-text{flex:1 1 12rem;min-width:0}.exp-project-picker__banner-action{flex-shrink:0;padding:.35rem .75rem;font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--app-accent, #4f46e5);background:var(--app-surface, #fff);border:1px solid rgba(79,70,229,.35);border-radius:8px;cursor:pointer;transition:background .12s,border-color .12s}.exp-project-picker__banner-action:hover{background:var(--app-surface-soft, #f8fafc);border-color:var(--app-accent, #4f46e5)}.exp-project-picker__list{display:flex;flex-direction:column;gap:.5rem;max-height:min(320px,42vh);overflow-y:auto;padding:2px;margin:0 -2px;scrollbar-gutter:stable}.exp-project-picker__empty{margin:0;padding:1.25rem 1rem;font-size:.875rem;color:var(--app-muted, #94a3b8);text-align:center;background:var(--app-surface-soft, #f8fafc);border:1px dashed var(--app-border, #e2e8f0);border-radius:12px}.exp-project-picker__card{display:block;width:100%;box-sizing:border-box;margin:0;padding:.9rem 1.05rem;text-align:left;font-family:inherit;color:inherit;background:var(--app-surface, #fff);border:1.5px solid var(--app-border, #e2e8f0);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.exp-project-picker__card:hover:not(.exp-project-picker__card--readonly){border-color:#4f46e559;background:var(--app-surface-soft, #f8fafc);box-shadow:0 1px #0f172a0a}.exp-project-picker__card:focus-visible{outline:none;border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 3px #4f46e533}.exp-project-picker__card--selected{border-color:#4f46e58c;background:#4f46e50d;box-shadow:0 0 0 1px #4f46e51f}.exp-project-picker__card--selected:hover:not(.exp-project-picker__card--readonly){border-color:var(--app-accent, #4f46e5);background:#4f46e512}.exp-project-picker__card--readonly{cursor:default}.exp-project-picker__card-body{min-width:0}.exp-project-picker__card-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;margin:0 0 .35rem}.exp-project-picker__card-name{font-size:1.0625rem;font-weight:700;color:var(--app-text, #334155);line-height:1.3}.exp-project-picker__code{display:inline-block;padding:.12rem .45rem;font-size:.75rem;font-weight:600;font-family:var(--app-font-family);color:var(--app-muted, #94a3b8);background:var(--app-surface-soft, #f8fafc);border:1px solid var(--app-border, #e2e8f0);border-radius:6px;vertical-align:middle}.exp-project-picker__meta{margin:0;font-size:.875rem;font-weight:500;color:var(--app-muted, #94a3b8);line-height:1.45}.exp-project-picker__client-line{margin:.5rem 0 0;padding-top:.5rem;border-top:1px solid var(--app-border, #e2e8f0);font-size:.8125rem;font-weight:600;color:var(--app-muted, #94a3b8)}@media(max-width:560px){.exp-project-picker__toolbar{flex-direction:column;align-items:stretch}.exp-project-picker__toolbar-select{max-width:none}.exp-project-picker__list{max-height:min(280px,50vh)}}.exp-form-switch-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:var(--app-surface-soft, #f8fafc);border:1px solid var(--app-border);border-radius:12px;transition:border-color .15s,background .15s}.exp-form-switch-row:has(.exp-form-switch--on){border-color:#4f46e559;background:#4f46e50a}.exp-form-switch-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.exp-form-switch-hint{font-size:.75rem;color:var(--app-muted, #94a3b8);transition:color .15s}.exp-form-switch-row:has(.exp-form-switch--on) .exp-form-switch-hint{color:var(--app-accent, #4f46e5)}.exp-form-switch{flex-shrink:0;position:relative;width:44px;height:24px;border-radius:100px;background:var(--app-border);border:none;cursor:pointer;padding:0;transition:background .2s;outline:none}.exp-form-switch:focus-visible{box-shadow:0 0 0 3px #4f46e540}.exp-form-switch--on{background:var(--app-accent, #4f46e5)}.exp-form-switch--disabled{opacity:.55;cursor:not-allowed}.exp-form-switch__thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.exp-form-switch--on .exp-form-switch__thumb{transform:translate(20px)}.exp-form-file-zone{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:1.5rem;background:var(--app-surface);border:2px dashed var(--app-border);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s;text-align:center;outline:none}.exp-form-file-zone:hover,.exp-form-file-zone:focus{border-color:var(--app-accent, #4f46e5);background:#4f46e508}.exp-form-file-zone__icon{width:32px;height:32px;color:var(--app-muted, #94a3b8)}.exp-form-file-zone__label{font-size:.875rem;font-weight:600;color:var(--app-text)}.exp-form-file-zone__hint{font-size:.75rem;color:var(--app-muted, #94a3b8)}.exp-form-file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem}.exp-form-file-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--app-surface);border:1px solid var(--app-border);border-radius:8px;font-size:.8125rem}.exp-form-file-item--server{padding:0;gap:0}.exp-form-file-item__open{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;padding:.5rem .5rem .5rem .75rem;border:none;background:transparent;cursor:pointer;font:inherit;color:inherit;text-align:left;border-radius:7px}.exp-form-file-item__open:hover{background:var(--app-border)}.exp-form-file-item--server .exp-form-file-item__del{margin-right:.35rem}.exp-form-file-item__icon{width:16px;height:16px;flex-shrink:0;color:var(--app-muted, #94a3b8)}.exp-form-file-item__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--app-text);font-weight:500}.exp-form-file-item__size{flex-shrink:0;color:var(--app-muted, #94a3b8);font-size:.75rem}.exp-form-file-item__del{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:6px;cursor:pointer;color:var(--app-muted, #94a3b8);transition:background .1s,color .1s}.exp-form-file-item__del svg{width:13px;height:13px}.exp-form-file-item__del:hover{background:#ef44441a;color:#ef4444}.exp-form-file-item__preview{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:transparent;cursor:pointer;color:var(--app-muted, #94a3b8);transition:background .12s,color .12s}.exp-form-file-item__preview:hover{background:#4f46e51a;color:var(--app-accent, #4f46e5)}.exp-form-no-files{margin:0;font-size:.8125rem;color:var(--app-muted, #94a3b8);text-align:center;padding:.75rem 0}.exp-attach-preview-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:max(1rem,env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) max(1rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px));background:#0f172a80;box-sizing:border-box}.exp-attach-preview{display:flex;flex-direction:column;width:100%;max-width:min(720px,100vw - 2rem);max-height:min(88dvh,900px);background:var(--app-surface);border:1px solid var(--app-border);border-radius:14px;box-shadow:0 24px 64px #00000038;overflow:hidden;box-sizing:border-box}.exp-attach-preview__hd{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1.125rem;border-bottom:1px solid var(--app-border)}.exp-attach-preview__title{margin:0;font-size:.9375rem;font-weight:700;line-height:1.35;color:var(--app-text);word-break:break-word;min-width:0}.exp-attach-preview__close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin:-.25rem -.35rem 0 0;border:none;border-radius:10px;background:var(--app-surface-soft, #f8fafc);color:var(--app-muted, #94a3b8);cursor:pointer;transition:background .12s,color .12s}.exp-attach-preview__close:hover{background:var(--app-border);color:var(--app-text)}.exp-attach-preview__body{flex:1;min-height:0;overflow:auto;padding:1rem 1.125rem;-webkit-overflow-scrolling:touch}.exp-attach-preview__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem 1rem;color:var(--app-muted, #64748b);font-size:.875rem}.exp-attach-preview__spinner{width:28px;height:28px;border:2.5px solid var(--app-border);border-top-color:var(--app-accent, #4f46e5);border-radius:50%;animation:exp-panel-btn-spin .75s linear infinite}.exp-attach-preview__err{margin:0;padding:.5rem 0;font-size:.875rem;color:#dc2626;line-height:1.45}.exp-attach-preview__img-wrap{display:flex;justify-content:center;align-items:flex-start;min-height:120px}.exp-attach-preview__img{max-width:100%;height:auto;border-radius:8px;border:1px solid var(--app-border)}.exp-attach-preview__iframe{width:100%;min-height:min(70dvh,560px);border:none;border-radius:8px;background:var(--app-surface-soft, #f1f5f9)}.exp-attach-preview__pre{margin:0;padding:.75rem;font-size:.75rem;line-height:1.45;font-family:var(--app-font-family);white-space:pre-wrap;word-break:break-word;background:var(--app-surface-soft, #f8fafc);border:1px solid var(--app-border);border-radius:10px;max-height:min(60dvh,480px);overflow:auto;color:var(--app-text)}.exp-attach-preview__note{margin:0 0 .75rem;font-size:.75rem;line-height:1.4;color:var(--app-muted, #64748b)}.exp-attach-preview__sheet-name{margin:0 0 .35rem;font-size:.8125rem;font-weight:700;color:var(--app-text)}.exp-attach-preview__sheet+.exp-attach-preview__sheet{margin-top:1.25rem}.exp-attach-preview__table-wrap{overflow:auto;max-height:min(50dvh,400px);border:1px solid var(--app-border);border-radius:8px;background:var(--app-surface)}.exp-attach-preview__table{border-collapse:collapse;font-size:.6875rem;min-width:100%}.exp-attach-preview__table td{border:1px solid var(--app-border);padding:.25rem .4rem;vertical-align:top;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--app-text)}.exp-attach-preview__unsupported{padding:.5rem 0;font-size:.875rem;line-height:1.5;color:var(--app-muted, #64748b)}.exp-attach-preview__ft{flex-shrink:0;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;padding:.875rem 1.125rem;border-top:1px solid var(--app-border);background:var(--app-surface)}@media(max-width:480px){.exp-attach-preview__ft{flex-direction:column-reverse;align-items:stretch}.exp-attach-preview__ft .exp-panel-btn{width:100%;justify-content:center;min-height:44px}}.exp-panel-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:38px;padding:0 1.125rem;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s,background .12s,border-color .12s;white-space:nowrap;border:1px solid transparent}.exp-panel-btn__spinner{flex-shrink:0;animation:exp-panel-btn-spin .75s linear infinite}@keyframes exp-panel-btn-spin{to{transform:rotate(360deg)}}.exp-panel-btn:disabled{opacity:.72;cursor:not-allowed;pointer-events:none}.exp-panel-btn:disabled:active{transform:none}.exp-panel-btn:active:not(:disabled){transform:scale(.97)}.exp-panel-btn--primary{background:var(--app-accent, #4f46e5);color:#fff;border-color:var(--app-accent, #4f46e5)}.exp-panel-btn--primary:hover{opacity:.88}.exp-panel-btn--outline{background:var(--app-surface);color:var(--app-text);border-color:var(--app-border)}.exp-panel-btn--outline:hover{background:var(--app-surface-soft, #f8fafc)}.exp-panel-btn--ghost{background:none;color:var(--app-muted, #94a3b8);border-color:transparent}.exp-panel-btn--ghost:hover{color:var(--app-text)}.exp-filters-toggle{display:none}@media(max-width:768px){.exp-filters-toggle{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:44px;padding:0 1rem;box-sizing:border-box;background:var(--app-surface);border:1px solid var(--app-border);border-radius:12px;font-size:.875rem;font-weight:600;color:var(--app-text);cursor:pointer;transition:border-color .15s,background .15s,color .15s;-webkit-tap-highlight-color:transparent}.exp-filters-toggle:hover{background:var(--app-surface-soft, #f8fafc)}.exp-filters-toggle--active{border-color:#4f46e573;background:#4f46e50f;color:var(--app-accent, #4f46e5)}.exp-filters-toggle__icon{width:18px;height:18px;flex-shrink:0;opacity:.88}.exp-filters-toggle__badge{min-width:1.35rem;height:1.35rem;padding:0 .4rem;box-sizing:border-box;border-radius:999px;background:var(--app-accent, #4f46e5);color:#fff;font-size:.6875rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center}.exp-filters-toggle--active .exp-filters-toggle__badge{background:var(--app-accent, #4f46e5);color:#fff}.exp-filters--mobile-collapsed{display:none!important}.exp-toolbar{padding:.75rem max(.875rem,env(safe-area-inset-left,0px)) 0 max(.875rem,env(safe-area-inset-right,0px));gap:.625rem;flex-direction:column;align-items:stretch;flex-wrap:nowrap}.exp-search-wrap{flex:1 1 auto;min-width:0;width:100%}.exp-search{min-height:44px;font-size:16px}.exp-filters{flex:1 1 auto;display:grid;grid-template-columns:1fr;gap:.5rem;width:100%;min-width:0;overflow:visible}.exp-filter{flex:unset;min-width:0;max-width:none}.exp-filter__btn{min-height:44px}.exp-filter__drop{left:0;right:0;width:auto;min-width:0;max-height:min(70dvh,420px);overflow-y:auto;-webkit-overflow-scrolling:touch}.exp-filter__opt{min-height:44px;align-items:center}.exp-filters-reset{grid-column:1 / -1;width:100%;min-height:44px;justify-content:center}.expenses-page .exp-cards--grid{padding-left:max(.875rem,env(safe-area-inset-left,0px));padding-right:max(.875rem,env(safe-area-inset-right,0px));padding-bottom:max(2rem,env(safe-area-inset-bottom,0px))}.expenses-page .exp-cards:not(.exp-cards--grid){padding-bottom:max(2rem,env(safe-area-inset-bottom,0px))}.exp-panel-overlay{z-index:90}.exp-panel{left:0;right:0;width:100vw;width:100dvw;max-width:none;border-left:none;box-shadow:none;height:100dvh;height:100svh;max-height:100dvh;max-height:100svh;z-index:100;box-sizing:border-box}.exp-panel__hd,.exp-panel__body{padding-left:max(1.25rem,env(safe-area-inset-left,0px));padding-right:max(1.25rem,env(safe-area-inset-right,0px))}.exp-panel__ft{padding-left:max(1.25rem,env(safe-area-inset-left,0px));padding-right:max(1.25rem,env(safe-area-inset-right,0px));padding-bottom:max(1rem,env(safe-area-inset-bottom,0px))}.exp-panel__close{width:44px;height:44px}}@media(max-width:560px){.exp-filters{gap:.45rem}.exp-filter__btn{padding:0 .5rem;font-size:.75rem}.exp-filters-reset{font-size:.75rem}}@media(max-width:1280px)and (min-width:769px){.exp-table{padding:0 1.25rem 2rem}.exp-table__row{grid-template-columns:96px minmax(0,1fr) minmax(100px,120px) minmax(100px,108px) minmax(108px,124px) minmax(100px,118px) minmax(68px,82px) minmax(84px,98px) minmax(140px,1fr) 52px;min-width:1080px}.exp-table__th--reimb,.exp-table__td--reimb{display:none}}@media(max-width:1060px)and (min-width:769px){.exp-table__row{grid-template-columns:92px minmax(0,1fr) minmax(96px,112px) minmax(96px,106px) minmax(104px,120px) minmax(96px,112px) minmax(66px,78px) minmax(80px,94px) minmax(136px,1fr) 52px;min-width:1000px}}@media(max-width:900px)and (min-width:769px){.exp-table{padding:0 .875rem 2rem}.exp-table__row{grid-template-columns:88px minmax(0,1fr) minmax(92px,108px) minmax(96px,106px) minmax(104px,118px) minmax(108px,148px) minmax(72px,86px) minmax(120px,1fr) 52px;min-width:852px}.exp-table__th--type,.exp-table__td--type{display:none}}@keyframes exp-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.exp-skel{display:block;background:linear-gradient(90deg,var(--app-border) 25%,var(--app-surface-soft, #f1f5f9) 50%,var(--app-border) 75%);background-size:800px 100%;animation:exp-shimmer 1.6s ease-in-out infinite;border-radius:6px;flex-shrink:0}.exp-table__row--skel:hover{background:var(--app-surface)!important}.exp-table__td--desc{display:flex;flex-direction:column;gap:6px;justify-content:center}.exp-table__row--skel .exp-table__td--status .exp-skel{border-radius:20px}.exp-card--skel{pointer-events:none;cursor:default;display:flex;flex-direction:column;gap:8px}.exp-card--skel:hover{border-color:var(--app-border)!important;box-shadow:none!important}.exp-service-err{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;gap:1rem}.exp-service-err__icon{width:72px;height:72px;border-radius:50%;background:#dc262612;display:flex;align-items:center;justify-content:center;color:#dc2626;margin-bottom:.25rem}.exp-service-err__icon svg{width:38px;height:38px}.exp-service-err__title{margin:0;font-size:1.125rem;font-weight:700;color:var(--app-text)}.exp-service-err__desc{margin:0;font-size:.875rem;color:var(--app-muted, #94a3b8);max-width:420px;line-height:1.55}.exp-service-err__btn{display:inline-flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:0 1.25rem;height:40px;background:var(--app-accent);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s}.exp-service-err__btn:hover{opacity:.88}.exp-service-err__btn svg{width:15px;height:15px}@media(max-width:768px){.exp-service-err{padding:2.5rem max(1.25rem,env(safe-area-inset-left,0px)) 2rem max(1.25rem,env(safe-area-inset-right,0px))}.exp-service-err__desc{max-width:none}.exp-service-err__btn{min-height:48px;width:100%;max-width:280px;justify-content:center}}.exp-error-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:1rem 2rem 0;padding:.75rem 1rem;background:#dc262614;border:1px solid rgba(220,38,38,.25);border-radius:10px;color:#dc2626;font-size:.875rem}.exp-error-banner__close{flex-shrink:0;background:none;border:none;cursor:pointer;color:#dc2626;font-size:1rem;line-height:1;padding:0 .25rem;opacity:.7}.exp-error-banner__close:hover{opacity:1}@media(max-width:768px){.exp-error-banner{margin:.75rem max(.875rem,env(safe-area-inset-left,0px)) 0 max(.875rem,env(safe-area-inset-right,0px));padding:.65rem .875rem;font-size:.8125rem;align-items:flex-start}.exp-error-banner span{min-width:0;word-break:break-word}}.exp-report-btn{display:inline-flex;align-items:center;gap:.4rem;height:38px;padding:0 1rem;background:var(--app-surface);color:var(--app-text);border:1px solid var(--app-border);border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap;flex-shrink:0}.exp-report-btn svg{width:16px;height:16px;flex-shrink:0;color:var(--app-accent, #4f46e5)}.exp-report-btn:hover{background:var(--app-accent-focus, rgba(79, 70, 229, .15));border-color:var(--app-accent-border, #c7d2fe);color:var(--app-accent, #4f46e5)}@media(max-width:560px){.exp-report-btn__label{display:none}.exp-report-btn{width:38px;padding:0;justify-content:center}}.exp-report-page{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:var(--app-page-padding-y, 1.5rem) var(--app-page-padding-x, 2rem) var(--app-page-content-padding-bottom, 2rem)}.exp-report-hero{margin-bottom:1.75rem;padding:1.5rem clamp(1.25rem,2.5vw,2rem);background:linear-gradient(135deg,#4f46e514,#6366f10a);border:1px solid rgba(79,70,229,.18);border-radius:16px}.exp-report-hero__eyebrow{margin:0 0 .35rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--app-accent, #4f46e5)}.exp-report-hero__title{margin:0 0 .65rem;font-size:clamp(1.2rem,2vw,1.45rem);font-weight:700;color:var(--app-text, #334155);letter-spacing:-.02em}.exp-report-hero__text{margin:0;font-size:.875rem;line-height:1.6;color:var(--app-muted, #64748b);max-width:none}.exp-report-hero__text strong{color:var(--app-text, #334155);font-weight:600}.exp-report-panel{margin-bottom:1.75rem;padding:1.5rem clamp(1.15rem,2vw,1.85rem);background:var(--app-surface, #fff);border:1px solid var(--app-border, #e2e8f0);border-radius:16px}.exp-report-panel--excel{border-color:#4f46e538;background:#4f46e508}.exp-report-panel__title{margin:0 0 .55rem;font-size:1.0625rem;font-weight:700;color:var(--app-text, #334155)}.exp-report-panel__hint{margin:0 0 1.25rem;font-size:.8125rem;line-height:1.55;color:var(--app-muted, #94a3b8);max-width:none}.exp-report-panel__hint strong{color:var(--app-text, #334155);font-weight:600}.exp-report-panel .exp-report-toolbar{margin-bottom:0}.exp-report-filters{display:flex;flex-direction:column;gap:.35rem}.exp-report-filters .rep-field{margin-bottom:.85rem}.exp-report-excel-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.exp-report-btn-excel{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:42px;padding:0 1.15rem;font-family:inherit;font-size:.875rem;font-weight:600;border-radius:10px;cursor:pointer;border:none;transition:opacity .12s,filter .12s,transform .12s}.exp-report-btn-excel:disabled{opacity:.45;cursor:not-allowed}.exp-report-btn-excel--full{color:#fff;background:var(--app-accent, #4f46e5);box-shadow:0 1px #0000000f}.exp-report-btn-excel--full:hover:not(:disabled){filter:brightness(1.05)}.exp-report-btn-excel--custom{color:#fff;background:var(--app-accent, #4f46e5)}.exp-report-btn-excel--custom:hover:not(:disabled){filter:brightness(1.06)}.exp-report-excel-error{margin:.75rem 0 0;font-size:.8125rem;font-weight:500;color:#dc2626}.exp-report-nav{display:flex;flex-wrap:wrap;gap:.75rem 1.35rem;margin-bottom:1.65rem;padding:.35rem 0 .15rem}.exp-report-nav__link{font-size:.875rem;font-weight:600;color:var(--app-accent, #4f46e5);text-decoration:none}.exp-report-nav__link:hover{text-decoration:underline}.exp-report-nav__link--muted{color:var(--app-muted, #94a3b8)}.exp-report-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.15rem 1.5rem;margin-bottom:0}.exp-report-toolbar__period{display:flex;flex-direction:column;gap:.55rem;flex:1 1 auto;min-width:min(100%,640px)}.exp-report-toolbar__label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--app-muted, #94a3b8)}.exp-report-seg{display:flex;flex-wrap:wrap;gap:.45rem}.exp-report-seg__btn{padding:.5rem 1rem;font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--app-text, #334155);background:var(--app-surface-soft, #f8fafc);border:1px solid var(--app-border, #e2e8f0);border-radius:8px;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.exp-report-seg__btn:hover{border-color:#4f46e559}.exp-report-seg__btn--active{color:var(--app-accent, #4f46e5);background:#4f46e514;border-color:#4f46e573}.exp-report-btn-secondary{height:40px;padding:0 1.15rem;font-family:inherit;font-size:.875rem;font-weight:600;color:var(--app-text, #334155);background:var(--app-surface, #fff);border:1px solid var(--app-border, #e2e8f0);border-radius:10px;cursor:pointer;transition:background .12s,border-color .12s}.exp-report-btn-secondary:hover:not(:disabled){border-color:var(--app-accent, #4f46e5);color:var(--app-accent, #4f46e5)}.exp-report-btn-secondary:disabled{opacity:.55;cursor:not-allowed}.exp-report-btn-primary{height:38px;padding:0 1.1rem;font-family:inherit;font-size:.875rem;font-weight:600;color:#fff;background:var(--app-accent, #4f46e5);border:none;border-radius:10px;cursor:pointer;transition:opacity .12s,filter .12s}.exp-report-btn-primary:hover:not(:disabled){filter:brightness(1.05)}.exp-report-btn-primary:disabled{opacity:.45;cursor:not-allowed}.exp-report-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.75rem}.exp-report-stats--4{grid-template-columns:repeat(4,1fr)}@media(max-width:900px){.exp-report-stats--4{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.exp-report-stats,.exp-report-stats--4{grid-template-columns:1fr}}.exp-report-stat-card{padding:1.2rem 1.25rem;background:var(--app-surface-soft, #f8fafc);border:1px solid var(--app-border, #e2e8f0);border-radius:14px}.exp-report-stat-card__label{display:block;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--app-muted, #94a3b8);margin-bottom:.35rem}.exp-report-stat-card__value{font-size:1.25rem;font-weight:700;color:var(--app-text, #334155);letter-spacing:-.02em}.exp-report-empty{margin:0 0 1.5rem;padding:1.25rem;text-align:center;font-size:.875rem;color:var(--app-muted, #94a3b8);background:var(--app-surface-soft, #f8fafc);border-radius:12px;border:1px dashed var(--app-border, #e2e8f0)}.exp-report-section{margin-bottom:2.35rem}.exp-report-section__head{margin-bottom:1.15rem}.exp-report-section__title{margin:0 0 .35rem;font-size:1.125rem;font-weight:700;color:var(--app-text, #334155)}.exp-report-section__lead{margin:0;font-size:.8125rem;line-height:1.55;color:var(--app-muted, #94a3b8);max-width:none}.exp-report-charts{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media(max-width:900px){.exp-report-charts{grid-template-columns:1fr}}.exp-report-chart-card{padding:1.25rem 1.35rem .65rem;background:var(--app-surface, #fff);border:1px solid var(--app-border, #e2e8f0);border-radius:16px}.exp-report-chart-card--wide{grid-column:1 / -1}.exp-report-chart-card__title{margin:0 0 .5rem;font-size:.9375rem;font-weight:600;color:var(--app-text, #334155)}.exp-report-chart-card__plot{width:100%;min-height:280px}.exp-report-columns{margin-bottom:1.15rem;padding:1.2rem 1.35rem;background:var(--app-surface-soft, #f8fafc);border:1px solid var(--app-border, #e2e8f0);border-radius:14px}.exp-report-columns__toggle{display:flex;align-items:center;width:100%;padding:.35rem 0;margin:0 0 .65rem;font-family:inherit;font-size:.9375rem;font-weight:700;color:var(--app-text, #334155);background:none;border:none;cursor:pointer;text-align:left}.exp-report-columns__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.45rem 1rem;margin-bottom:.85rem}.exp-report-col-check{display:flex;align-items:center;gap:.45rem;font-size:.8125rem;color:var(--app-text, #334155);cursor:pointer}.exp-report-col-check input{accent-color:var(--app-accent, #4f46e5)}.exp-report-columns__actions{display:flex;flex-wrap:wrap;gap:.5rem}.exp-report-table-wrap{border:1px solid var(--app-border, #e2e8f0);border-radius:12px;background:var(--app-surface, #fff);overflow:hidden}.exp-report-table-placeholder{margin:0;padding:2rem 1rem;text-align:center;font-size:.875rem;color:var(--app-muted, #94a3b8)}.exp-report-table-scroll{overflow-x:auto;max-height:min(520px,65vh);overflow-y:auto}.exp-report-table{width:100%;border-collapse:collapse;font-size:.8125rem}.exp-report-table th,.exp-report-table td{padding:.65rem .85rem;text-align:left;border-bottom:1px solid var(--app-border, #e2e8f0);vertical-align:top;white-space:nowrap}.exp-report-table th{position:sticky;top:0;z-index:1;font-weight:700;color:var(--app-text, #334155);background:var(--app-surface-soft, #f8fafc);box-shadow:0 1px 0 var(--app-border, #e2e8f0)}.exp-report-table tbody tr:hover td{background:#4f46e508}.exp-report-table td{color:var(--app-text, #334155)}@media(max-width:768px){.exp-report-page{padding:1rem 1rem 2.25rem}.exp-report-hero{margin-bottom:1.35rem;padding:1.25rem 1.15rem}.exp-report-panel{padding:1.25rem 1.15rem;margin-bottom:1.35rem}}.exp-report-hero--visual{position:relative;overflow:hidden;background:linear-gradient(125deg,#6366f11c,#a855f70f 42%,#ffffffeb);border-color:#6366f138}.exp-report-hero__grid{display:grid;grid-template-columns:1fr min(200px,28%);gap:1.25rem;align-items:center}@media(max-width:720px){.exp-report-hero__grid{grid-template-columns:1fr}.exp-report-hero__accent{display:none}}.exp-report-hero__accent{position:relative;min-height:120px;pointer-events:none}.exp-report-hero__orb{position:absolute;border-radius:50%;filter:blur(.5px);opacity:.85}.exp-report-hero__orb--a{width:140px;height:140px;right:0;top:50%;transform:translateY(-50%);background:radial-gradient(circle at 30% 30%,#6366f18c,#4f46e51f 70%)}.exp-report-hero__orb--b{width:88px;height:88px;right:72px;top:8px;background:radial-gradient(circle at 40% 40%,#ec489966,#a855f714 72%)}.exp-report-kpi-strip{margin-bottom:1.5rem}.exp-report-stats--kpi{margin-bottom:0}.exp-report-stat-card--kpi{position:relative;background:linear-gradient(145deg,#fffffff2,#f8fafcfa);border:1px solid rgba(99,102,241,.12);box-shadow:0 10px 40px #0f172a0a}.exp-report-stat-card--kpi.exp-report-stat-card--accent{border-color:#6366f147;background:linear-gradient(145deg,#6366f114,#fffffffa)}.exp-report-stat-card__sub{display:block;margin-top:.35rem;font-size:.6875rem;font-weight:500;color:var(--app-muted, #94a3b8);letter-spacing:.01em}.exp-report-analytics{margin-bottom:2rem;padding:1.5rem clamp(1rem,2vw,1.75rem) 1.75rem;background:linear-gradient(180deg,#f8fafce6,#ffffff80);border:1px solid var(--app-border, #e2e8f0);border-radius:20px}.exp-report-analytics__head{margin-bottom:1.35rem}.exp-report-analytics__title{margin:0 0 .4rem;font-size:clamp(1.15rem,2vw,1.35rem);font-weight:800;letter-spacing:-.03em;color:var(--app-text, #0f172a)}.exp-report-analytics__lead{margin:0;font-size:.875rem;line-height:1.55;color:var(--app-muted, #64748b);max-width:62rem}.exp-report-analytics__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem}@media(max-width:1024px){.exp-report-analytics__grid{grid-template-columns:1fr}}.exp-report-chart-card--span2{grid-column:1 / -1}.exp-report-chart-card--glass{background:#ffffffb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.65);box-shadow:0 4px 24px #0f172a0d}.exp-report-chart-card__subtitle{margin:-.15rem 0 .65rem;font-size:.75rem;font-weight:500;color:var(--app-muted, #94a3b8)}.exp-report-chart-card__plot--pie{min-height:300px}.exp-report-chart-card__plot--trend{min-height:320px}.exp-report-analytics__skeleton{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(max-width:900px){.exp-report-analytics__skeleton{grid-template-columns:1fr}}.exp-report-skel-card{min-height:280px;border-radius:16px;background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9);background-size:200% 100%;animation:exp-report-skel-shimmer 1.35s ease-in-out infinite}@keyframes exp-report-skel-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.exp-report-chart-tooltip{padding:.65rem .85rem;font-size:.8125rem;background:#0f172aeb;color:#f8fafc;border-radius:10px;box-shadow:0 8px 32px #0003;max-width:280px}.exp-report-chart-tooltip__title{font-weight:700;margin-bottom:.35rem;color:#fff}.exp-report-chart-tooltip__list{margin:0;padding:0;list-style:none}.exp-report-chart-tooltip__row{display:flex;align-items:center;gap:.45rem;margin-top:.25rem}.exp-report-chart-tooltip__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.exp-report-chart-tooltip__name{flex:1;min-width:0;color:#cbd5e1}.exp-report-chart-tooltip__val{font-weight:600;font-variant-numeric:tabular-nums;color:#fff}.rep-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:115;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.rep-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);display:flex;flex-direction:column;background:var(--app-surface);border:1px solid var(--app-border);border-radius:16px;box-shadow:0 20px 60px #0000002e;z-index:116;overflow:hidden}@media(max-width:768px){.rep-modal{width:min(560px,calc(100vw - 1rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));max-height:calc(100dvh - 1.5rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:14px}.rep-modal__hd,.rep-modal__body{padding-left:max(1.25rem,env(safe-area-inset-left,0px));padding-right:max(1.25rem,env(safe-area-inset-right,0px))}.rep-modal__ft{flex-wrap:wrap;padding-left:max(1.25rem,env(safe-area-inset-left,0px));padding-right:max(1.25rem,env(safe-area-inset-right,0px));padding-bottom:max(1rem,env(safe-area-inset-bottom,0px))}.rep-modal__actions{width:100%;justify-content:stretch}.rep-modal__actions .rep-btn{flex:1;min-height:44px;justify-content:center}}.rep-modal__hd{display:flex;align-items:center;gap:.875rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--app-border);flex-shrink:0}.rep-modal__hd-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--app-accent-light-bg, #eef2ff);border-radius:10px;color:var(--app-accent, #4f46e5)}.rep-modal__hd-icon svg{width:20px;height:20px}.rep-modal__title{margin:0;font-size:1rem;font-weight:700;color:var(--app-text)}.rep-modal__sub{margin:0;font-size:.75rem;color:var(--app-muted, #94a3b8)}.rep-modal__close{margin-left:auto;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--app-surface-soft, #f8fafc);border:1px solid var(--app-border);border-radius:8px;cursor:pointer;color:var(--app-muted, #94a3b8);transition:background .12s,color .12s}.rep-modal__close svg{width:15px;height:15px}.rep-modal__close:hover{background:var(--app-border);color:var(--app-text)}.rep-modal__body{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1.125rem}.rep-modal__ft{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--app-border);background:var(--app-surface-soft, #f8fafc)}.rep-modal__preview{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--app-muted, #94a3b8)}.rep-modal__preview svg{width:15px;height:15px;color:var(--app-accent, #4f46e5);flex-shrink:0}.rep-modal__preview strong{color:var(--app-text);font-weight:700}.rep-modal__actions{display:flex;gap:.5rem}.rep-field{display:flex;flex-direction:column;gap:.5rem}.rep-field--note{padding:.75rem .875rem;background:var(--app-surface-soft, #f8fafc);border:1px solid var(--app-border);border-radius:10px}.rep-field-hint{margin:0;font-size:.75rem;line-height:1.45;color:var(--app-muted, #94a3b8)}.rep-field-error{margin:0;font-size:.8125rem;color:#dc2626}.rep-report-all-row{margin-top:.125rem}.rep-report-all-text{font-size:.875rem;font-weight:600;color:var(--app-text)}.rep-label{font-size:.8125rem;font-weight:600;color:var(--app-text)}.rep-input{width:100%;height:38px;padding:0 .875rem;background:var(--app-surface);border:1px solid var(--app-border);border-radius:10px;font-size:.875rem;color:var(--app-text);outline:none;font-family:inherit;transition:border-color .15s,box-shadow .15s}.rep-input:focus{border-color:var(--app-accent, #4f46e5);box-shadow:0 0 0 3px #4f46e51a}.rep-input--date{width:auto;flex:1}.rep-date-row{display:flex;gap:.625rem;width:100%}.rep-date-wrap{display:flex;align-items:center;gap:.375rem;flex:1}.rep-date-label{font-size:.75rem;color:var(--app-muted, #94a3b8);white-space:nowrap;font-weight:500}.rep-radio-row{display:flex;gap:.5rem;flex-wrap:wrap}.rep-radio-row--wide{width:100%}.rep-radio-row--wide .rep-radio{flex:1 1 0;min-width:7.5rem;justify-content:center}.rep-radio{display:flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border:1px solid var(--app-border);border-radius:8px;font-size:.8125rem;cursor:pointer;background:var(--app-surface);color:var(--app-text);transition:border-color .12s,background .12s;-webkit-user-select:none;user-select:none}.rep-radio input{display:none}.rep-radio:hover{border-color:var(--app-accent, #4f46e5)}.rep-radio--on{border-color:var(--app-accent, #4f46e5);background:#4f46e512;color:var(--app-accent, #4f46e5);font-weight:600}.rep-check{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--app-text);cursor:pointer;-webkit-user-select:none;user-select:none}.rep-check input[type=checkbox]{accent-color:var(--app-accent, #4f46e5);width:15px;height:15px;flex-shrink:0}.rep-check--all{font-weight:600}.rep-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.375rem .75rem;padding:.75rem;background:var(--app-bg, #f8fafc);border:1px solid var(--app-border);border-radius:10px;width:100%;box-sizing:border-box}.rep-check-grid--wide{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}.rep-check--on{color:var(--app-accent, #4f46e5);font-weight:600}.rep-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:38px;padding:0 1.125rem;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s,background .12s;white-space:nowrap;border:1px solid transparent}.rep-btn svg{width:16px;height:16px;flex-shrink:0}.rep-btn:disabled{opacity:.5;cursor:not-allowed}.rep-btn--primary{background:var(--app-accent, #4f46e5);color:#fff;border-color:var(--app-accent, #4f46e5)}.rep-btn--primary:not(:disabled):hover{opacity:.88}.rep-btn--ghost{background:none;color:var(--app-muted, #94a3b8);border-color:var(--app-border)}.rep-btn--ghost:not(:disabled):hover{color:var(--app-text)}.rep-spinner{animation:rep-spin .8s linear infinite;width:15px!important;height:15px!important}@keyframes rep-spin{to{transform:rotate(360deg)}}@media(max-width:480px){.rep-modal__ft{flex-direction:column;align-items:stretch}.rep-modal__actions{justify-content:flex-end}.rep-date-row{flex-direction:column}}@keyframes exp-shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.exp-skel{display:block;border-radius:6px;background:linear-gradient(90deg,#f0f4f8 25%,#e2e8f0,#f0f4f8 75%);background-size:600px 100%;animation:exp-shimmer 1.4s ease-in-out infinite;flex-shrink:0}.exp-table__row--skel{pointer-events:none;cursor:default}.exp-table__row--skel:hover{background:transparent!important;box-shadow:none!important}.exp-table__td--desc{flex-direction:column;align-items:flex-start;gap:5px}.exp-card--skel{pointer-events:none;cursor:default;display:flex;flex-direction:column;gap:9px}.exp-card--skel .exp-card__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:0}.exp-tt-toolbar{width:100%;max-width:100%;box-sizing:border-box;padding:.75rem 2rem 0;margin-bottom:0}.exp-tt-toolbar--loading{pointer-events:none;opacity:.5}.exp-tt-filters-outer{width:100%;max-width:100%;box-sizing:border-box;padding:.35rem 2rem .75rem}.exp-tt-filters-outer .exp-filters{width:100%}.exp-tt-expense-list{width:100%;max-width:100%;margin:0 0 1.25rem;padding:0 2rem;box-sizing:border-box}.exp-tt-expense-row{--exp-tt-stripe: var(--app-muted, #94a3b8);box-shadow:inset 3px 0 0 0 var(--exp-tt-stripe)}.exp-tt-expense-row--draft{--exp-tt-stripe: #94a3b8}.exp-tt-expense-row--pending_approval{--exp-tt-stripe: #d97706}.exp-tt-expense-row--revision_required{--exp-tt-stripe: #7c3aed}.exp-tt-expense-row--approved{--exp-tt-stripe: var(--app-accent, #4f46e5)}.exp-tt-expense-row--rejected{--exp-tt-stripe: #dc2626}.exp-tt-expense-row--paid{--exp-tt-stripe: #0891b2}.exp-tt-expense-row--closed{--exp-tt-stripe: #cbd5e1}.exp-tt-expense-row--not_reimbursable{--exp-tt-stripe: #94a3b8}.exp-tt-expense-row--withdrawn{--exp-tt-stripe: #cbd5e1}.exp-tt-row-head{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .5rem;width:100%;margin:0 0 .25rem;padding:.5rem .75rem;border-radius:8px;background:color-mix(in srgb,var(--app-bg, #f9fafb) 88%,var(--app-accent, #4f46e5) 12%);border:1px solid color-mix(in srgb,var(--app-border) 70%,var(--app-accent, #4f46e5) 18%);box-sizing:border-box}.exp-tt-row-head__tags{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin-left:auto;justify-content:flex-end}.exp-tt-desc{margin:.15rem 0 .25rem;font-size:.9375rem;font-weight:600;color:var(--app-text);line-height:1.45;word-break:break-word}.exp-tt-meta-line,.exp-tt-meta-sub{margin:.1rem 0 0;line-height:1.4;word-break:break-word}.exp-tt-meta-sub{font-size:.72rem}.exp-tt-expense-money{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem .75rem;margin-top:.45rem;padding:.5rem 0 .15rem;border-top:1px solid var(--app-border-soft, var(--app-border))}.exp-tt-expense-money__cell{display:flex;flex-direction:column;gap:.2rem;min-width:0}.exp-tt-expense-money__lab{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--app-muted, #94a3b8)}.exp-tt-expense-money__val{font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--app-text)}.exp-tt-expense-money__val--uzs,.exp-tt-expense-money__val--usd{color:var(--app-text)}.exp-tt-expense-money__val--rate{color:var(--app-muted, #64748b)}.exp-tt-expense-money__suf{font-weight:600;color:var(--app-muted, #94a3b8);font-size:.75em}.exp-tt-moderation{margin-top:.5rem}.exp-tt-moderation+.exp-tt-moderation{margin-top:.35rem}.exp-tt-skel-row{align-items:stretch}.exp-tt-skel-line{border-radius:6px;background:linear-gradient(90deg,var(--app-border) 0%,var(--app-surface-soft) 50%,var(--app-border) 100%);background-size:200% 100%;animation:exp-tt-skel 1.4s ease-in-out infinite}.exp-tt-skel-line--head{height:2.2rem;width:100%}.exp-tt-skel-line--title{height:.9rem;width:88%}.exp-tt-skel-line--meta{height:.7rem;width:72%}.exp-tt-skel-money{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.5rem}.exp-tt-skel-block{height:2.4rem;border-radius:8px;background:var(--app-surface-soft, #f1f5f9);animation:exp-tt-skel 1.4s ease-in-out infinite}.exp-tt-skel-foot{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--app-border-soft, var(--app-border))}.exp-tt-skel-btn{width:5.5rem;height:2.1rem;border-radius:8px;background:var(--app-surface-soft, #f1f5f9)}@keyframes exp-tt-skel{0%{opacity:.55}50%{opacity:.9}to{opacity:.55}}.exp-tt-pager{margin:.25rem 0 1.5rem;padding:0 2rem;box-sizing:border-box}@media(max-width:640px){.exp-tt-toolbar,.exp-tt-filters-outer,.exp-tt-expense-list{padding-left:1rem;padding-right:1rem}.exp-tt-pager{margin-left:0;margin-right:0;padding-left:1rem;padding-right:1rem}.exp-tt-expense-money{grid-template-columns:1fr}}#cal-reminder-root{position:fixed;top:0;right:0;z-index:2147483647;pointer-events:none}.cal-remind{position:fixed;top:16px;right:16px;z-index:2147483647;width:340px;max-height:calc(100dvh - 32px);pointer-events:auto;background:#1e293b;border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:0 8px 32px #00000073,0 0 0 1px #ffffff0a;color:#e2e8f0;font-family:var(--app-font-family);overflow:hidden;display:flex;flex-direction:column;animation:calRemindSlideIn .3s cubic-bezier(.22,1,.36,1)}@keyframes calRemindSlideIn{0%{opacity:0;transform:translateY(-12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.cal-remind__header{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;border-bottom:1px solid rgba(255,255,255,.06);background:#ffffff05}.cal-remind__title{font-size:.8125rem;font-weight:600;letter-spacing:.01em;color:#f1f5f9;flex:1}.cal-remind__dismiss-all{background:none;border:none;color:#94a3b8;font-size:.6875rem;font-weight:500;cursor:pointer;padding:.2rem .4rem;border-radius:4px;transition:color .15s,background .15s}.cal-remind__dismiss-all:hover{color:#e2e8f0;background:#ffffff0f}.cal-remind__close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;color:#64748b;cursor:pointer;border-radius:6px;transition:color .15s,background .15s;flex-shrink:0}.cal-remind__close:hover{color:#e2e8f0;background:#ffffff14}.cal-remind__list{overflow-y:auto;max-height:320px;padding:.25rem 0}.cal-remind__list::-webkit-scrollbar{width:4px}.cal-remind__list::-webkit-scrollbar-track{background:transparent}.cal-remind__list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.cal-remind__item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:background .12s;position:relative}.cal-remind__item:hover{background:#ffffff0a}.cal-remind__item+.cal-remind__item{border-top:1px solid rgba(255,255,255,.04)}.cal-remind__icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#3b82f61f;border-radius:8px;color:#60a5fa}.cal-remind__body{flex:1;min-width:0}.cal-remind__subject{font-size:.8125rem;font-weight:600;color:#f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.cal-remind__time{font-size:.6875rem;color:#94a3b8;margin-top:1px}.cal-remind__until{flex-shrink:0;font-size:.6875rem;font-weight:600;color:#94a3b8;white-space:nowrap;padding:.15rem .4rem;background:#ffffff0a;border-radius:5px}.cal-remind__actions{display:flex;align-items:center;gap:2px;flex-shrink:0;position:relative}.cal-remind__btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;color:#64748b;cursor:pointer;border-radius:5px;transition:color .12s,background .12s}.cal-remind__btn:hover{color:#e2e8f0;background:#ffffff14}.cal-remind__btn--snooze:hover{color:#60a5fa}.cal-remind__snooze-menu{position:absolute;top:100%;right:0;margin-top:4px;background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 6px 20px #0006;padding:.25rem;z-index:10;min-width:100px;animation:calRemindFadeIn .15s ease}@keyframes calRemindFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cal-remind__snooze-opt{display:block;width:100%;background:none;border:none;color:#cbd5e1;font-size:.75rem;font-weight:500;padding:.35rem .6rem;text-align:left;cursor:pointer;border-radius:5px;transition:background .12s,color .12s;white-space:nowrap}.cal-remind__snooze-opt:hover{background:#3b82f626;color:#93c5fd}@media(max-width:480px){.cal-remind{top:8px;right:8px;left:8px;width:auto}}.app-error{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--app-bg);position:relative;overflow:hidden;font-family:inherit}.app-error__bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.app-error__mesh{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.55;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(79,70,229,.12),transparent 55%),radial-gradient(ellipse 60% 40% at 100% 50%,rgba(99,102,241,.08),transparent 50%),radial-gradient(ellipse 50% 35% at 0% 80%,rgba(239,68,68,.06),transparent 45%)}.app-error__orb{position:absolute;border-radius:50%;filter:blur(64px);opacity:.5;animation:app-error-orb-float 14s ease-in-out infinite}.app-error__orb--a{width:min(42vw,320px);height:min(42vw,320px);top:-8%;right:-5%;background:#6366f140}.app-error__orb--b{width:min(38vw,280px);height:min(38vw,280px);bottom:-12%;left:-8%;background:#4f46e533;animation-delay:-7s}@keyframes app-error-orb-float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-4%,3%) scale(1.05)}}.app-error__card{position:relative;z-index:1;width:100%;max-width:860px;padding:0;background:var(--app-surface);border:1px solid var(--app-border);border-radius:24px;box-shadow:0 0 0 1px #fff9 inset,0 2px 4px #0f172a0a,0 22px 52px #0f172a1f;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);overflow:hidden;animation:app-error-card-in .45s cubic-bezier(.22,1,.36,1) forwards}.app-error__card-accent{position:absolute;top:0;left:0;width:100%;height:3px;border-radius:0;background:linear-gradient(90deg,#4f46e5,#8b5cf6 45%,#f97316);opacity:.9}.app-error__left{position:relative;padding:2.1rem 2rem 1.95rem;background:linear-gradient(165deg,color-mix(in srgb,var(--app-surface) 86%,#ffffff),var(--app-surface));display:flex;flex-direction:column;align-items:flex-start;text-align:left}.app-error__right{padding:2.1rem 1.85rem 1.95rem;background:color-mix(in srgb,var(--app-surface-soft) 72%,transparent);border-left:1px solid color-mix(in srgb,var(--app-border) 85%,transparent);display:flex;flex-direction:column;gap:1rem}.app-error__glow{position:absolute;top:1.25rem;right:1.25rem;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(239,68,68,.1) 0%,transparent 70%);pointer-events:none;z-index:0}.app-error__icon-wrap{position:relative;z-index:1;margin-bottom:1.05rem}.app-error__icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:linear-gradient(145deg,var(--app-error-bg),rgba(239,68,68,.06));color:var(--app-error);border:1px solid var(--app-error-border);box-shadow:0 4px 16px var(--app-error-focus);animation:app-error-icon-in .55s cubic-bezier(.22,1,.36,1) .08s both}.app-error__icon svg{width:28px;height:28px}.app-error__eyebrow{margin:0 0 .45rem;font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--app-muted);animation:app-error-fade-in .45s ease .12s both}.app-error__title{margin:0 0 .65rem;font-size:clamp(1.35rem,2.2vw,1.75rem);font-weight:700;color:var(--app-text);letter-spacing:-.03em;line-height:1.25;text-wrap:balance;animation:app-error-fade-in .45s ease .16s both}.app-error__text{margin:0 0 1.5rem;font-size:.95rem;color:var(--app-muted);line-height:1.55;max-width:46ch;animation:app-error-fade-in .45s ease .2s both}.app-error__chips{display:flex;flex-wrap:wrap;gap:.45rem}.app-error__chip{display:inline-flex;align-items:center;min-height:1.75rem;padding:.25rem .6rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--app-border) 84%,transparent);background:color-mix(in srgb,var(--app-surface-soft) 72%,transparent);font-size:.73rem;font-weight:600;color:var(--app-muted);letter-spacing:.04em;text-transform:uppercase}.app-error__hint-title{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--app-muted)}.app-error__hint-list{margin:0;padding-left:1.05rem;color:var(--app-text);font-size:.9rem;line-height:1.55;display:grid;gap:.42rem}.app-error__hint-list li::marker{color:var(--app-accent)}.app-error__actions{display:flex;flex-direction:column;gap:.65rem;justify-content:flex-start;width:100%;margin-top:auto;animation:app-error-fade-in .45s ease .24s both}.app-error__btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.75rem;padding:.65rem 1.35rem;font-size:.875rem;font-weight:600;border-radius:12px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;border:none;font-family:inherit}.app-error__btn:active:not(:disabled){transform:scale(.98)}.app-error__btn svg{width:17px;height:17px;flex-shrink:0}.app-error__btn--primary{width:100%;background:linear-gradient(180deg,var(--app-accent) 0%,var(--app-accent-hover, var(--app-accent)) 100%);color:#fff;box-shadow:0 4px 14px #4f46e559}.app-error__btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #4f46e56b}.app-error__btn--primary:active:not(:disabled){transform:translateY(0) scale(.98)}.app-error__btn--primary:disabled{cursor:not-allowed;opacity:.85}.app-error__btn--primary.app-error__btn--loading{pointer-events:none}.app-error__spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:app-error-spin .65s linear infinite}.app-error__btn--secondary{width:100%;background:var(--app-surface-soft);color:var(--app-text);border:1px solid var(--app-border)}.app-error__btn--secondary:hover{background:var(--app-bg-soft, var(--app-surface-soft));border-color:var(--app-border-hover);transform:translateY(-1px)}@keyframes app-error-spin{to{transform:rotate(360deg)}}@keyframes app-error-card-in{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes app-error-icon-in{0%{opacity:0;transform:scale(.85) rotate(-6deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes app-error-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:420px){.app-error{padding:.85rem}}@media(max-width:780px){.app-error__card{grid-template-columns:1fr;max-width:560px}.app-error__left{padding:1.5rem 1.2rem 1.3rem;border-bottom:1px solid color-mix(in srgb,var(--app-border) 84%,transparent);align-items:center;text-align:center}.app-error__right{padding:1.15rem 1.2rem 1.2rem;border-left:none;gap:.85rem}.app-error__text{margin-bottom:1rem}.app-error__chips{justify-content:center}}@media(max-width:460px){.app-error__title{font-size:1.26rem}.app-error__text{font-size:.9rem;line-height:1.5}.app-error__hint-list{font-size:.86rem}}body[data-theme=dark] .app-error__mesh{opacity:.75;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(99,102,241,.18),transparent 55%),radial-gradient(ellipse 60% 40% at 100% 40%,rgba(99,102,241,.1),transparent 50%),radial-gradient(ellipse 50% 35% at 0% 85%,rgba(239,68,68,.1),transparent 45%)}body[data-theme=dark] .app-error__card{background:#1a2332e0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:#ffffff14;box-shadow:0 0 0 1px #ffffff0f inset,0 24px 56px #00000073}body[data-theme=dark] .app-error__left{background:linear-gradient(165deg,#1c2638f0,#182131f0)}body[data-theme=dark] .app-error__right{background:#1119269e;border-left-color:#ffffff14}body[data-theme=dark] .app-error__chip{border-color:#ffffff1f;background:#ffffff0a}body[data-theme=dark] .app-error__btn--primary{box-shadow:0 4px 18px #6366f159}body[data-theme=dark] .app-error__btn--primary:hover:not(:disabled){box-shadow:0 8px 28px #6366f173}body[data-theme=dark] .app-error__btn--secondary{background:#ffffff0f;color:var(--app-text);border-color:#ffffff1a}body[data-theme=dark] .app-error__btn--secondary:hover{background:#ffffff1a;border-color:#ffffff29}
