/* Time Card Calculator — native Power of Interest visual language */
.tc-hero{padding-top:48px;padding-bottom:45px;background:linear-gradient(125deg,#f5f9ff,#e8f2ff)}
.tc-hero h1{font-size:clamp(36px,5vw,56px);letter-spacing:-.035em}
.tc-hero p{max-width:760px}
.tc-hero-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.tc-hero-pills span{font-size:12px;font-weight:750;color:#25517f;border:1px solid #c8dced;background:white;border-radius:99px;padding:8px 12px}
.tc-workspace{padding-top:42px;padding-bottom:55px;background:#f3f7fd}
.tc-app{max-width:1220px;margin:auto;padding:clamp(17px,3vw,34px);border:1px solid #d1e0f0;border-radius:22px;background:#fff;box-shadow:0 20px 55px rgba(15,55,108,.07)}
.tc-app-header{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:22px}
.tc-app-header h2{margin:0;font-size:clamp(23px,3vw,32px)}
.tc-app-header p:not(.eyebrow){color:#526987;margin:8px 0 0}
.tc-local-note{white-space:nowrap;color:#245382;background:#f2f8ff;border:1px solid #d5e6f6;border-radius:99px;padding:9px 13px;font-size:12px;font-weight:700}
.tc-settings{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:20px;background:#f8fbff;border:1px solid #dce8f5;border-radius:15px}
.tc-field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:13px;font-weight:750;color:#294c73}
.tc-field > input,.tc-field .tc-prefix,.tc-field .tc-suffix{min-height:44px;width:100%;border:1px solid #becfe1;border-radius:9px;background:#fff;color:#122c51}
.tc-field > input{padding:9px 10px;font:inherit}
.tc-field small{color:#72819a;font-size:11px;line-height:1.45;font-weight:400}
.tc-field .tc-prefix,.tc-field .tc-suffix{display:flex;align-items:center;overflow:hidden}
.tc-field .tc-prefix input,.tc-field .tc-suffix input{width:100%;min-width:0;flex:1;border:0;background:white;padding:10px;font:inherit;min-height:41px;color:#122c51}
.tc-field .tc-prefix b,.tc-field .tc-suffix b{font-size:13px;font-weight:800;color:#526985;padding:0 10px;background:#edf4fb;align-self:stretch;display:flex;align-items:center;white-space:nowrap}
.tc-field input:focus-visible,.tc-shifts-table input:focus-visible,.tc-shifts-table button:focus-visible{outline:3px solid #85b3ef;outline-offset:2px}
.tc-shifts-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:27px 0 13px}
.tc-shifts-heading h3{margin:0;font-size:23px;color:#102d50}
.tc-shifts-heading p{margin:5px 0;color:#647890;font-size:13px}
.tc-shifts-scroll{overflow-x:auto;border:1px solid #d8e3f0;border-radius:12px}
.tc-shifts-table{width:100%;border-collapse:collapse;min-width:760px;table-layout:fixed}
.tc-shifts-table th,.tc-shifts-table td{text-align:left;border-bottom:1px solid #e3ebf5;padding:11px 12px;vertical-align:middle}
.tc-shifts-table th{background:#eaf3ff;color:#22496e;font-size:11px;text-transform:uppercase;letter-spacing:.045em}
.tc-shifts-table tr:last-child td{border-bottom:0}
.tc-shifts-table th:nth-child(1){width:26%}.tc-shifts-table th:nth-child(2),.tc-shifts-table th:nth-child(3){width:17%}.tc-shifts-table th:nth-child(4){width:18%}.tc-shifts-table th:nth-child(5){width:15%}.tc-shifts-table th:nth-child(6){width:7%}
.tc-shifts-table tbody tr:hover{background:#f8fbff}
.tc-shifts-table input{box-sizing:border-box;width:100%;min-height:39px;border:1px solid #bfd0e3;border-radius:8px;padding:6px 8px;color:#183a63;background:#fff;font:inherit;font-size:13px}
.tc-day-input{display:flex;align-items:center;gap:9px}
.tc-day-input input{max-width:166px}
.tc-shift-day{font-weight:800;font-size:12px;color:#57728f;white-space:nowrap}
.tc-worked{font-weight:850;color:#194d8f;white-space:nowrap;font-variant-numeric:tabular-nums}
.tc-remove{border:0;background:#f4f7fc;color:#57708d;border-radius:9px;font-size:19px;font-weight:800;cursor:pointer;width:34px;height:36px}
.tc-remove:hover{color:#a82929;background:#fff0f0}
.tc-row-error{background:#fff1f1!important}
.tc-row-error .tc-worked{color:#a82929}
.tc-row-actions,.tc-submit-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:17px}
.tc-submit-actions{margin-top:24px;border-top:1px solid #e2eaf3;padding-top:22px}
.tc-submit-actions .button:disabled{opacity:.5;cursor:not-allowed}
.tc-summary{margin-top:31px;padding:23px;border:1px solid #cde0f3;background:linear-gradient(150deg,#f8fbff,#eef5ff);border-radius:17px}
.tc-summary-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}
.tc-summary h3{font-size:24px;margin:0}
.tc-summary .eyebrow{margin:0 0 5px}
.tc-week-label{font-size:13px;color:#607695;font-weight:700}
.tc-summary-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.tc-summary-card{display:flex;flex-direction:column;gap:9px;padding:19px;background:white;border:1px solid #d8e5f5;border-radius:12px}
.tc-summary-card span{color:#516d8e;text-transform:uppercase;font-size:11px;letter-spacing:.04em;font-weight:850}
.tc-summary-card strong{color:#0e3b77;font-size:clamp(22px,2.8vw,31px);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.tc-summary-card small{font-size:11px;color:#74849a;line-height:1.45}
.tc-summary-footnote{margin:18px 0 0;color:#596c85;font-size:12px;line-height:1.6}
.tc-info-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:40px;align-items:start}
.tc-information h2{font-size:clamp(25px,3vw,34px);margin:0 0 20px}
.tc-information h3{font-size:20px;margin:22px 0 7px;color:#153961}
.tc-information article p{font-size:16px;line-height:1.7;color:#4e6078}
.tc-information .calculator-example{margin-top:0}
.tc-information .calculator-example-list{grid-template-columns:1fr 1fr}
.tc-privacy{font-size:13px;line-height:1.6;color:#687991}
.visually-hidden{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}
@media(max-width:1120px){.tc-settings{grid-template-columns:repeat(3,minmax(0,1fr))}.tc-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.tc-app-header,.tc-shifts-heading,.tc-summary-header{display:block}.tc-local-note{display:inline-block;margin-top:12px}.tc-settings{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}.tc-field:first-child{grid-column:1/-1}.tc-shifts-heading .button{margin-top:10px}.tc-summary-cards{grid-template-columns:1fr}.tc-info-grid{grid-template-columns:1fr}.tc-submit-actions .button{flex:1 1 140px}.tc-summary{padding:16px}}
@media(max-width:440px){.tc-settings{grid-template-columns:1fr}.tc-field:first-child{grid-column:auto}.tc-hero-pills span{font-size:11px}.tc-row-actions .button{flex:1}}
@media print{
 @page{size:letter;margin:14mm}
 .contact-strip,.site-header,.site-footer,.tc-hero,.tc-information,.faq-section,.tc-privacy,.tc-row-actions,.tc-submit-actions,.tc-shifts-heading .button,.tc-remove,.tc-shifts-table th:last-child,.tc-shifts-table td:last-child{display:none!important}
 body,.tc-workspace,.tc-app,.tc-summary,.tc-settings{background:#fff!important;box-shadow:none!important}
 .tc-workspace{padding:0!important}
 .tc-app{border:0!important;padding:0!important}
 .tc-app-header{margin-bottom:6px}
 .tc-app-header h2{font-size:24px}
 .tc-app-header p,.tc-local-note{display:none}
 .tc-settings{display:grid;grid-template-columns:repeat(3,1fr);padding:7px;border:0}
 .tc-field{font-size:10px}.tc-field input{min-height:26px!important;border:0!important;padding:0!important;font-size:11px!important}
 .tc-field small,.tc-shifts-heading p{display:none}.tc-shifts-heading{margin:10px 0 5px}
 .tc-shifts-table{min-width:0!important;font-size:10px}.tc-shifts-scroll{overflow:visible}
 .tc-shifts-table th,.tc-shifts-table td{padding:4px!important;font-size:10px}
 .tc-shifts-table input{min-height:24px!important;font-size:9px!important;padding:1px!important;border:0!important}
 .tc-day-input{gap:1px}.tc-day-input .tc-shift-day{font-size:9px}
 .tc-summary{margin-top:12px;padding:8px!important;border:1px solid #aaa}
 .tc-summary-header{margin-bottom:8px}.tc-summary h3{font-size:15px}
 .tc-summary-cards{grid-template-columns:repeat(4,1fr);gap:5px}.tc-summary-card{padding:7px}.tc-summary-card strong{font-size:17px}.tc-summary-card span{font-size:9px}
 .tc-summary-footnote{font-size:9px}
}
/* On phones each shift becomes a readable card rather than a 760px-wide table. */
@media screen and (max-width:700px){
 .tc-shifts-scroll{overflow:visible;border:0}
 .tc-shifts-table{display:block;min-width:0;width:100%}
 .tc-shifts-table thead{display:none}
 .tc-shifts-table tbody{display:grid;gap:11px}
 .tc-shifts-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;position:relative;padding:12px;border:1px solid #dce7f4;border-radius:11px;background:#fcfdff}
 .tc-shifts-table td{display:block;border:0!important;padding:0!important;min-width:0}
 .tc-shifts-table td:first-child{grid-column:1/-1;padding-right:36px!important}
 .tc-shifts-table td:nth-child(2)::before,.tc-shifts-table td:nth-child(3)::before,.tc-shifts-table td:nth-child(4)::before,.tc-shifts-table td:nth-child(5)::before{display:block;margin-bottom:5px;color:#59718b;font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
 .tc-shifts-table td:nth-child(2)::before{content:'Clock in'}
 .tc-shifts-table td:nth-child(3)::before{content:'Clock out'}
 .tc-shifts-table td:nth-child(4)::before{content:'Unpaid break (min)'}
 .tc-shifts-table td:nth-child(5)::before{content:'Worked hours'}
 .tc-shifts-table td:nth-child(5){display:flex;flex-direction:column;justify-content:center}
 .tc-shifts-table td:last-child{position:absolute;right:10px;top:10px}
 .tc-shifts-table .tc-day-input{display:flex;align-items:center;gap:10px}
 .tc-shifts-table .tc-day-input input{flex:1;max-width:230px}
 .tc-shifts-table input{font-size:14px}
 .tc-worked{font-size:16px}
}
