/* Rota Generator public timesheet calculator */
.timesheet-calculator-page{--ts-navy:#06254f;--ts-navy-2:#0b3769;--ts-teal:#078a88;--ts-teal-dark:#066c6d;--ts-line:#dbe6ec;--ts-soft:#f4f9fa;--ts-muted:#60788e;--ts-danger:#a43a3a;--ts-green:#187158}
.ts-hero{background:linear-gradient(180deg,#f1f9f8 0%,#fff 100%);border-bottom:1px solid #e4eef1;padding:44px 0 32px}
.ts-hero-inner{display:block}
.ts-hero h1{margin:10px 0 15px;color:var(--ts-navy);font-size:clamp(2.7rem,5vw,4.55rem);line-height:1.02;letter-spacing:-.045em;font-weight:750}
.ts-hero-lead{max-width:790px;margin:0;color:#526e85;font-size:1.08rem;line-height:1.75}
.ts-tool-section{padding-top:34px;padding-bottom:82px}.ts-tool-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:23px}.ts-tool-heading h2{margin:6px 0 6px;color:var(--ts-navy);font-size:2rem;letter-spacing:-.025em}.ts-tool-heading p{margin:0;color:var(--ts-muted);line-height:1.65}.ts-private-note{flex:0 0 auto;padding:10px 13px;border:1px solid #d6e8e6;border-radius:11px;background:#f4faf9;color:#52746f;font-size:.78rem}.ts-private-note span{color:var(--ts-teal);font-weight:800}
.ts-calculator{border:1px solid #d8e4ea;border-radius:20px;background:#fff;box-shadow:0 20px 48px rgba(6,37,79,.055);overflow:hidden}
.ts-settings{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:18px 20px;background:#f7fafb;border-bottom:1px solid #e2eaee}
.ts-field{min-width:0}.ts-field label,.ts-notes-block label{display:block;margin-bottom:7px;color:#324f68;font-size:.76rem;font-weight:720}.ts-field label span,.ts-notes-block label span{color:#8a9aa7;font-weight:500}
.ts-field input,.ts-field select,.ts-notes-block textarea{width:100%;min-height:42px;border:1px solid #cad9e1;border-radius:10px;background:#fff;color:#173a5a;padding:9px 11px;font:inherit;font-size:.87rem;outline:none;transition:border-color .16s,box-shadow .16s}.ts-field input:focus,.ts-field select:focus,.ts-notes-block textarea:focus{border-color:#62b8b3;box-shadow:0 0 0 3px rgba(7,138,136,.11)}.ts-field input::placeholder,.ts-notes-block textarea::placeholder{color:#9aaab6}.ts-notes-block textarea{resize:vertical;line-height:1.5}
.ts-details-grid{display:grid;grid-template-columns:1fr 1fr .7fr;gap:14px;padding:20px;border-bottom:1px solid #e6edf1}
.ts-workspace{display:grid;grid-template-columns:minmax(0,1fr) 285px;align-items:start}.ts-table-panel{min-width:0;padding:20px;border-right:1px solid #e2eaee}.ts-table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:14px}.ts-table-toolbar strong{display:block;color:var(--ts-navy);font-size:.94rem}.ts-table-toolbar span{display:block;margin-top:3px;color:#788b9b;font-size:.75rem}.ts-link-button,.ts-text-button{border:0;background:transparent;color:var(--ts-teal-dark);font:inherit;font-size:.8rem;font-weight:750;cursor:pointer}.ts-link-button:hover,.ts-text-button:hover{text-decoration:underline}
.ts-table-wrap{overflow-x:auto;border:1px solid #dce7ec;border-radius:13px}.ts-table{width:100%;border-collapse:collapse;table-layout:fixed}.ts-table th{padding:10px 9px;background:#f6f9fa;border-bottom:1px solid #dfe8ec;color:#60778a;text-align:left;font-size:.7rem;letter-spacing:.025em;font-weight:750;text-transform:uppercase}.ts-table td{padding:8px 7px;border-bottom:1px solid #e7edf0;vertical-align:middle}.ts-table tbody tr:last-child td{border-bottom:0}.ts-table th:nth-child(1){width:28%}.ts-table th:nth-child(2),.ts-table th:nth-child(3){width:16%}.ts-table th:nth-child(4){width:18%}.ts-table th:nth-child(5){width:15%}.ts-table th:nth-child(6){width:7%}.ts-table input{width:100%;min-height:38px;border:1px solid #cedbe2;border-radius:8px;background:#fff;color:#173a5a;padding:7px 8px;font:inherit;font-size:.82rem;outline:none}.ts-table input:focus{border-color:#65b9b5;box-shadow:0 0 0 2px rgba(7,138,136,.1)}.ts-break-wrap{display:flex;align-items:center;gap:5px}.ts-break-wrap input{min-width:0}.ts-break-wrap span{flex:0 0 auto;color:#8293a0;font-size:.71rem}.ts-hours-cell strong{display:block;color:#173a5a;font-size:.84rem;white-space:nowrap}.ts-hours-cell small{display:block;margin-top:2px;color:#72899a;font-size:.67rem;white-space:nowrap}.ts-remove-row{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:#8497a5;font-size:1.05rem;cursor:pointer}.ts-remove-row:hover{background:#fff0f0;color:#a33d3d}.ts-row-error td{background:#fffafa}.ts-row-error .ts-hours-cell small{color:var(--ts-danger)}
.ts-notes-block{margin-top:17px}.ts-summary-panel{padding:20px;background:#fbfdfd;min-height:100%}.ts-summary-card{padding:17px;border:1px solid #d7e6e7;border-radius:14px;background:#f2f9f8}.ts-summary-label{display:block;color:#607a8d;font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.ts-summary-card strong{display:block;margin-top:5px;color:var(--ts-navy);font-size:1.8rem;letter-spacing:-.035em}.ts-summary-card small{display:block;margin-top:2px;color:#6c8396;font-size:.76rem}.ts-week-totals{display:grid;gap:7px;margin-top:10px}.ts-week-totals>div{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid #e0e9ed;border-radius:10px;background:#fff;color:#60788c;font-size:.76rem}.ts-week-totals strong{color:#244965}
.ts-pay-card{margin-top:14px;border:1px solid #dde7ec;border-radius:12px;background:#fff}.ts-pay-card summary{padding:12px 13px;color:#284c67;font-size:.8rem;font-weight:750;cursor:pointer}.ts-pay-card[open] summary{border-bottom:1px solid #e5ecef}.ts-pay-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:12px 12px 0}.ts-check-row{display:flex;align-items:center;gap:8px;padding:10px 12px;color:#45647b;font-size:.78rem;font-weight:650}.ts-check-row input{width:16px;height:16px;accent-color:var(--ts-teal)}.ts-overtime-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0 12px 10px}.ts-input-suffix{display:flex;align-items:center;border:1px solid #cad9e1;border-radius:10px;background:#fff;overflow:hidden}.ts-input-suffix input{min-width:0;border:0!important;border-radius:0!important;box-shadow:none!important}.ts-input-suffix span{flex:0 0 auto;padding-right:8px;color:#8495a3;font-size:.65rem}.ts-pay-disclaimer{margin:3px 12px 12px;color:#8294a2;font-size:.67rem;line-height:1.5}
.ts-pay-summary{margin-top:12px;padding:12px;border:1px solid #dfe8ec;border-radius:12px;background:#fff}.ts-pay-summary>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;color:#60788b;font-size:.76rem}.ts-pay-summary strong{color:#284b66}.ts-pay-summary .ts-pay-total{margin-top:4px;padding-top:10px;border-top:1px solid #e3eaed}.ts-pay-summary .ts-pay-total strong{color:var(--ts-navy);font-size:.98rem}.ts-actions{display:grid;gap:8px;margin-top:14px}.ts-actions .button{width:100%;justify-content:center}.ts-actions .ts-text-button{padding:7px}.ts-noscript{margin:18px;padding:14px;border:1px solid #ecd0d0;border-radius:10px;background:#fff7f7;color:#8d3a3a}
.ts-print-option{display:flex;grid-column:1/-1;align-items:flex-start;gap:8px;margin-top:14px;padding:10px 11px;border:1px solid #dde7ec;border-radius:10px;background:#fff;color:#526d82;font-size:.73rem;line-height:1.4;cursor:pointer}.ts-print-option input{flex:0 0 auto;width:15px;height:15px;margin-top:1px;accent-color:var(--ts-teal)}
.ts-print-only{display:none}.ts-content-section{padding:70px 0;background:#f4f9fa;border-block:1px solid #e4edef}.ts-content-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:55px}.ts-content-grid h2,.ts-info-copy h2,.ts-cta-inner h2,.ts-faq-heading h2{margin:8px 0 0;color:var(--ts-navy);font-size:2rem;line-height:1.2;letter-spacing:-.03em}.ts-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ts-step-grid article,.ts-info-cards article{padding:22px;border:1px solid #dce7eb;border-radius:15px;background:#fff}.ts-step-grid article>span{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:9px;background:#e8f5f3;color:var(--ts-teal-dark);font-weight:800}.ts-step-grid h3,.ts-info-cards h3{margin:15px 0 7px;color:var(--ts-navy);font-size:1rem}.ts-step-grid p,.ts-info-cards p{margin:0;color:#687f92;font-size:.86rem;line-height:1.65}
.ts-info-section{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.4fr);gap:55px;padding-top:78px;padding-bottom:78px}.ts-info-copy p{color:#687f92;line-height:1.72}.ts-info-cards{display:grid;grid-template-columns:1fr 1fr;gap:15px}.ts-cta-section{background:var(--ts-navy);color:#fff}.ts-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:50px;padding-top:54px;padding-bottom:54px}.ts-cta-inner>div:first-child{max-width:760px}.ts-cta-inner .eyebrow{color:#76d3cc}.ts-cta-inner h2{color:#fff}.ts-cta-inner p{margin:10px 0 0;color:#c3d1dd;line-height:1.65}.ts-cta-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}.ts-cta-section .button-secondary{border-color:#9db2c4!important;color:#fff!important;background:transparent!important}.ts-cta-section .button-secondary:hover{background:rgba(255,255,255,.08)!important}
.ts-faq-section{display:grid;grid-template-columns:300px minmax(0,1fr);gap:55px;padding-top:75px;padding-bottom:82px}.ts-faq-list{border-top:1px solid #dfe8ec}.ts-faq-list details{border-bottom:1px solid #dfe8ec}.ts-faq-list summary{padding:18px 2px;color:#234863;font-size:.95rem;font-weight:720;cursor:pointer}.ts-faq-list p{margin:0 0 19px;color:#657e91;font-size:.88rem;line-height:1.7;max-width:820px}
.ts-print-value{display:none}.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}
@media (max-width:1100px){.ts-settings{grid-template-columns:repeat(3,1fr)}.ts-workspace{grid-template-columns:1fr}.ts-table-panel{border-right:0;border-bottom:1px solid #e2eaee}.ts-summary-panel{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ts-summary-card,.ts-week-totals{grid-column:1}.ts-pay-card,.ts-pay-summary{grid-column:2;grid-row:auto}.ts-actions{grid-column:1/-1;grid-template-columns:1fr 1fr auto;align-items:center}.ts-actions .ts-text-button{padding-inline:15px}}
@media (max-width:820px){.ts-hero-inner,.ts-content-grid,.ts-info-section,.ts-faq-section{grid-template-columns:1fr;gap:28px}.ts-hero{padding:52px 0 42px}.ts-tool-heading{align-items:flex-start;flex-direction:column;gap:13px}.ts-settings{grid-template-columns:repeat(2,1fr)}.ts-details-grid{grid-template-columns:1fr 1fr}.ts-details-grid .ts-field:last-child{grid-column:1/-1}.ts-summary-panel{grid-template-columns:1fr}.ts-summary-card,.ts-week-totals,.ts-pay-card,.ts-pay-summary,.ts-actions{grid-column:1}.ts-actions{grid-template-columns:1fr 1fr}.ts-actions .ts-text-button{grid-column:1/-1}.ts-step-grid{grid-template-columns:1fr}.ts-info-cards{grid-template-columns:1fr 1fr}.ts-cta-inner{align-items:flex-start;flex-direction:column}.ts-cta-actions{justify-content:flex-start}}
@media (max-width:620px){.ts-settings,.ts-details-grid,.ts-info-cards{grid-template-columns:1fr}.ts-details-grid .ts-field:last-child{grid-column:auto}.ts-tool-section{padding-top:45px;padding-bottom:60px}.ts-calculator{border-radius:15px}.ts-settings,.ts-details-grid,.ts-table-panel,.ts-summary-panel{padding:15px}.ts-table-wrap{overflow:visible;border:0}.ts-table,.ts-table tbody{display:block}.ts-table thead{display:none}.ts-table tbody{display:grid;gap:10px}.ts-table tr{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border:1px solid #dce7ec;border-radius:12px;background:#fff}.ts-table td{display:block;padding:0;border:0}.ts-table td:first-child{grid-column:1/-1}.ts-table td:before{content:attr(data-label);display:block;margin-bottom:5px;color:#718699;font-size:.65rem;font-weight:750;text-transform:uppercase;letter-spacing:.035em}.ts-table td.ts-hours-cell{align-self:end;padding-bottom:6px}.ts-table td.ts-action-col{position:absolute;right:17px;margin-top:-3px}.ts-table tr{position:relative}.ts-remove-row{background:#f7f9fa}.ts-table-toolbar{align-items:flex-start;flex-direction:column;gap:9px}.ts-actions{grid-template-columns:1fr}.ts-actions .ts-text-button{grid-column:auto}.ts-hero h1{font-size:2.7rem}.ts-content-section{padding:56px 0}.ts-info-section,.ts-faq-section{padding-top:58px;padding-bottom:62px}}

@media print{
  html,body{background:#fff!important}.public-header,.public-footer,.ts-hero,.ts-tool-heading,.ts-content-section,.ts-info-section,.ts-cta-section,.ts-faq-section,.ts-settings,.ts-details-grid,.ts-summary-panel,.ts-no-print{display:none!important}
  .public-main,.ts-tool-section,.ts-calculator,.ts-workspace,.ts-table-panel{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important}
  .timesheet-calculator-page .container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.timesheet-calculator-page .public-main{padding:0!important;box-sizing:border-box!important}
  .ts-print-only{display:block!important}.ts-print-title{display:flex!important;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:18px;padding-bottom:14px;border-bottom:2px solid #143b5e}.ts-print-generated{display:block;color:#6d8292;font-size:7.5pt;font-weight:650;margin-bottom:5px}.ts-print-title h1{margin:0 0 2px;color:#0b2f53;font-size:20pt;line-height:1.1}.ts-print-title p{margin:0;color:#60788a;font-size:9pt}.ts-print-period{text-align:right}.ts-print-period strong,.ts-print-period span{display:block;color:#264b67;font-size:9pt}.ts-print-period span{margin-top:4px;color:#728696}
  .ts-table-wrap{overflow:visible;border:1px solid #bac9d2;border-radius:0}.ts-table{display:table!important;width:100%;table-layout:fixed;border-collapse:collapse}.ts-table thead{display:table-header-group!important}.ts-table tbody{display:table-row-group!important}.ts-table tr{display:table-row!important;padding:0!important;border:0!important}.ts-table th{padding:6px;background:#f1f5f7!important;border:1px solid #c7d3da;color:#294c66;font-size:7.5pt}.ts-table td{display:table-cell!important;padding:6px;border:1px solid #d4dde2!important;background:#fff!important;color:#173a56;font-size:8.5pt}.ts-table td:before{display:none!important}.ts-table th:nth-child(1){width:28%}.ts-table th:nth-child(2),.ts-table th:nth-child(3){width:17%}.ts-table th:nth-child(4){width:20%}.ts-table th:nth-child(5){width:18%}.ts-table input,.ts-break-wrap span,.ts-hours-cell strong,.ts-hours-cell small{display:none!important}.ts-print-value{display:inline!important;color:#173a56;font-size:8.5pt}.ts-hours-cell .ts-print-value{font-weight:750}.ts-notes-block{margin-top:15px}.ts-notes-block>label,.ts-notes-block>textarea{display:none!important}.ts-print-notes{min-height:34px;padding:8px;border:1px solid #ccd7dd;color:#3c5970;font-size:8.5pt;white-space:pre-wrap}.ts-print-notes:empty{display:none!important}.ts-print-brand{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin-top:22px;padding-top:12px;border-top:1px solid #d6dfe4;color:#788b99;font-size:7.5pt;text-align:center}.ts-print-brand-name{display:flex;align-items:center;justify-content:center;gap:6px;color:#244864}.ts-print-brand-name strong{font-size:8.5pt}.ts-print-brand img{width:18px;height:18px;object-fit:contain}.timesheet-print-area{display:block!important;min-height:0!important}.ts-print-brand{margin-top:18px!important}.ts-table-panel{break-inside:auto!important;page-break-inside:auto!important}.ts-table tr{break-inside:avoid;page-break-inside:avoid}
}
@media print{
  .ts-print-totals{display:flex!important;justify-content:flex-end;gap:22px;margin-top:14px;padding:10px 0;border-top:1px solid #d2dde3;border-bottom:1px solid #d2dde3}.ts-print-totals>div{min-width:110px;text-align:right}.ts-print-totals span,.ts-print-totals strong{display:block}.ts-print-totals span{color:#738795;font-size:7.5pt;text-transform:uppercase;letter-spacing:.04em}.ts-print-totals strong{margin-top:3px;color:#173b58;font-size:10pt}
}

@media print{
  @page{size:auto;margin:12mm}
}

@media (max-width:700px){.ts-hero{padding:28px 0 22px}.ts-hero h1{margin-top:7px;margin-bottom:10px}.ts-hero-lead{font-size:.98rem;line-height:1.6}.ts-tool-section{padding-top:24px}.ts-tool-heading{margin-bottom:14px}.ts-private-note{padding:8px 10px}}

/* Timesheet Tool 1D: print readability and page-balance polish */
@media print{
  @page{size:portrait;margin:14mm}
  html,body{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .ts-print-title{margin-bottom:14px!important;padding-bottom:10px!important;border-bottom:2px solid #143b5e!important}
  .ts-print-title h1{font-size:18pt!important;line-height:1.12!important}
  .ts-print-title p,.ts-print-period strong,.ts-print-period span{font-size:9.5pt!important}
  .ts-print-generated{font-size:8.5pt!important}

  .ts-table-wrap{border-color:#9fb3bf!important}
  .ts-table th{padding:8px 7px!important;font-size:8.5pt!important;line-height:1.2!important}
  .ts-table td{padding:9px 8px!important;height:9.5mm!important;font-size:10pt!important;line-height:1.25!important}
  .ts-print-value{font-size:10pt!important;line-height:1.25!important}
  .ts-hours-cell .ts-print-value{font-size:10pt!important}

  .ts-print-notes{min-height:42px!important;padding:10px!important;font-size:9.5pt!important;line-height:1.4!important}
  .ts-print-totals{margin-top:14px!important;padding:12px 0!important;gap:30px!important}
  .ts-print-totals span{font-size:8.5pt!important}
  .ts-print-totals strong{font-size:11pt!important}

  .ts-print-brand{margin-top:32px!important;padding-top:14px!important;gap:5px!important;font-size:8.5pt!important}
  .ts-print-brand-name{gap:7px!important}
  .ts-print-brand-name strong{font-size:10pt!important}
  .ts-print-brand img{width:20px!important;height:20px!important}

  .ts-table-panel{break-inside:auto!important;page-break-inside:auto!important}
  .ts-table{page-break-inside:auto!important}
  .ts-table tr{break-inside:avoid!important;page-break-inside:avoid!important}
}

/* Timesheet Tool 1E: reliable print breathing room inside the printable page */
@media print{
  /* Use internal print padding rather than relying on browser @page margins. */
  @page{margin:0!important}
  html,body{margin:0!important;padding:0!important}
  .timesheet-calculator-page .ts-calculator{
    box-sizing:border-box!important;
    width:100%!important;
    padding:10mm 9mm 9mm!important;
    margin:0!important;
  }
}

/* RG-TIMESHEET-1F-PRINT-ACTIONS
   Keep calculator-only row controls out of printed/PDF timesheets. */
@media print {
  .ts-table th.ts-action-col,
  .ts-table td.ts-action-col,
  .ts-table .ts-no-print,
  .ts-table .ts-remove-row {
    display: none !important;
    visibility: hidden !important;
  }
}