/* Protected timesheet views. Scope layout to the mounted component. */
.ts{--ts-line:#e2e3df;--ts-soft:#f7f7f4;animation:ts-enter .2s ease-out}.ts [hidden]{display:none!important}.ts .ts-steps{margin:0;flex-shrink:0}.ts .page-heading{margin-bottom:22px}.ts .back{margin-bottom:14px}.ts .note{margin-top:8px}.ts-period-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.ts-period{display:flex;align-items:center;gap:8px}.ts-period select,.ts-period input{height:43px;background:#fff;border:1px solid #cdced1;border-radius:8px;padding:8px 11px;font-size:.9rem;color:var(--ink)}.ts-period select{min-width:148px;font-weight:600}.ts-period input{width:93px}.ts-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));background:#fff;border:1px solid var(--ts-line);border-radius:14px;overflow:hidden;margin-bottom:14px}.ts-metric{padding:20px 22px;position:relative}.ts-metric+.ts-metric:before{content:'';position:absolute;left:0;top:20px;bottom:20px;width:1px;background:var(--ts-line)}.ts-metric>span{display:block;font-size:.71rem;color:var(--muted);margin-bottom:8px}.ts-metric>strong{font-size:1.95rem;line-height:1.1;font-weight:570;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.ts-metric>small{margin-left:7px;font-size:.71rem;color:var(--muted)}.ts-metric-primary{background:#17181b;color:white}.ts-metric-primary>span,.ts-metric-primary>small{color:#bfc0c6}.ts-metric-primary+.ts-metric:before{display:none}.ts-holiday-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:.74rem;color:#646670;padding:0 5px 15px}.ts-holiday-summary b{font-weight:650;color:#a51933;margin-left:9px}.ts-holiday-summary>span:last-child{font-size:.71rem}.ts-assignment{background:#fff;border:1px solid var(--ts-line);border-radius:10px;padding:15px 18px;margin-bottom:16px}.ts-assignment summary{cursor:pointer;font-size:.8rem;font-weight:600;color:#353740}.ts-assignment summary>span{font-weight:400;color:var(--muted);margin-left:14px}.ts-assignment[open] summary{padding-bottom:19px}.ts-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px 24px;margin:0}.ts-detail-grid dt{font-size:.69rem;color:var(--muted);margin-bottom:4px}.ts-detail-grid dd{margin:0;font-size:.81rem;overflow-wrap:anywhere}.ts-assignment>.note{margin-top:17px;padding-top:13px;border-top:1px solid #eeeeeb}.ts-session-notice{margin:0 0 20px;background:#efefeb;font-size:.76rem}.ts-days .panel-header{padding:20px 22px}.ts-days .panel-header .note{font-size:.74rem;margin-top:4px}.ts-filter{display:flex;align-items:center;gap:3px;background:#f0f0ed;border:1px solid #e3e3df;border-radius:8px;padding:3px;flex-shrink:0}.ts-filter button{border:0;border-radius:5px;background:transparent;color:#71737a;padding:7px 11px;font-size:.72rem;min-height:33px;font-weight:550}.ts-filter button[aria-pressed=true]{background:#fff;box-shadow:0 1px 3px #00000012;color:#24262b}.ts-columns,.ts-day{display:grid;grid-template-columns:minmax(145px,1.08fr) 90px 112px minmax(190px,2.25fr);align-items:center;gap:18px;padding-left:22px;padding-right:22px}.ts-columns{background:var(--ts-soft);padding-top:11px;padding-bottom:11px;font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;color:#777981}.ts-day{padding-top:13px;padding-bottom:13px;border-top:1px solid #ededeb;min-height:74px}.ts-day:first-child{border-top:0}.ts-date{display:flex;gap:12px;align-items:center;min-width:0}.ts-date>strong{font-size:1.12rem;font-weight:540;letter-spacing:-.035em;width:23px;flex-shrink:0;font-variant-numeric:tabular-nums}.ts-date>div{display:grid;gap:4px}.ts-date span{font-size:.78rem;color:#555862}.ts-date small{font-size:.65rem;color:#a01c35;line-height:1.35}.ts-scheduled{font-size:.82rem;color:#777a82;font-variant-numeric:tabular-nums}.ts-scheduled small{font-size:.67rem;color:#8b8d94}.ts-hours{display:flex;align-items:center;gap:7px}.ts-hours input{width:76px;height:39px;border:1px solid #cdd0d4;border-radius:7px;background:white;color:#22252a;padding:8px 9px;font-size:.83rem;font-weight:550;text-align:center;font-variant-numeric:tabular-nums}.ts-hours input[aria-invalid=true]{border-color:#b9203b;background:#fff9fa}.ts-hours>span{font-size:.65rem;color:#888b92}.ts-info{min-width:0}.ts-row-detail{display:flex;gap:16px;align-items:center;justify-content:space-between;min-height:34px}.ts-row-context{font-size:.7rem;color:#6c6f78;line-height:1.5}.ts-note-toggle{font-size:.7rem;white-space:nowrap;flex-shrink:0;margin-left:auto;min-height:32px;padding:4px 0}.ts-reason{display:grid;gap:4px;flex:1}.ts-reason select{max-width:240px;width:100%;height:36px;border:1px solid #cfd0d5;border-radius:6px;padding:6px 8px;background:white;color:#353842;font-size:.73rem}.ts-reason .ts-row-context{font-size:.65rem}.ts-confirm{display:flex;align-items:flex-start;gap:8px;font-size:.7rem;line-height:1.5;color:#6b4d37;max-width:41ch}.ts-confirm input{width:16px;height:16px;flex-shrink:0;margin:2px 0 0;accent-color:var(--red)}.ts-confirm strong{font-weight:650}.ts-note{display:grid;gap:5px;margin-top:10px}.ts-note label{font-size:.68rem;font-weight:550;color:#646772}.ts-note textarea{font:inherit;font-size:.76rem;line-height:1.5;color:#272a30;width:100%;resize:vertical;min-height:67px;max-height:230px;padding:9px 10px;background:white;border:1px solid #d5d6da;border-radius:7px}.ts-note>.small{font-size:.64rem}.ts-info>.field-error{margin-top:6px;font-size:.69rem}.ts-weekend{background:#fafaf8}.ts-weekend .ts-date span,.ts-weekend .ts-scheduled{color:#94959b}.ts-holiday{background:#fff9ef}.ts-invalid{box-shadow:inset 3px 0 #bd1c38}.ts-options{display:grid;grid-template-columns:1fr 1.65fr;gap:30px;padding:22px;margin-top:20px}.ts-options h2{font-size:1.03rem}.ts-options .note{font-size:.73rem}.ts-option-fields{display:grid;gap:13px;align-content:start}.ts-option-fields .check{font-size:.76rem;align-items:flex-start;line-height:1.45}.ts-option-fields .check input{margin-top:2px}.ts-copy-address{padding-left:26px;font-size:.7rem;margin-top:-9px;overflow-wrap:anywhere}.ts-revision{max-width:380px;padding-left:26px;margin-top:1px}.ts-revision label{font-size:.74rem}.ts-revision input{height:40px;font-size:.79rem}.ts-actions{position:sticky;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:23px;padding:14px 18px;border:1px solid #dadbd8;border-radius:12px;background:#fff;box-shadow:0 7px 25px #17181912;z-index:3}.ts-actions>div{display:flex;align-items:baseline;gap:10px}.ts-actions>div strong{font-size:1.55rem;letter-spacing:-.04em;font-weight:600;font-variant-numeric:tabular-nums}.ts-actions .small{font-size:.71rem}.ts-holiday-panel{max-width:760px}.ts-holiday-setting{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:21px 24px;border-bottom:1px solid var(--ts-line)}.ts-holiday-setting:last-child{border:0}.ts-holiday-setting label{font-size:.86rem;font-weight:550}.ts-holiday-setting .small{font-size:.73rem;margin-top:4px}.ts-holiday-setting input{min-width:155px;min-height:42px;border:1px solid #cbced2;border-radius:7px;padding:8px 11px;background:white;color:#333640;font-size:.83rem}.ts-holiday-panel~.notice{max-width:760px}.ts-holiday-panel~.form-actions{max-width:760px}.ts-review-notice{margin-bottom:20px}.ts-review-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:22px;align-items:start}.ts-review-side{display:grid;gap:13px;position:sticky;top:18px}.ts-review-side .panel-body{padding:22px}.ts-review-side h2{font-size:1.04rem}.ts-review-side .note{font-size:.72rem}.ts-recipients{display:grid;gap:12px;margin:23px 0 20px}.ts-recipients>div{display:flex;gap:12px;align-items:baseline}.ts-recipients dt{width:20px;flex-shrink:0;text-transform:uppercase;font-size:.64rem;letter-spacing:.06em;color:#888b93}.ts-recipients dd{margin:0;font-size:.76rem;overflow-wrap:anywhere}.ts-downloads{display:grid;gap:10px;margin-top:23px}.ts-review-table-wrap{overflow-x:auto}.ts-review-table{width:100%;border-collapse:collapse;font-size:.72rem}.ts-review-table thead{background:var(--ts-soft);color:#72757e}.ts-review-table th,.ts-review-table td{padding:12px 11px;border-bottom:1px solid #edeeeb;text-align:right;font-variant-numeric:tabular-nums;vertical-align:top}.ts-review-table thead th{font-size:.62rem;font-weight:550;line-height:1.45}.ts-review-table th:first-child,.ts-review-table td:last-child,.ts-review-table th:last-child{text-align:left}.ts-review-table tbody th{white-space:nowrap;font-size:.71rem;font-weight:550;padding-left:20px}.ts-review-table thead th:first-child{padding-left:20px}.ts-review-table th>span{display:block;font-size:.6rem;font-weight:400;color:#8a8d95;margin-top:3px}.ts-review-table td:last-child{width:38%;font-size:.68rem;color:#646771;min-width:130px}.ts-review-table tr:last-child>*{border-bottom:0}.ts-report-holiday{background:#fffbf3}.ts-report-note{display:block;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:4px;color:#686c77}.ts-mobile-label{display:none}
@keyframes ts-enter{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:1050px){.ts-review-layout{grid-template-columns:minmax(0,1fr) 245px;gap:16px}.ts-review-side .panel-body{padding:18px}.ts-review-table th,.ts-review-table td{padding:11px 8px}.ts-columns,.ts-day{grid-template-columns:minmax(120px,1fr) 75px 93px minmax(185px,1.8fr);gap:13px;padding-left:18px;padding-right:18px}.ts-hours input{width:65px}.ts-date{gap:9px}.ts-metric{padding:18px}.ts-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.ts-review-layout{grid-template-columns:1fr}.ts-review-side{position:static;grid-template-columns:minmax(0,1fr)}.ts-review-side .panel-body{padding:22px}.ts-downloads{grid-template-columns:1fr 1fr}.ts-recipients{grid-template-columns:1fr 1fr}.ts-review-table td:last-child{width:43%}.ts-columns,.ts-day{grid-template-columns:125px 68px 90px minmax(0,1fr);gap:11px}.ts-options{grid-template-columns:1fr;gap:19px}.ts-holiday-summary{align-items:flex-start;flex-direction:column;gap:4px}.ts-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ts-metric:nth-child(n+3){border-top:1px solid var(--ts-line)}.ts-metric:nth-child(odd):before{display:none}}
@media(max-width:650px){.ts .page-heading{gap:14px}.ts .ts-steps{margin:0 0 3px}.ts-columns{display:none}.ts-day{grid-template-columns:minmax(110px,1fr) 75px 96px;gap:10px 12px;padding:15px 17px}.ts-info{grid-column:1/-1;border-top:1px dashed #e7e7e1;padding-top:6px;margin-top:1px}.ts-row-detail{min-height:27px}.ts-row-detail:has(.ts-note-toggle:only-child){justify-content:flex-end}.ts-row-detail .ts-note-toggle:only-child{min-height:24px}.ts-mobile-label{display:block;font-size:.59rem;color:#93949a;margin-bottom:2px}.ts-date span{font-size:.72rem}.ts-hours input{width:70px;height:40px}.ts-days .panel-header{padding:18px 17px;align-items:flex-start;gap:13px}.ts-filter{padding:2px}.ts-filter button{padding:6px 9px;font-size:.66rem;min-height:32px}.ts-confirm{max-width:none;font-size:.72rem}.ts-reason{grid-template-columns:minmax(125px,1fr) minmax(100px,1fr);align-items:center;gap:10px}.ts-reason select{max-width:none}.ts-metric{padding:18px 17px}.ts-metric>strong{font-size:1.7rem}.ts-metric>span{font-size:.65rem}.ts-metric>small{font-size:.64rem}.ts-period-bar{gap:12px}.ts-period-bar>.btn{font-size:.72rem;padding:9px 10px}.ts-period{gap:5px}.ts-period select{min-width:123px;font-size:.8rem;padding:8px}.ts-period input{width:80px;font-size:.8rem;padding:8px}.ts-detail-grid{gap:15px 18px}.ts-assignment summary{line-height:1.6}.ts-assignment summary>span{display:block;margin-left:16px;font-size:.72rem}.ts-actions{bottom:8px;padding:13px 14px;gap:12px}.ts-actions>div{gap:5px;flex-wrap:wrap}.ts-actions>div>.muted{width:100%;font-size:.62rem}.ts-actions>div strong{font-size:1.35rem}.ts-actions>.btn{font-size:.76rem;padding:11px 13px}.ts-recipients{grid-template-columns:1fr}.ts-holiday-setting{padding:18px;gap:14px}.ts-holiday-setting input{min-width:140px;width:140px;font-size:.78rem;padding:8px}.ts-holiday-setting label{font-size:.79rem}.ts-holiday-setting .small{font-size:.68rem}.ts-review-table{min-width:500px}.ts-review-table-wrap{scrollbar-width:thin;scrollbar-color:#c9cacf #f7f7f4}.ts-options{padding:19px 18px}.ts-options h2{font-size:.98rem}}
@media(max-width:380px){.ts-period-bar{flex-wrap:wrap}.ts-period-bar>.btn{width:100%}.ts-day{grid-template-columns:minmax(95px,1fr) 62px 88px;gap:8px;padding:14px}.ts-scheduled{font-size:.76rem}.ts-hours input{width:63px}.ts-metric>span{min-height:28px}.ts-holiday-setting{align-items:flex-start;flex-direction:column;gap:9px}.ts-holiday-setting input{width:100%}.ts-actions>div>.small:last-child{display:none}}
.ts-reason{min-width:0}
@media(max-width:520px){.ts-reason{grid-template-columns:minmax(0,1fr)}}
@media(max-width:380px){.ts-day{grid-template-columns:minmax(0,1fr) 54px 88px}}
@media(prefers-reduced-motion:reduce){.ts{animation:none}.ts *{scroll-behavior:auto!important;transition:none!important}}
.ts-review-table-wrap:focus-visible{outline:3px solid #4c78cc;outline-offset:-3px}.ts-option-fields .check{min-height:32px}.ts-review-side{min-width:0}.ts-review-layout>.panel{min-width:0}
.ts-submit{margin-top:22px;padding-top:20px;border-top:1px solid var(--ts-line)}.ts-submit-confirm{align-items:flex-start;margin:18px 0;font-size:.77rem;line-height:1.5}.ts-submit-confirm input{margin-top:3px}.ts-submit-receipt{border-color:#bdcdbd;background:#f2f7f1}.ts-receipt-details{display:grid;gap:12px;margin:18px 0}.ts-receipt-details>div{display:grid;gap:4px}.ts-receipt-details dt{font-size:.72rem;color:var(--muted)}.ts-receipt-details dd{margin:0;font-size:.85rem;overflow-wrap:anywhere;font-weight:550}.ts-submit-receipt:focus{outline:3px solid #4c78cc;outline-offset:3px}
.ts-submit-uncertain{border-color:#d4bd8b;background:#fff8e9}
.ts .ts-outside-scope{background:#f6f6f6;color:#6b6b6b}.ts .ts-outside-scope .ts-info{font-size:13px}.ts .ts-local-save{margin-top:18px;padding-top:15px;border-top:1px solid var(--line,#e6e6e6)}.ts .ts-local-save p{margin:0 0 12px}.ts .ts-period>strong{font-size:19px}.ts .final-scope{margin-top:0}.ts .ts-submit-receipt .btn{margin-top:12px}
